Merge branch 'master' into staging
This commit is contained in:
		
						commit
						ebfe259f66
					
				
					 89 changed files with 12276 additions and 7662 deletions
				
			
		
							
								
								
									
										38
									
								
								Makefile.am
									
										
									
									
									
								
							
							
						
						
									
										38
									
								
								Makefile.am
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -661,17 +661,17 @@ SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux armhf-linux aarch64-linux
 | 
			
		|||
BINARY_TARBALLS =							\
 | 
			
		||||
  $(foreach system,$(SUPPORTED_SYSTEMS),guix-binary.$(system).tar.xz)
 | 
			
		||||
 | 
			
		||||
# Systems supported by GuixSD.
 | 
			
		||||
GUIXSD_SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux
 | 
			
		||||
# Systems supported by Guix System.
 | 
			
		||||
GUIX_SYSTEM_SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux
 | 
			
		||||
 | 
			
		||||
# Systems for which we build GuixSD VMs.
 | 
			
		||||
GUIXSD_VM_SYSTEMS ?= x86_64-linux
 | 
			
		||||
# Systems for which we build Guix VMs.
 | 
			
		||||
GUIX_SYSTEM_VM_SYSTEMS ?= x86_64-linux
 | 
			
		||||
 | 
			
		||||
# Prefix of the GuixSD installation image file name.
 | 
			
		||||
GUIXSD_IMAGE_BASE = guixsd-install-$(PACKAGE_VERSION)
 | 
			
		||||
# Prefix of the Guix installation image file name.
 | 
			
		||||
GUIX_SYSTEM_IMAGE_BASE = guix-system-install-$(PACKAGE_VERSION)
 | 
			
		||||
 | 
			
		||||
# Prefix of the GuixSD VM image file name.
 | 
			
		||||
GUIXSD_VM_IMAGE_BASE = guixsd-vm-image-$(PACKAGE_VERSION)
 | 
			
		||||
# Prefix of the Guix VM image file name.
 | 
			
		||||
GUIX_SYSTEM_VM_IMAGE_BASE = guix-system-vm-image-$(PACKAGE_VERSION)
 | 
			
		||||
 | 
			
		||||
# 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.
 | 
			
		||||
#   3. Build the binary tarballs for that 'guix' package.
 | 
			
		||||
#   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'.
 | 
			
		||||
#
 | 
			
		||||
# This 'release' target takes care of everything and copies the resulting
 | 
			
		||||
