Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2019-03-14 15:06:06 +01:00
commit ebfe259f66
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
89 changed files with 12276 additions and 7662 deletions

View File

@ -661,17 +661,17 @@ SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux armhf-linux aarch64-linux
BINARY_TARBALLS = \ BINARY_TARBALLS = \
$(foreach system,$(SUPPORTED_SYSTEMS),guix-binary.$(system).tar.xz) $(foreach system,$(SUPPORTED_SYSTEMS),guix-binary.$(system).tar.xz)
# Systems supported by GuixSD. # Systems supported by Guix System.
GUIXSD_SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux GUIX_SYSTEM_SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux
# Systems for which we build GuixSD VMs. # Systems for which we build Guix VMs.
GUIXSD_VM_SYSTEMS ?= x86_64-linux GUIX_SYSTEM_VM_SYSTEMS ?= x86_64-linux
# Prefix of the GuixSD installation image file name. # Prefix of the Guix installation image file name.
GUIXSD_IMAGE_BASE = guixsd-install-$(PACKAGE_VERSION) GUIX_SYSTEM_IMAGE_BASE = guix-system-install-$(PACKAGE_VERSION)
# Prefix of the GuixSD VM image file name. # Prefix of the Guix VM image file name.
GUIXSD_VM_IMAGE_BASE = guixsd-vm-image-$(PACKAGE_VERSION) GUIX_SYSTEM_VM_IMAGE_BASE = guix-system-vm-image-$(PACKAGE_VERSION)
# The release process works in several phases: # The release process works in several phases:
# #
@ -680,7 +680,7 @@ GUIXSD_VM_IMAGE_BASE = guixsd-vm-image-$(PACKAGE_VERSION)
# 2. Update the 'guix' package so that it corresponds to the 'vX.Y' tag. # 2. Update the 'guix' package so that it corresponds to the 'vX.Y' tag.
# 3. Build the binary tarballs for that 'guix' package. # 3. Build the binary tarballs for that 'guix' package.
# 4. Update the 'guix' package again. # 4. Update the 'guix' package again.
# 5. Build the GuixSD installation images. The images will run 'guix' # 5. Build the installation images. The images will run 'guix'
# corresponding to 'vX.Y' + 1 commit, and they will install 'vX.Y'. # corresponding to 'vX.Y' + 1 commit, and they will install 'vX.Y'.
# #
# This 'release' target takes care of everything and copies the resulting # This 'release' target takes care of everything and copies the resulting
@ -713,32 +713,32 @@ release: dist
"`git rev-parse HEAD`" "`git rev-parse HEAD`"
git add $(top_srcdir)/gnu/packages/package-management.scm git add $(top_srcdir)/gnu/packages/package-management.scm
git commit -m "gnu: guix: Update to `git rev-parse HEAD | cut -c1-7`." git commit -m "gnu: guix: Update to `git rev-parse HEAD | cut -c1-7`."
for system in $(GUIXSD_SUPPORTED_SYSTEMS) ; do \ for system in $(GUIX_SYSTEM_SUPPORTED_SYSTEMS) ; do \
image=`$(top_builddir)/pre-inst-env \ image=`$(top_builddir)/pre-inst-env \
guix system disk-image \ guix system disk-image \
--file-system-type=iso9660 \ --file-system-type=iso9660 \
--system=$$system \ --system=$$system \
gnu/system/install.scm` ; \ gnu/system/install.scm` ; \
if [ ! -f "$$image" ] ; then \ if [ ! -f "$$image" ] ; then \
echo "failed to produced GuixSD installation image for $$system" >&2 ; \ echo "failed to produced Guix installation image for $$system" >&2 ; \
exit 1 ; \ exit 1 ; \
fi ; \ fi ; \
xz < "$$image" > "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.iso.xz.tmp" ; \ xz < "$$image" > "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.xz.tmp" ; \
mv "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.iso.xz.tmp" \ mv "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.xz.tmp" \
"$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.iso.xz" ; \ "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.xz" ; \
done done
for system in $(GUIXSD_VM_SYSTEMS) ; do \ for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do \
image=`$(top_builddir)/pre-inst-env \ image=`$(top_builddir)/pre-inst-env \
guix system vm-image \ guix system vm-image \
--system=$$system \ --system=$$system \
gnu/system/examples/vm-image.tmpl` ; \ gnu/system/examples/vm-image.tmpl` ; \
if [ ! -f "$$image" ] ; then \ if [ ! -f "$$image" ] ; then \
echo "failed to produced GuixSD VM image for $$system" >&2 ; \ echo "failed to produced Guix VM image for $$system" >&2 ; \
exit 1 ; \ exit 1 ; \
fi ; \ fi ; \
xz < "$$image" > "$(releasedir)/$(GUIXSD_VM_IMAGE_BASE).$$system.xz.tmp" ; \ xz < "$$image" > "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.xz.tmp" ; \
mv "$(releasedir)/$(GUIXSD_VM_IMAGE_BASE).$$system.xz.tmp" \ mv "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.xz.tmp" \
"$(releasedir)/$(GUIXSD_VM_IMAGE_BASE).$$system.xz" ; \ "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.xz" ; \
done done
@echo @echo
@echo "Congratulations! All the release files are now in $(releasedir)." @echo "Congratulations! All the release files are now in $(releasedir)."

View File