| 
						 | 
				
			
			@ -713,32 +713,32 @@ release: dist
 | 
			
		|||
	   "`git rev-parse HEAD`"
 | 
			
		||||
	git add $(top_srcdir)/gnu/packages/package-management.scm
 | 
			
		||||
	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						\
 | 
			
		||||
	    guix system disk-image							\
 | 
			
		||||
	    --file-system-type=iso9660							\
 | 
			
		||||
            --system=$$system								\
 | 
			
		||||
	    gnu/system/install.scm` ;							\
 | 
			
		||||
	  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 ;									\
 | 
			
		||||
	  fi ;										\
 | 
			
		||||
	  xz < "$$image" > "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.iso.xz.tmp" ;	\
 | 
			
		||||
	  mv "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.iso.xz.tmp"			\
 | 
			
		||||
	     "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.iso.xz" ;			\
 | 
			
		||||
	  xz < "$$image" > "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.xz.tmp" ;	\
 | 
			
		||||
	  mv "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.xz.tmp"		\
 | 
			
		||||
	     "$(releasedir)/$(GUIX_SYSTEM_IMAGE_BASE).$$system.iso.xz" ;		\
 | 
			
		||||
	done
 | 
			
		||||
	for system in $(GUIXSD_VM_SYSTEMS) ; do						\
 | 
			
		||||
	for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do					\
 | 
			
		||||
	  image=`$(top_builddir)/pre-inst-env						\
 | 
			
		||||
	    guix system vm-image							\
 | 
			
		||||
	    --system=$$system								\
 | 
			
		||||
	    gnu/system/examples/vm-image.tmpl` ;					\
 | 
			
		||||
	  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 ;									\
 | 
			
		||||
	  fi ;										\
 | 
			
		||||
	  xz < "$$image" > "$(releasedir)/$(GUIXSD_VM_IMAGE_BASE).$$system.xz.tmp" ;	\
 | 
			
		||||
	  mv "$(releasedir)/$(GUIXSD_VM_IMAGE_BASE).$$system.xz.tmp"			\
 | 
			
		||||
	     "$(releasedir)/$(GUIXSD_VM_IMAGE_BASE).$$system.xz" ;			\
 | 
			
		||||
	  xz < "$$image" > "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.xz.tmp" ;	\
 | 
			
		||||
	  mv "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.xz.tmp"			\
 | 
			
		||||
	     "$(releasedir)/$(GUIX_SYSTEM_VM_IMAGE_BASE).$$system.xz" ;			\
 | 
			
		||||
	done
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo "Congratulations!  All the release files are now in $(releasedir)."
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,6 +27,7 @@ beliebigen Namen oder ein Pseudonym ihrer Wahl verwenden.
 | 
			
		|||
* Erstellung aus dem Git::   Das Neueste und Beste.
 | 
			
		||||
* Guix vor der Installation ausführen::  Hacker-Tricks.
 | 
			
		||||
* Perfekt eingerichtet::     Die richtigen Werkzeuge.
 | 
			
		||||
* Paketrichtlinien::         Die Distribution wachsen lassen.
 | 
			
		||||
* Code-Stil::                Wie Mitwirkende hygienisch arbeiten.
 | 
			
		||||
* Einreichen von Patches::   Teilen Sie Ihre Arbeit.
 | 
			
		||||
@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
 | 
			
		||||
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
 | 
			
		||||
@code{make install}.  To do that, you first need to have an environment with
 | 
			
		||||
all the dependencies available (@pxref{Erstellung aus dem Git}), and then simply
 | 
			
		||||
prefix each command with @command{./pre-inst-env} (the @file{pre-inst-env}
 | 
			
		||||
script lives in the top build tree of Guix; it is generated by
 | 
			
		||||
@command{./configure}), as in@footnote{The @option{-E} flag to
 | 
			
		||||
@command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set such
 | 
			
		||||
that @command{guix-daemon} and the tools it uses can find the Guile modules
 | 
			
		||||
they need.}:
 | 
			
		||||
Zu diesem Zweck können alle Befehlszeilenwerkzeuge auch schon benutzt
 | 
			
		||||
werden, ohne dass Sie @code{make install} laufen lassen.  Dazu müssen Sie
 | 
			
		||||
sich in einer Umgebung befinden, in der alle Abhängigkeiten von Guix
 | 
			
		||||
verfügbar sind (@pxref{Erstellung aus dem Git}) und darin einfach vor jeden
 | 
			
		||||
Befehl @command{./pre-inst-env} schreiben (das Skript @file{pre-inst-env}
 | 
			
		||||
befindet sich auf oberster Ebene im Verzeichnis, wo Guix erstellt wird, wo
 | 
			
		||||
es durch @command{./configure} erzeugt wird), zum Beispiel so@footnote{Die
 | 
			
		||||
Befehlszeilenoption @option{-E} von @command{sudo} stellt sicher, dass
 | 
			
		||||
@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
 | 
			
		||||
$ 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
 | 
			
		||||
@env{GUILE_LOAD_PATH}.
 | 
			
		||||
 | 
			
		||||
Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the
 | 
			
		||||
local source tree; it simply updates the @file{~/.config/guix/current}
 | 
			
		||||
symlink (@pxref{Aufruf von guix pull}).  Run @command{git pull} instead if you
 | 
			
		||||
want to upgrade your local source tree.
 | 
			
		||||
Beachten Sie, dass @command{./pre-inst-env guix pull} den lokalen Quellbaum
 | 
			
		||||
@emph{nicht} aktualisiert; es aktualisiert lediglich die symbolische
 | 
			
		||||
Verknüpfung @file{~/.config/guix/current} (@pxref{Aufruf von guix pull}).  Um
 | 
			
		||||
Ihren lokalen Quellbaum zu aktualisieren, müssen Sie stattdessen
 | 
			
		||||
@command{git pull} benutzen.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@node Perfekt eingerichtet
 | 
			
		||||
@section Perfekt eingerichtet
 | 
			
		||||
 | 
			
		||||
Um perfekt für das Hacken an Guix eingerichtet zu sein, brauchen Sie an sich
 | 
			
		||||
dasselbe wie um perfekt für das Hacken mit Guile (@pxref{Using Guile in
 | 
			
		||||
Emacs,,, guile, Guile Reference Manual}).  Zunächst brauchen Sie mehr als
 | 
			
		||||
ein Textverarbeitungsprogramm, Sie brauchen
 | 
			
		||||
@url{http://www.gnu.org/software/emacs, Emacs}, ermächtigt vom wunderbaren
 | 
			
		||||
@url{http://nongnu.org/geiser/, Geiser}.
 | 
			
		||||
The Perfect Setup to hack on Guix is basically the perfect setup used for
 | 
			
		||||
Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference
 | 
			
		||||
Manual}).  First, you need more than an editor, you need
 | 
			
		||||
@url{http://www.gnu.org/software/emacs, Emacs}, empowered by the wonderful
 | 
			
		||||
@url{http://nongnu.org/geiser/, Geiser}.  To set that up, run:
 | 
			
		||||
 | 
			
		||||
@example
 | 
			
		||||
guix package -i emacs guile emacs-geiser
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
Geiser ermöglicht interaktive und inkrementelle Entwicklung aus Emacs
 | 
			
		||||
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"))
 | 
			
		||||
@end lisp
 | 
			
		||||
 | 
			
		||||
The commit message snippets depend on @url{https://magit.vc/, Magit} to
 | 
			
		||||
display staged files.  When editing a commit message type @code{add}
 | 
			
		||||
followed by @kbd{TAB} to insert a commit message template for adding a
 | 
			
		||||
package; type @code{update} followed by @kbd{TAB} to insert a template for
 | 
			
		||||
updating a package; type @code{https} followed by @kbd{TAB} to insert a
 | 
			
		||||
template for changing the home page URI of a package to HTTPS.
 | 
			
		||||
Die Schnipsel für Commit-Nachrichten setzen @url{https://magit.vc/, Magit}
 | 
			
		||||
voraus, um zum Commit vorgemerkte Dateien anzuzeigen. Wenn Sie eine
 | 
			
		||||
Commit-Nachricht bearbeiten, können Sie @code{add} gefolgt von @kbd{TAB}
 | 
			
		||||
eintippen, um eine Commit-Nachrichten-Vorlage für das Hinzufügen eines
 | 
			
		||||
Pakets zu erhalten; tippen Sie @code{update} gefolgt von @kbd{TAB} ein, um
 | 
			
		||||
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
 | 
			
		||||
@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.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@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
 | 
			
		||||
@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,
 | 
			
		||||
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
 | 
			
		||||
@cindex gebündelt
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
@item
 | 
			
		||||
Schauen Sie sich das von @command{guix size} ausgegebene Profil an
 | 
			
		||||
(@pxref{Aufruf von guix size}). Dadurch können Sie Referenzen auf andere
 | 
			
		||||
Pakete finden, die ungewollt vorhanden sind. Dies kann auch dabei helfen, zu
 | 
			
		||||
entscheiden, ob das Paket aufgespalten werden sollte (@pxref{Pakete mit mehreren Ausgaben.}) und welche optionalen Abhängigkeiten verwendet werden
 | 
			
		||||
sollten.
 | 
			
		||||
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
 | 
			
		||||
unwillingly retained.  It may also help determine whether to split the
 | 
			
		||||
package (@pxref{Pakete mit mehreren Ausgaben.}), and which optional
 | 
			
		||||
dependencies should be used.  In particular, avoid adding @code{texlive} as
 | 
			
		||||
a dependency: because of its extreme size, use @code{texlive-tiny} or
 | 
			
		||||
@code{texlive-union} instead.
 | 
			
		||||
 | 
			
		||||
@item
 | 
			
		||||
Achten Sie bei wichtigen Änderungen darauf, dass abhängige Pakete (falls
 | 
			
		||||
vorhanden) nicht von der Änderung beeinträchtigt werden; @code{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>.
 | 
			
		||||
@cindex Branching-Strategie
 | 
			
		||||
@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.
 | 
			
		||||
@end table
 | 
			
		||||
 | 
			
		||||
All these branches are @uref{https://hydra.gnu.org/project/gnu, tracked by
 | 
			
		||||
our build farm} and merged into @code{master} once everything has been
 | 
			
		||||
successfully built.  This allows us to fix issues before they hit users, and
 | 
			
		||||
to reduce the window during which pre-built binaries are not available.
 | 
			
		||||
All diese Branches werden kontinuierlich
 | 
			
		||||
@uref{https://hydra.gnu.org/project/gnu, auf unserer Build-Farm} erstellt
 | 
			
		||||
und in @code{master} gemerget, sobald alles erfolgreich erstellt worden
 | 
			
		||||
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 branches.  Or maybe even a status page.
 | 
			
		||||
Generally, branches other than @code{master} are considered @emph{frozen} if
 | 
			
		||||
there has been a recent evaluation, or there is a corresponding @code{-next}
 | 
			
		||||
branch.  Please ask on the mailing list or IRC if unsure where to place a
 | 
			
		||||
patch.
 | 
			
		||||
Im Allgemeinen werden Branches außer @code{master} als @emph{unveränderlich}
 | 
			
		||||
angesehen, wenn sie kürzlich ausgewertet wurden oder ein entsprechender
 | 
			
		||||
@code{-next}-Branch existiert. Bitte fragen Sie auf der Mailing-Liste oder
 | 
			
		||||
IRC, wenn Sie sich nicht sicher sind, wo ein Patch eingespielt werden
 | 
			
		||||
sollte.
 | 
			
		||||
 | 
			
		||||
@item
 | 
			
		||||
@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
 | 
			
		||||
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
 | 
			
		||||
und von @code{hydra.gnu.org} erstellt wurde, um zu sehen, ob dort dasselbe
 | 
			
		||||
Ergebnis wie bei Ihnen geliefert wurde. Noch besser: Finden Sie eine andere
 | 
			
		||||
Maschine, die das Paket erstellen kann, und führen Sie @command{guix
 | 
			
		||||
publish} aus. Da sich die entfernte Erstellungsmaschine wahrscheinlich von
 | 
			
		||||
Ihrer unterscheidet, können Sie auf diese Weise Probleme durch
 | 
			
		||||
Nichtdeterminismus erkennen, die mit der Hardware zu tun haben — zum
 | 
			
		||||
Beispiel die Nutzung anderer Befehlssatzerweiterungen — oder mit dem
 | 
			
		||||
Betriebssystem-Kernel — zum Beispiel, indem @code{uname} oder
 | 
			
		||||
@file{/proc}-Dateien verwendet werden.
 | 
			
		||||
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
 | 
			
		||||
by @code{@value{SUBSTITUTE-SERVER}} to check whether it obtains the same
 | 
			
		||||
result as you did.  Better yet: Find another machine that can build it and
 | 
			
		||||
run @command{guix publish}.  Since the remote build machine is likely
 | 
			
		||||
different from yours, this can catch non-determinism issues related to the
 | 
			
		||||
hardware---e.g., use of different instruction set extensions---or to the
 | 
			
		||||
operating system kernel---e.g., reliance on @code{uname} or @file{/proc}
 | 
			
		||||
files.
 | 
			
		||||
 | 
			
		||||
@item
 | 
			
		||||
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}).
 | 
			
		||||
 | 
			
		||||
@item
 | 
			
		||||
When possible, use mirrors in the source URL (@pxref{Aufruf von guix download}).  Use reliable URLs, not generated ones.  For instance, GitHub
 | 
			
		||||
archives are not necessarily identical from one generation to the next, so
 | 
			
		||||
in this case it's often better to clone the repository.  Don't use the
 | 
			
		||||
@command{name} field in the URL: it is not very useful and if the name
 | 
			
		||||
changes, the URL will probably be wrong.
 | 
			
		||||
Benutzen Sie, wenn möglich, Spiegelserver (Mirrors) in der Quell-URL
 | 
			
		||||
(@pxref{Aufruf von guix download}). Verwenden Sie verlässliche URLs, keine
 | 
			
		||||
automatisch generierten. Zum Beispiel sind Archive von GitHub nicht immer
 | 
			
		||||
identisch von einer Generation auf die nächste, daher ist es in diesem Fall
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										12581
									
								
								doc/guix.de.texi
									
										
									
									
									
								
							
							
						
						
									
										12581
									
								
								doc/guix.de.texi
									
										
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										168
									
								
								doc/guix.texi
									
										
									
									
									
								
							
							
						
						
									
										168
									
								
								doc/guix.texi
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -165,10 +165,17 @@ System Installation
 | 
			
		|||
* Hardware Considerations::     Supported hardware.
 | 
			
		||||
* USB Stick and DVD Installation::  Preparing the installation medium.
 | 
			
		||||
* 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.
 | 
			
		||||
* 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
 | 
			
		||||
 | 
			
		||||
* Features::                    How Guix will make your life brighter.
 | 
			
		||||
| 
						 | 
				
			
			@ -1777,7 +1784,9 @@ available.
 | 
			
		|||
* Hardware Considerations::     Supported hardware.
 | 
			
		||||
* USB Stick and DVD Installation::  Preparing the installation medium.
 | 
			
		||||
* 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.
 | 
			
		||||
* Building the Installation Image::  How this comes to be.
 | 
			
		||||
@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
 | 
			
		||||
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:
 | 
			
		||||
 | 
			
		||||
@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:
 | 
			
		||||
 | 
			
		||||
@example
 | 
			
		||||
$ wget https://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.iso.xz.sig
 | 
			
		||||
$ gpg --verify 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 guix-system-install-@value{VERSION}.@var{system}.iso.xz.sig
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
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:
 | 
			
		||||
 | 
			
		||||
@example
 | 
			
		||||
xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz
 | 
			
		||||
xz -d guix-system-install-@value{VERSION}.@var{system}.iso.xz
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
@item
 | 
			
		||||
| 
						 | 
				
			
			@ -1919,7 +1928,7 @@ its device name.  Assuming that the USB stick is known as @file{/dev/sdX},
 | 
			
		|||
copy the image with:
 | 
			
		||||
 | 
			
		||||
@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
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1935,7 +1944,7 @@ To copy the image to a DVD, follow these steps:
 | 
			
		|||
Decompress the image using the @command{xz} command:
 | 
			
		||||
 | 
			
		||||
@example
 | 
			
		||||
xz -d guixsd-install-@value{VERSION}.@var{system}.iso.xz
 | 
			
		||||
xz -d guix-system-install-@value{VERSION}.@var{system}.iso.xz
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
@item
 | 
			
		||||
| 
						 | 
				
			
			@ -1944,7 +1953,7 @@ its device name.  Assuming that the DVD drive is known as @file{/dev/srX},
 | 
			
		|||
copy the image with:
 | 
			
		||||
 | 
			
		||||
@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
 | 
			
		||||
 | 
			
		||||
Access to @file{/dev/srX} usually requires root privileges.
 | 
			
		||||
| 
						 | 
				
			
			@ -1963,21 +1972,19 @@ Guix System in a virtual machine (VM).
 | 
			
		|||
@node Preparing for Installation
 | 
			
		||||
@section Preparing for Installation
 | 
			
		||||
 | 
			
		||||
Once you have successfully booted your computer using the installation medium,
 | 
			
		||||
you should end up with the welcome page of the graphical installer.  The
 | 
			
		||||
graphical installer is a text-based user interface built upon the newt
 | 
			
		||||
library.  It shall guide you through all the different steps needed to install
 | 
			
		||||
GNU@tie{}Guix System.  However, as the graphical installer is still under heavy
 | 
			
		||||
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.
 | 
			
		||||
Once you have booted, you can use the guided graphical installer, which makes
 | 
			
		||||
it easy to get started (@pxref{Guided Graphical Installation}).  Alternately,
 | 
			
		||||
if you are already familiar with GNU/Linux and if you want more control than
 | 
			
		||||
what the graphical installer provides, you can choose the ``manual''
 | 
			
		||||
installation process (@pxref{Manual Installation}).
 | 
			
		||||
 | 
			
		||||
TTY2 shows this documentation, 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.
 | 
			
		||||
The graphical installer is available on TTY1.  You can obtain root shells on
 | 
			
		||||
TTYs 3 to 6 by hitting @kbd{ctrl-alt-f3}, @kbd{ctrl-alt-f4}, etc.  TTY2 shows
 | 
			
		||||
this documentation and you can reach it with @kbd{ctrl-alt-f2}.  Documentation
 | 
			
		||||
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
 | 
			
		||||
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.
 | 
			
		||||
@end quotation
 | 
			
		||||
 | 
			
		||||
The installation system includes many common tools needed for this task.
 | 
			
		||||
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}).
 | 
			
		||||
@node Guided Graphical Installation
 | 
			
		||||
@section Guided Graphical Installation
 | 
			
		||||
 | 
			
		||||
@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
 | 
			
		||||
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
 | 
			
		||||
more information.
 | 
			
		||||
 | 
			
		||||
@subsection Networking
 | 
			
		||||
@subsubsection Networking
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
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
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
@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
 | 
			
		||||
@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},
 | 
			
		||||
unless your configuration specifies otherwise
 | 
			
		||||
(@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
 | 
			
		||||
guix pull
 | 
			
		||||
| 
						 | 
				
			
			@ -2326,8 +2391,8 @@ explicitly run root's @command{guix}, type @command{sudo -i guix @dots{}}.
 | 
			
		|||
@end quotation
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
good.
 | 
			
		||||
@email{guix-devel@@gnu.org} to share your experience!
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@node Installing Guix in a VM
 | 
			
		||||
@section Installing Guix in a Virtual Machine
 | 
			
		||||
| 
						 | 
				
			
			@ -2364,7 +2429,7 @@ Boot the USB installation image in an VM:
 | 
			
		|||
@example
 | 
			
		||||
qemu-system-x86_64 -m 1024 -smp 1 \
 | 
			
		||||
  -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
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -14165,7 +14230,7 @@ field of an @code{operating-system} declaration (@pxref{operating-system
 | 
			
		|||
Reference, @code{services}}).
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
and/or Enlightenment to a system.  To ``add GNOME'' means that system-level
 | 
			
		||||
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
 | 
			
		||||
appropriately, allowing MATE to operate with elevated privileges on a
 | 
			
		||||
limited number of special-purpose system interfaces.  Additionally,
 | 
			
		||||
adding a service made by @code{mate-desktop-service} adds the MATE
 | 
			
		||||
metapackage to the system profile.  ``Adding ENLIGHTENMENT'' means that
 | 
			
		||||
adding a service of type @code{mate-desktop-service-type} adds the MATE
 | 
			
		||||
metapackage to the system profile.  ``Adding Enlightenment'' means that
 | 
			
		||||
@code{dbus} is extended appropriately, and several of Enlightenment's binaries
 | 
			
		||||
are set as setuid, allowing Enlightenment's screen locker and other
 | 
			
		||||
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.
 | 
			
		||||
@end deffn
 | 
			
		||||
 | 
			
		||||
@deffn {Scheme Procedure} mate-desktop-service
 | 
			
		||||
Return a service that adds the @code{mate} package to the system
 | 
			
		||||
@deffn {Scheme Variable} mate-desktop-service-type
 | 
			
		||||
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
 | 
			
		||||
@code{mate-settings-daemon}.
 | 
			
		||||
@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
 | 
			
		||||
profile, and extends dbus with actions from @code{efl}.
 | 
			
		||||
@end deffn
 | 
			
		||||
| 
						 | 
				
			
			@ -16471,7 +16549,7 @@ Defaults to @samp{"internal_plain"}.
 | 
			
		|||
 | 
			
		||||
@deftypevr {@code{prosody-configuration} parameter} maybe-string log
 | 
			
		||||
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"}.
 | 
			
		||||
@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:
 | 
			
		||||
 | 
			
		||||
@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 \\
 | 
			
		||||
    --entrypoint /var/guix/profiles/system/profile/bin/guile \\
 | 
			
		||||
    $image_id /var/guix/profiles/system/boot
 | 
			
		||||
| 
						 | 
				
			
			@ -23533,7 +23611,7 @@ example graph.
 | 
			
		|||
@cindex virtual machine
 | 
			
		||||
To run Guix in a virtual machine (VM), one can either use the
 | 
			
		||||
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
 | 
			
		||||
vm-image} (@pxref{Invoking guix system}).  The returned image is in
 | 
			
		||||
qcow2 format, which the @uref{http://qemu.org/, QEMU emulator} can
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										
											BIN
										
									
								
								doc/images/installer-network.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/images/installer-network.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 24 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								doc/images/installer-partitions.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/images/installer-partitions.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 54 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								doc/images/installer-resume.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/images/installer-resume.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 35 KiB  | 
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
# GNU Guix --- Functional package management for GNU
 | 
			
		||||
# 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 © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 | 
			
		||||
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
 | 
			
		||||
| 
						 | 
				
			
			@ -111,7 +111,10 @@ $(srcdir)/%D%/contributing.%.texi: po/doc/guix-manual.%.po
 | 
			
		|||
infoimagedir = $(infodir)/images
 | 
			
		||||
dist_infoimage_DATA =				\
 | 
			
		||||
  $(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
 | 
			
		||||
# in an Info or PDF document.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -57,10 +57,10 @@ corresponding to old generations of the system."
 | 
			
		|||
    #~(call-with-output-file #$output
 | 
			
		||||
        (lambda (port)
 | 
			
		||||
          (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.
 | 
			
		||||
UI menu.c32
 | 
			
		||||
MENU TITLE GuixSD Boot Options
 | 
			
		||||
MENU TITLE GNU Guix Boot Options
 | 
			
		||||
PROMPT ~a
 | 
			
		||||
TIMEOUT ~a~%"
 | 
			
		||||
                    (if (> timeout 0) 1 0)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
;;; 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 © 2017 Leo Famulari <leo@famulari.name>
 | 
			
		||||
;;; 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
 | 
			
		||||
        (lambda (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.
 | 
			
		||||
")
 | 
			
		||||
          #$sugar
 | 
			
		||||
| 
						 | 
				
			
			@ -380,7 +380,7 @@ submenu \"GNU system, old configurations...\" {~%")
 | 
			
		|||
      ;; system whose root is mounted at MOUNT-POINT.
 | 
			
		||||
      (let ((grub-install (string-append bootloader "/sbin/grub-install"))
 | 
			
		||||
            (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.
 | 
			
		||||
            (target-esp (if (file-exists? (string-append mount-point efi-dir))
 | 
			
		||||
                            (string-append mount-point efi-dir)
 | 
			
		||||
| 
						 | 
				
			
			@ -389,7 +389,7 @@ submenu \"GNU system, old configurations...\" {~%")
 | 
			
		|||
        ;; root partition.
 | 
			
		||||
        (setenv "GRUB_ENABLE_CRYPTODISK" "y")
 | 
			
		||||
        (unless (zero? (system* grub-install "--boot-directory" install-dir
 | 
			
		||||
                                "--bootloader-id=GuixSD"
 | 
			
		||||
                                "--bootloader-id=Guix"
 | 
			
		||||
                                "--efi-directory" target-esp))
 | 
			
		||||
          (error "failed to install GRUB (EFI)")))))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
;;; 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>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
| 
						 | 
				
			
			@ -47,7 +47,8 @@
 | 
			
		|||
 | 
			
		||||
            device-module-aliases
 | 
			
		||||
            known-module-aliases
 | 
			
		||||
            matching-modules))
 | 
			
		||||
            matching-modules
 | 
			
		||||
            missing-modules))
 | 
			
		||||
 | 
			
		||||
;;; Commentary:
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -463,4 +464,26 @@ ALIAS is a string like \"scsi:t-0x00\" as returned by
 | 
			
		|||
                      module)))
 | 
			
		||||
              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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
;;; 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, 2017 Leo Famulari <leo@famulari.name>
 | 
			
		||||
;;; 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))))
 | 
			
		||||
 | 
			
		||||
(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 '()))
 | 
			
		||||
  "Given a GRUB package, creates an iso image as TARGET, using CONFIG-FILE as
 | 
			
		||||
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)
 | 
			
		||||
            (format port
 | 
			
		||||
                    "insmod part_msdos~@
 | 
			
		||||
                    search --set=root --label GuixSD_image~@
 | 
			
		||||
                    search --set=root --label Guix_image~@
 | 
			
		||||
                    configfile /boot/grub/grub.cfg~%")))
 | 
			
		||||
 | 
			
		||||
        (display "creating EFI firmware image...")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -235,7 +235,7 @@ system.")
 | 
			
		|||
            (system-test-value test))))
 | 
			
		||||
 | 
			
		||||
      `((derivation . ,(derivation-file-name drv))
 | 
			
		||||
        (description . ,(format #f "GuixSD '~a' system test"
 | 
			
		||||
        (description . ,(format #f "Guix '~a' system test"
 | 
			
		||||
                                (system-test-name test)))
 | 
			
		||||
        (long-description . ,(system-test-description test))
 | 
			
		||||
        (license . ,(license-name gpl3+))
 | 
			
		||||
| 
						 | 
				
			
			@ -270,7 +270,7 @@ system.")
 | 
			
		|||
    `((derivation . ,(derivation-file-name drv))
 | 
			
		||||
      (description . "Stand-alone binary Guix tarball")
 | 
			
		||||
      (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+))
 | 
			
		||||
      (home-page . ,%guix-home-page-url)
 | 
			
		||||
      (maintainers . ("bug-guix@gnu.org"))))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -113,7 +113,7 @@ FULL-VALUE tentatives, spaced by 1 second."
 | 
			
		|||
  (let* ((full-value 5))
 | 
			
		||||
    (run-scale-page
 | 
			
		||||
     #: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-update-proc
 | 
			
		||||
     (lambda (value)
 | 
			
		||||
| 
						 | 
				
			
			@ -123,8 +123,8 @@ FULL-VALUE tentatives, spaced by 1 second."
 | 
			
		|||
           (+ value 1))))
 | 
			
		||||
    (unless (connman-online?)
 | 
			
		||||
      (run-error-page
 | 
			
		||||
       (G_ "The selected network does not provide an Internet \
 | 
			
		||||
access, please try again.")
 | 
			
		||||
       (G_ "The selected network does not provide access to the \
 | 
			
		||||
Internet, please try again.")
 | 
			
		||||
       (G_ "Connection error"))
 | 
			
		||||
      (raise
 | 
			
		||||
       (condition
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
installation and reboot."
 | 
			
		||||
  (run-menu-page
 | 
			
		||||
   (G_ "GNU GuixSD install")
 | 
			
		||||
   (G_ "Welcome to GNU GuixSD installer!
 | 
			
		||||
   (G_ "GNU Guix install")
 | 
			
		||||
   (G_ "Welcome to GNU Guix system installer!
 | 
			
		||||
 | 
			
		||||
Please note that the present graphical installer is still under heavy \
 | 
			
		||||
development, so you might want to prefer using the shell based process. \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1152,6 +1152,7 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/psm-arch.patch				\
 | 
			
		||||
  %D%/packages/patches/psm-ldflags.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-longer-test-timeout.patch	\
 | 
			
		||||
  %D%/packages/patches/pybugz-encode-error.patch		\
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -155,23 +155,26 @@ flags."
 | 
			
		|||
  ;; 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
 | 
			
		||||
  ;; to narrow the search.
 | 
			
		||||
  (let* ((not-colon   (char-set-complement (char-set #\:)))
 | 
			
		||||
         (environment (string-tokenize (or (getenv "GUIX_PACKAGE_PATH") "")
 | 
			
		||||
                                       not-colon))
 | 
			
		||||
         (channels    (package-path-entries)))
 | 
			
		||||
  (let*-values (((not-colon)
 | 
			
		||||
                 (char-set-complement (char-set #\:)))
 | 
			
		||||
                ((environment)
 | 
			
		||||
                 (string-tokenize (or (getenv "GUIX_PACKAGE_PATH") "")
 | 
			
		||||
                                  not-colon))
 | 
			
		||||
                ((channels-scm channels-go)
 | 
			
		||||
                 (package-path-entries)))
 | 
			
		||||
    ;; Automatically add channels and items from $GUIX_PACKAGE_PATH to Guile's
 | 
			
		||||
    ;; 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
 | 
			
		||||
    ;; modules.
 | 
			
		||||
    (set! %load-path
 | 
			
		||||
      (append environment %load-path channels))
 | 
			
		||||
      (append environment %load-path channels-scm))
 | 
			
		||||
    (set! %load-compiled-path
 | 
			
		||||
      (append environment %load-compiled-path channels))
 | 
			
		||||
      (append environment %load-compiled-path channels-go))
 | 
			
		||||
 | 
			
		||||
    (make-parameter
 | 
			
		||||
     (append environment
 | 
			
		||||
             %default-package-module-path
 | 
			
		||||
             channels))))
 | 
			
		||||
             channels-scm))))
 | 
			
		||||
 | 
			
		||||
(define %patch-path
 | 
			
		||||
  ;; Define it after '%package-module-path' so that '%load-path' contains user
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -113,14 +113,14 @@
 | 
			
		|||
(define-public aide
 | 
			
		||||
  (package
 | 
			
		||||
    (name "aide")
 | 
			
		||||
    (version "0.16")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "mirror://sourceforge/aide/aide/"
 | 
			
		||||
                                  version "/aide-" version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0ibkv4z2gk14fn014kq13rp2ysiq6nn2cflv2q5i7zf466hm6758"))))
 | 
			
		||||
    (version "0.16.1")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "https://github.com/aide/aide/releases/download/v"
 | 
			
		||||
                           version "/aide-" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1dqhc0c24wa4zid06pfy61k357yvzh28ij86bk9jf6hcqzn7qaqg"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("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
 | 
			
		||||
digest algorithms that are used to check the integrity of files.  All of the
 | 
			
		||||
usual file attributes can be checked for inconsistencies.")
 | 
			
		||||
    (home-page "http://aide.sourceforge.net/")
 | 
			
		||||
    (home-page "https://aide.github.io/")
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
 | 
			
		||||
(define-public progress
 | 
			
		||||
| 
						 | 
				
			
			@ -1598,14 +1598,13 @@ of supported upstream metrics systems simultaneously.")
 | 
			
		|||
(define-public ansible
 | 
			
		||||
  (package
 | 
			
		||||
    (name "ansible")
 | 
			
		||||
    (version "2.7.7")
 | 
			
		||||
    (version "2.7.8")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (pypi-uri "ansible" version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0l4id24jqi578xmybvwrz10sm2jhs90gk9gs1y04gfarz4vcj304"))))
 | 
			
		||||
        (base32 "11yx7vd0mp5gkq428af141dwnrwf8f9cp3f65243qbs9icjxnrrx"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("python-bcrypt" ,python-bcrypt)
 | 
			
		||||
| 
						 | 
				
			
			@ -2700,16 +2699,16 @@ Python loading in HPC environments.")
 | 
			
		|||
  (let ((real-name "inxi"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "inxi-minimal")
 | 
			
		||||
      (version "3.0.20-1")
 | 
			
		||||
      (version "3.0.22-1")
 | 
			
		||||
      (source
 | 
			
		||||
       (origin
 | 
			
		||||
         (method git-fetch)
 | 
			
		||||
         (uri (git-reference
 | 
			
		||||
               (url "https://github.com/smxi/inxi")
 | 
			
		||||
               (commit version)))
 | 
			
		||||
         (file-name (git-file-name real-name version))
 | 
			
		||||
         (sha256
 | 
			
		||||
          (base32
 | 
			
		||||
           "1k9148xnfznch1443niaa3w1kmsw4vp0xpwna6npgmi7zqg06ymy"))))
 | 
			
		||||
          (base32 "1br392s3xc2nwqmfx4nwb3i97wjwasvkq8ayr8jq72mi5qzsgizn"))))
 | 
			
		||||
      (build-system trivial-build-system)
 | 
			
		||||
      (inputs
 | 
			
		||||
       `(("bash" ,bash-minimal)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,7 +5,7 @@
 | 
			
		|||
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2016 Christopher Andersson <christopher@8bits.nu>
 | 
			
		||||
;;; 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.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -197,11 +197,25 @@ dictionaries, including personal ones.")
 | 
			
		|||
                      "13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn")))
 | 
			
		||||
 | 
			
		||||
(define-public aspell-dict-it
 | 
			
		||||
  (aspell-dictionary "it" "Italian"
 | 
			
		||||
                     #:version "2.2_20050523-0"
 | 
			
		||||
                     #:sha256
 | 
			
		||||
                     (base32
 | 
			
		||||
                      "1gdf7bc1a0kmxsmphdqq8pl01h667mjsj6hihy6kqy14k5qdq69v")))
 | 
			
		||||
  (let ((version "2.4-20070901-0")
 | 
			
		||||
        (sha256
 | 
			
		||||
         (base32 "0d6ypii3jblprpibazb6ypady536jz62rwxlss1x1raq07rhvvqn")))
 | 
			
		||||
    (package
 | 
			
		||||
      (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
 | 
			
		||||
  (aspell-dictionary "nl" "Dutch"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2270,7 +2270,7 @@ for experimenting with sound synthesis and algorithmic composition.
 | 
			
		|||
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
 | 
			
		||||
for \"realtime\" in the index of the Guix manual to learn how to achieve this
 | 
			
		||||
using GuixSD.")
 | 
			
		||||
using Guix System.")
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
 | 
			
		||||
(define-public raul
 | 
			
		||||
| 
						 | 
				
			
			@ -2834,7 +2834,26 @@ portions of LAME.")
 | 
			
		|||
       ("automake" ,automake)
 | 
			
		||||
       ("libtool" ,libtool)
 | 
			
		||||
       ("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/")
 | 
			
		||||
    (synopsis "Audio I/O library")
 | 
			
		||||
    (description
 | 
			
		||||
| 
						 | 
				
			
			@ -3361,14 +3380,14 @@ on the ALSA software PCM plugin.")
 | 
			
		|||
(define-public snd
 | 
			
		||||
  (package
 | 
			
		||||
    (name "snd")
 | 
			
		||||
    (version "17.7")
 | 
			
		||||
    (version "19.2")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
 | 
			
		||||
                                  "snd-" version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1vm0dy5qlycqkima7y5ajzvazyjybifa803fabjcpncjz08c26vp"))))
 | 
			
		||||
                "1a6ls2hyvggss12idca22hq5vsq4jw2xkwrx22dx29i9926gdr6h"))))
 | 
			
		||||
    (build-system glib-or-gtk-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f                      ; no tests
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,9 +30,13 @@
 | 
			
		|||
  #:use-module (gnu packages gcc)
 | 
			
		||||
  #:use-module (gnu packages graph)
 | 
			
		||||
  #:use-module (gnu packages maths)
 | 
			
		||||
  #:use-module (gnu packages pkg-config)
 | 
			
		||||
  #:use-module (gnu packages statistics)
 | 
			
		||||
  #:use-module (gnu packages web))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;;; Annotations
 | 
			
		||||
 | 
			
		||||
(define-public r-bsgenome-celegans-ucsc-ce6
 | 
			
		||||
  (package
 | 
			
		||||
    (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.")
 | 
			
		||||
    (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
 | 
			
		||||
  (package
 | 
			
		||||
    (name "r-biocgenerics")
 | 
			
		||||
| 
						 | 
				
			
			@ -766,6 +866,35 @@ region sets and other genomic features.")
 | 
			
		|||
     "This package provides functions for plotting genomic data.")
 | 
			
		||||
    (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
 | 
			
		||||
  (package
 | 
			
		||||
    (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
 | 
			
		||||
clusters).")
 | 
			
		||||
    (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)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1752,6 +1752,72 @@ high-throughput sequencing data – with an emphasis on simplicity.")
 | 
			
		|||
(define-public python2-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
 | 
			
		||||
  (package
 | 
			
		||||
    (name "cd-hit")
 | 
			
		||||
| 
						 | 
				
			
			@ -10293,35 +10359,6 @@ quality controls, normalization, visualization, and further analysis are also
 | 
			
		|||
provided.")
 | 
			
		||||
    (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
 | 
			
		||||
  (package
 | 
			
		||||
    (name "r-hdf5array")
 | 
			
		||||
| 
						 | 
				
			
			@ -11908,21 +11945,35 @@ variational inference.")
 | 
			
		|||
(define-public python-loompy
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-loompy")
 | 
			
		||||
    (version "2.0.2")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (pypi-uri "loompy" version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1drgv8j1hxqzzpnfg272x9djb6j8qr798w1pc2x8ikmfgyd9gh51"))))
 | 
			
		||||
    (version "2.0.17")
 | 
			
		||||
    ;; The tarball on Pypi does not include the tests.
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/linnarsson-lab/loompy.git")
 | 
			
		||||
                    (commit version)))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "12a5kjgiikapv93wahfw0frszx1lblnppyz3vs5gy8fgmgngra07"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    ;; There are no tests
 | 
			
		||||
    (arguments '(#:tests? #f))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (replace 'check
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (setenv "PYTHONPATH"
 | 
			
		||||
                     (string-append (getcwd) ":"
 | 
			
		||||
                                    (getenv "PYTHONPATH")))
 | 
			
		||||
             (invoke "pytest" "tests")
 | 
			
		||||
             #t)))))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     `(("python-h5py" ,python-h5py)
 | 
			
		||||
       ("python-numpy" ,python-numpy)
 | 
			
		||||
       ("python-pandas" ,python-pandas)
 | 
			
		||||
       ("python-scipy" ,python-scipy)))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("python-pytest" ,python-pytest)))
 | 
			
		||||
    (home-page "https://github.com/linnarsson-lab/loompy")
 | 
			
		||||
    (synopsis "Work with .loom files for single-cell RNA-seq data")
 | 
			
		||||
    (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
 | 
			
		||||
repeated areas between contigs.")
 | 
			
		||||
    (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)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -340,7 +340,7 @@ menu to select one of the installed operating systems.")
 | 
			
		|||
(define-public dtc
 | 
			
		||||
  (package
 | 
			
		||||
    (name "dtc")
 | 
			
		||||
    (version "1.4.7")
 | 
			
		||||
    (version "1.5.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
| 
						 | 
				
			
			@ -348,11 +348,13 @@ menu to select one of the installed operating systems.")
 | 
			
		|||
                    "dtc-" version ".tar.xz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1rydi5jvhlhsr110h6n0pavv3daqa0cb4m5vcps50qzq1zqfhhv6"))))
 | 
			
		||||
                "0wh10p42hf5403ipvs0dsxddb6kzfyk2sq4fgid9zqzpr51y8wn6"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("bison" ,bison)
 | 
			
		||||
       ("flex" ,flex)
 | 
			
		||||
       ("libyaml" ,libyaml)
 | 
			
		||||
       ("pkg-config" ,pkg-config)
 | 
			
		||||
       ("swig" ,swig)
 | 
			
		||||
       ("valgrind" ,valgrind)))
 | 
			
		||||
    (inputs
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1563,14 +1563,14 @@ recreates the stored directory structure by default.")
 | 
			
		|||
(define-public libzip
 | 
			
		||||
  (package
 | 
			
		||||
    (name "libzip")
 | 
			
		||||
    (version "1.5.1")
 | 
			
		||||
    (version "1.5.2")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
                    "https://libzip.org/download/" name "-" version ".tar.xz"))
 | 
			
		||||
                    "https://libzip.org/download/libzip-" version ".tar.xz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0wnkkvkq90wyawj9221i77sf3nix1vj3ygzdy59k8yvcjnv3bsh4"))))
 | 
			
		||||
                "1d53shcy7nvls5db573bbdlm25lfz1iw2zshng5f00cssi5lvpmk"))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("perl" ,perl)))
 | 
			
		||||
    (inputs
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,6 +14,7 @@
 | 
			
		|||
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
 | 
			
		||||
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 | 
			
		||||
;;; Copyright © 2018, 2019 Brett Gilio <brettg@posteo.net>
 | 
			
		||||
;;; Copyright © 2019 Nicolò Balzarotti <anothersms@gmail.com>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -58,9 +59,11 @@
 | 
			
		|||
  #:use-module (gnu packages maths)
 | 
			
		||||
  #:use-module (gnu packages mpi)
 | 
			
		||||
  #:use-module (gnu packages multiprecision)
 | 
			
		||||
  #:use-module (gnu packages networking)
 | 
			
		||||
  #:use-module (gnu packages perl)
 | 
			
		||||
  #:use-module (gnu packages pkg-config)
 | 
			
		||||
  #:use-module (gnu packages python)
 | 
			
		||||
  #:use-module (gnu packages python-xyz)
 | 
			
		||||
  #:use-module (gnu packages statistics)
 | 
			
		||||
  #:use-module (gnu packages tls)
 | 
			
		||||
  #:use-module (gnu packages web)
 | 
			
		||||
| 
						 | 
				
			
			@ -10839,3 +10842,900 @@ using @code{S3}.")
 | 
			
		|||
for model selection.  The calibration methods available are based on the slope
 | 
			
		||||
heuristics.")
 | 
			
		||||
    (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)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -108,7 +108,7 @@
 | 
			
		|||
             (("/bin/sh") (which "sh")))
 | 
			
		||||
 | 
			
		||||
           ;; 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
 | 
			
		||||
           ;; and x86_64 with the following error:
 | 
			
		||||
           ;;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1275,15 +1275,14 @@ columns, primary keys, unique constraints and relationships.")
 | 
			
		|||
(define-public perl-dbd-mysql
 | 
			
		||||
  (package
 | 
			
		||||
    (name "perl-dbd-mysql")
 | 
			
		||||
    (version "4.048")
 | 
			
		||||
    (version "4.050")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (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"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1zqmch6c9gq06z90mkmk1skajk2kaggriw19ym5w04l7wv5gydqp"))))
 | 
			
		||||
        (base32 "0y4djb048i09dk19av7mzfb3khr72vw11p3ayw2p82jsy4gm8j2g"))))
 | 
			
		||||
    (build-system perl-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases
 | 
			
		||||
| 
						 | 
				
			
			@ -1313,7 +1312,7 @@ columns, primary keys, unique constraints and relationships.")
 | 
			
		|||
(define-public perl-dbd-sqlite
 | 
			
		||||
  (package
 | 
			
		||||
    (name "perl-dbd-sqlite")
 | 
			
		||||
    (version "1.58")
 | 
			
		||||
    (version "1.62")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
| 
						 | 
				
			
			@ -1321,7 +1320,7 @@ columns, primary keys, unique constraints and relationships.")
 | 
			
		|||
                    version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0fqx386jgs9mmrknr7smmzapf07izgivza7x08lfm39ks2cxs83i"))))
 | 
			
		||||
                "0p78ri1q6xpc1i98i6mlriv8n66iz8r5r11dlsknjm4y58rfz0mx"))))
 | 
			
		||||
    (build-system perl-build-system)
 | 
			
		||||
    (inputs `(("sqlite" ,sqlite)))
 | 
			
		||||
    (propagated-inputs `(("perl-dbi" ,perl-dbi)))
 | 
			
		||||