@ -27,6 +27,7 @@ beliebigen Namen oder ein Pseudonym ihrer Wahl verwenden.
* Erstellung aus dem Git:: Das Neueste und Beste. * Erstellung aus dem Git:: Das Neueste und Beste.
* Guix vor der Installation ausführen:: Hacker-Tricks. * Guix vor der Installation ausführen:: Hacker-Tricks.
* Perfekt eingerichtet:: Die richtigen Werkzeuge. * Perfekt eingerichtet:: Die richtigen Werkzeuge.
* Paketrichtlinien:: Die Distribution wachsen lassen.
* Code-Stil:: Wie Mitwirkende hygienisch arbeiten. * Code-Stil:: Wie Mitwirkende hygienisch arbeiten.
* Einreichen von Patches:: Teilen Sie Ihre Arbeit. * Einreichen von Patches:: Teilen Sie Ihre Arbeit.
@end menu @end menu
@ -114,15 +115,17 @@ lokalen Quellbaum vorgenommenen Änderungen zunächst zu testen, ohne sie
tatsächlich zu installieren. So können Sie zwischen Ihrem tatsächlich zu installieren. So können Sie zwischen Ihrem
Endnutzer-»Straßenanzug« und Ihrem »Faschingskostüm« unterscheiden. Endnutzer-»Straßenanzug« und Ihrem »Faschingskostüm« unterscheiden.
To that end, all the command-line tools can be used even if you have not run Zu diesem Zweck können alle Befehlszeilenwerkzeuge auch schon benutzt
@code{make install}. To do that, you first need to have an environment with werden, ohne dass Sie @code{make install} laufen lassen. Dazu müssen Sie
all the dependencies available (@pxref{Erstellung aus dem Git}), and then simply sich in einer Umgebung befinden, in der alle Abhängigkeiten von Guix
prefix each command with @command{./pre-inst-env} (the @file{pre-inst-env} verfügbar sind (@pxref{Erstellung aus dem Git}) und darin einfach vor jeden
script lives in the top build tree of Guix; it is generated by Befehl @command{./pre-inst-env} schreiben (das Skript @file{pre-inst-env}
@command{./configure}), as in@footnote{The @option{-E} flag to befindet sich auf oberster Ebene im Verzeichnis, wo Guix erstellt wird, wo
@command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set such es durch @command{./configure} erzeugt wird), zum Beispiel so@footnote{Die
that @command{guix-daemon} and the tools it uses can find the Guile modules Befehlszeilenoption @option{-E} von @command{sudo} stellt sicher, dass
they need.}: @code{GUILE_LOAD_PATH} richtig gesetzt wird, damit @command{guix-daemon} und
die davon benutzten Werkzeuge die von ihnen benötigten Guile-Module finden
können.}:
@example @example
$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild $ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild
@ -164,21 +167,25 @@ Das @command{pre-inst-env}-Skript richtet alle Umgebungsvariablen ein, die
nötig sind, um dies zu ermöglichen, einschließlich @env{PATH} und nötig sind, um dies zu ermöglichen, einschließlich @env{PATH} und
@env{GUILE_LOAD_PATH}. @env{GUILE_LOAD_PATH}.
Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the Beachten Sie, dass @command{./pre-inst-env guix pull} den lokalen Quellbaum
local source tree; it simply updates the @file{~/.config/guix/current} @emph{nicht} aktualisiert; es aktualisiert lediglich die symbolische
symlink (@pxref{Aufruf von guix pull}). Run @command{git pull} instead if you Verknüpfung @file{~/.config/guix/current} (@pxref{Aufruf von guix pull}). Um
want to upgrade your local source tree. Ihren lokalen Quellbaum zu aktualisieren, müssen Sie stattdessen
@command{git pull} benutzen.
@node Perfekt eingerichtet @node Perfekt eingerichtet
@section Perfekt eingerichtet @section Perfekt eingerichtet
Um perfekt für das Hacken an Guix eingerichtet zu sein, brauchen Sie an sich The Perfect Setup to hack on Guix is basically the perfect setup used for
dasselbe wie um perfekt für das Hacken mit Guile (@pxref{Using Guile in Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference
Emacs,,, guile, Guile Reference Manual}). Zunächst brauchen Sie mehr als Manual}). First, you need more than an editor, you need
ein Textverarbeitungsprogramm, Sie brauchen @url{http://www.gnu.org/software/emacs, Emacs}, empowered by the wonderful
@url{http://www.gnu.org/software/emacs, Emacs}, ermächtigt vom wunderbaren @url{http://nongnu.org/geiser/, Geiser}. To set that up, run:
@url{http://nongnu.org/geiser/, Geiser}.
@example
guix package -i emacs guile emacs-geiser
@end example
Geiser ermöglicht interaktive und inkrementelle Entwicklung aus Emacs Geiser ermöglicht interaktive und inkrementelle Entwicklung aus Emacs
heraus: Code kann in Puffern kompiliert und ausgewertet werden. Zugang zu heraus: Code kann in Puffern kompiliert und ausgewertet werden. Zugang zu
@ -218,12 +225,14 @@ umzuschreiben. Vielleicht möchten Sie das Schnipselverzeichnis zu Ihrer
(add-to-list 'yas-snippet-dirs "~/src/guix/etc/snippets")) (add-to-list 'yas-snippet-dirs "~/src/guix/etc/snippets"))
@end lisp @end lisp
The commit message snippets depend on @url{https://magit.vc/, Magit} to Die Schnipsel für Commit-Nachrichten setzen @url{https://magit.vc/, Magit}
display staged files. When editing a commit message type @code{add} voraus, um zum Commit vorgemerkte Dateien anzuzeigen. Wenn Sie eine
followed by @kbd{TAB} to insert a commit message template for adding a Commit-Nachricht bearbeiten, können Sie @code{add} gefolgt von @kbd{TAB}
package; type @code{update} followed by @kbd{TAB} to insert a template for eintippen, um eine Commit-Nachrichten-Vorlage für das Hinzufügen eines
updating a package; type @code{https} followed by @kbd{TAB} to insert a Pakets zu erhalten; tippen Sie @code{update} gefolgt von @kbd{TAB} ein, um
template for changing the home page URI of a package to HTTPS. eine Vorlage zum Aktualisieren eines Pakets zu bekommen; tippen Sie
@code{https} gefolgt von @kbd{TAB} ein, um eine Vorlage zum Ändern der
Homepage-URI eines Pakets auf HTTPS einzufügen.
Das Hauptschnipsel für @code{scheme-mode} wird ausgelöst, indem Sie Das Hauptschnipsel für @code{scheme-mode} wird ausgelöst, indem Sie
@code{package...} gefolgt von @kbd{TAB} eintippen. Dieses Snippet fügt auch @code{package...} gefolgt von @kbd{TAB} eintippen. Dieses Snippet fügt auch
@ -233,6 +242,445 @@ Auslöse-Zeichenketten einfügen, die alle auf @code{...} enden, was selbst
wieder weiter umgeschrieben werden kann. wieder weiter umgeschrieben werden kann.
@node Paketrichtlinien
@section Paketrichtlinien
@cindex packages, creating
The GNU distribution is nascent and may well lack some of your favorite
packages. This section describes how you can help make the distribution
grow.
Free software packages are usually distributed in the form of @dfn{source
code tarballs}---typically @file{tar.gz} files that contain all the source
files. Adding a package to the distribution means essentially two things:
adding a @dfn{recipe} that describes how to build the package, including a
list of other packages required to build it, and adding @dfn{package
metadata} along with that recipe, such as a description and licensing
information.
In Guix all this information is embodied in @dfn{package definitions}.
Package definitions provide a high-level view of the package. They are
written using the syntax of the Scheme programming language; in fact, for
each package we define a variable bound to the package definition, and
export that variable from a module (@pxref{Paketmodule}). However,
in-depth Scheme knowledge is @emph{not} a prerequisite for creating
packages. For more information on package definitions, @pxref{Pakete definieren}.
Once a package definition is in place, stored in a file in the Guix source
tree, it can be tested using the @command{guix build} command
(@pxref{Aufruf von guix build}). For example, assuming the new package is
called @code{gnew}, you may run this command from the Guix build tree
(@pxref{Guix vor der Installation ausführen}):
@example
./pre-inst-env guix build gnew --keep-failed
@end example
Using @code{--keep-failed} makes it easier to debug build failures since it
provides access to the failed build tree. Another useful command-line
option when debugging is @code{--log-file}, to access the build log.
If the package is unknown to the @command{guix} command, it may be that the
source file contains a syntax error, or lacks a @code{define-public} clause
to export the package variable. To figure it out, you may load the module
from Guile to get more information about the actual error:
@example
./pre-inst-env guile -c '(use-modules (gnu packages gnew))'
@end example
Once your package builds correctly, please send us a patch
(@pxref{Einreichen von Patches}). Well, if you need help, we will be happy to
help you too. Once the patch is committed in the Guix repository, the new
package automatically gets built on the supported platforms by
@url{http://hydra.gnu.org/jobset/gnu/master, our continuous integration
system}.
@cindex substituter
Users can obtain the new package definition simply by running @command{guix
pull} (@pxref{Aufruf von guix pull}). When @code{@value{SUBSTITUTE-SERVER}}
is done building the package, installing the package automatically downloads
binaries from there (@pxref{Substitute}). The only place where human
intervention is needed is to review and apply the patch.
@menu
* Software-Freiheit:: Was in die Distribution aufgenommen werden
darf.
* Paketbenennung:: Was macht einen Namen aus?
* Versionsnummern:: Wenn der Name noch nicht genug ist.
* Zusammenfassungen und Beschreibungen:: Den Nutzern helfen, das richtige
Paket zu finden.
* Python-Module:: Ein Touch britischer Comedy.
* Perl-Module:: Kleine Perlen.
* Java-Pakete:: Kaffeepause.
* Schriftarten:: Schriften verschriftlicht.
@end menu
@node Software-Freiheit
@subsection Software-Freiheit
@c ===========================================================================
@c
@c This file was generated with po4a. Translate the source file.
@c
@c ===========================================================================
@c Adapted from http://www.gnu.org/philosophy/philosophy.html.
@cindex free software
The GNU operating system has been developed so that users can have freedom
in their computing. GNU is @dfn{free software}, meaning that users have the
@url{http://www.gnu.org/philosophy/free-sw.html,four essential freedoms}: to
run the program, to study and change the program in source code form, to
redistribute exact copies, and to distribute modified versions. Packages
found in the GNU distribution provide only software that conveys these four
freedoms.
In addition, the GNU distribution follow the
@url{http://www.gnu.org/distros/free-system-distribution-guidelines.html,free
software distribution guidelines}. Among other things, these guidelines
reject non-free firmware, recommendations of non-free software, and discuss
ways to deal with trademarks and patents.
Some otherwise free upstream package sources contain a small and optional
subset that violates the above guidelines, for instance because this subset
is itself non-free code. When that happens, the offending items are removed
with appropriate patches or code snippets in the @code{origin} form of the
package (@pxref{Pakete definieren}). This way, @code{guix build --source}
returns the ``freed'' source rather than the unmodified upstream source.
@node Paketbenennung
@subsection Paketbenennung
@cindex package name
A package has actually two names associated with it: First, there is the
name of the @emph{Scheme variable}, the one following @code{define-public}.
By this name, the package can be made known in the Scheme code, for instance
as input to another package. Second, there is the string in the @code{name}
field of a package definition. This name is used by package management
commands such as @command{guix package} and @command{guix build}.
Both are usually the same and correspond to the lowercase conversion of the
project name chosen upstream, with underscores replaced with hyphens. For
instance, GNUnet is available as @code{gnunet}, and SDL_net as
@code{sdl-net}.
We do not add @code{lib} prefixes for library packages, unless these are
already part of the official project name. But @pxref{Python-Module} and
@ref{Perl-Module} for special rules concerning modules for the Python and
Perl languages.
Font package names are handled differently, @pxref{Schriftarten}.
@node Versionsnummern
@subsection Versionsnummern
@cindex package version
We usually package only the latest version of a given free software
project. But sometimes, for instance for incompatible library versions, two
(or more) versions of the same package are needed. These require different
Scheme variable names. We use the name as defined in @ref{Paketbenennung}
for the most recent version; previous versions use the same name, suffixed
by @code{-} and the smallest prefix of the version number that may
distinguish the two versions.
The name inside the package definition is the same for all versions of a
package and does not contain any version number.
Zum Beispiel können für GTK in den Versionen 2.24.20 und 3.9.12 Pakete wie
folgt geschrieben werden:
@example
(define-public gtk+
(package
(name "gtk+")
(version "3.9.12")
...))
(define-public gtk+-2
(package
(name "gtk+")
(version "2.24.20")
...))
@end example
Wenn wir auch GTK 3.8.2 wollten, würden wir das Paket schreiben als
@example
(define-public gtk+-3.8
(package
(name "gtk+")
(version "3.8.2")
...))
@end example
@c See <https://lists.gnu.org/archive/html/guix-devel/2016-01/msg00425.html>,
@c for a discussion of what follows.
@cindex version number, for VCS snapshots
Occasionally, we package snapshots of upstream's version control system
(VCS) instead of formal releases. This should remain exceptional, because
it is up to upstream developers to clarify what the stable release is. Yet,
it is sometimes necessary. So, what should we put in the @code{version}
field?
Clearly, we need to make the commit identifier of the VCS snapshot visible
in the version string, but we also need to make sure that the version string
is monotonically increasing so that @command{guix package --upgrade} can
determine which version is newer. Since commit identifiers, notably with
Git, are not monotonically increasing, we add a revision number that we
increase each time we upgrade to a newer snapshot. The resulting version
string looks like this:
@example
2.0.11-3.cabba9e
^ ^ ^
| | `-- upstream commit ID
| |
| `--- Guix package revision
|
latest upstream version
@end example
It is a good idea to strip commit identifiers in the @code{version} field
to, say, 7 digits. It avoids an aesthetic annoyance (assuming aesthetics
have a role to play here) as well as problems related to OS limits such as
the maximum shebang length (127 bytes for the Linux kernel.) It is best to
use the full commit identifiers in @code{origin}s, though, to avoid
ambiguities. A typical package definition may look like this:
@example
(define my-package
(let ((commit "c3f29bc928d5900971f65965feaae59e1272a3f7")
(revision "1")) ;Guix package revision
(package
(version (git-version "0.9" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://example.org/my-package.git")
(commit commit)))
(sha256 (base32 "1mbikn@dots{}"))
(file-name (git-file-name name version))))
;; @dots{}
)))
@end example
@node Zusammenfassungen und Beschreibungen
@subsection Zusammenfassungen und Beschreibungen
@cindex package description
@cindex package synopsis
As we have seen before, each package in GNU@tie{}Guix includes a synopsis
and a description (@pxref{Pakete definieren}). Synopses and descriptions
are important: They are what @command{guix package --search} searches, and a
crucial piece of information to help users determine whether a given package
suits their needs. Consequently, packagers should pay attention to what
goes into them.
Synopses must start with a capital letter and must not end with a period.
They must not start with ``a'' or ``the'', which usually does not bring
anything; for instance, prefer ``File-frobbing tool'' over ``A tool that
frobs files''. The synopsis should say what the package is---e.g., ``Core
GNU utilities (file, text, shell)''---or what it is used for---e.g., the
synopsis for GNU@tie{}grep is ``Print lines matching a pattern''.
Keep in mind that the synopsis must be meaningful for a very wide audience.
For example, ``Manipulate alignments in the SAM format'' might make sense
for a seasoned bioinformatics researcher, but might be fairly unhelpful or
even misleading to a non-specialized audience. It is a good idea to come up
with a synopsis that gives an idea of the application domain of the
package. In this example, this might give something like ``Manipulate
nucleotide sequence alignments'', which hopefully gives the user a better
idea of whether this is what they are looking for.
Descriptions should take between five and ten lines. Use full sentences,
and avoid using acronyms without first introducing them. Please avoid
marketing phrases such as ``world-leading'', ``industrial-strength'', and
``next-generation'', and avoid superlatives like ``the most
advanced''---they are not helpful to users looking for a package and may
even sound suspicious. Instead, try to be factual, mentioning use cases and
features.
@cindex Texinfo markup, in package descriptions
Descriptions can include Texinfo markup, which is useful to introduce
ornaments such as @code{@@code} or @code{@@dfn}, bullet lists, or hyperlinks
(@pxref{Overview,,, texinfo, GNU Texinfo}). However you should be careful
when using some characters for example @samp{@@} and curly braces which are
the basic special characters in Texinfo (@pxref{Special Characters,,,
texinfo, GNU Texinfo}). User interfaces such as @command{guix package
--show} take care of rendering it appropriately.
Synopses and descriptions are translated by volunteers
@uref{http://translationproject.org/domain/guix-packages.html, at the
Translation Project} so that as many users as possible can read them in
their native language. User interfaces search them and display them in the
language specified by the current locale.
To allow @command{xgettext} to extract them as translatable strings,
synopses and descriptions @emph{must be literal strings}. This means that
you cannot use @code{string-append} or @code{format} to construct these
strings:
@lisp
(package
;; @dots{}
(synopsis "This is translatable")
(description (string-append "This is " "*not*" " translatable.")))
@end lisp
Translation is a lot of work so, as a packager, please pay even more
attention to your synopses and descriptions as every change may entail
additional work for translators. In order to help them, it is possible to
make recommendations or instructions visible to them by inserting special
comments like this (@pxref{xgettext Invocation,,, gettext, GNU Gettext}):
@example
;; TRANSLATORS: "X11 resize-and-rotate" should not be translated.
(description "ARandR is designed to provide a simple visual front end
for the X11 resize-and-rotate (RandR) extension. @dots{}")
@end example
@node Python-Module
@subsection Python-Module
@cindex python
We currently package Python 2 and Python 3, under the Scheme variable names
@code{python-2} and @code{python} as explained in @ref{Versionsnummern}. To
avoid confusion and naming clashes with other programming languages, it
seems desirable that the name of a package for a Python module contains the
word @code{python}.
Some modules are compatible with only one version of Python, others with
both. If the package Foo compiles only with Python 3, we name it
@code{python-foo}; if it compiles only with Python 2, we name it
@code{python2-foo}. If it is compatible with both versions, we create two
packages with the corresponding names.
If a project already contains the word @code{python}, we drop this; for
instance, the module python-dateutil is packaged under the names
@code{python-dateutil} and @code{python2-dateutil}. If the project name
starts with @code{py} (e.g.@: @code{pytz}), we keep it and prefix it as
described above.
@subsubsection Specifying Dependencies
@cindex inputs, for Python packages
Dependency information for Python packages is usually available in the
package source tree, with varying degrees of accuracy: in the
@file{setup.py} file, in @file{requirements.txt}, or in @file{tox.ini}.
Your mission, when writing a recipe for a Python package, is to map these
dependencies to the appropriate type of ``input'' (@pxref{»package«-Referenz,
inputs}). Although the @code{pypi} importer normally does a good job
(@pxref{Aufruf von guix import}), you may want to check the following check
list to determine which dependency goes where.
@itemize
@item
We currently package Python 2 with @code{setuptools} and @code{pip}
installed like Python 3.4 has per default. Thus you don't need to specify
either of these as an input. @command{guix lint} will warn you if you do.
@item
Python dependencies required at run time go into @code{propagated-inputs}.
They are typically defined with the @code{install_requires} keyword in
@file{setup.py}, or in the @file{requirements.txt} file.
@item
Python packages required only at build time---e.g., those listed with the
@code{setup_requires} keyword in @file{setup.py}---or only for
testing---e.g., those in @code{tests_require}---go into
@code{native-inputs}. The rationale is that (1) they do not need to be
propagated because they are not needed at run time, and (2) in a
cross-compilation context, it's the ``native'' input that we'd want.
Examples are the @code{pytest}, @code{mock}, and @code{nose} test
frameworks. Of course if any of these packages is also required at
run-time, it needs to go to @code{propagated-inputs}.
@item
Anything that does not fall in the previous categories goes to
@code{inputs}, for example programs or C libraries required for building
Python packages containing C extensions.
@item
If a Python package has optional dependencies (@code{extras_require}), it is
up to you to decide whether to add them or not, based on their
usefulness/overhead ratio (@pxref{Einreichen von Patches, @command{guix size}}).
@end itemize
@node Perl-Module
@subsection Perl-Module
@cindex perl
Perl programs standing for themselves are named as any other package, using
the lowercase upstream name. For Perl packages containing a single class,
we use the lowercase class name, replace all occurrences of @code{::} by
dashes and prepend the prefix @code{perl-}. So the class @code{XML::Parser}
becomes @code{perl-xml-parser}. Modules containing several classes keep
their lowercase upstream name and are also prepended by @code{perl-}. Such
modules tend to have the word @code{perl} somewhere in their name, which
gets dropped in favor of the prefix. For instance, @code{libwww-perl}
becomes @code{perl-libwww}.
@node Java-Pakete
@subsection Java-Pakete
@cindex java
Java programs standing for themselves are named as any other package, using
the lowercase upstream name.
To avoid confusion and naming clashes with other programming languages, it
is desirable that the name of a package for a Java package is prefixed with
@code{java-}. If a project already contains the word @code{java}, we drop
this; for instance, the package @code{ngsjava} is packaged under the name
@code{java-ngs}.
For Java packages containing a single class or a small class hierarchy, we
use the lowercase class name, replace all occurrences of @code{.} by dashes
and prepend the prefix @code{java-}. So the class @code{apache.commons.cli}
becomes package @code{java-apache-commons-cli}.
@node Schriftarten
@subsection Schriftarten
@cindex Schriftarten
For fonts that are in general not installed by a user for typesetting
purposes, or that are distributed as part of a larger software package, we
rely on the general packaging rules for software; for instance, this applies
to the fonts delivered as part of the X.Org system or fonts that are part of
TeX Live.
To make it easier for a user to search for fonts, names for other packages
containing only fonts are constructed as follows, independently of the
upstream package name.
The name of a package containing only one font family starts with
@code{font-}; it is followed by the foundry name and a dash @code{-} if the
foundry is known, and the font family name, in which spaces are replaced by
dashes (and as usual, all upper case letters are transformed to lower
case). For example, the Gentium font family by SIL is packaged under the
name @code{font-sil-gentium}.
For a package containing several font families, the name of the collection
is used in the place of the font family name. For instance, the Liberation
fonts consist of three families, Liberation Sans, Liberation Serif and
Liberation Mono. These could be packaged separately under the names
@code{font-liberation-sans} and so on; but as they are distributed together
under a common name, we prefer to package them together as
@code{font-liberation}.
In the case where several formats of the same font family or font collection
are packaged separately, a short form of the format, prepended by a dash, is
added to the package name. We use @code{-ttf} for TrueType fonts,
@code{-otf} for OpenType fonts and @code{-type1} for PostScript Type 1
fonts.
@node Code-Stil @node Code-Stil
@section Code-Stil @section Code-Stil
@ -382,6 +830,33 @@ geänderte Paket bezeichnet, und beheben Sie alle gemeldeten Fehler
Stellen Sie sicher, dass das Paket auf Ihrer Plattform erstellt werden kann, Stellen Sie sicher, dass das Paket auf Ihrer Plattform erstellt werden kann,
indem Sie @code{guix build @var{Paket}} ausführen. indem Sie @code{guix build @var{Paket}} ausführen.
@item
We recommend you also try building the package on other supported
platforms. As you may not have access to actual hardware platforms, we
recommend using the @code{qemu-binfmt-service-type} to emulate them. In
order to enable it, add the following service to the list of services in
your @code{operating-system} configuration:
@example
(service qemu-binfmt-service-type
(qemu-binfmt-configuration
(platforms (lookup-qemu-platforms "arm" "aarch64" "ppc" "mips64el"))
(guix-support? #t)))
@end example
Then reconfigure your system.
You can then build packages for different platforms by specifying the
@code{--system} option. For example, to build the "hello" package for the
armhf, aarch64, powerpc, or mips64 architectures, you would run the
following commands, respectively:
@example
guix build --system=armhf-linux --rounds=2 hello
guix build --system=aarch64-linux --rounds=2 hello
guix build --system=powerpc-linux --rounds=2 hello
guix build --system=mips64el-linux --rounds=2 hello
@end example
@item @item
@cindex gebündelt @cindex gebündelt
Achten Sie darauf, dass im Paket keine Software gebündelt mitgeliefert wird, Achten Sie darauf, dass im Paket keine Software gebündelt mitgeliefert wird,
@ -399,22 +874,18 @@ einzuspielen, die aber das gesamte System betreffen — gebündelt
mitgelieferte Kopien würden dies verhindern. mitgelieferte Kopien würden dies verhindern.
@item @item
Schauen Sie sich das von @command{guix size} ausgegebene Profil an Take a look at the profile reported by @command{guix size} (@pxref{Aufruf von guix size}). This will allow you to notice references to other packages
(@pxref{Aufruf von guix size}). Dadurch können Sie Referenzen auf andere unwillingly retained. It may also help determine whether to split the
Pakete finden, die ungewollt vorhanden sind. Dies kann auch dabei helfen, zu package (@pxref{Pakete mit mehreren Ausgaben.}), and which optional
entscheiden, ob das Paket aufgespalten werden sollte (@pxref{Pakete mit mehreren Ausgaben.}) und welche optionalen Abhängigkeiten verwendet werden dependencies should be used. In particular, avoid adding @code{texlive} as
sollten. a dependency: because of its extreme size, use @code{texlive-tiny} or
@code{texlive-union} instead.
@item @item
Achten Sie bei wichtigen Änderungen darauf, dass abhängige Pakete (falls Achten Sie bei wichtigen Änderungen darauf, dass abhängige Pakete (falls
vorhanden) nicht von der Änderung beeinträchtigt werden; @code{guix refresh vorhanden) nicht von der Änderung beeinträchtigt werden; @code{guix refresh
--list-dependent @var{Paket}} hilft Ihnen dabei (@pxref{Aufruf von guix refresh}). --list-dependent @var{Paket}} hilft Ihnen dabei (@pxref{Aufruf von guix refresh}).
@c ===========================================================================
@c
@c This file was generated with po4a. Translate the source file.
@c
@c ===========================================================================
@c See <https://lists.gnu.org/archive/html/guix-devel/2016-10/msg00933.html>. @c See <https://lists.gnu.org/archive/html/guix-devel/2016-10/msg00933.html>.
@cindex Branching-Strategie @cindex Branching-Strategie
@cindex Neuerstellungs-Zeitplan @cindex Neuerstellungs-Zeitplan
@ -438,17 +909,20 @@ beeinträchtigende Änderungen umfassen). Dieser Branch wird planmäßig in
@code{master} alle 2,5 Monate oder so gemerget. @code{master} alle 2,5 Monate oder so gemerget.
@end table @end table
All these branches are @uref{https://hydra.gnu.org/project/gnu, tracked by All diese Branches werden kontinuierlich
our build farm} and merged into @code{master} once everything has been @uref{https://hydra.gnu.org/project/gnu, auf unserer Build-Farm} erstellt
successfully built. This allows us to fix issues before they hit users, and und in @code{master} gemerget, sobald alles erfolgreich erstellt worden
to reduce the window during which pre-built binaries are not available. ist. Dadurch können wir Probleme beheben, bevor sie bei Nutzern auftreten,
und zudem das Zeitfenster, während dessen noch keine vorerstellten
Binärdateien verfügbar sind, verkürzen.
@c TODO: It would be good with badges on the website that tracks these @c TODO: It would be good with badges on the website that tracks these
@c branches. Or maybe even a status page. @c branches. Or maybe even a status page.
Generally, branches other than @code{master} are considered @emph{frozen} if Im Allgemeinen werden Branches außer @code{master} als @emph{unveränderlich}
there has been a recent evaluation, or there is a corresponding @code{-next} angesehen, wenn sie kürzlich ausgewertet wurden oder ein entsprechender
branch. Please ask on the mailing list or IRC if unsure where to place a @code{-next}-Branch existiert. Bitte fragen Sie auf der Mailing-Liste oder
patch. IRC, wenn Sie sich nicht sicher sind, wo ein Patch eingespielt werden
sollte.
@item @item
@cindex Determinismus, von Erstellungsprozessen @cindex Determinismus, von Erstellungsprozessen
@ -468,16 +942,14 @@ Dies reicht aus, um eine ganze Klasse häufiger Ursachen von
Nichtdeterminismus zu finden, wie zum Beispiel Zeitstempel oder Nichtdeterminismus zu finden, wie zum Beispiel Zeitstempel oder
zufallsgenerierte Ausgaben im Ergebnis der Erstellung. zufallsgenerierte Ausgaben im Ergebnis der Erstellung.
Eine weitere Möglichkeit ist, @command{guix challenge} (@pxref{Aufruf von guix challenge}) zu benutzen. Sie können es ausführen, sobald ein Paket commitet Another option is to use @command{guix challenge} (@pxref{Aufruf von guix challenge}). You may run it once the package has been committed and built
und von @code{hydra.gnu.org} erstellt wurde, um zu sehen, ob dort dasselbe by @code{@value{SUBSTITUTE-SERVER}} to check whether it obtains the same
Ergebnis wie bei Ihnen geliefert wurde. Noch besser: Finden Sie eine andere result as you did. Better yet: Find another machine that can build it and
Maschine, die das Paket erstellen kann, und führen Sie @command{guix run @command{guix publish}. Since the remote build machine is likely
publish} aus. Da sich die entfernte Erstellungsmaschine wahrscheinlich von different from yours, this can catch non-determinism issues related to the
Ihrer unterscheidet, können Sie auf diese Weise Probleme durch hardware---e.g., use of different instruction set extensions---or to the
Nichtdeterminismus erkennen, die mit der Hardware zu tun haben — zum operating system kernel---e.g., reliance on @code{uname} or @file{/proc}
Beispiel die Nutzung anderer Befehlssatzerweiterungen — oder mit dem files.
Betriebssystem-Kernel — zum Beispiel, indem @code{uname} oder
@file{/proc}-Dateien verwendet werden.
@item @item
Beim Schreiben von Dokumentation achten Sie bitte auf eine Beim Schreiben von Dokumentation achten Sie bitte auf eine
@ -500,11 +972,13 @@ wollen Sie dies automatisch tun lassen durch das Skript
@command{etc/indent-code.el} (@pxref{Formatierung von Code}). @command{etc/indent-code.el} (@pxref{Formatierung von Code}).
@item @item
When possible, use mirrors in the source URL (@pxref{Aufruf von guix download}). Use reliable URLs, not generated ones. For instance, GitHub Benutzen Sie, wenn möglich, Spiegelserver (Mirrors) in der Quell-URL
archives are not necessarily identical from one generation to the next, so (@pxref{Aufruf von guix download}). Verwenden Sie verlässliche URLs, keine
in this case it's often better to clone the repository. Don't use the automatisch generierten. Zum Beispiel sind Archive von GitHub nicht immer
@command{name} field in the URL: it is not very useful and if the name identisch von einer Generation auf die nächste, daher ist es in diesem Fall
changes, the URL will probably be wrong. besser, als Quelle einen Klon des Repositorys zu verwenden. Benutzen Sie
@emph{nicht} das @command{name}-Feld beim Angeben der URL; er hilft nicht
wirklich und wenn sich der Name ändert, stimmt die URL nicht mehr.
@end enumerate @end enumerate

File diff suppressed because it is too large Load Diff

View File

@ -165,10 +165,17 @@ System Installation
* Hardware Considerations:: Supported hardware. * Hardware Considerations:: Supported hardware.
* USB Stick and DVD Installation:: Preparing the installation medium. * USB Stick and DVD Installation:: Preparing the installation medium.
* Preparing for Installation:: Networking, partitioning, etc. * Preparing for Installation:: Networking, partitioning, etc.
* Proceeding with the Installation:: The real thing. * Guided Graphical Installation:: Easy graphical installation.
* Manual Installation:: Manual installation for wizards.
* After System Installation:: When installation succeeded.
* Installing Guix in a VM:: Guix System playground. * Installing Guix in a VM:: Guix System playground.
* Building the Installation Image:: How this comes to be. * Building the Installation Image:: How this comes to be.
Manual Installation
* Keyboard Layout and Networking and Partitioning:: Initial setup.
* Proceeding with the Installation:: Installing.
Package Management Package Management
* Features:: How Guix will make your life brighter. * Features:: How Guix will make your life brighter.
@ -1777,7 +1784,9 @@ available.
* Hardware Considerations:: Supported hardware. * Hardware Considerations:: Supported hardware.
* USB Stick and DVD Installation:: Preparing the installation medium. * USB Stick and DVD Installation:: Preparing the installation medium.
* Preparing for Installation:: Networking, partitioning, etc. * Preparing for Installation:: Networking, partitioning, etc.
* Proceeding with the Installation:: The real thing. * Guided Graphical Installation:: Easy graphical installation.
* Manual Installation:: Manual installation for wizards.
* After System Installation:: When installation succeeded.
* Installing Guix in a VM:: Guix System playground. * Installing Guix in a VM:: Guix System playground.
* Building the Installation Image:: How this comes to be. * Building the Installation Image:: How this comes to be.
@end menu @end menu
@ -1866,7 +1875,7 @@ about their support in GNU/Linux.
An ISO-9660 installation image that can be written to a USB stick or An ISO-9660 installation image that can be written to a USB stick or
burnt to a DVD can be downloaded from burnt to a DVD can be downloaded from
@indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz}, @indicateurl{https://alpha.gnu.org/gnu/guix/guix-system-install-@value{VERSION}.@var{system}.iso.xz},
where @var{system} is one of: where @var{system} is one of:
@table @code @table @code
@ -1882,8 +1891,8 @@ Make sure to download the associated @file{.sig} file and to verify the
authenticity of the image against it, along these lines: authenticity of the image against it, along these lines:
@example @example
$ wget https://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig $ wget https://alpha.gnu.org/gnu/guix/guix-system-install-@value{VERSION}.@var{system}.iso.xz.sig
$ gpg --verify guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig $ gpg --verify guix-system-install-@value{VERSION}.@var{system}.iso.xz.sig
@end example @end example
If that command fails because you do not have the required public key, If that command fails because you do not have the required public key,
@ -1910,7 +1919,7 @@ To copy the image to a USB stick, follow these steps:
Decompress the image using the @command{xz} command: Decompress the image using the @command{xz} command:
@example @example
xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz xz -d guix-system-install-@value{VERSION}.@var{system}.iso.xz
@end example @end example
@item @item
@ -1919,7 +1928,7 @@ its device name. Assuming that the USB stick is known as @file{/dev/sdX},
copy the image with: copy the image with:
@example @example
dd if=guixsd-install-@value{VERSION}.@var{system}.iso of=/dev/sdX dd if=guix-system-install-@value{VERSION}.@var{system}.iso of=/dev/sdX
sync sync
@end example @end example
@ -1935,7 +1944,7 @@ To copy the image to a DVD, follow these steps:
Decompress the image using the @command{xz} command: Decompress the image using the @command{xz} command:
@example @example
xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz xz -d guix-system-install-@value{VERSION}.@var{system}.iso.xz
@end example @end example
@item @item
@ -1944,7 +1953,7 @@ its device name. Assuming that the DVD drive is known as @file{/dev/srX},
copy the image with: copy the image with:
@example @example
growisofs -dvd-compat -Z /dev/srX=guixsd-install-@value{VERSION}.@var{system}.iso growisofs -dvd-compat -Z /dev/srX=guix-system-install-@value{VERSION}.@var{system}.iso
@end example @end example
Access to @file{/dev/srX} usually requires root privileges. Access to @file{/dev/srX} usually requires root privileges.
@ -1963,21 +1972,19 @@ Guix System in a virtual machine (VM).
@node Preparing for Installation @node Preparing for Installation
@section Preparing for Installation @section Preparing for Installation
Once you have successfully booted your computer using the installation medium, Once you have booted, you can use the guided graphical installer, which makes
you should end up with the welcome page of the graphical installer. The it easy to get started (@pxref{Guided Graphical Installation}). Alternately,
graphical installer is a text-based user interface built upon the newt if you are already familiar with GNU/Linux and if you want more control than
library. It shall guide you through all the different steps needed to install what the graphical installer provides, you can choose the ``manual''
GNU@tie{}Guix System. However, as the graphical installer is still under heavy installation process (@pxref{Manual Installation}).
development, you might want to fallback to the original, shell based install
process, by switching to TTYs 3 to 6 with the shortcuts CTRL-ALT-F[3-6]. The
following sections describe the installation procedure assuming you're using
one of those TTYs. They are configured and can be used to run commands as
root.
TTY2 shows this documentation, browsable using the Info reader commands The graphical installer is available on TTY1. You can obtain root shells on
(@pxref{Top,,, info-stnd, Stand-alone GNU Info}). The installation system TTYs 3 to 6 by hitting @kbd{ctrl-alt-f3}, @kbd{ctrl-alt-f4}, etc. TTY2 shows
runs the GPM mouse daemon, which allows you to select text with the left mouse this documentation and you can reach it with @kbd{ctrl-alt-f2}. Documentation
button and to paste it with the middle button. is browsable using the Info reader commands (@pxref{Top,,, info-stnd,
Stand-alone GNU Info}). The installation system runs the GPM mouse daemon,
which allows you to select text with the left mouse button and to paste it
with the middle button.
@quotation Note @quotation Note
Installation requires access to the Internet so that any missing Installation requires access to the Internet so that any missing
@ -1985,12 +1992,65 @@ dependencies of your system configuration can be downloaded. See the
``Networking'' section below. ``Networking'' section below.
@end quotation @end quotation
The installation system includes many common tools needed for this task. @node Guided Graphical Installation
But it is also a full-blown Guix System, which means that you can @section Guided Graphical Installation
install additional packages, should you need it, using @command{guix
package} (@pxref{Invoking guix package}).
@subsection Keyboard Layout The graphical installer is a text-based user interface. It will guide you,
with dialog boxes, through the steps needed to install GNU@tie{}Guix System.
The first dialog boxes allow you to set up the system as you use it during the
installation: you can choose the language, keyboard layout, and set up
networking, which will be used during the installation. The image below shows
the networking dialog.
@image{images/installer-network,5in,, networking setup with the graphical installer}
Later steps allow you to partition your hard disk, as shown in the image
below, to choose whether or not to use encrypted file systems, to enter the
host name and root password, and to create an additional account, among other
things.
@image{images/installer-partitions,5in,, partitioning with the graphical installer}
Note that, at any time, the installer allows you to exit the current
installation step and resume at a previous step, as show in the image below.
@image{images/installer-resume,5in,, resuming the installation process}
Once you're done, the installer produces an operating system configuration and
displays it (@pxref{Using the Configuration System}). At that point you can
hit ``OK'' and installation will proceed. On success, you can reboot into the
new system and enjoy. @xref{After System Installation}, for what's next!
@node Manual Installation
@section Manual Installation
This section describes how you would ``manually'' install GNU@tie{}Guix System
on your machine. This option requires familiarity with GNU/Linux, with the
shell, and with common administration tools. If you think this is not for
you, consider using the guided graphical installer (@pxref{Guided Graphical
Installation}).
The installation system provides root shells on TTYs 3 to 6; press
@kbd{ctrl-alt-f3}, @kbd{ctrl-alt-f4}, and so on to reach them. It includes
many common tools needed to install the system. But it is also a full-blown
Guix System, which means that you can install additional packages, should you
need it, using @command{guix package} (@pxref{Invoking guix package}).
@menu
* Keyboard Layout and Networking and Partitioning:: Initial setup.
* Proceeding with the Installation:: Installing.
@end menu
@node Keyboard Layout and Networking and Partitioning
@subsection Keyboard Layout, Networking, and Partitioning
Before you can install the system, you may want to adjust the keyboard layout,
set up networking, and partition your target hard disk. This section will
guide you through this.
@subsubsection Keyboard Layout
@cindex keyboard layout @cindex keyboard layout
The installation image uses the US qwerty keyboard layout. If you want The installation image uses the US qwerty keyboard layout. If you want
@ -2005,7 +2065,7 @@ See the files under @file{/run/current-system/profile/share/keymaps} for
a list of available keyboard layouts. Run @command{man loadkeys} for a list of available keyboard layouts. Run @command{man loadkeys} for
more information. more information.
@subsection Networking @subsubsection Networking
Run the following command to see what your network interfaces are called: Run the following command to see what your network interfaces are called:
@ -2098,7 +2158,7 @@ herd start ssh-daemon
Make sure to either set a password with @command{passwd}, or configure Make sure to either set a password with @command{passwd}, or configure
OpenSSH public key authentication before logging in. OpenSSH public key authentication before logging in.
@subsection Disk Partitioning @subsubsection Disk Partitioning
Unless this has already been done, the next step is to partition, and Unless this has already been done, the next step is to partition, and
then format the target partition(s). then format the target partition(s).
@ -2219,7 +2279,7 @@ file in its file system as described above, then the encryption also
protects the swap file, just like any other file in that file system. protects the swap file, just like any other file in that file system.
@node Proceeding with the Installation @node Proceeding with the Installation
@section Proceeding with the Installation @subsection Proceeding with the Installation
With the target partitions ready and the target root mounted on With the target partitions ready and the target root mounted on
@file{/mnt}, we're ready to go. First, run: @file{/mnt}, we're ready to go. First, run:
@ -2303,9 +2363,14 @@ in the new system is initially empty; other users' passwords need to be
initialized by running the @command{passwd} command as @code{root}, initialized by running the @command{passwd} command as @code{root},
unless your configuration specifies otherwise unless your configuration specifies otherwise
(@pxref{user-account-password, user account passwords}). (@pxref{user-account-password, user account passwords}).
@xref{After System Installation}, for what's next!
@cindex upgrading Guix System
From then on, you can update the system whenever you want by running, say: @node After System Installation
@section After System Installation
Success, you've now booted into Guix System! From then on, you can update the
system whenever you want by running, say:
@example @example
guix pull guix pull
@ -2326,8 +2391,8 @@ explicitly run root's @command{guix}, type @command{sudo -i guix @dots{}}.
@end quotation @end quotation
Join us on @code{#guix} on the Freenode IRC network or on Join us on @code{#guix} on the Freenode IRC network or on
@email{guix-devel@@gnu.org} to share your experience---good or not so @email{guix-devel@@gnu.org} to share your experience!
good.
@node Installing Guix in a VM @node Installing Guix in a VM
@section Installing Guix in a Virtual Machine @section Installing Guix in a Virtual Machine
@ -2364,7 +2429,7 @@ Boot the USB installation image in an VM:
@example @example
qemu-system-x86_64 -m 1024 -smp 1 \ qemu-system-x86_64 -m 1024 -smp 1 \
-net user -net nic,model=virtio -boot menu=on \ -net user -net nic,model=virtio -boot menu=on \
-drive file=guixsd-install-@value{VERSION}.@var{system}.iso \ -drive file=guix-system-install-@value{VERSION}.@var{system}.iso \
-drive file=guixsd.img -drive file=guixsd.img
@end example @end example
@ -14165,7 +14230,7 @@ field of an @code{operating-system} declaration (@pxref{operating-system
Reference, @code{services}}). Reference, @code{services}}).
Additionally, the @code{gnome-desktop-service}, Additionally, the @code{gnome-desktop-service},
@code{xfce-desktop-service}, @code{mate-desktop-service} and @code{xfce-desktop-service}, @code{mate-desktop-service-type} and
@code{enlightenment-desktop-service-type} procedures can add GNOME, XFCE, MATE @code{enlightenment-desktop-service-type} procedures can add GNOME, XFCE, MATE
and/or Enlightenment to a system. To ``add GNOME'' means that system-level and/or Enlightenment to a system. To ``add GNOME'' means that system-level
services like the backlight adjustment helpers and the power management services like the backlight adjustment helpers and the power management
@ -14181,8 +14246,8 @@ administrator's password via the standard polkit graphical interface.
To ``add MATE'' means that @code{polkit} and @code{dbus} are extended To ``add MATE'' means that @code{polkit} and @code{dbus} are extended
appropriately, allowing MATE to operate with elevated privileges on a appropriately, allowing MATE to operate with elevated privileges on a
limited number of special-purpose system interfaces. Additionally, limited number of special-purpose system interfaces. Additionally,
adding a service made by @code{mate-desktop-service} adds the MATE adding a service of type @code{mate-desktop-service-type} adds the MATE
metapackage to the system profile. ``Adding ENLIGHTENMENT'' means that metapackage to the system profile. ``Adding Enlightenment'' means that
@code{dbus} is extended appropriately, and several of Enlightenment's binaries @code{dbus} is extended appropriately, and several of Enlightenment's binaries
are set as setuid, allowing Enlightenment's screen locker and other are set as setuid, allowing Enlightenment's screen locker and other
functionality to work as expetected. functionality to work as expetected.
@ -14209,13 +14274,26 @@ file system as root from within a user session, after the user has
authenticated with the administrator's password. authenticated with the administrator's password.
@end deffn @end deffn
@deffn {Scheme Procedure} mate-desktop-service @deffn {Scheme Variable} mate-desktop-service-type
Return a service that adds the @code{mate} package to the system This is the type of the service that runs the @uref{https://mate-desktop.org/,
MATE desktop environment}. Its value is a @code{mate-desktop-configuration}
object (see below.)
This service adds the @code{mate} package to the system
profile, and extends polkit with the actions from profile, and extends polkit with the actions from
@code{mate-settings-daemon}. @code{mate-settings-daemon}.
@end deffn @end deffn
@deffn {Scheme Procedure} enlightenment-desktop-service-type @deftp {Data Type} mate-desktop-configuration
Configuration record for the MATE desktop environment.
@table @asis
@item @code{mate} (default @code{mate})
The MATE package to use.
@end table
@end deftp
@deffn {Scheme Variable} enlightenment-desktop-service-type
Return a service that adds the @code{enlightenment} package to the system Return a service that adds the @code{enlightenment} package to the system
profile, and extends dbus with actions from @code{efl}. profile, and extends dbus with actions from @code{efl}.
@end deffn @end deffn
@ -16471,7 +16549,7 @@ Defaults to @samp{"internal_plain"}.
@deftypevr {@code{prosody-configuration} parameter} maybe-string log @deftypevr {@code{prosody-configuration} parameter} maybe-string log
Set logging options. Advanced logging configuration is not yet supported Set logging options. Advanced logging configuration is not yet supported
by the Guix Prosody Service. See @url{https://prosody.im/doc/logging}. by the Prosody service. See @url{https://prosody.im/doc/logging}.
Defaults to @samp{"*syslog"}. Defaults to @samp{"*syslog"}.
@end deftypevr @end deftypevr
@ -23347,7 +23425,7 @@ system configuration file. You can then load the image and launch a
Docker container using commands like the following: Docker container using commands like the following:
@example @example
image_id="$(docker load < guixsd-docker-image.tar.gz)" image_id="$(docker load < guix-system-docker-image.tar.gz)"
docker run -e GUIX_NEW_SYSTEM=/var/guix/profiles/system \\ docker run -e GUIX_NEW_SYSTEM=/var/guix/profiles/system \\
--entrypoint /var/guix/profiles/system/profile/bin/guile \\ --entrypoint /var/guix/profiles/system/profile/bin/guile \\
$image_id /var/guix/profiles/system/boot $image_id /var/guix/profiles/system/boot
@ -23533,7 +23611,7 @@ example graph.
@cindex virtual machine @cindex virtual machine
To run Guix in a virtual machine (VM), one can either use the To run Guix in a virtual machine (VM), one can either use the
pre-built Guix VM image distributed at pre-built Guix VM image distributed at
@indicateurl{https://alpha.gnu.org/gnu/guix/guixsd-vm-image-@value{VERSION}.@var{system}.xz} @indicateurl{https://alpha.gnu.org/gnu/guix/guix-system-vm-image-@value{VERSION}.@var{system}.xz}
, or build their own virtual machine image using @command{guix system , or build their own virtual machine image using @command{guix system
vm-image} (@pxref{Invoking guix system}). The returned image is in vm-image} (@pxref{Invoking guix system}). The returned image is in
qcow2 format, which the @uref{http://qemu.org/, QEMU emulator} can qcow2 format, which the @uref{http://qemu.org/, QEMU emulator} can

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -1,6 +1,6 @@
# GNU Guix --- Functional package management for GNU # GNU Guix --- Functional package management for GNU
# Copyright © 2016 Eric Bavier <bavier@member.fsf.org> # Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> # Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr> # Copyright © 2013 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> # Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org> # Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
@ -111,7 +111,10 @@ $(srcdir)/%D%/contributing.%.texi: po/doc/guix-manual.%.po
infoimagedir = $(infodir)/images infoimagedir = $(infodir)/images
dist_infoimage_DATA = \ dist_infoimage_DATA = \
$(DOT_FILES:%.dot=%.png) \ $(DOT_FILES:%.dot=%.png) \
%D%/images/coreutils-size-map.png %D%/images/coreutils-size-map.png \
%D%/images/installer-network.png \
%D%/images/installer-partitions.png \
%D%/images/installer-resume.png
# Try hard to obtain an image size and aspect that's reasonable for inclusion # Try hard to obtain an image size and aspect that's reasonable for inclusion
# in an Info or PDF document. # in an Info or PDF document.

View File

@ -57,10 +57,10 @@ corresponding to old generations of the system."
#~(call-with-output-file #$output #~(call-with-output-file #$output
(lambda (port) (lambda (port)
(let ((timeout #$(bootloader-configuration-timeout config))) (let ((timeout #$(bootloader-configuration-timeout config)))
(format port "# This file was generated from your GuixSD configuration. Any changes (format port "# This file was generated from your Guix configuration. Any changes
# will be lost upon reconfiguration. # will be lost upon reconfiguration.
UI menu.c32 UI menu.c32
MENU TITLE GuixSD Boot Options MENU TITLE GNU Guix Boot Options
PROMPT ~a PROMPT ~a
TIMEOUT ~a~%" TIMEOUT ~a~%"
(if (> timeout 0) 1 0) (if (> timeout 0) 1 0)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
@ -334,7 +334,7 @@ entries corresponding to old generations of the system."
#~(call-with-output-file #$output #~(call-with-output-file #$output
(lambda (port) (lambda (port)
(format port (format port
"# This file was generated from your GuixSD configuration. Any changes "# This file was generated from your Guix configuration. Any changes
# will be lost upon reconfiguration. # will be lost upon reconfiguration.
") ")
#$sugar #$sugar
@ -380,7 +380,7 @@ submenu \"GNU system, old configurations...\" {~%")
;; system whose root is mounted at MOUNT-POINT. ;; system whose root is mounted at MOUNT-POINT.
(let ((grub-install (string-append bootloader "/sbin/grub-install")) (let ((grub-install (string-append bootloader "/sbin/grub-install"))
(install-dir (string-append mount-point "/boot")) (install-dir (string-append mount-point "/boot"))
;; When installing GuixSD, it's common to mount EFI-DIR below ;; When installing Guix, it's common to mount EFI-DIR below
;; MOUNT-POINT rather than /boot/efi on the live image. ;; MOUNT-POINT rather than /boot/efi on the live image.
(target-esp (if (file-exists? (string-append mount-point efi-dir)) (target-esp (if (file-exists? (string-append mount-point efi-dir))
(string-append mount-point efi-dir) (string-append mount-point efi-dir)
@ -389,7 +389,7 @@ submenu \"GNU system, old configurations...\" {~%")
;; root partition. ;; root partition.
(setenv "GRUB_ENABLE_CRYPTODISK" "y") (setenv "GRUB_ENABLE_CRYPTODISK" "y")
(unless (zero? (system* grub-install "--boot-directory" install-dir (unless (zero? (system* grub-install "--boot-directory" install-dir
"--bootloader-id=GuixSD" "--bootloader-id=Guix"
"--efi-directory" target-esp)) "--efi-directory" target-esp))
(error "failed to install GRUB (EFI)"))))) (error "failed to install GRUB (EFI)")))))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -47,7 +47,8 @@
device-module-aliases device-module-aliases
known-module-aliases known-module-aliases
matching-modules)) matching-modules
missing-modules))
;;; Commentary: ;;; Commentary:
;;; ;;;
@ -463,4 +464,26 @@ ALIAS is a string like \"scsi:t-0x00\" as returned by
module))) module)))
known-aliases)) known-aliases))
(define* (missing-modules device modules-provided)
"Assuming MODULES-PROVIDED lists kernel modules that are already
provided--e.g., in the initrd, return the list of missing kernel modules that
are required to access DEVICE."
(define aliases
;; Attempt to load 'modules.alias' from the current kernel, assuming we're
;; on Guix System, and assuming that corresponds to the kernel we'll be
;; installing.
(known-module-aliases))
(if aliases
(let* ((modules (delete-duplicates
(append-map (cut matching-modules <> aliases)
(device-module-aliases device))))
;; Module names (not file names) are supposed to use underscores
;; instead of hyphens. MODULES is a list of module names, whereas
;; LINUX-MODULES is file names without '.ko', so normalize them.
(provided (map file-name->module-name modules-provided)))
(remove (cut member <> provided) modules))
'()))
;;; linux-modules.scm ends here ;;; linux-modules.scm ends here

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
@ -422,7 +422,7 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
(string-append "boot/grub/grub.cfg=" config-file)))) (string-append "boot/grub/grub.cfg=" config-file))))
(define* (make-iso9660-image grub config-file os-drv target (define* (make-iso9660-image grub config-file os-drv target
#:key (volume-id "GuixSD_image") (volume-uuid #f) #:key (volume-id "Guix_image") (volume-uuid #f)
register-closures? (closures '())) register-closures? (closures '()))
"Given a GRUB package, creates an iso image as TARGET, using CONFIG-FILE as "Given a GRUB package, creates an iso image as TARGET, using CONFIG-FILE as
GRUB configuration and OS-DRV as the stuff in it." GRUB configuration and OS-DRV as the stuff in it."
@ -550,7 +550,7 @@ passing it a directory name where it is mounted."
(lambda (port) (lambda (port)
(format port (format port
"insmod part_msdos~@ "insmod part_msdos~@
search --set=root --label GuixSD_image~@ search --set=root --label Guix_image~@
configfile /boot/grub/grub.cfg~%"))) configfile /boot/grub/grub.cfg~%")))
(display "creating EFI firmware image...") (display "creating EFI firmware image...")

View File

@ -235,7 +235,7 @@ system.")
(system-test-value test)))) (system-test-value test))))
`((derivation . ,(derivation-file-name drv)) `((derivation . ,(derivation-file-name drv))
(description . ,(format #f "GuixSD '~a' system test" (description . ,(format #f "Guix '~a' system test"
(system-test-name test))) (system-test-name test)))
(long-description . ,(system-test-description test)) (long-description . ,(system-test-description test))
(license . ,(license-name gpl3+)) (license . ,(license-name gpl3+))
@ -270,7 +270,7 @@ system.")
`((derivation . ,(derivation-file-name drv)) `((derivation . ,(derivation-file-name drv))
(description . "Stand-alone binary Guix tarball") (description . "Stand-alone binary Guix tarball")
(long-description . "This is a tarball containing binaries of Guix and (long-description . "This is a tarball containing binaries of Guix and
all its dependencies, and ready to be installed on non-GuixSD distributions.") all its dependencies, and ready to be installed on \"foreign\" distributions.")
(license . ,(license-name gpl3+)) (license . ,(license-name gpl3+))
(home-page . ,%guix-home-page-url) (home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org")))) (maintainers . ("bug-guix@gnu.org"))))

View File

@ -113,7 +113,7 @@ FULL-VALUE tentatives, spaced by 1 second."
(let* ((full-value 5)) (let* ((full-value 5))
(run-scale-page (run-scale-page
#:title (G_ "Checking connectivity") #:title (G_ "Checking connectivity")
#:info-text (G_ "Waiting internet access is established.") #:info-text (G_ "Waiting for Internet access establishment...")
#:scale-full-value full-value #:scale-full-value full-value
#:scale-update-proc #:scale-update-proc
(lambda (value) (lambda (value)
@ -123,8 +123,8 @@ FULL-VALUE tentatives, spaced by 1 second."
(+ value 1)))) (+ value 1))))
(unless (connman-online?) (unless (connman-online?)
(run-error-page (run-error-page
(G_ "The selected network does not provide an Internet \ (G_ "The selected network does not provide access to the \
access, please try again.") Internet, please try again.")
(G_ "Connection error")) (G_ "Connection error"))
(raise (raise
(condition (condition

View File

@ -92,8 +92,8 @@ we want this page to occupy all the screen space available."
the page. Ask the user to choose between manual installation, graphical the page. Ask the user to choose between manual installation, graphical
installation and reboot." installation and reboot."
(run-menu-page (run-menu-page
(G_ "GNU GuixSD install") (G_ "GNU Guix install")
(G_ "Welcome to GNU GuixSD installer! (G_ "Welcome to GNU Guix system installer!
Please note that the present graphical installer is still under heavy \ Please note that the present graphical installer is still under heavy \
development, so you might want to prefer using the shell based process. \ development, so you might want to prefer using the shell based process. \

View File

@ -1152,6 +1152,7 @@ dist_patch_DATA = \
%D%/packages/patches/psm-arch.patch \ %D%/packages/patches/psm-arch.patch \
%D%/packages/patches/psm-ldflags.patch \ %D%/packages/patches/psm-ldflags.patch \
%D%/packages/patches/psm-repro.patch \ %D%/packages/patches/psm-repro.patch \
%D%/packages/patches/pugixml-versioned-libdir.patch \
%D%/packages/patches/pulseaudio-fix-mult-test.patch \ %D%/packages/patches/pulseaudio-fix-mult-test.patch \
%D%/packages/patches/pulseaudio-longer-test-timeout.patch \ %D%/packages/patches/pulseaudio-longer-test-timeout.patch \
%D%/packages/patches/pybugz-encode-error.patch \ %D%/packages/patches/pybugz-encode-error.patch \

View File

@ -155,23 +155,26 @@ flags."
;; Search path for package modules. Each item must be either a directory ;; Search path for package modules. Each item must be either a directory
;; name or a pair whose car is a directory and whose cdr is a sub-directory ;; name or a pair whose car is a directory and whose cdr is a sub-directory
;; to narrow the search. ;; to narrow the search.
(let* ((not-colon (char-set-complement (char-set #\:))) (let*-values (((not-colon)
(environment (string-tokenize (or (getenv "GUIX_PACKAGE_PATH") "") (char-set-complement (char-set #\:)))
((environment)
(string-tokenize (or (getenv "GUIX_PACKAGE_PATH") "")
not-colon)) not-colon))
(channels (package-path-entries))) ((channels-scm channels-go)
(package-path-entries)))
;; Automatically add channels and items from $GUIX_PACKAGE_PATH to Guile's ;; Automatically add channels and items from $GUIX_PACKAGE_PATH to Guile's
;; search path. For historical reasons, $GUIX_PACKAGE_PATH goes to the ;; search path. For historical reasons, $GUIX_PACKAGE_PATH goes to the
;; front; channels go to the back so that they don't override Guix' own ;; front; channels go to the back so that they don't override Guix' own
;; modules. ;; modules.
(set! %load-path (set! %load-path
(append environment %load-path channels)) (append environment %load-path channels-scm))
(set! %load-compiled-path (set! %load-compiled-path
(append environment %load-compiled-path channels)) (append environment %load-compiled-path channels-go))
(make-parameter (make-parameter
(append environment (append environment
%default-package-module-path %default-package-module-path
channels)))) channels-scm))))
(define %patch-path (define %patch-path
;; Define it after '%package-module-path' so that '%load-path' contains user ;; Define it after '%package-module-path' so that '%load-path' contains user

View File

@ -113,14 +113,14 @@
(define-public aide (define-public aide
(package (package
(name "aide") (name "aide")
(version "0.16") (version "0.16.1")
(source (origin (source
(origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/aide/aide/" (uri (string-append "https://github.com/aide/aide/releases/download/v"
version "/aide-" version ".tar.gz")) version "/aide-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "1dqhc0c24wa4zid06pfy61k357yvzh28ij86bk9jf6hcqzn7qaqg"))))
"0ibkv4z2gk14fn014kq13rp2ysiq6nn2cflv2q5i7zf466hm6758"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("bison" ,bison) `(("bison" ,bison)
@ -141,7 +141,7 @@ that it finds from its configuration files. Once this database is initialized
it can be used to verify the integrity of the files. It has several message it can be used to verify the integrity of the files. It has several message
digest algorithms that are used to check the integrity of files. All of the digest algorithms that are used to check the integrity of files. All of the
usual file attributes can be checked for inconsistencies.") usual file attributes can be checked for inconsistencies.")
(home-page "http://aide.sourceforge.net/") (home-page "https://aide.github.io/")
(license license:gpl2+))) (license license:gpl2+)))
(define-public progress (define-public progress
@ -1598,14 +1598,13 @@ of supported upstream metrics systems simultaneously.")
(define-public ansible (define-public ansible
(package (package
(name "ansible") (name "ansible")
(version "2.7.7") (version "2.7.8")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "ansible" version)) (uri (pypi-uri "ansible" version))
(sha256 (sha256
(base32 (base32 "11yx7vd0mp5gkq428af141dwnrwf8f9cp3f65243qbs9icjxnrrx"))))
"0l4id24jqi578xmybvwrz10sm2jhs90gk9gs1y04gfarz4vcj304"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-bcrypt" ,python-bcrypt) `(("python-bcrypt" ,python-bcrypt)
@ -2700,16 +2699,16 @@ Python loading in HPC environments.")
(let ((real-name "inxi")) (let ((real-name "inxi"))
(package (package
(name "inxi-minimal") (name "inxi-minimal")
(version "3.0.20-1") (version "3.0.22-1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/smxi/inxi") (url "https://github.com/smxi/inxi")
(commit version))) (commit version)))
(file-name (git-file-name real-name version))
(sha256 (sha256
(base32 (base32 "1br392s3xc2nwqmfx4nwb3i97wjwasvkq8ayr8jq72mi5qzsgizn"))))
"1k9148xnfznch1443niaa3w1kmsw4vp0xpwna6npgmi7zqg06ymy"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(inputs (inputs
`(("bash" ,bash-minimal) `(("bash" ,bash-minimal)

View File

@ -5,7 +5,7 @@
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Andersson <christopher@8bits.nu> ;;; Copyright © 2016 Christopher Andersson <christopher@8bits.nu>
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -197,11 +197,25 @@ dictionaries, including personal ones.")
"13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn"))) "13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn")))
(define-public aspell-dict-it (define-public aspell-dict-it
(aspell-dictionary "it" "Italian" (let ((version "2.4-20070901-0")
#:version "2.2_20050523-0" (sha256
#:sha256 (base32 "0d6ypii3jblprpibazb6ypady536jz62rwxlss1x1raq07rhvvqn")))
(base32 (package
"1gdf7bc1a0kmxsmphdqq8pl01h667mjsj6hihy6kqy14k5qdq69v"))) (inherit (aspell-dictionary "it" "Italian"
#:version version
#:sha256 sha256))
;; The version hosted at <https://ftp.gnu.org/gnu/aspell/dict> is even
;; more out of date.
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/linguistico/"
"Dizionario%20italiano%20per%20Aspell/" version "/"
"aspell6-it-" version ".tar.bz2"))
(sha256 sha256)))
(home-page
"http://linguistico.sourceforge.net/pages/dizionario_italiano.html"))))
(define-public aspell-dict-nl (define-public aspell-dict-nl
(aspell-dictionary "nl" "Dutch" (aspell-dictionary "nl" "Dutch"

View File

@ -2270,7 +2270,7 @@ for experimenting with sound synthesis and algorithmic composition.
SuperCollider requires jackd to be installed in your user profile and your SuperCollider requires jackd to be installed in your user profile and your
user must be allowed to access the realtime features of the kernel. Search user must be allowed to access the realtime features of the kernel. Search
for \"realtime\" in the index of the Guix manual to learn how to achieve this for \"realtime\" in the index of the Guix manual to learn how to achieve this
using GuixSD.") using Guix System.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public raul (define-public raul
@ -2834,7 +2834,26 @@ portions of LAME.")
("automake" ,automake) ("automake" ,automake)
("libtool" ,libtool) ("libtool" ,libtool)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(arguments '(#:tests? #f)) ;no 'check' target (arguments
'(#:tests? #f ;no 'check' target
#:configure-flags '("--with-pic")
#:phases
(modify-phases %standard-phases
;; This is needed for linking the static libraries
(add-after 'unpack 'build-only-position-independent-code
(lambda _
(substitute* "configure.in"
(("AC_PROG_LIBTOOL" m)
(string-append m "\nAM_PROG_AR\nLT_INIT([pic-only])")))
(delete-file "configure")
#t))
;; Some headers are not installed by default, but are needed by
;; packages like Kaldi.
(add-after 'install 'install-missing-headers
(lambda* (#:key outputs #:allow-other-keys)
(install-file "src/common/pa_ringbuffer.h"
(string-append (assoc-ref outputs "out") "/include"))
#t)))))
(home-page "http://www.portaudio.com/") (home-page "http://www.portaudio.com/")
(synopsis "Audio I/O library") (synopsis "Audio I/O library")
(description (description
@ -3361,14 +3380,14 @@ on the ALSA software PCM plugin.")
(define-public snd (define-public snd
(package (package
(name "snd") (name "snd")
(version "17.7") (version "19.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/" (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
"snd-" version ".tar.gz")) "snd-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1vm0dy5qlycqkima7y5ajzvazyjybifa803fabjcpncjz08c26vp")))) "1a6ls2hyvggss12idca22hq5vsq4jw2xkwrx22dx29i9926gdr6h"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:tests? #f ; no tests `(#:tests? #f ; no tests

View File

@ -30,9 +30,13 @@
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages graph) #:use-module (gnu packages graph)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages statistics) #:use-module (gnu packages statistics)
#:use-module (gnu packages web)) #:use-module (gnu packages web))
;;; Annotations
(define-public r-bsgenome-celegans-ucsc-ce6 (define-public r-bsgenome-celegans-ucsc-ce6
(package (package
(name "r-bsgenome-celegans-ucsc-ce6") (name "r-bsgenome-celegans-ucsc-ce6")
@ -646,7 +650,103 @@ the TxDb object of Mouse data as provided by UCSC (mm10, December 2011)
based on the knownGene track.") based on the knownGene track.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-fdb-infiniummethylation-hg19
(package
(name "r-fdb-infiniummethylation-hg19")
(version "2.2.0")
(source (origin
(method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is
;; located under "data/annotation/" instead of "bioc/".
(uri (string-append "https://www.bioconductor.org/packages/"
"release/data/annotation/src/contrib/"
"FDb.InfiniumMethylation.hg19_"
version ".tar.gz"))
(sha256
(base32
"0gq90fvph6kgrpjb89nvzq6hl1k24swn19rgjh5g98l86mja6nk0"))))
(properties
`((upstream-name . "FDb.InfiniumMethylation.hg19")))
(build-system r-build-system)
(propagated-inputs
`(("r-biostrings" ,r-biostrings)
("r-genomicfeatures" ,r-genomicfeatures)
("r-annotationdbi" ,r-annotationdbi)
("r-org-hs-eg-db" ,r-org-hs-eg-db)
("r-txdb-hsapiens-ucsc-hg19-knowngene" ,r-txdb-hsapiens-ucsc-hg19-knowngene)))
(home-page "https://bioconductor.org/packages/FDb.InfiniumMethylation.hg19/")
(synopsis "Compiled HumanMethylation27 and HumanMethylation450 annotations")
(description
"This is an annotation package for Illumina Infinium DNA methylation
probes. It contains the compiled HumanMethylation27 and HumanMethylation450
annotations.")
(license license:artistic2.0)))
(define-public r-illuminahumanmethylationepicmanifest
(package
(name "r-illuminahumanmethylationepicmanifest")
(version "0.3.0")
(source (origin
(method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is
;; located under "data/annotation/" instead of "bioc/".
(uri (string-append "https://www.bioconductor.org/packages/"
"release/data/annotation/src/contrib/"
"IlluminaHumanMethylationEPICmanifest_"
version ".tar.gz"))
(sha256
(base32
"0alhjda5g186z8b1nsmnpfswrlj7prdz8mkwx60wkkl6hkcnk6p3"))))
(properties
`((upstream-name . "IlluminaHumanMethylationEPICmanifest")))
(build-system r-build-system)
(propagated-inputs
`(("r-minfi" ,r-minfi)))
(home-page "https://bioconductor.org/packages/IlluminaHumanMethylationEPICmanifest/")
(synopsis "Manifest for Illumina's EPIC methylation arrays")
(description
"This is a manifest package for Illumina's EPIC methylation arrays.")
(license license:artistic2.0)))
;;; Experiment data
(define-public r-hsmmsinglecell
(package
(name "r-hsmmsinglecell")
(version "1.2.0")
(source (origin
(method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is
;; located under "data/experiment/" instead of "bioc/".
(uri (string-append "https://www.bioconductor.org/packages/"
"release/data/experiment/src/contrib/"
"HSMMSingleCell_" version ".tar.gz"))
(sha256
(base32
"1vxnr8gr6md85g39csy7g2sqqajiqgyvznys2qa9yixd2b01yph9"))))
(properties
`((upstream-name . "HSMMSingleCell")))
(build-system r-build-system)
(home-page "https://www.bioconductor.org/packages/HSMMSingleCell/")
(synopsis "Single-cell RNA-Seq for differentiating human skeletal muscle myoblasts (HSMM)")
(description
"Skeletal myoblasts undergo a well-characterized sequence of
morphological and transcriptional changes during differentiation. In this
experiment, primary @dfn{human skeletal muscle myoblasts} (HSMM) were expanded
under high mitogen conditions (GM) and then differentiated by switching to
low-mitogen media (DM). RNA-Seq libraries were sequenced from each of several
hundred cells taken over a time-course of serum-induced differentiation.
Between 49 and 77 cells were captured at each of four time points (0, 24, 48,
72 hours) following serum switch using the Fluidigm C1 microfluidic system.
RNA from each cell was isolated and used to construct mRNA-Seq libraries,
which were then sequenced to a depth of ~4 million reads per library,
resulting in a complete gene expression profile for each cell.")
(license license:artistic2.0)))
;;; Packages
(define-public r-biocgenerics (define-public r-biocgenerics
(package (package
(name "r-biocgenerics") (name "r-biocgenerics")
@ -766,6 +866,35 @@ region sets and other genomic features.")
"This package provides functions for plotting genomic data.") "This package provides functions for plotting genomic data.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-qvalue
(package
(name "r-qvalue")
(version "2.14.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "qvalue" version))
(sha256
(base32
"0kxavzm1j2mk26qicmjm90nxx4w5h3dxighzks7wzihay3k8cysc"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("r-reshape2" ,r-reshape2)))
(home-page "http://github.com/jdstorey/qvalue")
(synopsis "Q-value estimation for false discovery rate control")
(description
"This package takes a list of p-values resulting from the simultaneous
testing of many hypotheses and estimates their q-values and local @dfn{false
discovery rate} (FDR) values. The q-value of a test measures the proportion
of false positives incurred when that particular test is called significant.
The local FDR measures the posterior probability the null hypothesis is true
given the test's p-value. Various plots are automatically generated, allowing
one to make sensible significance cut-offs. The software can be applied to
problems in genomics, brain imaging, astrophysics, and data mining.")
;; Any version of the LGPL.
(license license:lgpl3+)))
(define-public r-diffbind (define-public r-diffbind
(package (package
(name "r-diffbind") (name "r-diffbind")
@ -1694,3 +1823,663 @@ estimation is performed using either the EM or CEM algorithm, and the slope
heuristics are used for model selection (i.e., to choose the number of heuristics are used for model selection (i.e., to choose the number of
clusters).") clusters).")
(license license:gpl3+))) (license license:gpl3+)))
(define-public r-deds
(package
(name "r-deds")
(version "1.56.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DEDS" version))
(sha256
(base32
"1zfgaar3bpss49zhs81mwlfzkx5lv92j8a64xd12ig88is24cw2c"))))
(properties `((upstream-name . "DEDS")))
(build-system r-build-system)
(home-page "https://bioconductor.org/packages/DEDS/")
(synopsis "Differential expression via distance summary for microarray data")
(description
"This library contains functions that calculate various statistics of
differential expression for microarray data, including t statistics, fold
change, F statistics, SAM, moderated t and F statistics and B statistics. It
also implements a new methodology called DEDS (Differential Expression via
Distance Summary), which selects differentially expressed genes by integrating
and summarizing a set of statistics using a weighted distance approach.")
;; Any version of the LGPL.
(license license:lgpl3+)))
;; This is a CRAN package, but since it depends on a Bioconductor package we
;; put it here.
(define-public r-nbpseq
(package
(name "r-nbpseq")
(version "0.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "NBPSeq" version))
(sha256
(base32
"0l4ylxhs2k9ww21jjqs67fygk92avdchhx2y1ixzl7yr2yh1y9by"))))
(properties `((upstream-name . "NBPSeq")))
(build-system r-build-system)
(propagated-inputs
`(("r-qvalue" ,r-qvalue)))
(home-page "https://cran.r-project.org/web/packages/NBPSeq")
(synopsis "Negative binomial models for RNA-Seq data")
(description
"This package provides negative binomial models for two-group comparisons
and regression inferences from RNA-sequencing data.")
(license license:gpl2)))
(define-public r-ebseq
(package
(name "r-ebseq")
(version "1.22.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "EBSeq" version))
(sha256
(base32
"1gzbk1hbwdan0j131ah88yryfvsiq0wqjnb09qbr4qaczpgvbad0"))))
(properties `((upstream-name . "EBSeq")))
(build-system r-build-system)
(propagated-inputs
`(("r-blockmodeling" ,r-blockmodeling)
("r-gplots" ,r-gplots)
("r-testthat" ,r-testthat)))
(home-page "https://bioconductor.org/packages/EBSeq")
(synopsis "Differential expression analysis of RNA-seq data")
(description
"This package provides tools for differential expression analysis at both
gene and isoform level using RNA-seq data")
(license license:artistic2.0)))
(define-public r-lpsymphony
(package
(name "r-lpsymphony")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "lpsymphony" version))
(sha256
(base32
"0vnsf5x6gvd1k8h89al7r6xbgbxsjbxphr675czzwggz79zbvq7y"))))
(build-system r-build-system)
(inputs
`(("gfortran" ,gfortran)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://r-forge.r-project.org/projects/rsymphony")
(synopsis "Symphony integer linear programming solver in R")
(description
"This package was derived from Rsymphony. The package provides an R
interface to SYMPHONY, a linear programming solver written in C++. The main
difference between this package and Rsymphony is that it includes the solver
source code, while Rsymphony expects to find header and library files on the
users' system. Thus the intention of @code{lpsymphony} is to provide an easy
to install interface to SYMPHONY.")
;; Symphony 5.4 or later is distributed under the terms of the EPL 1.0.
;; lpsimphony is released under the same terms.
(license license:epl1.0)))
(define-public r-ihw
(package
(name "r-ihw")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "IHW" version))
(sha256
(base32
"10wqasl8k2j3y5qvak3xr2xj6symk656xww1y5n2l22nz832j19n"))))
(properties `((upstream-name . "IHW")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-fdrtool" ,r-fdrtool)
("r-lpsymphony" ,r-lpsymphony)
("r-slam" ,r-slam)))
(home-page "https://bioconductor.org/packages/IHW")
(synopsis "Independent hypothesis weighting")
(description
"@dfn{Independent hypothesis weighting} (IHW) is a multiple testing
procedure that increases power compared to the method of Benjamini and
Hochberg by assigning data-driven weights to each hypothesis. The input to
IHW is a two-column table of p-values and covariates. The covariate can be
any continuous-valued or categorical variable that is thought to be
informative on the statistical properties of each hypothesis test, while it is
independent of the p-value under the null hypothesis.")
(license license:artistic2.0)))
(define-public r-icobra
(package
(name "r-icobra")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "iCOBRA" version))
(sha256
(base32
"0i1swrm31g0zffi5pm48bfvdfqpd32d0zdchkbyipz96al46jnld"))))
(properties `((upstream-name . "iCOBRA")))
(build-system r-build-system)
(propagated-inputs
`(("r-dplyr" ,r-dplyr)
("r-dt" ,r-dt)
("r-ggplot2" ,r-ggplot2)
("r-limma" ,r-limma)
("r-reshape2" ,r-reshape2)
("r-rocr" ,r-rocr)
("r-scales" ,r-scales)
("r-shiny" ,r-shiny)
("r-shinybs" ,r-shinybs)
("r-shinydashboard" ,r-shinydashboard)
("r-upsetr" ,r-upsetr)))
(home-page "https://bioconductor.org/packages/iCOBRA")
(synopsis "Comparison and visualization of ranking and assignment methods")
(description
"This package provides functions for calculation and visualization of
performance metrics for evaluation of ranking and binary
classification (assignment) methods. It also contains a Shiny application for
interactive exploration of results.")
(license license:gpl2+)))
(define-public r-mast
(package
(name "r-mast")
(version "1.8.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MAST" version))
(sha256
(base32
"0rhx655dza0m6yg9jcfz2nmxqahvxx2l91kqgyp7qai0bzz9d9ix"))))
(properties `((upstream-name . "MAST")))
(build-system r-build-system)
(propagated-inputs
`(("r-abind" ,r-abind)
("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-data-table" ,r-data-table)
("r-ggplot2" ,r-ggplot2)
("r-plyr" ,r-plyr)
("r-progress" ,r-progress)
("r-reshape2" ,r-reshape2)
("r-s4vectors" ,r-s4vectors)
("r-singlecellexperiment" ,r-singlecellexperiment)
("r-stringr" ,r-stringr)
("r-summarizedexperiment" ,r-summarizedexperiment)))
(home-page "https://github.com/RGLab/MAST/")
(synopsis "Model-based analysis of single cell transcriptomics")
(description
"This package provides methods and models for handling zero-inflated
single cell assay data.")
(license license:gpl2+)))
(define-public r-monocle
(package
(name "r-monocle")
(version "2.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "monocle" version))
(sha256
(base32
"0shwkgqs93j2l5h36yyvb1lf724107cfjrmzp5fxfj1lqc0y61lf"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-biocviews" ,r-biocviews)
("r-cluster" ,r-cluster)
("r-combinat" ,r-combinat)
("r-ddrtree" ,r-ddrtree)
("r-densityclust" ,r-densityclust)
("r-dplyr" ,r-dplyr)
("r-fastica" ,r-fastica)
("r-ggplot2" ,r-ggplot2)
("r-hsmmsinglecell" ,r-hsmmsinglecell)
("r-igraph" ,r-igraph)
("r-irlba" ,r-irlba)
("r-limma" ,r-limma)
("r-mass" ,r-mass)
("r-matrix" ,r-matrix)
("r-matrixstats" ,r-matrixstats)
("r-pheatmap" ,r-pheatmap)
("r-plyr" ,r-plyr)
("r-proxy" ,r-proxy)
("r-qlcmatrix" ,r-qlcmatrix)
("r-rann" ,r-rann)
("r-rcpp" ,r-rcpp)
("r-reshape2" ,r-reshape2)
("r-rtsne" ,r-rtsne)
("r-slam" ,r-slam)
("r-stringr" ,r-stringr)
("r-tibble" ,r-tibble)
("r-vgam" ,r-vgam)
("r-viridis" ,r-viridis)))
(home-page "https://bioconductor.org/packages/monocle")
(synopsis "Clustering, differential expression, and trajectory analysis for single-cell RNA-Seq")
(description
"Monocle performs differential expression and time-series analysis for
single-cell expression experiments. It orders individual cells according to
progress through a biological process, without knowing ahead of time which
genes define progress through that process. Monocle also performs
differential expression analysis, clustering, visualization, and other useful
tasks on single cell expression data. It is designed to work with RNA-Seq and
qPCR data, but could be used with other types as well.")
(license license:artistic2.0)))
(define-public r-noiseq
(package
(name "r-noiseq")
(version "2.26.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "NOISeq" version))
(sha256
(base32
"1wyhhi9ydlbjlz427093mdp5ppby77n37w5c2iyxlpsdk2m2nqsn"))))
(properties `((upstream-name . "NOISeq")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-matrix" ,r-matrix)))
(home-page "https://bioconductor.org/packages/NOISeq")
(synopsis "Exploratory analysis and differential expression for RNA-seq data")
(description
"This package provides tools to support the analysis of RNA-seq
expression data or other similar kind of data. It provides exploratory plots
to evaluate saturation, count distribution, expression per chromosome, type of
detected features, features length, etc. It also supports the analysis of
differential expression between two experimental conditions with no parametric
assumptions.")
(license license:artistic2.0)))
(define-public r-scdd
(package
(name "r-scdd")
(version "1.6.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "scDD" version))
(sha256
(base32
"0dp2awajd5281dwpbs0wb8ij2pq9l60p0b80xhxrb41m5qybcri8"))))
(properties `((upstream-name . "scDD")))
(build-system r-build-system)
(propagated-inputs
`(("r-arm" ,r-arm)
("r-biocparallel" ,r-biocparallel)
("r-ebseq" ,r-ebseq)
("r-fields" ,r-fields)
("r-ggplot2" ,r-ggplot2)
("r-mclust" ,r-mclust)
("r-outliers" ,r-outliers)
("r-s4vectors" ,r-s4vectors)
("r-scran" ,r-scran)
("r-singlecellexperiment" ,r-singlecellexperiment)
("r-summarizedexperiment" ,r-summarizedexperiment)))
(home-page "https://github.com/kdkorthauer/scDD")
(synopsis "Mixture modeling of single-cell RNA-seq data")
(description
"This package implements a method to analyze single-cell RNA-seq data
utilizing flexible Dirichlet Process mixture models. Genes with differential
distributions of expression are classified into several interesting patterns
of differences between two conditions. The package also includes functions
for simulating data with these patterns from negative binomial
distributions.")
(license license:gpl2)))
(define-public r-scone
(package
(name "r-scone")
(version "1.6.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "scone" version))
(sha256
(base32
"0l1x4cjnfjbpx6k55sjqx03555daa6v63rq0rg6b7jpz8xxzwa7p"))))
(build-system r-build-system)
(propagated-inputs
`(("r-aroma-light" ,r-aroma-light)
("r-biocparallel" ,r-biocparallel)
("r-boot" ,r-boot)
("r-class" ,r-class)
("r-cluster" ,r-cluster)
("r-compositions" ,r-compositions)
("r-diptest" ,r-diptest)
("r-edger" ,r-edger)
("r-fpc" ,r-fpc)
("r-gplots" ,r-gplots)
("r-hexbin" ,r-hexbin)
("r-limma" ,r-limma)
("r-matrixstats" ,r-matrixstats)
("r-mixtools" ,r-mixtools)
("r-rarpack" ,r-rarpack)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-rhdf5" ,r-rhdf5)
("r-ruvseq" ,r-ruvseq)
("r-summarizedexperiment" ,r-summarizedexperiment)))
(home-page "https://bioconductor.org/packages/scone")
(synopsis "Single cell overview of normalized expression data")
(description
"SCONE is an R package for comparing and ranking the performance of
different normalization schemes for single-cell RNA-seq and other
high-throughput analyses.")
(license license:artistic2.0)))
(define-public r-geoquery
(package
(name "r-geoquery")
(version "2.50.5")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "GEOquery" version))
(sha256
(base32
"074dl00c8yi1ihpjkw7vl9vy2hggvipib0jn0hli0wrw7x1h9hg6"))))
(properties `((upstream-name . "GEOquery")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-dplyr" ,r-dplyr)
("r-httr" ,r-httr)
("r-limma" ,r-limma)
("r-magrittr" ,r-magrittr)
("r-readr" ,r-readr)
("r-tidyr" ,r-tidyr)
("r-xml2" ,r-xml2)))
(home-page "https://github.com/seandavi/GEOquery/")
(synopsis "Get data from NCBI Gene Expression Omnibus (GEO)")
(description
"The NCBI Gene Expression Omnibus (GEO) is a public repository of
microarray data. Given the rich and varied nature of this resource, it is
only natural to want to apply BioConductor tools to these data. GEOquery is
the bridge between GEO and BioConductor.")
(license license:gpl2)))
(define-public r-illuminaio
(package
(name "r-illuminaio")
(version "0.24.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "illuminaio" version))
(sha256
(base32
"1rdp9b4xlv91yzba7pd7k50s3nkljfxmdmyz5jl0j8ybhmpl6rns"))))
(build-system r-build-system)
(propagated-inputs
`(("r-base64" ,r-base64)))
(home-page "https://github.com/HenrikBengtsson/illuminaio/")
(synopsis "Parse Illumina microarray output files")
(description
"This package provides tools for parsing Illumina's microarray output
files, including IDAT.")
(license license:gpl2)))
(define-public r-siggenes
(package
(name "r-siggenes")
(version "1.56.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "siggenes" version))
(sha256
(base32
"0cjlb5r04x15xkhk00i3wvpx21kj0k29pn0mj3whwqk31zznnk1b"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-multtest" ,r-multtest)))
(home-page "https://bioconductor.org/packages/siggenes/")
(synopsis
"Multiple testing using SAM and Efron's empirical Bayes approaches")
(description
"This package provides tools for the identification of differentially
expressed genes and estimation of the @dfn{False Discovery Rate} (FDR) using
both the Significance Analysis of Microarrays (SAM) and the @dfn{Empirical
Bayes Analyses of Microarrays} (EBAM).")
(license license:lgpl2.0+)))
(define-public r-bumphunter
(package
(name "r-bumphunter")
(version "1.24.5")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "bumphunter" version))
(sha256
(base32
"1f9vk3srffbx8jpza40nd18a4y0p0z8q40mx55dlcnddkwrqi19b"))))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
("r-biocgenerics" ,r-biocgenerics)
("r-dorng" ,r-dorng)
("r-foreach" ,r-foreach)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicfeatures" ,r-genomicfeatures)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges)
("r-iterators" ,r-iterators)
("r-limma" ,r-limma)
("r-locfit" ,r-locfit)
("r-matrixstats" ,r-matrixstats)
("r-s4vectors" ,r-s4vectors)))
(home-page "https://github.com/ririzarr/bumphunter")
(synopsis "Find bumps in genomic data")
(description
"This package provides tools for finding bumps in genomic data in order
to identify differentially methylated regions in epigenetic epidemiology
studies.")
(license license:artistic2.0)))
(define-public r-minfi
(package
(name "r-minfi")
(version "1.28.4")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "minfi" version))
(sha256
(base32
"1sjwwqb0syngvj75saaky9y06hbxsawhhcmfvavzkhicxipafv7r"))))
(build-system r-build-system)
(propagated-inputs
`(("r-beanplot" ,r-beanplot)
("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-biocparallel" ,r-biocparallel)
("r-biostrings" ,r-biostrings)
("r-bumphunter" ,r-bumphunter)
("r-data-table" ,r-data-table)
("r-delayedarray" ,r-delayedarray)
("r-delayedmatrixstats" ,r-delayedmatrixstats)
("r-genefilter" ,r-genefilter)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-geoquery" ,r-geoquery)
("r-hdf5array" ,r-hdf5array)
("r-illuminaio" ,r-illuminaio)
("r-iranges" ,r-iranges)
("r-lattice" ,r-lattice)
("r-limma" ,r-limma)
("r-mass" ,r-mass)
("r-mclust" ,r-mclust)
("r-nlme" ,r-nlme)
("r-nor1mix" ,r-nor1mix)
("r-preprocesscore" ,r-preprocesscore)
("r-quadprog" ,r-quadprog)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-reshape" ,r-reshape)
("r-s4vectors" ,r-s4vectors)
("r-siggenes" ,r-siggenes)
("r-summarizedexperiment" ,r-summarizedexperiment)))
(home-page "https://github.com/hansenlab/minfi")
(synopsis "Analyze Illumina Infinium DNA methylation arrays")
(description
"This package provides tools to analyze and visualize Illumina Infinium
methylation arrays.")
(license license:artistic2.0)))
(define-public r-methylumi
(package
(name "r-methylumi")
(version "2.28.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "methylumi" version))
(sha256
(base32
"14p2qi18cprfvb2gxng1vm48c7zwh23h88q9qjgipj9xl5axsgw2"))))
(build-system r-build-system)
(propagated-inputs
`(("r-annotate" ,r-annotate)
("r-annotationdbi" ,r-annotationdbi)
("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-fdb-infiniummethylation-hg19" ,r-fdb-infiniummethylation-hg19)
("r-genefilter" ,r-genefilter)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-ggplot2" ,r-ggplot2)
("r-illuminaio" ,r-illuminaio)
("r-iranges" ,r-iranges)
("r-lattice" ,r-lattice)
("r-matrixstats" ,r-matrixstats)
("r-minfi" ,r-minfi)
("r-reshape2" ,r-reshape2)
("r-s4vectors" ,r-s4vectors)
("r-scales" ,r-scales)
("r-summarizedexperiment" ,r-summarizedexperiment)))
(home-page "https://bioconductor.org/packages/methylumi")
(synopsis "Handle Illumina methylation data")
(description
"This package provides classes for holding and manipulating Illumina
methylation data. Based on eSet, it can contain MIAME information, sample
information, feature information, and multiple matrices of data. An
\"intelligent\" import function, methylumiR can read the Illumina text files
and create a MethyLumiSet. methylumIDAT can directly read raw IDAT files from
HumanMethylation27 and HumanMethylation450 microarrays. Normalization,
background correction, and quality control features for GoldenGate, Infinium,
and Infinium HD arrays are also included.")
(license license:gpl2)))
(define-public r-lumi
(package
(name "r-lumi")
(version "2.34.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "lumi" version))
(sha256
(base32
"1fpmjpgcy5n0hx9whn9m3jhjmciqq0l59nvy5addbq0a4wnjhx8q"))))
(build-system r-build-system)
(propagated-inputs
`(("r-affy" ,r-affy)
("r-annotate" ,r-annotate)
("r-annotationdbi" ,r-annotationdbi)
("r-biobase" ,r-biobase)
("r-dbi" ,r-dbi)
("r-genomicfeatures" ,r-genomicfeatures)
("r-genomicranges" ,r-genomicranges)
("r-kernsmooth" ,r-kernsmooth)
("r-lattice" ,r-lattice)
("r-mass" ,r-mass)
("r-methylumi" ,r-methylumi)
("r-mgcv" ,r-mgcv)
("r-nleqslv" ,r-nleqslv)
("r-preprocesscore" ,r-preprocesscore)
("r-rsqlite" ,r-rsqlite)))
(home-page "https://bioconductor.org/packages/lumi")
(synopsis "BeadArray-specific methods for Illumina methylation and expression microarrays")
(description
"The lumi package provides an integrated solution for the Illumina
microarray data analysis. It includes functions of Illumina
BeadStudio (GenomeStudio) data input, quality control, BeadArray-specific
variance stabilization, normalization and gene annotation at the probe level.
It also includes the functions of processing Illumina methylation microarrays,
especially Illumina Infinium methylation microarrays.")
(license license:lgpl2.0+)))
(define-public r-linnorm
(package
(name "r-linnorm")
(version "2.6.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Linnorm" version))
(sha256
(base32
"1qgk8m5kc409flqxs3vnf228v3z0112q8py9hgfgyiwvi6yzdbp6"))))
(properties `((upstream-name . "Linnorm")))
(build-system r-build-system)
(propagated-inputs
`(("r-amap" ,r-amap)
("r-apcluster" ,r-apcluster)
("r-ellipse" ,r-ellipse)
("r-fastcluster" ,r-fastcluster)
("r-fpc" ,r-fpc)
("r-ggdendro" ,r-ggdendro)
("r-ggplot2" ,r-ggplot2)
("r-gmodels" ,r-gmodels)
("r-igraph" ,r-igraph)
("r-limma" ,r-limma)
("r-mass" ,r-mass)
("r-mclust" ,r-mclust)
("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)
("r-rtsne" ,r-rtsne)
("r-statmod" ,r-statmod)
("r-vegan" ,r-vegan)
("r-zoo" ,r-zoo)))
(home-page "http://www.jjwanglab.org/Linnorm/")
(synopsis "Linear model and normality based transformation method")
(description
"Linnorm is an R package for the analysis of RNA-seq, scRNA-seq, ChIP-seq
count data or any large scale count data. It transforms such datasets for
parametric tests. In addition to the transformtion function (@code{Linnorm}),
the following pipelines are implemented:
@enumerate
@item Library size/batch effect normalization (@code{Linnorm.Norm})
@item Cell subpopluation analysis and visualization using t-SNE or PCA K-means
clustering or hierarchical clustering (@code{Linnorm.tSNE},
@code{Linnorm.PCA}, @code{Linnorm.HClust})
@item Differential expression analysis or differential peak detection using
limma (@code{Linnorm.limma})
@item Highly variable gene discovery and visualization (@code{Linnorm.HVar})
@item Gene correlation network analysis and visualization (@code{Linnorm.Cor})
@item Stable gene selection for scRNA-seq data; for users without or who do
not want to rely on spike-in genes (@code{Linnorm.SGenes})
@item Data imputation (@code{Linnorm.DataImput}).
@end enumerate
Linnorm can work with raw count, CPM, RPKM, FPKM and TPM. Additionally, the
@code{RnaXSim} function is included for simulating RNA-seq data for the
evaluation of DEG analysis methods.")
(license license:expat)))

View File

@ -1752,6 +1752,72 @@ high-throughput sequencing data with an emphasis on simplicity.")
(define-public python2-plastid (define-public python2-plastid
(package-with-python2 python-plastid)) (package-with-python2 python-plastid))
(define-public tetoolkit
(package
(name "tetoolkit")
(version "2.0.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mhammell-laboratory/tetoolkit.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1yzi0kfpzip8zpjb82x1ik6h22yzfyjiz2dv85v6as2awwqvk807"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; not guaranteed to work with Python 3
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'make-writable
(lambda _
(for-each make-file-writable (find-files "."))
#t))
(add-after 'unpack 'patch-invocations
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("bin/TEtranscripts"
"bin/TEcount")
(("'sort ")
(string-append "'" (which "sort") " "))
(("'rm -f ")
(string-append "'" (which "rm") " -f "))
(("'Rscript'") (string-append "'" (which "Rscript") "'")))
(substitute* "TEToolkit/IO/ReadInputs.py"
(("BamToBED") (which "bamToBed")))
(substitute* "TEToolkit/Normalization.py"
(("\"Rscript\"")
(string-append "\"" (which "Rscript") "\"")))
#t))
(add-after 'install 'wrap-program
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure the executables find R packages.
(let ((out (assoc-ref outputs "out")))
(for-each
(lambda (script)
(wrap-program (string-append out "/bin/" script)
`("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))))
'("TEtranscripts"
"TEcount")))
#t)))))
(inputs
`(("coreutils" ,coreutils)
("bedtools" ,bedtools)
("python-argparse" ,python2-argparse)
("python-pysam" ,python2-pysam)
("r-minimal" ,r-minimal)
("r-deseq2" ,r-deseq2)))
(home-page "https://github.com/mhammell-laboratory/tetoolkit")
(synopsis "Transposable elements in differential enrichment analysis")
(description
"This is package for including transposable elements in differential
enrichment analysis of sequencing datasets. TEtranscripts and TEcount take
RNA-seq (and similar data) and annotates reads to both genes and transposable
elements. TEtranscripts then performs differential analysis using DESeq2.
Note that TEtranscripts and TEcount rely on specially curated GTF files, which
are not included due to their size.")
(license license:gpl3+)))
(define-public cd-hit (define-public cd-hit
(package (package
(name "cd-hit") (name "cd-hit")
@ -10293,35 +10359,6 @@ quality controls, normalization, visualization, and further analysis are also
provided.") provided.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-qvalue
(package
(name "r-qvalue")
(version "2.14.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "qvalue" version))
(sha256
(base32
"0kxavzm1j2mk26qicmjm90nxx4w5h3dxighzks7wzihay3k8cysc"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("r-reshape2" ,r-reshape2)))
(home-page "http://github.com/jdstorey/qvalue")
(synopsis "Q-value estimation for false discovery rate control")
(description
"This package takes a list of p-values resulting from the simultaneous
testing of many hypotheses and estimates their q-values and local @dfn{false
discovery rate} (FDR) values. The q-value of a test measures the proportion
of false positives incurred when that particular test is called significant.
The local FDR measures the posterior probability the null hypothesis is true
given the test's p-value. Various plots are automatically generated, allowing
one to make sensible significance cut-offs. The software can be applied to
problems in genomics, brain imaging, astrophysics, and data mining.")
;; Any version of the LGPL.
(license license:lgpl3+)))
(define-public r-hdf5array (define-public r-hdf5array
(package (package
(name "r-hdf5array") (name "r-hdf5array")
@ -11908,21 +11945,35 @@ variational inference.")
(define-public python-loompy (define-public python-loompy
(package (package
(name "python-loompy") (name "python-loompy")
(version "2.0.2") (version "2.0.17")
(source ;; The tarball on Pypi does not include the tests.
(origin (source (origin
(method url-fetch) (method git-fetch)
(uri (pypi-uri "loompy" version)) (uri (git-reference
(url "https://github.com/linnarsson-lab/loompy.git")
(commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1drgv8j1hxqzzpnfg272x9djb6j8qr798w1pc2x8ikmfgyd9gh51")))) "12a5kjgiikapv93wahfw0frszx1lblnppyz3vs5gy8fgmgngra07"))))
(build-system python-build-system) (build-system python-build-system)
;; There are no tests (arguments
(arguments '(#:tests? #f)) `(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(setenv "PYTHONPATH"
(string-append (getcwd) ":"
(getenv "PYTHONPATH")))
(invoke "pytest" "tests")
#t)))))
(propagated-inputs (propagated-inputs
`(("python-h5py" ,python-h5py) `(("python-h5py" ,python-h5py)
("python-numpy" ,python-numpy) ("python-numpy" ,python-numpy)
("python-pandas" ,python-pandas)
("python-scipy" ,python-scipy))) ("python-scipy" ,python-scipy)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/linnarsson-lab/loompy") (home-page "https://github.com/linnarsson-lab/loompy")
(synopsis "Work with .loom files for single-cell RNA-seq data") (synopsis "Work with .loom files for single-cell RNA-seq data")
(description "The loom file format is an efficient format for very large (description "The loom file format is an efficient format for very large
@ -14158,3 +14209,34 @@ short read sequences, removes errors then produces high quality unique
contigs. It then uses paired read information, if available, to retrieve the contigs. It then uses paired read information, if available, to retrieve the
repeated areas between contigs.") repeated areas between contigs.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public python-velocyto
(package
(name "python-velocyto")
(version "0.17.17")
(source
(origin
(method url-fetch)
(uri (pypi-uri "velocyto" version))
(sha256
(base32
"0fgygyzqgrq32dv6a00biq1p1cwi6kbl5iqblxq1kklj6b2mzmhs"))))
(build-system python-build-system)
(propagated-inputs
`(("python-click" ,python-click)
("python-cython" ,python-cython)
("python-h5py" ,python-h5py)
("python-loompy" ,python-loompy)
("python-matplotlib" ,python-matplotlib)
("python-numba" ,python-numba)
("python-numpy" ,python-numpy)
("python-pandas" ,python-pandas)
("python-pysam" ,python-pysam)
("python-scikit-learn" ,python-scikit-learn)
("python-scipy" ,python-scipy)))
(home-page "https://github.com/velocyto-team/velocyto.py")
(synopsis "RNA velocity analysis for single cell RNA-seq data")
(description
"Velocyto is a library for the analysis of RNA velocity. Velocyto
includes a command line tool and an analysis pipeline.")
(license license:bsd-2)))

View File

@ -340,7 +340,7 @@ menu to select one of the installed operating systems.")
(define-public dtc (define-public dtc
(package (package
(name "dtc") (name "dtc")
(version "1.4.7") (version "1.5.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -348,11 +348,13 @@ menu to select one of the installed operating systems.")
"dtc-" version ".tar.xz")) "dtc-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1rydi5jvhlhsr110h6n0pavv3daqa0cb4m5vcps50qzq1zqfhhv6")))) "0wh10p42hf5403ipvs0dsxddb6kzfyk2sq4fgid9zqzpr51y8wn6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("bison" ,bison) `(("bison" ,bison)
("flex" ,flex) ("flex" ,flex)
("libyaml" ,libyaml)
("pkg-config" ,pkg-config)
("swig" ,swig) ("swig" ,swig)
("valgrind" ,valgrind))) ("valgrind" ,valgrind)))
(inputs (inputs

View File

@ -1563,14 +1563,14 @@ recreates the stored directory structure by default.")
(define-public libzip (define-public libzip
(package (package
(name "libzip") (name "libzip")
(version "1.5.1") (version "1.5.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://libzip.org/download/" name "-" version ".tar.xz")) "https://libzip.org/download/libzip-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0wnkkvkq90wyawj9221i77sf3nix1vj3ygzdy59k8yvcjnv3bsh4")))) "1d53shcy7nvls5db573bbdlm25lfz1iw2zshng5f00cssi5lvpmk"))))
(native-inputs (native-inputs
`(("perl" ,perl))) `(("perl" ,perl)))
(inputs (inputs

View File

@ -14,6 +14,7 @@
;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Brett Gilio <brettg@posteo.net> ;;; Copyright © 2018, 2019 Brett Gilio <brettg@posteo.net>
;;; Copyright © 2019 Nicolò Balzarotti <anothersms@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -58,9 +59,11 @@
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages mpi) #:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages networking)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages statistics) #:use-module (gnu packages statistics)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages web) #:use-module (gnu packages web)
@ -10839,3 +10842,900 @@ using @code{S3}.")
for model selection. The calibration methods available are based on the slope for model selection. The calibration methods available are based on the slope
heuristics.") heuristics.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public r-dorng
(package
(name "r-dorng")
(version "1.7.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "doRNG" version))
(sha256
(base32
"1sb75aqkliprglfxc4x4wds6alqgzhvl2n812g1d32a88ra3slr7"))))
(properties `((upstream-name . "doRNG")))
(build-system r-build-system)
(propagated-inputs
`(("r-foreach" ,r-foreach)
("r-iterators" ,r-iterators)
("r-pkgmaker" ,r-pkgmaker)
("r-rngtools" ,r-rngtools)))
(home-page "https://renozao.github.io/doRNG/")
(synopsis "Generic reproducible parallel backend for foreach loops")
(description
"This package provides functions to perform reproducible parallel
@code{foreach} loops, using independent random streams as generated by
L'Ecuyer's combined multiple-recursive generator. It enables to easily
convert standard @code{%dopar%} loops into fully reproducible loops,
independently of the number of workers, the task scheduling strategy, or the
chosen parallel environment and associated foreach backend.")
(license license:gpl2+)))
(define-public r-blockmodeling
(package
(name "r-blockmodeling")
(version "0.3.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "blockmodeling" version))
(sha256
(base32
"11v9903y9dwlzaqp8sx0fsibcg82phvappddy37r8lnxd4vchsd2"))))
(build-system r-build-system)
(propagated-inputs
`(("r-doparallel" ,r-doparallel)
("r-dorng" ,r-dorng)
("r-foreach" ,r-foreach)
("r-matrix" ,r-matrix)))
(native-inputs `(("gfortran" ,gfortran)))
(home-page "https://cran.r-project.org/web/packages/blockmodeling")
(synopsis "Generalized and classical blockmodeling of valued networks")
(description
"This package is primarily meant as an implementation of generalized
blockmodeling for valued networks. In addition, measures of similarity or
dissimilarity based on structural equivalence and regular equivalence (REGE
algorithms) can be computed and partitioned matrices can be plotted.")
(license license:gpl2+)))
(define-public r-upsetr
(package
(name "r-upsetr")
(version "1.3.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "UpSetR" version))
(sha256
(base32
"08vj7l92b8fpqyqwxshll2mhk3yhgyr74axvr2lf29z78bapymhz"))))
(properties `((upstream-name . "UpSetR")))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("r-gridextra" ,r-gridextra)
("r-plyr" ,r-plyr)
("r-scales" ,r-scales)))
(home-page "https://github.com/hms-dbmi/UpSetR")
(synopsis "Visualize intersecting sets")
(description
"This package provides a more scalable alternative to Venn and Euler
diagrams for visualizing intersecting sets. Create visualizations of
intersecting sets using a novel matrix design, along with visualizations of
several common set, element and attribute related tasks.")
(license license:expat)))
;; This package includes a JavaScript file, which is not minified. When
;; upgrading please check that there are no new minified JavaScript files.
(define-public r-shinybs
(package
(name "r-shinybs")
(version "0.61")
(source
(origin
(method url-fetch)
(uri (cran-uri "shinyBS" version))
(sha256
(base32
"0rhim4mbp4x9vvm7xkmpl7mhb9qd1gr96cr4dv330v863ra2kgji"))))
(properties `((upstream-name . "shinyBS")))
(build-system r-build-system)
;; The tests spawn Shiny browser apps. They cannot be run
;; non-interactively.
(arguments '(#:tests? #f))
(propagated-inputs
`(("r-htmltools" ,r-htmltools)
("r-shiny" ,r-shiny)))
(home-page "https://ebailey78.github.io/shinyBS/")
(synopsis "Twitter Bootstrap components for Shiny")
(description
"This package adds additional Twitter Bootstrap components to Shiny.")
(license license:gpl3)))
(define-public r-outliers
(package
(name "r-outliers")
(version "0.14")
(source
(origin
(method url-fetch)
(uri (cran-uri "outliers" version))
(sha256
(base32
"0vcqfqmmv4yblyp3s6bd25r49pxb7hjzipiic5a82924nqfqzkmn"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/outliers/index.html")
(synopsis "Tests for outliers")
(description
"This package provides a collection of some tests commonly used for
identifying outliers.")
(license license:gpl2+)))
(define-public r-bayesm
(package
(name "r-bayesm")
(version "3.1-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "bayesm" version))
(sha256
(base32
"0y30cza92s6kgvmxjpr6f5g0qbcck7hslqp89ncprarhxiym2m28"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)))
(home-page "http://www.perossi.org/home/bsm-1")
(synopsis "Bayesian inference for marketing/micro-econometrics")
(description
"This package covers many important models used in marketing and
micro-econometrics applications, including Bayes Regression (univariate or
multivariate dep var), Bayes Seemingly Unrelated Regression (SUR), Binary and
Ordinal Probit, Multinomial Logit (MNL) and Multinomial Probit (MNP),
Multivariate Probit, Negative Binomial (Poisson) Regression, Multivariate
Mixtures of Normals (including clustering), Dirichlet Process Prior Density
Estimation with normal base, Hierarchical Linear Models with normal prior and
covariates, Hierarchical Linear Models with a mixture of normals prior and
covariates, Hierarchical Multinomial Logits with a mixture of normals prior
and covariates, Hierarchical Multinomial Logits with a Dirichlet Process prior
and covariates, Hierarchical Negative Binomial Regression Models, Bayesian
analysis of choice-based conjoint data, Bayesian treatment of linear
instrumental variables models, Analysis of Multivariate Ordinal survey data
with scale usage heterogeneity, and Bayesian Analysis of Aggregate Random
Coefficient Logit Models.")
(license license:gpl2+)))
(define-public r-tensora
(package
(name "r-tensora")
(version "0.36.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "tensorA" version))
(sha256
(base32
"176hjy3bvg3in62r97wxbhq187sjz6c1gwy9x6spaxl6k4my3zy7"))))
(properties `((upstream-name . "tensorA")))
(build-system r-build-system)
(home-page "http://www.stat.boogaart.de/tensorA")
(synopsis "Advanced tensor arithmetic with named indices")
(description
"This package provides convenience functions for advanced linear algebra
with tensors and computation with datasets of tensors on a higher level
abstraction. It includes Einstein and Riemann summing conventions, dragging,
co- and contravariate indices, and parallel computations on sequences of
tensors.")
(license license:gpl2+)))
(define-public r-rarpack
(package
(name "r-rarpack")
(version "0.11-0")
(source
(origin
(method url-fetch)
(uri (cran-uri "rARPACK" version))
(sha256
(base32
"12h2y46xcfldhjdmm960swgn9b23zvkj5vg2bi42s9qxwgi02d63"))))
(properties `((upstream-name . "rARPACK")))
(build-system r-build-system)
(propagated-inputs `(("r-rspectra" ,r-rspectra)))
(home-page "https://github.com/yixuan/rARPACK")
(synopsis "Solvers for large scale eigenvalue and SVD problems")
(description
"This package was previously an R wrapper of the ARPACK library, and now
a shell of the R package RSpectra, an R interface to the Spectra library for
solving large scale eigenvalue/vector problems. The current version of
rARPACK simply imports and exports the functions provided by RSpectra. New
users of rARPACK are advised to switch to the RSpectra package.")
(license license:bsd-3)))
(define-public r-compositions
(package
(name "r-compositions")
(version "1.40-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "compositions" version))
(sha256
(base32
"12mp05yi7jkdqg9iwh6bc9sx6sdxagcnrirznxy9hq8502p7238i"))))
(build-system r-build-system)
(propagated-inputs
`(("r-bayesm" ,r-bayesm)
("r-energy" ,r-energy)
("r-robustbase" ,r-robustbase)
("r-tensora" ,r-tensora)))
(home-page "http://www.stat.boogaart.de/compositions")
(synopsis "Compositional data analysis")
(description
"This package provides functions for the consistent analysis of
compositional data (e.g. portions of substances) and positive
numbers (e.g. concentrations).")
(license license:gpl2+)))
(define-public r-cobs
(package
(name "r-cobs")
(version "1.3-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "cobs" version))
(sha256
(base32
"1pqvz7czcchri4x79g78hbwyagb3bqzdqb047zkbdinyz067c7kb"))))
(build-system r-build-system)
(propagated-inputs
`(("r-quantreg" ,r-quantreg)
("r-sparsem" ,r-sparsem)))
(home-page "https://cran.r-project.org/web/packages/cobs")
(synopsis "Constrained B-Splines (sparse matrix based)")
(description
"This package provides qualitatively constrained (regression) smoothing
splines via linear programming and sparse matrices.")
(license license:gpl2+)))
(define-public r-drimpute
(package
(name "r-drimpute")
(version "1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "DrImpute" version))
(sha256
(base32
"1adzarrwqb282pqgx2yqswp9rpwd1naxsmar54kddr6qyd6b923b"))))
(properties `((upstream-name . "DrImpute")))
(build-system r-build-system)
(propagated-inputs
`(("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)))
(home-page "https://github.com/ikwak2/DrImpute")
(synopsis "Imputing dropout events in single-cell RNA-Seq data")
(description
"This is an R package for imputing dropout events. Many statistical
methods in cell type identification, visualization and lineage reconstruction
do not account for dropout events. DrImpute can improve the performance of
such software by imputing dropout events.")
(license license:gpl3)))
(define-public r-gamlss-dist
(package
(name "r-gamlss-dist")
(version "5.1-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "gamlss.dist" version))
(sha256
(base32
"1cd0vl9klcb849i8xwyjm8ihb1da92631j1rxdbnflgffkzrkya4"))))
(properties `((upstream-name . "gamlss.dist")))
(build-system r-build-system)
(propagated-inputs `(("r-mass" ,r-mass)))
(home-page "http://www.gamlss.org/")
(synopsis "Distributions for Generalized Additive Models for location scale and shape")
(description
"This package provides a set of distributions which can be used for
modelling the response variables in Generalized Additive Models for Location
Scale and Shape. The distributions can be continuous, discrete or mixed
distributions. Extra distributions can be created, by transforming, any
continuous distribution defined on the real line, to a distribution defined on
ranges 0 to infinity or 0 to 1, by using a @code{log} or a @code{logit}
transformation, respectively.")
;; Either version of the GPL.
(license (list license:gpl2 license:gpl3))))
;; This package includes JavaScript files, which are not minified. When
;; upgrading please check that there are no new minified JavaScript files.
(define-public r-shinyjs
(package
(name "r-shinyjs")
(version "1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "shinyjs" version))
(sha256
(base32
"113zpijri0l80rlgrvqn6bxk0sdqgl79h7yhja2p76f9dc9i2sr8"))))
(build-system r-build-system)
(propagated-inputs
`(("r-digest" ,r-digest)
("r-htmltools" ,r-htmltools)
("r-jsonlite" ,r-jsonlite)
("r-shiny" ,r-shiny)))
(home-page "https://deanattali.com/shinyjs")
(synopsis "Improve the user experience of your Shiny apps")
(description
"Perform common useful JavaScript operations in Shiny apps that will
greatly improve your apps without having to know any JavaScript. Examples
include: hiding an element, disabling an input, resetting an input back to its
original value, delaying code execution by a few seconds, and many more useful
functions for both the end user and the developer. Shinyjs can also be used
to easily call your own custom JavaScript functions from R.")
(license license:agpl3+)))
;; This package includes minified JavaScript files. When upgrading please
;; check that there are no new minified JavaScript files.
(define-public r-colourpicker
(package
(name "r-colourpicker")
(version "1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "colourpicker" version))
(sha256
(base32
"0z3v2083g7kwdp21x9s2n1crfh24agpdq3yxkcdzc2awn2pwpnpi"))))
(build-system r-build-system)
(arguments
`(#:modules ((guix build utils)
(guix build r-build-system)
(srfi srfi-1)
(ice-9 popen))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'process-javascript
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "inst"
(call-with-values
(lambda ()
(unzip2
`((,(assoc-ref inputs "js-salvattore")
"examples/colourInput/www/salvattore.min.js")
(,(assoc-ref inputs "js-jquery")
"htmlwidgets/lib/jquery/jquery.min.js")
("www/shared/colourpicker/js/colourpicker.js"
"www/shared/colourpicker/js/colourpicker.min.js"))))
(lambda (sources targets)
(for-each (lambda (source target)
(format #t "Processing ~a --> ~a~%"
source target)
(delete-file target)
(let ((minified (open-pipe* OPEN_READ "uglify-js" source)))
(call-with-output-file target
(lambda (port)
(dump-port minified port)))))
sources targets))))
#t)))))
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("r-htmltools" ,r-htmltools)
("r-htmlwidgets" ,r-htmlwidgets)
("r-jsonlite" ,r-jsonlite)
("r-miniui" ,r-miniui)
("r-shiny" ,r-shiny)
("r-shinyjs" ,r-shinyjs)))
(native-inputs
`(("uglify-js" ,uglify-js)
("js-jquery"
,(origin
(method url-fetch)
(uri "https://code.jquery.com/jquery-3.3.1.js")
(sha256
(base32
"1b8zxrp6xwzpw25apn8j4qws0f6sr7qr7h2va5h1mjyfqvn29anq"))))
("js-salvattore"
,(origin
(method url-fetch)
(uri "https://raw.githubusercontent.com/rnmp/salvattore/v1.0.9/dist/salvattore.js")
(sha256
(base32
"0lfrbx7l9w5x89jpc6njmd0pk7h8fpvg537vklai2vf7b1r2nnk5"))))))
(home-page "https://github.com/daattali/colourpicker")
(synopsis "Color picker tool for Shiny and for selecting colors in plots")
(description
"This package provides a color picker that can be used as an input in
Shiny apps or Rmarkdown documents. The color picker supports alpha opacity,
custom color palettes, and many more options. A plot color helper tool is
available as an RStudio Addin, which helps you pick colors to use in your
plots. A more generic color picker RStudio Addin is also provided to let you
select colors to use in your R code.")
(license license:expat)))
(define-public r-ggextra
(package
(name "r-ggextra")
(version "0.8")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggExtra" version))
(sha256
(base32
"1m5zpn3l3p1y3d2692gyz50m63d58m2a3b7zb595kvcffdx2qr5b"))))
(properties `((upstream-name . "ggExtra")))
(build-system r-build-system)
(propagated-inputs
`(("r-colourpicker" ,r-colourpicker)
("r-ggplot2" ,r-ggplot2)
("r-gtable" ,r-gtable)
("r-miniui" ,r-miniui)
("r-scales" ,r-scales)
("r-shiny" ,r-shiny)
("r-shinyjs" ,r-shinyjs)))
(home-page "https://github.com/daattali/ggExtra")
(synopsis "Marginal histograms for ggplot2 and other enhancements")
(description
"This package is a collection of functions and layers to enhance ggplot2.
The flagship function is @code{ggMarginal()}, which can be used to add
marginal histograms/boxplots/density plots to ggplot2 scatterplots.")
(license license:expat)))
(define-public r-minpack-lm
(package
(name "r-minpack-lm")
(version "1.2-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "minpack.lm" version))
(sha256
(base32
"18ym2pdql5vzngc7q5gn66d153hrfrnd8ilv8yh6vd7j7sx7vjql"))))
(properties `((upstream-name . "minpack.lm")))
(build-system r-build-system)
(native-inputs `(("gfortran" ,gfortran)))
(home-page "https://cran.r-project.org/web/packages/minpack.lm")
(synopsis "Levenberg-Marquardt Nonlinear Least-Squares algorithm")
(description
"The @code{nls.lm} function provides an R interface to @code{lmder} and
@code{lmdif} from the MINPACK library, for solving nonlinear least-squares
problems by a modification of the Levenberg-Marquardt algorithm, with support
for lower and upper parameter bounds. The implementation can be used via
@code{nls}-like calls using the @code{nlsLM} function.")
(license license:gpl3)))
(define-public r-moments
(package
(name "r-moments")
(version "0.14")
(source
(origin
(method url-fetch)
(uri (cran-uri "moments" version))
(sha256
(base32
"0f9y58w1hxcz4bqivirx25ywlmc80gbi6dfx5cnhkpdg1pk82fra"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/moments")
(synopsis "Moments, cumulants, skewness, kurtosis and related tests")
(description
"This package provides functions to calculate: moments, Pearson's
kurtosis, Geary's kurtosis and skewness; it also includes tests related to
them (Anscombe-Glynn, D'Agostino, Bonett-Seier).")
(license license:gpl2+)))
(define-public r-msir
(package
(name "r-msir")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "msir" version))
(sha256
(base32
"1ipzgdffsqly3dp91pw7yp3h5cwn08l9qsj7cdmrykd42jc98950"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mclust" ,r-mclust)
("r-rgl" ,r-rgl)))
(home-page "https://cran.r-project.org/web/packages/msir")
(synopsis "Model-based sliced inverse regression")
(description
"This is an R package for dimension reduction based on finite Gaussian
mixture modeling of inverse regression.")
(license license:gpl2+)))
(define-public r-pbivnorm
(package
(name "r-pbivnorm")
(version "0.6.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "pbivnorm" version))
(sha256
(base32
"05jzrjqxzbcf6z245hlk7sjxiszv9paadaaimvcx5y5qgi87vhq7"))))
(build-system r-build-system)
(native-inputs `(("gfortran" ,gfortran)))
(home-page "https://github.com/brentonk/pbivnorm")
(synopsis "Vectorized bivariate normal CDF")
(description
"This package provides a vectorized R function for calculating
probabilities from a standard bivariate normal CDF.")
(license license:gpl2+)))
(define-public r-lavaan
(package
(name "r-lavaan")
(version "0.6-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "lavaan" version))
(sha256
(base32
"0hw856kv11zqn6nd4216rh19i6xbnc1rh044r7jvvxkhzgbqkyxz"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mass" ,r-mass)
("r-mnormt" ,r-mnormt)
("r-numderiv" ,r-numderiv)
("r-pbivnorm" ,r-pbivnorm)))
(home-page "http://lavaan.ugent.be")
(synopsis "Latent variable analysis")
(description
"This package provides tools to fit a variety of latent variable models,
including confirmatory factor analysis, structural equation modeling and
latent growth curve models.")
(license license:gpl2+)))
(define-public r-nonnest2
(package
(name "r-nonnest2")
(version "0.5-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "nonnest2" version))
(sha256
(base32
"1bq44qqmm59j91m0sny4xnqmxqlga4cm48qdsw8xfs3x19xwmxk6"))))
(build-system r-build-system)
(propagated-inputs
`(("r-compquadform" ,r-compquadform)
("r-lavaan" ,r-lavaan)
("r-mvtnorm" ,r-mvtnorm)
("r-sandwich" ,r-sandwich)))
(home-page "https://cran.r-project.org/web/packages/nonnest2/")
(synopsis "Tests of non-nested models")
(description
"This package allows for testing of non-nested models. It includes tests
of model distinguishability and of model fit that can be applied to both
nested and non-nested models. The package also includes functionality to
obtain confidence intervals associated with AIC and BIC.")
;; Either version of the GPL.
(license (list license:gpl2 license:gpl3))))
(define-public r-penalized
(package
(name "r-penalized")
(version "0.9-51")
(source
(origin
(method url-fetch)
(uri (cran-uri "penalized" version))
(sha256
(base32
"1zcrwa93mc27qj3g4ayc2k895r6g8q0g6qb2azmvj7wqk750va7a"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)
("r-survival" ,r-survival)))
(home-page "https://cran.r-project.org/web/packages/penalized/")
(synopsis "Penalized estimation in GLMs and in the Cox model")
(description
"This package provides tools for fitting possibly high dimensional
penalized regression models. The penalty structure can be any combination of
an L1 penalty (lasso and fused lasso), an L2 penalty (ridge) and a positivity
constraint on the regression coefficients. The supported regression models
are linear, logistic and Poisson regression and the Cox Proportional Hazards
model. Cross-validation routines allow optimization of the tuning
parameters.")
(license license:gpl2+)))
(define-public r-zim
(package
(name "r-zim")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "ZIM" version))
(sha256
(base32
"0scyfjn4ilsvha3x41c3b8bcfi31hlhwm77wn2a8hj5dsvnnmzig"))))
(properties `((upstream-name . "ZIM")))
(build-system r-build-system)
(propagated-inputs `(("r-mass" ,r-mass)))
(home-page "https://github.com/biostatstudio/ZIM")
(synopsis "Zero-inflated models (ZIM) for count time series with excess zeros")
(description
"Analyze count time series with excess zeros. Two types of statistical
models are supported: Markov regression and state-space models. They are also
known as observation-driven and parameter-driven models respectively in the
time series literature. The functions used for Markov regression or
observation-driven models can also be used to fit ordinary regression models
with independent data under the zero-inflated Poisson (ZIP) or zero-inflated
negative binomial (ZINB) assumption. The package also contains miscellaneous
functions to compute density, distribution, quantile, and generate random
numbers from ZIP and ZINB distributions.")
(license license:gpl3)))
(define-public r-nor1mix
(package
(name "r-nor1mix")
(version "1.2-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "nor1mix" version))
(sha256
(base32
"1bvk888qml9qr7q703s7qzgm0sqfchcjdjqwqllm5vrjx0cnapj3"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/nor1mix/")
(synopsis "Normal (1-d) mixture models")
(description
"This package provides S3 classes and methods for one-dimensional normal
mixture models, for, e.g., density estimation or clustering algorithms
research and teaching; it provides the widely used Marron-Wand densities. It
also provides tools for efficient random number generation and graphics.")
(license license:gpl2+)))
(define-public r-beanplot
(package
(name "r-beanplot")
(version "1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "beanplot" version))
(sha256
(base32
"0wmkr704fl8kdxkjwmaxw2a2h5dwzfgsgpncnk2p2wd4768jknj9"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/beanplot/")
(synopsis "Visualization via beanplots")
(description
"This package provides beanplots, an alternative to
boxplot/stripchart/violin plots. It can be used to plot univariate comparison
graphs.")
(license license:gpl2)))
(define-public r-pbdzmq
(package
(name "r-pbdzmq")
(version "0.3-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "pbdZMQ" version))
(sha256
(base32
"1jkfcfhspvqra7vbllrvkz3jx8j7d0ang6zzcdjgpb7200sc29mf"))))
(properties `((upstream-name . "pbdZMQ")))
(build-system r-build-system)
(inputs
`(("zeromq" ,zeromq)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://pbdr.org/")
(synopsis "R interface to ZeroMQ")
(description
"ZeroMQ is a well-known library for high-performance asynchronous
messaging in scalable, distributed applications. This package provides high
level R wrapper functions to easily utilize ZeroMQ. The main focus is on
interactive client/server programming frameworks. A few wrapper functions
compatible with @code{rzmq} are also provided.")
(license license:gpl3)))
(define-public r-repr
(package
(name "r-repr")
(version "0.19.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "repr" version))
(sha256
(base32
"1mhhzakkagb8z568yx3p2ixs8fcifm7f8l2yq285zrz8jmnpckfx"))))
(build-system r-build-system)
(propagated-inputs
`(("r-base64enc" ,r-base64enc)
("r-htmltools" ,r-htmltools)
("r-jsonlite" ,r-jsonlite)))
(home-page "https://cran.r-project.org/web/packages/repr/")
(synopsis "Serializable representations")
(description
"This package provides string and binary representations of objects for
several formats and MIME types.")
(license license:gpl3)))
(define-public r-irdisplay
(package
(name "r-irdisplay")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "IRdisplay" version))
(sha256
(base32
"12chk53nf4zckgc4yl7gbvd7m5dvli52inp5b3f0zvcjvfncksli"))))
(properties `((upstream-name . "IRdisplay")))
(build-system r-build-system)
(propagated-inputs
`(("r-repr" ,r-repr)))
(home-page "https://cran.r-project.org/web/packages/IRdisplay/")
(synopsis "Jupyter display machinery")
(description
"This package provides an interface to the rich display capabilities of
Jupyter front-ends (e.g. Jupyter Notebook). It is designed to be used from a
running IRkernel session.")
(license license:expat)))
(define-public r-irkernel
(package
(name "r-irkernel")
(version "0.8.15")
(source
(origin
(method url-fetch)
(uri (cran-uri "IRkernel" version))
(sha256
(base32
"1n0nc3paij8fgbp7l2b4405zk9k4y3gdi2bz6z8x6j0h5mi6k6a6"))))
(properties `((upstream-name . "IRkernel")))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-kernelspec
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "HOME" "/tmp")
(invoke "jupyter" "kernelspec" "install"
"--name" "ir"
"--prefix" out
(string-append out "/site-library/IRkernel/kernelspec"))
#t))))))
(inputs
`(("jupyter" ,jupyter)))
(propagated-inputs
`(("r-crayon" ,r-crayon)
("r-digest" ,r-digest)
("r-evaluate" ,r-evaluate)
("r-irdisplay" ,r-irdisplay)
("r-jsonlite" ,r-jsonlite)
("r-pbdzmq" ,r-pbdzmq)
("r-repr" ,r-repr)
("r-uuid" ,r-uuid)))
(home-page "https://cran.r-project.org/web/packages/IRkernel/")
(synopsis "Native R kernel for Jupyter")
(description
"The R kernel for the Jupyter environment executes R code which the
front-end (Jupyter Notebook or other front-ends) submits to the kernel via the
network.")
(license license:expat)))
(define-public r-gmodels
(package
(name "r-gmodels")
(version "2.18.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "gmodels" version))
(sha256
(base32
"0s8kd8krqk4kwv2zqxpsfy3w8qdwf5naf4b5l383vidq9sil0qb2"))))
(build-system r-build-system)
(propagated-inputs
`(("r-gdata" ,r-gdata)
("r-mass" ,r-mass)))
(home-page "https://cran.r-project.org/web/packages/gmodels/")
(synopsis "Various R programming tools for model fitting")
(description
"This package provides various R programming tools for model fitting.")
(license license:gpl2)))
(define-public r-apcluster
(package
(name "r-apcluster")
(version "1.4.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "apcluster" version))
(sha256
(base32
"188hdfmwjjx3aic599nwmkzjqm9j9jighi5bly6qd43c1vj6ih2s"))))
(build-system r-build-system)
(propagated-inputs
`(("r-matrix" ,r-matrix)
("r-rcpp" ,r-rcpp)))
(home-page "https://cran.r-project.org/web/packages/apcluster/")
(synopsis "Affinity propagation clustering")
(description
"This package implements affinity propagation clustering introduced by
Frey and Dueck (2007). The package further provides leveraged affinity
propagation and an algorithm for exemplar-based agglomerative clustering that
can also be used to join clusters obtained from affinity propagation. Various
plotting functions are available for analyzing clustering results.")
(license license:gpl2+)))
(define-public r-valr
(package
(name "r-valr")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "valr" version))
(sha256
(base32
"14jhrwkiwmha3vlmm7b50n2xxyizj6ddmy89gb20mpzq7qhz1ika"))))
(build-system r-build-system)
(propagated-inputs
`(("r-broom" ,r-broom)
("r-dplyr" ,r-dplyr)
("r-ggplot2" ,r-ggplot2)
("r-rcpp" ,r-rcpp)
("r-readr" ,r-readr)
("r-rlang" ,r-rlang)
("r-stringr" ,r-stringr)
("r-tibble" ,r-tibble)))
(home-page "http://github.com/rnabioco/valr")
(synopsis "Genome interval arithmetic in R")
(description
"This package enables you to read and manipulate genome intervals and
signals. It provides functionality similar to command-line tool suites within
R, enabling interactive analysis and visualization of genome-scale data.")
(license license:expat)))
(define-public r-rematch2
(package
(name "r-rematch2")
(version "2.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "rematch2" version))
(sha256
(base32
"16k0i5p7fa3qfxv59ijyn638wpz8n4jrkrnilqmh5g9l8f8bn4h6"))))
(build-system r-build-system)
(propagated-inputs
`(("r-tibble" ,r-tibble)))
(home-page "https://github.com/r-lib/rematch2")
(synopsis "Tidy output from regular expression matching")
(description
"This package provides wrappers on @code{regexpr} and @code{gregexpr} to
return the match results in tidy data frames.")
(license license:expat)))

View File

@ -108,7 +108,7 @@
(("/bin/sh") (which "sh"))) (("/bin/sh") (which "sh")))
;; XXX FIXME: Test #1510 seems to work on some machines and not ;; XXX FIXME: Test #1510 seems to work on some machines and not
;; others, possibly based on the kernel version. It works on GuixSD ;; others, possibly based on the kernel version. It works on Guix System
;; on x86_64 with linux-libre-4.1, but fails on Hydra for both i686 ;; on x86_64 with linux-libre-4.1, but fails on Hydra for both i686
;; and x86_64 with the following error: ;; and x86_64 with the following error:
;; ;;

View File

@ -1275,15 +1275,14 @@ columns, primary keys, unique constraints and relationships.")
(define-public perl-dbd-mysql (define-public perl-dbd-mysql
(package (package
(name "perl-dbd-mysql") (name "perl-dbd-mysql")
(version "4.048") (version "4.050")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/M/MI/MICHIELB/" (uri (string-append "mirror://cpan/authors/id/D/DV/DVEEDEN/"
"DBD-mysql-" version ".tar.gz")) "DBD-mysql-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "0y4djb048i09dk19av7mzfb3khr72vw11p3ayw2p82jsy4gm8j2g"))))
"1zqmch6c9gq06z90mkmk1skajk2kaggriw19ym5w04l7wv5gydqp"))))
(build-system perl-build-system) (build-system perl-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -1313,7 +1312,7 @@ columns, primary keys, unique constraints and relationships.")
(define-public perl-dbd-sqlite (define-public perl-dbd-sqlite
(package (package
(name "perl-dbd-sqlite") (name "perl-dbd-sqlite")
(version "1.58") (version "1.62")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1321,7 +1320,7 @@ columns, primary keys, unique constraints and relationships.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0fqx386jgs9mmrknr7smmzapf07izgivza7x08lfm39ks2cxs83i")))) "0p78ri1q6xpc1i98i6mlriv8n66iz8r5r11dlsknjm4y58rfz0mx"))))
(build-system perl-build-system) (build-system perl-build-system)
(inputs `(("sqlite" ,sqlite))) (inputs `(("sqlite" ,sqlite)))
(propagated-inputs `(("perl-dbi" ,perl-dbi))) (propagated-inputs `(("perl-dbi" ,perl-dbi)))
@ -1336,15 +1335,14 @@ module, and nothing else.")
(define-public perl-sql-abstract (define-public perl-sql-abstract
(package (package
(name "perl-sql-abstract") (name "perl-sql-abstract")
(version "1.85") (version "1.86")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/" (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
"SQL-Abstract-" version ".tar.gz")) "SQL-Abstract-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "1pwcm8hwxcgidyyrak37lx69d85q728jxsb0b14jz93gbvdgg9z7"))))
"1aycggrvppy2zgkwwn85jkdz93n5gsx4dambrjk67k5067hayi4z"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-module-install" ,perl-module-install) `(("perl-module-install" ,perl-module-install)
@ -1847,14 +1845,13 @@ for ODBC.")
(define-public python-pyodbc (define-public python-pyodbc
(package (package
(name "python-pyodbc") (name "python-pyodbc")
(version "4.0.24") (version "4.0.25")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pyodbc" version)) (uri (pypi-uri "pyodbc" version))
(sha256 (sha256
(base32 (base32 "1bbwrb812w5i0x56jfn0l86mxc2ck904hl8y87mziay96znwia0f"))
"1m311vi7vpay1j7rkq71fpsk0gb7454k4lldk5b63hyy6yvsn9j3"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
@ -2095,17 +2092,16 @@ Database API 2.0T.")
(define-public python-sqlalchemy (define-public python-sqlalchemy
(package (package
(name "python-sqlalchemy") (name "python-sqlalchemy")
(version "1.2.11") (version "1.3.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "SQLAlchemy" version)) (uri (pypi-uri "SQLAlchemy" version))
(sha256 (sha256
(base32 (base32 "12sr36646sipf9ac3n2xh8z0w5pz4d3dvw5qjv2kzvcls6wvf7vq"))))
"094mmbs4igrxplfyqd59j90jb83ixpbbzqc0w49yw81m82nnjrgg"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-cython" ,python-cython) ;for c extensions `(("python-cython" ,python-cython) ; for C extensions
("python-pytest" ,python-pytest) ("python-pytest" ,python-pytest)
("python-mock" ,python-mock))) ; for tests ("python-mock" ,python-mock))) ; for tests
(arguments (arguments
@ -2113,7 +2109,7 @@ Database API 2.0T.")
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (invoke "py.test")))))) (lambda _ (invoke "py.test"))))))
(home-page "http://www.sqlalchemy.org") (home-page "https://www.sqlalchemy.org")
(synopsis "Database abstraction library") (synopsis "Database abstraction library")
(description (description
"SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that "SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that
@ -2335,14 +2331,13 @@ designed to be easy and intuitive to use.")
(define-public python-psycopg2 (define-public python-psycopg2
(package (package
(name "python-psycopg2") (name "python-psycopg2")
(version "2.7.5") (version "2.7.7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "psycopg2" version)) (uri (pypi-uri "psycopg2" version))
(sha256 (sha256
(base32 (base32 "0zjbabb4qjx9dm07imhf8y5a9rpa06d5zah80myiimgdi83nslpl"))))
"17klx964gw8z0znl0raz3by8vdc7cq5gxj4pdcrfcina84nrdkzc"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
;; Tests would require a postgresql database "psycopg2_test" ;; Tests would require a postgresql database "psycopg2_test"
@ -2580,14 +2575,13 @@ provides support for parsing, splitting and formatting SQL statements.")
(define-public python-sql (define-public python-sql
(package (package
(name "python-sql") (name "python-sql")
(version "0.9") (version "1.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "python-sql" version)) (uri (pypi-uri "python-sql" version))
(sha256 (sha256
(base32 (base32 "05ni936y0ia9xmryl7mlhbj9i80nnvq1bi4zxhb96rv7yvpb3fqb"))))
"0p6kaqj02vz0habmdx37zjk6hjxdfm8aw737zs059vvpr70ird87"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "https://python-sql.tryton.org/") (home-page "https://python-sql.tryton.org/")
(synopsis "Library to write SQL queries in a pythonic way") (synopsis "Library to write SQL queries in a pythonic way")

View File

@ -3,7 +3,7 @@
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -41,6 +41,7 @@
#:use-module (gnu packages sdl) #:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
@ -116,7 +117,7 @@ of categories with some of the activities available in that category.
(define-public gcompris-qt (define-public gcompris-qt
(package (package
(name "gcompris-qt") (name "gcompris-qt")
(version "0.95") (version "0.96")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -124,8 +125,7 @@ of categories with some of the activities available in that category.
"https://gcompris.net/download/qt/src/gcompris-qt-" "https://gcompris.net/download/qt/src/gcompris-qt-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32 "06483il59l46ny2w771sg45dgzjwv1ph7vidzzbj0wb8wbk2rg52"))))
"1aaijjx2b7k1cyx59jhs64hlp1sppw1faa81qxl5lxc79vifrlrl"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -162,7 +162,8 @@ of categories with some of the activities available in that category.
("qttools" ,qttools) ("qttools" ,qttools)
("xorg-server" ,xorg-server))) ("xorg-server" ,xorg-server)))
(inputs (inputs
`(("python-2" ,python-2) `(("openssl" ,openssl)
("python-2" ,python-2)
("qtbase" ,qtbase) ("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative) ("qtdeclarative" ,qtdeclarative)
("qtgraphicaleffects" ,qtgraphicaleffects) ("qtgraphicaleffects" ,qtgraphicaleffects)

View File

@ -26,7 +26,7 @@
;;; Copyright © 2017 George Clemmer <myglc2@gmail.com> ;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
;;; Copyright © 2017, 2018 Feng Shu <tumashu@163.com> ;;; Copyright © 2017, 2018 Feng Shu <tumashu@163.com>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2017, 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com> ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -278,7 +278,12 @@ on stdout instead of using a socket as the Emacsclient does.")
("magit-popup" ,emacs-magit-popup) ("magit-popup" ,emacs-magit-popup)
("with-editor" ,emacs-with-editor))) ("with-editor" ,emacs-with-editor)))
(arguments (arguments
`(#:test-target "test" `(#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build emacs-utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-utils))
#:test-target "test"
#:tests? #f ; tests are not included in the release #:tests? #f ; tests are not included in the release
#:make-flags #:make-flags
@ -317,8 +322,9 @@ on stdout instead of using a socket as the Emacsclient does.")
'build 'patch-exec-paths 'build 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((perl (assoc-ref inputs "perl"))) (let ((perl (assoc-ref inputs "perl")))
(substitute* "lisp/magit-sequence.el" (make-file-writable "lisp/magit-sequence.el")
(("perl") (string-append perl "/bin/perl"))) (emacs-substitute-variables "lisp/magit-sequence.el"
("magit-perl-executable" (string-append perl "/bin/perl")))
#t)))))) #t))))))
(home-page "https://magit.vc/") (home-page "https://magit.vc/")
(synopsis "Emacs interface for the Git version control system") (synopsis "Emacs interface for the Git version control system")
@ -1610,7 +1616,7 @@ and stored in memory.")
(define-public emacs-dash (define-public emacs-dash
(package (package
(name "emacs-dash") (name "emacs-dash")
(version "2.14.1") (version "2.15.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1619,7 +1625,7 @@ and stored in memory.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1kzijmjxjxgr7p8clphzvmm47vczckbs8mza9an77c25bn627ywl")))) "0dx8q3jr8fh73cfl7mqi5dq0012ambpvc74d2c71fsv9rfw85693"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:tests? #t `(#:tests? #t
@ -4951,7 +4957,7 @@ ack, ag, helm and pt.")
(define-public emacs-helm (define-public emacs-helm
(package (package
(name "emacs-helm") (name "emacs-helm")
(version "3.0") (version "3.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -4960,7 +4966,7 @@ ack, ag, helm and pt.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0k2r0ccppaqfjvyszaxa16vf7g2qzj1clhfr6v646ncsy17laciw")))) "0ymykcsbcgq2kskqc0ddigg0kfznxx3j02mkd5r3c3n8gn3kgz84"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-async" ,emacs-async) `(("emacs-async" ,emacs-async)
@ -7032,7 +7038,19 @@ running a customisable handler command (@code{ignore} by default). ")
("ert-runner" ,emacs-ert-runner))) ("ert-runner" ,emacs-ert-runner)))
(arguments (arguments
`(#:tests? #t `(#:tests? #t
#:test-command '("ert-runner"))) #:test-command '("ert-runner")
#:phases
(modify-phases %standard-phases
(add-before 'check 'delete-json-objects-order-test
(lambda _
(emacs-batch-edit-file "test/json-reformat-test.el"
`(progn (progn (goto-char (point-min))
(re-search-forward
"ert-deftest json-reformat-test:json-reformat-region")
(beginning-of-line)
(kill-sexp))
(basic-save-buffer)))
#t)))))
(home-page "https://github.com/gongo/json-reformat") (home-page "https://github.com/gongo/json-reformat")
(synopsis "Reformatting tool for JSON") (synopsis "Reformatting tool for JSON")
(description "@code{json-reformat} provides a reformatting tool for (description "@code{json-reformat} provides a reformatting tool for
@ -10143,23 +10161,26 @@ and doesn't require memorisation of commands.
(define-public emacs-suggest (define-public emacs-suggest
(package (package
(name "emacs-suggest") (name "emacs-suggest")
(version "0.4") (version "0.7")
(home-page "https://github.com/Wilfred/suggest.el")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/Wilfred/suggest.el/archive/" (uri (git-reference
version ".tar.gz")) (url home-page)
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1760fm3j19w8xxcawq6s859h86q1rdg69pg9yz48n76kwfk3vlgp")))) "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-loop" ,emacs-loop) `(("emacs-loop" ,emacs-loop)
("emacs-dash" ,emacs-dash) ("emacs-dash" ,emacs-dash)
("emacs-s" ,emacs-s) ("emacs-s" ,emacs-s)
("emacs-f" ,emacs-f))) ("emacs-f" ,emacs-f)
(home-page "https://github.com/Wilfred/suggest.el") ("emacs-spinner" ,emacs-spinner)
("emacs-shut-up" ,emacs-shut-up)))
(synopsis "Suggest Elisp functions that give the output requested") (synopsis "Suggest Elisp functions that give the output requested")
(description "Suggest.el will find functions that give the output (description "Suggest.el will find functions that give the output
requested. It's a great way of exploring list, string and arithmetic requested. It's a great way of exploring list, string and arithmetic
@ -11155,6 +11176,29 @@ systems.")
filters, highlighting of regexp group levels, and more.") filters, highlighting of regexp group levels, and more.")
(license license:gpl2+)))) (license license:gpl2+))))
(define-public emacs-eshell-bookmark
(package
(name "emacs-eshell-bookmark")
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Fuco1/eshell-bookmark")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"14dmsnixf9vqdhsixw693sml0fn80zcf0b37z049fb40cmppqxdw"))))
(build-system emacs-build-system)
(home-page "https://github.com/Fuco1/eshell-bookmark")
(synopsis "Provide @file{bookmark.el} integration for @code{eshell}")
(description
"This package allows for bookmarking @code{eshell} buffers. Upon
visiting the bookmark, a new @code{eshell} session will be opened in the
appropriate directory if no @code{eshell} session is active.")
(license license:gpl3+)))
(define-public emacs-esh-autosuggest (define-public emacs-esh-autosuggest
(package (package
(name "emacs-esh-autosuggest") (name "emacs-esh-autosuggest")
@ -11358,6 +11402,56 @@ Org-mode. It features:
@end itemize\n") @end itemize\n")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-debpaste
(package
(name "emacs-debpaste")
(version "0.1.5")
(home-page "https://github.com/alezost/debpaste.el")
(source
(origin
(method git-fetch)
(uri (git-reference (url home-page)
(commit (string-append "v" version))))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1wi70r56pd5z0x4dp4m58p9asq03j74kdm4fi9vai83vsl2z9amq"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-xml-rpc" ,emacs-xml-rpc)))
(synopsis "Manipulate pastes from the Debian Pastezone")
(description "Debpaste is an Emacs interface for the Debian Pastezone,
allowing you to receive, post, and delete pastes. It communicates with the
server using XML-RPC.")
(license license:gpl3+)))
(define-public emacs-xml-rpc
(let ((commit "8f624f8b964e9145acb504e4457c9510e87dd93c")
(revision "1"))
(package
(name "emacs-xml-rpc")
(version (git-version "1.6.12" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hexmode/xml-rpc-el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0xa54z52rsfl3n0xgmbycj4zazp8ksgdwcq56swzs6wp72zlalmj"))))
(build-system emacs-build-system)
(home-page "https://github.com/hexmode/xml-rpc-el")
(synopsis "XML-RPC client for Emacs")
(description "This package provides an XML-RPC client for Emacs capable
of both synchronous and asynchronous method calls using the @code{url}
package's async retrieval functionality. @file{xml-rpc.el} represents XML-RPC
datatypes as Lisp values, automatically converting to and from the XML
datastructures as needed, both for method parameters and return values, making
using XML-RPC methods fairly transparent to the Lisp code.")
(license license:gpl3+))))
(define-public emacs-fish-completion (define-public emacs-fish-completion
(package (package
(name "emacs-fish-completion") (name "emacs-fish-completion")
@ -13235,3 +13329,180 @@ provides several enhancements over the ordinary
in the completion list and showing keyboard shortcuts, and it supports several in the completion list and showing keyboard shortcuts, and it supports several
completion systems for selecting commands, such as ido and ivy.") completion systems for selecting commands, such as ido and ivy.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-lorem-ipsum
(let ((commit "4b39f6fed455d67f635b3837cf5668bf74d0f6cd"))
(package
(name "emacs-lorem-ipsum")
(version (git-version "0.2" "1" commit))
(home-page "https://github.com/jschaf/emacs-lorem-ipsum/")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0a3b18p3vdjci89prsgdzjnfxsl8p67vjhf8ai4qdng7zvh50lir"))))
(build-system emacs-build-system)
(synopsis "Insert dummy pseudo Latin text in Emacs")
(description "This package provides convenience functions to insert
dummy Latin text into a buffer. This can be useful if you need to produce
paragraphs or pages of text for testing purposes.")
(license license:gpl3+))))
(define-public emacs-lisp-extra-font-lock
(let ((commit "4605eccbe1a7fcbd3cacf5b71249435413b4db4f"))
(package
(name "emacs-lisp-extra-font-lock")
(version (git-version "0.0.6" "1" commit))
(home-page "https://github.com/Lindydancer/lisp-extra-font-lock")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"152vcp3mdlv33jf5va4rinl1d0k960gnfhbrqqrafazgx9j3ya8w"))))
(build-system emacs-build-system)
(synopsis "Highlight bound variables and quoted expressions in Emacs")
(description "This package highlight the location where local variables
is created (bound, for example, by let) as well as quoted and backquoted
constant expressions.")
(license license:gpl3+))))
(define-public emacs-docker-tramp
(package
(name "emacs-docker-tramp")
(version "0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-pe/docker-tramp.el")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"))))
(build-system emacs-build-system)
(home-page "https://github.com/emacs-pe/docker-tramp.el")
(synopsis "TRAMP integration for docker containers")
(description
"This package provides a TRAMP method for Docker containers.")
(license license:gpl3+)))
(define-public emacs-docker
(package
(name "emacs-docker")
(version "1.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Silex/docker.el")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"15kd86kaq1x6giz855q9w6zvnyc742j309j0pmm86rwx398g4rq1"))))
(inputs
`(("emacs-undercover" ,emacs-undercover)))
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
("emacs-docker-tramp" ,emacs-docker-tramp)
("emacs-magit-popup" ,emacs-magit-popup)
("emacs-s" ,emacs-s)
("emacs-tablist" ,emacs-tablist)
("emacs-json-mode" ,emacs-json-mode)))
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'check)))) ;no tests
(build-system emacs-build-system)
(home-page "https://github.com/Silex/docker.el")
(synopsis "Manage docker from Emacs")
(description "This package provides an Emacs interface for Docker.")
(license license:gpl3+)))
(define-public emacs-dockerfile-mode
;; Latest upstream release is too old.
(let ((commit "7223d92718f78fa3ab15667cdb2ed90cfeb579e7"))
(package
(name "emacs-dockerfile-mode")
(version (git-version "1.2" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/spotify/dockerfile-mode.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0hmipgl4rk6aih11i8mnspwdijjiwk2y0wns6lzs8bgkvy3c064r"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-s" ,emacs-s)))
(home-page "https://github.com/spotify/dockerfile-mode")
(synopsis "Major mode for editing Dockerfile")
(description
"This package provides a major mode @code{dockerfile-mode} for use with
the standard @code{Dockerfile} file format.")
(license license:asl2.0))))
(define-public emacs-lsp-mode
(package
(name "emacs-lsp-mode")
(version "6.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-lsp/lsp-mode.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1v1mq6ixzlgiazj8fmg4xaqhsqn3l89iqy74yndhvzh2rdf0pbkl"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
("emacs-f" ,emacs-f)
("emacs-ht" ,emacs-ht)
("emacs-spinner" ,emacs-spinner)))
(home-page "https://github.com/emacs-lsp/lsp-mode")
(synopsis "Emacs client and library for the Language Server Protocol")
(description "@code{LSP-mode} is a client and library implmentation for
the Language Server Protocol. This mode aims to provide an IDE-like
experience by providing optional integration with other popular Emacs packages
like @code{company}, @code{flycheck}, and @code{projectile}.")
(license license:gpl3+)))
(define-public emacs-lsp-ui
(package
(name "emacs-lsp-ui")
(version "6.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-lsp/lsp-ui.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1r4327fd8cvjxfwkddp5c4bdskyncbs4sx9m3z2w4d773y2jrakc"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
("emacs-lsp-mode" ,emacs-lsp-mode)
("emacs-markdown-mode" ,emacs-markdown-mode)
("emacs-flycheck" ,emacs-flycheck)))
(home-page "https://github.com/emacs-lsp/lsp-ui")
(synopsis "User interface extensions for @code{lsp-mode}")
(description
"@code{LSP-ui} contains several enhancements and integrations for
@code{lsp-mode}, such as visual flychecking, displaying references in-line,
and code peeking.")
(license license:gpl3+)))

View File

@ -92,7 +92,7 @@
'("eshell/esh-groups.el"))) '("eshell/esh-groups.el")))
;; Make sure Tramp looks for binaries in the right places on ;; Make sure Tramp looks for binaries in the right places on
;; remote GuixSD machines, where 'getconf PATH' returns ;; remote Guix System machines, where 'getconf PATH' returns
;; something bogus. ;; something bogus.
(substitute* "net/tramp-sh.el" (substitute* "net/tramp-sh.el"
;; Patch the line after "(defcustom tramp-remote-path". ;; Patch the line after "(defcustom tramp-remote-path".

View File

@ -1339,7 +1339,6 @@ play them on systems for which they were never designed!")
#t)))))) #t))))))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
("pugixml" ,pugixml)
("python-sphinx" ,python-sphinx) ("python-sphinx" ,python-sphinx)
("texinfo" ,texinfo))) ("texinfo" ,texinfo)))
(inputs (inputs
@ -1354,6 +1353,7 @@ play them on systems for which they were never designed!")
("lua" ,lua) ("lua" ,lua)
("portaudio" ,portaudio) ("portaudio" ,portaudio)
("portmidi" ,portmidi) ("portmidi" ,portmidi)
("pugixml" ,pugixml)
("python-wrapper" ,python-wrapper) ("python-wrapper" ,python-wrapper)
("qtbase" ,qtbase) ("qtbase" ,qtbase)
("rapidjson" ,rapidjson) ("rapidjson" ,rapidjson)

View File

@ -734,16 +734,16 @@ language.")
(define-public kicad (define-public kicad
(package (package
(name "kicad") (name "kicad")
(version "5.0.0") (version "5.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(file-name (string-append name "-" version ".tar.xz")) (file-name (string-append name "-" version ".tar.xz"))
(uri (string-append (uri (string-append
"https://launchpad.net/kicad/" (version-major+minor version) "https://launchpad.net/kicad/" (version-major+minor version)
"/" version "/+download/" name "-" version ".tar.xz")) "/" version "/+download/kicad-" version ".tar.xz"))
(sha256 (sha256
(base32 "17nqjszyvd25wi6550j981whlnb1wxzmlanljdjihiki53j84x9p")))) (base32 "10605rr10x0353n6yk2z095ydnkd1i6j1ncbq64pfxdn5vkhcd1g"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:out-of-source? #t `(#:out-of-source? #t
@ -888,16 +888,16 @@ render model libraries.")
(define-public kicad-symbols (define-public kicad-symbols
(package (package
(name "kicad-symbols") (name "kicad-symbols")
(version "5.0.1") (version "5.0.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/KiCad/kicad-symbols.git") (url "https://github.com/KiCad/kicad-symbols.git")
(commit version))) (commit version)))
(file-name (string-append "kicad-symbols-" version "-checkout")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"18z5vpdq7hy2mpvm5vz1dz3ra3a5iybavvlzi8q2bmmdb6gsvf64")))) "1rjh2pjcrc3bhcgyyskj5pssm7vffrjk0ymwr70fb7sjpmk96yjk"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ; No tests exist `(#:tests? #f)) ; No tests exist

View File

@ -301,14 +301,14 @@ Includes the actual FTDI connector.")
(define-public gtkwave (define-public gtkwave
(package (package
(name "gtkwave") (name "gtkwave")
(version "3.3.91") (version "3.3.99")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://gtkwave.sourceforge.net/" (uri (string-append "http://gtkwave.sourceforge.net/"
name "-" version ".tar.gz")) name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1vp9qj3wyfwm36jk3pajvi09xvc1m1crf3d4gphfbs6nkyx2z942")))) "0lc4y2vizrbxldjk5yw2i4y7pyprjdjqx3iafzjfnin694zp2630"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("gperf" ,gperf) `(("gperf" ,gperf)

View File

@ -8,7 +8,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -36,6 +36,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
@ -152,7 +153,7 @@ freedesktop.org project.")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://freedesktop.org/software/libinput/" (uri (string-append "https://freedesktop.org/software/libinput/"
name "-" version ".tar.xz")) "libinput-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0pgla0mc6mvyr1ljy10mcqvfz8i5z6yp7dbx2bcd70y67wx05d0j")))) "0pgla0mc6mvyr1ljy10mcqvfz8i5z6yp7dbx2bcd70y67wx05d0j"))))
@ -452,6 +453,33 @@ applications, X servers (rootless or fullscreen) or other display servers.")
(home-page "https://wayland.freedesktop.org") (home-page "https://wayland.freedesktop.org")
(license license:expat))) (license license:expat)))
(define-public waylandpp
(package
(name "waylandpp")
(version "0.2.5")
(home-page "https://github.com/NilsBrause/waylandpp")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(sha256
(base32
"16h57hzd688664qcyznzhjp3hxipdkzgv46x82yhkww24av8b55n"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;no tests
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("mesa" ,mesa)
("pugixml" ,pugixml)))
(propagated-inputs
`(;; In Requires of the .pc files.
("wayland" ,wayland)))
(synopsis "Wayland C++ bindings")
(description
"This package provides C++ bindings for the Wayland display protocol.")
(license license:bsd-2)))
(define-public weston (define-public weston
(package (package
(name "weston") (name "weston")

View File

@ -209,14 +209,14 @@ output.
(define-public filezilla (define-public filezilla
(package (package
(name "filezilla") (name "filezilla")
(version "3.40.0") (version "3.41.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.filezilla-project.org/client/" (uri (string-append "https://download.filezilla-project.org/client/"
"FileZilla_" version "_src.tar.bz2")) "FileZilla_" version "_src.tar.bz2"))
(sha256 (sha256
(base32 "11b0410fcwrahq5dd7ph10bc09m62sxra4bjp0kj5gph822s0v63")))) (base32 "0mlv21054fk11rspbnig0q4gph1iqsqm4rpya3wl5is50p33vg5w"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; Don't let filezilla phone home to check for updates. ;; Don't let filezilla phone home to check for updates.
@ -224,7 +224,6 @@ output.
(native-inputs (native-inputs
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("pugixml" ,pugixml)
("xdg-utils" ,xdg-utils))) ("xdg-utils" ,xdg-utils)))
(inputs (inputs
`(("dbus" ,dbus) `(("dbus" ,dbus)
@ -233,6 +232,7 @@ output.
("libfilezilla" ,libfilezilla) ("libfilezilla" ,libfilezilla)
("libidn" ,libidn) ("libidn" ,libidn)
("nettle" ,nettle) ("nettle" ,nettle)
("pugixml" ,pugixml)
("sqlite" ,sqlite) ("sqlite" ,sqlite)
("wxwidgets" ,wxwidgets))) ("wxwidgets" ,wxwidgets)))
(home-page "https://filezilla-project.org") (home-page "https://filezilla-project.org")

View File

@ -1403,14 +1403,14 @@ interface or via an external visual interface such as GNU XBoard.")
(define freedink-engine (define freedink-engine
(package (package
(name "freedink-engine") (name "freedink-engine")
(version "109.4") (version "109.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/freedink/freedink-" version (uri (string-append "mirror://gnu/freedink/freedink-" version
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0iaagwnyfgm3mqzkj550q60hrsjr13gykg5vfn2nz2ia520bb52g")))) "00hhk1bjdrc1np2qz44sa5n1mb62qzwxbvsnws3vpms6iyn3a2sy"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--disable-embedded-resources") `(#:configure-flags '("--disable-embedded-resources")
@ -4441,12 +4441,17 @@ fish. The whole game is accompanied by quiet, comforting music.")
("python-pyyaml" ,python-pyyaml) ("python-pyyaml" ,python-pyyaml)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(arguments (arguments
'(#:make-flags `(#:make-flags
(let* ((sqlite (assoc-ref %build-inputs "sqlite")) (let* ((sqlite (assoc-ref %build-inputs "sqlite"))
(out (assoc-ref %outputs "out"))) (out (assoc-ref %outputs "out")))
(list (string-append "SQLITE_INCLUDE_DIR=" sqlite "/include") (list (string-append "SQLITE_INCLUDE_DIR=" sqlite "/include")
(string-append "prefix=" out) (string-append "prefix=" out)
"SAVEDIR=~/.crawl" "SAVEDIR=~/.crawl"
;; Don't compile with SSE on systems which don't use it
,@(match (%current-system)
((or "i686-linux" "x86_64-linux")
'())
(_ '("NOSSE=TRUE")))
;; don't build any bundled dependencies ;; don't build any bundled dependencies
"BUILD_LUA=" "BUILD_LUA="
"BUILD_SQLITE=" "BUILD_SQLITE="
@ -4454,11 +4459,6 @@ fish. The whole game is accompanied by quiet, comforting music.")
"-Csource")) "-Csource"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'patch-flags
(lambda _
(substitute* "source/Makefile"
(("-mfpmath=sse -msse2") ""))
#t))
(add-after 'unpack 'find-SDL-image (add-after 'unpack 'find-SDL-image
(lambda _ (lambda _
(substitute* "source/windowmanager-sdl.cc" (substitute* "source/windowmanager-sdl.cc"
@ -5864,7 +5864,7 @@ when packaged in Blorb container files or optionally from individual files.")
(define-public libmanette (define-public libmanette
(package (package
(name "libmanette") (name "libmanette")
(version "0.2.1") (version "0.2.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -5872,7 +5872,7 @@ when packaged in Blorb container files or optionally from individual files.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"14vqz30p4693yy3yxs0gj858x25sl2kawib1g9lj8g5frgl0hd82")))) "1lpprk2qz1lsqf9xj6kj2ciyc1zmjhj5lwd584qkh7jgz2x9y6wb"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
`(("glib" ,glib "bin") ; for glib-compile-resources `(("glib" ,glib "bin") ; for glib-compile-resources

View File

@ -63,7 +63,7 @@
(define-public geos (define-public geos
(package (package
(name "geos") (name "geos")
(version "3.7.0") (version "3.7.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://download.osgeo.org/geos/geos-" (uri (string-append "http://download.osgeo.org/geos/geos-"
@ -71,7 +71,7 @@
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1mrz778m6bd1x9k6sha5kld43kalhq79h2lynlx2jx7xjakl3gsg")))) "1312m02xk4sp6f1xdpb9w0ic0zbxg90p5y66qnwidl5fksscf1h0"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments `(#:phases (arguments `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases

View File

@ -2596,7 +2596,7 @@ libxml to ease remote use of the RESTful API.")
(define-public libsoup (define-public libsoup
(package (package
(name "libsoup") (name "libsoup")
(version "2.64.2") (version "2.66.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/libsoup/" (uri (string-append "mirror://gnome/sources/libsoup/"
@ -2604,38 +2604,23 @@ libxml to ease remote use of the RESTful API.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1il6lyrmfi0hfh3ysw8w1qzc1rdz0igkb7dv6d8g5mmilnac3pbm")))) "08c9kkdhzy504gv23pfdm4sq3dd3j20sikwz6gv0qrwcdjnw5bai"))))
(build-system gnu-build-system) (build-system meson-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
`(#:modules ((guix build utils) `(#:modules ((guix build utils)
(guix build gnu-build-system) (guix build meson-build-system)
(ice-9 popen)) (ice-9 popen))
#:configure-flags #:configure-flags '("-Ddoc=true")
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html")
(string-append "--with-apache-module-dir="
(assoc-ref %build-inputs "httpd")
"/modules"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'disable-unconnected-socket-test (add-after 'unpack 'adjust-tests
(lambda _
;; This test fails due to missing /etc/nsswitch.conf ;; This test fails due to missing /etc/nsswitch.conf
;; in the build environment. ;; in the build environment.
(lambda _
(substitute* "tests/socket-test.c" (substitute* "tests/socket-test.c"
((".*/sockets/unconnected.*") "")) ((".*/sockets/unconnected.*") ""))
#t))
(add-before 'check 'pre-check
(lambda _
;; The 'check-local' target runs 'env LANG=C sort -u',
;; unset 'LC_ALL' to make 'LANG' working.
(unsetenv "LC_ALL")
;; HTTPD in Guix uses mod_event and does not build prefork.
(substitute* "tests/httpd.conf"
(("^LoadModule mpm_prefork_module.*$") "\n"))
;; Generate a self-signed certificate that has "localhost" as its ;; Generate a self-signed certificate that has "localhost" as its
;; 'dnsName'. Failing to do that, and starting with GnuTLS ;; 'dnsName'. Failing to do that, and starting with GnuTLS
@ -2681,16 +2666,19 @@ libxml to ease remote use of the RESTful API.")
)) ))
(close-pipe pipe)) (close-pipe pipe))
#t)) #t))
(replace 'install (add-after 'install 'move-doc
(lambda _ (lambda* (#:key outputs #:allow-other-keys)
(invoke "make" (let ((out (assoc-ref outputs "out"))
;; Install vala bindings into $out. (doc (assoc-ref outputs "doc")))
(string-append "vapidir=" %output (mkdir-p (string-append doc "/share"))
"/share/vala/vapi") (copy-recursively (string-append out "/share/gtk-doc")
"install")))))) (string-append doc "/share/gtk-doc"))
(delete-file-recursively (string-append out "/share/gtk-doc"))
#t))))))
(native-inputs (native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums `(("glib:bin" ,glib "bin") ; for glib-mkenums
("gobject-introspection" ,gobject-introspection) ("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("intltool" ,intltool) ("intltool" ,intltool)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python-wrapper) ("python" ,python-wrapper)
@ -2703,11 +2691,12 @@ libxml to ease remote use of the RESTful API.")
(propagated-inputs (propagated-inputs
;; libsoup-2.4.pc refers to all these. ;; libsoup-2.4.pc refers to all these.
`(("glib" ,glib) `(("glib" ,glib)
("libxml2" ,libxml2))) ("libpsl" ,libpsl)
("libxml2" ,libxml2)
("sqlite" ,sqlite)))
(inputs (inputs
`(("glib-networking" ,glib-networking) `(("glib-networking" ,glib-networking)
("libpsl" ,libpsl) ("mit-krb5" ,mit-krb5)))
("sqlite" ,sqlite)))
(home-page "https://live.gnome.org/LibSoup/") (home-page "https://live.gnome.org/LibSoup/")
(synopsis "GLib-based HTTP Library") (synopsis "GLib-based HTTP Library")
(description (description
@ -4304,7 +4293,7 @@ work and the interface is well tested.")
("libsecret" ,libsecret) ("libsecret" ,libsecret)
("gtkspell3" ,gtkspell3) ("gtkspell3" ,gtkspell3)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("webkitgtk" ,webkitgtk-2.22))) ("webkitgtk" ,webkitgtk-2.24)))
(home-page "https://wiki.gnome.org/Apps/Eolie") (home-page "https://wiki.gnome.org/Apps/Eolie")
(synopsis "Web browser for GNOME") (synopsis "Web browser for GNOME")
(description (description
@ -4363,7 +4352,7 @@ a secret password store, an adblocker, and a modern UI.")
("libxslt" ,libxslt) ("libxslt" ,libxslt)
("nettle" ,nettle) ; for hogweed ("nettle" ,nettle) ; for hogweed
("sqlite" ,sqlite) ("sqlite" ,sqlite)
("webkitgtk" ,webkitgtk-2.22))) ("webkitgtk" ,webkitgtk-2.24)))
(home-page "https://wiki.gnome.org/Apps/Web") (home-page "https://wiki.gnome.org/Apps/Web")
(synopsis "GNOME web browser") (synopsis "GNOME web browser")
(description (description
@ -5215,7 +5204,7 @@ users.")
(doc (assoc-ref %outputs "doc")) (doc (assoc-ref %outputs "doc"))
(dhclient (string-append (assoc-ref %build-inputs "isc-dhcp") (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
"/sbin/dhclient"))) "/sbin/dhclient")))
(list "--with-systemd-logind=yes" ;In GuixSD, this is provided by elogind. (list "--with-systemd-logind=yes" ;In Guix System, this is provided by elogind.
"--with-consolekit=no" "--with-consolekit=no"
"--with-crypto=gnutls" "--with-crypto=gnutls"
"--disable-config-plugin-ibft" "--disable-config-plugin-ibft"
@ -5766,10 +5755,9 @@ properties, screen resolution, and other GNOME parameters.")
(copy-file #$(file-append %artwork-repository (copy-file #$(file-append %artwork-repository
"/slim/0.x/background.png") "/slim/0.x/background.png")
"data/theme/guix-background.png") "data/theme/guix-background.png")
(invoke #+(file-append inkscape "/bin/inkscape") (copy-file #$(file-append %artwork-repository
"--export-png=data/theme/guix-logo.png" "/logo/Guix-horizontal-white.svg")
#$(file-append %artwork-repository "data/theme/guix-logo.svg")
"/logo/Guix-horizontal-white.svg"))
#t)))) #t))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
@ -5791,6 +5779,11 @@ properties, screen resolution, and other GNOME parameters.")
(("keysdir =.*") (("keysdir =.*")
(string-append "keysdir = '" keysdir "'\n"))) (string-append "keysdir = '" keysdir "'\n")))
#t))) #t)))
(add-before 'configure 'convert-logo-to-png
(lambda* (#:key inputs #:allow-other-keys)
;; Convert the logo from SVG to PNG.
(invoke "inkscape" "--export-png=data/theme/guix-logo.png"
"data/theme/guix-logo.svg")))
(add-before 'check 'pre-check (add-before 'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
;; Tests require a running X server. ;; Tests require a running X server.
@ -5822,6 +5815,7 @@ properties, screen resolution, and other GNOME parameters.")
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
("gobject-introspection" ,gobject-introspection) ("gobject-introspection" ,gobject-introspection)
("inkscape" ,inkscape)
("intltool" ,intltool) ("intltool" ,intltool)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python) ("python" ,python)

View File

@ -605,18 +605,19 @@ using Guile's foreign function interface.")
(package (package
(name "guile-colorized") (name "guile-colorized")
(version "0.1") (version "0.1")
(source (origin (source
(method url-fetch) (origin
(uri (string-append "https://github.com/NalaGinrut/guile-colorized/" (method git-fetch)
"archive/v" version ".tar.gz")) (uri (git-reference
(file-name (string-append name "-" version ".tar.gz")) (url "https://gitlab.com/NalaGinrut/guile-colorized.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "10mv8c63159r3qvwwdvsgnsvdg7nc2ghak85zapwqpv4ywrqp9zc"))))
"16xhc3an6aglnca8xl3mvgi8hsqzqn68vsl5ga4bz8bvbap5fn4p"))))
(build-system guile-build-system) (build-system guile-build-system)
(native-inputs (native-inputs
`(("guile" ,guile-2.2))) `(("guile" ,guile-2.2)))
(home-page "https://github.com/NalaGinrut/guile-colorized") (home-page "https://gitlab.com/NalaGinrut/guile-colorized")
(synopsis "Colorized REPL for Guile") (synopsis "Colorized REPL for Guile")
(description (description
"Guile-colorized provides you with a colorized REPL for GNU Guile.") "Guile-colorized provides you with a colorized REPL for GNU Guile.")
@ -2069,6 +2070,7 @@ completion, a simple mode line, etc.")
(uri (git-reference (uri (git-reference
(url "https://gitlab.com/tampe/stis-parser") (url "https://gitlab.com/tampe/stis-parser")
(commit commit))) (commit commit)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0v4hvq7rlpbra1ni73lf8k6sdmjlflr50yi3p1f24g85h77pc7c0")))) "0v4hvq7rlpbra1ni73lf8k6sdmjlflr50yi3p1f24g85h77pc7c0"))))
@ -2079,6 +2081,11 @@ completion, a simple mode line, etc.")
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'chdir (add-after 'unpack 'chdir
(lambda _ (chdir "modules") #t)) (lambda _ (chdir "modules") #t))
(add-after 'chdir 'use-canonical-directory-for-go-files
(lambda _
(substitute* "Makefile.am"
(("/ccache") "/site-ccache"))
#t))
(add-after 'chdir 'delete-broken-symlink (add-after 'chdir 'delete-broken-symlink
(lambda _ (lambda _
(delete-file "parser/stis-parser/lang/.#calc.scm") (delete-file "parser/stis-parser/lang/.#calc.scm")
@ -2097,3 +2104,103 @@ supports backtracking and a small logical framework. The idea is to build up
chunks that are memoized and there is no clear scanner/parser separation, chunks that are memoized and there is no clear scanner/parser separation,
chunks can be expressions as well as simple tokens.") chunks can be expressions as well as simple tokens.")
(license license:lgpl2.0+)))) (license license:lgpl2.0+))))
(define-public guile-persist
(let ((commit "b14927b0368af51c024560aee5f55724aee35233")
(revision "1"))
(package
(name "guile-persist")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/tampe/guile-persist")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0z5nf377wh8yj6n3sx2ddn4bdx1qrqnw899dlqjhg0q69qzil522"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-prefix
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "src/Makefile.am"
(("/usr/local/lib/guile")
(string-append (assoc-ref outputs "out") "/lib/guile"))
(("/usr/local/include/guile")
(string-append (assoc-ref inputs "guile") "/include/guile"))
(("-L/usr/local/lib")
(string-append "-L" (assoc-ref inputs "guile") "/lib"))
;; Use canonical directory for go files.
(("/ccache") "/site-ccache"))
#t))
(add-after 'unpack 'patch-library-reference
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "persist/persistance.scm"
(("\"libguile-persist\"")
(format #f "\"~a/lib/guile/2.2/extensions/libguile-persist\"" out)))
#t))))))
(inputs
`(("guile" ,guile-2.2)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(home-page "https://gitlab.com/tampe/guile-persist")
(synopsis "Persistance programming framework for Guile")
(description
"This is a serialization library for serializing objects like classes
and objects, closures and structs. This currently does not support
serializing continuations or delimited continuations.")
(license license:lgpl2.0+))))
(define-public python-on-guile
(let ((commit "0cb7c2b2fff4338ca6153473f3f5c409a818f293")
(revision "1"))
(package
(name "python-on-guile")
(version (git-version "0.1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/python-on-guile/python-on-guile.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0kpz08rrp5mwcf5ksc4flgrw992syham9x49dn9wq9w31bpcpnby"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; not supported
#:make-flags
'("GUILE_AUTO_COMPILE=0") ; to prevent guild errors
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "modules") #t))
(add-after 'chdir 'use-canonical-directory-for-go-files
(lambda _
(substitute* "Makefile.am"
(("/ccache") "/site-ccache"))
#t)))))
(inputs
`(("guile" ,guile-2.2)))
(propagated-inputs
`(("guile-persist" ,guile-persist)
("guile-readline" ,guile-readline)
("guile-stis-parser" ,guile-stis-parser)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(home-page "https://gitlab.com/python-on-guile/python-on-guile/")
(synopsis "Python implementation in Guile")
(description
"This package allows you to compile a Guile Python file to any target
from @code{tree-il}.")
(license license:lgpl2.0+))))

View File

@ -391,7 +391,7 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its
(define package-for-guile-2.0 (define package-for-guile-2.0
;; A procedure that rewrites the dependency tree of the given package to use ;; A procedure that rewrites the dependency tree of the given package to use
;; GUILE-2.0 instead of GUILE-2.2. ;; GUILE-2.0 instead of GUILE-2.2.
(package-input-rewriting (delay `((,guile-2.2 . ,guile-2.0))) (package-input-rewriting `((,guile-2.2 . ,guile-2.0))
(guile-variant-package-name "guile2.0"))) (guile-variant-package-name "guile2.0")))
(define-public guile-for-guile-emacs (define-public guile-for-guile-emacs

View File

@ -1101,7 +1101,7 @@ convert, manipulate, filter and display a wide variety of image formats.")
(define-public jasper (define-public jasper
(package (package
(name "jasper") (name "jasper")
(version "2.0.14") (version "2.0.16")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1110,7 +1110,7 @@ convert, manipulate, filter and display a wide variety of image formats.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0aarg8nbik9wrm7fx0451sbm5ypfdfr6i169pxzi354mpdp8gg7f")))) "05l75yd1zsxwv25ykwwwjs8961szv7iywf16nc6vc6qpby27ckv6"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs `(("libjpeg" ,libjpeg))) (inputs `(("libjpeg" ,libjpeg)))
(synopsis "JPEG-2000 library") (synopsis "JPEG-2000 library")

View File

@ -148,7 +148,7 @@
(use-modules (ice-9 match)) (use-modules (ice-9 match))
(substitute* "src/runtime_ccall.cpp" (substitute* "src/runtime_ccall.cpp"
;; Patch out invocations of '/sbin/ldconfig' to avoid getting ;; Patch out invocations of '/sbin/ldconfig' to avoid getting
;; error messages about missing '/sbin/ldconfig' on GuixSD. ;; error messages about missing '/sbin/ldconfig' on Guix System.
(("popen\\(.*ldconfig.*\\);") (("popen\\(.*ldconfig.*\\);")
"NULL;\n") "NULL;\n")

View File

@ -3487,7 +3487,7 @@ workspace.")
("qtsvg" ,qtsvg) ("qtsvg" ,qtsvg)
("qttools" ,qttools) ("qttools" ,qttools)
("qtx11extras" ,qtx11extras))) ("qtx11extras" ,qtx11extras)))
;; FIXME: Use GuixSD ca-bundle.crt in etc/xdg/ksslcalist and ;; FIXME: Use Guix ca-bundle.crt in etc/xdg/ksslcalist and
;; share/kf5/kssl/ca-bundle.crt ;; share/kf5/kssl/ca-bundle.crt
;; TODO: NixOS has nix-kde-include-dir.patch to change std-dir "include" ;; TODO: NixOS has nix-kde-include-dir.patch to change std-dir "include"
;; into "@dev@/include/". Think about whether this is needed for us, too. ;; into "@dev@/include/". Think about whether this is needed for us, too.

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
@ -43,6 +43,7 @@
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi) #:use-module (gnu packages fribidi)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript) #:use-module (gnu packages ghostscript)
@ -462,6 +463,23 @@ plug-in system.")
license:bsd-3 ;misc, gtest license:bsd-3 ;misc, gtest
license:bsd-2)))) ;xbmc/freebsd license:bsd-2)))) ;xbmc/freebsd
(define-public kodi/wayland
(package/inherit kodi
(name "kodi-wayland")
(arguments
(substitute-keyword-arguments (package-arguments kodi)
((#:configure-flags flags)
`(append '("-DCORE_PLATFORM_NAME=wayland"
"-DWAYLAND_RENDER_SYSTEM=gl")
,flags))))
(inputs
`(("libinput" ,libinput)
("libxkbcommon" ,libxkbcommon)
("waylandpp" ,waylandpp)
("waylandp-protocols" ,wayland-protocols)
,@(package-inputs kodi)))
(synopsis "Kodi with Wayland rendering backend")))
(define-public kodi-cli (define-public kodi-cli
(let ((commit "104dc23b2a993c8e6db8c46f4f8bec24b146549b") ; Add support for (let ((commit "104dc23b2a993c8e6db8c46f4f8bec24b146549b") ; Add support for
(revision "1")) ; `$HOME/.kodirc'. (revision "1")) ; `$HOME/.kodirc'.

View File

@ -5,7 +5,7 @@
;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -170,14 +170,14 @@ resolution, asynchronous file system operations, and threading primitives.")
(define-public perl-anyevent (define-public perl-anyevent
(package (package
(name "perl-anyevent") (name "perl-anyevent")
(version "7.14") (version "7.15")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/" (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/"
"AnyEvent-" version ".tar.gz")) "AnyEvent-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0akxr9y0q9yjkl614x4clbiiayvh5a67y8gmci54plxs4p95i4sk")))) "0m73r67ah9xmcwzxs50jxf8ncd8h71mi4wf2mvnqkxvibhrv478i"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-canary-stability" ,perl-canary-stability))) `(("perl-canary-stability" ,perl-canary-stability)))

View File

@ -414,8 +414,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
It has been modified to remove all non-free binary blobs.") It has been modified to remove all non-free binary blobs.")
(license license:gpl2))) (license license:gpl2)))
(define %linux-libre-version "5.0") (define %linux-libre-version "5.0.1")
(define %linux-libre-hash "18gs0kl5xvbmh725m7crg6iyqw3p8qq421aql7z0nlk035fh5xbx") (define %linux-libre-hash "0izbdpml170g5jg87ccnf2q1hc01gsyiy1gqxnqzzi3pri00dfyz")
(define %linux-libre-5.0-patches (define %linux-libre-5.0-patches
(list %boot-logo-patch (list %boot-logo-patch
@ -428,8 +428,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-5.0-patches #:patches %linux-libre-5.0-patches
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define %linux-libre-4.19-version "4.19.27") (define %linux-libre-4.19-version "4.19.28")
(define %linux-libre-4.19-hash "055n4s4yrkcrwkdsxbf1q1zyxmpabf7kba8d0phpfadian3wr4s0") (define %linux-libre-4.19-hash "0j65gp9z3qrygx67mkhm4ri3pj1pz0gdwcdlds2ypg53rh12jc0a")
(define %linux-libre-4.19-patches (define %linux-libre-4.19-patches
(list %boot-logo-patch (list %boot-logo-patch
@ -1119,7 +1119,7 @@ MIDI functionality to the Linux-based operating system.")
(outputs '("out" "pulseaudio" "jack")) (outputs '("out" "pulseaudio" "jack"))
(arguments (arguments
`(#:configure-flags '(;; Do not install a "local" configuration targeted `(#:configure-flags '(;; Do not install a "local" configuration targeted
;; for /etc/alsa. On GuixSD plugins are loaded from ;; for /etc/alsa. On Guix System plugins are loaded from
;; the ALSA service, and other distributions likely ;; the ALSA service, and other distributions likely
;; won't use these files. ;; won't use these files.
"--with-alsalconfdir=/tmp/noop") "--with-alsalconfdir=/tmp/noop")
@ -1586,7 +1586,7 @@ devices. It replaces @code{iwconfig}, which is deprecated.")
'(#:phases '(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; TODO: Patch some hardcoded "wlan0" in calibrate/calibrate.cpp to ;; TODO: Patch some hardcoded "wlan0" in calibrate/calibrate.cpp to
;; allow calibrating the network interface in GuixSD. ;; allow calibrating the network interface in Guix System.
(add-after 'unpack 'patch-absolute-file-names (add-after 'unpack 'patch-absolute-file-names
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((kmod (assoc-ref inputs "kmod"))) (let ((kmod (assoc-ref inputs "kmod")))
@ -2386,7 +2386,7 @@ compliance.")
#:tests? #f ;no tests #:tests? #f ;no tests
#:make-flags (let ((out (assoc-ref %outputs "out"))) #:make-flags (let ((out (assoc-ref %outputs "out")))
(list (string-append "PREFIX=" out) (list (string-append "PREFIX=" out)
(string-append "LSB_ID=GuixSD") (string-append "LSB_ID=Guix")
(string-append "DISTRO_PUBKEY=/dev/null") (string-append "DISTRO_PUBKEY=/dev/null")
(string-append "DISTRO_PRIVKEY=/dev/null") (string-append "DISTRO_PRIVKEY=/dev/null")
(string-append "REGDB_PUBKEY=/dev/null") (string-append "REGDB_PUBKEY=/dev/null")

View File

@ -451,14 +451,14 @@ use with Clang, targeting C++11, C++14 and above.")
(define-public python-llvmlite (define-public python-llvmlite
(package (package
(name "python-llvmlite") (name "python-llvmlite")
(version "0.24.0") (version "0.27.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "llvmlite" version)) (uri (pypi-uri "llvmlite" version))
(sha256 (sha256
(base32 (base32
"01zwjlc3c5mhrwmv4b73zgbskwqps9ly0nrh54bbj1f1l72f839j")))) "1aq003zbyjnz4q1118h6qx5lfimc8s5fvgskl75j12gxd6pc78a8"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
`(("llvm" `(("llvm"
@ -472,10 +472,10 @@ use with Clang, targeting C++11, C++14 and above.")
(method url-fetch) (method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/numba/" (uri (string-append "https://raw.githubusercontent.com/numba/"
"llvmlite/v" version "/conda-recipes/" "llvmlite/v" version "/conda-recipes/"
"D47188-svml.patch")) "D47188-svml-VF.patch"))
(sha256 (sha256
(base32 (base32
"0mrj24jvkv3hjcmyg98zmvmyl1znlh2j63rdr69f6g7s96d2pfv1"))) "0wxhgb61k17f0zg2m0726sf3hppm41f8jar2kkg2n8sl5cnjj9mr")))
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/numba/" (uri (string-append "https://raw.githubusercontent.com/numba/"

View File

@ -40,14 +40,19 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages algebra) #:use-module (gnu packages algebra)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cran) #:use-module (gnu packages cran)
#:use-module (gnu packages dejagnu) #:use-module (gnu packages dejagnu)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages mpi) #:use-module (gnu packages mpi)
#:use-module (gnu packages ocaml) #:use-module (gnu packages ocaml)
@ -924,3 +929,101 @@ interactive learning.")
Models, is a program for performing both single-SNP and SNP-set genome-wide Models, is a program for performing both single-SNP and SNP-set genome-wide
association studies (GWAS) on extremely large data sets.") association studies (GWAS) on extremely large data sets.")
(license license:asl2.0))) (license license:asl2.0)))
;; There have been no proper releases yet.
(define-public kaldi
(let ((commit "2f95609f0bb085bd3a1dc5eb0a39f3edea59e606")
(revision "1"))
(package
(name "kaldi")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kaldi-asr/kaldi.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"082qh3pfi7hvncylp4xsmkfahbd7gb0whdfa4rwrx7fxk9rdh3kz"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "src") #t))
(replace 'configure
(lambda* (#:key build system inputs outputs #:allow-other-keys)
(when (not (or (string-prefix? "x86_64" system)
(string-prefix? "i686" system)))
(substitute* "makefiles/linux_openblas.mk"
(("-msse -msse2") "")))
(substitute* "makefiles/default_rules.mk"
(("/bin/bash") (which "bash")))
(substitute* "Makefile"
(("ext_depend: check_portaudio")
"ext_depend:"))
(substitute* '("online/Makefile"
"onlinebin/Makefile"
"gst-plugin/Makefile")
(("../../tools/portaudio/install")
(assoc-ref inputs "portaudio")))
;; This `configure' script doesn't support variables passed as
;; arguments, nor does it support "prefix".
(let ((out (assoc-ref outputs "out"))
(openblas (assoc-ref inputs "openblas"))
(openfst (assoc-ref inputs "openfst")))
(substitute* "configure"
(("check_for_slow_expf;") "")
;; This affects the RPATH and also serves as the installation
;; directory.
(("KALDILIBDIR=`pwd`/lib")
(string-append "KALDILIBDIR=" out "/lib")))
(mkdir-p out) ; must exist
(setenv "CONFIG_SHELL" (which "bash"))
(setenv "OPENFST_VER" ,(package-version openfst))
(invoke "./configure"
"--use-cuda=no"
"--shared"
(string-append "--openblas-root=" openblas)
(string-append "--fst-root=" openfst)))))
(add-after 'build 'build-ext-and-gstreamer-plugin
(lambda _
(invoke "make" "-C" "online" "depend")
(invoke "make" "-C" "online")
(invoke "make" "-C" "onlinebin" "depend")
(invoke "make" "-C" "onlinebin")
(invoke "make" "-C" "gst-plugin" "depend")
(invoke "make" "-C" "gst-plugin")
#t))
;; TODO: also install the executables.
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib")))
(mkdir-p lib)
(install-file "gst-plugin/libgstonlinegmmdecodefaster.so" lib)
#t))))))
(inputs
`(("alsa-lib" ,alsa-lib)
("gfortran" ,gfortran "lib")
("glib" ,glib)
("gstreamer" ,gstreamer)
("jack" ,jack-1)
("openblas" ,openblas)
("openfst" ,openfst)
("portaudio" ,portaudio)
("python" ,python)))
(native-inputs
`(("glib" ,glib "bin") ; glib-genmarshal
("grep" ,grep)
("sed" ,sed)
("pkg-config" ,pkg-config)
("which" ,which)))
(home-page "https://kaldi-asr.org/")
(synopsis "Speech recognition toolkit")
(description "Kaldi is an extensible toolkit for speech recognition
written in C++.")
(license license:asl2.0))))

View File

@ -3667,7 +3667,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(define-public musescore (define-public musescore
(package (package
(name "musescore") (name "musescore")
(version "3.0.4") (version "3.0.5")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -3676,7 +3676,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"05cn4j5f7xr438lgl0by3lrc7wckdgicdn4jrvxfqic8hv81sca7")) "1inf6zdyh6yspjv1i7g6rw9wn90vki1s2qgilkp0j4aphayj4mic"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Un-bundle OpenSSL and remove unused libraries. ;; Un-bundle OpenSSL and remove unused libraries.
@ -3835,7 +3835,7 @@ specification and header.")
(define-public rosegarden (define-public rosegarden
(package (package
(name "rosegarden") (name "rosegarden")
(version "18.06") (version "18.12")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -3843,10 +3843,10 @@ specification and header.")
version "/rosegarden-" version ".tar.bz2")) version "/rosegarden-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"04qc80sqb2ji42pq3mayhvqqn39hlxzymsywpbpzfpchr19chxx7")))) "15i9fm0vkn3wsgahaxqi1j5zs0wc0j3wdwml0x49084gk2p328vb"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags '("-DUSE_QT5=1") ; "-DCMAKE_BUILD_TYPE=Release" `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'patch-tests (add-after 'unpack 'patch-tests

View File

@ -591,7 +591,7 @@ of the same name.")
(define-public wireshark (define-public wireshark
(package (package
(name "wireshark") (name "wireshark")
(version "2.6.6") (version "3.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -599,9 +599,32 @@ of the same name.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0qz8a1ays63712pq1v7nnw7c57zlqkcifq7himfv5nsv0zm36ya8")))) "17h0ixq7yr6scscjkidaj3dh5x6dfd3f97ggdxlklkz9nbsk0kxw"))))
(build-system gnu-build-system) (build-system cmake-build-system)
(inputs `(("c-ares" ,c-ares) (arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-failing-test
;; Test 31/32 fails with errors like "Program reassemble_test is
;; not available". Skipping it for now.
(lambda _
(substitute* "CMakeLists.txt"
(("suite_unittests" all) (string-append "# " all)))
#t)))
;; Build process chokes during `validate-runpath' phase.
;;
;; Errors are like the following:
;; "/gnu/store/...wireshark-3.0.0/lib/wireshark/plugins/3.0/epan/ethercat.so:
;; error: depends on 'libwireshark.so.12', which cannot be found in
;; RUNPATH". That is, "/gnu/store/...wireshark-3.0.0./lib" doesn't
;; belong to RUNPATH.
;;
;; Thats not a problem in practice because "ethercat.so" is a plugin,
;; so its dlopend by a process that already provides "libwireshark".
;; For now, we disable this phase.
#:validate-runpath? #f))
(inputs
`(("c-ares" ,c-ares)
("glib" ,glib) ("glib" ,glib)
("gnutls" ,gnutls) ("gnutls" ,gnutls)
("libcap" ,libcap) ("libcap" ,libcap)
@ -613,45 +636,21 @@ of the same name.")
("lz4" ,lz4) ("lz4" ,lz4)
("lua" ,lua-5.2) ;Lua 5.3 unsupported ("lua" ,lua-5.2) ;Lua 5.3 unsupported
("krb5" ,mit-krb5) ("krb5" ,mit-krb5)
("portaudio" ,portaudio)
("qtbase" ,qtbase) ("qtbase" ,qtbase)
("qtmultimedia" ,qtmultimedia) ("qtmultimedia" ,qtmultimedia)
("qtsvg" ,qtsvg)
("sbc" ,sbc) ("sbc" ,sbc)
("snappy" ,snappy) ("snappy" ,snappy)
("zlib" ,zlib))) ("zlib" ,zlib)))
(native-inputs `(("perl" ,perl) (native-inputs
`(("bison" ,bison)
("doxygen" ,doxygen)
("flex" ,flex)
("gettext" ,gettext-minimal)
("perl" ,perl)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python-wrapper) ("python" ,python-wrapper)
("qttools" ,qttools))) ("qttools" ,qttools)))
(arguments
`(#:configure-flags
(list (string-append "--with-c-ares=" (assoc-ref %build-inputs "c-ares"))
(string-append "--with-krb5=" (assoc-ref %build-inputs "krb5"))
(string-append "--with-libcap=" (assoc-ref %build-inputs "libcap"))
(string-append "--with-libssh=" (assoc-ref %build-inputs "libssh"))
(string-append "--with-lua=" (assoc-ref %build-inputs "lua"))
(string-append "--with-lz4=" (assoc-ref %build-inputs "lz4"))
(string-append "--with-pcap=" (assoc-ref %build-inputs "libpcap"))
(string-append "--with-portaudio="
(assoc-ref %build-inputs "portaudio"))
(string-append "--with-sbc=" (assoc-ref %build-inputs "sbc"))
(string-append "--with-snappy=" (assoc-ref %build-inputs "snappy"))
(string-append "--with-zlib=" (assoc-ref %build-inputs "zlib")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda _
;; Fix build against Qt 5.11.
(substitute* "ui/qt/packet_format_group_box.cpp"
(("#include <QStyle>") "#include <QStyle>
#include <QStyleOption>"))
(substitute* "ui/qt/time_shift_dialog.cpp"
(("#include <ui/time_shift.h>") "#include <ui/time_shift.h>
#include <QStyleOption>"))
(substitute* "ui/qt/wireless_frame.cpp"
(("#include <QProcess>") "#include <QProcess>
#include <QAbstractItemView>"))
#t)))))
(synopsis "Network traffic analyzer") (synopsis "Network traffic analyzer")
(description "Wireshark is a network protocol analyzer, or @dfn{packet (description "Wireshark is a network protocol analyzer, or @dfn{packet
sniffer}, that lets you capture and interactively browse the contents of sniffer}, that lets you capture and interactively browse the contents of

View File

@ -142,8 +142,8 @@
;; Set 'DOT_USER_PROGRAM' to the empty string so ;; Set 'DOT_USER_PROGRAM' to the empty string so
;; we don't keep a reference to Graphviz, whose ;; we don't keep a reference to Graphviz, whose
;; closure is pretty big (too big for the GuixSD ;; closure is pretty big (too big for the Guix
;; installation image.) ;; system installation image.)
"ac_cv_path_DOT_USER_PROGRAM=dot" "ac_cv_path_DOT_USER_PROGRAM=dot"
;; To avoid problems with the length of shebangs, ;; To avoid problems with the length of shebangs,

View File

@ -0,0 +1,61 @@
This patch makes pugixml install its headers to a standard location when
built as a shared library.
Taken from this upstream commit:
https://github.com/zeux/pugixml/commit/daeb8013b20f9c47e85730faaa4131064a1f9c2e
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 90fa6793..d7bc1b20 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,7 +4,7 @@ project(pugixml)
option(BUILD_SHARED_LIBS "Build shared instead of static library" OFF)
option(BUILD_TESTS "Build tests" OFF)
-option(BUILD_PKGCONFIG "Build in PKGCONFIG mode" OFF)
+option(USE_VERSIONED_LIBDIR "Use a private subdirectory to install the headers and libs" OFF)
set(BUILD_DEFINES "" CACHE STRING "Build defines")
@@ -55,7 +55,7 @@ endif()
set_target_properties(pugixml PROPERTIES VERSION 1.9 SOVERSION 1)
get_target_property(PUGIXML_VERSION_STRING pugixml VERSION)
-if(BUILD_PKGCONFIG)
+if(USE_VERSIONED_LIBDIR)
# Install library into its own directory under LIBDIR
set(INSTALL_SUFFIX /pugixml-${PUGIXML_VERSION_STRING})
endif()
@@ -71,10 +71,8 @@ install(TARGETS pugixml EXPORT pugixml-config
install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}${INSTALL_SUFFIX})
install(EXPORT pugixml-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pugixml)
-if(BUILD_PKGCONFIG)
- configure_file(scripts/pugixml.pc.in ${PROJECT_BINARY_DIR}/pugixml.pc @ONLY)
- install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
-endif()
+configure_file(scripts/pugixml.pc.in ${PROJECT_BINARY_DIR}/pugixml.pc @ONLY)
+install(FILES ${PROJECT_BINARY_DIR}/pugixml.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
if(BUILD_TESTS)
file(GLOB TEST_SOURCES tests/*.cpp)
diff --git a/scripts/pugixml.pc.in b/scripts/pugixml.pc.in
index 3c97c28d..804c4d38 100644
--- a/scripts/pugixml.pc.in
+++ b/scripts/pugixml.pc.in
@@ -1,11 +1,11 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
-includedir=${prefix}/include/pugixml-@PUGIXML_VERSION_STRING@
-libdir=${exec_prefix}/lib/pugixml-@PUGIXML_VERSION_STRING@
+includedir=${prefix}/include@INSTALL_SUFFIX@
+libdir=${exec_prefix}/lib@INSTALL_SUFFIX@
Name: pugixml
Description: Light-weight, simple and fast XML parser for C++ with XPath support.
URL: http://pugixml.org/
Version: @PUGIXML_VERSION_STRING@
Cflags: -I${includedir}
-Libs: -L${libdir} -lpugixml
\ No newline at end of file
+Libs: -L${libdir} -lpugixml

View File

@ -207,15 +207,18 @@ MTP, and much more.")
(define-public perl-image-exiftool (define-public perl-image-exiftool
(package (package
(name "perl-image-exiftool") (name "perl-image-exiftool")
(version "11.11") (version "11.31")
(source (origin (source
(origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (list
"mirror://cpan/authors/id/E/EX/EXIFTOOL/Image-ExifTool-" (string-append "mirror://cpan/authors/id/E/EX/EXIFTOOL/"
version ".tar.gz")) "Image-ExifTool-" version ".tar.gz")
;; New releases may take a while to hit CPAN.
(string-append "https://www.sno.phy.queensu.ca/~phil/exiftool/"
"Image-ExifTool-" version ".tar.gz")))
(sha256 (sha256
(base32 (base32 "1kplb7hvhrhqxkr4ddc44q7a3fs0r8svv2jlh325nwkfi7aa5kz5"))))
"1szg1k82nz88pp5n7lg71ja7q3hh5i5f9bcbb7m482dwrmsywkp6"))))
(build-system perl-build-system) (build-system perl-build-system)
(arguments (arguments
'(#:phases '(#:phases

View File

@ -73,7 +73,7 @@
(substitute* "src/polkitbackend/polkitbackendjsauthority.cpp" (substitute* "src/polkitbackend/polkitbackendjsauthority.cpp"
(("systemd") "elogind")) (("systemd") "elogind"))
;; GuixSD's polkit service stores actions under ;; Guix System's polkit service stores actions under
;; /etc/polkit-1/actions. ;; /etc/polkit-1/actions.
(substitute* "src/polkitbackend/polkitbackendinteractiveauthority.c" (substitute* "src/polkitbackend/polkitbackendinteractiveauthority.c"
(("PACKAGE_DATA_DIR \"/polkit-1/actions\"") (("PACKAGE_DATA_DIR \"/polkit-1/actions\"")

View File

@ -3217,26 +3217,19 @@ color scales, and color space conversion easy. It has support for:
(define-public python-pygit2 (define-public python-pygit2
(package (package
(name "python-pygit2") (name "python-pygit2")
(version "0.27.3") (version "0.27.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pygit2" version)) (uri (pypi-uri "pygit2" version))
(sha256 (sha256
(base32 (base32
"046ahvsb7a20sgvscqfm3cb32sp3sii4gim9vz7zzrkf7yz16xlv")))) "15c1mhwwjc7nr8hn5gm21hcfhw61jmwb0vngpjhlm3y5565wg2pz"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:phases '(#:tests? #f; tests don't run correctly in our environment
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; Remove after the next update. See:
;; https://github.com/libgit2/pygit2/pull/851
(add-after 'unpack 'compile-with-cffi
(lambda _
(substitute* "setup.py"
(("install_requires")
"setup_requires=['cffi'],\n install_requires"))
#t))
(add-after 'unpack 'fix-dependency-versioning (add-after 'unpack 'fix-dependency-versioning
(lambda _ (lambda _
(substitute* "setup.py" (substitute* "setup.py"
@ -8997,14 +8990,14 @@ to occurrences in strings and comments.")
(define-public python-py3status (define-public python-py3status
(package (package
(name "python-py3status") (name "python-py3status")
(version "3.7") (version "3.16")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "py3status" version)) (uri (pypi-uri "py3status" version))
(sha256 (sha256
(base32 (base32
"0shxcfz4wcczj0mhwp4w0dvwd2fdd9bgprq8slim1519iiqzgwhq")))) "1xrfph277bgjln3jbpzpgkhxad04fjvj7s3xfil42q1sxi4s3q3g"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
`(("file" ,file))) `(("file" ,file)))
@ -11653,6 +11646,27 @@ applications in seconds while maintaining all the flexibility.")
(define-public python2-mando (define-public python2-mando
(package-with-python2 python-mando)) (package-with-python2 python-mando))
(define-public python2-argparse
(package
(name "python2-argparse")
(version "1.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "argparse" version))
(sha256
(base32
"1r6nznp64j68ih1k537wms7h57nvppq0szmwsaf99n71bfjqkc32"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
(home-page "https://github.com/ThomasWaldmann/argparse/")
(synopsis "Python command-line parsing library")
(description
"This package is mostly for people who want to have @code{argparse} on
older Pythons because it was not part of the standard library back then.")
(license license:psfl)))
(define-public python-fudge (define-public python-fudge
(package (package
(name "python-fudge") (name "python-fudge")
@ -14365,14 +14379,14 @@ validation testing and application logic.")
(define-public python-numba (define-public python-numba
(package (package
(name "python-numba") (name "python-numba")
(version "0.39.0") (version "0.42.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "numba" version)) (uri (pypi-uri "numba" version))
(sha256 (sha256
(base32 (base32
"1bibvkwga1v8293i9ivl469d8bzgabn3vgr2ig7c1i68v8frsx07")))) "03rqdfx0512lcri2bcpngx5k3jwfbqnanqj3n19c7d6h6hqxvq9x"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:modules ((guix build utils) `(#:modules ((guix build utils)

View File

@ -151,14 +151,14 @@ anywhere.")
(define-public samba (define-public samba
(package (package
(name "samba") (name "samba")
(version "4.9.4") (version "4.9.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.samba.org/pub/samba/stable/" (uri (string-append "https://download.samba.org/pub/samba/stable/"
"samba-" version ".tar.gz")) "samba-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0kqbzywlnh1skg6g78qilyn12qv7wri66h5v9f77igncpkcai63d")))) "001p896z609vb0qs196bgl362j7y3qibgm5gcl9028lfv795d287"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View File

@ -91,7 +91,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
(define-public fish (define-public fish
(package (package
(name "fish") (name "fish")
(version "3.0.0") (version "3.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -99,7 +99,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
"releases/download/" version "/" "releases/download/" version "/"
name "-" version ".tar.gz")) name "-" version ".tar.gz"))
(sha256 (sha256
(base32 "1kzjd0n0sfslkd36lzrvvvgy3qwkd9y466bkrqlnhd5h9dhx77ga")))) (base32 "03j3jl9jzlnhq4p86zj8wqsh5sx45j1d1fvfa80ks1cfdg68qwhl"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("fish-foreign-env" ,fish-foreign-env) `(("fish-foreign-env" ,fish-foreign-env)

View File

@ -29,15 +29,14 @@
(define-public skalibs (define-public skalibs
(package (package
(name "skalibs") (name "skalibs")
(version "2.7.0.0") (version "2.8.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://skarnet.org/software/skalibs/skalibs-" (uri (string-append "http://skarnet.org/software/skalibs/skalibs-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "00mh15jx3p4xzhkslxzpgi1c0xglywck1ik7ffi0hfwcq092wla7"))))
"0mnprdf4w4ami0db22rwd111m037cdmn2p8xa4i8cbwxcrv4sjcn"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f ; no tests exist '(#:tests? #f ; no tests exist
@ -62,15 +61,14 @@ and file system operations. It is used by all skarnet.org software.")
(define-public execline (define-public execline
(package (package
(name "execline") (name "execline")
(version "2.5.0.1") (version "2.5.1.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://skarnet.org/software/execline/execline-" (uri (string-append "http://skarnet.org/software/execline/execline-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "0xr6yb50wm6amj1wc7jmxyv7hvlx2ypbnww1vc288j275625d9xi"))))
"0j8hwdw8wn0rv8njdza8fbgmvyjg7hqp3qlbw00i7fwskr7d21wd"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs))) (inputs `(("skalibs" ,skalibs)))
(arguments (arguments
@ -105,15 +103,14 @@ complexity.")))
(define-public s6 (define-public s6
(package (package
(name "s6") (name "s6")
(version "2.7.2.2") (version "2.8.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://skarnet.org/software/s6/s6-" (uri (string-append "http://skarnet.org/software/s6/s6-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "01milx5shixvniaxxmanfzz54vcymjfi86433w62rk5ypvc94ir8"))))
"0psjmfidjdciswakw9agzzniqfmhrr21765m0q77kwxg7iisgpsq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs) (inputs `(("skalibs" ,skalibs)
("execline" ,execline))) ("execline" ,execline)))
@ -144,15 +141,14 @@ functionality with a very small amount of code.")))
(define-public s6-dns (define-public s6-dns
(package (package
(name "s6-dns") (name "s6-dns")
(version "2.3.0.1") (version "2.3.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://skarnet.org/software/s6-dns/s6-dns-" (uri (string-append "http://skarnet.org/software/s6-dns/s6-dns-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "1y9bhvx8bqsb2xq5lmlfnc1hw2b3jyqg11i9r4lj0n6vvaqwh1j8"))))
"16ymalc4yxbwc0kapwmissxlw2bdk4sx3b33zp1gwx3n6hkcgh8c"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs))) (inputs `(("skalibs" ,skalibs)))
(arguments (arguments
@ -174,15 +170,14 @@ as an alternative to the BIND, djbdns or other DNS clients.")))
(define-public s6-networking (define-public s6-networking
(package (package
(name "s6-networking") (name "s6-networking")
(version "2.3.0.3") (version "2.3.0.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://skarnet.org/software/s6-networking/s6-networking-" (uri (string-append "http://skarnet.org/software/s6-networking/s6-networking-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "00kqp0mcp8c7f0z5s4399rd1haxasxkqgd6ds0j0607hvi56mqqa"))))
"1kfjl7da6wkmyq1mvq9irkbzk2wbi0axjfbcw5cym5y11mqswsjs"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs) (inputs `(("skalibs" ,skalibs)
("execline" ,execline) ("execline" ,execline)
@ -218,15 +213,14 @@ clock synchronization.")))
(define-public s6-rc (define-public s6-rc
(package (package
(name "s6-rc") (name "s6-rc")
(version "0.4.1.0") (version "0.5.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://skarnet.org/software/s6-rc/s6-rc-" (uri (string-append "http://skarnet.org/software/s6-rc/s6-rc-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "0p97p49i8m44lfiffycgn7xi08yzxkrs5dyb03svdhd6clwh6zyb"))))
"1xl37xi509pcm5chcvn8l7gb952sr5mkpxhpkbsxhsllj791bfa2"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs) (inputs `(("skalibs" ,skalibs)
("execline" ,execline) ("execline" ,execline)
@ -260,7 +254,7 @@ environment.")))
(define-public s6-portable-utils (define-public s6-portable-utils
(package (package
(name "s6-portable-utils") (name "s6-portable-utils")
(version "2.2.1.2") (version "2.2.1.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -268,8 +262,7 @@ environment.")))
"http://skarnet.org/software/s6-portable-utils/s6-portable-utils-" "http://skarnet.org/software/s6-portable-utils/s6-portable-utils-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "1ibjns1slyg1p7jl9irzlrjz8b01f506iw87g3s7db5arhf17vv2"))))
"0if77z07rfygd1yk9d2abxkdbx3dg52vcjhb20isb8kvqxhkg8ih"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs))) (inputs `(("skalibs" ,skalibs)))
(arguments (arguments
@ -293,7 +286,7 @@ systems and other constrained environments, but they work everywhere.")))
(define-public s6-linux-init (define-public s6-linux-init
(package (package
(name "s6-linux-init") (name "s6-linux-init")
(version "0.4.0.0") (version "0.4.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -301,8 +294,7 @@ systems and other constrained environments, but they work everywhere.")))
"http://skarnet.org/software/s6-linux-init/s6-linux-init-" "http://skarnet.org/software/s6-linux-init/s6-linux-init-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "0i79b0r3amhsf1xqr9k9v9bxmm4imlakfpsybviwhlj8dlawldxm"))))
"0zpd6n30cf8847240f658gw40sh64lm1mbaxr19q6rryvs5rpb6l"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("skalibs" ,skalibs))) `(("skalibs" ,skalibs)))
@ -331,7 +323,7 @@ all the details.")))
(define-public s6-linux-utils (define-public s6-linux-utils
(package (package
(name "s6-linux-utils") (name "s6-linux-utils")
(version "2.5.0.0") (version "2.5.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -339,8 +331,7 @@ all the details.")))
"http://skarnet.org/software/s6-linux-utils/s6-linux-utils-" "http://skarnet.org/software/s6-linux-utils/s6-linux-utils-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "0bpcaah3rbz4i013bkarr7wxmfvisjyxg0z78xg5zfbgajpgjxx1"))))
"04q2z71dkzahd2ppga2zikclz2qk014c23gm7rigqxjc8rs1amvq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs))) (inputs `(("skalibs" ,skalibs)))
(arguments (arguments

View File

@ -177,7 +177,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.")
(define r-with-tests (define r-with-tests
(package (package
(name "r-with-tests") (name "r-with-tests")
(version "3.5.1") (version "3.5.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cran/src/base/R-" (uri (string-append "mirror://cran/src/base/R-"
@ -185,7 +185,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1vap2k8kj5icy9naw61f9zyphf4rs0c9rxvil0zxkwx0xvsvyqq4")))) "1337irx9y0r3jm1rcq1dcwnxsgfhnvgjs5wadcyh17vhpnvkgyib"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:disallowed-references (,tzdata-for-tests) `(#:disallowed-references (,tzdata-for-tests)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Mckinley Olsen <mck.olsen@gmail.com> ;;; Copyright © 2016 Mckinley Olsen <mck.olsen@gmail.com>
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 David Craven <david@craven.ch>
@ -44,6 +44,7 @@
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
@ -60,6 +61,8 @@
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages perl-check) #:use-module (gnu packages perl-check)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
@ -338,7 +341,7 @@ combining, and so on, with a simple interface.")
(define-public picocom (define-public picocom
(package (package
(name "picocom") (name "picocom")
(version "2.2") (version "3.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -347,15 +350,16 @@ combining, and so on, with a simple interface.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"06b2ic34dnxc73cprc5imi3iamlhsv623sbg9vj5h5rvs586dwjx")))) "1vvjydqf0ax47nvdyyl67jafw5b3sfsav00xid6qpgia1gs2r72n"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags '("CC=gcc") `(#:make-flags '("CC=gcc")
#:tests? #f ; No tests #:tests? #f ; no tests
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure) ; no configure script
(replace 'install (replace 'install
;; The Makefile lacks an install target.
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")) (bin (string-append out "/bin"))
@ -363,11 +367,12 @@ combining, and so on, with a simple interface.")
(install-file "picocom" bin) (install-file "picocom" bin)
(install-file "picocom.1" man))))))) (install-file "picocom.1" man)))))))
(home-page "https://github.com/npat-efault/picocom") (home-page "https://github.com/npat-efault/picocom")
(synopsis "Minimal dumb-terminal emulation program") (synopsis "Minimal dumb-terminal emulator")
(description "It was designed to serve as a simple, manual, modem (description
configuration, testing, and debugging tool. It has also serves well "Picocom is a minimal dumb-terminal emulation program. It was designed to
as a low-tech serial communications program to allow access to all serve as a simple and manual modem configuration, testing, and debugging tool.
types of devices that provide serial consoles.") It also serves well as a low-tech serial communications program to allow access
to all types of devices that provide serial consoles.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public beep (define-public beep
@ -1015,3 +1020,50 @@ arbitrary programs of your choice. This is useful for browsing the history
comfortably in a pager or editor. comfortably in a pager or editor.
@end itemize") @end itemize")
(license license:gpl3+))) (license license:gpl3+)))
(define-public eternalterminal
(package
(name "eternalterminal")
(version "5.1.9")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/MisterTea/EternalTerminal.git")
(commit (string-append "et-v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"07ynkcnk3z6wafdlnzdxcd308cw1rzabxyq47ybj79lyji3wsgk7"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DBUILD_TEST=ON")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'insert-googletests
(lambda* (#:key inputs #:allow-other-keys)
(let ((tests (assoc-ref inputs "googletest")))
(invoke "tar" "xvf" tests "-C" "external/googletest"
"--strip-components=1"))))
(add-after 'install 'dont-provide-gtest-libraries
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(delete-file-recursively (string-append out "/include"))
(delete-file-recursively (string-append out "/lib")))
#t)))))
(inputs
`(("gflags" ,gflags)
("libsodium" ,libsodium)
("protobuf" ,protobuf)))
(native-inputs
`(("googletest" ,(package-source googletest))))
(home-page "https://mistertea.github.io/EternalTerminal/")
(synopsis "Remote shell that reconnects without interrupting the session")
(description "@dfn{Eternal Terminal} (ET) is a remote shell that
automatically reconnects without interrupting the session. ET uses SSH to
initialize a secure connection. Unlike SSH sessions, which must be killed and
reconnected after a network outage an ET session will survive network outages
and IP roaming. ET provides the same core functionality as @command{mosh},
while also supporting native scrolling and @command{tmux} control mode
(@code{tmux -CC}).")
(license license:asl2.0)))

View File

@ -9,7 +9,7 @@
;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; ;;;
@ -185,7 +185,7 @@
;; ps2eps.pl uses the "gswin32c" ghostscript executable on Windows, ;; ps2eps.pl uses the "gswin32c" ghostscript executable on Windows,
;; and the "gs" ghostscript executable on Unix. It detects Unix by ;; and the "gs" ghostscript executable on Unix. It detects Unix by
;; checking for the existence of the /usr/bin directory. Since ;; checking for the existence of the /usr/bin directory. Since
;; GuixSD does not have /usr/bin, it is also detected as Windows. ;; Guix System does not have /usr/bin, it is also detected as Windows.
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(substitute* "utils/ps2eps/ps2eps-src/bin/ps2eps.pl" (substitute* "utils/ps2eps/ps2eps-src/bin/ps2eps.pl"
(("gswin32c") "gs")) (("gswin32c") "gs"))
@ -5457,14 +5457,14 @@ PDF documents.")
(define-public texmaker (define-public texmaker
(package (package
(name "texmaker") (name "texmaker")
(version "5.0.2") (version "5.0.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.xm1math.net/texmaker/texmaker-" (uri (string-append "http://www.xm1math.net/texmaker/texmaker-"
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0y81mjm89b99pr9svcwpaf4iz2q9pc9hjas5kiwd1pbgl5vqskm9")))) "0vrj9w5lk3vf6138n5bz8phmy3xp5kv4dq1rgirghcf4hbxdyx30"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View File

@ -533,13 +533,13 @@ netcat implementation that supports TLS.")
(package (package
(name "python-acme") (name "python-acme")
;; Remember to update the hash of certbot when updating python-acme. ;; Remember to update the hash of certbot when updating python-acme.
(version "0.31.0") (version "0.32.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "acme" version)) (uri (pypi-uri "acme" version))
(sha256 (sha256
(base32 (base32
"1gxjv09c695lj8swspa390nch117i60qkrgy135383vfk00jsp3y")))) "1v0skyrjnbxq0lfmia5k6jy29iig4sxbi9j9q367xsw0g25wxvqf"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -590,7 +590,7 @@ netcat implementation that supports TLS.")
(uri (pypi-uri name version)) (uri (pypi-uri name version))
(sha256 (sha256
(base32 (base32
"0wq4jgyzli684h154w26xplp0fzyks2vlrnmhafhyb0h1bw9cc8c")))) "1j63i0j019q0d3l5rx14fv4nxy01nplhk7q2k2fq10vxl0jlxff0"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(,@(substitute-keyword-arguments (package-arguments python-acme) `(,@(substitute-keyword-arguments (package-arguments python-acme)
@ -608,8 +608,8 @@ netcat implementation that supports TLS.")
#t)))))))) #t))))))))
;; TODO: Add optional inputs for testing. ;; TODO: Add optional inputs for testing.
(native-inputs (native-inputs
`(("python-nose" ,python-nose) `(("python-mock" ,python-mock)
("python-mock" ,python-mock) ("python-pytest" ,python-pytest)
;; For documentation ;; For documentation
("python-sphinx" ,python-sphinx) ("python-sphinx" ,python-sphinx)
("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme) ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
@ -618,6 +618,7 @@ netcat implementation that supports TLS.")
("texinfo" ,texinfo))) ("texinfo" ,texinfo)))
(propagated-inputs (propagated-inputs
`(("python-acme" ,python-acme) `(("python-acme" ,python-acme)
("python-cryptography" ,python-cryptography)
("python-zope-interface" ,python-zope-interface) ("python-zope-interface" ,python-zope-interface)
("python-pyrfc3339" ,python-pyrfc3339) ("python-pyrfc3339" ,python-pyrfc3339)
("python-pyopenssl" ,python-pyopenssl) ("python-pyopenssl" ,python-pyopenssl)

View File

@ -5,6 +5,7 @@
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -27,7 +28,9 @@
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages ncurses)) #:use-module (gnu packages ncurses))
@ -134,3 +137,50 @@ continue running in the background, then later reattached.")
command and helper commands provided by tmuxifier to manage Tmux sessions and command and helper commands provided by tmuxifier to manage Tmux sessions and
windows.") windows.")
(license expat))) (license expat)))
(define-public tmux-xpanes
(package
(name "tmux-xpanes")
(version "4.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/greymd/tmux-xpanes.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0px164ikhnzfls6dld4xhiyd9j5jp2rbmwfg11b1pxzm9mp7qk6r"))))
(build-system trivial-build-system)
(inputs
`(("bash" ,bash)))
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(setenv "PATH" (string-append (assoc-ref %build-inputs "bash") "/bin"))
(copy-recursively (assoc-ref %build-inputs "source") ".")
(substitute* "bin/xpanes"
(("/bin/bash") (which "bash")))
(install-file "bin/xpanes" (string-append %output "/bin"))
(install-file "man/xpanes.1" (string-append %output "/man/man1"))
#t)))
(home-page "https://github.com/greymd/tmux-xpanes")
(synopsis "Tmux based terminal divider")
(description "This package provides tmux-based terminal divider.
@code{xpanes} or @code{tmux-xpanes} (alias of @code{xpanes}) commands have
following features:
@itemize
@item Split tmux window into multiple panes.
@item Build command lines & execute them on the panes.
@item Runnable from outside of tmux session.
@item Runnable from inside of tmux session.
@item Record operation log.
@item Flexible layout arrangement for panes.
@item Display pane title on each pane.
@item Generate command lines from standard input (Pipe mode).
@end itemize")
(license expat)))

View File

@ -1412,7 +1412,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl (define-public youtube-dl
(package (package
(name "youtube-dl") (name "youtube-dl")
(version "2019.03.01") (version "2019.03.09")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/rg3/youtube-dl/releases/" (uri (string-append "https://github.com/rg3/youtube-dl/releases/"
@ -1420,7 +1420,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0bxk6adyppdv50jnp5cika8wc6wfgd6d8zbg1njgmcs1pxskllmf")))) "1g46mrmzr31b2r6x0g6wmg3j00qc8l6cbzmdik0l5vwjfcrdvghf"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
;; The problem here is that the directory for the man page and completion ;; The problem here is that the directory for the man page and completion
@ -1531,7 +1531,7 @@ other site that youtube-dl supports.")
(define-public you-get (define-public you-get
(package (package
(name "you-get") (name "you-get")
(version "0.4.1256") (version "0.4.1270")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1540,7 +1540,7 @@ other site that youtube-dl supports.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1hzr7ha1jvbc0v2bwl7s08ymwdmvb0f2jz4xp1fi6agq5y3ca1iv")))) "123g6x8sh32v4yn4ss55lfw7j79hgl3l6aiwgrk4ndq7dzhnz46q"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
`(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos `(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos
@ -1816,15 +1816,15 @@ for use with HTML5 video.")
(define-public avidemux (define-public avidemux
(package (package
(name "avidemux") (name "avidemux")
(version "2.7.1") (version "2.7.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://sourceforge/" name "/" name "/" version "/" "mirror://sourceforge/avidemux/avidemux/" version "/"
name "_" version ".tar.gz")) "avidemux_" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"15g9h791qbnmycabbbl7s2b3n3xpvygm88qrfk35g2cw6957ik9w")) "07fdz3y4iln7cizikdjj96dqvp2f8zzhs31ncxxwzdkngn5v8138"))
(patches (search-patches "avidemux-install-to-lib.patch")))) (patches (search-patches "avidemux-install-to-lib.patch"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
@ -1857,23 +1857,24 @@ for use with HTML5 video.")
#:phases #:phases
;; Make sure files inside the included ffmpeg tarball are ;; Make sure files inside the included ffmpeg tarball are
;; patch-shebanged. ;; patch-shebanged.
(let ((ffmpeg "ffmpeg-4.1.1"))
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'patch-source-shebangs 'unpack-ffmpeg (add-before 'patch-source-shebangs 'unpack-ffmpeg
(lambda _ (lambda _
(with-directory-excursion "avidemux_core/ffmpeg_package" (with-directory-excursion "avidemux_core/ffmpeg_package"
(invoke "tar" "xf" "ffmpeg-3.3.7.tar.bz2") (invoke "tar" "xf" (string-append ffmpeg ".tar.bz2"))
(delete-file "ffmpeg-3.3.7.tar.bz2")) (delete-file (string-append ffmpeg ".tar.bz2")))
#t)) #t))
(add-after 'patch-source-shebangs 'repack-ffmpeg (add-after 'patch-source-shebangs 'repack-ffmpeg
(lambda _ (lambda _
(with-directory-excursion "avidemux_core/ffmpeg_package" (with-directory-excursion "avidemux_core/ffmpeg_package"
(substitute* "ffmpeg-3.3.7/configure" (substitute* (string-append ffmpeg "/configure")
(("#! /bin/sh") (string-append "#!" (which "sh")))) (("#! /bin/sh") (string-append "#!" (which "sh"))))
(invoke "tar" "cjf" "ffmpeg-3.3.7.tar.bz2" "ffmpeg-3.3.7" (invoke "tar" "cjf" (string-append ffmpeg ".tar.bz2") ffmpeg
;; avoid non-determinism in the archive ;; avoid non-determinism in the archive
"--sort=name" "--mtime=@0" "--sort=name" "--mtime=@0"
"--owner=root:0" "--group=root:0") "--owner=root:0" "--group=root:0")
(delete-file-recursively "ffmpeg-3.3.7")) (delete-file-recursively ffmpeg))
#t)) #t))
(replace 'configure (replace 'configure
(lambda _ (lambda _
@ -1923,7 +1924,7 @@ for use with HTML5 video.")
(delete-file-recursively (delete-file-recursively
(string-append out "/share/ADM6_addons")) (string-append out "/share/ADM6_addons"))
#t))) #t)))
(delete 'install)))) (delete 'install)))))
(home-page "http://fixounet.free.fr/avidemux/") (home-page "http://fixounet.free.fr/avidemux/")
(synopsis "Video editor") (synopsis "Video editor")
(description "Avidemux is a video editor designed for simple cutting, (description "Avidemux is a video editor designed for simple cutting,
@ -1983,7 +1984,7 @@ format changes.")
(define-public xvid (define-public xvid
(package (package
(name "xvid") (name "xvid")
(version "1.3.4") (version "1.3.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1991,7 +1992,7 @@ format changes.")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1xwbmp9wqshc0ckm970zdpi0yvgqxlqg0s8bkz98mnr8p2067bsz")))) "1d0hy1w9sn6491a3vhyf3vmhq4xkn6yd4ralx1191s6qz5wz483w"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("yasm" ,yasm))) (native-inputs `(("yasm" ,yasm)))
(arguments (arguments

View File

@ -39,7 +39,7 @@
(define-public w3m (define-public w3m
(package (package
(name "w3m") (name "w3m")
(version "0.5.3+git20180125") (version "0.5.3+git20190105")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
;; Debian's fork of w3m is the only one that is still maintained. ;; Debian's fork of w3m is the only one that is still maintained.
@ -49,7 +49,7 @@
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0dafdfx1yhrvhbqzslkcapj09dvf64m2jadz3wl2icni0k4msq90")))) "1fbg2p8qh2gvi3g4iz4q6vc0k70pf248r4yndi5lcn2m3mzvjx0i"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f ; no check target '(#:tests? #f ; no check target

View File

@ -397,7 +397,7 @@ driven and does not detract you from your daily work.")
(inputs (inputs
`(("glib-networking" ,glib-networking) `(("glib-networking" ,glib-networking)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("webkitgtk" ,webkitgtk-2.22))) ("webkitgtk" ,webkitgtk-2.24)))
(native-inputs (native-inputs
`(("gcc-7" ,gcc-7) ; needed because webkitgtk-2.22 is compiled with gcc-7 `(("gcc-7" ,gcc-7) ; needed because webkitgtk-2.22 is compiled with gcc-7
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))

View File

@ -194,16 +194,18 @@ Interface} specification.")
(define-public nginx (define-public nginx
(package (package
(name "nginx") (name "nginx")
;; Consider updating the nginx-documentation package if the nginx package is ;; Track the mainline branch. Upstream considers it more reliable than
;; updated. ;; stable and recommends that “in general you deploy the NGINX mainline
(version "1.14.2") ;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/)
;; Consider updating the nginx-documentation package together with this one.
(version "1.15.9")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-" (uri (string-append "https://nginx.org/download/nginx-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"15wppq12qmq8acjs35xfj61czhf9cdc0drnl5mm8hcg3aihryb80")))) "0hxfsz1117r91b9fb5hjddyrf1czvb36lh1z7zalqqdskfcbmkz4"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("openssl" ,openssl) (inputs `(("openssl" ,openssl)
("pcre" ,pcre) ("pcre" ,pcre)
@ -327,13 +329,13 @@ documentation.")
(license l:bsd-2)))) (license l:bsd-2))))
(define-public nginx-documentation (define-public nginx-documentation
;; This documentation should be relevant for nginx@1.13.11. ;; This documentation should be relevant for nginx@1.15.9.
(let ((revision 2131) (let ((revision 2345)
(changeset "dbaf3950f8e9")) (changeset "7ef11708457e"))
(package (package
(name "nginx-documentation") (name "nginx-documentation")
(version (version
(simple-format #f "2018-04-04-~A-~A" revision changeset)) (simple-format #f "2019-03-01-~A-~A" revision changeset))
(source (source
(origin (method hg-fetch) (origin (method hg-fetch)
(uri (hg-reference (uri (hg-reference
@ -342,7 +344,7 @@ documentation.")
(file-name (string-append name "-" version)) (file-name (string-append name "-" version))
(sha256 (sha256
(base32 (base32
"0acdjsdaqixzh9g9s6db552v4pan4nqrllyqapay9ns9yzh1hrp7")))) "15975jvh53mnsgi4hhgrwdwy3by23v4kxnhy2vnkziq8v7wkmy4y"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f ; no test suite '(#:tests? #f ; no test suite
@ -360,8 +362,7 @@ documentation.")
;; banner. ;; banner.
(substitute* "xslt/style.xslt" (substitute* "xslt/style.xslt"
(("#banner \\{ background: black;") (("#banner \\{ background: black;")
"#banner { background: black; "#banner { display: none;"))
display: none;"))
(invoke "make") (invoke "make")
#t))) #t)))
(replace 'install (replace 'install
@ -750,7 +751,7 @@ current version of any major web browser.")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/miloyip/rapidjson.git") (url "https://github.com/Tencent/rapidjson.git")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
@ -775,7 +776,7 @@ current version of any major web browser.")
(("native") "armv8-a")) (("native") "armv8-a"))
#t)))) #t))))
'()))) '())))
(home-page "https://github.com/miloyip/rapidjson") (home-page "https://github.com/Tencent/rapidjson")
(synopsis "JSON parser/generator for C++ with both SAX/DOM style API") (synopsis "JSON parser/generator for C++ with both SAX/DOM style API")
(description (description
"RapidJSON is a fast JSON parser/generator for C++ with both SAX/DOM "RapidJSON is a fast JSON parser/generator for C++ with both SAX/DOM
@ -4763,15 +4764,14 @@ tools like SSH (Secure Shell) to reach the outside world.")
(define-public stunnel (define-public stunnel
(package (package
(name "stunnel") (name "stunnel")
(version "5.48") (version "5.50")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.stunnel.org/downloads/stunnel-" (uri (string-append "https://www.stunnel.org/downloads/stunnel-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "0j811iakljjxw39qchmqf235jdkwixb0i4xxjyi55f08558947cm"))))
"1pxqn9ixl80nrhfq12igyi874653jclji56hh9w24snf0aixa48h"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
;; For tests. ;; For tests.

View File

@ -165,20 +165,23 @@ HTML/CSS applications to full-fledged web browsers.")
;; newer version of GCC than our default compiler, and this causes problems ;; newer version of GCC than our default compiler, and this causes problems
;; when linked with C++ libraries built using our default compiler. For now, ;; when linked with C++ libraries built using our default compiler. For now,
;; we use this newer webkitgtk only for selected packages, e.g. epiphany. ;; we use this newer webkitgtk only for selected packages, e.g. epiphany.
(define-public webkitgtk-2.22 (define-public webkitgtk-2.24
(package/inherit webkitgtk (package/inherit webkitgtk
(name "webkitgtk") (name "webkitgtk")
(version "2.22.7") (version "2.24.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.webkitgtk.org/releases/" (uri (string-append "https://www.webkitgtk.org/releases/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1zrhmz90sn30zgyflj4i86fsscws10xsi2kfs87nj2nd0pbggrjb")))) "01s446lmjk7y8il4snjm32vpxws2rp4hmxrwm2swx0p47x8d2jif"))))
(native-inputs (native-inputs
`(("gcc" ,gcc-7) ; webkitgtk-2.22 requires gcc-6 or newer `(("gcc" ,gcc-7) ; webkitgtk-2.22 requires gcc-6 or newer
,@(package-native-inputs webkitgtk))) ,@(package-native-inputs webkitgtk)))
(inputs
`(("openjpeg" ,openjpeg)
,@(package-inputs webkitgtk)))
(arguments (arguments
(substitute-keyword-arguments (package-arguments webkitgtk) (substitute-keyword-arguments (package-arguments webkitgtk)
((#:phases phases) ((#:phases phases)

View File

@ -18,6 +18,7 @@
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com> ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -42,6 +43,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system haskell) #:use-module (guix build-system haskell)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (gnu packages haskell) #:use-module (gnu packages haskell)
@ -77,6 +79,10 @@
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages suckless) #:use-module (gnu packages suckless)
#:use-module (gnu packages mpd) #:use-module (gnu packages mpd)
#:use-module (gnu packages gl)
#:use-module (gnu packages video)
#:use-module (gnu packages version-control)
#:use-module (gnu packages man)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)) #:use-module (guix git-download))
@ -1102,3 +1108,145 @@ its size
customizable status bars for their desktop environment. It has built-in customizable status bars for their desktop environment. It has built-in
functionality to display information about the most commonly used services.") functionality to display information about the most commonly used services.")
(license license:expat))) (license license:expat)))
(define-public wlroots
(package
(name "wlroots")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/swaywm/wlroots.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1phiidyddzgaxy4gbqwmykxn0y8za6y5mp66l9dpd9i6fml153yq"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Dlogind-provider=elogind")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'hardcode-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "xwayland/xwayland.c"
(("Xwayland") (string-append (assoc-ref inputs
"xorg-server-xwayland")
"/bin/Xwayland")))
#t)))))
(inputs `(("elogind" ,elogind)
("eudev" ,eudev)
("libinput" ,libinput)
("libxkbcommon" ,libxkbcommon)
("mesa" ,mesa)
("pixman" ,pixman)
("wayland" ,wayland)
("xorg-server-xwayland" ,xorg-server-xwayland)))
(native-inputs `(("ffmpeg" ,ffmpeg)
("libcap" ,libcap)
("libpng" ,libpng)
("pkg-config" ,pkg-config)
("wayland-protocols" ,wayland-protocols)))
(home-page "https://github.com/swaywm/wlroots")
(synopsis "Pluggable, composable, unopinionated modules for building a
Wayland compositor")
(description "wlroots is a set of pluggable, composable, unopinionated
modules for building a Wayland compositor.")
(license license:expat))) ; MIT license
(define-public sway
(package
(name "sway")
(version "1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/swaywm/sway.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "09cndc2nl39d3l7g5634xp0pxcz60pvc5277mfw89r22mh0j78rx"))))
(build-system meson-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'hardcode-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "meson.build"
(("scdoc.get_pkgconfig_variable..scdoc..")
(string-append "'" (assoc-ref inputs "scdoc")
"/bin/scdoc'")))
#t)))))
(inputs `(("cairo" ,cairo)
("elogind" ,elogind)
("gdk-pixbuf" ,gdk-pixbuf)
("json-c" ,json-c)
("libinput" ,libinput)
("libxkbcommon" ,libxkbcommon)
("pango" ,pango)
("wayland" ,wayland)
("wlroots" ,wlroots)))
(native-inputs `(("git" ,git)
("libcap" ,libcap)
("linux-pam" ,linux-pam)
("mesa" ,mesa)
("pkg-config" ,pkg-config)
("scdoc" ,scdoc)
("wayland-protocols" ,wayland-protocols)))
(home-page "https://github.com/swaywm/sway")
(synopsis "Wayland compositor compatible with i3")
(description "Sway is a i3-compatible Wayland compositor.")
(license license:expat))) ; MIT license
(define-public swayidle
(package
(name "swayidle")
(version "1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/swaywm/swayidle.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0b65flajwn2i6k2kdxxgw25w7ikzzmm595f4j5x1wac1rb0yah9w"))))
(build-system meson-build-system)
(inputs `(("wayland" ,wayland)))
(native-inputs `(("pkg-config" ,pkg-config)
("scdoc" ,scdoc)
("wayland-protocols" ,wayland-protocols)))
(home-page "https://github.com/swaywm/sway")
(synopsis "Idle management daemon for Wayland compositors")
(description "Swayidle is a idle management daemon for Wayland compositors.")
(license license:expat))) ; MIT license
(define-public swaylock
(package
(name "swaylock")
(version "1.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/swaywm/swaylock.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "093nv1y9wyg48rfxhd36qdljjry57v1vkzrlc38mkf6zvsq8j7wb"))))
(build-system meson-build-system)
(inputs `(("cairo" ,cairo)
("gdk-pixbuf" ,gdk-pixbuf)
("libxkbcommon" ,libxkbcommon)
;("linux-pam" ,linux-pam) ; FIXME: Doesn't work.
("wayland" ,wayland)))
(native-inputs `(("git" ,git)
("pango" ,pango)
("pkg-config" ,pkg-config)
("scdoc" ,scdoc)
("wayland-protocols" ,wayland-protocols)))
(home-page "https://github.com/swaywm/sway")
(synopsis "Screen locking utility for Wayland compositors")
(description "Swaylock is a screen locking utility for Wayland compositors.")
(license license:expat))) ; MIT license

View File

@ -861,14 +861,16 @@ the form of functions.")
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/zeux/pugixml/releases/download/v" (uri (string-append "https://github.com/zeux/pugixml/releases/download/v"
version "/pugixml-" version ".tar.gz")) version "/pugixml-" version ".tar.gz"))
(patches (search-patches "pugixml-versioned-libdir.patch"))
(sha256 (sha256
(base32 (base32
"19nv3zhik3djp4blc4vrjwrl8dfhzmal8b21sq7y907nhddx6mni")))) "19nv3zhik3djp4blc4vrjwrl8dfhzmal8b21sq7y907nhddx6mni"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags '("-DCMAKE_CXX_FLAGS=-shared -fPIC" `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")
"-DCMAKE_C_FLAGS=-shared -fPIC")
#:tests? #f)) ;no tests #:tests? #f)) ;no tests
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://pugixml.org") (home-page "https://pugixml.org")
(synopsis "Light-weight, simple and fast XML parser for C++ with XPath support") (synopsis "Light-weight, simple and fast XML parser for C++ with XPath support")
(description (description

View File

@ -2624,17 +2624,14 @@ as USB mice.")
(define-public xf86-video-amdgpu (define-public xf86-video-amdgpu
(package (package
(name "xf86-video-amdgpu") (name "xf86-video-amdgpu")
(version "18.1.0") (version "19.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append "mirror://xorg/individual/driver/"
"mirror://xorg/individual/driver/xf86-video-amdgpu-" "xf86-video-amdgpu-" version ".tar.bz2"))
version
".tar.bz2"))
(sha256 (sha256
(base32 (base32 "0lag9jxd752ja7m7ngz3dmqffb5wbx4crdwjw74qx42m8xyi8dl8"))))
"0wlnb929l3yqj4hdkzyxyhbaph13ac4villajgmbh66pa6xja7z1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("xorg-server" ,xorg-server))) (inputs `(("xorg-server" ,xorg-server)))
(native-inputs `(("pkg-config" ,pkg-config))) (native-inputs `(("pkg-config" ,pkg-config)))
@ -2694,17 +2691,14 @@ X server.")
(define-public xf86-video-ati (define-public xf86-video-ati
(package (package
(name "xf86-video-ati") (name "xf86-video-ati")
(version "18.0.1") (version "19.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append "mirror://xorg/individual/driver/"
"mirror://xorg/individual/driver/xf86-video-ati-" "xf86-video-ati-" version ".tar.bz2"))
version
".tar.bz2"))
(sha256 (sha256
(base32 (base32 "0mzl7yp3qkvankh22758sgpaw9mg6jxsfbg6wy0nxfw4i0qpv46x"))))
"180l2yw8c63cbcs3zk729vx439aig1d7yicpyxj0nmfl4y0kpskj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("mesa" ,mesa) (inputs `(("mesa" ,mesa)
("xorgproto" ,xorgproto) ("xorgproto" ,xorgproto)
@ -6361,7 +6355,7 @@ output.")
(define-public console-setup (define-public console-setup
(package (package
(name "console-setup") (name "console-setup")
(version "1.189") (version "1.190")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -6369,7 +6363,7 @@ output.")
(url "https://salsa.debian.org/installer-team/console-setup.git") (url "https://salsa.debian.org/installer-team/console-setup.git")
(commit version))) (commit version)))
(sha256 (sha256
(base32 "09rfnnhwjm98im711v6jrgl49iy5n1b26x12zzk5rw6g1667mz86")) (base32 "0qklm9ww1wap2bs7hp31xkfjyhdrirg2mk4hiv7h6fiqckzmdwvd"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View File

@ -43,6 +43,7 @@
#:select (canonical-package glibc glibc-utf8-locales)) #:select (canonical-package glibc glibc-utf8-locales))
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages package-management) #:use-module (gnu packages package-management)
#:use-module ((gnu packages gnupg) #:select (guile-gcrypt))
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages terminals) #:use-module (gnu packages terminals)
#:use-module ((gnu build file-systems) #:use-module ((gnu build file-systems)
@ -50,6 +51,7 @@
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix modules) #:use-module (guix modules)
#:use-module ((guix self) #:select (make-config.scm))
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (ice-9 match) #:use-module (ice-9 match)
@ -329,7 +331,7 @@ seconds after @code{SIGTERM} has been sent are terminated with
`(("fstab" ,(plain-file "fstab" `(("fstab" ,(plain-file "fstab"
(string-append (string-append
"\ "\
# This file was generated from your GuixSD configuration. Any changes # This file was generated from your Guix configuration. Any changes
# will be lost upon reboot or reconfiguration.\n\n" # will be lost upon reboot or reconfiguration.\n\n"
(string-join (map file-system->fstab-entry (string-join (map file-system->fstab-entry
file-systems) file-systems)
@ -1481,16 +1483,14 @@ pam-limits-entry specified in LIMITS via pam_limits.so."
(define* (guix-build-accounts count #:key (define* (guix-build-accounts count #:key
(group "guixbuild") (group "guixbuild")
(first-uid 30001)
(shadow shadow)) (shadow shadow))
"Return a list of COUNT user accounts for Guix build users, with UIDs "Return a list of COUNT user accounts for Guix build users with the given
starting at FIRST-UID, and under GID." GID."
(unfold (cut > <> count) (unfold (cut > <> count)
(lambda (n) (lambda (n)
(user-account (user-account
(name (format #f "guixbuilder~2,'0d" n)) (name (format #f "guixbuilder~2,'0d" n))
(system? #t) (system? #t)
(uid (+ first-uid n -1))
(group group) (group group)
;; guix-daemon expects GROUP to be listed as a ;; guix-daemon expects GROUP to be listed as a
@ -1504,27 +1504,58 @@ starting at FIRST-UID, and under GID."
1+ 1+
1)) 1))
(define not-config?
;; Select (guix …) and (gnu …) modules, except (guix config).
(match-lambda
(('guix 'config) #f)
(('guix rest ...) #t)
(('gnu rest ...) #t)
(rest #f)))
(define (hydra-key-authorization keys guix) (define (hydra-key-authorization keys guix)
"Return a gexp with code to register KEYS, a list of files containing 'guix "Return a gexp with code to register KEYS, a list of files containing 'guix
archive' public keys, with GUIX." archive' public keys, with GUIX."
#~(unless (file-exists? "/etc/guix/acl") (define aaa
(for-each (lambda (key) ;; XXX: Terrible hack to work around <https://bugs.gnu.org/15602>: this
(let ((pid (primitive-fork))) ;; forces (guix config) and (guix utils) to be loaded upfront, so that
(case pid ;; their run-time symbols are defined.
((0) (scheme-file "aaa.scm"
(let* ((port (open-file key "r0b"))) #~(define-module (guix aaa)
(format #t "registering public key '~a'...~%" key) #:use-module (guix config)
(close-port (current-input-port)) #:use-module (guix memoization))))
(dup port 0)
(execl #$(file-append guix "/bin/guix") (define default-acl
"guix" "archive" "--authorize") (with-extensions (list guile-gcrypt)
(primitive-exit 1))) (with-imported-modules `(((guix config) => ,(make-config.scm))
(else ((guix aaa) => ,aaa)
(let ((status (cdr (waitpid pid)))) ,@(source-module-closure '((guix pki))
(unless (zero? status) #:select? not-config?))
(format (current-error-port) "warning: \ (computed-file "acl"
failed to register public key '~a': ~a~%" key status))))))) #~(begin
'(#$@keys)))) (use-modules (guix pki)
(gcrypt pk-crypto)
(ice-9 rdelim))
(define keys
(map (lambda (file)
(call-with-input-file file
(compose string->canonical-sexp
read-string)))
'(#$@keys)))
(call-with-output-file #$output
(lambda (port)
(write-acl (public-keys->acl keys)
port))))))))
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(unless (file-exists? "/etc/guix/acl")
(mkdir-p "/etc/guix")
(copy-file #+default-acl "/etc/guix/acl")
(chmod "/etc/guix/acl" #o600)))))
(define %default-authorized-guix-keys (define %default-authorized-guix-keys
;; List of authorized substitute keys. ;; List of authorized substitute keys.

View File

@ -22,6 +22,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module ((guix utils) #:select (source-properties->location))
#:autoload (texinfo) (texi-fragment->stexi) #:autoload (texinfo) (texi-fragment->stexi)
#:autoload (texinfo serialize) (stexi->texi) #:autoload (texinfo serialize) (stexi->texi)
#:use-module (ice-9 match) #:use-module (ice-9 match)
@ -129,6 +130,10 @@
#,(id #'stem #'% #'stem) #,(id #'stem #'% #'stem)
#,(id #'stem #'make- #'stem) #,(id #'stem #'make- #'stem)
#,(id #'stem #'stem #'?) #,(id #'stem #'stem #'?)
(%location #,(id #'stem #'-location)
(default (and=> (current-source-location)
source-properties->location))
(innate))
(field field-getter (default def)) (field field-getter (default def))
...) ...)
(define #,(id #'stem #'stem #'-fields) (define #,(id #'stem #'stem #'-fields)

View File

@ -862,7 +862,7 @@ IPP specifications.")
(define* (create-self-signed-certificate-if-absent (define* (create-self-signed-certificate-if-absent
#:key private-key public-key (owner (getpwnam "root")) #:key private-key public-key (owner (getpwnam "root"))
(common-name (gethostname)) (common-name (gethostname))
(organization-name "GuixSD") (organization-name "Guix")
(organization-unit-name "Default Self-Signed Certificate") (organization-unit-name "Default Self-Signed Certificate")
(subject-parameters `(("CN" . ,common-name) (subject-parameters `(("CN" . ,common-name)
("O" . ,organization-name) ("O" . ,organization-name)

View File

@ -906,9 +906,13 @@ and extends polkit with the actions from @code{gnome-settings-daemon}."
(service-extension profile-service-type (service-extension profile-service-type
(compose list (compose list
mate-package)))) mate-package))))
(default-value (mate-desktop-configuration))
(description "Run the MATE desktop environment."))) (description "Run the MATE desktop environment.")))
(define* (mate-desktop-service #:key (config (mate-desktop-configuration))) (define-deprecated (mate-desktop-service #:key
(config
(mate-desktop-configuration)))
mate-desktop-service-type
"Return a service that adds the @code{mate} package to the system profile, "Return a service that adds the @code{mate} package to the system profile,
and extends polkit with the actions from @code{mate-settings-daemon}." and extends polkit with the actions from @code{mate-settings-daemon}."
(service mate-desktop-service-type config)) (service mate-desktop-service-type config))

View File

@ -1485,7 +1485,7 @@ greyed out, instead of only later giving \"not selectable\" popup error.
(define* (create-self-signed-certificate-if-absent (define* (create-self-signed-certificate-if-absent
#:key private-key public-key (owner (getpwnam "root")) #:key private-key public-key (owner (getpwnam "root"))
(common-name (gethostname)) (common-name (gethostname))
(organization-name "GuixSD") (organization-name "Guix")
(organization-unit-name "Default Self-Signed Certificate") (organization-unit-name "Default Self-Signed Certificate")
(subject-parameters `(("CN" . ,common-name) (subject-parameters `(("CN" . ,common-name)
("O" . ,organization-name) ("O" . ,organization-name)

View File

@ -461,7 +461,7 @@ about using the hashed backend. See also
(log (log
(maybe-string "*syslog") (maybe-string "*syslog")
"Set logging options. Advanced logging configuration is not yet supported "Set logging options. Advanced logging configuration is not yet supported
by the GuixSD Prosody Service. See @url{https://prosody.im/doc/logging}." by the Prosody service. See @url{https://prosody.im/doc/logging}."
common) common)
(pidfile (pidfile

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org> ;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -29,7 +29,8 @@
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix records) #:use-module (guix records)
#:use-module ((guix ui) #:select (display-hint)) #:use-module (guix utils)
#:use-module ((guix ui) #:select (display-hint G_))
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 rdelim) #:use-module (ice-9 rdelim)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
@ -509,10 +510,9 @@ create it manually.")
(number 10051) (number 10051)
"Zabbix server port.")) "Zabbix server port."))
(define zabbix-front-end-config (define (zabbix-front-end-config config)
(match-lambda (match-record config <zabbix-front-end-configuration>
(($ <zabbix-front-end-configuration> (%location db-host db-port db-name db-user db-password db-secret-file
_ db-host db-port db-name db-user db-password db-secret-file
zabbix-host zabbix-port) zabbix-host zabbix-port)
(mixed-text-file "zabbix.conf.php" (mixed-text-file "zabbix.conf.php"
"\ "\
@ -525,20 +525,29 @@ $DB['SERVER'] = '" db-host "';
$DB['PORT'] = '" (number->string db-port) "'; $DB['PORT'] = '" (number->string db-port) "';
$DB['DATABASE'] = '" db-name "'; $DB['DATABASE'] = '" db-name "';
$DB['USER'] = '" db-user "'; $DB['USER'] = '" db-user "';
$DB['PASSWORD'] = '" (if (string-null? db-password) $DB['PASSWORD'] = '" (let ((file (location-file %location))
(line (location-line %location))
(column (location-column %location)))
(if (string-null? db-password)
(if (string-null? db-secret-file) (if (string-null? db-secret-file)
(raise (condition (raise (make-compound-condition
(condition
(&message (&message
(message "\ (message
you must provide either 'db-secret-file' or 'db-password'")))) (format #f "no '~A' or '~A' field in your '~A' record"
'db-secret-file 'db-password
'zabbix-front-end-configuration))))
(condition
(&error-location
(location %location)))))
(string-trim-both (string-trim-both
(with-input-from-file db-secret-file (with-input-from-file db-secret-file
read-string))) read-string)))
(begin (begin
(display-hint "\ (display-hint (format #f (G_ "~a:~a:~a: ~a:
Consider using @code{db-secret-file} instead of @code{db-password} and unset Consider using @code{db-secret-file} instead of @code{db-password} for better
@code{db-password} for security in @code{zabbix-front-end-configuration}.") security.") file line column 'zabbix-front-end-configuration))
db-password)) "'; db-password))) "';
// Schema name. Used for IBM DB2 and PostgreSQL. // Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = ''; $DB['SCHEMA'] = '';
@ -548,7 +557,7 @@ $ZBX_SERVER_PORT = '" (number->string zabbix-port) "';
$ZBX_SERVER_NAME = ''; $ZBX_SERVER_NAME = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG; $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
")))) ")))
(define %maintenance.inc.php (define %maintenance.inc.php
;; Empty php file to allow us move zabbix-frontend configs to /etc/zabbix ;; Empty php file to allow us move zabbix-frontend configs to /etc/zabbix

View File

@ -8,7 +8,7 @@
(define vm-image-motd (plain-file "motd" " (define vm-image-motd (plain-file "motd" "
This is the GNU system. Welcome! This is the GNU system. Welcome!
This instance of GuixSD is a bare-bones template for virtualized environments. This instance of Guix System is a bare-bones template for virtualized environments.
You will probably want to do these things first if you booted in a virtual You will probably want to do these things first if you booted in a virtual
private server (VPS): private server (VPS):

View File

@ -353,7 +353,7 @@ You have been warned. Thanks for being so brave.\x1b[0m
;; the appropriate one. ;; the appropriate one.
(cons* (file-system (cons* (file-system
(mount-point "/") (mount-point "/")
(device (file-system-label "GuixSD_image")) (device (file-system-label "Guix_image"))
(type "ext4")) (type "ext4"))
;; Make /tmp a tmpfs instead of keeping the overlayfs. This ;; Make /tmp a tmpfs instead of keeping the overlayfs. This

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -28,6 +28,7 @@
#:use-module (guix modules) #:use-module (guix modules)
#:use-module (gnu build linux-container) #:use-module (gnu build linux-container)
#:use-module (gnu services) #:use-module (gnu services)
#:use-module (gnu services base)
#:use-module (gnu system) #:use-module (gnu system)
#:use-module (gnu system file-systems) #:use-module (gnu system file-systems)
#:export (system-container #:export (system-container
@ -54,8 +55,19 @@ containerized OS."
(file-system (inherit (file-system-mapping->bind-mount fs)) (file-system (inherit (file-system-mapping->bind-mount fs))
(needed-for-boot? #t))) (needed-for-boot? #t)))
(define useless-services
;; Services that make no sense in a container. Those that attempt to
;; access /dev/tty[0-9] in particular cannot work in a container.
(list console-font-service-type
mingetty-service-type
agetty-service-type))
(operating-system (inherit os) (operating-system (inherit os)
(swap-devices '()) ; disable swap (swap-devices '()) ; disable swap
(services (remove (lambda (service)
(memq (service-kind service)
useless-services))
(operating-system-user-services os)))
(file-systems (append (map mapping->fs (cons %store-mapping mappings)) (file-systems (append (map mapping->fs (cons %store-mapping mappings))
%container-file-systems %container-file-systems
user-file-systems)))) user-file-systems))))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; ;;;
@ -32,8 +32,7 @@
#:use-module (gnu system uuid) #:use-module (gnu system uuid)
#:autoload (gnu build file-systems) (find-partition-by-luks-uuid) #:autoload (gnu build file-systems) (find-partition-by-luks-uuid)
#:autoload (gnu build linux-modules) #:autoload (gnu build linux-modules)
(device-module-aliases matching-modules known-module-aliases (missing-modules)
normalize-module-name file-name->module-name)
#:autoload (gnu packages cryptsetup) (cryptsetup-static) #:autoload (gnu packages cryptsetup) (cryptsetup-static)
#:autoload (gnu packages linux) (mdadm-static) #:autoload (gnu packages linux) (mdadm-static)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
@ -118,25 +117,15 @@
(define (check-device-initrd-modules device linux-modules location) (define (check-device-initrd-modules device linux-modules location)
"Raise an error if DEVICE needs modules beyond LINUX-MODULES to operate. "Raise an error if DEVICE needs modules beyond LINUX-MODULES to operate.
DEVICE must be a \"/dev\" file name." DEVICE must be a \"/dev\" file name."
(define aliases (define missing
;; Attempt to load 'modules.alias' from the current kernel, assuming we're ;; Attempt to determine missing modules.
;; on GuixSD, and assuming that corresponds to the kernel we'll be
;; installing. Skip the whole thing if that file cannot be read.
(catch 'system-error (catch 'system-error
(lambda () (lambda ()
(known-module-aliases)) (missing-modules device linux-modules))
(const #f)))
(when aliases ;; If we can't do that (e.g., EPERM), skip the whole thing.
(let* ((modules (delete-duplicates (const '())))
(append-map (cut matching-modules <> aliases)
(device-module-aliases device))))
;; Module names (not file names) are supposed to use underscores
;; instead of hyphens. MODULES is a list of module names, whereas
;; LINUX-MODULES is file names without '.ko', so normalize them.
(provided (map file-name->module-name linux-modules))
(missing (remove (cut member <> provided) modules)))
(unless (null? missing) (unless (null? missing)
;; Note: What we suggest here is a list of module names (e.g., ;; Note: What we suggest here is a list of module names (e.g.,
;; "usb_storage"), not file names (e.g., "usb-storage.ko"). This is ;; "usb_storage"), not file names (e.g., "usb-storage.ko"). This is
@ -163,7 +152,7 @@ If you think this diagnostic is inaccurate, use the @option{--skip-checks}
option of @command{guix system}.\n") option of @command{guix system}.\n")
missing))) missing)))
(&error-location (&error-location
(location (source-properties->location location))))))))) (location (source-properties->location location)))))))
;;; ;;;

View File

@ -463,8 +463,8 @@ the image."
"Build a docker image. OS is the desired <operating-system>. NAME is the "Build a docker image. OS is the desired <operating-system>. NAME is the
base name to use for the output file. When REGISTER-CLOSURES? is not #f, base name to use for the output file. When REGISTER-CLOSURES? is not #f,
register the closure of OS with Guix in the resulting Docker image. This only register the closure of OS with Guix in the resulting Docker image. This only
makes sense when you want to build a GuixSD Docker image that has Guix makes sense when you want to build a Guix System Docker image that has Guix
installed inside of it. If you don't need Guix (e.g., your GuixSD Docker installed inside of it. If you don't need Guix (e.g., your Docker
image just contains a web server that is started by the Shepherd), then you image just contains a web server that is started by the Shepherd), then you
should set REGISTER-CLOSURES? to #f." should set REGISTER-CLOSURES? to #f."
(define schema (define schema
@ -610,7 +610,7 @@ to USB sticks meant to be read-only."
(define root-label (define root-label
;; Volume name of the root file system. ;; Volume name of the root file system.
(normalize-label "GuixSD_image")) (normalize-label "Guix_image"))
(define root-uuid (define root-uuid
;; UUID of the root file system, computed in a deterministic fashion. ;; UUID of the root file system, computed in a deterministic fashion.

View File

@ -47,7 +47,7 @@
;;; Commentary: ;;; Commentary:
;;; ;;;
;;; Test the installation of GuixSD using the documented approach at the ;;; Test the installation of Guix using the documented approach at the
;;; command line. ;;; command line.
;;; ;;;
;;; Code: ;;; Code:
@ -204,7 +204,7 @@ reboot\n")
(guix combinators)))) (guix combinators))))
(installation-disk-image-file-system-type "ext4") (installation-disk-image-file-system-type "ext4")
(target-size (* 2200 MiB))) (target-size (* 2200 MiB)))
"Run SCRIPT (a shell script following the GuixSD installation procedure) in "Run SCRIPT (a shell script following the system installation procedure) in
OS to install TARGET-OS. Return a VM image of TARGET-SIZE bytes containing OS to install TARGET-OS. Return a VM image of TARGET-SIZE bytes containing
the installed system. The packages specified in PACKAGES will be appended to the installed system. The packages specified in PACKAGES will be appended to
packages defined in installation-os." packages defined in installation-os."

View File

@ -65,20 +65,29 @@ lives in, or #f if this is not applicable."
(let ((manifest (profile-manifest profile))) (let ((manifest (profile-manifest profile)))
(manifest-entries manifest)))))) (manifest-entries manifest))))))
(define package-path-entries (define current-channel-entries
(mlambda () (mlambda ()
"Return a list of package path entries to be added to the package search "Return manifest entries corresponding to extra channels--i.e., not the
path. These entries are taken from the 'guix pull' profile the calling 'guix' channel."
process lives in, when applicable." (remove (lambda (entry)
;; Filter out Guix itself. (string=? (manifest-entry-name entry) "guix"))
(filter-map (lambda (entry)
(and (not (string=? (manifest-entry-name entry)
"guix"))
(string-append (manifest-entry-item entry)
"/share/guile/site/"
(effective-version))))
(current-profile-entries)))) (current-profile-entries))))
(define (package-path-entries)
"Return two values: the list of package path entries to be added to the
package search path, and the list to be added to %LOAD-COMPILED-PATH. These
entries are taken from the 'guix pull' profile the calling process lives in,
when applicable."
;; Filter out Guix itself.
(unzip2 (map (lambda (entry)
(list (string-append (manifest-entry-item entry)
"/share/guile/site/"
(effective-version))
(string-append (manifest-entry-item entry)
"/lib/guile/" (effective-version)
"/site-ccache")))
(current-channel-entries))))
(define (package-provenance package) (define (package-provenance package)
"Return the provenance of PACKAGE as an sexp for use as the 'provenance' "Return the provenance of PACKAGE as an sexp for use as the 'provenance'
property of manifest entries, or #f if it could not be determined." property of manifest entries, or #f if it could not be determined."

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -112,7 +112,7 @@ depends on."
".scm")) ".scm"))
(define (guix-module-name? name) (define (guix-module-name? name)
"Return true if NAME (a list of symbols) denotes a Guix or GuixSD module." "Return true if NAME (a list of symbols) denotes a Guix module."
(match name (match name
(('guix _ ...) #t) (('guix _ ...) #t)
(('gnu _ ...) #t) (('gnu _ ...) #t)

View File

@ -855,27 +855,19 @@ when CUT? returns true for a given package."
#:optional (rewrite-name identity)) #:optional (rewrite-name identity))
"Return a procedure that, when passed a package, replaces its direct and "Return a procedure that, when passed a package, replaces its direct and
indirect dependencies (but not its implicit inputs) according to REPLACEMENTS. indirect dependencies (but not its implicit inputs) according to REPLACEMENTS.
REPLACEMENTS is a list of package pairs or a promise thereof; the first REPLACEMENTS is a list of package pairs; the first element of each pair is the
element of each pair is the package to replace, and the second one is the package to replace, and the second one is the replacement.
replacement.
Optionally, REWRITE-NAME is a one-argument procedure that takes the name of a Optionally, REWRITE-NAME is a one-argument procedure that takes the name of a
package and returns its new name after rewrite." package and returns its new name after rewrite."
(define (rewrite p) (define (rewrite p)
(match (assq-ref (if (promise? replacements) (match (assq-ref replacements p)
(force replacements)
replacements)
p)
(#f (package (#f (package
(inherit p) (inherit p)
(name (rewrite-name (package-name p))))) (name (rewrite-name (package-name p)))))
(new new))) (new new)))
(package-mapping rewrite (package-mapping rewrite (cut assq <> replacements)))
(lambda (package)
(assq package (if (promise? replacements)
(force replacements)
replacements)))))
(define-syntax-rule (package/inherit p overrides ...) (define-syntax-rule (package/inherit p overrides ...)
"Like (package (inherit P) OVERRIDES ...), except that the same "Like (package (inherit P) OVERRIDES ...), except that the same

View File

@ -114,7 +114,7 @@ void LocalStore::optimisePath_(OptimiseStats & stats, const Path & path, InodeHa
/* Sometimes SNAFUs can cause files in the store to be /* Sometimes SNAFUs can cause files in the store to be
modified, in particular when running programs as root under modified, in particular when running programs as root under
GuixSD (example: $fontconfig/var/cache being modified). Skip Guix System (example: $fontconfig/var/cache being modified). Skip
those files. FIXME: check the modification time. */ those files. FIXME: check the modification time. */
if (S_ISREG(st.st_mode) && (st.st_mode & S_IWUSR)) { if (S_ISREG(st.st_mode) && (st.st_mode & S_IWUSR)) {
printMsg(lvlError, format("skipping suspicious writable file `%1%'") % path); printMsg(lvlError, format("skipping suspicious writable file `%1%'") % path);

File diff suppressed because it is too large Load Diff