| 
						 | 
				
			
			@ -1336,15 +1335,14 @@ module, and nothing else.")
 | 
			
		|||
(define-public perl-sql-abstract
 | 
			
		||||
  (package
 | 
			
		||||
    (name "perl-sql-abstract")
 | 
			
		||||
    (version "1.85")
 | 
			
		||||
    (version "1.86")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
 | 
			
		||||
                           "SQL-Abstract-" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1aycggrvppy2zgkwwn85jkdz93n5gsx4dambrjk67k5067hayi4z"))))
 | 
			
		||||
        (base32 "1pwcm8hwxcgidyyrak37lx69d85q728jxsb0b14jz93gbvdgg9z7"))))
 | 
			
		||||
    (build-system perl-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("perl-module-install" ,perl-module-install)
 | 
			
		||||
| 
						 | 
				
			
			@ -1847,14 +1845,13 @@ for ODBC.")
 | 
			
		|||
(define-public python-pyodbc
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-pyodbc")
 | 
			
		||||
    (version "4.0.24")
 | 
			
		||||
    (version "4.0.25")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (pypi-uri "pyodbc" version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1m311vi7vpay1j7rkq71fpsk0gb7454k4lldk5b63hyy6yvsn9j3"))
 | 
			
		||||
        (base32 "1bbwrb812w5i0x56jfn0l86mxc2ck904hl8y87mziay96znwia0f"))
 | 
			
		||||
       (file-name (string-append name "-" version ".tar.gz"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
| 
						 | 
				
			
			@ -2095,25 +2092,24 @@ Database API 2.0T.")
 | 
			
		|||
(define-public python-sqlalchemy
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-sqlalchemy")
 | 
			
		||||
    (version "1.2.11")
 | 
			
		||||
    (version "1.3.1")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
      (method url-fetch)
 | 
			
		||||
      (uri (pypi-uri "SQLAlchemy" version))
 | 
			
		||||
      (sha256
 | 
			
		||||
       (base32
 | 
			
		||||
        "094mmbs4igrxplfyqd59j90jb83ixpbbzqc0w49yw81m82nnjrgg"))))
 | 
			
		||||
       (base32 "12sr36646sipf9ac3n2xh8z0w5pz4d3dvw5qjv2kzvcls6wvf7vq"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("python-cython" ,python-cython) ;for c extensions
 | 
			
		||||
     `(("python-cython" ,python-cython) ; for C extensions
 | 
			
		||||
       ("python-pytest" ,python-pytest)
 | 
			
		||||
       ("python-mock"   ,python-mock))) ;for tests
 | 
			
		||||
       ("python-mock"   ,python-mock))) ; for tests
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (replace 'check
 | 
			
		||||
           (lambda _ (invoke "py.test"))))))
 | 
			
		||||
    (home-page "http://www.sqlalchemy.org")
 | 
			
		||||
    (home-page "https://www.sqlalchemy.org")
 | 
			
		||||
    (synopsis "Database abstraction library")
 | 
			
		||||
    (description
 | 
			
		||||
     "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
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-psycopg2")
 | 
			
		||||
    (version "2.7.5")
 | 
			
		||||
    (version "2.7.7")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (pypi-uri "psycopg2" version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "17klx964gw8z0znl0raz3by8vdc7cq5gxj4pdcrfcina84nrdkzc"))))
 | 
			
		||||
        (base32 "0zjbabb4qjx9dm07imhf8y5a9rpa06d5zah80myiimgdi83nslpl"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     ;; 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
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-sql")
 | 
			
		||||
    (version "0.9")
 | 
			
		||||
    (version "1.0.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (pypi-uri "python-sql" version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0p6kaqj02vz0habmdx37zjk6hjxdfm8aw737zs059vvpr70ird87"))))
 | 
			
		||||
        (base32 "05ni936y0ia9xmryl7mlhbj9i80nnvq1bi4zxhb96rv7yvpb3fqb"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (home-page "https://python-sql.tryton.org/")
 | 
			
		||||
    (synopsis "Library to write SQL queries in a pythonic way")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
 | 
			
		||||
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
 | 
			
		||||
;;; 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>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
| 
						 | 
				
			
			@ -41,6 +41,7 @@
 | 
			
		|||
  #:use-module (gnu packages sdl)
 | 
			
		||||
  #:use-module (gnu packages sqlite)
 | 
			
		||||
  #:use-module (gnu packages texinfo)
 | 
			
		||||
  #:use-module (gnu packages tls)
 | 
			
		||||
  #:use-module (gnu packages xorg)
 | 
			
		||||
  #:use-module (gnu packages xml)
 | 
			
		||||
  #:use-module ((guix licenses) #:prefix license:)
 | 
			
		||||
| 
						 | 
				
			
			@ -116,16 +117,15 @@ of categories with some of the activities available in that category.
 | 
			
		|||
(define-public gcompris-qt
 | 
			
		||||
  (package
 | 
			
		||||
    (name "gcompris-qt")
 | 
			
		||||
    (version "0.95")
 | 
			
		||||
    (version "0.96")
 | 
			
		||||
    (source
 | 
			
		||||
      (origin
 | 
			
		||||
        (method url-fetch)
 | 
			
		||||
        (uri (string-append
 | 
			
		||||
               "https://gcompris.net/download/qt/src/gcompris-qt-"
 | 
			
		||||
               version ".tar.xz"))
 | 
			
		||||
        (sha256
 | 
			
		||||
         (base32
 | 
			
		||||
          "1aaijjx2b7k1cyx59jhs64hlp1sppw1faa81qxl5lxc79vifrlrl"))))
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append
 | 
			
		||||
             "https://gcompris.net/download/qt/src/gcompris-qt-"
 | 
			
		||||
             version ".tar.xz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "06483il59l46ny2w771sg45dgzjwv1ph7vidzzbj0wb8wbk2rg52"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases
 | 
			
		||||
| 
						 | 
				
			
			@ -162,7 +162,8 @@ of categories with some of the activities available in that category.
 | 
			
		|||
       ("qttools" ,qttools)
 | 
			
		||||
       ("xorg-server" ,xorg-server)))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("python-2" ,python-2)
 | 
			
		||||
     `(("openssl" ,openssl)
 | 
			
		||||
       ("python-2" ,python-2)
 | 
			
		||||
       ("qtbase" ,qtbase)
 | 
			
		||||
       ("qtdeclarative" ,qtdeclarative)
 | 
			
		||||
       ("qtgraphicaleffects" ,qtgraphicaleffects)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,7 +26,7 @@
 | 
			
		|||
;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
 | 
			
		||||
;;; Copyright © 2017, 2018 Feng Shu <tumashu@163.com>
 | 
			
		||||
;;; 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 Peter Mikkelsen <petermikkelsen10@gmail.com>
 | 
			
		||||
;;; 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)
 | 
			
		||||
       ("with-editor" ,emacs-with-editor)))
 | 
			
		||||
    (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
 | 
			
		||||
 | 
			
		||||
       #:make-flags
 | 
			
		||||
| 
						 | 
				
			
			@ -317,8 +322,9 @@ on stdout instead of using a socket as the Emacsclient does.")
 | 
			
		|||
          'build 'patch-exec-paths
 | 
			
		||||
          (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
            (let ((perl (assoc-ref inputs "perl")))
 | 
			
		||||
              (substitute* "lisp/magit-sequence.el"
 | 
			
		||||
                (("perl") (string-append perl "/bin/perl")))
 | 
			
		||||
              (make-file-writable "lisp/magit-sequence.el")
 | 
			
		||||
              (emacs-substitute-variables "lisp/magit-sequence.el"
 | 
			
		||||
                ("magit-perl-executable" (string-append perl "/bin/perl")))
 | 
			
		||||
              #t))))))
 | 
			
		||||
    (home-page "https://magit.vc/")
 | 
			
		||||
    (synopsis "Emacs interface for the Git version control system")
 | 
			
		||||
| 
						 | 
				
			
			@ -1610,7 +1616,7 @@ and stored in memory.")
 | 
			
		|||
(define-public emacs-dash
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-dash")
 | 
			
		||||
    (version "2.14.1")
 | 
			
		||||
    (version "2.15.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
| 
						 | 
				
			
			@ -1619,7 +1625,7 @@ and stored in memory.")
 | 
			
		|||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1kzijmjxjxgr7p8clphzvmm47vczckbs8mza9an77c25bn627ywl"))))
 | 
			
		||||
                "0dx8q3jr8fh73cfl7mqi5dq0012ambpvc74d2c71fsv9rfw85693"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #t
 | 
			
		||||
| 
						 | 
				
			
			@ -4951,7 +4957,7 @@ ack, ag, helm and pt.")
 | 
			
		|||
(define-public emacs-helm
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-helm")
 | 
			
		||||
    (version "3.0")
 | 
			
		||||
    (version "3.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
| 
						 | 
				
			
			@ -4960,7 +4966,7 @@ ack, ag, helm and pt.")
 | 
			
		|||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0k2r0ccppaqfjvyszaxa16vf7g2qzj1clhfr6v646ncsy17laciw"))))
 | 
			
		||||
                "0ymykcsbcgq2kskqc0ddigg0kfznxx3j02mkd5r3c3n8gn3kgz84"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     `(("emacs-async" ,emacs-async)
 | 
			
		||||
| 
						 | 
				
			
			@ -7032,7 +7038,19 @@ running a customisable handler command (@code{ignore} by default). ")
 | 
			
		|||
       ("ert-runner" ,emacs-ert-runner)))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#: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")
 | 
			
		||||
    (synopsis "Reformatting tool for JSON")
 | 
			
		||||
    (description "@code{json-reformat} provides a reformatting tool for
 | 
			
		||||
| 
						 | 
				
			
			@ -10143,23 +10161,26 @@ and doesn't require memorisation of commands.
 | 
			
		|||
(define-public emacs-suggest
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-suggest")
 | 
			
		||||
    (version "0.4")
 | 
			
		||||
    (version "0.7")
 | 
			
		||||
    (home-page "https://github.com/Wilfred/suggest.el")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "https://github.com/Wilfred/suggest.el/archive/"
 | 
			
		||||
                           version ".tar.gz"))
 | 
			
		||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url home-page)
 | 
			
		||||
             (commit version)))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1760fm3j19w8xxcawq6s859h86q1rdg69pg9yz48n76kwfk3vlgp"))))
 | 
			
		||||
         "01v8plska5d3g19sb1m4ph1i3ayprfzk8mi6mpabjy6zad397xjl"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     `(("emacs-loop" ,emacs-loop)
 | 
			
		||||
       ("emacs-dash" ,emacs-dash)
 | 
			
		||||
       ("emacs-s" ,emacs-s)
 | 
			
		||||
       ("emacs-f" ,emacs-f)))
 | 
			
		||||
    (home-page "https://github.com/Wilfred/suggest.el")
 | 
			
		||||
       ("emacs-f" ,emacs-f)
 | 
			
		||||
       ("emacs-spinner" ,emacs-spinner)
 | 
			
		||||
       ("emacs-shut-up" ,emacs-shut-up)))
 | 
			
		||||
    (synopsis "Suggest Elisp functions that give the output requested")
 | 
			
		||||
    (description "Suggest.el will find functions that give the output
 | 
			
		||||
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.")
 | 
			
		||||
      (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
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-esh-autosuggest")
 | 
			
		||||
| 
						 | 
				
			
			@ -11358,6 +11402,56 @@ Org-mode.  It features:
 | 
			
		|||
@end itemize\n")
 | 
			
		||||
      (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
 | 
			
		||||
  (package
 | 
			
		||||
    (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
 | 
			
		||||
completion systems for selecting commands, such as ido and ivy.")
 | 
			
		||||
    (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+)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -92,7 +92,7 @@
 | 
			
		|||
                                   '("eshell/esh-groups.el")))
 | 
			
		||||
 | 
			
		||||
                 ;; 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.
 | 
			
		||||
                 (substitute* "net/tramp-sh.el"
 | 
			
		||||
                   ;; Patch the line after "(defcustom tramp-remote-path".
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1339,7 +1339,6 @@ play them on systems for which they were never designed!")
 | 
			
		|||
               #t))))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("pkg-config" ,pkg-config)
 | 
			
		||||
       ("pugixml" ,pugixml)
 | 
			
		||||
       ("python-sphinx" ,python-sphinx)
 | 
			
		||||
       ("texinfo" ,texinfo)))
 | 
			
		||||
    (inputs
 | 
			
		||||
| 
						 | 
				
			
			@ -1354,6 +1353,7 @@ play them on systems for which they were never designed!")
 | 
			
		|||
       ("lua" ,lua)
 | 
			
		||||
       ("portaudio" ,portaudio)
 | 
			
		||||
       ("portmidi" ,portmidi)
 | 
			
		||||
       ("pugixml" ,pugixml)
 | 
			
		||||
       ("python-wrapper" ,python-wrapper)
 | 
			
		||||
       ("qtbase" ,qtbase)
 | 
			
		||||
       ("rapidjson" ,rapidjson)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -734,16 +734,16 @@ language.")
 | 
			
		|||
(define-public kicad
 | 
			
		||||
    (package
 | 
			
		||||
      (name "kicad")
 | 
			
		||||
      (version "5.0.0")
 | 
			
		||||
      (version "5.0.2")
 | 
			
		||||
      (source
 | 
			
		||||
       (origin
 | 
			
		||||
         (method url-fetch)
 | 
			
		||||
         (file-name (string-append name "-" version ".tar.xz"))
 | 
			
		||||
         (uri (string-append
 | 
			
		||||
                "https://launchpad.net/kicad/" (version-major+minor version)
 | 
			
		||||
                "/" version "/+download/" name "-" version ".tar.xz"))
 | 
			
		||||
                "/" version "/+download/kicad-" version ".tar.xz"))
 | 
			
		||||
         (sha256
 | 
			
		||||
          (base32 "17nqjszyvd25wi6550j981whlnb1wxzmlanljdjihiki53j84x9p"))))
 | 
			
		||||
          (base32 "10605rr10x0353n6yk2z095ydnkd1i6j1ncbq64pfxdn5vkhcd1g"))))
 | 
			
		||||
      (build-system cmake-build-system)
 | 
			
		||||
      (arguments
 | 
			
		||||
       `(#:out-of-source? #t
 | 
			
		||||
| 
						 | 
				
			
			@ -888,16 +888,16 @@ render model libraries.")
 | 
			
		|||
(define-public kicad-symbols
 | 
			
		||||
  (package
 | 
			
		||||
    (name "kicad-symbols")
 | 
			
		||||
    (version "5.0.1")
 | 
			
		||||
    (version "5.0.2")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/KiCad/kicad-symbols.git")
 | 
			
		||||
                    (commit version)))
 | 
			
		||||
              (file-name (string-append "kicad-symbols-" version "-checkout"))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "18z5vpdq7hy2mpvm5vz1dz3ra3a5iybavvlzi8q2bmmdb6gsvf64"))))
 | 
			
		||||
                "1rjh2pjcrc3bhcgyyskj5pssm7vffrjk0ymwr70fb7sjpmk96yjk"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f)) ; No tests exist
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -301,14 +301,14 @@ Includes the actual FTDI connector.")
 | 
			
		|||
(define-public gtkwave
 | 
			
		||||
  (package
 | 
			
		||||
    (name "gtkwave")
 | 
			
		||||
    (version "3.3.91")
 | 
			
		||||
    (version "3.3.99")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "http://gtkwave.sourceforge.net/"
 | 
			
		||||
                                  name "-" version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1vp9qj3wyfwm36jk3pajvi09xvc1m1crf3d4gphfbs6nkyx2z942"))))
 | 
			
		||||
                "0lc4y2vizrbxldjk5yw2i4y7pyprjdjqx3iafzjfnin694zp2630"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("gperf" ,gperf)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,7 +8,7 @@
 | 
			
		|||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
 | 
			
		||||
;;; 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 Brendan Tildesley <brendan.tildesley@openmailbox.org>
 | 
			
		||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
| 
						 | 
				
			
			@ -36,6 +36,7 @@
 | 
			
		|||
  #:use-module (guix packages)
 | 
			
		||||
  #:use-module (guix download)
 | 
			
		||||
  #:use-module (guix git-download)
 | 
			
		||||
  #:use-module (guix build-system cmake)
 | 
			
		||||
  #:use-module (guix build-system gnu)
 | 
			
		||||
  #:use-module (guix build-system meson)
 | 
			
		||||
  #:use-module (guix build-system perl)
 | 
			
		||||
| 
						 | 
				
			
			@ -152,7 +153,7 @@ freedesktop.org project.")
 | 
			
		|||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://freedesktop.org/software/libinput/"
 | 
			
		||||
                                  name "-" version ".tar.xz"))
 | 
			
		||||
                                  "libinput-" version ".tar.xz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0pgla0mc6mvyr1ljy10mcqvfz8i5z6yp7dbx2bcd70y67wx05d0j"))))
 | 
			
		||||
| 
						 | 
				
			
			@ -452,6 +453,33 @@ applications, X servers (rootless or fullscreen) or other display servers.")
 | 
			
		|||
    (home-page "https://wayland.freedesktop.org")
 | 
			
		||||
    (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
 | 
			
		||||
  (package
 | 
			
		||||
    (name "weston")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -209,14 +209,14 @@ output.
 | 
			
		|||
(define-public filezilla
 | 
			
		||||
  (package
 | 
			
		||||
    (name "filezilla")
 | 
			
		||||
    (version "3.40.0")
 | 
			
		||||
    (version "3.41.1")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "https://download.filezilla-project.org/client/"
 | 
			
		||||
                           "FileZilla_" version "_src.tar.bz2"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "11b0410fcwrahq5dd7ph10bc09m62sxra4bjp0kj5gph822s0v63"))))
 | 
			
		||||
        (base32 "0mlv21054fk11rspbnig0q4gph1iqsqm4rpya3wl5is50p33vg5w"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
      ;; Don't let filezilla phone home to check for updates.
 | 
			
		||||
| 
						 | 
				
			
			@ -224,7 +224,6 @@ output.
 | 
			
		|||
    (native-inputs
 | 
			
		||||
     `(("gettext" ,gettext-minimal)
 | 
			
		||||
       ("pkg-config" ,pkg-config)
 | 
			
		||||
       ("pugixml" ,pugixml)
 | 
			
		||||
       ("xdg-utils" ,xdg-utils)))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("dbus" ,dbus)
 | 
			
		||||
| 
						 | 
				
			
			@ -233,6 +232,7 @@ output.
 | 
			
		|||
       ("libfilezilla" ,libfilezilla)
 | 
			
		||||
       ("libidn" ,libidn)
 | 
			
		||||
       ("nettle" ,nettle)
 | 
			
		||||
       ("pugixml" ,pugixml)
 | 
			
		||||
       ("sqlite" ,sqlite)
 | 
			
		||||
       ("wxwidgets" ,wxwidgets)))
 | 
			
		||||
    (home-page "https://filezilla-project.org")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1403,14 +1403,14 @@ interface or via an external visual interface such as GNU XBoard.")
 | 
			
		|||
(define freedink-engine
 | 
			
		||||
  (package
 | 
			
		||||
    (name "freedink-engine")
 | 
			
		||||
    (version "109.4")
 | 
			
		||||
    (version "109.6")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "mirror://gnu/freedink/freedink-" version
 | 
			
		||||
                                  ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0iaagwnyfgm3mqzkj550q60hrsjr13gykg5vfn2nz2ia520bb52g"))))
 | 
			
		||||
                "00hhk1bjdrc1np2qz44sa5n1mb62qzwxbvsnws3vpms6iyn3a2sy"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags '("--disable-embedded-resources")
 | 
			
		||||
| 
						 | 
				
			
			@ -4441,12 +4441,17 @@ fish.  The whole game is accompanied by quiet, comforting music.")
 | 
			
		|||
       ("python-pyyaml" ,python-pyyaml)
 | 
			
		||||
       ("pkg-config" ,pkg-config)))
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:make-flags
 | 
			
		||||
     `(#:make-flags
 | 
			
		||||
       (let* ((sqlite (assoc-ref %build-inputs "sqlite"))
 | 
			
		||||
              (out (assoc-ref %outputs "out")))
 | 
			
		||||
         (list (string-append "SQLITE_INCLUDE_DIR=" sqlite "/include")
 | 
			
		||||
               (string-append "prefix=" out)
 | 
			
		||||
               "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
 | 
			
		||||
               "BUILD_LUA="
 | 
			
		||||
               "BUILD_SQLITE="
 | 
			
		||||
| 
						 | 
				
			
			@ -4454,11 +4459,6 @@ fish.  The whole game is accompanied by quiet, comforting music.")
 | 
			
		|||
               "-Csource"))
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'patch-flags
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "source/Makefile"
 | 
			
		||||
               (("-mfpmath=sse -msse2") ""))
 | 
			
		||||
             #t))
 | 
			
		||||
         (add-after 'unpack 'find-SDL-image
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "source/windowmanager-sdl.cc"
 | 
			
		||||
| 
						 | 
				
			
			@ -5864,7 +5864,7 @@ when packaged in Blorb container files or optionally from individual files.")
 | 
			
		|||
(define-public libmanette
 | 
			
		||||
  (package
 | 
			
		||||
    (name "libmanette")
 | 
			
		||||
    (version "0.2.1")
 | 
			
		||||
    (version "0.2.2")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (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"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "14vqz30p4693yy3yxs0gj858x25sl2kawib1g9lj8g5frgl0hd82"))))
 | 
			
		||||
                "1lpprk2qz1lsqf9xj6kj2ciyc1zmjhj5lwd584qkh7jgz2x9y6wb"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("glib" ,glib "bin")             ; for glib-compile-resources
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -63,7 +63,7 @@
 | 
			
		|||
(define-public geos
 | 
			
		||||
  (package
 | 
			
		||||
    (name "geos")
 | 
			
		||||
    (version "3.7.0")
 | 
			
		||||
    (version "3.7.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "http://download.osgeo.org/geos/geos-"
 | 
			
		||||
| 
						 | 
				
			
			@ -71,7 +71,7 @@
 | 
			
		|||
                                  ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1mrz778m6bd1x9k6sha5kld43kalhq79h2lynlx2jx7xjakl3gsg"))))
 | 
			
		||||
                "1312m02xk4sp6f1xdpb9w0ic0zbxg90p5y66qnwidl5fksscf1h0"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments `(#:phases
 | 
			
		||||
                 (modify-phases %standard-phases
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2596,7 +2596,7 @@ libxml to ease remote use of the RESTful API.")
 | 
			
		|||
(define-public libsoup
 | 
			
		||||
  (package
 | 
			
		||||
    (name "libsoup")
 | 
			
		||||
    (version "2.64.2")
 | 
			
		||||
    (version "2.66.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "mirror://gnome/sources/libsoup/"
 | 
			
		||||
| 
						 | 
				
			
			@ -2604,38 +2604,23 @@ libxml to ease remote use of the RESTful API.")
 | 
			
		|||
                                  name "-" version ".tar.xz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1il6lyrmfi0hfh3ysw8w1qzc1rdz0igkb7dv6d8g5mmilnac3pbm"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
                "08c9kkdhzy504gv23pfdm4sq3dd3j20sikwz6gv0qrwcdjnw5bai"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (outputs '("out" "doc"))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:modules ((guix build utils)
 | 
			
		||||
                  (guix build gnu-build-system)
 | 
			
		||||
                  (guix build meson-build-system)
 | 
			
		||||
                  (ice-9 popen))
 | 
			
		||||
 | 
			
		||||
       #:configure-flags
 | 
			
		||||
       (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"))
 | 
			
		||||
       #:configure-flags '("-Ddoc=true")
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-before 'configure 'disable-unconnected-socket-test
 | 
			
		||||
           ;; This test fails due to missing /etc/nsswitch.conf
 | 
			
		||||
           ;; in the build environment.
 | 
			
		||||
         (add-after 'unpack 'adjust-tests
 | 
			
		||||
           (lambda _
 | 
			
		||||
             ;; This test fails due to missing /etc/nsswitch.conf
 | 
			
		||||
             ;; in the build environment.
 | 
			
		||||
             (substitute* "tests/socket-test.c"
 | 
			
		||||
               ((".*/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
 | 
			
		||||
             ;; '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))
 | 
			
		||||
             #t))
 | 
			
		||||
         (replace 'install
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (invoke "make"
 | 
			
		||||
                     ;; Install vala bindings into $out.
 | 
			
		||||
                     (string-append "vapidir=" %output
 | 
			
		||||
                                    "/share/vala/vapi")
 | 
			
		||||
                     "install"))))))
 | 
			
		||||
         (add-after 'install 'move-doc
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (let ((out (assoc-ref outputs "out"))
 | 
			
		||||
                   (doc (assoc-ref outputs "doc")))
 | 
			
		||||
               (mkdir-p (string-append doc "/share"))
 | 
			
		||||
               (copy-recursively (string-append out "/share/gtk-doc")
 | 
			
		||||
                                 (string-append doc "/share/gtk-doc"))
 | 
			
		||||
               (delete-file-recursively (string-append out "/share/gtk-doc"))
 | 
			
		||||
               #t))))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("glib:bin" ,glib "bin")                   ; for glib-mkenums
 | 
			
		||||
       ("gobject-introspection" ,gobject-introspection)
 | 
			
		||||
       ("gtk-doc" ,gtk-doc)
 | 
			
		||||
       ("intltool" ,intltool)
 | 
			
		||||
       ("pkg-config" ,pkg-config)
 | 
			
		||||
       ("python" ,python-wrapper)
 | 
			
		||||
| 
						 | 
				
			
			@ -2703,11 +2691,12 @@ libxml to ease remote use of the RESTful API.")
 | 
			
		|||
    (propagated-inputs
 | 
			
		||||
     ;; libsoup-2.4.pc refers to all these.
 | 
			
		||||
     `(("glib" ,glib)
 | 
			
		||||
       ("libxml2" ,libxml2)))
 | 
			
		||||
       ("libpsl" ,libpsl)
 | 
			
		||||
       ("libxml2" ,libxml2)
 | 
			
		||||
       ("sqlite" ,sqlite)))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("glib-networking" ,glib-networking)
 | 
			
		||||
       ("libpsl" ,libpsl)
 | 
			
		||||
       ("sqlite" ,sqlite)))
 | 
			
		||||
       ("mit-krb5" ,mit-krb5)))
 | 
			
		||||
    (home-page "https://live.gnome.org/LibSoup/")
 | 
			
		||||
    (synopsis "GLib-based HTTP Library")
 | 
			
		||||
    (description
 | 
			
		||||
| 
						 | 
				
			
			@ -4304,7 +4293,7 @@ work and the interface is well tested.")
 | 
			
		|||
       ("libsecret" ,libsecret)
 | 
			
		||||
       ("gtkspell3" ,gtkspell3)
 | 
			
		||||
       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
 | 
			
		||||
       ("webkitgtk" ,webkitgtk-2.22)))
 | 
			
		||||
       ("webkitgtk" ,webkitgtk-2.24)))
 | 
			
		||||
    (home-page "https://wiki.gnome.org/Apps/Eolie")
 | 
			
		||||
    (synopsis "Web browser for GNOME")
 | 
			
		||||
    (description
 | 
			
		||||
| 
						 | 
				
			
			@ -4363,7 +4352,7 @@ a secret password store, an adblocker, and a modern UI.")
 | 
			
		|||
       ("libxslt" ,libxslt)
 | 
			
		||||
       ("nettle" ,nettle) ; for hogweed
 | 
			
		||||
       ("sqlite" ,sqlite)
 | 
			
		||||
       ("webkitgtk" ,webkitgtk-2.22)))
 | 
			
		||||
       ("webkitgtk" ,webkitgtk-2.24)))
 | 
			
		||||
    (home-page "https://wiki.gnome.org/Apps/Web")
 | 
			
		||||
    (synopsis "GNOME web browser")
 | 
			
		||||
    (description
 | 
			
		||||
| 
						 | 
				
			
			@ -5215,7 +5204,7 @@ users.")
 | 
			
		|||
             (doc      (assoc-ref %outputs "doc"))
 | 
			
		||||
             (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
 | 
			
		||||
                                      "/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-crypto=gnutls"
 | 
			
		||||
               "--disable-config-plugin-ibft"
 | 
			
		||||
| 
						 | 
				
			
			@ -5766,10 +5755,9 @@ properties, screen resolution, and other GNOME parameters.")
 | 
			
		|||
                   (copy-file #$(file-append %artwork-repository
 | 
			
		||||
                                             "/slim/0.x/background.png")
 | 
			
		||||
                              "data/theme/guix-background.png")
 | 
			
		||||
                   (invoke #+(file-append inkscape "/bin/inkscape")
 | 
			
		||||
                           "--export-png=data/theme/guix-logo.png"
 | 
			
		||||
                           #$(file-append %artwork-repository
 | 
			
		||||
                                          "/logo/Guix-horizontal-white.svg"))
 | 
			
		||||
                   (copy-file #$(file-append %artwork-repository
 | 
			
		||||
                                             "/logo/Guix-horizontal-white.svg")
 | 
			
		||||
                              "data/theme/guix-logo.svg")
 | 
			
		||||
                   #t))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
| 
						 | 
				
			
			@ -5791,6 +5779,11 @@ properties, screen resolution, and other GNOME parameters.")
 | 
			
		|||
                 (("keysdir =.*")
 | 
			
		||||
                  (string-append "keysdir = '" keysdir "'\n")))
 | 
			
		||||
               #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
 | 
			
		||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
             ;; 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.
 | 
			
		||||
       ("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
 | 
			
		||||
       ("gobject-introspection" ,gobject-introspection)
 | 
			
		||||
       ("inkscape" ,inkscape)
 | 
			
		||||
       ("intltool" ,intltool)
 | 
			
		||||
       ("pkg-config" ,pkg-config)
 | 
			
		||||
       ("python" ,python)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -605,18 +605,19 @@ using Guile's foreign function interface.")
 | 
			
		|||
  (package
 | 
			
		||||
    (name "guile-colorized")
 | 
			
		||||
    (version "0.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://github.com/NalaGinrut/guile-colorized/"
 | 
			
		||||
                                  "archive/v" version ".tar.gz"))
 | 
			
		||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "16xhc3an6aglnca8xl3mvgi8hsqzqn68vsl5ga4bz8bvbap5fn4p"))))
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://gitlab.com/NalaGinrut/guile-colorized.git")
 | 
			
		||||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "10mv8c63159r3qvwwdvsgnsvdg7nc2ghak85zapwqpv4ywrqp9zc"))))
 | 
			
		||||
    (build-system guile-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("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")
 | 
			
		||||
    (description
 | 
			
		||||
     "Guile-colorized provides you with a colorized REPL for GNU Guile.")
 | 
			
		||||
| 
						 | 
				
			
			@ -2069,6 +2070,7 @@ completion, a simple mode line, etc.")
 | 
			
		|||
                (uri (git-reference
 | 
			
		||||
                      (url "https://gitlab.com/tampe/stis-parser")
 | 
			
		||||
                      (commit commit)))
 | 
			
		||||
                (file-name (git-file-name name version))
 | 
			
		||||
                (sha256
 | 
			
		||||
                 (base32
 | 
			
		||||
                  "0v4hvq7rlpbra1ni73lf8k6sdmjlflr50yi3p1f24g85h77pc7c0"))))
 | 
			
		||||
| 
						 | 
				
			
			@ -2079,6 +2081,11 @@ completion, a simple mode line, etc.")
 | 
			
		|||
         (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))
 | 
			
		||||
           (add-after 'chdir 'delete-broken-symlink
 | 
			
		||||
             (lambda _
 | 
			
		||||
               (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 can be expressions as well as simple tokens.")
 | 
			
		||||
      (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+))))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -391,7 +391,7 @@ GNU@tie{}Guile.  Use the @code{(ice-9 readline)} module and call its
 | 
			
		|||
(define package-for-guile-2.0
 | 
			
		||||
  ;; A procedure that rewrites the dependency tree of the given package to use
 | 
			
		||||
  ;; 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")))
 | 
			
		||||
 | 
			
		||||
(define-public guile-for-guile-emacs
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1101,7 +1101,7 @@ convert, manipulate, filter and display a wide variety of image formats.")
 | 
			
		|||
(define-public jasper
 | 
			
		||||
  (package
 | 
			
		||||
    (name "jasper")
 | 
			
		||||
    (version "2.0.14")
 | 
			
		||||
    (version "2.0.16")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (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))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0aarg8nbik9wrm7fx0451sbm5ypfdfr6i169pxzi354mpdp8gg7f"))))
 | 
			
		||||
                "05l75yd1zsxwv25ykwwwjs8961szv7iywf16nc6vc6qpby27ckv6"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (inputs `(("libjpeg" ,libjpeg)))
 | 
			
		||||
    (synopsis "JPEG-2000 library")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -148,7 +148,7 @@
 | 
			
		|||
            (use-modules (ice-9 match))
 | 
			
		||||
            (substitute* "src/runtime_ccall.cpp"
 | 
			
		||||
              ;; 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.*\\);")
 | 
			
		||||
               "NULL;\n")
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3487,7 +3487,7 @@ workspace.")
 | 
			
		|||
       ("qtsvg" ,qtsvg)
 | 
			
		||||
       ("qttools" ,qttools)
 | 
			
		||||
       ("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
 | 
			
		||||
    ;; 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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
;;; GNU Guix --- Functional package management for GNU
 | 
			
		||||
;;; 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 © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
| 
						 | 
				
			
			@ -43,6 +43,7 @@
 | 
			
		|||
  #:use-module (gnu packages databases)
 | 
			
		||||
  #:use-module (gnu packages documentation)
 | 
			
		||||
  #:use-module (gnu packages fontutils)
 | 
			
		||||
  #:use-module (gnu packages freedesktop)
 | 
			
		||||
  #:use-module (gnu packages fribidi)
 | 
			
		||||
  #:use-module (gnu packages gettext)
 | 
			
		||||
  #:use-module (gnu packages ghostscript)
 | 
			
		||||
| 
						 | 
				
			
			@ -462,6 +463,23 @@ plug-in system.")
 | 
			
		|||
                   license:bsd-3                  ;misc, gtest
 | 
			
		||||
                   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
 | 
			
		||||
  (let ((commit "104dc23b2a993c8e6db8c46f4f8bec24b146549b") ; Add support for
 | 
			
		||||
        (revision "1"))                                     ; `$HOME/.kodirc'.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,7 +5,7 @@
 | 
			
		|||
;;; Copyright © 2016 David Thompson <davet@gnu.org>
 | 
			
		||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
 | 
			
		||||
;;; 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>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
| 
						 | 
				
			
			@ -170,14 +170,14 @@ resolution, asynchronous file system operations, and threading primitives.")
 | 
			
		|||
(define-public perl-anyevent
 | 
			
		||||
  (package
 | 
			
		||||
    (name "perl-anyevent")
 | 
			
		||||
    (version "7.14")
 | 
			
		||||
    (version "7.15")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/"
 | 
			
		||||
                                  "AnyEvent-" version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0akxr9y0q9yjkl614x4clbiiayvh5a67y8gmci54plxs4p95i4sk"))))
 | 
			
		||||
                "0m73r67ah9xmcwzxs50jxf8ncd8h71mi4wf2mvnqkxvibhrv478i"))))
 | 
			
		||||
    (build-system perl-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("perl-canary-stability" ,perl-canary-stability)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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.")
 | 
			
		||||
    (license license:gpl2)))
 | 
			
		||||
 | 
			
		||||
(define %linux-libre-version "5.0")
 | 
			
		||||
(define %linux-libre-hash "18gs0kl5xvbmh725m7crg6iyqw3p8qq421aql7z0nlk035fh5xbx")
 | 
			
		||||
(define %linux-libre-version "5.0.1")
 | 
			
		||||
(define %linux-libre-hash "0izbdpml170g5jg87ccnf2q1hc01gsyiy1gqxnqzzi3pri00dfyz")
 | 
			
		||||
 | 
			
		||||
(define %linux-libre-5.0-patches
 | 
			
		||||
  (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
 | 
			
		||||
                    #:configuration-file kernel-config))
 | 
			
		||||
 | 
			
		||||
(define %linux-libre-4.19-version "4.19.27")
 | 
			
		||||
(define %linux-libre-4.19-hash "055n4s4yrkcrwkdsxbf1q1zyxmpabf7kba8d0phpfadian3wr4s0")
 | 
			
		||||
(define %linux-libre-4.19-version "4.19.28")
 | 
			
		||||
(define %linux-libre-4.19-hash "0j65gp9z3qrygx67mkhm4ri3pj1pz0gdwcdlds2ypg53rh12jc0a")
 | 
			
		||||
 | 
			
		||||
(define %linux-libre-4.19-patches
 | 
			
		||||
  (list %boot-logo-patch
 | 
			
		||||
| 
						 | 
				
			
			@ -1119,7 +1119,7 @@ MIDI functionality to the Linux-based operating system.")
 | 
			
		|||
    (outputs '("out" "pulseaudio" "jack"))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#: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
 | 
			
		||||
                           ;; won't use these files.
 | 
			
		||||
                           "--with-alsalconfdir=/tmp/noop")
 | 
			
		||||
| 
						 | 
				
			
			@ -1586,7 +1586,7 @@ devices.  It replaces @code{iwconfig}, which is deprecated.")
 | 
			
		|||
     '(#:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         ;; 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
 | 
			
		||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
			
		||||
             (let ((kmod (assoc-ref inputs "kmod")))
 | 
			
		||||
| 
						 | 
				
			
			@ -2386,7 +2386,7 @@ compliance.")
 | 
			
		|||
       #:tests? #f                                ;no tests
 | 
			
		||||
       #:make-flags (let ((out (assoc-ref %outputs "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_PRIVKEY=/dev/null")
 | 
			
		||||
                            (string-append "REGDB_PUBKEY=/dev/null")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -451,14 +451,14 @@ use with Clang, targeting C++11, C++14 and above.")
 | 
			
		|||
(define-public python-llvmlite
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-llvmlite")
 | 
			
		||||
    (version "0.24.0")
 | 
			
		||||
    (version "0.27.1")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (pypi-uri "llvmlite" version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "01zwjlc3c5mhrwmv4b73zgbskwqps9ly0nrh54bbj1f1l72f839j"))))
 | 
			
		||||
         "1aq003zbyjnz4q1118h6qx5lfimc8s5fvgskl75j12gxd6pc78a8"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("llvm"
 | 
			
		||||
| 
						 | 
				
			
			@ -472,10 +472,10 @@ use with Clang, targeting C++11, C++14 and above.")
 | 
			
		|||
                         (method url-fetch)
 | 
			
		||||
                         (uri (string-append "https://raw.githubusercontent.com/numba/"
 | 
			
		||||
                                             "llvmlite/v" version "/conda-recipes/"
 | 
			
		||||
                                             "D47188-svml.patch"))
 | 
			
		||||
                                             "D47188-svml-VF.patch"))
 | 
			
		||||
                         (sha256
 | 
			
		||||
                          (base32
 | 
			
		||||
                           "0mrj24jvkv3hjcmyg98zmvmyl1znlh2j63rdr69f6g7s96d2pfv1")))
 | 
			
		||||
                           "0wxhgb61k17f0zg2m0726sf3hppm41f8jar2kkg2n8sl5cnjj9mr")))
 | 
			
		||||
                       (origin
 | 
			
		||||
                         (method url-fetch)
 | 
			
		||||
                         (uri (string-append "https://raw.githubusercontent.com/numba/"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,14 +40,19 @@
 | 
			
		|||
  #:use-module (guix git-download)
 | 
			
		||||
  #:use-module (gnu packages)
 | 
			
		||||
  #:use-module (gnu packages algebra)
 | 
			
		||||
  #:use-module (gnu packages audio)
 | 
			
		||||
  #:use-module (gnu packages autotools)
 | 
			
		||||
  #:use-module (gnu packages base)
 | 
			
		||||
  #:use-module (gnu packages boost)
 | 
			
		||||
  #:use-module (gnu packages check)
 | 
			
		||||
  #:use-module (gnu packages compression)
 | 
			
		||||
  #:use-module (gnu packages cran)
 | 
			
		||||
  #:use-module (gnu packages dejagnu)
 | 
			
		||||
  #:use-module (gnu packages gcc)
 | 
			
		||||
  #:use-module (gnu packages glib)
 | 
			
		||||
  #:use-module (gnu packages gstreamer)
 | 
			
		||||
  #:use-module (gnu packages image)
 | 
			
		||||
  #:use-module (gnu packages linux)
 | 
			
		||||
  #:use-module (gnu packages maths)
 | 
			
		||||
  #:use-module (gnu packages mpi)
 | 
			
		||||
  #: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
 | 
			
		||||
association studies (GWAS) on extremely large data sets.")
 | 
			
		||||
    (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))))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3667,7 +3667,7 @@ audio samples and various soft sythesizers.  It can receive input from a MIDI ke
 | 
			
		|||
(define-public musescore
 | 
			
		||||
  (package
 | 
			
		||||
    (name "musescore")
 | 
			
		||||
    (version "3.0.4")
 | 
			
		||||
    (version "3.0.5")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (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))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "05cn4j5f7xr438lgl0by3lrc7wckdgicdn4jrvxfqic8hv81sca7"))
 | 
			
		||||
                "1inf6zdyh6yspjv1i7g6rw9wn90vki1s2qgilkp0j4aphayj4mic"))
 | 
			
		||||
              (modules '((guix build utils)))
 | 
			
		||||
              (snippet
 | 
			
		||||
               ;; Un-bundle OpenSSL and remove unused libraries.
 | 
			
		||||
| 
						 | 
				
			
			@ -3835,7 +3835,7 @@ specification and header.")
 | 
			
		|||
(define-public rosegarden
 | 
			
		||||
  (package
 | 
			
		||||
    (name "rosegarden")
 | 
			
		||||
    (version "18.06")
 | 
			
		||||
    (version "18.12")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
| 
						 | 
				
			
			@ -3843,10 +3843,10 @@ specification and header.")
 | 
			
		|||
                    version "/rosegarden-" version ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "04qc80sqb2ji42pq3mayhvqqn39hlxzymsywpbpzfpchr19chxx7"))))
 | 
			
		||||
                "15i9fm0vkn3wsgahaxqi1j5zs0wc0j3wdwml0x49084gk2p328vb"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags '("-DUSE_QT5=1") ; "-DCMAKE_BUILD_TYPE=Release"
 | 
			
		||||
     `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release")
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'patch-tests
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -591,7 +591,7 @@ of the same name.")
 | 
			
		|||
(define-public wireshark
 | 
			
		||||
  (package
 | 
			
		||||
    (name "wireshark")
 | 
			
		||||
    (version "2.6.6")
 | 
			
		||||
    (version "3.0.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -599,59 +599,58 @@ of the same name.")
 | 
			
		|||
                           version ".tar.xz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0qz8a1ays63712pq1v7nnw7c57zlqkcifq7himfv5nsv0zm36ya8"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs `(("c-ares" ,c-ares)
 | 
			
		||||
              ("glib" ,glib)
 | 
			
		||||
              ("gnutls" ,gnutls)
 | 
			
		||||
              ("libcap" ,libcap)
 | 
			
		||||
              ("libgcrypt" ,libgcrypt)
 | 
			
		||||
              ("libnl" ,libnl)
 | 
			
		||||
              ("libpcap" ,libpcap)
 | 
			
		||||
              ("libssh" ,libssh)
 | 
			
		||||
              ("libxml2" ,libxml2)
 | 
			
		||||
              ("lz4" ,lz4)
 | 
			
		||||
              ("lua" ,lua-5.2)          ;Lua 5.3 unsupported
 | 
			
		||||
              ("krb5" ,mit-krb5)
 | 
			
		||||
              ("portaudio" ,portaudio)
 | 
			
		||||
              ("qtbase" ,qtbase)
 | 
			
		||||
              ("qtmultimedia" ,qtmultimedia)
 | 
			
		||||
              ("sbc" ,sbc)
 | 
			
		||||
              ("snappy" ,snappy)
 | 
			
		||||
              ("zlib" ,zlib)))
 | 
			
		||||
    (native-inputs `(("perl" ,perl)
 | 
			
		||||
                     ("pkg-config" ,pkg-config)
 | 
			
		||||
                     ("python" ,python-wrapper)
 | 
			
		||||
                     ("qttools" ,qttools)))
 | 
			
		||||
         "17h0ixq7yr6scscjkidaj3dh5x6dfd3f97ggdxlklkz9nbsk0kxw"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (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
 | 
			
		||||
     `(#:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'patch-source
 | 
			
		||||
         (add-after 'unpack 'remove-failing-test
 | 
			
		||||
           ;; Test 31/32 fails with errors like "Program reassemble_test is
 | 
			
		||||
           ;; not available".  Skipping it for now.
 | 
			
		||||
           (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)))))
 | 
			
		||||
             (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.
 | 
			
		||||
       ;;
 | 
			
		||||
       ;; That’s not a problem in practice because "ethercat.so" is a plugin,
 | 
			
		||||
       ;; so it’s dlopen’d by a process that already provides "libwireshark".
 | 
			
		||||
       ;; For now, we disable this phase.
 | 
			
		||||
       #:validate-runpath? #f))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("c-ares" ,c-ares)
 | 
			
		||||
       ("glib" ,glib)
 | 
			
		||||
       ("gnutls" ,gnutls)
 | 
			
		||||
       ("libcap" ,libcap)
 | 
			
		||||
       ("libgcrypt" ,libgcrypt)
 | 
			
		||||
       ("libnl" ,libnl)
 | 
			
		||||
       ("libpcap" ,libpcap)
 | 
			
		||||
       ("libssh" ,libssh)
 | 
			
		||||
       ("libxml2" ,libxml2)
 | 
			
		||||
       ("lz4" ,lz4)
 | 
			
		||||
       ("lua" ,lua-5.2)                 ;Lua 5.3 unsupported
 | 
			
		||||
       ("krb5" ,mit-krb5)
 | 
			
		||||
       ("qtbase" ,qtbase)
 | 
			
		||||
       ("qtmultimedia" ,qtmultimedia)
 | 
			
		||||
       ("qtsvg" ,qtsvg)
 | 
			
		||||
       ("sbc" ,sbc)
 | 
			
		||||
       ("snappy" ,snappy)
 | 
			
		||||
       ("zlib" ,zlib)))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("bison" ,bison)
 | 
			
		||||
       ("doxygen" ,doxygen)
 | 
			
		||||
       ("flex" ,flex)
 | 
			
		||||
       ("gettext" ,gettext-minimal)
 | 
			
		||||
       ("perl" ,perl)
 | 
			
		||||
       ("pkg-config" ,pkg-config)
 | 
			
		||||
       ("python" ,python-wrapper)
 | 
			
		||||
       ("qttools" ,qttools)))
 | 
			
		||||
    (synopsis "Network traffic analyzer")
 | 
			
		||||
    (description "Wireshark is a network protocol analyzer, or @dfn{packet
 | 
			
		||||
sniffer}, that lets you capture and interactively browse the contents of
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -142,8 +142,8 @@
 | 
			
		|||
 | 
			
		||||
                            ;; Set 'DOT_USER_PROGRAM' to the empty string so
 | 
			
		||||
                            ;; we don't keep a reference to Graphviz, whose
 | 
			
		||||
                            ;; closure is pretty big (too big for the GuixSD
 | 
			
		||||
                            ;; installation image.)
 | 
			
		||||
                            ;; closure is pretty big (too big for the Guix
 | 
			
		||||
                            ;; system installation image.)
 | 
			
		||||
                            "ac_cv_path_DOT_USER_PROGRAM=dot"
 | 
			
		||||
 | 
			
		||||
                            ;; To avoid problems with the length of shebangs,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										61
									
								
								gnu/packages/patches/pugixml-versioned-libdir.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								gnu/packages/patches/pugixml-versioned-libdir.patch
									
										
									
									
									
										Normal 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
 | 
			
		||||
| 
						 | 
				
			
			@ -207,15 +207,18 @@ MTP, and much more.")
 | 
			
		|||
(define-public perl-image-exiftool
 | 
			
		||||
  (package
 | 
			
		||||
    (name "perl-image-exiftool")
 | 
			
		||||
    (version "11.11")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
                    "mirror://cpan/authors/id/E/EX/EXIFTOOL/Image-ExifTool-"
 | 
			
		||||
                    version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1szg1k82nz88pp5n7lg71ja7q3hh5i5f9bcbb7m482dwrmsywkp6"))))
 | 
			
		||||
    (version "11.31")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (list
 | 
			
		||||
             (string-append "mirror://cpan/authors/id/E/EX/EXIFTOOL/"
 | 
			
		||||
                            "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
 | 
			
		||||
        (base32 "1kplb7hvhrhqxkr4ddc44q7a3fs0r8svv2jlh325nwkfi7aa5kz5"))))
 | 
			
		||||
    (build-system perl-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:phases
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -73,7 +73,7 @@
 | 
			
		|||
                 (substitute* "src/polkitbackend/polkitbackendjsauthority.cpp"
 | 
			
		||||
                   (("systemd") "elogind"))
 | 
			
		||||
 | 
			
		||||
                 ;; GuixSD's polkit service stores actions under
 | 
			
		||||
                 ;; Guix System's polkit service stores actions under
 | 
			
		||||
                 ;; /etc/polkit-1/actions.
 | 
			
		||||
                 (substitute* "src/polkitbackend/polkitbackendinteractiveauthority.c"
 | 
			
		||||
                   (("PACKAGE_DATA_DIR \"/polkit-1/actions\"")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3217,26 +3217,19 @@ color scales, and color space conversion easy.  It has support for:
 | 
			
		|||
(define-public python-pygit2
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-pygit2")
 | 
			
		||||
    (version "0.27.3")
 | 
			
		||||
    (version "0.27.4")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (pypi-uri "pygit2" version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "046ahvsb7a20sgvscqfm3cb32sp3sii4gim9vz7zzrkf7yz16xlv"))))
 | 
			
		||||
         "15c1mhwwjc7nr8hn5gm21hcfhw61jmwb0vngpjhlm3y5565wg2pz"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:phases
 | 
			
		||||
     '(#:tests? #f; tests don't run correctly in our environment
 | 
			
		||||
       #: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
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "setup.py"
 | 
			
		||||
| 
						 | 
				
			
			@ -8997,14 +8990,14 @@ to occurrences in strings and comments.")
 | 
			
		|||
(define-public python-py3status
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-py3status")
 | 
			
		||||
    (version "3.7")
 | 
			
		||||
    (version "3.16")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (pypi-uri "py3status" version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0shxcfz4wcczj0mhwp4w0dvwd2fdd9bgprq8slim1519iiqzgwhq"))))
 | 
			
		||||
         "1xrfph277bgjln3jbpzpgkhxad04fjvj7s3xfil42q1sxi4s3q3g"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("file" ,file)))
 | 
			
		||||
| 
						 | 
				
			
			@ -11653,6 +11646,27 @@ applications in seconds while maintaining all the flexibility.")
 | 
			
		|||
(define-public python2-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
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-fudge")
 | 
			
		||||
| 
						 | 
				
			
			@ -14365,14 +14379,14 @@ validation testing and application logic.")
 | 
			
		|||
(define-public python-numba
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-numba")
 | 
			
		||||
    (version "0.39.0")
 | 
			
		||||
    (version "0.42.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (pypi-uri "numba" version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1bibvkwga1v8293i9ivl469d8bzgabn3vgr2ig7c1i68v8frsx07"))))
 | 
			
		||||
         "03rqdfx0512lcri2bcpngx5k3jwfbqnanqj3n19c7d6h6hqxvq9x"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:modules ((guix build utils)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -151,14 +151,14 @@ anywhere.")
 | 
			
		|||
(define-public samba
 | 
			
		||||
  (package
 | 
			
		||||
    (name "samba")
 | 
			
		||||
    (version "4.9.4")
 | 
			
		||||
    (version "4.9.5")
 | 
			
		||||
    (source (origin
 | 
			
		||||
             (method url-fetch)
 | 
			
		||||
             (uri (string-append "https://download.samba.org/pub/samba/stable/"
 | 
			
		||||
                                 "samba-" version ".tar.gz"))
 | 
			
		||||
             (sha256
 | 
			
		||||
              (base32
 | 
			
		||||
               "0kqbzywlnh1skg6g78qilyn12qv7wri66h5v9f77igncpkcai63d"))))
 | 
			
		||||
               "001p896z609vb0qs196bgl362j7y3qibgm5gcl9028lfv795d287"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -91,7 +91,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
 | 
			
		|||
(define-public fish
 | 
			
		||||
  (package
 | 
			
		||||
    (name "fish")
 | 
			
		||||
    (version "3.0.0")
 | 
			
		||||
    (version "3.0.2")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -99,7 +99,7 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
 | 
			
		|||
                           "releases/download/" version "/"
 | 
			
		||||
                           name "-" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "1kzjd0n0sfslkd36lzrvvvgy3qwkd9y466bkrqlnhd5h9dhx77ga"))))
 | 
			
		||||
        (base32 "03j3jl9jzlnhq4p86zj8wqsh5sx45j1d1fvfa80ks1cfdg68qwhl"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("fish-foreign-env" ,fish-foreign-env)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,15 +29,14 @@
 | 
			
		|||
(define-public skalibs
 | 
			
		||||
  (package
 | 
			
		||||
    (name "skalibs")
 | 
			
		||||
    (version "2.7.0.0")
 | 
			
		||||
    (version "2.8.0.1")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
      (method url-fetch)
 | 
			
		||||
      (uri (string-append "http://skarnet.org/software/skalibs/skalibs-"
 | 
			
		||||
                          version ".tar.gz"))
 | 
			
		||||
      (sha256
 | 
			
		||||
       (base32
 | 
			
		||||
        "0mnprdf4w4ami0db22rwd111m037cdmn2p8xa4i8cbwxcrv4sjcn"))))
 | 
			
		||||
       (base32 "00mh15jx3p4xzhkslxzpgi1c0xglywck1ik7ffi0hfwcq092wla7"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:tests? #f                      ; no tests exist
 | 
			
		||||
| 
						 | 
				
			
			@ -62,15 +61,14 @@ and file system operations.  It is used by all skarnet.org software.")
 | 
			
		|||
(define-public execline
 | 
			
		||||
  (package
 | 
			
		||||
    (name "execline")
 | 
			
		||||
    (version "2.5.0.1")
 | 
			
		||||
    (version "2.5.1.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
      (method url-fetch)
 | 
			
		||||
      (uri (string-append "http://skarnet.org/software/execline/execline-"
 | 
			
		||||
                          version ".tar.gz"))
 | 
			
		||||
      (sha256
 | 
			
		||||
       (base32
 | 
			
		||||
        "0j8hwdw8wn0rv8njdza8fbgmvyjg7hqp3qlbw00i7fwskr7d21wd"))))
 | 
			
		||||
       (base32 "0xr6yb50wm6amj1wc7jmxyv7hvlx2ypbnww1vc288j275625d9xi"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs `(("skalibs" ,skalibs)))
 | 
			
		||||
    (arguments
 | 
			
		||||
| 
						 | 
				
			
			@ -105,15 +103,14 @@ complexity.")))
 | 
			
		|||
(define-public s6
 | 
			
		||||
  (package
 | 
			
		||||
   (name "s6")
 | 
			
		||||
   (version "2.7.2.2")
 | 
			
		||||
   (version "2.8.0.0")
 | 
			
		||||
   (source
 | 
			
		||||
    (origin
 | 
			
		||||
     (method url-fetch)
 | 
			
		||||
     (uri (string-append "http://skarnet.org/software/s6/s6-"
 | 
			
		||||
                         version ".tar.gz"))
 | 
			
		||||
     (sha256
 | 
			
		||||
      (base32
 | 
			
		||||
       "0psjmfidjdciswakw9agzzniqfmhrr21765m0q77kwxg7iisgpsq"))))
 | 
			
		||||
      (base32 "01milx5shixvniaxxmanfzz54vcymjfi86433w62rk5ypvc94ir8"))))
 | 
			
		||||
   (build-system gnu-build-system)
 | 
			
		||||
   (inputs `(("skalibs" ,skalibs)
 | 
			
		||||
             ("execline" ,execline)))
 | 
			
		||||
| 
						 | 
				
			
			@ -144,15 +141,14 @@ functionality with a very small amount of code.")))
 | 
			
		|||
(define-public s6-dns
 | 
			
		||||
  (package
 | 
			
		||||
   (name "s6-dns")
 | 
			
		||||
   (version "2.3.0.1")
 | 
			
		||||
   (version "2.3.0.2")
 | 
			
		||||
   (source
 | 
			
		||||
    (origin
 | 
			
		||||
     (method url-fetch)
 | 
			
		||||
     (uri (string-append "http://skarnet.org/software/s6-dns/s6-dns-"
 | 
			
		||||
                         version ".tar.gz"))
 | 
			
		||||
     (sha256
 | 
			
		||||
      (base32
 | 
			
		||||
       "16ymalc4yxbwc0kapwmissxlw2bdk4sx3b33zp1gwx3n6hkcgh8c"))))
 | 
			
		||||
      (base32 "1y9bhvx8bqsb2xq5lmlfnc1hw2b3jyqg11i9r4lj0n6vvaqwh1j8"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs `(("skalibs" ,skalibs)))
 | 
			
		||||
    (arguments
 | 
			
		||||
| 
						 | 
				
			
			@ -174,15 +170,14 @@ as an alternative to the BIND, djbdns or other DNS clients.")))
 | 
			
		|||
(define-public s6-networking
 | 
			
		||||
  (package
 | 
			
		||||
   (name "s6-networking")
 | 
			
		||||
   (version "2.3.0.3")
 | 
			
		||||
   (version "2.3.0.4")
 | 
			
		||||
   (source
 | 
			
		||||
    (origin
 | 
			
		||||
     (method url-fetch)
 | 
			
		||||
     (uri (string-append "http://skarnet.org/software/s6-networking/s6-networking-"
 | 
			
		||||
                         version ".tar.gz"))
 | 
			
		||||
     (sha256
 | 
			
		||||
      (base32
 | 
			
		||||
       "1kfjl7da6wkmyq1mvq9irkbzk2wbi0axjfbcw5cym5y11mqswsjs"))))
 | 
			
		||||
      (base32 "00kqp0mcp8c7f0z5s4399rd1haxasxkqgd6ds0j0607hvi56mqqa"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs `(("skalibs" ,skalibs)
 | 
			
		||||
              ("execline" ,execline)
 | 
			
		||||
| 
						 | 
				
			
			@ -218,15 +213,14 @@ clock synchronization.")))
 | 
			
		|||
(define-public s6-rc
 | 
			
		||||
  (package
 | 
			
		||||
   (name "s6-rc")
 | 
			
		||||
   (version "0.4.1.0")
 | 
			
		||||
   (version "0.5.0.0")
 | 
			
		||||
   (source
 | 
			
		||||
    (origin
 | 
			
		||||
     (method url-fetch)
 | 
			
		||||
     (uri (string-append "http://skarnet.org/software/s6-rc/s6-rc-"
 | 
			
		||||
                         version ".tar.gz"))
 | 
			
		||||
     (sha256
 | 
			
		||||
      (base32
 | 
			
		||||
       "1xl37xi509pcm5chcvn8l7gb952sr5mkpxhpkbsxhsllj791bfa2"))))
 | 
			
		||||
      (base32 "0p97p49i8m44lfiffycgn7xi08yzxkrs5dyb03svdhd6clwh6zyb"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs `(("skalibs" ,skalibs)
 | 
			
		||||
              ("execline" ,execline)
 | 
			
		||||
| 
						 | 
				
			
			@ -260,7 +254,7 @@ environment.")))
 | 
			
		|||
(define-public s6-portable-utils
 | 
			
		||||
  (package
 | 
			
		||||
   (name "s6-portable-utils")
 | 
			
		||||
   (version "2.2.1.2")
 | 
			
		||||
   (version "2.2.1.3")
 | 
			
		||||
   (source
 | 
			
		||||
    (origin
 | 
			
		||||
     (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -268,8 +262,7 @@ environment.")))
 | 
			
		|||
           "http://skarnet.org/software/s6-portable-utils/s6-portable-utils-"
 | 
			
		||||
           version ".tar.gz"))
 | 
			
		||||
     (sha256
 | 
			
		||||
      (base32
 | 
			
		||||
       "0if77z07rfygd1yk9d2abxkdbx3dg52vcjhb20isb8kvqxhkg8ih"))))
 | 
			
		||||
      (base32 "1ibjns1slyg1p7jl9irzlrjz8b01f506iw87g3s7db5arhf17vv2"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs `(("skalibs" ,skalibs)))
 | 
			
		||||
    (arguments
 | 
			
		||||
| 
						 | 
				
			
			@ -293,7 +286,7 @@ systems and other constrained environments, but they work everywhere.")))
 | 
			
		|||
(define-public s6-linux-init
 | 
			
		||||
  (package
 | 
			
		||||
   (name "s6-linux-init")
 | 
			
		||||
   (version "0.4.0.0")
 | 
			
		||||
   (version "0.4.0.1")
 | 
			
		||||
   (source
 | 
			
		||||
    (origin
 | 
			
		||||
     (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-"
 | 
			
		||||
           version ".tar.gz"))
 | 
			
		||||
     (sha256
 | 
			
		||||
      (base32
 | 
			
		||||
       "0zpd6n30cf8847240f658gw40sh64lm1mbaxr19q6rryvs5rpb6l"))))
 | 
			
		||||
      (base32 "0i79b0r3amhsf1xqr9k9v9bxmm4imlakfpsybviwhlj8dlawldxm"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("skalibs" ,skalibs)))
 | 
			
		||||
| 
						 | 
				
			
			@ -331,7 +323,7 @@ all the details.")))
 | 
			
		|||
(define-public s6-linux-utils
 | 
			
		||||
  (package
 | 
			
		||||
   (name "s6-linux-utils")
 | 
			
		||||
   (version "2.5.0.0")
 | 
			
		||||
   (version "2.5.0.1")
 | 
			
		||||
   (source
 | 
			
		||||
    (origin
 | 
			
		||||
     (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -339,8 +331,7 @@ all the details.")))
 | 
			
		|||
           "http://skarnet.org/software/s6-linux-utils/s6-linux-utils-"
 | 
			
		||||
           version ".tar.gz"))
 | 
			
		||||
     (sha256
 | 
			
		||||
      (base32
 | 
			
		||||
       "04q2z71dkzahd2ppga2zikclz2qk014c23gm7rigqxjc8rs1amvq"))))
 | 
			
		||||
      (base32 "0bpcaah3rbz4i013bkarr7wxmfvisjyxg0z78xg5zfbgajpgjxx1"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs `(("skalibs" ,skalibs)))
 | 
			
		||||
    (arguments
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -177,7 +177,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.")
 | 
			
		|||
(define r-with-tests
 | 
			
		||||
  (package
 | 
			
		||||
    (name "r-with-tests")
 | 
			
		||||
    (version "3.5.1")
 | 
			
		||||
    (version "3.5.3")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (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"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1vap2k8kj5icy9naw61f9zyphf4rs0c9rxvil0zxkwx0xvsvyqq4"))))
 | 
			
		||||
                "1337irx9y0r3jm1rcq1dcwnxsgfhnvgjs5wadcyh17vhpnvkgyib"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:disallowed-references (,tzdata-for-tests)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
;;; 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, 2017 Alex Griffin <a@ajgrf.com>
 | 
			
		||||
;;; Copyright © 2016 David Craven <david@craven.ch>
 | 
			
		||||
| 
						 | 
				
			
			@ -44,6 +44,7 @@
 | 
			
		|||
  #:use-module (gnu packages autotools)
 | 
			
		||||
  #:use-module (gnu packages check)
 | 
			
		||||
  #:use-module (gnu packages compression)
 | 
			
		||||
  #:use-module (gnu packages crypto)
 | 
			
		||||
  #:use-module (gnu packages docbook)
 | 
			
		||||
  #:use-module (gnu packages fontutils)
 | 
			
		||||
  #:use-module (gnu packages freedesktop)
 | 
			
		||||
| 
						 | 
				
			
			@ -60,6 +61,8 @@
 | 
			
		|||
  #:use-module (gnu packages perl)
 | 
			
		||||
  #:use-module (gnu packages perl-check)
 | 
			
		||||
  #: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-web)
 | 
			
		||||
  #:use-module (gnu packages python-xyz)
 | 
			
		||||
| 
						 | 
				
			
			@ -338,7 +341,7 @@ combining, and so on, with a simple interface.")
 | 
			
		|||
(define-public picocom
 | 
			
		||||
  (package
 | 
			
		||||
    (name "picocom")
 | 
			
		||||
    (version "2.2")
 | 
			
		||||
    (version "3.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
| 
						 | 
				
			
			@ -347,15 +350,16 @@ combining, and so on, with a simple interface.")
 | 
			
		|||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "06b2ic34dnxc73cprc5imi3iamlhsv623sbg9vj5h5rvs586dwjx"))))
 | 
			
		||||
                "1vvjydqf0ax47nvdyyl67jafw5b3sfsav00xid6qpgia1gs2r72n"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:make-flags '("CC=gcc")
 | 
			
		||||
       #:tests? #f ; No tests
 | 
			
		||||
       #:tests? #f                      ; no tests
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (delete 'configure)
 | 
			
		||||
         (delete 'configure)            ; no configure script
 | 
			
		||||
         (replace 'install
 | 
			
		||||
           ;; The Makefile lacks an ‘install’ target.
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (let* ((out (assoc-ref outputs "out"))
 | 
			
		||||
                    (bin (string-append out "/bin"))
 | 
			
		||||
| 
						 | 
				
			
			@ -363,11 +367,12 @@ combining, and so on, with a simple interface.")
 | 
			
		|||
               (install-file "picocom" bin)
 | 
			
		||||
               (install-file "picocom.1" man)))))))
 | 
			
		||||
    (home-page "https://github.com/npat-efault/picocom")
 | 
			
		||||
    (synopsis "Minimal dumb-terminal emulation program")
 | 
			
		||||
    (description "It was designed to serve as a simple, manual, modem
 | 
			
		||||
configuration, testing, and debugging tool.  It has also serves well
 | 
			
		||||
as a low-tech serial communications program to allow access to all
 | 
			
		||||
types of devices that provide serial consoles.")
 | 
			
		||||
    (synopsis "Minimal dumb-terminal emulator")
 | 
			
		||||
    (description
 | 
			
		||||
     "Picocom is a minimal dumb-terminal emulation program.  It was designed to
 | 
			
		||||
serve as a simple and manual modem configuration, testing, and debugging tool.
 | 
			
		||||
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+)))
 | 
			
		||||
 | 
			
		||||
(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.
 | 
			
		||||
@end itemize")
 | 
			
		||||
    (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)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,7 @@
 | 
			
		|||
;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 | 
			
		||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 | 
			
		||||
;;; 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 Arun Isaac <arunisaac@systemreboot.net>
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -185,7 +185,7 @@
 | 
			
		|||
          ;; ps2eps.pl uses the "gswin32c" ghostscript executable on Windows,
 | 
			
		||||
          ;; and the "gs" ghostscript executable on Unix. It detects Unix by
 | 
			
		||||
          ;; 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)
 | 
			
		||||
            (substitute* "utils/ps2eps/ps2eps-src/bin/ps2eps.pl"
 | 
			
		||||
              (("gswin32c") "gs"))
 | 
			
		||||
| 
						 | 
				
			
			@ -5457,14 +5457,14 @@ PDF documents.")
 | 
			
		|||
(define-public texmaker
 | 
			
		||||
  (package
 | 
			
		||||
    (name "texmaker")
 | 
			
		||||
    (version "5.0.2")
 | 
			
		||||
    (version "5.0.3")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "http://www.xm1math.net/texmaker/texmaker-"
 | 
			
		||||
                                  version ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0y81mjm89b99pr9svcwpaf4iz2q9pc9hjas5kiwd1pbgl5vqskm9"))))
 | 
			
		||||
                "0vrj9w5lk3vf6138n5bz8phmy3xp5kv4dq1rgirghcf4hbxdyx30"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -533,13 +533,13 @@ netcat implementation that supports TLS.")
 | 
			
		|||
  (package
 | 
			
		||||
    (name "python-acme")
 | 
			
		||||
    ;; Remember to update the hash of certbot when updating python-acme.
 | 
			
		||||
    (version "0.31.0")
 | 
			
		||||
    (version "0.32.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (pypi-uri "acme" version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1gxjv09c695lj8swspa390nch117i60qkrgy135383vfk00jsp3y"))))
 | 
			
		||||
                "1v0skyrjnbxq0lfmia5k6jy29iig4sxbi9j9q367xsw0g25wxvqf"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases
 | 
			
		||||
| 
						 | 
				
			
			@ -590,7 +590,7 @@ netcat implementation that supports TLS.")
 | 
			
		|||
              (uri (pypi-uri name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0wq4jgyzli684h154w26xplp0fzyks2vlrnmhafhyb0h1bw9cc8c"))))
 | 
			
		||||
                "1j63i0j019q0d3l5rx14fv4nxy01nplhk7q2k2fq10vxl0jlxff0"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(,@(substitute-keyword-arguments (package-arguments python-acme)
 | 
			
		||||
| 
						 | 
				
			
			@ -608,8 +608,8 @@ netcat implementation that supports TLS.")
 | 
			
		|||
                    #t))))))))
 | 
			
		||||
    ;; TODO: Add optional inputs for testing.
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("python-nose" ,python-nose)
 | 
			
		||||
       ("python-mock" ,python-mock)
 | 
			
		||||
     `(("python-mock" ,python-mock)
 | 
			
		||||
       ("python-pytest" ,python-pytest)
 | 
			
		||||
       ;; For documentation
 | 
			
		||||
       ("python-sphinx" ,python-sphinx)
 | 
			
		||||
       ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
 | 
			
		||||
| 
						 | 
				
			
			@ -618,6 +618,7 @@ netcat implementation that supports TLS.")
 | 
			
		|||
       ("texinfo" ,texinfo)))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     `(("python-acme" ,python-acme)
 | 
			
		||||
       ("python-cryptography" ,python-cryptography)
 | 
			
		||||
       ("python-zope-interface" ,python-zope-interface)
 | 
			
		||||
       ("python-pyrfc3339" ,python-pyrfc3339)
 | 
			
		||||
       ("python-pyopenssl" ,python-pyopenssl)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,6 +5,7 @@
 | 
			
		|||
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
 | 
			
		||||
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
 | 
			
		||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -27,7 +28,9 @@
 | 
			
		|||
  #:use-module (guix download)
 | 
			
		||||
  #:use-module (guix git-download)
 | 
			
		||||
  #:use-module (guix build-system gnu)
 | 
			
		||||
  #:use-module (guix build-system trivial)
 | 
			
		||||
  #:use-module (gnu packages)
 | 
			
		||||
  #:use-module (gnu packages bash)
 | 
			
		||||
  #:use-module (gnu packages libevent)
 | 
			
		||||
  #: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
 | 
			
		||||
windows.")
 | 
			
		||||
    (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)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1412,7 +1412,7 @@ access to mpv's powerful playback capabilities.")
 | 
			
		|||
(define-public youtube-dl
 | 
			
		||||
  (package
 | 
			
		||||
    (name "youtube-dl")
 | 
			
		||||
    (version "2019.03.01")
 | 
			
		||||
    (version "2019.03.09")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://github.com/rg3/youtube-dl/releases/"
 | 
			
		||||
| 
						 | 
				
			
			@ -1420,7 +1420,7 @@ access to mpv's powerful playback capabilities.")
 | 
			
		|||
                                  version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0bxk6adyppdv50jnp5cika8wc6wfgd6d8zbg1njgmcs1pxskllmf"))))
 | 
			
		||||
                "1g46mrmzr31b2r6x0g6wmg3j00qc8l6cbzmdik0l5vwjfcrdvghf"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     ;; 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
 | 
			
		||||
  (package
 | 
			
		||||
    (name "you-get")
 | 
			
		||||
    (version "0.4.1256")
 | 
			
		||||
    (version "0.4.1270")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
| 
						 | 
				
			
			@ -1540,7 +1540,7 @@ other site that youtube-dl supports.")
 | 
			
		|||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1hzr7ha1jvbc0v2bwl7s08ymwdmvb0f2jz4xp1fi6agq5y3ca1iv"))))
 | 
			
		||||
                "123g6x8sh32v4yn4ss55lfw7j79hgl3l6aiwgrk4ndq7dzhnz46q"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("ffmpeg" ,ffmpeg)))             ; for multi-part and >=1080p videos
 | 
			
		||||
| 
						 | 
				
			
			@ -1816,15 +1816,15 @@ for use with HTML5 video.")
 | 
			
		|||
(define-public avidemux
 | 
			
		||||
  (package
 | 
			
		||||
    (name "avidemux")
 | 
			
		||||
    (version "2.7.1")
 | 
			
		||||
    (version "2.7.2")
 | 
			
		||||
    (source (origin
 | 
			
		||||
             (method url-fetch)
 | 
			
		||||
             (uri (string-append
 | 
			
		||||
                   "mirror://sourceforge/" name "/" name "/" version "/"
 | 
			
		||||
                   name "_" version ".tar.gz"))
 | 
			
		||||
                   "mirror://sourceforge/avidemux/avidemux/" version "/"
 | 
			
		||||
                   "avidemux_" version ".tar.gz"))
 | 
			
		||||
             (sha256
 | 
			
		||||
              (base32
 | 
			
		||||
               "15g9h791qbnmycabbbl7s2b3n3xpvygm88qrfk35g2cw6957ik9w"))
 | 
			
		||||
               "07fdz3y4iln7cizikdjj96dqvp2f8zzhs31ncxxwzdkngn5v8138"))
 | 
			
		||||
             (patches (search-patches "avidemux-install-to-lib.patch"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
| 
						 | 
				
			
			@ -1857,73 +1857,74 @@ for use with HTML5 video.")
 | 
			
		|||
       #:phases
 | 
			
		||||
       ;; Make sure files inside the included ffmpeg tarball are
 | 
			
		||||
       ;; patch-shebanged.
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
       (add-before 'patch-source-shebangs 'unpack-ffmpeg
 | 
			
		||||
         (lambda _
 | 
			
		||||
           (with-directory-excursion "avidemux_core/ffmpeg_package"
 | 
			
		||||
             (invoke "tar" "xf" "ffmpeg-3.3.7.tar.bz2")
 | 
			
		||||
             (delete-file "ffmpeg-3.3.7.tar.bz2"))
 | 
			
		||||
           #t))
 | 
			
		||||
       (add-after 'patch-source-shebangs 'repack-ffmpeg
 | 
			
		||||
         (lambda _
 | 
			
		||||
           (with-directory-excursion "avidemux_core/ffmpeg_package"
 | 
			
		||||
             (substitute* "ffmpeg-3.3.7/configure"
 | 
			
		||||
               (("#! /bin/sh") (string-append "#!" (which "sh"))))
 | 
			
		||||
             (invoke "tar" "cjf" "ffmpeg-3.3.7.tar.bz2" "ffmpeg-3.3.7"
 | 
			
		||||
                     ;; avoid non-determinism in the archive
 | 
			
		||||
                     "--sort=name" "--mtime=@0"
 | 
			
		||||
                     "--owner=root:0" "--group=root:0")
 | 
			
		||||
             (delete-file-recursively "ffmpeg-3.3.7"))
 | 
			
		||||
           #t))
 | 
			
		||||
       (replace 'configure
 | 
			
		||||
         (lambda _
 | 
			
		||||
           ;; Copy-paste settings from the cmake build system.
 | 
			
		||||
           (setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
 | 
			
		||||
           (setenv "CMAKE_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
 | 
			
		||||
           #t))
 | 
			
		||||
       (replace 'build
 | 
			
		||||
         (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
			
		||||
           (let* ((out (assoc-ref outputs "out"))
 | 
			
		||||
                  (lib (string-append out "/lib"))
 | 
			
		||||
                  (top (getcwd))
 | 
			
		||||
                  (sdl (assoc-ref inputs "sdl"))
 | 
			
		||||
                  (build_component
 | 
			
		||||
                   (lambda* (component srcdir #:optional (args '()))
 | 
			
		||||
                     (let ((builddir (string-append "build_" component)))
 | 
			
		||||
                       (mkdir builddir)
 | 
			
		||||
                       (with-directory-excursion builddir
 | 
			
		||||
                         (apply invoke "cmake"
 | 
			
		||||
                                "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE"
 | 
			
		||||
                                (string-append "-DCMAKE_INSTALL_PREFIX=" out)
 | 
			
		||||
                                (string-append "-DCMAKE_INSTALL_RPATH=" lib)
 | 
			
		||||
                                (string-append "-DCMAKE_SHARED_LINKER_FLAGS="
 | 
			
		||||
                                               "\"-Wl,-rpath=" lib "\"")
 | 
			
		||||
                                (string-append "-DAVIDEMUX_SOURCE_DIR=" top)
 | 
			
		||||
                                (string-append "-DSDL_INCLUDE_DIR="
 | 
			
		||||
                                               sdl "/include/SDL")
 | 
			
		||||
                                (string-append "../" srcdir)
 | 
			
		||||
                                "-DENABLE_QT5=True"
 | 
			
		||||
                                args)
 | 
			
		||||
                         (invoke "make" "-j"
 | 
			
		||||
                                 (number->string (parallel-job-count)))
 | 
			
		||||
                         (invoke "make" "install"))))))
 | 
			
		||||
             (mkdir out)
 | 
			
		||||
             (build_component "core" "avidemux_core")
 | 
			
		||||
             (build_component "cli" "avidemux/cli")
 | 
			
		||||
             (build_component "qt4" "avidemux/qt4")
 | 
			
		||||
             (build_component "plugins_common" "avidemux_plugins"
 | 
			
		||||
                              '("-DPLUGIN_UI=COMMON"))
 | 
			
		||||
             (build_component "plugins_cli" "avidemux_plugins"
 | 
			
		||||
                              '("-DPLUGIN_UI=CLI"))
 | 
			
		||||
             (build_component "plugins_qt4" "avidemux_plugins"
 | 
			
		||||
                              '("-DPLUGIN_UI=QT4"))
 | 
			
		||||
             (build_component "plugins_settings" "avidemux_plugins"
 | 
			
		||||
                              '("-DPLUGIN_UI=SETTINGS"))
 | 
			
		||||
             ;; Remove .exe and .dll file.
 | 
			
		||||
             (delete-file-recursively
 | 
			
		||||
              (string-append out "/share/ADM6_addons"))
 | 
			
		||||
             #t)))
 | 
			
		||||
       (delete 'install))))
 | 
			
		||||
       (let ((ffmpeg "ffmpeg-4.1.1"))
 | 
			
		||||
         (modify-phases %standard-phases
 | 
			
		||||
           (add-before 'patch-source-shebangs 'unpack-ffmpeg
 | 
			
		||||
             (lambda _
 | 
			
		||||
               (with-directory-excursion "avidemux_core/ffmpeg_package"
 | 
			
		||||
                 (invoke "tar" "xf" (string-append ffmpeg ".tar.bz2"))
 | 
			
		||||
                 (delete-file (string-append ffmpeg ".tar.bz2")))
 | 
			
		||||
               #t))
 | 
			
		||||
           (add-after 'patch-source-shebangs 'repack-ffmpeg
 | 
			
		||||
             (lambda _
 | 
			
		||||
               (with-directory-excursion "avidemux_core/ffmpeg_package"
 | 
			
		||||
                 (substitute* (string-append ffmpeg "/configure")
 | 
			
		||||
                   (("#! /bin/sh") (string-append "#!" (which "sh"))))
 | 
			
		||||
                 (invoke "tar" "cjf" (string-append ffmpeg ".tar.bz2") ffmpeg
 | 
			
		||||
                         ;; avoid non-determinism in the archive
 | 
			
		||||
                         "--sort=name" "--mtime=@0"
 | 
			
		||||
                         "--owner=root:0" "--group=root:0")
 | 
			
		||||
                 (delete-file-recursively ffmpeg))
 | 
			
		||||
               #t))
 | 
			
		||||
           (replace 'configure
 | 
			
		||||
             (lambda _
 | 
			
		||||
               ;; Copy-paste settings from the cmake build system.
 | 
			
		||||
               (setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
 | 
			
		||||
               (setenv "CMAKE_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
 | 
			
		||||
               #t))
 | 
			
		||||
           (replace 'build
 | 
			
		||||
             (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
			
		||||
               (let* ((out (assoc-ref outputs "out"))
 | 
			
		||||
                      (lib (string-append out "/lib"))
 | 
			
		||||
                      (top (getcwd))
 | 
			
		||||
                      (sdl (assoc-ref inputs "sdl"))
 | 
			
		||||
                      (build_component
 | 
			
		||||
                       (lambda* (component srcdir #:optional (args '()))
 | 
			
		||||
                         (let ((builddir (string-append "build_" component)))
 | 
			
		||||
                           (mkdir builddir)
 | 
			
		||||
                           (with-directory-excursion builddir
 | 
			
		||||
                             (apply invoke "cmake"
 | 
			
		||||
                                    "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE"
 | 
			
		||||
                                    (string-append "-DCMAKE_INSTALL_PREFIX=" out)
 | 
			
		||||
                                    (string-append "-DCMAKE_INSTALL_RPATH=" lib)
 | 
			
		||||
                                    (string-append "-DCMAKE_SHARED_LINKER_FLAGS="
 | 
			
		||||
                                                   "\"-Wl,-rpath=" lib "\"")
 | 
			
		||||
                                    (string-append "-DAVIDEMUX_SOURCE_DIR=" top)
 | 
			
		||||
                                    (string-append "-DSDL_INCLUDE_DIR="
 | 
			
		||||
                                                   sdl "/include/SDL")
 | 
			
		||||
                                    (string-append "../" srcdir)
 | 
			
		||||
                                    "-DENABLE_QT5=True"
 | 
			
		||||
                                    args)
 | 
			
		||||
                             (invoke "make" "-j"
 | 
			
		||||
                                     (number->string (parallel-job-count)))
 | 
			
		||||
                             (invoke "make" "install"))))))
 | 
			
		||||
                 (mkdir out)
 | 
			
		||||
                 (build_component "core" "avidemux_core")
 | 
			
		||||
                 (build_component "cli" "avidemux/cli")
 | 
			
		||||
                 (build_component "qt4" "avidemux/qt4")
 | 
			
		||||
                 (build_component "plugins_common" "avidemux_plugins"
 | 
			
		||||
                                  '("-DPLUGIN_UI=COMMON"))
 | 
			
		||||
                 (build_component "plugins_cli" "avidemux_plugins"
 | 
			
		||||
                                  '("-DPLUGIN_UI=CLI"))
 | 
			
		||||
                 (build_component "plugins_qt4" "avidemux_plugins"
 | 
			
		||||
                                  '("-DPLUGIN_UI=QT4"))
 | 
			
		||||
                 (build_component "plugins_settings" "avidemux_plugins"
 | 
			
		||||
                                  '("-DPLUGIN_UI=SETTINGS"))
 | 
			
		||||
                 ;; Remove .exe and .dll file.
 | 
			
		||||
                 (delete-file-recursively
 | 
			
		||||
                  (string-append out "/share/ADM6_addons"))
 | 
			
		||||
                 #t)))
 | 
			
		||||
           (delete 'install)))))
 | 
			
		||||
    (home-page "http://fixounet.free.fr/avidemux/")
 | 
			
		||||
    (synopsis "Video editor")
 | 
			
		||||
    (description "Avidemux is a video editor designed for simple cutting,
 | 
			
		||||
| 
						 | 
				
			
			@ -1983,7 +1984,7 @@ format changes.")
 | 
			
		|||
(define-public xvid
 | 
			
		||||
  (package
 | 
			
		||||
    (name "xvid")
 | 
			
		||||
    (version "1.3.4")
 | 
			
		||||
    (version "1.3.5")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
| 
						 | 
				
			
			@ -1991,7 +1992,7 @@ format changes.")
 | 
			
		|||
                    version ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1xwbmp9wqshc0ckm970zdpi0yvgqxlqg0s8bkz98mnr8p2067bsz"))))
 | 
			
		||||
                "1d0hy1w9sn6491a3vhyf3vmhq4xkn6yd4ralx1191s6qz5wz483w"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (native-inputs `(("yasm" ,yasm)))
 | 
			
		||||
    (arguments
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,7 +39,7 @@
 | 
			
		|||
(define-public w3m
 | 
			
		||||
  (package
 | 
			
		||||
    (name "w3m")
 | 
			
		||||
    (version "0.5.3+git20180125")
 | 
			
		||||
    (version "0.5.3+git20190105")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              ;; Debian's fork of w3m is the only one that is still maintained.
 | 
			
		||||
| 
						 | 
				
			
			@ -49,7 +49,7 @@
 | 
			
		|||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0dafdfx1yhrvhbqzslkcapj09dvf64m2jadz3wl2icni0k4msq90"))))
 | 
			
		||||
                "1fbg2p8qh2gvi3g4iz4q6vc0k70pf248r4yndi5lcn2m3mzvjx0i"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:tests? #f  ; no check target
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -397,7 +397,7 @@ driven and does not detract you from your daily work.")
 | 
			
		|||
    (inputs
 | 
			
		||||
     `(("glib-networking" ,glib-networking)
 | 
			
		||||
       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
 | 
			
		||||
       ("webkitgtk" ,webkitgtk-2.22)))
 | 
			
		||||
       ("webkitgtk" ,webkitgtk-2.24)))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("gcc-7" ,gcc-7) ; needed because webkitgtk-2.22 is compiled with gcc-7
 | 
			
		||||
       ("pkg-config" ,pkg-config)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -194,16 +194,18 @@ Interface} specification.")
 | 
			
		|||
(define-public nginx
 | 
			
		||||
  (package
 | 
			
		||||
    (name "nginx")
 | 
			
		||||
    ;; Consider updating the nginx-documentation package if the nginx package is
 | 
			
		||||
    ;; updated.
 | 
			
		||||
    (version "1.14.2")
 | 
			
		||||
    ;; Track the ‘mainline’ branch.  Upstream considers it more reliable than
 | 
			
		||||
    ;; ’stable’ and recommends that “in general you deploy the NGINX mainline
 | 
			
		||||
    ;; 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
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://nginx.org/download/nginx-"
 | 
			
		||||
                                  version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "15wppq12qmq8acjs35xfj61czhf9cdc0drnl5mm8hcg3aihryb80"))))
 | 
			
		||||
                "0hxfsz1117r91b9fb5hjddyrf1czvb36lh1z7zalqqdskfcbmkz4"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs `(("openssl" ,openssl)
 | 
			
		||||
              ("pcre" ,pcre)
 | 
			
		||||
| 
						 | 
				
			
			@ -327,13 +329,13 @@ documentation.")
 | 
			
		|||
      (license l:bsd-2))))
 | 
			
		||||
 | 
			
		||||
(define-public nginx-documentation
 | 
			
		||||
  ;; This documentation should be relevant for nginx@1.13.11.
 | 
			
		||||
  (let ((revision 2131)
 | 
			
		||||
        (changeset "dbaf3950f8e9"))
 | 
			
		||||
  ;; This documentation should be relevant for nginx@1.15.9.
 | 
			
		||||
  (let ((revision 2345)
 | 
			
		||||
        (changeset "7ef11708457e"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "nginx-documentation")
 | 
			
		||||
      (version
 | 
			
		||||
       (simple-format #f "2018-04-04-~A-~A" revision changeset))
 | 
			
		||||
       (simple-format #f "2019-03-01-~A-~A" revision changeset))
 | 
			
		||||
      (source
 | 
			
		||||
       (origin (method hg-fetch)
 | 
			
		||||
               (uri (hg-reference
 | 
			
		||||
| 
						 | 
				
			
			@ -342,7 +344,7 @@ documentation.")
 | 
			
		|||
               (file-name (string-append name "-" version))
 | 
			
		||||
               (sha256
 | 
			
		||||
                (base32
 | 
			
		||||
                 "0acdjsdaqixzh9g9s6db552v4pan4nqrllyqapay9ns9yzh1hrp7"))))
 | 
			
		||||
                 "15975jvh53mnsgi4hhgrwdwy3by23v4kxnhy2vnkziq8v7wkmy4y"))))
 | 
			
		||||
      (build-system gnu-build-system)
 | 
			
		||||
      (arguments
 | 
			
		||||
       '(#:tests? #f                    ; no test suite
 | 
			
		||||
| 
						 | 
				
			
			@ -360,8 +362,7 @@ documentation.")
 | 
			
		|||
                 ;; banner.
 | 
			
		||||
                 (substitute* "xslt/style.xslt"
 | 
			
		||||
                   (("#banner           \\{ background:     black;")
 | 
			
		||||
                    "#banner           { background:     black;
 | 
			
		||||
                            display:     none;"))
 | 
			
		||||
                    "#banner           { display:        none;"))
 | 
			
		||||
                 (invoke "make")
 | 
			
		||||
                 #t)))
 | 
			
		||||
           (replace 'install
 | 
			
		||||
| 
						 | 
				
			
			@ -750,7 +751,7 @@ current version of any major web browser.")
 | 
			
		|||
    (source (origin
 | 
			
		||||
             (method git-fetch)
 | 
			
		||||
             (uri (git-reference
 | 
			
		||||
                   (url "https://github.com/miloyip/rapidjson.git")
 | 
			
		||||
                   (url "https://github.com/Tencent/rapidjson.git")
 | 
			
		||||
                   (commit (string-append "v" version))))
 | 
			
		||||
             (file-name (git-file-name name version))
 | 
			
		||||
             (sha256
 | 
			
		||||
| 
						 | 
				
			
			@ -775,7 +776,7 @@ current version of any major web browser.")
 | 
			
		|||
                     (("native") "armv8-a"))
 | 
			
		||||
                   #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")
 | 
			
		||||
    (description
 | 
			
		||||
     "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
 | 
			
		||||
  (package
 | 
			
		||||
  (name "stunnel")
 | 
			
		||||
  (version "5.48")
 | 
			
		||||
  (version "5.50")
 | 
			
		||||
  (source
 | 
			
		||||
    (origin
 | 
			
		||||
      (method url-fetch)
 | 
			
		||||
      (uri (string-append "https://www.stunnel.org/downloads/stunnel-"
 | 
			
		||||
                          version ".tar.gz"))
 | 
			
		||||
      (sha256
 | 
			
		||||
       (base32
 | 
			
		||||
        "1pxqn9ixl80nrhfq12igyi874653jclji56hh9w24snf0aixa48h"))))
 | 
			
		||||
       (base32 "0j811iakljjxw39qchmqf235jdkwixb0i4xxjyi55f08558947cm"))))
 | 
			
		||||
  (build-system gnu-build-system)
 | 
			
		||||
  (native-inputs
 | 
			
		||||
   ;; For tests.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -165,20 +165,23 @@ HTML/CSS applications to full-fledged web browsers.")
 | 
			
		|||
;; newer version of GCC than our default compiler, and this causes problems
 | 
			
		||||
;; when linked with C++ libraries built using our default compiler.  For now,
 | 
			
		||||
;; 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
 | 
			
		||||
    (name "webkitgtk")
 | 
			
		||||
    (version "2.22.7")
 | 
			
		||||
    (version "2.24.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://www.webkitgtk.org/releases/"
 | 
			
		||||
                                  name "-" version ".tar.xz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1zrhmz90sn30zgyflj4i86fsscws10xsi2kfs87nj2nd0pbggrjb"))))
 | 
			
		||||
                "01s446lmjk7y8il4snjm32vpxws2rp4hmxrwm2swx0p47x8d2jif"))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("gcc" ,gcc-7)  ; webkitgtk-2.22 requires gcc-6 or newer
 | 
			
		||||
       ,@(package-native-inputs webkitgtk)))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("openjpeg" ,openjpeg)
 | 
			
		||||
       ,@(package-inputs webkitgtk)))
 | 
			
		||||
    (arguments
 | 
			
		||||
     (substitute-keyword-arguments (package-arguments webkitgtk)
 | 
			
		||||
       ((#:phases phases)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,6 +18,7 @@
 | 
			
		|||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
 | 
			
		||||
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
 | 
			
		||||
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -42,6 +43,7 @@
 | 
			
		|||
  #:use-module (guix build-system cmake)
 | 
			
		||||
  #:use-module (guix build-system gnu)
 | 
			
		||||
  #:use-module (guix build-system haskell)
 | 
			
		||||
  #:use-module (guix build-system meson)
 | 
			
		||||
  #:use-module (guix build-system perl)
 | 
			
		||||
  #:use-module (guix build-system python)
 | 
			
		||||
  #:use-module (gnu packages haskell)
 | 
			
		||||
| 
						 | 
				
			
			@ -77,6 +79,10 @@
 | 
			
		|||
  #:use-module (gnu packages linux)
 | 
			
		||||
  #:use-module (gnu packages suckless)
 | 
			
		||||
  #: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 git-download))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1102,3 +1108,145 @@ its size
 | 
			
		|||
customizable status bars for their desktop environment.  It has built-in
 | 
			
		||||
functionality to display information about the most commonly used services.")
 | 
			
		||||
    (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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -861,14 +861,16 @@ the form of functions.")
 | 
			
		|||
      (method url-fetch)
 | 
			
		||||
      (uri (string-append "https://github.com/zeux/pugixml/releases/download/v"
 | 
			
		||||
                          version "/pugixml-" version ".tar.gz"))
 | 
			
		||||
      (patches (search-patches "pugixml-versioned-libdir.patch"))
 | 
			
		||||
      (sha256
 | 
			
		||||
       (base32
 | 
			
		||||
        "19nv3zhik3djp4blc4vrjwrl8dfhzmal8b21sq7y907nhddx6mni"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags '("-DCMAKE_CXX_FLAGS=-shared -fPIC"
 | 
			
		||||
                           "-DCMAKE_C_FLAGS=-shared -fPIC")
 | 
			
		||||
       #:tests? #f))                    ; no tests
 | 
			
		||||
     `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")
 | 
			
		||||
       #:tests? #f))                     ;no tests
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("pkg-config" ,pkg-config)))
 | 
			
		||||
    (home-page "https://pugixml.org")
 | 
			
		||||
    (synopsis "Light-weight, simple and fast XML parser for C++ with XPath support")
 | 
			
		||||
    (description
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2624,17 +2624,14 @@ as USB mice.")
 | 
			
		|||
(define-public xf86-video-amdgpu
 | 
			
		||||
  (package
 | 
			
		||||
    (name "xf86-video-amdgpu")
 | 
			
		||||
    (version "18.1.0")
 | 
			
		||||
    (version "19.0.0")
 | 
			
		||||
    (source
 | 
			
		||||
      (origin
 | 
			
		||||
        (method url-fetch)
 | 
			
		||||
        (uri (string-append
 | 
			
		||||
               "mirror://xorg/individual/driver/xf86-video-amdgpu-"
 | 
			
		||||
               version
 | 
			
		||||
               ".tar.bz2"))
 | 
			
		||||
        (sha256
 | 
			
		||||
          (base32
 | 
			
		||||
           "0wlnb929l3yqj4hdkzyxyhbaph13ac4villajgmbh66pa6xja7z1"))))
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "mirror://xorg/individual/driver/"
 | 
			
		||||
                           "xf86-video-amdgpu-" version ".tar.bz2"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0lag9jxd752ja7m7ngz3dmqffb5wbx4crdwjw74qx42m8xyi8dl8"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs `(("xorg-server" ,xorg-server)))
 | 
			
		||||
    (native-inputs `(("pkg-config" ,pkg-config)))
 | 
			
		||||
| 
						 | 
				
			
			@ -2694,17 +2691,14 @@ X server.")
 | 
			
		|||
(define-public xf86-video-ati
 | 
			
		||||
  (package
 | 
			
		||||
    (name "xf86-video-ati")
 | 
			
		||||
    (version "18.0.1")
 | 
			
		||||
    (version "19.0.0")
 | 
			
		||||
    (source
 | 
			
		||||
      (origin
 | 
			
		||||
        (method url-fetch)
 | 
			
		||||
        (uri (string-append
 | 
			
		||||
               "mirror://xorg/individual/driver/xf86-video-ati-"
 | 
			
		||||
               version
 | 
			
		||||
               ".tar.bz2"))
 | 
			
		||||
        (sha256
 | 
			
		||||
          (base32
 | 
			
		||||
            "180l2yw8c63cbcs3zk729vx439aig1d7yicpyxj0nmfl4y0kpskj"))))
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "mirror://xorg/individual/driver/"
 | 
			
		||||
                           "xf86-video-ati-" version ".tar.bz2"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0mzl7yp3qkvankh22758sgpaw9mg6jxsfbg6wy0nxfw4i0qpv46x"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs `(("mesa" ,mesa)
 | 
			
		||||
              ("xorgproto" ,xorgproto)
 | 
			
		||||
| 
						 | 
				
			
			@ -6361,7 +6355,7 @@ output.")
 | 
			
		|||
(define-public console-setup
 | 
			
		||||
  (package
 | 
			
		||||
    (name "console-setup")
 | 
			
		||||
    (version "1.189")
 | 
			
		||||
    (version "1.190")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -6369,7 +6363,7 @@ output.")
 | 
			
		|||
             (url "https://salsa.debian.org/installer-team/console-setup.git")
 | 
			
		||||
             (commit version)))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "09rfnnhwjm98im711v6jrgl49iy5n1b26x12zzk5rw6g1667mz86"))
 | 
			
		||||
        (base32 "0qklm9ww1wap2bs7hp31xkfjyhdrirg2mk4hiv7h6fiqckzmdwvd"))
 | 
			
		||||
       (file-name (git-file-name name version))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,6 +43,7 @@
 | 
			
		|||
                #:select (canonical-package glibc glibc-utf8-locales))
 | 
			
		||||
  #:use-module (gnu packages bash)
 | 
			
		||||
  #:use-module (gnu packages package-management)
 | 
			
		||||
  #:use-module ((gnu packages gnupg) #:select (guile-gcrypt))
 | 
			
		||||
  #:use-module (gnu packages linux)
 | 
			
		||||
  #:use-module (gnu packages terminals)
 | 
			
		||||
  #:use-module ((gnu build file-systems)
 | 
			
		||||
| 
						 | 
				
			
			@ -50,6 +51,7 @@
 | 
			
		|||
  #:use-module (guix gexp)
 | 
			
		||||
  #:use-module (guix records)
 | 
			
		||||
  #:use-module (guix modules)
 | 
			
		||||
  #:use-module ((guix self) #:select (make-config.scm))
 | 
			
		||||
  #:use-module (srfi srfi-1)
 | 
			
		||||
  #:use-module (srfi srfi-26)
 | 
			
		||||
  #:use-module (ice-9 match)
 | 
			
		||||
| 
						 | 
				
			
			@ -329,7 +331,7 @@ seconds after @code{SIGTERM} has been sent are terminated with
 | 
			
		|||
  `(("fstab" ,(plain-file "fstab"
 | 
			
		||||
                          (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"
 | 
			
		||||
                           (string-join (map file-system->fstab-entry
 | 
			
		||||
                                             file-systems)
 | 
			
		||||
| 
						 | 
				
			
			@ -1481,16 +1483,14 @@ pam-limits-entry specified in LIMITS via pam_limits.so."
 | 
			
		|||
 | 
			
		||||
(define* (guix-build-accounts count #:key
 | 
			
		||||
                              (group "guixbuild")
 | 
			
		||||
                              (first-uid 30001)
 | 
			
		||||
                              (shadow shadow))
 | 
			
		||||
  "Return a list of COUNT user accounts for Guix build users, with UIDs
 | 
			
		||||
starting at FIRST-UID, and under GID."
 | 
			
		||||
  "Return a list of COUNT user accounts for Guix build users with the given
 | 
			
		||||
GID."
 | 
			
		||||
  (unfold (cut > <> count)
 | 
			
		||||
          (lambda (n)
 | 
			
		||||
            (user-account
 | 
			
		||||
             (name (format #f "guixbuilder~2,'0d" n))
 | 
			
		||||
             (system? #t)
 | 
			
		||||
             (uid (+ first-uid n -1))
 | 
			
		||||
             (group group)
 | 
			
		||||
 | 
			
		||||
             ;; guix-daemon expects GROUP to be listed as a
 | 
			
		||||
| 
						 | 
				
			
			@ -1504,27 +1504,58 @@ starting at FIRST-UID, and under GID."
 | 
			
		|||
          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)
 | 
			
		||||
  "Return a gexp with code to register KEYS, a list of files containing 'guix
 | 
			
		||||
archive' public keys, with GUIX."
 | 
			
		||||
  #~(unless (file-exists? "/etc/guix/acl")
 | 
			
		||||
      (for-each (lambda (key)
 | 
			
		||||
                  (let ((pid (primitive-fork)))
 | 
			
		||||
                    (case pid
 | 
			
		||||
                      ((0)
 | 
			
		||||
                       (let* ((port (open-file key "r0b")))
 | 
			
		||||
                         (format #t "registering public key '~a'...~%" key)
 | 
			
		||||
                         (close-port (current-input-port))
 | 
			
		||||
                         (dup port 0)
 | 
			
		||||
                         (execl #$(file-append guix "/bin/guix")
 | 
			
		||||
                                "guix" "archive" "--authorize")
 | 
			
		||||
                         (primitive-exit 1)))
 | 
			
		||||
                      (else
 | 
			
		||||
                       (let ((status (cdr (waitpid pid))))
 | 
			
		||||
                         (unless (zero? status)
 | 
			
		||||
                           (format (current-error-port) "warning: \
 | 
			
		||||
failed to register public key '~a': ~a~%" key status)))))))
 | 
			
		||||
                '(#$@keys))))
 | 
			
		||||
  (define aaa
 | 
			
		||||
    ;; XXX: Terrible hack to work around <https://bugs.gnu.org/15602>: this
 | 
			
		||||
    ;; forces (guix config) and (guix utils) to be loaded upfront, so that
 | 
			
		||||
    ;; their run-time symbols are defined.
 | 
			
		||||
    (scheme-file "aaa.scm"
 | 
			
		||||
                 #~(define-module (guix aaa)
 | 
			
		||||
                     #:use-module (guix config)
 | 
			
		||||
                     #:use-module (guix memoization))))
 | 
			
		||||
 | 
			
		||||
  (define default-acl
 | 
			
		||||
    (with-extensions (list guile-gcrypt)
 | 
			
		||||
      (with-imported-modules `(((guix config) => ,(make-config.scm))
 | 
			
		||||
                               ((guix aaa) => ,aaa)
 | 
			
		||||
                               ,@(source-module-closure '((guix pki))
 | 
			
		||||
                                                        #:select? not-config?))
 | 
			
		||||
        (computed-file "acl"
 | 
			
		||||
                       #~(begin
 | 
			
		||||
                           (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
 | 
			
		||||
  ;; List of authorized substitute keys.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,6 +22,7 @@
 | 
			
		|||
  #:use-module (guix packages)
 | 
			
		||||
  #:use-module (guix records)
 | 
			
		||||
  #:use-module (guix gexp)
 | 
			
		||||
  #:use-module ((guix utils) #:select (source-properties->location))
 | 
			
		||||
  #:autoload   (texinfo) (texi-fragment->stexi)
 | 
			
		||||
  #:autoload   (texinfo serialize) (stexi->texi)
 | 
			
		||||
  #:use-module (ice-9 match)
 | 
			
		||||
| 
						 | 
				
			
			@ -129,6 +130,10 @@
 | 
			
		|||
                 #,(id #'stem #'% #'stem)
 | 
			
		||||
                 #,(id #'stem #'make- #'stem)
 | 
			
		||||
                 #,(id #'stem #'stem #'?)
 | 
			
		||||
                 (%location #,(id #'stem #'-location)
 | 
			
		||||
                            (default (and=> (current-source-location)
 | 
			
		||||
                                            source-properties->location))
 | 
			
		||||
                            (innate))
 | 
			
		||||
                 (field field-getter (default def))
 | 
			
		||||
                 ...)
 | 
			
		||||
               (define #,(id #'stem #'stem #'-fields)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -862,7 +862,7 @@ IPP specifications.")
 | 
			
		|||
        (define* (create-self-signed-certificate-if-absent
 | 
			
		||||
                  #:key private-key public-key (owner (getpwnam "root"))
 | 
			
		||||
                  (common-name (gethostname))
 | 
			
		||||
                  (organization-name "GuixSD")
 | 
			
		||||
                  (organization-name "Guix")
 | 
			
		||||
                  (organization-unit-name "Default Self-Signed Certificate")
 | 
			
		||||
                  (subject-parameters `(("CN" . ,common-name)
 | 
			
		||||
                                        ("O" . ,organization-name)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -906,9 +906,13 @@ and extends polkit with the actions from @code{gnome-settings-daemon}."
 | 
			
		|||
          (service-extension profile-service-type
 | 
			
		||||
                             (compose list
 | 
			
		||||
                                      mate-package))))
 | 
			
		||||
   (default-value (mate-desktop-configuration))
 | 
			
		||||
   (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,
 | 
			
		||||
and extends polkit with the actions from @code{mate-settings-daemon}."
 | 
			
		||||
  (service mate-desktop-service-type config))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1485,7 +1485,7 @@ greyed out, instead of only later giving \"not selectable\" popup error.
 | 
			
		|||
        (define* (create-self-signed-certificate-if-absent
 | 
			
		||||
                  #:key private-key public-key (owner (getpwnam "root"))
 | 
			
		||||
                  (common-name (gethostname))
 | 
			
		||||
                  (organization-name "GuixSD")
 | 
			
		||||
                  (organization-name "Guix")
 | 
			
		||||
                  (organization-unit-name "Default Self-Signed Certificate")
 | 
			
		||||
                  (subject-parameters `(("CN" . ,common-name)
 | 
			
		||||
                                        ("O" . ,organization-name)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -461,7 +461,7 @@ about using the hashed backend.  See also
 | 
			
		|||
    (log
 | 
			
		||||
     (maybe-string "*syslog")
 | 
			
		||||
     "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)
 | 
			
		||||
 | 
			
		||||
    (pidfile
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
;;; GNU Guix --- Functional package management for GNU
 | 
			
		||||
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
 | 
			
		||||
;;; 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.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -29,7 +29,8 @@
 | 
			
		|||
  #:use-module (guix gexp)
 | 
			
		||||
  #:use-module (guix packages)
 | 
			
		||||
  #: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 rdelim)
 | 
			
		||||
  #:use-module (srfi srfi-26)
 | 
			
		||||
| 
						 | 
				
			
			@ -509,13 +510,12 @@ create it manually.")
 | 
			
		|||
   (number 10051)
 | 
			
		||||
   "Zabbix server port."))
 | 
			
		||||
 | 
			
		||||
(define zabbix-front-end-config
 | 
			
		||||
  (match-lambda
 | 
			
		||||
    (($ <zabbix-front-end-configuration>
 | 
			
		||||
        _ db-host db-port db-name db-user db-password db-secret-file
 | 
			
		||||
        zabbix-host zabbix-port)
 | 
			
		||||
     (mixed-text-file "zabbix.conf.php"
 | 
			
		||||
                      "\
 | 
			
		||||
(define (zabbix-front-end-config config)
 | 
			
		||||
  (match-record config <zabbix-front-end-configuration>
 | 
			
		||||
    (%location db-host db-port db-name db-user db-password db-secret-file
 | 
			
		||||
               zabbix-host zabbix-port)
 | 
			
		||||
    (mixed-text-file "zabbix.conf.php"
 | 
			
		||||
                     "\
 | 
			
		||||
<?php
 | 
			
		||||
// Zabbix GUI configuration file.
 | 
			
		||||
global $DB;
 | 
			
		||||
| 
						 | 
				
			
			@ -525,20 +525,29 @@ $DB['SERVER']   = '" db-host "';
 | 
			
		|||
$DB['PORT']     = '" (number->string db-port) "';
 | 
			
		||||
$DB['DATABASE'] = '" db-name "';
 | 
			
		||||
$DB['USER']     = '" db-user "';
 | 
			
		||||
$DB['PASSWORD'] = '" (if (string-null? db-password)
 | 
			
		||||
                         (if (string-null? db-secret-file)
 | 
			
		||||
                             (raise (condition
 | 
			
		||||
                                     (&message
 | 
			
		||||
                                      (message "\
 | 
			
		||||
you must provide either 'db-secret-file' or 'db-password'"))))
 | 
			
		||||
                             (string-trim-both
 | 
			
		||||
                              (with-input-from-file db-secret-file
 | 
			
		||||
                                read-string)))
 | 
			
		||||
                         (begin
 | 
			
		||||
                           (display-hint "\
 | 
			
		||||
Consider using @code{db-secret-file} instead of @code{db-password} and unset
 | 
			
		||||
@code{db-password} for security in @code{zabbix-front-end-configuration}.")
 | 
			
		||||
                           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)
 | 
			
		||||
                               (raise (make-compound-condition
 | 
			
		||||
                                       (condition
 | 
			
		||||
                                        (&message
 | 
			
		||||
                                         (message
 | 
			
		||||
                                          (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
 | 
			
		||||
                                (with-input-from-file db-secret-file
 | 
			
		||||
                                  read-string)))
 | 
			
		||||
                           (begin
 | 
			
		||||
                             (display-hint (format #f (G_ "~a:~a:~a: ~a:
 | 
			
		||||
Consider using @code{db-secret-file} instead of @code{db-password} for better
 | 
			
		||||
security.") file line column 'zabbix-front-end-configuration))
 | 
			
		||||
                             db-password))) "';
 | 
			
		||||
 | 
			
		||||
// Schema name. Used for IBM DB2 and PostgreSQL.
 | 
			
		||||
$DB['SCHEMA'] = '';
 | 
			
		||||
| 
						 | 
				
			
			@ -548,7 +557,7 @@ $ZBX_SERVER_PORT = '" (number->string zabbix-port) "';
 | 
			
		|||
$ZBX_SERVER_NAME = '';
 | 
			
		||||
 | 
			
		||||
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
 | 
			
		||||
"))))
 | 
			
		||||
")))
 | 
			
		||||
 | 
			
		||||
(define %maintenance.inc.php
 | 
			
		||||
  ;; Empty php file to allow us move zabbix-frontend configs to ‘/etc/zabbix’
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,7 +8,7 @@
 | 
			
		|||
(define vm-image-motd (plain-file "motd" "
 | 
			
		||||
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
 | 
			
		||||
private server (VPS):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -353,7 +353,7 @@ You have been warned.  Thanks for being so brave.\x1b[0m
 | 
			
		|||
     ;; the appropriate one.
 | 
			
		||||
     (cons* (file-system
 | 
			
		||||
              (mount-point "/")
 | 
			
		||||
              (device (file-system-label "GuixSD_image"))
 | 
			
		||||
              (device (file-system-label "Guix_image"))
 | 
			
		||||
              (type "ext4"))
 | 
			
		||||
 | 
			
		||||
            ;; Make /tmp a tmpfs instead of keeping the overlayfs.  This
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
;;; GNU Guix --- Functional package management for GNU
 | 
			
		||||
;;; 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.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -28,6 +28,7 @@
 | 
			
		|||
  #:use-module (guix modules)
 | 
			
		||||
  #:use-module (gnu build linux-container)
 | 
			
		||||
  #:use-module (gnu services)
 | 
			
		||||
  #:use-module (gnu services base)
 | 
			
		||||
  #:use-module (gnu system)
 | 
			
		||||
  #:use-module (gnu system file-systems)
 | 
			
		||||
  #:export (system-container
 | 
			
		||||
| 
						 | 
				
			
			@ -54,8 +55,19 @@ containerized OS."
 | 
			
		|||
    (file-system (inherit (file-system-mapping->bind-mount fs))
 | 
			
		||||
      (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)
 | 
			
		||||
    (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))
 | 
			
		||||
                          %container-file-systems
 | 
			
		||||
                          user-file-systems))))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
;;; 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 © 2017, 2018 Mark H Weaver <mhw@netris.org>
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -32,8 +32,7 @@
 | 
			
		|||
  #:use-module (gnu system uuid)
 | 
			
		||||
  #:autoload   (gnu build file-systems) (find-partition-by-luks-uuid)
 | 
			
		||||
  #:autoload   (gnu build linux-modules)
 | 
			
		||||
                 (device-module-aliases matching-modules known-module-aliases
 | 
			
		||||
                  normalize-module-name file-name->module-name)
 | 
			
		||||
                 (missing-modules)
 | 
			
		||||
  #:autoload   (gnu packages cryptsetup) (cryptsetup-static)
 | 
			
		||||
  #:autoload   (gnu packages linux) (mdadm-static)
 | 
			
		||||
  #:use-module (srfi srfi-1)
 | 
			
		||||
| 
						 | 
				
			
			@ -118,37 +117,27 @@
 | 
			
		|||
(define (check-device-initrd-modules device linux-modules location)
 | 
			
		||||
  "Raise an error if DEVICE needs modules beyond LINUX-MODULES to operate.
 | 
			
		||||
DEVICE must be a \"/dev\" file name."
 | 
			
		||||
  (define aliases
 | 
			
		||||
    ;; Attempt to load 'modules.alias' from the current kernel, assuming we're
 | 
			
		||||
    ;; on GuixSD, and assuming that corresponds to the kernel we'll be
 | 
			
		||||
    ;; installing.  Skip the whole thing if that file cannot be read.
 | 
			
		||||
  (define missing
 | 
			
		||||
    ;; Attempt to determine missing modules.
 | 
			
		||||
    (catch 'system-error
 | 
			
		||||
      (lambda ()
 | 
			
		||||
        (known-module-aliases))
 | 
			
		||||
      (const #f)))
 | 
			
		||||
        (missing-modules device linux-modules))
 | 
			
		||||
 | 
			
		||||
  (when aliases
 | 
			
		||||
    (let* ((modules  (delete-duplicates
 | 
			
		||||
                      (append-map (cut matching-modules <> aliases)
 | 
			
		||||
                                  (device-module-aliases device))))
 | 
			
		||||
      ;; If we can't do that (e.g., EPERM), skip the whole thing.
 | 
			
		||||
      (const '())))
 | 
			
		||||
 | 
			
		||||
           ;; 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)
 | 
			
		||||
        ;; 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
 | 
			
		||||
        ;; OK because we have machinery that accepts both the hyphen and the
 | 
			
		||||
        ;; underscore version.
 | 
			
		||||
        (raise (condition
 | 
			
		||||
                (&message
 | 
			
		||||
                 (message (format #f (G_ "you may need these modules \
 | 
			
		||||
  (unless (null? missing)
 | 
			
		||||
    ;; 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
 | 
			
		||||
    ;; OK because we have machinery that accepts both the hyphen and the
 | 
			
		||||
    ;; underscore version.
 | 
			
		||||
    (raise (condition
 | 
			
		||||
            (&message
 | 
			
		||||
             (message (format #f (G_ "you may need these modules \
 | 
			
		||||
in the initrd for ~a:~{ ~a~}")
 | 
			
		||||
                                  device missing)))
 | 
			
		||||
                (&fix-hint
 | 
			
		||||
                 (hint (format #f (G_ "Try adding them to the
 | 
			
		||||
                              device missing)))
 | 
			
		||||
            (&fix-hint
 | 
			
		||||
             (hint (format #f (G_ "Try adding them to the
 | 
			
		||||
@code{initrd-modules} field of your @code{operating-system} declaration, along
 | 
			
		||||
these lines:
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -161,9 +150,9 @@ these lines:
 | 
			
		|||
 | 
			
		||||
If you think this diagnostic is inaccurate, use the @option{--skip-checks}
 | 
			
		||||
option of @command{guix system}.\n")
 | 
			
		||||
                               missing)))
 | 
			
		||||
                (&error-location
 | 
			
		||||
                 (location (source-properties->location location)))))))))
 | 
			
		||||
                           missing)))
 | 
			
		||||
            (&error-location
 | 
			
		||||
             (location (source-properties->location location)))))))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -463,8 +463,8 @@ the image."
 | 
			
		|||
  "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,
 | 
			
		||||
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
 | 
			
		||||
installed inside of it.  If you don't need Guix (e.g., your GuixSD Docker
 | 
			
		||||
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 Docker
 | 
			
		||||
image just contains a web server that is started by the Shepherd), then you
 | 
			
		||||
should set REGISTER-CLOSURES? to #f."
 | 
			
		||||
  (define schema
 | 
			
		||||
| 
						 | 
				
			
			@ -610,7 +610,7 @@ to USB sticks meant to be read-only."
 | 
			
		|||
 | 
			
		||||
  (define root-label
 | 
			
		||||
    ;; Volume name of the root file system.
 | 
			
		||||
    (normalize-label "GuixSD_image"))
 | 
			
		||||
    (normalize-label "Guix_image"))
 | 
			
		||||
 | 
			
		||||
  (define root-uuid
 | 
			
		||||
    ;; UUID of the root file system, computed in a deterministic fashion.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -47,7 +47,7 @@
 | 
			
		|||
 | 
			
		||||
;;; 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.
 | 
			
		||||
;;;
 | 
			
		||||
;;; Code:
 | 
			
		||||
| 
						 | 
				
			
			@ -204,7 +204,7 @@ reboot\n")
 | 
			
		|||
                                                (guix combinators))))
 | 
			
		||||
                      (installation-disk-image-file-system-type "ext4")
 | 
			
		||||
                      (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
 | 
			
		||||
the installed system.  The packages specified in PACKAGES will be appended to
 | 
			
		||||
packages defined in installation-os."
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -65,19 +65,28 @@ lives in, or #f if this is not applicable."
 | 
			
		|||
       (let ((manifest (profile-manifest profile)))
 | 
			
		||||
         (manifest-entries manifest))))))
 | 
			
		||||
 | 
			
		||||
(define package-path-entries
 | 
			
		||||
(define current-channel-entries
 | 
			
		||||
  (mlambda ()
 | 
			
		||||
    "Return a list of package path entries to be added to the package search
 | 
			
		||||
path.  These entries are taken from the 'guix pull' profile the calling
 | 
			
		||||
process lives in, when applicable."
 | 
			
		||||
    ;; Filter out Guix itself.
 | 
			
		||||
    (filter-map (lambda (entry)
 | 
			
		||||
                  (and (not (string=? (manifest-entry-name entry)
 | 
			
		||||
                                      "guix"))
 | 
			
		||||
                       (string-append (manifest-entry-item entry)
 | 
			
		||||
    "Return manifest entries corresponding to extra channels--i.e., not the
 | 
			
		||||
'guix' channel."
 | 
			
		||||
    (remove (lambda (entry)
 | 
			
		||||
              (string=? (manifest-entry-name entry) "guix"))
 | 
			
		||||
            (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))))
 | 
			
		||||
                (current-profile-entries))))
 | 
			
		||||
                                      (effective-version))
 | 
			
		||||
                       (string-append (manifest-entry-item entry)
 | 
			
		||||
                                      "/lib/guile/" (effective-version)
 | 
			
		||||
                                      "/site-ccache")))
 | 
			
		||||
               (current-channel-entries))))
 | 
			
		||||
 | 
			
		||||
(define (package-provenance package)
 | 
			
		||||
  "Return the provenance of PACKAGE as an sexp for use as the 'provenance'
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
;;; 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.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -112,7 +112,7 @@ depends on."
 | 
			
		|||
                 ".scm"))
 | 
			
		||||
 | 
			
		||||
(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
 | 
			
		||||
    (('guix _ ...) #t)
 | 
			
		||||
    (('gnu _ ...) #t)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -855,27 +855,19 @@ when CUT? returns true for a given package."
 | 
			
		|||
                                  #:optional (rewrite-name identity))
 | 
			
		||||
  "Return a procedure that, when passed a package, replaces its direct and
 | 
			
		||||
indirect dependencies (but not its implicit inputs) according to REPLACEMENTS.
 | 
			
		||||
REPLACEMENTS is a list of package pairs or a promise thereof; the first
 | 
			
		||||
element of each pair is the package to replace, and the second one is the
 | 
			
		||||
replacement.
 | 
			
		||||
REPLACEMENTS is a list of package pairs; the first element of each pair is the
 | 
			
		||||
package to replace, and the second one is the replacement.
 | 
			
		||||
 | 
			
		||||
Optionally, REWRITE-NAME is a one-argument procedure that takes the name of a
 | 
			
		||||
package and returns its new name after rewrite."
 | 
			
		||||
  (define (rewrite p)
 | 
			
		||||
    (match (assq-ref (if (promise? replacements)
 | 
			
		||||
                         (force replacements)
 | 
			
		||||
                         replacements)
 | 
			
		||||
                     p)
 | 
			
		||||
    (match (assq-ref replacements p)
 | 
			
		||||
      (#f  (package
 | 
			
		||||
             (inherit p)
 | 
			
		||||
             (name (rewrite-name (package-name p)))))
 | 
			
		||||
      (new new)))
 | 
			
		||||
 | 
			
		||||
  (package-mapping rewrite
 | 
			
		||||
                   (lambda (package)
 | 
			
		||||
                     (assq package (if (promise? replacements)
 | 
			
		||||
                                       (force replacements)
 | 
			
		||||
                                       replacements)))))
 | 
			
		||||
  (package-mapping rewrite (cut assq <> replacements)))
 | 
			
		||||
 | 
			
		||||
(define-syntax-rule (package/inherit p overrides ...)
 | 
			
		||||
  "Like (package (inherit P) OVERRIDES ...), except that the same
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -114,7 +114,7 @@ void LocalStore::optimisePath_(OptimiseStats & stats, const Path & path, InodeHa
 | 
			
		|||
 | 
			
		||||
    /* Sometimes SNAFUs can cause files in the store to be
 | 
			
		||||
       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. */
 | 
			
		||||
    if (S_ISREG(st.st_mode) && (st.st_mode & S_IWUSR)) {
 | 
			
		||||
        printMsg(lvlError, format("skipping suspicious writable file `%1%'") % path);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
		Reference in a new issue