aboutsummaryrefslogtreecommitdiff
ModeNameSize
-rw-r--r--.dir-locals.el4434logplainabout
-rw-r--r--.gitignore2294logplainabout
-rw-r--r--.mailmap3791logplainabout
-rw-r--r--AUTHORS472logplainabout
-rw-r--r--CODE-OF-CONDUCT2418logplainabout
-rw-r--r--COPYING35147logplainabout
-rw-r--r--ChangeLog163logplainabout
-rw-r--r--HACKING2875logplainabout
-rw-r--r--Makefile.am23099logplainabout
-rw-r--r--NEWS218597logplainabout
-rw-r--r--README6557logplainabout
-rw-r--r--ROADMAP3237logplainabout
-rw-r--r--THANKS2381logplainabout
-rw-r--r--TODO2843logplainabout
-rw-r--r--bayfront.guixsd.org.pub118logplainabout
-rwxr-xr-xbootstrap69logplainabout
d---------build-aux683logplain
-rw-r--r--config-daemon.ac5459logplainabout
-rw-r--r--configure.ac8178logplainabout
-rw-r--r--d3.v3.js339545logplainabout
d---------doc323logplain
d---------etc308logplain
-rw-r--r--gnu.scm2208logplainabout
d---------gnu476logplain
-rw-r--r--graph.js4207logplainabout
-rw-r--r--guix.scm1357logplainabout
d---------guix2204logplain
-rw-r--r--hydra.gnu.org.pub1083logplainabout
d---------m435logplain
d---------nix356logplain
d---------po66logplain
-rw-r--r--release.nix4619logplainabout
d---------scripts35logplain
d---------srfi129logplain
d---------tests3065logplain
width: 99.9%;'/> -rw-r--r--gnu/packages/curl.scm31
-rw-r--r--gnu/packages/databases.scm101
-rw-r--r--gnu/packages/debian.scm170
-rw-r--r--gnu/packages/debug.scm16
-rw-r--r--gnu/packages/dictionaries.scm17
-rw-r--r--gnu/packages/django.scm66
-rw-r--r--gnu/packages/docbook.scm5
-rw-r--r--gnu/packages/emacs.scm74
-rw-r--r--gnu/packages/embedded.scm5
-rw-r--r--gnu/packages/enlightenment.scm15
-rw-r--r--gnu/packages/file-systems.scm1
-rw-r--r--gnu/packages/firmware.scm52
-rw-r--r--gnu/packages/flashing-tools.scm14
-rw-r--r--gnu/packages/fonts.scm22
-rw-r--r--gnu/packages/fontutils.scm2
-rw-r--r--gnu/packages/freedesktop.scm14
-rw-r--r--gnu/packages/fribidi.scm9
-rw-r--r--gnu/packages/ftp.scm4
-rw-r--r--gnu/packages/game-development.scm26
-rw-r--r--gnu/packages/games.scm3
-rw-r--r--gnu/packages/gd.scm43
-rw-r--r--gnu/packages/ghostscript.scm2
-rw-r--r--gnu/packages/glib.scm49
-rw-r--r--gnu/packages/gnome.scm47
-rw-r--r--gnu/packages/gnunet.scm2
-rw-r--r--gnu/packages/gnupg.scm61
-rw-r--r--gnu/packages/gnuzilla.scm135
-rw-r--r--gnu/packages/golang.scm122
-rw-r--r--gnu/packages/gps.scm1
-rw-r--r--gnu/packages/graph.scm29
-rw-r--r--gnu/packages/graphics.scm6
-rw-r--r--gnu/packages/gstreamer.scm4
-rw-r--r--gnu/packages/gtk.scm140
-rw-r--r--gnu/packages/guile.scm77
-rw-r--r--gnu/packages/haskell-web.scm35
-rw-r--r--gnu/packages/haskell.scm216
-rw-r--r--gnu/packages/image-viewers.scm4
-rw-r--r--gnu/packages/image.scm67
-rw-r--r--gnu/packages/imagemagick.scm4
-rw-r--r--gnu/packages/inkscape.scm19
-rw-r--r--gnu/packages/irc.scm14
-rw-r--r--gnu/packages/java.scm1349
-rw-r--r--gnu/packages/julia.scm7
-rw-r--r--gnu/packages/kde-frameworks.scm5
-rw-r--r--gnu/packages/kodi.scm27
-rw-r--r--gnu/packages/libcanberra.scm2
-rw-r--r--gnu/packages/libevent.scm4
-rw-r--r--gnu/packages/libffi.scm20
-rw-r--r--gnu/packages/libftdi.scm7
-rw-r--r--gnu/packages/libreoffice.scm25
-rw-r--r--gnu/packages/libusb.scm1
-rw-r--r--gnu/packages/linux.scm42
-rw-r--r--gnu/packages/lisp.scm51
-rw-r--r--gnu/packages/logging.scm4
-rw-r--r--gnu/packages/mail.scm29
-rw-r--r--gnu/packages/make-bootstrap.scm35
-rw-r--r--gnu/packages/man.scm7
-rw-r--r--gnu/packages/mate.scm4
-rw-r--r--gnu/packages/maths.scm67
-rw-r--r--gnu/packages/maven.scm130
-rw-r--r--gnu/packages/messaging.scm4
-rw-r--r--gnu/packages/mingw.scm20
-rw-r--r--gnu/packages/monitoring.scm5
-rw-r--r--gnu/packages/music.scm33
-rw-r--r--gnu/packages/nano.scm4
-rw-r--r--gnu/packages/networking.scm50
-rw-r--r--gnu/packages/node.scm67
-rw-r--r--gnu/packages/ntp.scm13
-rw-r--r--gnu/packages/ocaml.scm19
-rw-r--r--gnu/packages/openstack.scm343
-rw-r--r--gnu/packages/package-management.scm15
-rw-r--r--gnu/packages/parallel.scm4
-rw-r--r--gnu/packages/password-utils.scm54
-rw-r--r--gnu/packages/patches/antlr3-3_1-fix-java8-compilation.patch35
-rw-r--r--gnu/packages/patches/antlr3-3_3-fix-java8-compilation.patch35
-rw-r--r--gnu/packages/patches/ceph-disable-cpu-optimizations.patch64
-rw-r--r--gnu/packages/patches/ceph-disable-unittest-throttle.patch52
-rw-r--r--gnu/packages/patches/ceph-rocksdb-compat.patch63
-rw-r--r--gnu/packages/patches/dblatex-remove-multirow.patch30
-rw-r--r--gnu/packages/patches/dovecot-CVE-2017-15132.patch36
-rw-r--r--gnu/packages/patches/gd-CVE-2018-5711.patch61
-rw-r--r--gnu/packages/patches/glibc-allow-kernel-2.6.32.patch46
-rw-r--r--gnu/packages/patches/guile-linux-syscalls.patch50
-rw-r--r--gnu/packages/patches/icecat-bug-1348660-pt5.patch727
-rw-r--r--gnu/packages/patches/icecat-bug-1414945.patch73
-rw-r--r--gnu/packages/patches/icecat-bug-1415133.patch40
-rw-r--r--gnu/packages/patches/icecat-bug-1424373-pt2.patch183
-rw-r--r--gnu/packages/patches/java-jeromq-fix-tests.patch253
-rw-r--r--gnu/packages/patches/lrzip-CVE-2017-8842.patch23
-rw-r--r--gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch53
-rw-r--r--gnu/packages/patches/python-mox3-python3.6-compat.patch43
-rw-r--r--gnu/packages/patches/python-parse-too-many-fields.patch52
-rw-r--r--gnu/packages/patches/thefuck-test-environ.patch20
-rw-r--r--gnu/packages/patches/wavpack-CVE-2018-6767.patch119
-rw-r--r--gnu/packages/patches/wxmaxima-do-not-use-old-gnuplot-parameters.patch26
-rw-r--r--gnu/packages/patches/zsh-CVE-2018-7548.patch48
-rw-r--r--gnu/packages/patches/zsh-CVE-2018-7549.patch56
-rw-r--r--gnu/packages/perl-check.scm4
-rw-r--r--gnu/packages/perl.scm124
-rw-r--r--gnu/packages/photo.scm56
-rw-r--r--gnu/packages/php.scm22
-rw-r--r--gnu/packages/polkit.scm17
-rw-r--r--gnu/packages/pretty-print.scm14
-rw-r--r--gnu/packages/profiling.scm34
-rw-r--r--gnu/packages/pulseaudio.scm3
-rw-r--r--gnu/packages/python-crypto.scm9
-rw-r--r--gnu/packages/python-web.scm105
-rw-r--r--gnu/packages/python.scm415
-rw-r--r--gnu/packages/qt.scm2
-rw-r--r--gnu/packages/regex.scm4
-rw-r--r--gnu/packages/ruby.scm258
-rw-r--r--gnu/packages/samba.scm8
-rw-r--r--gnu/packages/sawfish.scm2
-rw-r--r--gnu/packages/scheme.scm4
-rw-r--r--gnu/packages/sdcc.scm11
-rw-r--r--gnu/packages/sdl.scm4
-rw-r--r--gnu/packages/search.scm4
-rw-r--r--gnu/packages/serialization.scm8
-rw-r--r--gnu/packages/shells.scm2
-rw-r--r--gnu/packages/spice.scm1
-rw-r--r--gnu/packages/ssh.scm8
-rw-r--r--gnu/packages/sssd.scm6
-rw-r--r--gnu/packages/statistics.scm208
-rw-r--r--gnu/packages/storage.scm42
-rw-r--r--gnu/packages/suckless.scm4
-rw-r--r--gnu/packages/syncthing.scm226
-rw-r--r--gnu/packages/tex.scm279
-rw-r--r--gnu/packages/text-editors.scm6
-rw-r--r--gnu/packages/textutils.scm64
-rw-r--r--gnu/packages/time.scm16
-rw-r--r--gnu/packages/tls.scm14
-rw-r--r--gnu/packages/tor.scm11
-rw-r--r--gnu/packages/version-control.scm142
-rw-r--r--gnu/packages/video.scm74
-rw-r--r--gnu/packages/virtualization.scm4
-rw-r--r--gnu/packages/vpn.scm16
-rw-r--r--gnu/packages/vulkan.scm4
-rw-r--r--gnu/packages/web-browsers.scm14
-rw-r--r--gnu/packages/web.scm114
-rw-r--r--gnu/packages/wine.scm93
-rw-r--r--gnu/packages/wm.scm4
-rw-r--r--gnu/packages/wv.scm12
-rw-r--r--gnu/packages/xdisorg.scm33
-rw-r--r--gnu/packages/xfce.scm4
-rw-r--r--gnu/packages/xml.scm42
-rw-r--r--gnu/packages/xorg.scm106
-rw-r--r--gnu/packages/zile.scm2
-rw-r--r--gnu/services/base.scm285
-rw-r--r--gnu/services/cgit.scm686
-rw-r--r--gnu/services/configuration.scm17
-rw-r--r--gnu/services/databases.scm104
-rw-r--r--gnu/services/dict.scm3
-rw-r--r--gnu/services/mail.scm147
-rw-r--r--gnu/services/messaging.scm106
-rw-r--r--gnu/services/networking.scm102
-rw-r--r--gnu/services/version-control.scm121
-rw-r--r--gnu/system.scm10
-rw-r--r--gnu/system/examples/beaglebone-black.tmpl9
-rw-r--r--gnu/system/install.scm9
-rw-r--r--gnu/system/linux-initrd.scm164
-rw-r--r--gnu/system/mapped-devices.scm38
-rw-r--r--gnu/system/vm.scm24
-rw-r--r--gnu/tests/databases.scm55
-rw-r--r--gnu/tests/install.scm11
-rw-r--r--gnu/tests/mail.scm120
-rw-r--r--gnu/tests/version-control.scm3
-rw-r--r--guix/build-system/minify.scm3
-rw-r--r--guix/build-system/trivial.scm42
-rw-r--r--guix/build/download.scm10
-rw-r--r--guix/build/git.scm43
-rw-r--r--guix/build/syscalls.scm48
-rw-r--r--guix/gexp.scm7
-rw-r--r--guix/glob.scm97
-rw-r--r--guix/hash.scm26
-rw-r--r--guix/http-client.scm154
-rw-r--r--guix/import/cpan.scm6
-rw-r--r--guix/profiles.scm20
-rw-r--r--guix/scripts/environment.scm159
-rw-r--r--guix/scripts/package.scm16
-rwxr-xr-xguix/scripts/substitute.scm18
-rw-r--r--guix/scripts/system.scm54
-rw-r--r--guix/ui.scm26
-rw-r--r--m4/guix.m417
-rw-r--r--po/guix/POTFILES.in1
-rw-r--r--po/guix/pt_BR.po1738
-rw-r--r--po/packages/LINGUAS1
-rw-r--r--po/packages/zh_CN.po19383
-rw-r--r--tests/glob.scm58
-rw-r--r--tests/guix-build.sh2
-rw-r--r--tests/guix-environment-container.sh25
-rw-r--r--tests/guix-package.sh18
-rw-r--r--tests/hash.scm19
-rw-r--r--tests/packages.scm20
-rw-r--r--tests/profiles.scm7
227 files changed, 32548 insertions, 5086 deletions
diff --git a/Makefile.am b/Makefile.am
index e2c940ca8d..6556799e6b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
# Copyright © 2015, 2017 Alex Kost <alezost@gmail.com>
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
@@ -83,6 +83,7 @@ MODULES = \
guix/gnu-maintenance.scm \
guix/upstream.scm \
guix/licenses.scm \
+ guix/glob.scm \
guix/git.scm \
guix/graph.scm \
guix/cache.scm \
@@ -314,6 +315,7 @@ SCM_TESTS = \
tests/substitute.scm \
tests/builders.scm \
tests/derivations.scm \
+ tests/glob.scm \
tests/grafts.scm \
tests/ui.scm \
tests/records.scm \
diff --git a/README b/README
index d96a43bbef..243a6c058c 100644
--- a/README
+++ b/README
@@ -20,7 +20,7 @@ Guix is based on the [[https://nixos.org/nix/][Nix]] package manager.
GNU Guix currently depends on the following packages:
- - [[https://gnu.org/software/guile/][GNU Guile 2.2.x or 2.0.x]], version 2.0.9 or later
+ - [[https://gnu.org/software/guile/][GNU Guile 2.2.x or 2.0.x]], version 2.0.13 or later
- [[https://gnupg.org/][GNU libgcrypt]]
- [[https://www.gnu.org/software/make/][GNU Make]]
- [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled.
diff --git a/config-daemon.ac b/config-daemon.ac
index 80d84cbdbc..6cf65bef1d 100644
--- a/config-daemon.ac
+++ b/config-daemon.ac
@@ -118,30 +118,29 @@ if test "x$guix_build_daemon" = "xyes"; then
dnl Check for <linux/fs.h> (for immutable file support).
AC_CHECK_HEADERS([linux/fs.h])
- dnl Determine the appropriate default list of substitute URLs.
- GUILE_MODULE_AVAILABLE([have_gnutls], [(gnutls)])
- if test "x$have_gnutls" = "xyes"; then
- guix_substitute_urls="https://mirror.hydra.gnu.org"
- else
- AC_MSG_WARN([GnuTLS is missing, substitutes will be downloaded in the clear])
- guix_substitute_urls="http://mirror.hydra.gnu.org"
- fi
+ dnl Determine the appropriate default list of substitute URLs (GnuTLS
+ dnl is required so we can default to 'https'.)
+ case "x$host_cpu" in
+ xaarch64)
+ # Currently only berlin.guixsd.org provides aarch64 binaries.
+ guix_substitute_urls="https://berlin.guixsd.org"
+ ;;
+ *)
+ guix_substitute_urls="https://mirror.hydra.gnu.org"
+ ;;
+ esac
+
AC_MSG_CHECKING([for default substitute URLs])
AC_MSG_RESULT([$guix_substitute_urls])
AC_DEFINE_UNQUOTED([GUIX_SUBSTITUTE_URLS], ["$guix_substitute_urls"],
[Default list of substitute URLs used by 'guix-daemon'.])
- dnl Check whether the 'offload' build hook can be built (uses
- dnl 'restore-file-set', which requires unbuffered custom binary input
- dnl ports from Guile >= 2.0.10.)
- GUIX_CHECK_UNBUFFERED_CBIP
-
dnl Check for Guile-SSH, which is required by 'guix offload'.
GUIX_CHECK_GUILE_SSH
- case "x$ac_cv_guix_cbips_support_setvbuf$guix_cv_have_recent_guile_ssh" in
- xyesyes)
+ case "x$guix_cv_have_recent_guile_ssh" in
+ xyes)
guix_build_daemon_offload="yes"
AC_DEFINE([HAVE_DAEMON_OFFLOAD_HOOK], [1],
[Define if the daemon's 'offload' build hook is being built (requires Guile-SSH).])
diff --git a/configure.ac b/configure.ac
index 398846f64b..5872a84823 100644
--- a/configure.ac
+++ b/configure.ac
@@ -98,7 +98,7 @@ if test "x$GUILD" = "x"; then
fi
if test "x$GUILE_EFFECTIVE_VERSION" = "x2.0"; then
- PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.9])
+ PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.13])
fi
dnl Installation directories for .scm and .go files.
diff --git a/doc/guix.texi b/doc/guix.texi
index 691164502b..d3a7908f9c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -24,7 +24,7 @@ Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@*
Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo Wurmus@*
Copyright @copyright{} 2016 Ben Woodcroft@*
Copyright @copyright{} 2016, 2017 Chris Marusich@*
-Copyright @copyright{} 2016, 2017 Efraim Flashner@*
+Copyright @copyright{} 2016, 2017, 2018 Efraim Flashner@*
Copyright @copyright{} 2016 John Darrington@*
Copyright @copyright{} 2016, 2017 ng0@*
Copyright @copyright{} 2016, 2017 Jan Nieuwenhuizen@*
@@ -45,7 +45,9 @@ Copyright @copyright{} 2017 George Clemmer@*
Copyright @copyright{} 2017 Andy Wingo@*
Copyright @copyright{} 2017, 2018 Arun Isaac@*
Copyright @copyright{} 2017 nee@*
-Copyright @copyright{} 2018 Rutger Helling
+Copyright @copyright{} 2018 Rutger Helling@*
+Copyright @copyright{} 2018 Oleg Pykhalov@*
+Copyright @copyright{} 2018 Mike Gerwitz
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -441,7 +443,8 @@ and rerun the @code{gpg --verify} command.
@c end authentication part
@item
-As @code{root}, run:
+Now, you need to become the @code{root} user. Depending on your distribution,
+you may have to run @code{su -} or @code{sudo -i}. As @code{root}, run:
@example
# cd /tmp
@@ -601,7 +604,7 @@ in the Guix source tree for additional details.
GNU Guix depends on the following packages:
@itemize
-@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.9 or
+@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 or
later, including 2.2.x;
@item @url{http://gnupg.org/, GNU libgcrypt};
@item
@@ -1570,8 +1573,10 @@ full name of a font using XLFD (X Logical Font Description), like this:
To be able to use such full names for the TrueType fonts installed in
your Guix profile, you need to extend the font path of the X server:
+@c Note: 'xset' does not accept symlinks so the trick below arranges to
+@c get at the real directory. See <https://bugs.gnu.org/30655>.
@example
-xset +fp ~/.guix-profile/share/fonts/truetype
+xset +fp $(dirname $(readlink -f ~/.guix-profile/share/fonts/truetype/fonts.dir))
@end example
@cindex @code{xlsfonts}
@@ -7284,10 +7289,11 @@ Attempt to build for @var{system}---e.g., @code{i686-linux}.
@cindex container
Run @var{command} within an isolated container. The current working
directory outside the container is mapped inside the container.
-Additionally, a dummy home directory is created that matches the current
-user's home directory, and @file{/etc/passwd} is configured accordingly.
-The spawned process runs as the current user outside the container, but
-has root privileges in the context of the container.
+Additionally, unless overridden with @code{--user}, a dummy home
+directory is created that matches the current user's home directory, and
+@file{/etc/passwd} is configured accordingly. The spawned process runs
+as the current user outside the container, but has root privileges in
+the context of the container.
@item --network
@itemx -N
@@ -7295,6 +7301,47 @@ For containers, share the network namespace with the host system.
Containers created without this flag only have access to the loopback
device.
+@item --link-profile
+@itemx -P
+For containers, link the environment profile to
+@file{~/.guix-profile} within the container. This is equivalent to
+running the command @command{ln -s $GUIX_ENVIRONMENT ~/.guix-profile}
+within the container. Linking will fail and abort the environment if
+the directory already exists, which will certainly be the case if
+@command{guix environment} was invoked in the user's home directory.
+
+Certain packages are configured to look in
+@code{~/.guix-profile} for configuration files and data;@footnote{For
+example, the @code{fontconfig} package inspects
+@file{~/.guix-profile/share/fonts} for additional fonts.}
+@code{--link-profile} allows these programs to behave as expected within
+the environment.
+
+@item --user=@var{user}
+@itemx -u @var{user}
+For containers, use the username @var{user} in place of the current
+user. The generated @file{/etc/passwd} entry within the container will
+contain the name @var{user}; the home directory will be
+@file{/home/USER}; and no user GECOS data will be copied. @var{user}
+need not exist on the system.
+
+Additionally, any shared or exposed path (see @code{--share} and
+@code{--expose} respectively) whose target is within the current user's
+home directory will be remapped relative to @file{/home/USER}; this
+includes the automatic mapping of the current working directory.
+
+@example
+# will expose paths as /home/foo/wd, /home/foo/test, and /home/foo/target
+cd $HOME/wd
+guix environment --container --user=foo \
+ --expose=$HOME/test \
+ --expose=/tmp/target=$HOME/target
+@end example
+
+While this will limit the leaking of user identity through home paths
+and each of the user fields, this is only one useful component of a
+broader privacy/anonymity solution---not one in and of itself.
+
@item --expose=@var{source}[=@var{target}]
For containers, expose the file system @var{source} from the host system
as the read-only file system @var{target} within the container. If
@@ -8845,11 +8892,16 @@ the command-line of the kernel---e.g., @code{("console=ttyS0")}.
@item @code{bootloader}
The system bootloader configuration object. @xref{Bootloader Configuration}.
-@item @code{initrd} (default: @code{base-initrd})
+@item @code{initrd-modules} (default: @code{%base-initrd-modules})
@cindex initrd
@cindex initial RAM disk
-A two-argument monadic procedure that returns an initial RAM disk for
-the Linux kernel. @xref{Initial RAM Disk}.
+The list of Linux kernel modules that need to be available in the
+initial RAM disk. @xref{Initial RAM Disk}.
+
+@item @code{initrd} (default: @code{base-initrd})
+A monadic procedure that returns an initial RAM disk for the Linux
+kernel. This field is provided to support low-level customization and
+should rarely be needed for casual use. @xref{Initial RAM Disk}.
@item @code{firmware} (default: @var{%base-firmware})
@cindex firmware
@@ -10718,6 +10770,59 @@ make an initial adjustment of more than 1,000 seconds.
List of host names used as the default NTP servers.
@end defvr
+@cindex OpenNTPD
+@deffn {Scheme Procedure} openntpd-service-type
+Run the @command{ntpd}, the Network Time Protocol (NTP) daemon, as implemented
+by @uref{http://www.openntpd.org, OpenNTPD}. The daemon will keep the system
+clock synchronized with that of the given servers.
+
+@example
+(service
+ openntpd-service-type
+ (openntpd-configuration
+ (listen-on '("127.0.0.1" "::1"))
+ (sensor '("udcf0 correction 70000"))
+ (constraint-from '("www.gnu.org"))
+ (constraints-from '("https://www.google.com/"))
+ (allow-large-adjustment? #t)))
+
+@end example
+@end deffn
+
+@deftp {Data Type} openntpd-configuration
+@table @asis
+@item @code{openntpd} (default: @code{(file-append openntpd "/sbin/ntpd")})
+The openntpd executable to use.
+@item @code{listen-on} (default: @code{'("127.0.0.1" "::1")})
+A list of local IP addresses or hostnames the ntpd daemon should listen on.
+@item @code{query-from} (default: @code{'()})
+A list of local IP address the ntpd daemon should use for outgoing queries.
+@item @code{sensor} (default: @code{'()})
+Specify a list of timedelta sensor devices ntpd should use. @code{ntpd}
+will listen to each sensor that acutally exists and ignore non-existant ones.
+See @uref{https://man.openbsd.org/ntpd.conf, upstream documentation} for more
+information.
+@item @code{server} (default: @var{%ntp-servers})
+Specify a list of IP addresses or hostnames of NTP servers to synchronize to.
+@item @code{servers} (default: @code{'()})
+Specify a list of IP addresses or hostnames of NTP pools to synchronize to.
+@item @code{constraint-from} (default: @code{'()})
+@code{ntpd} can be configured to query the ‘Date’ from trusted HTTPS servers via TLS.
+This time information is not used for precision but acts as an authenticated
+constraint, thereby reducing the impact of unauthenticated NTP
+man-in-the-middle attacks.
+Specify a list of URLs, IP addresses or hostnames of HTTPS servers to provide
+a constraint.
+@item @code{constraints-from} (default: @code{'()})
+As with constraint from, specify a list of URLs, IP addresses or hostnames of
+HTTPS servers to provide a constraint. Should the hostname resolve to multiple
+IP addresses, @code{ntpd} will calculate a median constraint from all of them.
+@item @code{allow-large-adjustment?} (default: @code{#f})
+Determines if @code{ntpd} is allowed to make an initial adjustment of more
+than 180 seconds.
+@end table
+@end deftp
+
@cindex inetd
@deffn {Scheme variable} inetd-service-type
This service runs the @command{inetd} (@pxref{inetd invocation,,,
@@ -14209,6 +14314,9 @@ There is also a way to specify the configuration as a string, if you
have an old @code{prosody.cfg.lua} file that you want to port over from
some other system; see the end for more details.
+The @code{file-object} type designates either a file-like object
+(@pxref{G-Expressions, file-like objects}) or a file name.
+
@c The following documentation was initially generated by
@c (generate-documentation) in (gnu services messaging). Manually maintained
@c documentation is better, so we shouldn't hesitate to edit below as
@@ -14229,7 +14337,7 @@ Location of the Prosody data storage directory. See
Defaults to @samp{"/var/lib/prosody"}.
@end deftypevr
-@deftypevr {@code{prosody-configuration} parameter} file-name-list plugin-paths
+@deftypevr {@code{prosody-configuration} parameter} file-object-list plugin-paths
Additional plugin directories. They are searched in all the specified
paths in order. See @url{https://prosody.im/doc/plugins_directory}.
Defaults to @samp{()}.
@@ -14270,7 +14378,7 @@ should you want to disable them then add them to this list.
Defaults to @samp{()}.
@end deftypevr
-@deftypevr {@code{prosody-configuration} parameter} file-name groups-file
+@deftypevr {@code{prosody-configuration} parameter} file-object groups-file
Path to a text file where the shared groups are defined. If this path is
empty then @samp{mod_groups} does nothing. See
@url{https://prosody.im/doc/modules/mod_groups}.
@@ -14303,13 +14411,13 @@ Path to your private key file.
Path to your certificate file.
@end deftypevr
-@deftypevr {@code{ssl-configuration} parameter} file-name capath
+@deftypevr {@code{ssl-configuration} parameter} file-object capath
Path to directory containing root certificates that you wish Prosody to
trust when verifying the certificates of remote servers.
Defaults to @samp{"/etc/ssl/certs"}.
@end deftypevr
-@deftypevr {@code{ssl-configuration} parameter} maybe-file-name cafile
+@deftypevr {@code{ssl-configuration} parameter} maybe-file-object cafile
Path to a file containing root certificates that you wish Prosody to trust.
Similar to @code{capath} but with all certificates concatenated together.
@end deftypevr
@@ -14569,6 +14677,8 @@ string, you could instantiate a prosody service like this:
(prosody.cfg.lua "")))
@end example
+@c end of Prosody auto-generated documentation
+
@subsubheading BitlBee Service
@cindex IRC (Internet Relay Chat)
@@ -18542,54 +18652,929 @@ By default, Cgit can be accessed on port 80 (@code{http://localhost:80}).
(service cgit-service-type)
@end example
-@deftp {Data Type} cgit-configuration
-Data type representing the configuration of Cgit.
-This type has the following parameters:
+@c %start of fragment
-@table @asis
-@item @code{config-file} (default: @code{(cgit-configuration-file)})
-The configuration file to use for Cgit. This can be set to a
-@dfn{cgit-configuration-file} record value, or any gexp
-(@pxref{G-Expressions}).
+Available @code{cgit-configuration} fields are:
-For example, to instead use a local file, the @code{local-file} function
-can be used:
+@deftypevr {@code{cgit-configuration} parameter} package package
+The CGIT package.
-@example
-(service cgit-service-type
- (cgit-configuration
- (config-file (local-file "./my-cgitrc.conf"))))
-@end example
+@end deftypevr
-@item @code{package} (default: @code{cgit})
-The Cgit package to use.
+@deftypevr {@code{cgit-configuration} parameter} nginx-server-configuration-list nginx
+NGINX configuration.
-@end table
-@end deftp
+@end deftypevr
-@deftp {Data Type} cgit-configuration-file
-Data type representing the configuration options for Cgit.
-This type has the following parameters:
+@deftypevr {@code{cgit-configuration} parameter} string about-filter
+Specifies a command which will be invoked to format the content of about
+pages (both top-level and for each repository).
-@table @asis
-@item @code{css} (default: @code{"/share/cgit/cgit.css"})
-URL which specifies the css document to include in all Cgit pages.
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string agefile
+Specifies a path, relative to each repository path, which can be used to
+specify the date and time of the youngest commit in the repository.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string auth-filter
+Specifies a command that will be invoked for authenticating repository
+access.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string branch-sort
+Flag which, when set to @samp{age}, enables date ordering in the branch
+ref list, and when set @samp{name} enables ordering by branch name.
+
+Defaults to @samp{"name"}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string cache-root
+Path used to store the cgit cache entries.
+
+Defaults to @samp{"/var/cache/cgit"}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer cache-static-ttl
+Number which specifies the time-to-live, in minutes, for the cached
+version of repository pages accessed with a fixed SHA1.
+
+Defaults to @samp{-1}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer cache-dynamic-ttl
+Number which specifies the time-to-live, in minutes, for the cached
+version of repository pages accessed without a fixed SHA1.
+
+Defaults to @samp{5}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer cache-repo-ttl
+Number which specifies the time-to-live, in minutes, for the cached
+version of the repository summary page.
+
+Defaults to @samp{5}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer cache-root-ttl
+Number which specifies the time-to-live, in minutes, for the cached
+version of the repository index page.
-@item @code{logo} (default: @code{"/share/cgit/cgit.png"})
+Defaults to @samp{5}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer cache-scanrc-ttl
+Number which specifies the time-to-live, in minutes, for the result of
+scanning a path for Git repositories.
+
+Defaults to @samp{15}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer cache-about-ttl
+Number which specifies the time-to-live, in minutes, for the cached
+version of the repository about page.
+
+Defaults to @samp{15}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer cache-snapshot-ttl
+Number which specifies the time-to-live, in minutes, for the cached
+version of snapshots.
+
+Defaults to @samp{5}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer cache-size
+The maximum number of entries in the cgit cache. When set to @samp{0},
+caching is disabled.
+
+Defaults to @samp{0}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean case-sensitive-sort?
+Sort items in the repo list case sensitively.
+
+Defaults to @samp{#t}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} list clone-prefix
+List of common prefixes which, when combined with a repository URL,
+generates valid clone URLs for the repository.
+
+Defaults to @samp{()}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} list clone-url
+List of @code{clone-url} templates.
+
+Defaults to @samp{()}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string commit-filter
+Command which will be invoked to format commit messages.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string commit-sort
+Flag which, when set to @samp{date}, enables strict date ordering in the
+commit log, and when set to @samp{topo} enables strict topological
+ordering.
+
+Defaults to @samp{"git log"}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string css
+URL which specifies the css document to include in all cgit pages.
+
+Defaults to @samp{"/share/cgit/cgit.css"}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string email-filter
+Specifies a command which will be invoked to format names and email
+address of committers, authors, and taggers, as represented in various
+places throughout the cgit interface.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean embedded?
+Flag which, when set to @samp{#t}, will make cgit generate a HTML
+fragment suitable for embedding in other HTML pages.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean enable-commit-graph?
+Flag which, when set to @samp{#t}, will make cgit print an ASCII-art
+commit history graph to the left of the commit messages in the
+repository log page.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean enable-filter-overrides?
+Flag which, when set to @samp{#t}, allows all filter settings to be
+overridden in repository-specific cgitrc files.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean enable-follow-links?
+Flag which, when set to @samp{#t}, allows users to follow a file in the
+log view.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean enable-http-clone?
+If set to @samp{#t}, cgit will act as an dumb HTTP endpoint for Git
+clones.
+
+Defaults to @samp{#t}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean enable-index-links?
+Flag which, when set to @samp{#t}, will make cgit generate extra links
+"summary", "commit", "tree" for each repo in the repository index.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean enable-index-owner?
+Flag which, when set to @samp{#t}, will make cgit display the owner of
+each repo in the repository index.
+
+Defaults to @samp{#t}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean enable-log-filecount?
+Flag which, when set to @samp{#t}, will make cgit print the number of
+modified files for each commit on the repository log page.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean enable-log-linecount?
+Flag which, when set to @samp{#t}, will make cgit print the number of
+added and removed lines for each commit on the repository log page.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean enable-remote-branches?
+Flag which, when set to @code{#t}, will make cgit display remote
+branches in the summary and refs views.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean enable-subject-links?
+Flag which, when set to @code{1}, will make cgit use the subject of the
+parent commit as link text when generating links to parent commits in
+commit view.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean enable-html-serving?
+Flag which, when set to @samp{#t}, will make cgit use the subject of the
+parent commit as link text when generating links to parent commits in
+commit view.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean enable-tree-linenumbers?
+Flag which, when set to @samp{#t}, will make cgit generate linenumber
+links for plaintext blobs printed in the tree view.
+
+Defaults to @samp{#t}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean enable-git-config?
+Flag which, when set to @samp{#f}, will allow cgit to use Git config to
+set any repo specific settings.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string favicon
+URL used as link to a shortcut icon for cgit.
+
+Defaults to @samp{"/favicon.ico"}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string footer
+The content of the file specified with this option will be included
+verbatim at the bottom of all pages (i.e. it replaces the standard
+"generated by..." message).
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string head-include
+The content of the file specified with this option will be included
+verbatim in the HTML HEAD section on all pages.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string header
+The content of the file specified with this option will be included
+verbatim at the top of all pages.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string include
+Name of a configfile to include before the rest of the current config-
+file is parsed.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string index-header
+The content of the file specified with this option will be included
+verbatim above the repository index.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string index-info
+The content of the file specified with this option will be included
+verbatim below the heading on the repository index page.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean local-time?
+Flag which, if set to @samp{#t}, makes cgit print commit and tag times
+in the servers timezone.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string logo
URL which specifies the source of an image which will be used as a logo
-on all Cgit pages.
+on all cgit pages.
-@item @code{virtual-root} (default: @code{"/"})
-URL which, if specified, will be used as root for all Cgit links.
+Defaults to @samp{"/share/cgit/cgit.png"}.
-@item @code{repository-directory} (default: @code{"/srv/git"})
-Name of the directory to scan for repositories.
+@end deftypevr
-@item @code{robots} (default: @code{(list "noindex" "nofollow")})
-Text used as content for the ``robots'' meta-tag.
+@deftypevr {@code{cgit-configuration} parameter} string logo-link
+URL loaded when clicking on the cgit logo image.
-@end table
-@end deftp
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string owner-filter
+Command which will be invoked to format the Owner column of the main
+page.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer max-atom-items
+Number of items to display in atom feeds view.
+
+Defaults to @samp{10}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer max-commit-count
+Number of entries to list per page in "log" view.
+
+Defaults to @samp{50}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer max-message-length
+Number of commit message characters to display in "log" view.
+
+Defaults to @samp{80}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer max-repo-count
+Specifies the number of entries to list per page on the repository index
+page.
+
+Defaults to @samp{50}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer max-repodesc-length
+Specifies the maximum number of repo description characters to display
+on the repository index page.
+
+Defaults to @samp{80}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer max-blob-size
+Specifies the maximum size of a blob to display HTML for in KBytes.
+
+Defaults to @samp{0}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string max-stats
+Maximum statistics period. Valid values are @samp{week},@samp{month},
+@samp{quarter} and @samp{year}.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} mimetype-alist mimetype
+Mimetype for the specified filename extension.
+
+Defaults to @samp{((gif "image/gif") (html "text/html") (jpg
+"image/jpeg") (jpeg "image/jpeg") (pdf "application/pdf") (png
+"image/png") (svg "image/svg+xml"))}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string mimetype-file
+Specifies the file to use for automatic mimetype lookup.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string module-link
+Text which will be used as the formatstring for a hyperlink when a
+submodule is printed in a directory listing.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean nocache?
+If set to the value @samp{#t} caching will be disabled.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean noplainemail?
+If set to @samp{#t} showing full author email addresses will be
+disabled.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean noheader?
+Flag which, when set to @samp{#t}, will make cgit omit the standard
+header on all pages.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string readme
+Text which will be used as default value for @code{cgit-repo-readme}.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean remove-suffix?
+If set to @code{#t} and @code{repository-directory} is enabled, if any
+repositories are found with a suffix of @code{.git}, this suffix will be
+removed for the URL and name.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer renamelimit
+Maximum number of files to consider when detecting renames.
+
+Defaults to @samp{-1}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string repository-sort
+The way in which repositories in each section are sorted.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} robots-list robots
+Text used as content for the @code{robots} meta-tag.
+
+Defaults to @samp{("noindex" "nofollow")}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string root-desc
+Text printed below the heading on the repository index page.
+
+Defaults to @samp{"a fast webinterface for the git dscm"}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string root-readme
+The content of the file specified with this option will be included
+verbatim below thef "about" link on the repository index page.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string root-title
+Text printed as heading on the repository index page.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean scan-hidden-path
+If set to @samp{#t} and repository-directory is enabled,
+repository-directory will recurse into directories whose name starts
+with a period. Otherwise, repository-directory will stay away from such
+directories, considered as "hidden". Note that this does not apply to
+the ".git" directory in non-bare repos.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} list snapshots
+Text which specifies the default set of snapshot formats that cgit
+generates links for.
+
+Defaults to @samp{()}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} repository-directory repository-directory
+Name of the directory to scan for repositories (represents
+@code{scan-path}).
+
+Defaults to @samp{"/srv/git"}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string section
+The name of the current repository section - all repositories defined
+after this option will inherit the current section name.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string section-sort
+Flag which, when set to @samp{1}, will sort the sections on the
+repository listing by name.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer section-from-path
+A number which, if defined prior to repository-directory, specifies how
+many path elements from each repo path to use as a default section name.
+
+Defaults to @samp{0}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} boolean side-by-side-diffs?
+If set to @samp{#t} shows side-by-side diffs instead of unidiffs per
+default.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string source-filter
+Specifies a command which will be invoked to format plaintext blobs in
+the tree view.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer summary-branches
+Specifies the number of branches to display in the repository "summary"
+view.
+
+Defaults to @samp{10}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer summary-log
+Specifies the number of log entries to display in the repository
+"summary" view.
+
+Defaults to @samp{10}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} integer summary-tags
+Specifies the number of tags to display in the repository "summary"
+view.
+
+Defaults to @samp{10}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string strict-export
+Filename which, if specified, needs to be present within the repository
+for cgit to allow access to that repository.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} string virtual-root
+URL which, if specified, will be used as root for all cgit links.
+
+Defaults to @samp{"/"}.
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} repository-cgit-configuration-list repositories
+A list of @dfn{cgit-repo} records to use with config.
+
+Defaults to @samp{()}.
+
+Available @code{repository-cgit-configuration} fields are:
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-list snapshots
+A mask of snapshot formats for this repo that cgit generates links for,
+restricted by the global @code{snapshots} setting.
+
+Defaults to @samp{()}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string source-filter
+Override the default @code{source-filter}.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string url
+The relative URL used to access the repository.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string about-filter
+Override the default @code{about-filter}.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string branch-sort
+Flag which, when set to @samp{age}, enables date ordering in the branch
+ref list, and when set to @samp{name} enables ordering by branch name.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-list clone-url
+A list of URLs which can be used to clone repo.
+
+Defaults to @samp{()}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string commit-filter
+Override the default @code{commit-filter}.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string commit-sort
+Flag which, when set to @samp{date}, enables strict date ordering in the
+commit log, and when set to @samp{topo} enables strict topological
+ordering.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string defbranch
+The name of the default branch for this repository. If no such branch
+exists in the repository, the first branch name (when sorted) is used as
+default instead. By default branch pointed to by HEAD, or "master" if
+there is no suitable HEAD.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string desc
+The value to show as repository description.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string homepage
+The value to show as repository homepage.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string email-filter
+Override the default @code{email-filter}.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean enable-commit-graph?
+A flag which can be used to disable the global setting
+@code{enable-commit-graph?}.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean enable-log-filecount?
+A flag which can be used to disable the global setting
+@code{enable-log-filecount?}.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean enable-log-linecount?
+A flag which can be used to disable the global setting
+@code{enable-log-linecount?}.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean enable-remote-branches?
+Flag which, when set to @code{#t}, will make cgit display remote
+branches in the summary and refs views.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean enable-subject-links?
+A flag which can be used to override the global setting
+@code{enable-subject-links?}.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean enable-html-serving?
+A flag which can be used to override the global setting
+@code{enable-html-serving?}.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean hide?
+Flag which, when set to @code{#t}, hides the repository from the
+repository index.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-boolean ignore?
+Flag which, when set to @samp{#t}, ignores the repository.
+
+Defaults to @samp{#f}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string logo
+URL which specifies the source of an image which will be used as a logo
+on this repo’s pages.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string logo-link
+URL loaded when clicking on the cgit logo image.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string owner-filter
+Override the default @code{owner-filter}.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string module-link
+Text which will be used as the formatstring for a hyperlink when a
+submodule is printed in a directory listing. The arguments for the
+formatstring are the path and SHA1 of the submodule commit.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} module-link-path module-link-path
+Text which will be used as the formatstring for a hyperlink when a
+submodule with the specified subdirectory path is printed in a directory
+listing.
+
+Defaults to @samp{()}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string max-stats
+Override the default maximum statistics period.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string name
+The value to show as repository name.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string owner
+A value used to identify the owner of the repository.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string path
+An absolute path to the repository directory.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string readme
+A path (relative to repo) which specifies a file to include verbatim as
+the "About" page for this repo.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-string section
+The name of the current repository section - all repositories defined
+after this option will inherit the current section name.
+
+Defaults to @samp{""}.
+
+@end deftypevr
+
+@deftypevr {@code{repository-cgit-configuration} parameter} repo-list extra-options
+Extra options will be appended to cgitrc file.
+
+Defaults to @samp{()}.
+
+@end deftypevr
+
+@end deftypevr
+
+@deftypevr {@code{cgit-configuration} parameter} list extra-options
+Extra options will be appended to cgitrc file.
+
+Defaults to @samp{()}.
+
+@end deftypevr
+
+@c %end of fragment
+
+However, it could be that you just want to get a @code{cgitrc} up and
+running. In that case, you can pass an @code{opaque-cgit-configuration}
+as a record to @code{cgit-service-type}. As its name indicates, an
+opaque configuration does not have easy reflective capabilities.
+
+Available @code{opaque-cgit-configuration} fields are:
+
+@deftypevr {@code{opaque-cgit-configuration} parameter} package cgit
+The cgit package.
+@end deftypevr
+
+@deftypevr {@code{opaque-cgit-configuration} parameter} string string
+The contents of the @code{cgitrc}, as a string.
+@end deftypevr
+
+For example, if your @code{cgitrc} is just the empty string, you
+could instantiate a cgit service like this:
+
+@example
+(service cgit-service-type
+ (opaque-cgit-configuration
+ (cgitrc "")))
+@end example
@node Setuid Programs
@subsection Setuid Programs
@@ -18849,7 +19834,27 @@ root file system as well as an initialization script. The latter is
responsible for mounting the real root file system, and for loading any
kernel modules that may be needed to achieve that.
-The @code{initrd} field of an @code{operating-system} declaration allows
+The @code{initrd-modules} field of an @code{operating-system}
+declaration allows you to specify Linux-libre kernel modules that must
+be available in the initrd. In particular, this is where you would list
+modules needed to actually drive the hard disk where your root partition
+is---although the default value of @code{initrd-modules} should cover
+most use cases. For example, assuming you need the @code{megaraid_sas}
+module in addition to the default modules to be able to access your root
+file system, you would write:
+
+@example
+(operating-system
+ ;; @dots{}
+ (initrd-modules (cons "megaraid_sas" %base-initrd-modules)))
+@end example
+
+@defvr {Scheme Variable} %base-initrd-modules
+This is the list of kernel modules included in the initrd by default.
+@end defvr
+
+Furthermore, if you need lower-level customization, the @code{initrd}
+field of an @code{operating-system} declaration allows
you to specify which initrd you would like to use. The @code{(gnu
system linux-initrd)} module provides three ways to build an initrd: the
high-level @code{base-initrd} procedure and the low-level
@@ -18862,11 +19867,10 @@ system declaration like this:
@example
(initrd (lambda (file-systems . rest)
- ;; Create a standard initrd that has modules "foo.ko"
- ;; and "bar.ko", as well as their dependencies, in
- ;; addition to the modules available by default.
+ ;; Create a standard initrd but set up networking
+ ;; with the parameters QEMU expects by default.
(apply base-initrd file-systems
- #:extra-modules '("foo" "bar")
+ #:qemu-networking? #t
rest)))
@end example
@@ -18950,18 +19954,18 @@ to it are lost.
@deffn {Monadic Procedure} base-initrd @var{file-systems} @
[#:mapped-devices '()] [#:qemu-networking? #f] [#:volatile-root? #f]@
- [#:virtio? #t] [#:extra-modules '()]
-Return a monadic derivation that builds a generic initrd. @var{file-systems} is
-a list of file systems to be mounted by the initrd like for @code{raw-initrd}.
-@var{mapped-devices}, @var{qemu-networking?} and @var{volatile-root?}
-also behaves as in @code{raw-initrd}.
+ [#:linux-modules '()]
+Return a monadic derivation that builds a generic initrd, with kernel
+modules taken from @var{linux}. @var{file-systems} is a list of file-systems to be
+mounted by the initrd, possibly in addition to the root file system specified
+on the kernel command line via @code{--root}. @var{mapped-devices} is a list of device
+mappings to realize before @var{file-systems} are mounted.
-When @var{virtio?} is true, load additional modules so that the
-initrd can be used as a QEMU guest with para-virtualized I/O drivers.
+@var{qemu-networking?} and @var{volatile-root?} behaves as in @code{raw-initrd}.
The initrd is automatically populated with all the kernel modules necessary
-for @var{file-systems} and for the given options. However, additional kernel
-modules can be listed in @var{extra-modules}. They will be added to the initrd, and
+for @var{file-systems} and for the given options. Additional kernel
+modules can be listed in @var{linux-modules}. They will be added to the initrd, and
loaded at boot time in the order in which they appear.
@end deffn
diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm
index 5ca7bf8e38..4fe673cca2 100644
--- a/gnu/build/linux-modules.scm
+++ b/gnu/build/linux-modules.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -19,6 +19,7 @@
(define-module (gnu build linux-modules)
#:use-module (guix elf)
+ #:use-module (guix glob)
#:use-module (guix build syscalls)
#:use-module (rnrs io ports)
#:use-module (rnrs bytevectors)
@@ -26,15 +27,21 @@
#:use-module (srfi srfi-26)
#:use-module (ice-9 vlist)
#:use-module (ice-9 match)
+ #:use-module (ice-9 rdelim)
#:export (dot-ko
ensure-dot-ko
+ module-aliases
module-dependencies
recursive-module-dependencies
modules-loaded
module-loaded?
load-linux-module*
- current-module-debugging-port))
+ current-module-debugging-port
+
+ device-module-aliases
+ known-module-aliases
+ matching-modules))
;;; Commentary:
;;;
@@ -89,6 +96,15 @@ contains module names, not actual file names."
(('depends . what)
(string-tokenize what %not-comma)))))
+(define (module-aliases file)
+ "Return the list of aliases of module FILE."
+ (let ((info (modinfo-section-contents file)))
+ (filter-map (match-lambda
+ (('alias . value)
+ value)
+ (_ #f))
+ (modinfo-section-contents file))))
+
(define dot-ko
(cut string-append <> ".ko"))
@@ -180,10 +196,6 @@ success, false otherwise. When RECURSIVE? is true, load its dependencies
first (à la 'modprobe'.) The actual files containing modules depended on are
obtained by calling LOOKUP-MODULE with the module name. Modules whose name
appears in BLACK-LIST are not loaded."
- (define (slurp module)
- ;; TODO: Use 'finit_module' to reduce memory usage.
- (call-with-input-file file get-bytevector-all))
-
(define (black-listed? module)
(let ((result (member module black-list)))
(when result
@@ -200,17 +212,172 @@ appears in BLACK-LIST are not loaded."
(and (not (black-listed? (file-name->module-name file)))
(or (not recursive?)
(load-dependencies file))
- (begin
+ (let ((fd #f))
(format (current-module-debugging-port)
"loading Linux module from '~a'...~%" file)
(catch 'system-error
(lambda ()
- (load-linux-module (slurp file)))
+ (set! fd (open-fdes file O_RDONLY))
+ (load-linux-module/fd fd)
+ (close-fdes fd)
+ #t)
(lambda args
;; If this module was already loaded and we're in modprobe style, ignore
;; the error.
+ (when fd (close-fdes fd))
(or (and recursive? (= EEXIST (system-error-errno args)))
(apply throw args)))))))
+
+;;;
+;;; Device modules.
+;;;
+
+;; Copied from (guix utils). FIXME: Factorize.
+(define (readlink* file)
+ "Call 'readlink' until the result is not a symlink."
+ (define %max-symlink-depth 50)
+
+ (let loop ((file file)
+ (depth 0))
+ (define (absolute target)
+ (if (absolute-file-name? target)
+ target
+ (string-append (dirname file) "/" target)))
+
+ (if (>= depth %max-symlink-depth)
+ file
+ (call-with-values
+ (lambda ()
+ (catch 'system-error
+ (lambda ()
+ (values #t (readlink file)))
+ (lambda args
+ (let ((errno (system-error-errno args)))
+ (if (or (= errno EINVAL))
+ (values #f file)
+ (apply throw args))))))
+ (lambda (success? target)
+ (if success?
+ (loop (absolute target) (+ depth 1))
+ file))))))
+
+;; See 'major' and 'minor' in <sys/sysmacros.h>.
+
+(define (stat->device-major st)
+ (ash (logand #xfff00 (stat:rdev st)) -8))
+
+(define (stat->device-minor st)
+ (logand #xff (stat:rdev st)))
+
+(define %not-slash
+ (char-set-complement (char-set #\/)))
+
+(define (read-uevent port)
+ "Read a /sys 'uevent' file from PORT and return an alist where each car is a
+key such as 'MAJOR or 'DEVTYPE and each cdr is the corresponding value."
+ (let loop ((result '()))
+ (match (read-line port)
+ ((? eof-object?)
+ (reverse result))
+ (line
+ (loop (cons (key=value->pair line) result))))))
+
+(define (device-module-aliases device)
+ "Return the list of module aliases required by DEVICE, a /dev file name, as
+in this example:
+
+ (device-module-aliases \"/dev/sda\")
+ => (\"scsi:t-0x00\" \"pci:v00008086d00009D03sv0000103Csd000080FAbc01sc06i01\")
+
+The modules corresponding to these aliases can then be found using
+'matching-modules'."
+ ;; The approach is adapted from
+ ;; <https://unix.stackexchange.com/questions/97676/how-to-find-the-driver-module-associated-with-a-device-on-linux>.
+ (let* ((st (stat device))
+ (type (stat:type st))
+ (major (stat->device-major st))
+ (minor (stat->device-minor st))
+ (sys-name (string-append "/sys/dev/"
+ (case type
+ ((block-special) "block")
+ ((char-special) "char")
+ (else (symbol->string type)))
+ "/" (number->string major) ":"
+ (number->string minor)))
+ (directory (canonicalize-path (readlink* sys-name))))
+ (let loop ((components (string-tokenize directory %not-slash))
+ (aliases '()))
+ (match components
+ (("sys" "devices" _)
+ (reverse aliases))
+ ((head ... _)
+ (let ((uevent (string-append (string-join components "/" 'prefix)
+ "/uevent")))
+ (if (file-exists? uevent)
+ (let ((props (call-with-input-file uevent read-uevent)))
+ (match (assq-ref props 'MODALIAS)
+ (#f (loop head aliases))
+ (alias (loop head (cons alias aliases)))))
+ (loop head aliases))))))))
+
+(define (read-module-aliases port)
+ "Read from PORT data in the Linux 'modules.alias' file format. Return a
+list of alias/module pairs where each alias is a glob pattern as like the
+result of:
+
+ (compile-glob-pattern \"scsi:t-0x01*\")
+
+and each module is a module name like \"snd_hda_intel\"."
+ (define (comment? str)
+ (string-prefix? "#" str))
+
+ (define (tokenize str)
+ ;; Lines have the form "alias ALIAS MODULE", where ALIAS can contain
+ ;; whitespace. This is why we don't use 'string-tokenize'.
+ (let* ((str (string-trim-both str))
+ (left (string-index str #\space))
+ (right (string-rindex str #\space)))
+ (list (string-take str left)
+ (string-trim-both (substring str left right))
+ (string-trim-both (string-drop str right)))))
+
+ (let loop ((aliases '()))
+ (match (read-line port)
+ ((? eof-object?)
+ (reverse aliases))
+ ((? comment?)
+ (loop aliases))
+ (line
+ (match (tokenize line)
+ (("alias" alias module)
+ (loop (alist-cons (compile-glob-pattern alias) module
+ aliases)))
+ (() ;empty line
+ (loop aliases)))))))
+
+(define (current-alias-file)
+ "Return the absolute file name of the default 'modules.alias' file."
+ (string-append (or (getenv "LINUX_MODULE_DIRECTORY")
+ "/run/booted-system/kernel/lib/modules")
+ "/" (utsname:release (uname))
+ "/" "modules.alias"))
+
+(define* (known-module-aliases #:optional (alias-file (current-alias-file)))
+ "Return the list of alias/module pairs read from ALIAS-FILE. Each alias is
+actually a pattern."
+ (call-with-input-file alias-file read-module-aliases))
+
+(define* (matching-modules alias
+ #:optional (known-aliases (known-module-aliases)))
+ "Return the list of modules that match ALIAS according to KNOWN-ALIASES.
+ALIAS is a string like \"scsi:t-0x00\" as returned by
+'device-module-aliases'."
+ (filter-map (match-lambda
+ ((pattern . module)
+ (and (glob-match? pattern alias)
+ module)))
+ known-aliases))
+
;;; linux-modules.scm ends here
diff --git a/gnu/local.mk b/gnu/local.mk
index a29a8110ce..d7eda9f811 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -4,10 +4,10 @@
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
-# Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
+# Copyright © 2016, 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
# Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
-# Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
+# Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
# Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
# Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
@@ -50,8 +50,10 @@ GNU_SYSTEM_MODULES = \
%D%/packages/accessibility.scm \
%D%/packages/acct.scm \
%D%/packages/acl.scm \
+ %D%/packages/ada.scm \
%D%/packages/admin.scm \
%D%/packages/adns.scm \
+ %D%/packages/agda.scm \
%D%/packages/algebra.scm \
%D%/packages/aidc.scm \
%D%/packages/android.scm \
@@ -75,6 +77,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/bash.scm \
%D%/packages/bdw-gc.scm \
%D%/packages/benchmark.scm \
+ %D%/packages/bioconductor.scm \
%D%/packages/bioinformatics.scm \
%D%/packages/bittorrent.scm \
%D%/packages/bison.scm \
@@ -118,6 +121,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/datastructures.scm \
%D%/packages/dav.scm \
%D%/packages/dc.scm \
+ %D%/packages/debian.scm \
%D%/packages/debug.scm \
%D%/packages/dejagnu.scm \
%D%/packages/dico.scm \
@@ -279,6 +283,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/marst.scm \
%D%/packages/mate.scm \
%D%/packages/maths.scm \
+ %D%/packages/maven.scm \
%D%/packages/mc.scm \
%D%/packages/mcrypt.scm \
%D%/packages/medical.scm \
@@ -453,6 +458,7 @@ GNU_SYSTEM_MODULES = \
%D%/services/avahi.scm \
%D%/services/base.scm \
%D%/services/certbot.scm \
+ %D%/services/cgit.scm \
%D%/services/configuration.scm \
%D%/services/cuirass.scm \
%D%/services/cups.scm \
@@ -550,6 +556,8 @@ dist_patch_DATA = \
%D%/packages/patches/agg-am_c_prototype.patch \
%D%/packages/patches/ansible-wrap-program-hack.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
+ %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
+ %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
%D%/packages/patches/ao-cad-aarch64-support.patch \
%D%/packages/patches/apr-skip-getservbyname-test.patch \
%D%/packages/patches/aspell-default-dict-dir.patch \
@@ -576,7 +584,7 @@ dist_patch_DATA = \
%D%/packages/patches/cdparanoia-fpic.patch \
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
%D%/packages/patches/ceph-disable-cpu-optimizations.patch \
- %D%/packages/patches/ceph-disable-unittest-throttle.patch \
+ %D%/packages/patches/ceph-rocksdb-compat.patch \
%D%/packages/patches/ceph-skip-collect-sys-info-test.patch \
%D%/packages/patches/ceph-skip-unittest_blockdev.patch \
%D%/packages/patches/chmlib-inttypes.patch \
@@ -608,7 +616,6 @@ dist_patch_DATA = \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-2017-12836.patch \
%D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch \
- %D%/packages/patches/dblatex-remove-multirow.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
@@ -617,7 +624,6 @@ dist_patch_DATA = \
%D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch \
%D%/packages/patches/doc++-include-directives.patch \
%D%/packages/patches/doc++-segfault-fix.patch \
- %D%/packages/patches/dovecot-CVE-2017-15132.patch \
%D%/packages/patches/doxygen-test.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \
%D%/packages/patches/eigen-arm-neon-fixes.patch \
@@ -681,6 +687,7 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-6-source-date-epoch-2.patch \
%D%/packages/patches/gcr-disable-failing-tests.patch \
%D%/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch \
+ %D%/packages/patches/gd-CVE-2018-5711.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-freetype-test-failure.patch \
%D%/packages/patches/gegl-CVE-2012-4433.patch \
@@ -708,6 +715,7 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-CVE-2017-1000366-pt1.patch \
%D%/packages/patches/glibc-CVE-2017-1000366-pt2.patch \
%D%/packages/patches/glibc-CVE-2017-1000366-pt3.patch \
+ %D%/packages/patches/glibc-allow-kernel-2.6.32.patch \
%D%/packages/patches/glibc-bootstrap-system.patch \
%D%/packages/patches/glibc-ldd-x86_64.patch \
%D%/packages/patches/glibc-locales.patch \
@@ -771,10 +779,6 @@ dist_patch_DATA = \
%D%/packages/patches/hwloc-tests-without-sysfs.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
- %D%/packages/patches/icecat-bug-1348660-pt5.patch \
- %D%/packages/patches/icecat-bug-1415133.patch \
- %D%/packages/patches/icecat-bug-1414945.patch \
- %D%/packages/patches/icecat-bug-1424373-pt2.patch \
%D%/packages/patches/icecat-use-system-graphite2.patch \
%D%/packages/patches/icecat-use-system-harfbuzz.patch \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
@@ -782,6 +786,7 @@ dist_patch_DATA = \
%D%/packages/patches/intltool-perl-compatibility.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/jacal-fix-texinfo.patch \
+ %D%/packages/patches/java-jeromq-fix-tests.patch \
%D%/packages/patches/java-powermock-fix-java-files.patch \
%D%/packages/patches/java-xerces-bootclasspath.patch \
%D%/packages/patches/java-xerces-build_dont_unzip.patch \
@@ -877,6 +882,7 @@ dist_patch_DATA = \
%D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \
%D%/packages/patches/llvm-for-extempore.patch \
%D%/packages/patches/lm-sensors-hwmon-attrs.patch \
+ %D%/packages/patches/lrzip-CVE-2017-8842.patch \
%D%/packages/patches/lua-CVE-2014-5461.patch \
%D%/packages/patches/lua-pkgconfig.patch \
%D%/packages/patches/lua51-liblua-so.patch \
@@ -964,7 +970,6 @@ dist_patch_DATA = \
%D%/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch \
%D%/packages/patches/perl-deterministic-ordering.patch \
%D%/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \
- %D%/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch \
%D%/packages/patches/perl-io-socket-ssl-openssl-1.0.2f-fix.patch \
%D%/packages/patches/perl-net-amazon-s3-moose-warning.patch \
%D%/packages/patches/perl-net-dns-resolver-programmable-fix.patch \
@@ -1023,13 +1028,13 @@ dist_patch_DATA = \
%D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
%D%/packages/patches/python-networkx2-reproducible-build.patch \
%D%/packages/patches/python-nose-timer-drop-ordereddict.patch \
- %D%/packages/patches/python-parse-too-many-fields.patch \
%D%/packages/patches/python-pillow-fix-failing-tests.patch \
%D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
%D%/packages/patches/python-statsmodels-fix-tests.patch \
%D%/packages/patches/python-scikit-learn-fix-test-non-determinism.patch \
%D%/packages/patches/python-configobj-setuptools.patch \
%D%/packages/patches/python-faker-fix-build-32bit.patch \
+ %D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-paste-remove-website-test.patch \
%D%/packages/patches/python-paste-remove-timing-test.patch \
%D%/packages/patches/python-pygit2-disable-network-tests.patch \
@@ -1134,6 +1139,7 @@ dist_patch_DATA = \
%D%/packages/patches/vsearch-unbundle-cityhash.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt1.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt2.patch \
+ %D%/packages/patches/wavpack-CVE-2018-6767.patch \
%D%/packages/patches/wavpack-CVE-2018-7253.patch \
%D%/packages/patches/wavpack-CVE-2018-7254.patch \
%D%/packages/patches/weechat-python.patch \
@@ -1152,6 +1158,7 @@ dist_patch_DATA = \
%D%/packages/patches/wpa-supplicant-fix-zeroed-keys.patch \
%D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \
%D%/packages/patches/wpa-supplicant-krack-followups.patch \
+ %D%/packages/patches/wxmaxima-do-not-use-old-gnuplot-parameters.patch \
%D%/packages/patches/xboing-CVE-2004-0149.patch \
%D%/packages/patches/xdotool-fix-makefile.patch \
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
@@ -1168,7 +1175,9 @@ dist_patch_DATA = \
%D%/packages/patches/xinetd-CVE-2013-4342.patch \
%D%/packages/patches/xmodmap-asprintf.patch \
%D%/packages/patches/libyaml-CVE-2014-9130.patch \
- %D%/packages/patches/zathura-plugindir-environment-variable.patch
+ %D%/packages/patches/zathura-plugindir-environment-variable.patch \
+ %D%/packages/patches/zsh-CVE-2018-7548.patch \
+ %D%/packages/patches/zsh-CVE-2018-7549.patch
MISC_DISTRO_FILES = \
%D%/packages/ld-wrapper.in
diff --git a/gnu/packages/abiword.scm b/gnu/packages/abiword.scm
index b00dac9a63..cf906c6ea4 100644
--- a/gnu/packages/abiword.scm
+++ b/gnu/packages/abiword.scm
@@ -82,7 +82,7 @@
;; the tests to pass.
#:tests? #f
#:make-flags
- (list "CXXFLAGS=-std=c++11")))
+ (list "CXXFLAGS=-std=c++11" "gtk_update_icon_cache=true")))
(inputs
`(("boost" ,boost)
("enchant" ,enchant)
diff --git a/gnu/packages/accessibility.scm b/gnu/packages/accessibility.scm
index 2ca4e27f81..f2cbfc480b 100644
--- a/gnu/packages/accessibility.scm
+++ b/gnu/packages/accessibility.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -82,10 +83,11 @@ available to help to click.")
(license license:gpl2+)))
(define-public footswitch
- (let ((commit "7cb0a9333a150c27c7e4746ee827765d244e567a"))
+ (let ((commit "deedd87fd90fad90ce342aeabafd4a3198d7d3d4")
+ (revision "2"))
(package
(name "footswitch")
- (version (git-version "0.1" "1" commit))
+ (version (git-version "0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -93,7 +95,7 @@ available to help to click.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0mg1vr4a9vls5y435w7wdnr1vb5059gy60lvrdfjgzhd2wwf47iw"))))
+ (base32 "1ys90wqyz62kffa8m3hgaq1dl7f29x3mrc3zqfjrkbn2ps0k6ps0"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -109,7 +111,6 @@ available to help to click.")
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out")
"/bin")))
- (mkdir-p bin)
(install-file "footswitch" bin)
#t))))))
(home-page "https://github.com/rgerganov/footswitch")
diff --git a/gnu/packages/ada.scm b/gnu/packages/ada.scm
new file mode 100644
index 0000000000..d6cd1e9787
--- /dev/null
+++ b/gnu/packages/ada.scm
@@ -0,0 +1,61 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages ada)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system python)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages python))
+
+(define-public python2-langkit
+ (let ((commit "fe0bc8bf60dbd2937759810df76ac420d99fc15f")
+ (revision "0"))
+ (package
+ (name "python2-langkit")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/AdaCore/langkit.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "1abqgw2p8pb1pm54my5kkbbixfhc6l0bwajdv1xlzyrh31xki3wx"))
+ (file-name (string-append name "-" version "-checkout"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python2-docutils" ,python2-docutils)
+ ("python2-enum34" ,python2-enum34)
+ ("python2-funcy" ,python2-funcy)
+ ("python2-mako" ,python2-mako)))
+ (arguments
+ `(#:python ,python-2
+ #:tests? #f)) ; Tests would requite gprbuild (Ada).
+ (synopsis "Semantic analysis tool generator in Python")
+ (description "@code{Langkit} is a tool whose purpose is to make it easy
+to create syntactic and semantic analysis engines. Write a language
+specification in our Python DSL and Langkit will generate for you an
+Ada library with bindings for the C and Python programming languages.")
+ (home-page "https://github.com/AdaCore/langkit/")
+ (license license:gpl3+)))) ; and gcc runtime library exception
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index cf9524eb5f..ad31bc498f 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
@@ -75,6 +75,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
+ #:use-module (gnu packages terminals)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages groff)
#:use-module (gnu packages pciutils)
@@ -610,14 +611,14 @@ connection alive.")
bind-release-version)))
(package
(name "isc-dhcp")
- (version "4.3.6")
+ (version "4.3.6-P1")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.isc.org/isc/dhcp/"
version "/dhcp-" version ".tar.gz"))
(sha256
(base32
- "06vgxhm6agzkp6r1jy10467vrfw2rzcp2mnkcph7ydziciisy7m4"))))
+ "1hx3az6ckvgvybr1ag4k9kqr8zfcpzcww4vpw5gz0mi8y2z7gl9g"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f
@@ -1855,7 +1856,7 @@ throughput (in the same interval).")
(define-public thefuck
(package
(name "thefuck")
- (version "3.19")
+ (version "3.25")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/nvbn/thefuck/archive/"
@@ -1863,7 +1864,7 @@ throughput (in the same interval).")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "191zbvkyc02h0wwd46xwj4zzg7jhlr8xv0ji6knqkgjnk0nvqq01"))
+ "088bn2l1376qlndbpnjya4q1x3913nj3yj3wc7s2w3bz66d23skk"))
(patches (search-patches "thefuck-test-environ.patch"))))
(build-system python-build-system)
(arguments
@@ -1881,14 +1882,12 @@ throughput (in the same interval).")
`(("python-colorama" ,python-colorama)
("python-decorator" ,python-decorator)
("python-psutil" ,python-psutil)
+ ("python-pyte" ,python-pyte)
("python-six" ,python-six)))
(native-inputs
`(("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
- ("python-pytest-mock" ,python-pytest-mock)
- ;; Requires setuptools >= 17.1 due to some features used, while our
- ;; python currently only includes 12.0. TODO: Remove this input.
- ("python-setuptools" ,python-setuptools)))
+ ("python-pytest-mock" ,python-pytest-mock)))
(home-page "https://github.com/nvbn/thefuck")
(synopsis "Correct mistyped console command")
(description
@@ -1993,12 +1992,10 @@ shortcut syntax and completion options.")
(home-page "https://github.com/TrilbyWhite/interrobang")
(license license:gpl3+))))
-
-
(define-public pam-krb5
(package
(name "pam-krb5")
- (version "4.7")
+ (version "4.8")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2006,7 +2003,7 @@ shortcut syntax and completion options.")
version ".tar.xz"))
(sha256
(base32
- "0abf8cfpkprmhw5ca8iyqgrggh65lgqvmfllc1y6qz7zw1gas894"))))
+ "1qjp8i1s9bz7g6kiqrkzzkxn5pfspa4sy53b6z40fqmdf9przdfb"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -2032,8 +2029,8 @@ It supports ticket refreshing by screen savers, configurable
authorization handling, authentication of non-local accounts for network
services, password changing, and password expiration, as well as all the
standard expected PAM features. It works correctly with OpenSSH, even
-with ChallengeResponseAuthentication and PrivilegeSeparation enabled,
-and supports extensive configuration either by PAM options or in
+with @code{ChallengeResponseAuthentication} and @code{PrivilegeSeparation}
+enabled, and supports extensive configuration either by PAM options or in
krb5.conf or both. PKINIT is supported with recent versions of both MIT
Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
(home-page "http://www.eyrie.org/~eagle/software/pam-krb5")
@@ -2043,8 +2040,6 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
;; clause requiring us to give all recipients a copy.
(license license:gpl1+)))
-;;http://archives.eyrie.org/software/kerberos/pam-krb5-4.7.tar.xz
-
(define-public sunxi-tools
(package
(name "sunxi-tools")
@@ -2067,7 +2062,8 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"
#:xbinutils (cross-binutils "arm-linux-gnueabihf")
#:libc (cross-libc "arm-linux-gnueabihf")))
- ("cross-libc" ,(cross-libc "arm-linux-gnueabihf"))))
+ ("cross-libc" ,(cross-libc "arm-linux-gnueabihf")) ; header files
+ ("cross-libc-static" ,(cross-libc "arm-linux-gnueabihf") "static")))
(inputs
`(("libusb" ,libusb)))
(build-system gnu-build-system)
@@ -2085,25 +2081,34 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
(lambda* (#:key make-flags #:allow-other-keys)
(define (cross? x)
(string-contains x "cross-arm-linux"))
+ (define (filter-environment! filter-predicate
+ environment-variable-names)
+ (for-each
+ (lambda (env-name)
+ (let* ((env-value (getenv env-name))
+ (search-path (search-path-as-string->list env-value))
+ (new-search-path (filter filter-predicate
+ search-path))
+ (new-env-value (list->search-path-as-string
+ new-search-path ":")))
+ (setenv env-name new-env-value)))
+ environment-variable-names))
(setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
(setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH"))
(setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
- (for-each
- (lambda (env-name)
- (let* ((env-value (getenv env-name))
- (search-path (search-path-as-string->list env-value))
- (new-search-path (filter (lambda (e) (not (cross? e)))
- search-path))
- (new-env-value (list->search-path-as-string
- new-search-path ":")))
- (setenv env-name new-env-value)))
- '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH" "LIBRARY_PATH"))
+ (filter-environment! cross?
+ '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH"
+ "CROSS_LIBRARY_PATH"))
+ (filter-environment! (lambda (e) (not (cross? e)))
+ '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"
+ "LIBRARY_PATH"))
#t))
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* "make" "tools" "misc" make-flags))))
(add-after 'build 'build-armhf
(lambda* (#:key make-flags #:allow-other-keys)
+ (setenv "LIBRARY_PATH" #f)
(zero? (apply system* "make" "target-tools" make-flags))))
(replace 'install
(lambda* (#:key make-flags #:allow-other-keys)
@@ -2373,7 +2378,7 @@ make it a perfect utility on modern distros.")
(define-public thermald
(package
(name "thermald")
- (version "1.6")
+ (version "1.7.1")
(source
(origin
(method url-fetch)
@@ -2381,7 +2386,7 @@ make it a perfect utility on modern distros.")
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256 (base32
- "14klz9fnvi9jdlaqwrp61xa5nh051n8ykrs1fh1wxd7j66qf2fn6"))))
+ "0isgmav3z3nb5bsdya8m3haqhzj1lyfjx7i812cqfjrh2a9msin4"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -2389,6 +2394,7 @@ make it a perfect utility on modern distros.")
'unpack 'autogen.sh-and-fix-paths
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
+ ;; XXX this can probably be removed after version 1.7.1.
;; upstartconfir is hardcoded to /etc/init and the build
;; system tries to mkdir that. We don't even need upstart
;; files at all; this is a fast and kludgy workaround
@@ -2397,7 +2403,8 @@ make it a perfect utility on modern distros.")
(string-append "upstartconfdir = "
out "/etc/init")))
;; Now run autogen
- (zero? (system* "sh" "autogen.sh"))))))
+ (invoke "sh" "autogen.sh")
+ #t))))
#:configure-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "--sysconfdir="
@@ -2426,23 +2433,26 @@ on systems running the Linux kernel.")
(define-public masscan
(package
(name "masscan")
- (version "1.0.4")
+ (version "1.0.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/robertdavidgraham/masscan"
"/archive/" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1y9af345g00z83rliv6bmlqg37xwc7xpnx5xqdgmjikzcxgk9pji"))))
+ "0wxddsgyx27z45906icdhdbfsvfj8ij805208qpqjx46i0lnjs50"))))
(build-system gnu-build-system)
(inputs
`(("libpcap" ,libpcap)))
(arguments
'(#:test-target "regress"
- #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:make-flags
+ (list "CC=gcc"
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
- (delete 'configure) ; There is no ./configure script
+ (delete 'configure) ; no ./configure script
(add-after 'unpack 'patch-path
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -2455,8 +2465,8 @@ on systems running the Linux kernel.")
open ports, and also complete the TCP connection and interact with the remote
application, collecting the information received.")
(home-page "https://github.com/robertdavidgraham/masscan")
- ;; 'src/siphash24.c' is the SipHash reference implementation, which
- ;; bears a CC0 Public Domain Dedication.
+ ;; 'src/siphash24.c' is the SipHash reference implementation, which
+ ;; bears a CC0 Public Domain Dedication.
(license license:agpl3+)))
(define-public hungrycat
diff --git a/gnu/packages/agda.scm b/gnu/packages/agda.scm
new file mode 100644
index 0000000000..6aa230116c
--- /dev/null
+++ b/gnu/packages/agda.scm
@@ -0,0 +1,86 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Alex ter Weele <alex.ter.weele@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages agda)
+ #:use-module (gnu packages haskell)
+ #:use-module (gnu packages haskell-check)
+ #:use-module (gnu packages haskell-web)
+ #:use-module (guix build-system haskell)
+ #:use-module (guix build-system trivial)
+ #:use-module (guix download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages))
+
+(define-public agda
+ (package
+ (name "agda")
+ (version "2.5.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/Agda/Agda-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0r80vw7vnvbgq47y50v050malv7zvv2p2kg6f47i04r0b2ix855a"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("cpphs" ,cpphs)
+ ("ghc-alex" ,ghc-alex)
+ ("ghc-async" ,ghc-async)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-boxes" ,ghc-boxes)
+ ("ghc-data-hash" ,ghc-data-hash)
+ ("ghc-edisoncore" ,ghc-edisoncore)
+ ("ghc-edit-distance" ,ghc-edit-distance)
+ ("ghc-equivalence" ,ghc-equivalence)
+ ("ghc-geniplate-mirror" ,ghc-geniplate-mirror)
+ ("ghc-gitrev" ,ghc-gitrev)
+ ("ghc-happy" ,ghc-happy)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-hashtables" ,ghc-hashtables)
+ ("ghc-ieee754" ,ghc-ieee754)
+ ("ghc-monadplus" ,ghc-monadplus)
+ ("ghc-mtl" ,ghc-mtl)
+ ("ghc-murmur-hash" ,ghc-murmur-hash)
+ ("ghc-uri-encode" ,ghc-uri-encode)
+ ("ghc-parallel" ,ghc-parallel)
+ ("ghc-regex-tdfa" ,ghc-regex-tdfa)
+ ("ghc-stm" ,ghc-stm)
+ ("ghc-strict" ,ghc-strict)
+ ("ghc-text" ,ghc-text)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-zlib" ,ghc-zlib)))
+ (home-page "http://wiki.portal.chalmers.se/agda/")
+ (synopsis
+ "Dependently typed functional programming language and proof assistant")
+ (description
+ "Agda is a dependently typed functional programming language: it has
+inductive families, which are similar to Haskell's GADTs, but they can be
+indexed by values and not just types. It also has parameterised modules,
+mixfix operators, Unicode characters, and an interactive Emacs interface (the
+type checker can assist in the development of your code). Agda is also a
+proof assistant: it is an interactive system for writing and checking proofs.
+Agda is based on intuitionistic type theory, a foundational system for
+constructive mathematics developed by the Swedish logician Per Martin-Löf. It
+has many similarities with other proof assistants based on dependent types,
+such as Coq, Epigram and NuPRL.")
+ ;; Agda is distributed under the MIT license, and a couple of
+ ;; source files are BSD-3. See LICENSE for details.
+ (license (list license:expat license:bsd-3))))
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 8c42ac31cc..57f273cc7a 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
@@ -35,6 +35,7 @@
#:use-module (gnu packages gl)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages image)
+ #:use-module (gnu packages java)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
@@ -46,9 +47,11 @@
#:use-module (gnu packages texinfo)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xorg)
+ #:use-module (guix build-system ant)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils))
@@ -599,6 +602,104 @@ cosine/ sine transforms or DCT/DST).")
(synopsis "Computing the discrete Fourier transform (AVX2-optimized)")
(supported-systems '("x86_64-linux"))))
+(define-public java-la4j
+ (package
+ (name "java-la4j")
+ (version "0.6.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vkostyukov/la4j.git")
+ (commit version)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1qir8dr978cfvz9k12m2kbdwpyf6cqdf1d0ilb7lnkhbgq5i53w3"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "la4j.jar"
+ #:jdk ,icedtea-8
+ #:test-exclude (list "**/Abstract*.java"
+ "**/MatrixTest.java"
+ "**/DenseMatrixTest.java"
+ "**/SparseMatrixTest.java"
+ "**/VectorTest.java"
+ "**/SparseVectorTest.java"
+ "**/DenseVectorTest.java")))
+ (native-inputs
+ `(("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)))
+ (home-page "http://la4j.org/")
+ (synopsis "Java library that provides Linear Algebra primitives and algorithms")
+ (description "The la4j library is a Java library that provides Linear
+Algebra primitives (matrices and vectors) and algorithms. The key features of
+the la4j library are:
+
+@itemize
+@item No dependencies and tiny size
+@item Fluent object-oriented/functional API
+@item Sparse (CRS, CCS) and dense (1D/2D arrays) matrices
+@item Linear systems solving (Gaussian, Jacobi, Zeidel, Square Root, Sweep and other)
+@item Matrices decomposition (Eigenvalues/Eigenvectors, SVD, QR, LU, Cholesky and other)
+@item MatrixMarket/CSV IO formats support for matrices and vectors
+@end itemize\n")
+ (license license:asl2.0)))
+
+(define-public java-jlargearrays
+ (package
+ (name "java-jlargearrays")
+ (version "1.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://search.maven.org/remotecontent?"
+ "filepath=pl/edu/icm/JLargeArrays/"
+ version "/JLargeArrays-" version
+ "-sources.jar"))
+ (file-name (string-append name "-" version ".jar"))
+ (sha256
+ (base32
+ "0v05iphpxbjnd7f4jf1rlqq3m8hslhcm0imdbsgxr20pi3xkaf2a"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "jlargearrays.jar"
+ #:tests? #f ; tests are not included in the release archive
+ #:jdk ,icedtea-8))
+ (propagated-inputs
+ `(("java-commons-math3" ,java-commons-math3)))
+ (home-page "https://gitlab.com/ICM-VisLab/JLargeArrays")
+ (synopsis "Library of one-dimensional arrays that can store up to 263 elements")
+ (description "JLargeArrays is a Java library of one-dimensional arrays
+that can store up to 263 elements.")
+ (license license:bsd-2)))
+
+(define-public java-jtransforms
+ (package
+ (name "java-jtransforms")
+ (version "3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://search.maven.org/remotecontent?"
+ "filepath=com/github/wendykierp/JTransforms/"
+ version "/JTransforms-" version "-sources.jar"))
+ (sha256
+ (base32
+ "1haw5m8shv5srgcpwkl853dz8bv6h90bzlhcps6mdpb4cixjirsg"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "jtransforms.jar"
+ #:tests? #f ; tests are not included in the release archive
+ #:jdk ,icedtea-8))
+ (propagated-inputs
+ `(("java-commons-math3" ,java-commons-math3)
+ ("java-jlargearrays" ,java-jlargearrays)))
+ (home-page "https://github.com/wendykierp/JTransforms")
+ (synopsis "Multithreaded FFT library written in pure Java")
+ (description "JTransforms is a multithreaded FFT library written in pure
+Java. Currently, four types of transforms are available: @dfn{Discrete
+Fourier Transform} (DFT), @dfn{Discrete Cosine Transform} (DCT), @dfn{Discrete
+Sine Transform} (DST) and @dfn{Discrete Hartley Transform} (DHT).")
+ (license license:bsd-2)))
+
(define-public eigen
(package
(name "eigen")
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index 952d3bab0d..b56a081984 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -200,6 +200,7 @@ contains the graphical user interface for synfig.")
(uri (git-reference
(url "https://github.com/LostMoho/Papagayo.git")
(commit commit)))
+ (file-name (git-file-name name version))
(sha256
(base32
"1p9gffjhbph34jhrvgpg93yha75bf88vkvlnk06x1r9601ph5321"))
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index d5c45e9479..eb7b79ee7a 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1030,7 +1030,7 @@ follower.")
(define-public fluidsynth
(package
(name "fluidsynth")
- (version "1.1.9")
+ (version "1.1.10")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1039,14 +1039,15 @@ follower.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "0krvmb1idnf95l2ydzfcb08ayyx3n4m71hf9fgwv3srzaikvpf3q"))))
+ "04jlgq1d1hd8r9cnmkl3lgf1fgm7kgy4hh9nfddap41fm1wp121p"))))
(build-system cmake-build-system)
(arguments
- '(#:tests? #f ; no check phase
+ '(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-libdir
(lambda _
+ ;; Install libraries to /lib, not /lib64.
(substitute* "CMakeLists.txt"
(("LIB_SUFFIX \\$\\{_init_lib_suffix\\}")
"LIB_SUFFIX \"\""))
@@ -1154,6 +1155,7 @@ PS, and DAB+.")
(string-map (lambda (c)
(if (char=? c #\.) #\- c))
version)))))
+ (file-name (string-append "faust-" version "-checkout"))
(sha256
(base32
"06km0ygwxxwgw1lqldccqidxhmjfz8ck0wnbd95qk5sg8sbpc068"))))
@@ -1627,14 +1629,14 @@ essential distortions.")
(define-public liblo
(package
(name "liblo")
- (version "0.28")
+ (version "0.29")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/liblo/liblo/" version
"/liblo-" version ".tar.gz"))
(sha256
(base32
- "02drgnpirvl2ihvzgsmn02agr5sj3vipzzw9vma56qlkgfvak56s"))))
+ "0sn0ckc1d0845mhsaa62wf7f9v0c0ykiq796a30ja5096kib9qdc"))))
(build-system gnu-build-system)
(arguments
`(;; liblo test FAILED
@@ -1644,7 +1646,7 @@ essential distortions.")
(synopsis "Implementation of the Open Sound Control protocol")
(description
"liblo is a lightweight library that provides an easy to use
-implementation of the Open Sound Control (OSC) protocol.")
+implementation of the Open Sound Control (@dfn{OSC}) protocol.")
(license license:lgpl2.1+)))
(define-public python-pyaudio
@@ -1782,6 +1784,7 @@ software.")
(uri (git-reference
(url "http://lv2plug.in/git/lv2.git")
(commit commit)))
+ (file-name (git-file-name name version))
(sha256
(base32
"1gp2rd99dfmpibvpixrqn115mrhybzf3if3h8bssf6siyi13f29r")))))))
@@ -1795,6 +1798,7 @@ software.")
(uri (git-reference
(url "http://git.elephly.net/software/lv2-mdametapiano.git")
(commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
"07lywf6lpfpndg3i9w752mmlg2hgn1bwp23h8b0mdj6awh67abqd"))))
@@ -2023,6 +2027,7 @@ into various outputs and to start, stop and configure jackd")
(uri (git-reference
(url "https://github.com/orouits/qjackrcd.git")
(commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
"1l5iq2mkqd4gn9yr8xbh9qlpp1clcflazychl4vhdbz0bzq4c6al"))))
@@ -2102,6 +2107,7 @@ aimed at audio/musical applications.")
(string-append "https://bitbucket.org/breakfastquay/rubberband/get/v"
version
".tar.bz2"))
+ (file-name (string-append name "-" version ".tar.bz2"))
(sha256
(base32
"05amrbrxx0da3w7m237q51799r8xgs4ffqabi2qv06hq8dpcj386"))))
@@ -2377,7 +2383,8 @@ stretching and pitch scaling of audio. This package contains the library.")
(method url-fetch)
(uri (string-append "http://www.wavpack.com/"
name "-" version ".tar.bz2"))
- (patches (search-patches "wavpack-CVE-2018-7253.patch"
+ (patches (search-patches "wavpack-CVE-2018-6767.patch"
+ "wavpack-CVE-2018-7253.patch"
"wavpack-CVE-2018-7254.patch"))
(sha256
(base32
@@ -2530,7 +2537,7 @@ can play and record audio files.")
(define-public soxr
(package
(name "soxr")
- (version "0.1.2")
+ (version "0.1.3")
(source
(origin
(method url-fetch)
@@ -2538,7 +2545,7 @@ can play and record audio files.")
(string-append "mirror://sourceforge/soxr/soxr-" version
"-Source.tar.xz"))
(sha256
- (base32 "0xf2w3piwz9gfr1xqyrj4k685q5dy53kq3igv663i4f4y4sg9rjl"))))
+ (base32 "12aql6svkplxq5fjycar18863hcq84c5kx8g6f4rj0lcvigw24di"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ;no 'check' target
(home-page "https://sourceforge.net/p/soxr/wiki/Home/")
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index fa291c556a..b7df530088 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2015, 2017 Mark H Weaver <mhw@netris.org>
@@ -125,8 +125,8 @@ know anything about Autoconf or M4.")
(string-append "--build=" build)))))))))))
-(define* (autoconf-wrapper #:optional (autoconf autoconf))
- "Return an wrapper around AUTOCONF that generates `configure' scripts that
+(define (make-autoconf-wrapper autoconf)
+ "Return a wrapper around AUTOCONF that generates `configure' scripts that
use our own Bash instead of /bin/sh in shebangs. For that reason, it should
only be used internally---users should not end up distributing `configure'
files with a system-specific shebang."
@@ -192,7 +192,13 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
(patch-shebang "configure"))
(exit (status:exit-val result))))
port)))
- (chmod (string-append bin "/autoconf") #o555)))))))
+ (chmod (string-append bin "/autoconf") #o555)))))
+
+ ;; Do not show it in the UI since it's meant for internal use.
+ (properties '((hidden? . #t)))))
+
+(define-public autoconf-wrapper
+ (make-autoconf-wrapper autoconf))
(define-public autoconf-archive
(package
@@ -254,7 +260,7 @@ output is indexed in many ways to simplify browsing.")
(search-patches "automake-skip-amhello-tests.patch"))))
(build-system gnu-build-system)
(native-inputs
- `(("autoconf" ,(autoconf-wrapper))
+ `(("autoconf" ,autoconf-wrapper)
("perl" ,perl)))
(native-search-paths
(list (search-path-specification
@@ -317,6 +323,21 @@ intuitive format and then Automake works with Autoconf to produce a robust
Makefile, simplifying the entire process for the developer.")
(license gpl2+))) ; some files are under GPLv3+
+(define-public automake-1.16
+ ;; Make this the default on the next rebuild cycle.
+ (package
+ (inherit automake)
+ (version "1.16.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/automake/automake-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "08g979ficj18i1w6w5219bgmns7czr03iadf20mk3lrzl8wbn1ax"))
+ (patches
+ (search-patches "automake-skip-amhello-tests.patch"))))))
+
(define-public libtool
(package
(name "libtool")
@@ -335,7 +356,7 @@ Makefile, simplifying the entire process for the developer.")
("perl" ,perl)
("help2man" ,help2man) ;because we modify ltmain.sh
("automake" ,automake) ;some tests rely on 'aclocal'
- ("autoconf" ,(autoconf-wrapper)))) ;others on 'autom4te'
+ ("autoconf" ,autoconf-wrapper))) ;others on 'autom4te'
(arguments
`(;; Libltdl is provided as a separate package, so don't install it here.
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 6e7bcc1479..5487157c86 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -544,7 +544,10 @@ detection, and lossless compression.")
("lz4" ,lz4)
("openssl" ,openssl)
("python-llfuse" ,python-llfuse)
- ("python-msgpack" ,python-msgpack)
+ ;; The Python msgpack library changed its name so Borg requires this
+ ;; transitional package for now:
+ ;; <https://bugs.gnu.org/30662>
+ ("python-msgpack" ,python-msgpack-transitional)
("zstd" ,zstd)))
(synopsis "Deduplicated, encrypted, authenticated and compressed backups")
(description "Borg is a deduplicating backup program. Optionally, it
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 2a50080599..f630ccec2b 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -543,6 +544,7 @@ store.")
;; Note: Always use a dot after the minor version since various places rely
;; on "version-major+minor" to determine where locales are found.
(version "2.26.105-g0890d5379c")
+ (replacement glibc-2.26-patched)
(source (origin
(method url-fetch)
(uri (string-append "https://alpha.gnu.org/gnu/guix/mirror/"
@@ -845,6 +847,14 @@ GLIBC/HURD for a Hurd host"
;; Below are old libc versions, which we use mostly to build locale data in
;; the old format (which the new libc cannot cope with.)
+(define glibc-2.26-patched
+ (package
+ (inherit glibc)
+ (source (origin
+ (inherit (package-source glibc))
+ (patches (cons (search-patch "glibc-allow-kernel-2.6.32.patch")
+ (origin-patches (package-source glibc))))))))
+
(define-public glibc-2.25
(package
(inherit glibc)
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
new file mode 100644
index 0000000000..f557dce8e5
--- /dev/null
+++ b/gnu/packages/bioconductor.scm
@@ -0,0 +1,42 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages bioconductor)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system r)
+ #:use-module (gnu packages))
+
+(define-public r-hpar
+ (package
+ (name "r-hpar")
+ (version "1.20.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "hpar" version))
+ (sha256
+ (base32
+ "0s5v79mgxdx862v1jrdf5pdap81nz5vjx25ni8s3sl97ldckf6j8"))))
+ (build-system r-build-system)
+ (home-page "https://bioconductor.org/packages/hpar/")
+ (synopsis "Human Protein Atlas in R")
+ (description "This package provides a simple interface to and data from
+the Human Protein Atlas project.")
+ (license license:artistic2.0)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index b758c72dec..d0873c9676 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -110,32 +110,6 @@
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
-(define-public r-ape
- (package
- (name "r-ape")
- (version "5.0")
- (source
- (origin
- (method url-fetch)
- (uri (cran-uri "ape" version))
- (sha256
- (base32
- "0q59pmxawz498cb9mv5m49lhiwxib8ak94yyydz7qg8b6lpd4bn3"))))
- (build-system r-build-system)
- (propagated-inputs
- `(("r-lattice" ,r-lattice)
- ("r-nlme" ,r-nlme)
- ("r-rcpp" ,r-rcpp)))
- (home-page "http://ape-package.ird.fr/")
- (synopsis "Analyses of phylogenetics and evolution")
- (description
- "This package provides functions for reading, writing, plotting, and
-manipulating phylogenetic trees, analyses of comparative data in a
-phylogenetic framework, ancestral character analyses, analyses of
-diversification and macroevolution, computing distances from DNA sequences,
-and several other tools.")
- (license license:gpl2+)))
-
(define-public aragorn
(package
(name "aragorn")
@@ -1854,38 +1828,22 @@ file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.")
(define-public cutadapt
(package
(name "cutadapt")
- (version "1.14")
+ (version "1.16")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/marcelm/cutadapt/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/marcelm/cutadapt.git")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "16gbpiwy4m48vq2h5wqar3i8vr6vcj9gcl2qvqim19x6ya9dp8kd"))))
+ "09pr02067jiks19nc0aby4xp70hhgvb554i2y1c04rv1m401w7q8"))))
(build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; The tests must be run after installation.
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (setenv "PYTHONPATH"
- (string-append
- (getenv "PYTHONPATH")
- ":" (assoc-ref outputs "out")
- "/lib/python"
- (string-take (string-take-right
- (assoc-ref inputs "python") 5) 3)
- "/site-packages"))
- (zero? (system* "nosetests" "-P" "tests")))))))
(inputs
`(("python-xopen" ,python-xopen)))
(native-inputs
`(("python-cython" ,python-cython)
- ("python-nose" ,python-nose)))
+ ("python-pytest" ,python-pytest)))
(home-page "https://cutadapt.readthedocs.io/en/stable/")
(synopsis "Remove adapter sequences from nucleotide sequencing reads")
(description
@@ -3019,6 +2977,76 @@ sequencing (HTS) data. There are also an number of useful utilities for
manipulating HTS data.")
(license license:expat)))
+(define-public java-htsjdk-latest
+ (package
+ (name "java-htsjdk")
+ (version "2.14.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/samtools/htsjdk.git")
+ (commit version)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1lmya1fdjy03mz6zmdmd86j9v9vfhqb3952mqq075navx1i6g4bc"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; test require Scala
+ #:jdk ,icedtea-8
+ #:jar-name "htsjdk.jar"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-useless-build.xml
+ (lambda _ (delete-file "build.xml") #t))
+ ;; The tests require the scalatest package.
+ (add-after 'unpack 'remove-tests
+ (lambda _ (delete-file-recursively "src/test") #t)))))
+ (inputs
+ `(("java-ngs" ,java-ngs)
+ ("java-snappy-1" ,java-snappy-1)
+ ("java-commons-compress" ,java-commons-compress)
+ ("java-commons-logging-minimal" ,java-commons-logging-minimal)
+ ("java-commons-jexl-2" ,java-commons-jexl-2)
+ ("java-xz" ,java-xz)))
+ (native-inputs
+ `(("java-junit" ,java-junit)))
+ (home-page "http://samtools.github.io/htsjdk/")
+ (synopsis "Java API for high-throughput sequencing data (HTS) formats")
+ (description
+ "HTSJDK is an implementation of a unified Java library for accessing
+common file formats, such as SAM and VCF, used for high-throughput
+sequencing (HTS) data. There are also an number of useful utilities for
+manipulating HTS data.")
+ (license license:expat)))
+
+;; This is needed for picard 2.10.3
+(define-public java-htsjdk-2.10.1
+ (package (inherit java-htsjdk-latest)
+ (name "java-htsjdk")
+ (version "2.10.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/samtools/htsjdk.git")
+ (commit version)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1kxh7slm2pm3x9p6jxa1wqsq9a31dhiiflhxnxqcisan4k3rwia2"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; tests require Scala
+ #:jdk ,icedtea-8
+ #:jar-name "htsjdk.jar"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-useless-build.xml
+ (lambda _ (delete-file "build.xml") #t))
+ ;; The tests require the scalatest package.
+ (add-after 'unpack 'remove-tests
+ (lambda _ (delete-file-recursively "src/test") #t)))))))
+
;; This version matches java-htsjdk 2.3.0. Later versions also require a more
;; recent version of java-htsjdk, which depends on gradle.
(define-public java-picard
@@ -3097,6 +3125,90 @@ commonly used for high-throughput sequencing data such as SAM, BAM, CRAM and
VCF.")
(license license:expat)))
+;; This is needed for dropseq-tools
+(define-public java-picard-2.10.3
+ (package
+ (name "java-picard")
+ (version "2.10.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/broadinstitute/picard.git")
+ (commit version)))
+ (file-name (string-append "java-picard-" version "-checkout"))
+ (sha256
+ (base32
+ "1ajlx31l6i1k3y2rhnmgq07sz99g2czqfqgkr9mihmdjp3gwjhvi"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "picard.jar"
+ ;; Tests require jacoco:coverage.
+ #:tests? #f
+ #:jdk ,icedtea-8
+ #:main-class "picard.cmdline.PicardCommandLine"
+ #:modules ((guix build ant-build-system)
+ (guix build utils)
+ (guix build java-utils)
+ (sxml simple)
+ (sxml transform)
+ (sxml xpath))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-useless-build.xml
+ (lambda _ (delete-file "build.xml") #t))
+ ;; This is necessary to ensure that htsjdk is found when using
+ ;; picard.jar as an executable.
+ (add-before 'build 'edit-classpath-in-manifest
+ (lambda* (#:key inputs #:allow-other-keys)
+ (chmod "build.xml" #o664)
+ (call-with-output-file "build.xml.new"
+ (lambda (port)
+ (sxml->xml
+ (pre-post-order
+ (with-input-from-file "build.xml"
+ (lambda _ (xml->sxml #:trim-whitespace? #t)))
+ `((target . ,(lambda (tag . kids)
+ (let ((name ((sxpath '(name *text*))
+ (car kids)))
+ ;; FIXME: We're breaking the line
+ ;; early with a dummy path to
+ ;; ensure that the store reference
+ ;; isn't broken apart and can still
+ ;; be found by the reference
+ ;; scanner.
+ (msg (format #f
+ "\
+Class-Path: /~a \
+ ~a/share/java/htsjdk.jar${line.separator}"
+ ;; maximum line length is 70
+ (string-tabulate (const #\b) 57)
+ (assoc-ref inputs "java-htsjdk"))))
+ (if (member "manifest" name)
+ `(,tag ,@kids
+ (echo
+ (@ (message ,msg)
+ (file "${manifest.file}")
+ (append "true"))))
+ `(,tag ,@kids)))))
+ (*default* . ,(lambda (tag . kids) `(,tag ,@kids)))
+ (*text* . ,(lambda (_ txt) txt))))
+ port)))
+ (rename-file "build.xml.new" "build.xml")
+ #t)))))
+ (propagated-inputs
+ `(("java-htsjdk" ,java-htsjdk-2.10.1)))
+ (native-inputs
+ `(("java-testng" ,java-testng)
+ ("java-guava" ,java-guava)))
+ (home-page "http://broadinstitute.github.io/picard/")
+ (synopsis "Tools for manipulating high-throughput sequencing data and formats")
+ (description "Picard is a set of Java command line tools for manipulating
+high-throughput sequencing (HTS) data and formats. Picard is implemented
+using the HTSJDK Java library to support accessing file formats that are
+commonly used for high-throughput sequencing data such as SAM, BAM, CRAM and
+VCF.")
+ (license license:expat)))
+
;; This is the last version of Picard to provide net.sf.samtools
(define-public java-picard-1.113
(package (inherit java-picard)
@@ -3211,10 +3323,89 @@ VCF.")
("jdk" ,icedtea-8 "jdk")
("jdk-src" ,(car (assoc-ref (package-native-inputs icedtea-8) "jdk-drop")))))))
+(define-public fastqc
+ (package
+ (name "fastqc")
+ (version "0.11.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://www.bioinformatics.babraham.ac.uk/"
+ "projects/fastqc/fastqc_v"
+ version "_source.zip"))
+ (sha256
+ (base32
+ "18rrlkhcrxvvvlapch4dpj6xc6mpayzys8qfppybi8jrpgx5cc5f"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; there are no tests
+ #:build-target "build"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-dependencies
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "build.xml"
+ (("jbzip2-0.9.jar")
+ (string-append (assoc-ref inputs "java-jbzip2")
+ "/share/java/jbzip2.jar"))
+ (("sam-1.103.jar")
+ (string-append (assoc-ref inputs "java-picard-1.113")
+ "/share/java/sam-1.112.jar"))
+ (("cisd-jhdf5.jar")
+ (string-append (assoc-ref inputs "java-cisd-jhdf5")
+ "/share/java/sis-jhdf5.jar")))
+ #t))
+ ;; There is no installation target
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (share (string-append out "/share/fastqc/"))
+ (exe (string-append share "/fastqc")))
+ (for-each mkdir-p (list bin share))
+ (copy-recursively "bin" share)
+ (substitute* exe
+ (("my \\$java_bin = 'java';")
+ (string-append "my $java_bin = '"
+ (assoc-ref inputs "java")
+ "/bin/java';")))
+ (chmod exe #o555)
+ (symlink exe (string-append bin "/fastqc"))
+ #t))))))
+ (inputs
+ `(("java" ,icedtea)
+ ("perl" ,perl) ; needed for the wrapper script
+ ("java-cisd-jhdf5" ,java-cisd-jhdf5)
+ ("java-picard-1.113" ,java-picard-1.113)
+ ("java-jbzip2" ,java-jbzip2)))
+ (native-inputs
+ `(("unzip" ,unzip)))
+ (home-page "http://www.bioinformatics.babraham.ac.uk/projects/fastqc/")
+ (synopsis "Quality control tool for high throughput sequence data")
+ (description
+ "FastQC aims to provide a simple way to do some quality control
+checks on raw sequence data coming from high throughput sequencing
+pipelines. It provides a modular set of analyses which you can use to
+give a quick impression of whether your data has any problems of which
+you should be aware before doing any further analysis.
+
+The main functions of FastQC are:
+
+@itemize
+@item Import of data from BAM, SAM or FastQ files (any variant);
+@item Providing a quick overview to tell you in which areas there may
+ be problems;
+@item Summary graphs and tables to quickly assess your data;
+@item Export of results to an HTML based permanent report;
+@item Offline operation to allow automated generation of reports
+ without running the interactive application.
+@end itemize\n")
+ (license license:gpl3+)))
+
(define-public htslib
(package
(name "htslib")
- (version "1.6")
+ (version "1.7")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3222,17 +3413,8 @@ VCF.")
version "/htslib-" version ".tar.bz2"))
(sha256
(base32
- "1jsca3hg4rbr6iqq6imkj4lsvgl8g9768bcmny3hlff2w25vx24m"))))
+ "1il6i2p84b0y9c93dhvzzki1ifw9bvapm2mvpr0xvb2nq8jlwgdy"))))
(build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after
- 'unpack 'patch-tests
- (lambda _
- (substitute* "test/test.pl"
- (("/bin/bash") (which "bash")))
- #t)))))
(inputs
`(("openssl" ,openssl)
("curl" ,curl)
@@ -4629,6 +4811,7 @@ distribution, coverage uniformity, strand specificity, etc.")
(uri (hg-reference
(url "https://bitbucket.org/libsleipnir/sleipnir")
(changeset changeset)))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0qrvilwh18dpbhkf92qvxbmay0j75ra3jg2wrhz67gf538zzphsx"))))
@@ -4687,7 +4870,7 @@ to the user's query of interest.")
(define-public samtools
(package
(name "samtools")
- (version "1.5")
+ (version "1.7")
(source
(origin
(method url-fetch)
@@ -4696,7 +4879,7 @@ to the user's query of interest.")
version "/samtools-" version ".tar.bz2"))
(sha256
(base32
- "1xidmv0jmfy7l0kb32hdnlshcxgzi1hmygvig0cqrq1fhckdlhl5"))))
+ "18acyqysbxpydlc44lqv2hpp57l06bs9a3yqmcvjk8va2xrrdc77"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 ftw)
@@ -6017,14 +6200,14 @@ distribution.")
(define-public r-dexseq
(package
(name "r-dexseq")
- (version "1.24.2")
+ (version "1.24.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DEXSeq" version))
(sha256
(base32
- "18nh8ynxirfwkmc4sawdxgl7w1sl9ny5zpv8zbhv9vi5vgb8pxmj"))))
+ "0xip73hlbr3zry9d7ly9vvvsbb3xjcmfa09lr9fdy528dwjrf084"))))
(properties `((upstream-name . "DEXSeq")))
(build-system r-build-system)
(propagated-inputs
@@ -6200,14 +6383,14 @@ testing and other simple calculations.")
(define-public r-shortread
(package
(name "r-shortread")
- (version "1.36.0")
+ (version "1.36.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ShortRead" version))
(sha256
(base32
- "06mknlsmd4hnaxzdjapgvp2kgdnf9w103y500dsac5jgsz4vwzcz"))))
+ "1cyv47632m9ljkxfsvnvmd19sb607ys5kz8fwh6v39dnw16g0a6m"))))
(properties `((upstream-name . "ShortRead")))
(build-system r-build-system)
(inputs
@@ -6968,13 +7151,13 @@ names in their natural, rather than lexicographic, order.")
(define-public r-edger
(package
(name "r-edger")
- (version "3.20.8")
+ (version "3.20.9")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "edgeR" version))
(sha256
(base32
- "0g7bj6w61blw3m22hw9rc01n554k9qkjizh7njr3j4shmhads58d"))))
+ "0y52snwbz37xzdd7gihdkqczbndlfzmmypv6hri3ymjyfmlx6qaw"))))
(properties `((upstream-name . "edgeR")))
(build-system r-build-system)
(propagated-inputs
@@ -7034,13 +7217,13 @@ coding changes and predict coding outcomes.")
(define-public r-limma
(package
(name "r-limma")
- (version "3.34.8")
+ (version "3.34.9")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "limma" version))
(sha256
(base32
- "0bmxsgz2yll83sd3wbxsrsfd35468igb0d8lldym0d0lqfz906bw"))))
+ "1y2fm61g5i0fn0j3l31xvwh9zww9bpkc4nwzb1d0yv1cag20jkdc"))))
(build-system r-build-system)
(home-page "http://bioinf.wehi.edu.au/limma")
(synopsis "Package for linear models for microarray and RNA-seq data")
@@ -7089,13 +7272,13 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.")
(define-public r-genomicranges
(package
(name "r-genomicranges")
- (version "1.30.2")
+ (version "1.30.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomicRanges" version))
(sha256
(base32
- "0c3r155603vb4zjs3adqa72770bh8karc11y8gl62l1m24jrkbnj"))))
+ "07cszc9ri94nzk4dffwnsj247ih6pchnrzrvnb0q4dkk33gwy8n1"))))
(properties
`((upstream-name . "GenomicRanges")))
(build-system r-build-system)
@@ -7519,13 +7702,13 @@ information about the latest version of the Gene Ontologies.")
(define-public r-topgo
(package
(name "r-topgo")
- (version "2.30.0")
+ (version "2.30.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "topGO" version))
(sha256
(base32
- "1hqffz5qp7glxdvjp37005g8qk5nam3f9wpf6d1wjnzpar04f3dz"))))
+ "1cgz4knxr328xfqlhl6ypxl6x86rfrlqz748kn94ainxjzz55i6x"))))
(properties
`((upstream-name . "topGO")))
(build-system r-build-system)
@@ -8365,14 +8548,14 @@ in SNV base substitution data.")
(define-public r-wgcna
(package
(name "r-wgcna")
- (version "1.62")
+ (version "1.63")
(source
(origin
(method url-fetch)
(uri (cran-uri "WGCNA" version))
(sha256
(base32
- "0c52rp09gqphz6g5x9jzkdcsyvfrknq0dkq9saslgy8q8ap974vx"))))
+ "1225dqm68bynkmklnsxdqdd3zqrpzbvqwyly8ibxmk75z33xz309"))))
(properties `((upstream-name . "WGCNA")))
(build-system r-build-system)
(propagated-inputs
@@ -8542,6 +8725,16 @@ of gene-level counts.")
"src/hdf5source/hdf5small.tgz" "-C" "src/" )
(substitute* "src/hdf5/configure"
(("/bin/mv") "mv"))
+ ;; Remove timestamp and host system information to make
+ ;; the build reproducible.
+ (substitute* "src/hdf5/src/libhdf5.settings.in"
+ (("Configured on: @CONFIG_DATE@")
+ "Configured on: Guix")
+ (("Uname information:.*")
+ "Uname information: Linux\n")
+ ;; Remove unnecessary store reference.
+ (("C Compiler:.*")
+ "C Compiler: GCC\n"))
#t)))))
(propagated-inputs
`(("r-zlibbioc" ,r-zlibbioc)))
@@ -8706,6 +8899,7 @@ intervals (e.g. genes, sequence alignments).")
(uri (git-reference
(url "https://github.com/smithlabcode/piranha.git")
(commit commit)))
+ (file-name (git-file-name name version))
(sha256
(base32
"117dc0zf20c61jam69sk4abl57ah6yi6i7qra7d7y5zrbgk12q5n"))))
@@ -10460,6 +10654,16 @@ block processing.")
(invoke "tar" "xvf" (assoc-ref inputs "hdf5-source"))
(rename-file (string-append "hdf5-" ,(package-version hdf5))
"hdf5")
+ ;; Remove timestamp and host system information to make
+ ;; the build reproducible.
+ (substitute* "hdf5/src/libhdf5.settings.in"
+ (("Configured on: @CONFIG_DATE@")
+ "Configured on: Guix")
+ (("Uname information:.*")
+ "Uname information: Linux\n")
+ ;; Remove unnecessary store reference.
+ (("C Compiler:.*")
+ "C Compiler: GCC\n"))
(rename-file "Makevars.in" "Makevars")
(substitute* "Makevars"
(("HDF5_CXX_LIB=.*")
@@ -10588,14 +10792,14 @@ quality control.")
(define-public r-scran
(package
(name "r-scran")
- (version "1.6.7")
+ (version "1.6.8")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "scran" version))
(sha256
(base32
- "0zfm5i8xrnzb3894xygqd6zkbwaa2x3z74wbxw39fcjhyhxv2hmb"))))
+ "07wniyrh2fhhkz28v0bfgpvpi1hkkn2cvhacrvvvck142j79944x"))))
(build-system r-build-system)
(propagated-inputs
`(("r-beachmat" ,r-beachmat)
@@ -10659,9 +10863,37 @@ are optimized per data type and for subsetted calculations such that both
memory usage and processing time is minimized.")
(license license:expat)))
+(define-public r-phangorn
+ (package
+ (name "r-phangorn")
+ (version "2.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "phangorn" version))
+ (sha256
+ (base32
+ "0xc8k552nxczy19jr0xjjagrzc8x6lafasgk2c099ls8bc1yml1i"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-ape" ,r-ape)
+ ("r-fastmatch" ,r-fastmatch)
+ ("r-igraph" ,r-igraph)
+ ("r-magrittr" ,r-magrittr)
+ ("r-matrix" ,r-matrix)
+ ("r-quadprog" ,r-quadprog)
+ ("r-rcpp" ,r-rcpp)))
+ (home-page "https://github.com/KlausVigo/phangorn")
+ (synopsis "Phylogenetic analysis in R")
+ (description
+ "Phangorn is a package for phylogenetic analysis in R. It supports
+estimation of phylogenetic trees and networks using Maximum Likelihood,
+Maximum Parsimony, distance methods and Hadamard conjugation.")
+ (license license:gpl2+)))
+
(define-public r-dropbead
- (let ((commit "cf0be5ae5302684bd03e78ab65b142900bbbb840")
- (revision "1"))
+ (let ((commit "d746c6f3b32110428ea56d6a0001ce52a251c247")
+ (revision "2"))
(package
(name "r-dropbead")
(version (string-append "0-" revision "." (string-take commit 7)))
@@ -10671,9 +10903,10 @@ memory usage and processing time is minimized.")
(uri (git-reference
(url "https://github.com/rajewsky-lab/dropbead.git")
(commit commit)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1b2lphsc236s1rdzlijxg8yl1jnqpwcvj4x938r89rqpj93jb780"))))
+ "0sbzma49aiiyw8b0jpr7fnhzys9nsqmp4hy4hdz1gzyg1lhnca26"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
@@ -11424,6 +11657,7 @@ dependency like SeqAn.")
(uri (git-reference
(url "https://github.com/y-256/libdivsufsort.git")
(commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
"0fgdz9fzihlvjjrxy01md1bv9vh12rkgkwbm90b1hj5xpbaqp7z2"))))
@@ -11879,3 +12113,738 @@ variable number of row and column annotations. Loom also supports sparse
graphs. This library makes it easy to work with @file{.loom} files for
single-cell RNA-seq data.")
(license license:bsd-3)))
+
+;; We cannot use the latest commit because it requires Java 9.
+(define-public java-forester
+ (let ((commit "86b07efe302d5094b42deed9260f719a4c4ac2e6")
+ (revision "1"))
+ (package
+ (name "java-forester")
+ (version (string-append "0-" revision "." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cmzmasek/forester.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0vxavc1yrf84yrnf20dq26hi0lglidk8d382xrxsy4qmlbjd276z"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Delete bundled jars and pre-built classes
+ (delete-file-recursively "forester/java/resources")
+ (delete-file-recursively "forester/java/classes")
+ (for-each delete-file (find-files "forester/java/" "\\.jar$"))
+ ;; Delete bundled applications
+ (delete-file-recursively "forester_applications")
+ #t))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; there are none
+ #:jdk ,icedtea-8
+ #:modules ((guix build ant-build-system)
+ (guix build utils)
+ (guix build java-utils)
+ (sxml simple)
+ (sxml transform))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "forester/java") #t))
+ (add-after 'chdir 'fix-dependencies
+ (lambda _
+ (chmod "build.xml" #o664)
+ (call-with-output-file "build.xml.new"
+ (lambda (port)
+ (sxml->xml
+ (pre-post-order
+ (with-input-from-file "build.xml"
+ (lambda _ (xml->sxml #:trim-whitespace? #t)))
+ `(;; Remove all unjar tags to avoid repacking classes.
+ (unjar . ,(lambda _ '()))
+ (*default* . ,(lambda (tag . kids) `(,tag ,@kids)))
+ (*text* . ,(lambda (_ txt) txt))))
+ port)))
+ (rename-file "build.xml.new" "build.xml")
+ #t))
+ ;; FIXME: itext is difficult to package as it depends on a few
+ ;; unpackaged libraries.
+ (add-after 'chdir 'remove-dependency-on-unpackaged-itext
+ (lambda _
+ (delete-file "src/org/forester/archaeopteryx/PdfExporter.java")
+ (substitute* "src/org/forester/archaeopteryx/MainFrame.java"
+ (("pdf_written_to = PdfExporter.*")
+ "throw new IOException(\"PDF export is not available.\");"))
+ #t))
+ ;; There is no install target
+ (replace 'install (install-jars ".")))))
+ (propagated-inputs
+ `(("java-commons-codec" ,java-commons-codec)
+ ("java-openchart2" ,java-openchart2)))
+ (home-page "https://sites.google.com/site/cmzmasek/home/software/forester")
+ (synopsis "Phylogenomics libraries for Java")
+ (description "Forester is a collection of Java libraries for
+phylogenomics and evolutionary biology research. It includes support for
+reading, writing, and exporting phylogenetic trees.")
+ (license license:lgpl2.1+))))
+
+(define-public java-forester-1.005
+ (package
+ (name "java-forester")
+ (version "1.005")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://search.maven.org/remotecontent?"
+ "filepath=org/biojava/thirdparty/forester/"
+ version "/forester-" version "-sources.jar"))
+ (file-name (string-append name "-" version ".jar"))
+ (sha256
+ (base32
+ "04r8qv4rk3p71z4ajrvp11py1z46qrx0047j3zzs79s6lnsm3lcv"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; there are none
+ #:jdk ,icedtea-8
+ #:modules ((guix build ant-build-system)
+ (guix build utils)
+ (guix build java-utils)
+ (sxml simple)
+ (sxml transform))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-dependencies
+ (lambda* (#:key inputs #:allow-other-keys)
+ (call-with-output-file "build.xml"
+ (lambda (port)
+ (sxml->xml
+ (pre-post-order
+ (with-input-from-file "src/build.xml"
+ (lambda _ (xml->sxml #:trim-whitespace? #t)))
+ `(;; Remove all unjar tags to avoid repacking classes.
+ (unjar . ,(lambda _ '()))
+ (*default* . ,(lambda (tag . kids) `(,tag ,@kids)))
+ (*text* . ,(lambda (_ txt) txt))))
+ port)))
+ (copy-file (assoc-ref inputs "synth_look_and_feel_1.xml")
+ "synth_look_and_feel_1.xml")
+ (copy-file (assoc-ref inputs "phyloxml.xsd")
+ "phyloxml.xsd")
+ (substitute* "build.xml"
+ (("../resources/synth_laf/synth_look_and_feel_1.xml")
+ "synth_look_and_feel_1.xml")
+ (("../resources/phyloxml_schema/1.10/phyloxml.xsd")
+ "phyloxml.xsd"))
+ #t))
+ ;; FIXME: itext is difficult to package as it depends on a few
+ ;; unpackaged libraries.
+ (add-after 'unpack 'remove-dependency-on-unpackaged-itext
+ (lambda _
+ (delete-file "src/org/forester/archaeopteryx/PdfExporter.java")
+ (substitute* '("src/org/forester/archaeopteryx/MainFrame.java"
+ "src/org/forester/archaeopteryx/MainFrameApplication.java")
+ (("pdf_written_to = PdfExporter.*")
+ "throw new IOException(\"PDF export is not available.\"); /*")
+ ((".getPrintSizeX\\(\\), getOptions\\(\\).getPrintSizeY\\(\\) \\);") "*/")
+ (("getCurrentTreePanel\\(\\).getHeight\\(\\) \\);") "*/"))
+ #t))
+ (add-after 'unpack 'delete-pre-built-classes
+ (lambda _ (delete-file-recursively "src/classes") #t))
+ ;; There is no install target
+ (replace 'install (install-jars ".")))))
+ (propagated-inputs
+ `(("java-commons-codec" ,java-commons-codec)
+ ("java-openchart2" ,java-openchart2)))
+ ;; The source archive does not contain the resources.
+ (native-inputs
+ `(("phyloxml.xsd"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://raw.githubusercontent.com/cmzmasek/forester/"
+ "b61cc2dcede0bede317db362472333115756b8c6/"
+ "forester/resources/phyloxml_schema/1.10/phyloxml.xsd"))
+ (file-name (string-append name "-phyloxml-" version ".xsd"))
+ (sha256
+ (base32
+ "1zxc4m8sn4n389nqdnpxa8d0k17qnr3pm2y5y6g6vh4k0zm52npv"))))
+ ("synth_look_and_feel_1.xml"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://raw.githubusercontent.com/cmzmasek/forester/"
+ "29e04321615da6b35c1e15c60e52caf3f21d8e6a/"
+ "forester/java/classes/resources/synth_look_and_feel_1.xml"))
+ (file-name (string-append name "-synth-look-and-feel-" version ".xml"))
+ (sha256
+ (base32
+ "1gv5602gv4k7y7713y75a4jvj7i9s7nildsbdl7n9q10sc2ikg8h"))))))
+ (home-page "https://sites.google.com/site/cmzmasek/home/software/forester")
+ (synopsis "Phylogenomics libraries for Java")
+ (description "Forester is a collection of Java libraries for
+phylogenomics and evolutionary biology research. It includes support for
+reading, writing, and exporting phylogenetic trees.")
+ (license license:lgpl2.1+)))
+
+(define-public java-biojava-core
+ (package
+ (name "java-biojava-core")
+ (version "4.2.11")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/biojava/biojava")
+ (commit (string-append "biojava-" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1bvryh2bpsvash8ln79cmc9sqm8qw72hz4xzwqxcrjm8ssxszhqk"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jdk ,icedtea-8
+ #:jar-name "biojava-core.jar"
+ #:source-dir "biojava-core/src/main/java/"
+ #:test-dir "biojava-core/src/test"
+ ;; These tests seem to require internet access.
+ #:test-exclude (list "**/SearchIOTest.java"
+ "**/BlastXMLParserTest.java"
+ "**/GenbankCookbookTest.java"
+ "**/GenbankProxySequenceReaderTest.java")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "biojava-core/src/main/resources"
+ "build/classes")
+ #t))
+ (add-before 'check 'copy-test-resources
+ (lambda _
+ (copy-recursively "biojava-core/src/test/resources"
+ "build/test-classes")
+ #t)))))
+ (propagated-inputs
+ `(("java-log4j-api" ,java-log4j-api)
+ ("java-log4j-core" ,java-log4j-core)
+ ("java-slf4j-api" ,java-slf4j-api)
+ ("java-slf4j-simple" ,java-slf4j-simple)))
+ (native-inputs
+ `(("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)))
+ (home-page "http://biojava.org")
+ (synopsis "Core libraries of Java framework for processing biological data")
+ (description "BioJava is a project dedicated to providing a Java framework
+for processing biological data. It provides analytical and statistical
+routines, parsers for common file formats, reference implementations of
+popular algorithms, and allows the manipulation of sequences and 3D
+structures. The goal of the biojava project is to facilitate rapid
+application development for bioinformatics.
+
+This package provides the core libraries.")
+ (license license:lgpl2.1+)))
+
+(define-public java-biojava-phylo
+ (package (inherit java-biojava-core)
+ (name "java-biojava-phylo")
+ (build-system ant-build-system)
+ (arguments
+ `(#:jdk ,icedtea-8
+ #:jar-name "biojava-phylo.jar"
+ #:source-dir "biojava-phylo/src/main/java/"
+ #:test-dir "biojava-phylo/src/test"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "biojava-phylo/src/main/resources"
+ "build/classes")
+ #t))
+ (add-before 'check 'copy-test-resources
+ (lambda _
+ (copy-recursively "biojava-phylo/src/test/resources"
+ "build/test-classes")
+ #t)))))
+ (propagated-inputs
+ `(("java-log4j-api" ,java-log4j-api)
+ ("java-log4j-core" ,java-log4j-core)
+ ("java-slf4j-api" ,java-slf4j-api)
+ ("java-slf4j-simple" ,java-slf4j-simple)
+ ("java-biojava-core" ,java-biojava-core)
+ ("java-forester" ,java-forester)))
+ (native-inputs
+ `(("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)))
+ (home-page "http://biojava.org")
+ (synopsis "Biojava interface to the forester phylogenomics library")
+ (description "The phylo module provides a biojava interface layer to the
+forester phylogenomics library for constructing phylogenetic trees.")))
+
+(define-public java-biojava-alignment
+ (package (inherit java-biojava-core)
+ (name "java-biojava-alignment")
+ (build-system ant-build-system)
+ (arguments
+ `(#:jdk ,icedtea-8
+ #:jar-name "biojava-alignment.jar"
+ #:source-dir "biojava-alignment/src/main/java/"
+ #:test-dir "biojava-alignment/src/test"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "biojava-alignment/src/main/resources"
+ "build/classes")
+ #t))
+ (add-before 'check 'copy-test-resources
+ (lambda _
+ (copy-recursively "biojava-alignment/src/test/resources"
+ "build/test-classes")
+ #t)))))
+ (propagated-inputs
+ `(("java-log4j-api" ,java-log4j-api)
+ ("java-log4j-core" ,java-log4j-core)
+ ("java-slf4j-api" ,java-slf4j-api)
+ ("java-slf4j-simple" ,java-slf4j-simple)
+ ("java-biojava-core" ,java-biojava-core)
+ ("java-biojava-phylo" ,java-biojava-phylo)
+ ("java-forester" ,java-forester)))
+ (native-inputs
+ `(("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)))
+ (home-page "http://biojava.org")
+ (synopsis "Biojava API for genetic sequence alignment")
+ (description "The alignment module of BioJava provides an API that
+contains
+
+@itemize
+@item implementations of dynamic programming algorithms for sequence
+ alignment;
+@item reading and writing of popular alignment file formats;
+@item a single-, or multi- threaded multiple sequence alignment algorithm.
+@end itemize\n")))
+
+(define-public java-biojava-core-4.0
+ (package (inherit java-biojava-core)
+ (name "java-biojava-core")
+ (version "4.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/biojava/biojava")
+ (commit (string-append "biojava-" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "13675f6y9aqi7bi2lk3s1z7a22ynccjiqwa8izh7p97xi9wsfmd8"))))))
+
+(define-public java-biojava-phylo-4.0
+ (package (inherit java-biojava-core-4.0)
+ (name "java-biojava-phylo")
+ (build-system ant-build-system)
+ (arguments
+ `(#:jdk ,icedtea-8
+ #:jar-name "biojava-phylo.jar"
+ #:source-dir "biojava-phylo/src/main/java/"
+ #:test-dir "biojava-phylo/src/test"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "biojava-phylo/src/main/resources"
+ "build/classes")
+ #t))
+ (add-before 'check 'copy-test-resources
+ (lambda _
+ (copy-recursively "biojava-phylo/src/test/resources"
+ "build/test-classes")
+ #t)))))
+ (propagated-inputs
+ `(("java-log4j-api" ,java-log4j-api)
+ ("java-log4j-core" ,java-log4j-core)
+ ("java-slf4j-api" ,java-slf4j-api)
+ ("java-slf4j-simple" ,java-slf4j-simple)
+ ("java-biojava-core" ,java-biojava-core-4.0)
+ ("java-forester" ,java-forester-1.005)))
+ (native-inputs
+ `(("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)))
+ (home-page "http://biojava.org")
+ (synopsis "Biojava interface to the forester phylogenomics library")
+ (description "The phylo module provides a biojava interface layer to the
+forester phylogenomics library for constructing phylogenetic trees.")))
+
+(define-public java-biojava-alignment-4.0
+ (package (inherit java-biojava-core-4.0)
+ (name "java-biojava-alignment")
+ (build-system ant-build-system)
+ (arguments
+ `(#:jdk ,icedtea-8
+ #:jar-name "biojava-alignment.jar"
+ #:source-dir "biojava-alignment/src/main/java/"
+ #:test-dir "biojava-alignment/src/test"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "biojava-alignment/src/main/resources"
+ "build/classes")
+ #t))
+ (add-before 'check 'copy-test-resources
+ (lambda _
+ (copy-recursively "biojava-alignment/src/test/resources"
+ "build/test-classes")
+ #t)))))
+ (propagated-inputs
+ `(("java-log4j-api" ,java-log4j-api)
+ ("java-log4j-core" ,java-log4j-core)
+ ("java-slf4j-api" ,java-slf4j-api)
+ ("java-slf4j-simple" ,java-slf4j-simple)
+ ("java-biojava-core" ,java-biojava-core-4.0)
+ ("java-biojava-phylo" ,java-biojava-phylo-4.0)
+ ("java-forester" ,java-forester-1.005)))
+ (native-inputs
+ `(("java-junit" ,java-junit)
+ ("java-hamcrest-core" ,java-hamcrest-core)))
+ (home-page "http://biojava.org")
+ (synopsis "Biojava API for genetic sequence alignment")
+ (description "The alignment module of BioJava provides an API that
+contains
+
+@itemize
+@item implementations of dynamic programming algorithms for sequence
+ alignment;
+@item reading and writing of popular alignment file formats;
+@item a single-, or multi- threaded multiple sequence alignment algorithm.
+@end itemize\n")))
+
+(define-public dropseq-tools
+ (package
+ (name "dropseq-tools")
+ (version "1.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "http://mccarrolllab.com/download/1276/")
+ (file-name (string-append "dropseq-tools-" version ".zip"))
+ (sha256
+ (base32
+ "0yrffckxqk5l8b5xb6z4laq157zd9mdypr2p4b4vq2bhjzi1sj0s"))
+ ;; Delete bundled libraries
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (for-each delete-file (find-files "jar/lib" "\\.jar$"))
+ (delete-file-recursively "3rdParty")))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; test data are not included
+ #:test-target "test"
+ #:build-target "all"
+ #:source-dir "public/src/"
+ #:jdk ,icedtea-8
+ #:make-flags
+ (list (string-append "-Dpicard.executable.dir="
+ (assoc-ref %build-inputs "java-picard")
+ "/share/java/"))
+ #:modules ((ice-9 match)
+ (srfi srfi-1)
+ (guix build utils)
+ (guix build java-utils)
+ (guix build ant-build-system))
+ #:phases
+ (modify-phases %standard-phases
+ ;; All dependencies must be linked to "lib", because that's where
+ ;; they will be searched for when the Class-Path property of the
+ ;; manifest is computed.
+ (add-after 'unpack 'record-references
+ (lambda* (#:key inputs #:allow-other-keys)
+ (mkdir-p "jar/lib")
+ (let ((dirs (filter-map (match-lambda
+ ((name . dir)
+ (if (and (string-prefix? "java-" name)
+ (not (string=? name "java-testng")))
+ dir #f)))
+ inputs)))
+ (for-each (lambda (jar)
+ (symlink jar (string-append "jar/lib/" (basename jar))))
+ (append-map (lambda (dir) (find-files dir "\\.jar$"))
+ dirs)))
+ #t))
+ ;; There is no installation target
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (share (string-append out "/share/java/"))
+ (lib (string-append share "/lib/"))
+ (scripts (list "BAMTagHistogram"
+ "BAMTagofTagCounts"
+ "BaseDistributionAtReadPosition"
+ "CollapseBarcodesInPlace"
+ "CollapseTagWithContext"
+ "ConvertToRefFlat"
+ "CreateIntervalsFiles"
+ "DetectBeadSynthesisErrors"
+ "DigitalExpression"
+ "Drop-seq_alignment.sh"
+ "FilterBAM"
+ "FilterBAMByTag"
+ "GatherGeneGCLength"
+ "GatherMolecularBarcodeDistributionByGene"
+ "GatherReadQualityMetrics"
+ "PolyATrimmer"
+ "ReduceGTF"
+ "SelectCellsByNumTranscripts"
+ "SingleCellRnaSeqMetricsCollector"
+ "TagBamWithReadSequenceExtended"
+ "TagReadWithGeneExon"
+ "TagReadWithInterval"
+ "TrimStartingSequence"
+ "ValidateReference")))
+ (for-each mkdir-p (list bin share lib))
+ (install-file "dist/dropseq.jar" share)
+ (for-each (lambda (script)
+ (chmod script #o555)
+ (install-file script bin))
+ scripts)
+ (substitute* (map (lambda (script)
+ (string-append bin "/" script))
+ scripts)
+ (("^java") (which "java"))
+ (("jar_deploy_dir=.*")
+ (string-append "jar_deploy_dir=" share "\n"))))
+ #t))
+ ;; FIXME: We do this after stripping jars because we don't want it to
+ ;; copy all these jars and strip them. We only want to install
+ ;; links. Arguably, this is a problem with the ant-build-system.
+ (add-after 'strip-jar-timestamps 'install-links
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share/java/"))
+ (lib (string-append share "/lib/")))
+ (for-each (lambda (jar)
+ (symlink (readlink jar)
+ (string-append lib (basename jar))))
+ (find-files "jar/lib" "\\.jar$")))
+ #t)))))
+ (inputs
+ `(("jdk" ,icedtea-8)
+ ("java-picard" ,java-picard-2.10.3)
+ ("java-log4j-1.2-api" ,java-log4j-1.2-api)
+ ("java-commons-math3" ,java-commons-math3)
+ ("java-commons-jexl2" ,java-commons-jexl-2)
+ ("java-commons-collections4" ,java-commons-collections4)
+ ("java-commons-lang2" ,java-commons-lang)
+ ("java-commons-io" ,java-commons-io)
+ ("java-snappy-1.0.3-rc3" ,java-snappy-1)
+ ("java-guava" ,java-guava)
+ ("java-la4j" ,java-la4j)
+ ("java-biojava-core" ,java-biojava-core-4.0)
+ ("java-biojava-alignment" ,java-biojava-alignment-4.0)
+ ("java-jdistlib" ,java-jdistlib)
+ ("java-simple-xml" ,java-simple-xml)
+ ("java-snakeyaml" ,java-snakeyaml)))
+ (native-inputs
+ `(("unzip" ,unzip)
+ ("java-testng" ,java-testng)))
+ (home-page "http://mccarrolllab.com/dropseq/")
+ (synopsis "Tools for Drop-seq analyses")
+ (description "Drop-seq is a technology to enable biologists to
+analyze RNA expression genome-wide in thousands of individual cells at
+once. This package provides tools to perform Drop-seq analyses.")
+ (license license:expat)))
+
+(define-public pigx-rnaseq
+ (package
+ (name "pigx-rnaseq")
+ (version "0.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/BIMSBbioinfo/pigx_rnaseq/"
+ "releases/download/v" version
+ "/pigx_rnaseq-" version ".tar.gz"))
+ (sha256
+ (base32
+ "168hx2ig3rarphx3l21ay9yyg8ipaakzixnrhpbdi0sknhyvrrk8"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:parallel-tests? #f ; not supported
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-executable
+ ;; Make sure the executable finds all R modules.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/pigx-rnaseq")
+ `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
+ `("PYTHONPATH" ":" = (,(getenv "PYTHONPATH")))))
+ #t)))))
+ (inputs
+ `(("snakemake" ,snakemake)
+ ("fastqc" ,fastqc)
+ ("multiqc" ,multiqc)
+ ("star" ,star)
+ ("trim-galore" ,trim-galore)
+ ("htseq" ,htseq)
+ ("samtools" ,samtools)
+ ("bedtools" ,bedtools)
+ ("r-minimal" ,r-minimal)
+ ("r-rmarkdown" ,r-rmarkdown)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-ggrepel" ,r-ggrepel)
+ ("r-gprofiler" ,r-gprofiler)
+ ("r-deseq2" ,r-deseq2)
+ ("r-dt" ,r-dt)
+ ("r-knitr" ,r-knitr)
+ ("r-pheatmap" ,r-pheatmap)
+ ("r-corrplot" ,r-corrplot)
+ ("r-reshape2" ,r-reshape2)
+ ("r-plotly" ,r-plotly)
+ ("r-scales" ,r-scales)
+ ("r-summarizedexperiment" ,r-summarizedexperiment)
+ ("r-crosstalk" ,r-crosstalk)
+ ("r-tximport" ,r-tximport)
+ ("r-rtracklayer" ,r-rtracklayer)
+ ("r-rjson" ,r-rjson)
+ ("salmon" ,salmon)
+ ("ghc-pandoc" ,ghc-pandoc)
+ ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
+ ("python-wrapper" ,python-wrapper)
+ ("python-pyyaml" ,python-pyyaml)))
+ (home-page "http://bioinformatics.mdc-berlin.de/pigx/")
+ (synopsis "Analysis pipeline for RNA sequencing experiments")
+ (description "PiGX RNAseq is an analysis pipeline for preprocessing and
+reporting for RNA sequencing experiments. It is easy to use and produces high
+quality reports. The inputs are reads files from the sequencing experiment,
+and a configuration file which describes the experiment. In addition to
+quality control of the experiment, the pipeline produces a differential
+expression report comparing samples in an easily configurable manner.")
+ (license license:gpl3+)))
+
+(define-public pigx-chipseq
+ (package
+ (name "pigx-chipseq")
+ (version "0.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/"
+ "releases/download/v" version
+ "/pigx_chipseq-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jliwhifnjgl9x0z730bzpxswi2s84fyg5y8cagbyzpw509452f5"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-executable
+ ;; Make sure the executable finds all R modules.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/pigx-chipseq")
+ `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
+ `("PYTHONPATH" ":" = (,(getenv "PYTHONPATH")))))
+ #t)))))
+ (inputs
+ `(("r-minimal" ,r-minimal)
+ ("r-argparser" ,r-argparser)
+ ("r-chipseq" ,r-chipseq)
+ ("r-data-table" ,r-data-table)
+ ("r-genomation" ,r-genomation)
+ ("r-genomicranges" ,r-genomicranges)
+ ("r-rtracklayer" ,r-rtracklayer)
+ ("r-rcas" ,r-rcas)
+ ("r-stringr" ,r-stringr)
+ ("r-jsonlite" ,r-jsonlite)
+ ("r-heatmaply" ,r-heatmaply)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-plotly" ,r-plotly)
+ ("python-wrapper" ,python-wrapper)
+ ("python-pyyaml" ,python-pyyaml)
+ ("snakemake" ,snakemake)
+ ("macs" ,macs)
+ ("multiqc" ,multiqc)
+ ("perl" ,perl)
+ ("ghc-pandoc" ,ghc-pandoc)
+ ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
+ ("fastqc" ,fastqc)
+ ("bowtie" ,bowtie)
+ ("idr" ,idr)
+ ("snakemake" ,snakemake)
+ ("samtools" ,samtools)
+ ("bedtools" ,bedtools)
+ ("kentutils" ,kentutils)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "http://bioinformatics.mdc-berlin.de/pigx/")
+ (synopsis "Analysis pipeline for ChIP sequencing experiments")
+ (description "PiGX ChIPseq is an analysis pipeline for preprocessing, peak
+calling and reporting for ChIP sequencing experiments. It is easy to use and
+produces high quality reports. The inputs are reads files from the sequencing
+experiment, and a configuration file which describes the experiment. In
+addition to quality control of the experiment, the pipeline enables to set up
+multiple peak calling analysis and allows the generation of a UCSC track hub
+in an easily configurable manner.")
+ (license license:gpl3+)))
+
+(define-public pigx-bsseq
+ (package
+ (name "pigx-bsseq")
+ (version "0.0.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/"
+ "releases/download/v" version
+ "/pigx_bsseq-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1h8ma99vi7hs83nafvjpq8jmaq9977j3n11c4zd95hai0cf7zxmp"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'set-timezone
+ ;; The readr package is picky about timezones.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "TZ" "UTC+1")
+ (setenv "TZDIR"
+ (string-append (assoc-ref inputs "tzdata")
+ "/share/zoneinfo"))
+ #t))
+ (add-after 'install 'wrap-executable
+ ;; Make sure the executable finds all R modules.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/pigx-bsseq")
+ `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
+ `("PYTHONPATH" ":" = (,(getenv "PYTHONPATH")))))
+ #t)))))
+ (native-inputs
+ `(("tzdata" ,tzdata)))
+ (inputs
+ `(("r-minimal" ,r-minimal)
+ ("r-annotationhub" ,r-annotationhub)
+ ("r-dt" ,r-dt)
+ ("r-genomation" ,r-genomation)
+ ("r-methylkit" ,r-methylkit)
+ ("r-rtracklayer" ,r-rtracklayer)
+ ("r-rmarkdown" ,r-rmarkdown)
+ ("r-bookdown" ,r-bookdown)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-ggbio" ,r-ggbio)
+ ("ghc-pandoc" ,ghc-pandoc)
+ ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
+ ("python-wrapper" ,python-wrapper)
+ ("python-pyyaml" ,python-pyyaml)
+ ("snakemake" ,snakemake)
+ ("bismark" ,bismark)
+ ("fastqc" ,fastqc)
+ ("bowtie" ,bowtie)
+ ("trim-galore" ,trim-galore)
+ ("cutadapt" ,cutadapt)
+ ("samtools" ,samtools)))
+ (home-page "http://bioinformatics.mdc-berlin.de/pigx/")
+ (synopsis "Bisulfite sequencing pipeline from fastq to methylation reports")
+ (description "PiGx BSseq is a data processing pipeline for raw fastq read
+data of bisulfite experiments; it produces reports on aggregate methylation
+and coverage and can be used to produce information on differential
+methylation and segmentation.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index bf584fa6c3..69fbc2777a 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -111,6 +111,20 @@ across a broad spectrum of applications.")
(license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences."))))
+(define-public boost-1.66
+ (package
+ (inherit boost)
+ (version "1.66.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/boost/boost/" version "/boost_"
+ (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "1aaw48cmimsskzgiclwn0iifp62a5iw9cbqrhfari876af1828ap"))))))
+
(define-public mdds
(package
(name "mdds")
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 7c0faca9a2..2abb44fdb8 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -90,8 +90,8 @@ makes a few sacrifices to acquire fast full and incremental build times.")
It can compile code written in C, C++, Fortran, Java, Rust, and other
languages. Meson provides features comparable to those of the
Autoconf/Automake/make combo. Build specifications, also known as @dfn{Meson
-files}, are written in a custom domain-specific language (DSL) that resembles
-Python.")
+files}, are written in a custom domain-specific language (@dfn{DSL}) that
+resembles Python.")
(license license:asl2.0)))
(define-public meson-for-build
diff --git a/gnu/packages/calcurse.scm b/gnu/packages/calcurse.scm
index 93eeaf0ee6..8ee5d86e3c 100644
--- a/gnu/packages/calcurse.scm
+++ b/gnu/packages/calcurse.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,7 +30,7 @@
(define-public calcurse
(package
(name "calcurse")
- (version "4.2.2")
+ (version "4.3.0")
(source
(origin
(method url-fetch)
@@ -37,7 +38,7 @@
version ".tar.gz"))
(sha256
(base32
- "0il0y06akdqgy0f9p40m4x6arn66nh7sr1w1i41bszycs7div266"))))
+ "16jzg0nasnxdlz23i121x41pq5kbxmjzk52c5d863rg117fc7v1i"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(native-inputs `(("tzdata" ,tzdata-for-tests)))
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 598b584cb3..672064db12 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;;
;;; This file is part of GNU Guix.
@@ -360,14 +360,15 @@ capacity is user-selectable.")
"0lwc0hn94m9r8fi07sjqz3fr618l6lnw3zsakxw7nlgnxbjsk7pi"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags (list (string-append "XMLTO="
- (assoc-ref %build-inputs "xmlto")
- "/bin/xmlto"
- " --searchpath "
- (assoc-ref %build-inputs "docbook-xsl")
- "/xml/xsl/docbook-xsl-1.79.1/htmlhelp:"
- (assoc-ref %build-inputs "docbook-xml")
- "/xml/dtd/docbook"))
+ `(#:configure-flags
+ (list (string-append "XMLTO="
+ (assoc-ref %build-inputs "xmlto")
+ "/bin/xmlto --searchpath "
+ (assoc-ref %build-inputs "docbook-xsl")
+ "/xml/xsl/docbook-xsl-" ,(package-version docbook-xsl)
+ "/htmlhelp:"
+ (assoc-ref %build-inputs "docbook-xml")
+ "/xml/dtd/docbook"))
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-program
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 8e1eb127b2..73d3efd9e1 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -16,7 +16,7 @@
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
-;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
@@ -202,14 +202,14 @@ multi-paradigm automated test framework for C++ and Objective-C.")
(define-public cmdtest
(package
(name "cmdtest")
- (version "0.29")
+ (version "0.32")
(source (origin
(method url-fetch)
(uri (string-append "http://git.liw.fi/cmdtest/snapshot/"
name "-" version ".tar.gz"))
(sha256
(base32
- "1i6gi4yp4qqx1liax098c7nwdb24pghh11xqlrcs7lnhh079rqhb"))))
+ "1jmfiyrrqmpvwdb273bkb8hjaf4rwx9njblx29pmr7giyahskwi5"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
@@ -271,13 +271,13 @@ format.")
(define-public cppcheck
(package
(name "cppcheck")
- (version "1.81")
+ (version "1.82")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/danmar/cppcheck/archive/"
version ".tar.gz"))
(sha256
- (base32 "0miamqk7pa2dzmnmi5wb6hjp2a3zya1x8afnlcxby8jb6gp6wf8j"))
+ (base32 "0zywpd9hbsx23aj33pk5mbr0fz1ijhqzxlnqgwjfwgg6g2k48i2j"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system)
(home-page "http://cppcheck.sourceforge.net")
@@ -834,146 +834,231 @@ subprocess and see the output as well as any file modifications.")
(define-public python2-scripttest
(package-with-python2 python-scripttest))
-(define-public python-testtools
+(define-public python-testtools-bootstrap
(package
- (name "python-testtools")
- (version "1.4.0")
+ (name "python-testtools-bootstrap")
+ (version "2.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "testtools" version))
(sha256
(base32
- "1vw8yljnd75d396hhw6s2hrf4cclzy845ifd5am0lxsl235z3i8c"))))
+ "0n8519lk8aaa91vymz842831181wf7fss98hyllhygi3z1nfq9sq"))))
(build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-module-imports
- (lambda _
- (substitute* "setup.py"
- (("'unittest2>=0.8.0',") ""))
- (substitute* '("testtools/testcase.py"
- "testtools/testsuite.py"
- "testtools/run.py"
- "testtools/tests/test_run.py"
- "testtools/tests/test_testsuite.py"
- "testtools/tests/test_deferredruntest.py")
- ;; unittest2 is a backport of Python2.7 features to Python 2.4.
- (("import unittest2 as unittest") "import unittest")
- (("import unittest2") "import unittest as unittest2")
- (("from unittest2 import") "from unittest import"))
- (substitute* "testtools/tests/test_testresult.py"
- ;; NUL in source code is not allowed (raises ValueError).
- (("\\x00\\x04") "\\x04"))
- #t)))))
+ (arguments '(#:tests? #f))
(propagated-inputs
- `(("python-mimeparse" ,python-mimeparse)
- ("python-extras" ,python-extras)))
+ `(("python-extras" ,python-extras)
+ ("python-fixtures" ,python-fixtures-bootstrap)
+ ("python-mimeparse" ,python-mimeparse)
+ ("python-pbr" ,python-pbr-minimal)
+ ("python-six" ,python-six)
+ ("python-traceback2" ,python-traceback2)
+ ("python-unittest2" ,python-unittest2)))
(home-page "https://github.com/testing-cabal/testtools")
(synopsis
"Extensions to the Python standard library unit testing framework")
(description
+ "This package is only for bootstrapping. Do not use this.")
+ (license license:psfl)))
+
+(define-public python2-testtools-bootstrap
+ (package-with-python2 python-testtools-bootstrap))
+
+(define-public python-testtools
+ (package
+ (inherit python-testtools-bootstrap)
+ (name "python-testtools")
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "python" "-m" "testtools.run"
+ "testtools.tests.test_suite"))))))
+ (propagated-inputs
+ `(("python-extras" ,python-extras)
+ ("python-fixtures" ,python-fixtures)
+ ("python-mimeparse" ,python-mimeparse)
+ ("python-pbr" ,python-pbr)
+ ("python-six" ,python-six)
+ ("python-traceback2" ,python-traceback2)
+ ("python-unittest2" ,python-unittest2)))
+ (native-inputs
+ `(("python-testscenarios" ,python-testscenarios-bootstrap)))
+ (description
"Testtools extends the Python standard library unit testing framework to
provide matchers, more debugging information, and cross-Python
-compatibility.")
- (license license:psfl)))
+compatibility.")))
(define-public python2-testtools
(package-with-python2 python-testtools))
-(define-public python-testscenarios
+(define-public python-testscenarios-bootstrap
(package
- (name "python-testscenarios")
- (version "0.4")
+ (name "python-testscenarios-bootstrap")
+ (version "0.5.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/t/testscenarios/testscenarios-"
- version ".tar.gz"))
+ (uri (pypi-uri "testscenarios" version))
(sha256
(base32
- "1671jvrvqlmbnc42j7pc5y6vc37q44aiwrq0zic652pxyy2fxvjg"))))
+ "1dm2aydqpv76vnsk1pw7k8n42hq58cfi4n1ixy7nyzpaj1mwnmy2"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "python" "-m" "testtools.run"
+ "testscenarios.test_suite"))))))
(propagated-inputs
- `(("python-testtools" ,python-testtools)))
+ `(("python-pbr" ,python-pbr-minimal)
+ ("python-testtools" ,python-testtools-bootstrap)))
(home-page "https://launchpad.net/testscenarios")
(synopsis "Pyunit extension for dependency injection")
(description
- "Testscenarios provides clean dependency injection for Python unittest
-style tests.")
+ "This package is only for bootstrapping. Don't use this.")
(license (list license:bsd-3 license:asl2.0)))) ; at the user's option
+(define-public python2-testscenarios-bootstrap
+ (package-with-python2 python-testscenarios-bootstrap))
+
+(define-public python-testscenarios
+ (package
+ (inherit python-testscenarios-bootstrap)
+ (name "python-testscenarios")
+ (propagated-inputs
+ `(("python-pbr" ,python-pbr)
+ ("python-testtools" ,python-testtools)))
+ (description
+ "Testscenarios provides clean dependency injection for Python unittest
+style tests.")))
+
(define-public python2-testscenarios
(package-with-python2 python-testscenarios))
-(define-public python-testresources
+;; Testresources requires python-pbr at runtime, but pbr needs it for its
+;; own tests. Hence this bootstrap variant.
+(define-public python-testresources-bootstrap
(package
- (name "python-testresources")
- (version "0.2.7")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/t/testresources/testresources-"
- version ".tar.gz"))
- (sha256
- (base32
- "0cbj3plbllyz42c4b5xxgwaa7mml54lakslrn4kkhinxhdri22md"))))
+ (name "python-testresources-bootstrap")
+ (version "2.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "testresources" version))
+ (sha256
+ (base32
+ "05s4dsli9g17m1r3b1gvwicbbgq011hnpb2b9qnj27ja2n11k7gf"))))
(build-system python-build-system)
+ (arguments '(#:tests? #f))
+ (propagated-inputs
+ `(("python-pbr" ,python-pbr-minimal)))
(home-page "https://launchpad.net/testresources")
(synopsis
"Pyunit extension for managing test resources")
(description
- "Testresources is an extension to Python's unittest to allow declarative
-use of resources by test cases.")
+ "This package is only here for bootstrapping purposes. Use the regular
+testresources package instead.")
(license (list license:bsd-3 license:asl2.0)))) ; at the user's option
+(define-public python2-testresources-bootstrap
+ (package-with-python2 python-testresources-bootstrap))
+
+(define-public python-testresources
+ (package
+ (inherit python-testresources-bootstrap)
+ (name "python-testresources")
+ (propagated-inputs
+ `(("python-pbr" ,python-pbr)))
+ (arguments '())
+ (native-inputs
+ `(("python-fixtures" ,python-fixtures)
+ ("python-testtols" ,python-testtools)))
+ (description
+ "Testresources is an extension to Python's unittest to allow declarative
+use of resources by test cases.")))
+
(define-public python2-testresources
(package-with-python2 python-testresources))
-(define-public python-subunit
+(define-public python-subunit-bootstrap
(package
- (name "python-subunit")
- (version "0.0.21")
+ (name "python-subunit-bootstrap")
+ (version "1.2.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/p/python-subunit/python-subunit-"
- version ".tar.gz"))
+ (uri (pypi-uri "python-subunit" version))
(sha256
(base32
- "1nkw9wfbvizmpajbj3in8ns07g7lwkiv8hip14jjlwk3cacls6jv"))))
+ "1yii2gx3z6323as3iraj1yphj76dy7i3h6kj63pnc5y0hwjs5sgx"))))
(build-system python-build-system)
(propagated-inputs
`(("python-extras" ,python-extras)
- ("python-mimeparse" ,python-mimeparse)))
+ ("python-testtools" ,python-testtools-bootstrap)))
(native-inputs
- `(("python-testscenarios" ,python-testscenarios)))
+ `(("python-fixtures" ,python-fixtures-bootstrap)
+ ("python-hypothesis" ,python-hypothesis)
+ ("python-testscenarios" ,python-testscenarios-bootstrap)))
(home-page "http://launchpad.net/subunit")
(synopsis "Python implementation of the subunit protocol")
(description
- "Python-subunit is a Python implementation of the subunit test streaming
-protocol.")
+ "This package is here for bootstrapping purposes only. Use the regular
+python-subunit package instead.")
(license (list license:bsd-3 license:asl2.0)))) ; at the user's option
+(define-public python2-subunit-bootstrap
+ (package-with-python2 python-subunit-bootstrap))
+
+(define-public python-subunit
+ (package
+ (inherit python-subunit-bootstrap)
+ (name "python-subunit")
+ (propagated-inputs
+ `(("python-extras" ,python-extras)
+ ("python-testtools" ,python-testtools)))
+ (native-inputs
+ `(("python-fixtures" ,python-fixtures)
+ ("python-hypothesis" ,python-hypothesis)
+ ("python-testscenarios" ,python-testscenarios)))
+ (description
+ "Python-subunit is a Python implementation of the subunit test streaming
+protocol.")))
+
(define-public python2-subunit
(package-with-python2 python-subunit))
+;; Fixtures requires python-pbr at runtime, but pbr uses fixtures for its
+;; own tests. Hence this bootstrap variant.
+(define-public python-fixtures-bootstrap
+ (package
+ (name "python-fixtures-bootstrap")
+ (version "3.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "fixtures" version))
+ (sha256
+ (base32
+ "1vxj29bzz3rd4pcy51d05wng9q9dh4jq6wx92yklsm7i6h1ddw7w"))))
+ (build-system python-build-system)
+ (arguments `(#:tests? #f))
+ (propagated-inputs
+ `(("python-pbr-minimal" ,python-pbr-minimal)
+ ("python-six" ,python-six)))
+ (home-page "https://launchpad.net/python-fixtures")
+ (synopsis "Python test fixture library")
+ (description
+ "This package is only used for bootstrapping. Use the regular
+python-fixtures package instead.")
+ (license (list license:bsd-3 license:asl2.0)))) ; at user's option
+
+(define-public python2-fixtures-bootstrap
+ (package-with-python2 python-fixtures-bootstrap))
+
(define-public python-fixtures
(package
+ (inherit python-fixtures-bootstrap)
(name "python-fixtures")
- (version "1.4.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "fixtures" version))
- (sha256
- (base32
- "0djxvdwm8s60dbfn7bhf40x6g818p3b3mlwijm1c3bqg7msn271y"))))
- (build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
@@ -982,25 +1067,23 @@ protocol.")
(zero? (system* "python" "-m" "testtools.run"
"fixtures.test_suite")))))))
(propagated-inputs
- `(("python-six" ,python-six)))
+ ;; Fixtures uses pbr at runtime to check versions, etc.
+ `(("python-pbr" ,python-pbr)
+ ("python-six" ,python-six)))
(native-inputs
`(("python-mock" ,python-mock)
- ("python-pbr-minimal" ,python-pbr-minimal)
- ("python-testtools" ,python-testtools)))
- (home-page "https://launchpad.net/python-fixtures")
- (synopsis "Python test fixture library")
+ ("python-testtools" ,python-testtools-bootstrap)))
(description
"Fixtures provides a way to create reusable state, useful when writing
-Python tests.")
- (license (list license:bsd-3 license:asl2.0)))) ; at user's option
+Python tests.")))
(define-public python2-fixtures
(package-with-python2 python-fixtures))
-(define-public python-testrepository
+(define-public python-testrepository-bootstrap
(package
- (name "python-testrepository")
- (version "0.0.20")
+ (name "python-testrepository-bootstrap")
+ (version "0.0.20")
(source
(origin
(method url-fetch)
@@ -1011,6 +1094,26 @@ Python tests.")
(base32
"1ssqb07c277010i6gzzkbdd46gd9mrj0bi0i8vn560n2k2y4j93m"))))
(build-system python-build-system)
+ (arguments '(#:tests? #f))
+ (propagated-inputs
+ `(("python-fixtures" ,python-fixtures-bootstrap)
+ ("python-subunit" ,python-subunit-bootstrap)
+ ("python-testtools" ,python-testtools-bootstrap)))
+ (native-inputs
+ `(("python-mimeparse" ,python-mimeparse)))
+ (home-page "https://launchpad.net/testrepository")
+ (synopsis "Database for Python test results")
+ (description
+ "Bootstrap package for python-testrepository. Don't use this.")
+ (license (list license:bsd-3 license:asl2.0)))) ; at user's option
+
+(define-public python2-testrepository-bootstrap
+ (package-with-python2 python-testrepository-bootstrap))
+
+(define-public python-testrepository
+ (package
+ (inherit python-testrepository-bootstrap)
+ (name "python-testrepository")
(arguments
;; FIXME: Many tests are failing.
'(#:tests? #f))
@@ -1019,14 +1122,10 @@ Python tests.")
("python-subunit" ,python-subunit)
("python-testtools" ,python-testtools)))
(native-inputs
- `(("python-pbr-minimal" ,python-pbr-minimal) ;; same as for building fixture
- ("python-mimeparse" ,python-mimeparse)))
- (home-page "https://launchpad.net/testrepository")
- (synopsis "Database for Python test results")
+ `(("python-mimeparse" ,python-mimeparse)))
(description "Testrepository provides a database of test results which can
be used as part of a developer's workflow to check things such as what tests
-have failed since the last commit or what tests are currently failing.")
- (license (list license:bsd-3 license:asl2.0)))) ; at user's option
+have failed since the last commit or what tests are currently failing.")))
(define-public python2-testrepository
(package-with-python2 python-testrepository))
@@ -1629,18 +1728,20 @@ backported from Python 2.7 for Python 2.4+.")
(define-public behave
(package
(name "behave")
- (version "1.2.5")
+ (version "1.2.6")
(source (origin
(method url-fetch)
- (uri (pypi-uri "behave" version ".tar.bz2"))
+ (uri (pypi-uri "behave" version))
(sha256
(base32
- "1iypp6z46r19n4xmgx6m1lwmlpfjh8vapq8izigrqlaarvp2y64c"))))
+ "11hsz365qglvpp1m1w16239c3kiw15lw7adha49lqaakm8kj6rmr"))))
(build-system python-build-system)
(native-inputs
`(("python-mock" ,python-mock)
("python-nose" ,python-nose)
- ("python-pyhamcrest" ,python-pyhamcrest)))
+ ("python-pathpy" ,python-pathpy)
+ ("python-pyhamcrest" ,python-pyhamcrest)
+ ("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-six" ,python-six)
("python-parse" ,python-parse)
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index c9048ccb8e..9e5d42952f 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -184,8 +184,8 @@ their dependencies.")
(license l:gpl3+))))
(define-public cuirass
- (let ((commit "4ab2f2c3f084ffd9d0f77134cc1af0f8cf0e13be")
- (revision "12"))
+ (let ((commit "aa4c7784940581b5e271b9c7c4ac80b6ee1ee309")
+ (revision "13"))
(package
(name "cuirass")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@@ -197,7 +197,7 @@ their dependencies.")
(file-name (string-append name "-" version))
(sha256
(base32
- "1r97z5lkzg6vx014rfmv1pp3x3bl1shb6wkcgnlncwqf56a9bzi1"))))
+ "1827vgk47rcgm2x0cxzvg79ni6vazjzr8hr9pljlvbd9awzr7hxp"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index a4e2d38e36..e6c5c4e793 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,6 +31,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages backup)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages file)
#:use-module (gnu packages libevent)
@@ -149,3 +150,59 @@ and workspaces that can be used in the compiler environment of your choice.")
license:bsd-2 ; cmlibarchive
license:expat ; cmjsoncpp is dual MIT/public domain
license:public-domain)))) ; cmlibarchive/archive_getdate.c
+
+;; Recent Ceph requires Boost 1.66, which in turn requires CMake 3.11 for
+;; its updated "FindBoost.cmake" facility.
+(define-public cmake-3.11
+ (package
+ (inherit cmake)
+ (version "3.11.0-rc2")
+ (source (origin
+ (inherit (package-source cmake))
+ (uri (string-append "https://www.cmake.org/files/v"
+ (version-major+minor version)
+ "/cmake-" version ".tar.gz"))
+ (sha256
+ (base32
+ "14p6ais19nfcwl914n4n5rbzaqwafv3qkg6nd8jw54ykn6lz6mf3"))
+ (snippet
+ '(begin
+ ;; Drop bundled software.
+ (with-directory-excursion "Utilities"
+ (for-each delete-file-recursively
+ '("cmbzip2"
+ "cmcurl"
+ "cmexpat"
+ "cmliblzma"
+ "cmzlib"))
+ #t)))))
+ (build-system gnu-build-system)
+ (arguments
+ (substitute-keyword-arguments (package-arguments cmake)
+ ((#:make-flags flags ''()) `(cons (string-append
+ "ARGS=-j "
+ (number->string (parallel-job-count))
+ " --output-on-failure")
+ ,flags))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'patch-bin-sh
+ (lambda _
+ (substitute*
+ '("Modules/CompilerId/Xcode-3.pbxproj.in"
+ "Modules/CPack.RuntimeScript.in"
+ "Source/cmakexbuild.cxx"
+ "Source/cmGlobalXCodeGenerator.cxx"
+ "Source/cmLocalUnixMakefileGenerator3.cxx"
+ "Source/cmExecProgramCommand.cxx"
+ "Utilities/Release/release_cmake.cmake"
+ "Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c"
+ "Tests/CMakeLists.txt"
+ "Tests/RunCMake/File_Generate/RunCMakeTest.cmake")
+ (("/bin/sh") (which "sh")))
+ #t))
+ ;; This is now passed through #:make-flags.
+ (delete 'set-test-environment)))))
+ (inputs
+ `(("rhash" ,rhash)
+ ,@(package-inputs cmake)))))
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 2067067f20..979c7a72b8 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -37,6 +37,7 @@
#:use-module (gnu packages databases)
#:use-module (gnu packages emacs)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages perl)
@@ -139,10 +140,10 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(home-page "https://www.gnu.org/software/global/")
(synopsis "Cross-environment source code tag system")
(description
- "GLOBAL is a source code tagging system that functions in the same way
-across a wide array of environments, such as different text editors, shells
-and web browsers. The resulting tags are useful for quickly moving around in
-a large, deeply nested project.")
+ "GNU GLOBAL is a source code tagging system that functions in the same
+way across a wide array of environments, such as different text editors,
+shells and web browsers. The resulting tags are useful for quickly moving
+around in a large, deeply nested project.")
(license license:gpl3+)))
(define-public sloccount
@@ -204,23 +205,24 @@ COCOMO model or user-provided parameters.")
(define-public cloc
(package
(name "cloc")
- (version "1.74")
+ (version "1.76")
(source
(origin
(method url-fetch)
(uri (string-append
- "https://github.com/AlDanial/cloc/releases/download/" version
+ "https://github.com/AlDanial/cloc/releases/download/v" version
"/cloc-" version ".tar.gz"))
(sha256
(base32
- "0rq5xfiln1wlv3yr9mg18ax4gskbss786iqaf0v45iv6awyl5b2m"))))
+ "05srlvzwisr7y7ymvzb5yfdsrspja27ysqdmkwhiiivy84mq2gnl"))))
(build-system gnu-build-system)
(inputs
`(("coreutils" ,coreutils)
("perl" ,perl)
("perl-algorithm-diff" ,perl-algorithm-diff)
- ("perl-regexp-common" ,perl-regexp-common)
- ("perl-digest-md5" ,perl-digest-md5)))
+ ("perl-digest-md5" ,perl-digest-md5)
+ ("perl-parallel-forkmanager" ,perl-parallel-forkmanager)
+ ("perl-regexp-common" ,perl-regexp-common)))
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure)
@@ -228,13 +230,13 @@ COCOMO model or user-provided parameters.")
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
- (zero?
- (system* "make" "-C" "Unix"
- (string-append "prefix=" out)
- (string-append "INSTALL="
- (assoc-ref inputs "coreutils")
- "/bin/install")
- "install")))))
+ (invoke "make" "-C" "Unix"
+ (string-append "prefix=" out)
+ (string-append "INSTALL="
+ (assoc-ref inputs "coreutils")
+ "/bin/install")
+ "install")
+ #t)))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -496,3 +498,32 @@ importantly we give you proper follow-symbol and find-references support.")
(description "This package provides a wrapper around @command{make} to
produce colored output.")
(license license:gpl2+)))
+
+(define-public makefile2graph
+ (package
+ (name "makefile2graph")
+ (version "1.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/lindenb/" name
+ "/archive/v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0h1vchkpmm9h6s87p5nf0ksjxcmsxpx8k62a508w428n570wcr4l"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:test-target "test"
+ #:make-flags (list "CC=gcc" (string-append "prefix=" %output))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (native-inputs
+ `(("graphviz" ,graphviz)))
+ (home-page "https://github.com/lindenb/makefile2graph")
+ (synopsis "Creates a graph of dependencies from GNU Make")
+ (description
+ "@code{make2graph} creates a graph of dependencies from GNU Make. The
+output is a graphviz-dot file, a Gexf-XML file or a list of the deepest
+independent targets.")
+ (license license:expat)))
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index a475016876..33b957adfe 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -67,6 +67,15 @@
;;; To avoid circular dependencies, this module should not be imported
;;; directly from anywhere.
;;;
+;;; Below, we frequently use "inherit" to create modified packages. The
+;;; reason why we use "inherit" instead of "package/inherit" is because we do
+;;; not want these commencement packages to inherit grafts. By definition,
+;;; these packages are not depended on at run time by any of the packages we
+;;; use. Thus it does not make sense to inherit grafts. Furthermore, those
+;;; grafts would often lead to extra overhead for users who would end up
+;;; downloading those "-boot0" packages just to build package replacements
+;;; that are in fact not going to be used.
+;;;
;;; Code:
(define gnu-make-boot0
@@ -649,27 +658,32 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define glibc-final
;; The final glibc, which embeds the statically-linked Bash built above.
- (package (inherit glibc-final-with-bootstrap-bash)
- (name "glibc")
- (inputs `(("static-bash" ,static-bash-for-glibc)
- ,@(alist-delete
- "static-bash"
- (package-inputs glibc-final-with-bootstrap-bash))))
-
- ;; This time we need 'msgfmt' to install all the libc.mo files.
- (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash)
- ("gettext" ,gettext-boot0)))
-
- ;; The final libc only refers to itself, but the 'debug' output contains
- ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great
- ;; if 'allowed-references' were per-output.
- (arguments
- `(#:allowed-references
- ,(cons* `(,gcc-boot0 "lib") (kernel-headers-boot0)
- static-bash-for-glibc
- (package-outputs glibc-final-with-bootstrap-bash))
+ ;; Use 'package/inherit' so we get the 'replacement' of 'glibc', if any.
+ (let ((glibc (package-with-bootstrap-guile glibc)))
+ (package/inherit glibc
+ (name "glibc")
+ (inputs `(("static-bash" ,static-bash-for-glibc)
+ ,@(alist-delete
+ "static-bash"
+ (package-inputs glibc-final-with-bootstrap-bash))))
+
+ ;; This time we need 'msgfmt' to install all the libc.mo files.
+ (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash)
+ ("gettext" ,gettext-boot0)))
+
+ (propagated-inputs
+ (package-propagated-inputs glibc-final-with-bootstrap-bash))
+
+ ;; The final libc only refers to itself, but the 'debug' output contains
+ ;; references to GCC-BOOT0 and to the Linux headers. XXX: Would be great
+ ;; if 'allowed-references' were per-output.
+ (arguments
+ `(#:allowed-references
+ ,(cons* `(,gcc-boot0 "lib") (kernel-headers-boot0)
+ static-bash-for-glibc
+ (package-outputs glibc-final-with-bootstrap-bash))
- ,@(package-arguments glibc-final-with-bootstrap-bash)))))
+ ,@(package-arguments glibc-final-with-bootstrap-bash))))))
(define gcc-boot0-wrapped
;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index dfdebdb1b3..e95b2a3d27 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -99,7 +99,7 @@
(zero?
(system* "./configure"
(string-append "--prefix=" out)))))))))
- (home-page "http://zlib.net/")
+ (home-page "https://zlib.net/")
(synopsis "Compression library")
(description
"zlib is designed to be a free, general-purpose, legally unencumbered --
@@ -598,6 +598,7 @@ with the sfArk algorithm.")
(uri (git-reference
(url "https://github.com/raboof/sfarkxtc.git")
(commit commit)))
+ (file-name (git-file-name name version))
(sha256
(base32
"0f5x6i46qfl6ry21s7g2p4sd4b2r1g4fb03yqi2vv4kq3saryhvj"))))
@@ -841,14 +842,14 @@ extract such file systems.")
(define-public pigz
(package
(name "pigz")
- (version "2.3.3")
+ (version "2.4")
(source (origin
(method url-fetch)
(uri (string-append "http://zlib.net/pigz/"
name "-" version ".tar.gz"))
(sha256
(base32
- "172hdf26k4zmm7z8md7nl0dph2a7mhf3x7slb9bhfyff6as6g2sf"))))
+ "0wsgw5vwl23jrnpsvd8v3xcp5k4waw5mk0164fynjhkv58i1dy54"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -866,7 +867,7 @@ extract such file systems.")
#:make-flags (list "CC=gcc")
#:test-target "tests"))
(inputs `(("zlib" ,zlib)))
- (home-page "http://zlib.net/pigz/")
+ (home-page "https://zlib.net/pigz/")
(synopsis "Parallel implementation of gzip")
(description
"This package provides a parallel implementation of gzip that exploits
@@ -1014,7 +1015,8 @@ human-readable output.")
"http://ck.kolivas.org/apps/lrzip/lrzip-" version ".tar.bz2"))
(sha256
(base32
- "0mb449vmmwpkalq732jdyginvql57nxyd31sszb108yps1lf448d"))))
+ "0mb449vmmwpkalq732jdyginvql57nxyd31sszb108yps1lf448d"))
+ (patches (search-patches "lrzip-CVE-2017-8842.patch"))))
(build-system gnu-build-system)
(native-inputs
`(;; nasm is only required when building for 32-bit x86 platforms
@@ -1068,21 +1070,23 @@ algorithm within the Numpy framework.")
(define-public snappy
(package
(name "snappy")
- (version "1.1.3")
+ (version "1.1.7")
(source (origin
(method url-fetch)
- (uri (string-append
- "https://github.com/google/snappy/releases/download/"
- version "/" name "-" version ".tar.gz"))
+ (uri (string-append "https://github.com/google/snappy/archive/"
+ version ".tar.gz"))
+ (file-name (string-append "snappy-" version ".tar.gz"))
(sha256
(base32
- "1wzf8yif5ym2gj52db6v5m1pxnmn258i38x7llk9x346y2nq47ig"))))
- (build-system gnu-build-system)
+ "1m7rcdqzkys5lspj8jcsaah8w33zh28s771bw0ga2lgzfgl05yix"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
(home-page "https://github.com/google/snappy")
(synopsis "Fast compressor/decompressor")
- (description "Snappy is a compression/decompression library. It does not
+ (description "Snappy is a compression/decompression library. It does not
aim for maximum compression, or compatibility with any other compression library;
-instead, it aims for very high speeds and reasonable compression. For instance,
+instead, it aims for very high speeds and reasonable compression. For instance,
compared to the fastest mode of zlib, Snappy is an order of magnitude faster
for most inputs, but the resulting compressed files are anywhere from 20% to
100% bigger.")
@@ -1128,7 +1132,7 @@ install: libbitshuffle.so
(define-public java-snappy
(package
(name "java-snappy")
- (version "1.1.4")
+ (version "1.1.7")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/xerial/snappy-java/archive/"
@@ -1136,7 +1140,7 @@ install: libbitshuffle.so
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1w58diryma7qz7aa24yv8shf3flxcbbw8jgcn2lih14wgmww58ww"))))
+ "0q4kxz2n97czf6g5gzq0d8yz22cgiaj7wp51rzsswh3bi99bpgg5"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "snappy.jar"
@@ -1176,7 +1180,9 @@ install: libbitshuffle.so
(("NAME\\): \\$\\(SNAPPY_OBJ\\)")
"NAME): $(SNAPPY_OBJ)\n\t@mkdir -p $(@D)"))
;; Finally we can run the Makefile to build the dynamic library.
- (zero? (system* "make" "native"))))
+ ;; Use the -nocmake target to avoid a dependency on cmake,
+ ;; which in turn requires the "git_unpacked" directory.
+ (invoke "make" "native-nocmake")))
;; Once we have built the shared library, we need to place it in the
;; "build" directory so it can be added to the jar file.
(add-after 'build-jni 'copy-jni
@@ -1185,13 +1191,14 @@ install: libbitshuffle.so
"build/classes/org/xerial/snappy/native")))
(add-before 'check 'fix-failing
(lambda _
- ;; This package assumes maven build, which puts results in "target".
- ;; We put them in "build" instead, so fix that.
- (substitute* "src/test/java/org/xerial/snappy/SnappyLoaderTest.java"
- (("target/classes") "build/classes"))
- ;; FIXME: probably an error
- (substitute* "src/test/java/org/xerial/snappy/SnappyOutputStreamTest.java"
- (("91080") "91013")))))))
+ (with-directory-excursion "src/test/java/org/xerial/snappy"
+ ;; This package assumes maven build, which puts results in "target".
+ ;; We put them in "build" instead, so fix that.
+ (substitute* "SnappyLoaderTest.java"
+ (("target/classes") "build/classes"))
+ ;; This requires Hadoop, which is not in Guix yet.
+ (delete-file "SnappyHadoopCompatibleOutputStreamTest.java"))
+ #t)))))
(inputs
`(("osgi-framework" ,java-osgi-framework)))
(propagated-inputs
@@ -1202,6 +1209,8 @@ install: libbitshuffle.so
("hamcrest" ,java-hamcrest-core)
("xerial-core" ,java-xerial-core)
("classworlds" ,java-plexus-classworlds)
+ ("commons-lang" ,java-commons-lang)
+ ("commons-io" ,java-commons-io)
("perl" ,perl)))
(home-page "https://github.com/xerial/snappy-java")
(synopsis "Compression/decompression algorithm in Java")
@@ -1531,6 +1540,7 @@ or junctions, and always follows hard links.")
(origin (method url-fetch)
(uri (string-append "http://github.com/twogood/unshield/archive/"
version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0x7ps644yp5dka2zhb8w0ifqmw3d255jafpzfwv8xbcpgq6fmm2x"))))
diff --git a/gnu/packages/conky.scm b/gnu/packages/conky.scm
index 22a0427b9a..0da9f8438b 100644
--- a/gnu/packages/conky.scm
+++ b/gnu/packages/conky.scm
@@ -60,8 +60,8 @@
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
- (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
- (mkdir-p bin)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
(install-file "src/conky" bin))
#t)))))
(inputs
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index e1fb1b6215..b7126518c1 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017 Raoul Bonnal <ilpuccio.febo@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -32,6 +33,32 @@
#:use-module (gnu packages statistics)
#:use-module (gnu packages web))
+(define-public r-ape
+ (package
+ (name "r-ape")
+ (version "5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "ape" version))
+ (sha256
+ (base32
+ "0q59pmxawz498cb9mv5m49lhiwxib8ak94yyydz7qg8b6lpd4bn3"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-lattice" ,r-lattice)
+ ("r-nlme" ,r-nlme)
+ ("r-rcpp" ,r-rcpp)))
+ (home-page "http://ape-package.ird.fr/")
+ (synopsis "Analyses of phylogenetics and evolution")
+ (description
+ "This package provides functions for reading, writing, plotting, and
+manipulating phylogenetic trees, analyses of comparative data in a
+phylogenetic framework, ancestral character analyses, analyses of
+diversification and macroevolution, computing distances from DNA sequences,
+and several other tools.")
+ (license license:gpl2+)))
+
(define-public r-colorspace
(package
(name "r-colorspace")
@@ -1472,14 +1499,14 @@ imputations.")
(define-public r-truncnorm
(package
(name "r-truncnorm")
- (version "1.0-7")
+ (version "1.0-8")
(source
(origin
(method url-fetch)
(uri (cran-uri "truncnorm" version))
(sha256
(base32
- "1qac05z50618y4bw1d7yznsli1bv82s0g8h37iacrjrdkv87bmy7"))))
+ "0zn88wdd58223kibk085rhsikl4yhlrwiyq109hzjg06hy6lwmj9"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/truncnorm/")
(synopsis "Truncated normal distribution")
@@ -1637,21 +1664,21 @@ simplifying cross-class interoperability.")
(define-public r-performanceanalytics
(package
(name "r-performanceanalytics")
- (version "1.4.3541")
+ (version "1.5.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "PerformanceAnalytics" version))
(sha256
(base32
- "1czchsccsbdfjw743j6rm101q2q01pggyl8zmlva213pwm86zb3v"))))
+ "01bgm57z079g6r505w3bj293zkbd49fwa8sg55z87vizwavipml6"))))
(properties
`((upstream-name . "PerformanceAnalytics")))
(build-system r-build-system)
(propagated-inputs
- `(("r-xts" ,r-xts)
+ `(("r-quadprog" ,r-quadprog)
+ ("r-xts" ,r-xts)
("r-zoo" ,r-zoo)))
- (native-inputs `(("gfortran" ,gfortran)))
(home-page "http://r-forge.r-project.org/projects/returnanalytics/")
(synopsis "Econometric tools for performance and risk analysis")
(description "This is a collection of econometric functions for
@@ -2139,14 +2166,14 @@ display.")
(define-public r-pillar
(package
(name "r-pillar")
- (version "1.1.0")
+ (version "1.2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "pillar" version))
(sha256
(base32
- "1gh3j2pbbf5y4d5nyqnlr0x27jjyvjjspcccmw61airs1n6rx8jq"))))
+ "1ryd7m570y6q3w71wd5dz042b3d0dv24g2rbkw1kdx0n6jj9gsbd"))))
(build-system r-build-system)
(propagated-inputs
`(("r-cli" ,r-cli)
@@ -2225,3 +2252,965 @@ meta-analysis of significance values including the methods of Edgington,
Fisher, Stouffer, Tippett, and Wilkinson; a number of data-sets to replicate
published results; and a routine for graphical display.")
(license license:gpl2)))
+
+(define-public r-network
+ (package
+ (name "r-network")
+ (version "1.13.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "network" version))
+ (sha256
+ (base32
+ "11sg330xb7gcnl3f6lwhhjdabz6mk43828i2np635pqw4s4yl13s"))))
+ (build-system r-build-system)
+ (home-page "http://statnet.org/")
+ (synopsis "Classes for relational data")
+ (description
+ "This package provides tools to create and modify network objects. The
+@code{network} class can represent a range of relational data types, and
+supports arbitrary vertex/edge/graph attributes.")
+ (license license:gpl2+)))
+
+(define-public r-statnet-common
+ (package
+ (name "r-statnet-common")
+ (version "4.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "statnet.common" version))
+ (sha256
+ (base32
+ "0yw6l5b4qv0jqlg4zyczas7m12a5pyqghs6ydxy2f6v6vxkijvi0"))))
+ (properties
+ `((upstream-name . "statnet.common")))
+ (build-system r-build-system)
+ (home-page "http://www.statnet.org")
+ (synopsis "R scripts and utilities used by the Statnet software")
+ (description "This package provides non-statistical utilities used by the
+software developed by the Statnet Project.")
+ (license license:gpl3)))
+
+(define-public r-sna
+ (package
+ (name "r-sna")
+ (version "2.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "sna" version))
+ (sha256
+ (base32
+ "1ks8819qvpdfansfqj9p32s1rhvl26frvbi78m4rx1wd1qcv74i2"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-network" ,r-network)
+ ("r-statnet-common" ,r-statnet-common)))
+ (home-page "http://www.statnet.org")
+ (synopsis "Tools for social network analysis")
+ (description
+ "This package provides a range of tools for social network analysis,
+including node and graph-level indices, structural distance and covariance
+methods, structural equivalence detection, network regression, random graph
+generation, and 2D/3D network visualization.")
+ (license license:gpl2+)))
+
+(define-public r-ttr
+ (package
+ (name "r-ttr")
+ (version "0.23-3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "TTR" version))
+ (sha256
+ (base32
+ "07r62ngyzjl4aszdxnr3n6bnbcgcap32yhd430jsilicg8n06di1"))))
+ (properties `((upstream-name . "TTR")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-curl" ,r-curl)
+ ("r-xts" ,r-xts)
+ ("r-zoo" ,r-zoo)))
+ (native-inputs `(("gfortran" ,gfortran)))
+ (home-page "https://github.com/joshuaulrich/TTR")
+ (synopsis "Technical trading rules")
+ (description
+ "This package provides functions and data to construct technical trading
+rules with R.")
+ (license license:gpl2)))
+
+(define-public r-leaps
+ (package
+ (name "r-leaps")
+ (version "3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "leaps" version))
+ (sha256
+ (base32
+ "11gjmn1azrjw5xlvdb4gknj9985kck9x8zb9np1rnk2smp6pka2m"))))
+ (build-system r-build-system)
+ (native-inputs `(("gfortran" ,gfortran)))
+ (home-page "http://cran.r-project.org/web/packages/leaps/")
+ (synopsis "Regression subset selection")
+ (description
+ "This package provides tools for regression subset selection, including
+exhaustive search.")
+ (license license:gpl2+)))
+
+(define-public r-splus2r
+ (package
+ (name "r-splus2r")
+ (version "1.2-2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "splus2R" version))
+ (sha256
+ (base32
+ "0xrbj8vxy0pc6hl7m8abv71d3hjw47cl51s7j7priadyqczkq6sz"))))
+ (properties `((upstream-name . "splus2R")))
+ (build-system r-build-system)
+ (native-inputs `(("gfortran" ,gfortran)))
+ (home-page "http://cran.r-project.org/web/packages/splus2R/")
+ (synopsis "Supplemental S-PLUS functionality in R")
+ (description
+ "Currently there are many functions in S-PLUS that are missing in R. To
+facilitate the conversion of S-PLUS packages to R packages, this package
+provides some missing S-PLUS functionality in R.")
+ (license license:gpl2)))
+
+(define-public r-ifultools
+ (package
+ (name "r-ifultools")
+ (version "2.0-4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "ifultools" version))
+ (sha256
+ (base32
+ "0pv2msaa1rmj8csxdclzi2jwg9pfdvh87blj9j3xa3myisglq092"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-mass" ,r-mass)
+ ("r-splus2r" ,r-splus2r)))
+ (home-page "http://cran.r-project.org/web/packages/ifultools/")
+ (synopsis "Insightful research tools")
+ (description "This package provides C code used by the wmtsa, fractal, and
+sapa R packages.")
+ (license license:gpl2)))
+
+(define-public r-sapa
+ (package
+ (name "r-sapa")
+ (version "2.0-2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "sapa" version))
+ (sha256
+ (base32
+ "056xlh14dnzq4x7sbp7ff2k61jxy7110a742b502vz549qfrr5ds"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-ifultools" ,r-ifultools)
+ ("r-splus2r" ,r-splus2r)))
+ (home-page "http://cran.r-project.org/web/packages/sapa/")
+ (synopsis "Spectral analysis for physical applications")
+ (description "This package provides software for the book Spectral
+Analysis for Physical Applications, Donald B. Percival and Andrew T. Walden,
+Cambridge University Press, 1993.")
+ (license license:gpl2)))
+
+(define-public r-quantmod
+ (package
+ (name "r-quantmod")
+ (version "0.4-12")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "quantmod" version))
+ (sha256
+ (base32
+ "0y7gh0k1s10vdsfch8777avbhf99mc9crikvx7ahqrw0j631vmhq"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-curl" ,r-curl)
+ ("r-ttr" ,r-ttr)
+ ("r-xts" ,r-xts)
+ ("r-zoo" ,r-zoo)))
+ (home-page "http://cran.r-project.org/web/packages/quantmod/")
+ (synopsis "Quantitative financial modelling framework")
+ (description "This package provides a quantitative financial modelling
+framework to allow users to specify, build, trade, and analyse quantitative
+financial trading strategies.")
+ (license license:gpl3)))
+
+(define-public r-tseries
+ (package
+ (name "r-tseries")
+ (version "0.10-43")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "tseries" version))
+ (sha256
+ (base32
+ "1yjxhj7l1p2przczl6frggfcr5iwda9lbcsmh0y75gbbbps14yf2"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-quadprog" ,r-quadprog)
+ ("r-quantmod" ,r-quantmod)
+ ("r-zoo" ,r-zoo)))
+ (native-inputs
+ `(("gfortran" ,gfortran)))
+ (home-page "http://cran.r-project.org/web/packages/tseries/")
+ (synopsis "Time series analysis and computational finance")
+ (description
+ "This package provides functions relating to time series analysis and
+computational finance.")
+ (license license:gpl2)))
+
+(define-public r-wmtsa
+ (package
+ (name "r-wmtsa")
+ (version "2.0-3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "wmtsa" version))
+ (sha256
+ (base32
+ "1q436krz5p1f4a7a7sya6a9rh9x9mi8zzcgq66gbk9w9w4hcqcj6"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-ifultools" ,r-ifultools)
+ ("r-mass" ,r-mass)
+ ("r-splus2r" ,r-splus2r)))
+ (home-page "http://cran.r-project.org/web/packages/wmtsa/")
+ (synopsis "Wavelet methods for time series analysis")
+ (description
+ "This package provides software to accompany the book \"Wavelet Methods
+for Time Series Analysis\", Donald B. Percival and Andrew T. Walden, Cambridge
+University Press, 2000.")
+ (license license:gpl2)))
+
+(define-public r-tsa
+ (package
+ (name "r-tsa")
+ (version "1.01")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "TSA" version))
+ (sha256
+ (base32
+ "0cm97hwxm6vfgy9mc3kgwq6dnmn86p8a4avnfjbai048qnwrn6hx"))))
+ (properties `((upstream-name . "TSA")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-leaps" ,r-leaps)
+ ("r-locfit" ,r-locfit)
+ ("r-mgcv" ,r-mgcv)
+ ("r-tseries" ,r-tseries)))
+ (home-page "http://www.stat.uiowa.edu/~kchan/TSA.htm")
+ (synopsis "Time series analysis")
+ (description
+ "This package contains R functions and datasets detailed in the book
+\"Time Series Analysis with Applications in R (second edition)\" by Jonathan
+Cryer and Kung-Sik Chan.")
+ (license license:gpl2+)))
+
+(define-public r-extradistr
+ (package
+ (name "r-extradistr")
+ (version "1.8.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "extraDistr" version))
+ (sha256
+ (base32
+ "0ywn4qwnamv36l1hw27l9y5kh3v6ha5781wsv2bz6szqjgg7kdb3"))))
+ (properties `((upstream-name . "extraDistr")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-rcpp" ,r-rcpp)))
+ (home-page "https://github.com/twolodzko/extraDistr")
+ (synopsis "Additional univariate and multivariate distributions")
+ (description
+ "This package implements density, distribution functions, quantile
+functions and random generation functions for a large number of univariate and
+multivariate distributions.")
+ (license license:gpl2)))
+
+(define-public r-fractal
+ (package
+ (name "r-fractal")
+ (version "2.0-4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "fractal" version))
+ (sha256
+ (base32
+ "18lr9z0gslvfc3z8vyj3krqj3bfhg60zv1fzinrwwkc4cpk1w7mp"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-ifultools" ,r-ifultools)
+ ("r-mass" ,r-mass)
+ ("r-sapa" ,r-sapa)
+ ("r-scatterplot3d" ,r-scatterplot3d)
+ ("r-splus2r" ,r-splus2r)
+ ("r-wmtsa" ,r-wmtsa)))
+ (home-page "http://cran.r-project.org/web/packages/fractal/")
+ (synopsis "Fractal time series modeling and analysis")
+ (description
+ "This package provides tools for stochastic fractal and deterministic
+chaotic time series analysis.")
+ (license license:gpl2)))
+
+(define-public r-urca
+ (package
+ (name "r-urca")
+ (version "1.3-0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "urca" version))
+ (sha256
+ (base32
+ "1akaqwf3fvvvx4sgfn641fd4sj51s0701pvfl6s5hnz2k0iwh732"))))
+ (build-system r-build-system)
+ (propagated-inputs `(("r-nlme" ,r-nlme)))
+ (native-inputs `(("gfortran" ,gfortran)))
+ (home-page "http://cran.r-project.org/web/packages/urca/")
+ (synopsis "Unit root and cointegration tests for time series data")
+ (description
+ "This package provides unit root and cointegration tests encountered in
+applied econometric analysis.")
+ (license license:gpl2+)))
+
+(define-public r-cubature
+ (package
+ (name "r-cubature")
+ (version "1.3-11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "cubature" version))
+ (sha256
+ (base32
+ "06f6gsvbb732p80r6hxvzh4ik546icxfvx21dyh65ypmw3kgm64k"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-rcpp" ,r-rcpp)))
+ (home-page "https://github.com/bnaras/cubature")
+ (synopsis "Adaptive multivariate integration over hypercubes")
+ (description
+ "This package is an R wrapper around the cubature C library for adaptive
+multivariate integration over hypercubes. This version provides both
+@code{hcubature} and @code{pcubature} routines in addition to a vector
+interface.")
+ ;; The included cubature C library is released under GPLv2+, but the
+ ;; wrapper declares the license to be GPLv3+.
+ (license (list license:gpl2+ license:gpl3+))))
+
+(define-public r-trend
+ (package
+ (name "r-trend")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "trend" version))
+ (sha256
+ (base32
+ "06yifqbsvxbmk5gld4z2nnyhf59v8ks5xjwacmb25mv9r6bn388b"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-extradistr" ,r-extradistr)))
+ (native-inputs
+ `(("gfortran" ,gfortran)))
+ (home-page "http://cran.r-project.org/web/packages/trend/")
+ (synopsis "Non-parametric trend tests and change-point detection")
+ (description
+ "The analysis of environmental data often requires the detection of
+trends and change-points. This package includes tests for trend
+detection (Cox-Stuart Trend Test, Mann-Kendall Trend Test, (correlated)
+Hirsch-Slack Test, partial Mann-Kendall Trend Test, multivariate (multisite)
+Mann-Kendall Trend Test, (Seasonal) Sen's slope, partial Pearson and Spearman
+correlation trend test), change-point detection (Lanzante's test procedures,
+Pettitt's test, Buishand Range Test, Buishand U Test, Standard Normal
+Homogeinity Test), detection of non-randomness (Wallis-Moore Phase Frequency
+Test, Bartels rank von Neumann's ratio test, Wald-Wolfowitz Test) and the two
+sample Robust Rank-Order Distributional Test.")
+ (license license:gpl3)))
+
+(define-public r-expm
+ (package
+ (name "r-expm")
+ (version "0.999-2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "expm" version))
+ (sha256
+ (base32
+ "1mihl67kvv1xv0figp25jkmwfn4iwkcx15cng2348y8gm6zybw9q"))))
+ (build-system r-build-system)
+ (propagated-inputs `(("r-matrix" ,r-matrix)))
+ (native-inputs `(("gfortran" ,gfortran)))
+ (home-page "http://r-forge.r-project.org/projects/expm/")
+ (synopsis "Tools for matrix exponentials and related quantities")
+ (description
+ "This package provides tools for the computation of the matrix
+exponential, logarithm, square root, and related quantities.")
+ (license license:gpl2+)))
+
+(define-public r-complexplus
+ (package
+ (name "r-complexplus")
+ (version "2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "complexplus" version))
+ (sha256
+ (base32
+ "16w9v7d1ckavqmr86l34frr37pkvdn0iqnb17ssb8xaggns5lgqx"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-expm" ,r-expm)
+ ("r-matrix" ,r-matrix)))
+ (home-page "http://cran.r-project.org/web/packages/complexplus/")
+ (synopsis "Functions of complex or real variables")
+ (description
+ "This package extends several functions to the complex domain, including
+the matrix exponential and logarithm, and the determinant.")
+ (license license:gpl2)))
+
+(define-public r-phontools
+ (package
+ (name "r-phontools")
+ (version "0.2-2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "phonTools" version))
+ (sha256
+ (base32
+ "01i481mhswsys3gpasw9gn6nxkfmi7bz46g5c84m13pg0cv8hxc7"))))
+ (properties `((upstream-name . "phonTools")))
+ (build-system r-build-system)
+ (home-page "http://www.santiagobarreda.com/rscripts.html")
+ (synopsis "Tools for phonetic and acoustic analyses")
+ (description
+ "This package contains tools for the organization, display, and analysis
+of the sorts of data frequently encountered in phonetics research and
+experimentation, including the easy creation of IPA vowel plots, and the
+creation and manipulation of WAVE audio files.")
+ (license license:bsd-2)))
+
+(define-public r-np
+ (package
+ (name "r-np")
+ (version "0.60-6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "np" version))
+ (sha256
+ (base32
+ "1y72x5j9j9mcgcy2xizk31gl843hfkngxdn8s4qw7yhw2qj79hsr"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-boot" ,r-boot)
+ ("r-cubature" ,r-cubature)
+ ("r-quantreg" ,r-quantreg)))
+ (home-page "https://github.com/JeffreyRacine/R-Package-np")
+ (synopsis "Non-parametric kernel smoothing methods for mixed data types")
+ (description "This package provides non-parametric (and semi-parametric)
+kernel methods that seamlessly handle a mix of continuous, unordered, and
+ordered factor data types.")
+ ;; Any version of the GPL.
+ (license license:gpl3+)))
+
+(define-public r-powerplus
+ (package
+ (name "r-powerplus")
+ (version "3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "powerplus" version))
+ (sha256
+ (base32
+ "0ayp6x34hkzgris4j3zbbs0r23n81bhww3wgfyy630ri4sk6brrn"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-complexplus" ,r-complexplus)
+ ("r-expm" ,r-expm)
+ ("r-mass" ,r-mass)
+ ("r-matrix" ,r-matrix)
+ ("r-phontools" ,r-phontools)))
+ (home-page "http://cran.r-project.org/web/packages/powerplus/")
+ (synopsis "Exponentiation operations")
+ (description
+ "This package provides tools for the computation of matrix and scalar
+exponentiation.")
+ (license license:gpl2)))
+
+(define-public r-heatmaply
+ (package
+ (name "r-heatmaply")
+ (version "0.14.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "heatmaply" version))
+ (sha256
+ (base32
+ "03p2caclhfgqgpx3wwck5h06jy3mxgs05gjmwkb7hmwghkjh41jc"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-assertthat" ,r-assertthat)
+ ("r-colorspace" ,r-colorspace)
+ ("r-dendextend" ,r-dendextend)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-gplots" ,r-gplots)
+ ("r-htmlwidgets" ,r-htmlwidgets)
+ ("r-magrittr" ,r-magrittr)
+ ("r-plotly" ,r-plotly)
+ ("r-rcolorbrewer" ,r-rcolorbrewer)
+ ("r-reshape2" ,r-reshape2)
+ ("r-scales" ,r-scales)
+ ("r-seriation" ,r-seriation)
+ ("r-viridis" ,r-viridis)
+ ("r-webshot" ,r-webshot)))
+ (home-page "https://cran.r-project.org/package=heatmaply")
+ (synopsis "Interactive cluster heat maps using plotly")
+ (description
+ "This package enables you to create interactive cluster heatmaps that can
+be saved as a stand-alone HTML file, embedded in R Markdown documents or in a
+Shiny app, and made available in the RStudio viewer pane. Hover the mouse
+pointer over a cell to show details or drag a rectangle to zoom. A heatmap is
+a popular graphical method for visualizing high-dimensional data, in which a
+table of numbers is encoded as a grid of colored cells. The rows and columns
+of the matrix are ordered to highlight patterns and are often accompanied by
+dendrograms.")
+ ;; Either version of the license.
+ (license (list license:gpl2 license:gpl3))))
+
+(define-public r-cgdsr
+ (package
+ (name "r-cgdsr")
+ (version "1.2.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "cgdsr" version))
+ (sha256
+ (base32
+ "1xyhw7mhmjichr1l6f9y1qvfj9wm87kfbm87ji7lcwf36gxh5g23"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-r-methodss3" ,r-r-methodss3)
+ ("r-r-oo" ,r-r-oo)))
+ (home-page "https://github.com/cBioPortal/cgdsr")
+ (synopsis "R-based API for accessing the MSKCC Cancer Genomics Data Server")
+ (description
+ "This package provides a basic set of R functions for querying the Cancer
+Genomics Data Server (CGDS), hosted by the Computational Biology Center at
+Memorial-Sloan-Kettering Cancer Center (MSKCC).")
+ (license license:lgpl3)))
+
+(define-public r-import
+ (package
+ (name "r-import")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "import" version))
+ (sha256
+ (base32
+ "0blf9539rbfwcmw8zsb4k58slb4pdnc075v34vmyjw752fznhcji"))))
+ (build-system r-build-system)
+ (home-page "https://github.com/smbache/import")
+ (synopsis "Import mechanism for R")
+ (description
+ "This is an alternative mechanism for importing objects from packages.
+The syntax allows for importing multiple objects from a package with a single
+command in an expressive way. The import package bridges some of the gap
+between using @code{library} (or @code{require}) and direct (single-object)
+imports. Furthermore the imported objects are not placed in the current
+environment. It is also possible to import objects from stand-alone @code{.R}
+files.")
+ (license license:expat)))
+
+(define-public r-shinyace
+ (package
+ (name "r-shinyace")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "shinyAce" version))
+ (sha256
+ (base32
+ "0ycka8rsw0178q9klfid97vdn5cbyx3r778nis5s3dqipdyazdm9"))))
+ (properties `((upstream-name . "shinyAce")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-shiny" ,r-shiny)))
+ (home-page "http://cran.r-project.org/web/packages/shinyAce")
+ (synopsis "Ace editor bindings for Shiny")
+ (description
+ "This package provides Ace editor bindings to enable a rich text editing
+environment within Shiny.")
+ (license license:expat)))
+
+(define-public r-radiant-data
+ (package
+ (name "r-radiant-data")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "radiant.data" version))
+ (sha256
+ (base32
+ "1ylina1jlrmvjkj8pwg0ip5jv1038vnzyckmf542xl7g11x8rvw1"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Delete files that are under CC-NC-SA.
+ (delete-file-recursively "inst/app/tools/help")
+ #t))))
+ (properties `((upstream-name . "radiant.data")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-base64enc" ,r-base64enc)
+ ("r-broom" ,r-broom)
+ ("r-car" ,r-car)
+ ("r-curl" ,r-curl)
+ ("r-dplyr" ,r-dplyr)
+ ("r-dt" ,r-dt)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-gridextra" ,r-gridextra)
+ ("r-import" ,r-import)
+ ("r-jsonlite" ,r-jsonlite)
+ ("r-knitr" ,r-knitr)
+ ("r-lubridate" ,r-lubridate)
+ ("r-magrittr" ,r-magrittr)
+ ("r-markdown" ,r-markdown)
+ ("r-pryr" ,r-pryr)
+ ("r-psych" ,r-psych)
+ ("r-readr" ,r-readr)
+ ("r-rmarkdown" ,r-rmarkdown)
+ ("r-rstudioapi" ,r-rstudioapi)
+ ("r-scales" ,r-scales)
+ ("r-shiny" ,r-shiny)
+ ("r-shinyace" ,r-shinyace)
+ ("r-tibble" ,r-tibble)
+ ("r-tidyr" ,r-tidyr)))
+ (home-page "https://github.com/radiant-rstats/radiant.data")
+ (synopsis "Data menu for Radiant: business analytics using R and Shiny")
+ (description
+ "The Radiant Data menu includes interfaces for loading, saving, viewing,
+visualizing, summarizing, transforming, and combining data. It also contains
+functionality to generate reproducible reports of the analyses conducted in
+the application.")
+ (license license:agpl3)))
+
+(define-public r-algdesign
+ (package
+ (name "r-algdesign")
+ (version "1.1-7.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "AlgDesign" version))
+ (sha256
+ (base32
+ "0bl7mx4dnmkgs2x1fj7cqnrp7jx18mqwxyga0rzlniq12h8mc3fz"))))
+ (properties `((upstream-name . "AlgDesign")))
+ (build-system r-build-system)
+ (home-page "https://github.com/jvbraun/AlgDesign")
+ (synopsis "Algorithmic experimental design")
+ (description
+ "This package provides tools to calculate exact and approximate theory
+experimental designs for D, A, and I criteria. Very large designs may be
+created. Experimental designs may be blocked or blocked designs created from
+a candidate list, using several criteria. The blocking can be done when whole
+and within plot factors interact.")
+ (license license:gpl2+)))
+
+(define-public r-signal
+ (package
+ (name "r-signal")
+ (version "0.7-6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "signal" version))
+ (sha256
+ (base32
+ "1vsxramz5qd9q9s3vlqzmfdpmwl2rhlb2n904zw6f0fg0xxjfq3b"))))
+ (build-system r-build-system)
+ (propagated-inputs `(("r-mass" ,r-mass)))
+ (native-inputs `(("gfortran" ,gfortran)))
+ (home-page "http://cran.r-project.org/web/packages/signal/")
+ (synopsis "Signal processing")
+ (description
+ "This package provides a set of signal processing functions originally
+written for Matlab and GNU Octave. It includes filter generation utilities,
+filtering functions, resampling routines, and visualization of filter models.
+It also includes interpolation functions.")
+ (license license:gpl2)))
+
+(define-public r-psych
+ (package
+ (name "r-psych")
+ (version "1.7.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "psych" version))
+ (sha256
+ (base32
+ "0daismb8pdk392vdy304hqx0m3jx62gx3a0hygjygc125rhfla7k"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-foreign" ,r-foreign)
+ ("r-lattice" ,r-lattice)
+ ("r-mnormt" ,r-mnormt)
+ ("r-nlme" ,r-nlme)))
+ (home-page "http://cran.r-project.org/web/packages/psych")
+ (synopsis "Procedures for psychological, psychometric, and personality research")
+ (description
+ "This package provides a general purpose toolbox for personality,
+psychometric theory and experimental psychology. The functions are primarily
+for multivariate analysis and scale construction using factor analysis,
+principal component analysis, cluster analysis and reliability analysis,
+although others provide basic descriptive statistics. It provides functions
+for analyzing data at multiple levels within and between group statistics,
+including correlations and factor analysis; functions for simulating and
+testing particular item and test structures are included. Several functions
+serve as a useful front end for structural equation modeling.")
+ (license license:gpl2+)))
+
+(define-public r-gsubfn
+ (package
+ (name "r-gsubfn")
+ (version "0.6-6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "gsubfn" version))
+ (sha256
+ (base32
+ "196x4c3ihf4q3i0v7b1xa6jm8jjld2rsx00qz03n90wfnjdx5idv"))))
+ (build-system r-build-system)
+ (propagated-inputs `(("r-proto" ,r-proto)))
+ (home-page "http://gsubfn.googlecode.com")
+ (synopsis "Utilities for strings and function arguments.")
+ (description
+ "This package provides @code{gsubfn} which is like @code{gsub} but can
+take a replacement function or certain other objects instead of the
+replacement string. Matches and back references are input to the replacement
+function and replaced by the function output. @code{gsubfn} can be used to
+split strings based on content rather than delimiters and for quasi-perl-style
+string interpolation. The package also has facilities for translating
+formulas to functions and allowing such formulas in function calls instead of
+functions.")
+ (license license:gpl2+)))
+
+(define-public r-sqldf
+ (package
+ (name "r-sqldf")
+ (version "0.4-11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "sqldf" version))
+ (sha256
+ (base32
+ "0q12vsb53p2wchgp8wfz5bk08wfnm0jxjrakclj4jyy6x3a7ksff"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-chron" ,r-chron)
+ ("r-dbi" ,r-dbi)
+ ("r-gsubfn" ,r-gsubfn)
+ ("r-proto" ,r-proto)
+ ("r-rsqlite" ,r-rsqlite)))
+ (home-page "https://github.com/ggrothendieck/sqldf")
+ (synopsis "Manipulate R data frames using SQL")
+ (description
+ "The @code{sqldf} function is typically passed a single argument which is
+an SQL select statement where the table names are ordinary R data frame names.
+@code{sqldf} transparently sets up a database, imports the data frames into
+that database, performs the SQL statement and returns the result using a
+heuristic to determine which class to assign to each column of the returned
+data frame. The @code{sqldf} or @code{read.csv.sql} functions can also be
+used to read filtered files into R even if the original files are larger than
+R itself can handle.")
+ (license license:gpl2)))
+
+(define-public r-abind
+ (package
+ (name "r-abind")
+ (version "1.4-5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "abind" version))
+ (sha256
+ (base32
+ "0b1zd8jbnl6l292cr9rb50m09fy3ylxvzkpgi5lfb1nbzddcwfis"))))
+ (build-system r-build-system)
+ (home-page "http://cran.r-project.org/web/packages/abind/")
+ (synopsis "Combine multidimensional arrays")
+ (description
+ "This package provides tools to combine multidimensional arrays into a
+single array. This is a generalization of @code{cbind} and @code{rbind}. It
+works with vectors, matrices, and higher-dimensional arrays. It also provides
+the functions @code{adrop}, @code{asub}, and @code{afill} for manipulating,
+extracting and replacing data in arrays.")
+ (license license:lgpl2.0+)))
+
+(define-public r-prroc
+ (package
+ (name "r-prroc")
+ (version "1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "PRROC" version))
+ (sha256
+ (base32
+ "03hvh92lq4i4w4mla9bvwrwb4626f4hvlxgdn57hamp70960vjyc"))))
+ (properties `((upstream-name . "PRROC")))
+ (build-system r-build-system)
+ (home-page "http://cran.r-project.org/web/packages/PRROC/")
+ (synopsis "Precision-Recall and ROC curves for weighted and unweighted data")
+ (description
+ "This package computes the areas under the @dfn{precision-recall} (PR)
+and ROC curve for weighted (e.g. soft-labeled) and unweighted data. In
+contrast to other implementations, the interpolation between points of the PR
+curve is done by a non-linear piecewise function. In addition to the areas
+under the curves, the curves themselves can also be computed and plotted by a
+specific S3-method.")
+ (license license:gpl3)))
+
+(define-public r-vim
+ (package
+ (name "r-vim")
+ (version "4.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "VIM" version))
+ (sha256
+ (base32
+ "1vjcs5wvjv94ln01d94h9rs4j50d3ky4n26mm3prgh13raylrmnd"))))
+ (properties `((upstream-name . "VIM")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-car" ,r-car)
+ ("r-colorspace" ,r-colorspace)
+ ("r-data-table" ,r-data-table)
+ ("r-e1071" ,r-e1071)
+ ("r-laeken" ,r-laeken)
+ ("r-mass" ,r-mass)
+ ("r-nnet" ,r-nnet)
+ ("r-rcpp" ,r-rcpp)
+ ("r-robustbase" ,r-robustbase)
+ ("r-sp" ,r-sp)
+ ("r-vcd" ,r-vcd)))
+ (home-page "https://github.com/alexkowa/VIM")
+ (synopsis "Visualization and imputation of missing values")
+ (description
+ "This package provides tools for the visualization of missing and/or
+imputed values are introduced, which can be used for exploring the data and
+the structure of the missing and/or imputed values. Depending on this
+structure of the missing values, the corresponding methods may help to
+identify the mechanism generating the missing values and allows to explore the
+data including missing values. In addition, the quality of imputation can be
+visually explored using various univariate, bivariate, multiple and
+multivariate plot methods.")
+ (license license:gpl2+)))
+
+(define-public r-fnn
+ (package
+ (name "r-fnn")
+ (version "1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "FNN" version))
+ (sha256
+ (base32
+ "1kncmiaraq1mrykb9fj3fsxswabk3l71fnp1vks0x9aay5xfk8mj"))))
+ (properties `((upstream-name . "FNN")))
+ (build-system r-build-system)
+ (home-page "https://cran.r-project.org/web/packages/FNN")
+ (synopsis "Fast nearest neighbor search algorithms and applications")
+ (description
+ "This package provides cover-tree and kd-tree fast k-nearest neighbor
+search algorithms. Related applications including KNN classification,
+regression and information measures are implemented.")
+ ;; The DESCRIPTION file erroneously states that GPL version 2.1 or
+ ;; later can be used.
+ (license license:gpl2+)))
+
+(define-public r-smoother
+ (package
+ (name "r-smoother")
+ (version "1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "smoother" version))
+ (sha256
+ (base32
+ "0nqr1bvlr5bnasqg74zmknjjl4x28kla9h5cxpga3kq5z215pdci"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-ttr" ,r-ttr)))
+ (home-page "http://cran.r-project.org/web/packages/smoother")
+ (synopsis "Functions relating to the smoothing of numerical data")
+ (description
+ "This package provides a collection of methods for smoothing numerical
+data, commencing with a port of the Matlab gaussian window smoothing function.
+In addition, several functions typically used in smoothing of financial data
+are included.")
+ (license license:gpl2)))
+
+(define-public r-riverplot
+ (package
+ (name "r-riverplot")
+ (version "0.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "riverplot" version))
+ (sha256
+ (base32
+ "0q1icpny8nkxyjhawyjzwrw8qlz0ayn2xyrsqrm4vkxyv6c9xk8z"))))
+ (build-system r-build-system)
+ (home-page "https://logfc.wordpress.com")
+ (synopsis "Sankey or ribbon plots")
+ (description
+ "Sankey plots are a type of diagram that is convenient to illustrate how
+flow of information, resources etc. separates and joins, much like observing
+how rivers split and merge. For example, they can be used to compare
+different clusterings. This package provides an implementation of Sankey
+plots for R.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 4922c58753..1e447d4f3a 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -258,7 +258,7 @@ the wrong hands.")
(define-public keyutils
(package
(name "keyutils")
- (version "1.5.9")
+ (version "1.5.10")
(source
(origin
(method url-fetch)
@@ -267,7 +267,7 @@ the wrong hands.")
version ".tar.bz2"))
(sha256
(base32
- "1bl3w03ygxhc0hz69klfdlwqn33jvzxl1zfl2jmnb2v85iawb8jd"))
+ "1dmgjcf7mnwc6h72xkvpaqpzxw8vmlnsmzz0s27pg0giwzm3sp0i"))
(modules '((guix build utils)))
;; Create relative symbolic links instead of absolute ones to /lib/*
(snippet '(substitute* "Makefile" (("\\$\\(LNS\\) \\$\\(LIBDIR\\)/")
@@ -384,9 +384,9 @@ no man page, refer to the home page for usage details.")
(delete 'configure) ;no configuration to be done
(add-after 'install 'i18n
(lambda* (#:key make-flags #:allow-other-keys)
- (zero? (apply system*
- "make" "-C" "extras/translations"
- "install" make-flags))))
+ (apply invoke "make" "-C" "extras/translations"
+ "install" make-flags)
+ #t))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -411,8 +411,9 @@ no man page, refer to the home page for usage details.")
;; querying `tomb -h`.
(let ((tomb (string-append (assoc-ref outputs "out")
"/bin/tomb")))
- (zero? (system* tomb "dig" "-s" "10" "secrets.tomb"))))))))
- (home-page "http://www.dyne.org/software/tomb")
+ (invoke tomb "dig" "-s" "10" "secrets.tomb")
+ #t))))))
+ (home-page "https://www.dyne.org/software/tomb")
(synopsis "File encryption for secret data")
(description
"Tomb is an application to manage the creation and access of encrypted
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index e51e014e99..fbf177d9da 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -47,7 +48,7 @@
(package
(name "curl")
(version "7.57.0")
- (replacement curl-7.58.0)
+ (replacement curl-7.59.0)
(source (origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
@@ -136,10 +137,10 @@ tunneling, and so on.")
"See COPYING in the distribution."))
(home-page "https://curl.haxx.se/")))
-(define-public curl-7.58.0
+(define-public curl-7.59.0
(package
(inherit curl)
- (version "7.58.0")
+ (version "7.59.0")
(source
(origin
(method url-fetch)
@@ -147,32 +148,38 @@ tunneling, and so on.")
version ".tar.xz"))
(sha256
(base32
- "1qz303lagxidmkyym90mxiaqnqddwi2219vzydsyn29n4iski0ba"))))))
+ "1z310hrjm2vmbcpkyp81dcmj9rk127zkjyawpy2pah0nz6yslkp4"))))))
(define-public kurly
(package
(name "kurly")
- (version "1.1.0")
+ (version "1.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/davidjpeacock/kurly.git")
(commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1q192f457sjypgvwq7grrf8gq8w272p3zf1d5ppc20mriqm0mbc3"))))
+ "01kp33gvzxmk6ipz7323wqwmbc90q2mwzsjig8rzpqsm4kji5hi6"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/davidjpeacock/kurly"
#:install-source? #f
#:phases
(modify-phases %standard-phases
- (add-after 'install 'install-readme
- (lambda* (#:key outputs import-path #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (readme (string-append "src/" import-path "/README.md"))
- (misc (string-append out "/share/kurly/misc/")))
- (install-file readme misc)
+ (add-after 'install 'install-documentation
+ (lambda* (#:key import-path outputs #:allow-other-keys)
+ (let* ((source (string-append "src/" import-path))
+ (out (assoc-ref outputs "out"))
+ (doc (string-append out "/share/doc/" ,name "-" ,version))
+ (man (string-append out "/share/man/man1")))
+ (with-directory-excursion source
+ (install-file "README.md" doc)
+ (mkdir-p man)
+ (copy-file "meta/kurly.man"
+ (string-append man "/kurly.1")))
#t))))))
(inputs
`(("go-github-com-alsm-ioprogress" ,go-github-com-alsm-ioprogress)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index e289a604f9..56531f50e3 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
-;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
@@ -396,14 +396,15 @@ mapping from string keys to string values.")
(define-public memcached
(package
(name "memcached")
- (version "1.5.0")
+ (version "1.5.6")
(source
(origin
(method url-fetch)
(uri (string-append
"https://memcached.org/files/memcached-" version ".tar.gz"))
(sha256
- (base32 "0chwc0g7wfvcad36z8pf2jbgygdnm9nm1l6pwjsn3d2b089gh0f0"))))
+ (base32
+ "00szy9d4szaixi260dcd4846zci04y0sd47ia2lzg0bxkn2ywxcn"))))
(build-system gnu-build-system)
(inputs
`(("libevent" ,libevent)
@@ -699,14 +700,14 @@ as a drop-in replacement of MySQL.")
(define-public postgresql
(package
(name "postgresql")
- (version "10.2")
+ (version "10.3")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "1bav2iyi93h866skrrlqlvsp4sfv1sfww1s305zpzffxcadh0cpy"))))
+ "06lkcwsf851z49zqcws5yc77s2yrbaazf2nvbk38hpp31rw6i8kf"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-uuid=e2fs")
@@ -744,14 +745,14 @@ pictures, sounds, or video.")
(package
(inherit postgresql)
(name "postgresql")
- (version "9.6.6")
+ (version "9.6.8")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
- "0m417h30s18rwa7yzkqqcdb22ifpcda2fpg2cyx8bxvjp3ydz71r"))))))
+ "0w7bwf19wbdd3jjbjv03cnx56qka4801srcbsayk9v792awv7zga"))))))
(define-public qdbm
(package
@@ -840,7 +841,7 @@ types are supported, as is encryption.")
(define-public rocksdb
(package
(name "rocksdb")
- (version "5.2.1")
+ (version "5.10.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/facebook/rocksdb"
@@ -848,18 +849,28 @@ types are supported, as is encryption.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1v2q05bl56sfp51m09z7g6489hkfq4vf6b4qgfg3d96ylgmay9yb"))
+ "0hp7jxr99vyc57n708hiqk4lks9a9zmjgfjc21mx6v1rmabj2944"))
(modules '((guix build utils)))
(snippet
'(begin
;; TODO: unbundle gtest.
(delete-file "build_tools/gnu_parallel")
+ (substitute* "Makefile"
+ (("build_tools/gnu_parallel") "parallel"))
#t))))
(build-system gnu-build-system)
(arguments
- `(#:make-flags (list "CC=gcc"
+ `(#:make-flags (list "CC=gcc" "V=1"
+ ;; Ceph requires that RTTI is enabled.
+ "USE_RTTI=1"
(string-append "INSTALL_PATH="
- (assoc-ref %outputs "out")))
+ (assoc-ref %outputs "out"))
+
+ ;; Running the full test suite takes hours and require
+ ;; a lot of disk space. Instead we only run a subset
+ ;; (see .travis.yml and Makefile).
+ "ROCKSDBTESTS_END=db_tailing_iter_test")
+ #:test-target "check_some"
;; Many tests fail on 32-bit platforms. There are multiple reports about
;; this upstream, but it's not going to be supported any time soon.
#:tests? (let ((system ,(or (%current-target-system)
@@ -871,7 +882,6 @@ types are supported, as is encryption.")
(add-after 'unpack 'patch-Makefile
(lambda _
(substitute* "Makefile"
- (("build_tools/gnu_parallel") "parallel")
;; Don't depend on the static library when installing.
(("install: install-static")
"install: install-shared")
@@ -888,20 +898,20 @@ types are supported, as is encryption.")
(add-before 'check 'disable-failing-tests
(lambda _
(substitute* "Makefile"
- ;; This test fails with GCC-5 and is unmaintained.
- ;; https://github.com/facebook/rocksdb/issues/2148
- (("^[[:blank:]]+spatial_db_test[[:blank:]]+\\\\") "\\")
;; These tests reliably fail due to "Too many open files".
(("^[[:blank:]]+env_test[[:blank:]]+\\\\") "\\")
(("^[[:blank:]]+persistent_cache_test[[:blank:]]+\\\\") "\\"))
#t))
- (add-after 'check 'build-release-libraries
+ (add-after 'check 'build
;; The default build target is a debug build for tests. The
- ;; install target depends on "shared_lib" and "static_lib"
- ;; targets for release builds so we build them here for clarity.
- ;; TODO: Add debug output.
- (lambda* (#:key (make-flags '()) #:allow-other-keys)
- (zero? (apply system* "make" "shared_lib" make-flags)))))))
+ ;; install target depends on the "shared_lib" release target
+ ;; so we build it here for clarity.
+ (lambda* (#:key (make-flags '()) parallel-build? #:allow-other-keys)
+ (apply invoke "make" "shared_lib"
+ `(,@(if parallel-build?
+ `("-j" ,(number->string (parallel-job-count)))
+ '())
+ ,@make-flags)))))))
(native-inputs
`(("parallel" ,parallel)
("perl" ,perl)
@@ -925,8 +935,9 @@ between @dfn{Write-Amplification-Factor} (WAF), @dfn{Read-Amplification-Factor}
(RAF) and @dfn{Space-Amplification-Factor} (SAF). It has multi-threaded
compactions, making it specially suitable for storing multiple terabytes of
data in a single database. RocksDB is partially based on @code{LevelDB}.")
- ;; RocksDB is BSD-3 and the JNI adapter is Apache 2.0.
- (license (list license:bsd-3 license:asl2.0))))
+ ;; RocksDB is dual licensed under GPL2 and ASL 2.0. Some header
+ ;; files carry the 3-clause BSD license.
+ (license (list license:gpl2 license:asl2.0 license:bsd-3))))
(define-public sparql-query
(package
@@ -2037,14 +2048,14 @@ and web services platform functionality.")
(define-public r-rmysql
(package
(name "r-rmysql")
- (version "0.10.13")
+ (version "0.10.14")
(source
(origin
(method url-fetch)
(uri (cran-uri "RMySQL" version))
(sha256
(base32
- "1j0vr2l4s02cg2hzgr3pla96pjj4h85sxw28lidy58rg5awnsf82"))))
+ "01891kn263b02y6addgpy3gn5axg7m10bqbqv7dg9yx9k85am590"))))
(properties `((upstream-name . "RMySQL")))
(build-system r-build-system)
(native-inputs
@@ -2235,17 +2246,21 @@ SQLAlchemy Database Toolkit for Python.")
(define-public python-pickleshare
(package
(name "python-pickleshare")
- (version "0.5")
+ (version "0.7.4")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/p/"
- "pickleshare/pickleshare-" version ".tar.gz"))
+ (uri (pypi-uri "pickleshare" version))
(sha256
- (base32 "11ljr90j3p6qswdrbl7p4cjb2i93f6vn0vx9anzpshsx0d2mggn0"))))
+ (base32 "0yvk14dzxk7g6qpr7iw23vzqbsr0dh4ij4xynkhnzpfz4xr2bac4"))))
(build-system python-build-system)
- (propagated-inputs
- `(("python-pathpy" ,python-pathpy)))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "pytest"))))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
(home-page "https://github.com/vivainio/pickleshare")
(synopsis "Tiny key value database with concurrency support")
(description
@@ -2256,10 +2271,15 @@ value in database is immediately visible to other processes accessing the same
database. Concurrency is possible because the values are stored in separate
files. Hence the “database” is a directory where all files are governed by
PickleShare.")
+ (properties `((python2-variant . ,(delay python2-pickleshare))))
(license license:expat)))
(define-public python2-pickleshare
- (package-with-python2 python-pickleshare))
+ (let ((pickleshare (package-with-python2
+ (strip-python2-variant python-pickleshare))))
+ (package (inherit pickleshare)
+ (propagated-inputs `(("python2-pathlib2" ,python2-pathlib2)
+ ,@(package-propagated-inputs pickleshare))))))
(define-public python-apsw
(package
@@ -2270,30 +2290,31 @@ PickleShare.")
(method url-fetch)
(uri (string-append "https://github.com/rogerbinns/apsw/archive/"
version ".tar.gz"))
+ (file-name (string-append "apsw-" version ".tar.gz"))
(sha256
(base32
"00ai7m2pqi26qaflhz314d8k5i3syw7xzr145fhfl0crhyh6adz2"))))
(build-system python-build-system)
(inputs
- `(("sqlite" ,sqlite)))
+ `(("sqlite" ,sqlite)))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'build
(lambda _
- (zero?
- (system* "python" "setup.py" "build" "--enable-all-extensions"))))
+ (invoke "python" "setup.py" "build" "--enable-all-extensions")
+ #t))
(add-after 'build 'build-test-helper
(lambda _
- (zero?
- (system
- (string-append "gcc -fPIC -shared -o ./testextension.sqlext "
- "-I. -Isqlite3 src/testextension.c") ))))
+ (invoke "gcc" "-fPIC" "-shared" "-o" "./testextension.sqlext"
+ "-I." "-Isqlite3" "src/testextension.c")
+ #t))
(delete 'check)
(add-after 'install 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
- (zero? (system* "python" "setup.py" "test")))))))
+ (invoke "python" "setup.py" "test")
+ #t)))))
(home-page "https://github.com/rogerbinns/apsw/")
(synopsis "Another Python SQLite Wrapper")
(description "APSW is a Python wrapper for the SQLite
diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm
new file mode 100644
index 0000000000..3c3189e073
--- /dev/null
+++ b/gnu/packages/debian.scm
@@ -0,0 +1,170 @@
+;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages debian)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix download)
+ #:use-module (guix packages)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages gnupg)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages wget))
+
+(define-public debian-archive-keyring
+ (package
+ (name "debian-archive-keyring")
+ (version "2017.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://debian/pool/main/d/" name "/"
+ name "_" version ".tar.xz"))
+ (sha256
+ (base32
+ "1pdwgipfi0y4svhxlw8arhq792f1g3vlmw4raphizy7sa65vd4ca"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:test-target "verify-results"
+ #:parallel-build? #f ; has race conditions
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (apt (string-append out "/etc/apt/trusted.gpg.d/"))
+ (key (string-append out "/share/keyrings/")))
+ (install-file "keyrings/debian-archive-keyring.gpg" key)
+ (install-file "keyrings/debian-archive-removed-keys.gpg" key)
+ (for-each (lambda (file)
+ (install-file file apt))
+ (find-files "trusted.gpg" "\\.gpg$")))
+ #t)))))
+ (native-inputs
+ `(("gnupg" ,gnupg)
+ ("jetring" ,jetring)))
+ (home-page "https://packages.qa.debian.org/d/debian-archive-keyring.html")
+ (synopsis "GnuPG archive keys of the Debian archive")
+ (description
+ "The Debian project digitally signs its Release files. This package
+contains the archive keys used for that.")
+ (license (list license:public-domain ; the keys
+ license:gpl2+)))) ; see debian/copyright
+
+(define-public ubuntu-keyring
+ (package
+ (name "ubuntu-keyring")
+ (version "2018.02.28")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://launchpad.net/ubuntu/+archive/primary/"
+ "+files/" name "_" version ".tar.gz"))
+ (sha256
+ (base32
+ "1zj3012cz7rlx9pm39wnwa0lmi1h38n6bkgbz81vnmcsvqsc9a3a"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils))
+ (let* ((out (assoc-ref %outputs "out"))
+ (apt (string-append out "/etc/apt/trusted.gpg.d/"))
+ (key (string-append out "/share/keyrings/")))
+ (setenv "PATH" (string-append
+ (assoc-ref %build-inputs "gzip") "/bin:"
+ (assoc-ref %build-inputs "tar") "/bin"))
+ (invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
+ (for-each (lambda (file)
+ (install-file file apt))
+ (find-files "." "ubuntu-[^am].*\\.gpg$"))
+ (for-each (lambda (file)
+ (install-file file key))
+ (find-files "." "ubuntu-[am].*\\.gpg$")))
+ #t)))
+ (native-inputs
+ `(("tar" ,tar)
+ ("gzip" ,gzip)))
+ (home-page "https://launchpad.net/ubuntu/+source/ubuntu-keyring")
+ (synopsis "GnuPG keys of the Ubuntu archive")
+ (description
+ "The Ubuntu project digitally signs its Release files. This package
+contains the archive keys used for that.")
+ (license (list license:public-domain ; the keys
+ license:gpl2+)))) ; see debian/copyright
+
+(define-public debootstrap
+ (package
+ (name "debootstrap")
+ (version "1.0.93")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://debian/pool/main/d/" name "/"
+ name "_" version ".tar.gz"))
+ (sha256
+ (base32
+ "1nyp9fwb7xrk1vin81dmgx2g9rb52yg4gwz4rcx97gamw4mlvbfd"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (wget (assoc-ref inputs "wget"))
+ (debian (assoc-ref inputs "debian-keyring"))
+ (ubuntu (assoc-ref inputs "ubuntu-keyring")))
+ (substitute* "Makefile"
+ (("/usr") "")
+ (("-o root -g root") "")
+ (("chown root.*") "\n"))
+ (substitute* "scripts/sid"
+ (("/usr") debian))
+ (substitute* "scripts/gutsy"
+ (("/usr") ubuntu))
+ (substitute* "debootstrap"
+ (("=/usr") (string-append "=" out)))
+ (substitute* "functions"
+ (("wget ") (string-append wget "/bin/wget ")))
+ #t)))
+ (add-after 'install 'install-man-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (install-file "debootstrap.8"
+ (string-append out "/share/man/man8"))
+ #t))))
+ #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
+ #:tests? #f)) ; no tests
+ (inputs
+ `(("debian-keyring" ,debian-archive-keyring)
+ ("ubuntu-keyring" ,ubuntu-keyring)
+ ("wget" ,wget)))
+ ;; The following are required for debootstrap to work correctly
+ (propagated-inputs
+ `(("binutils" ,binutils)
+ ("gnupg" ,gnupg)
+ ("perl" ,perl)))
+ (home-page "https://anonscm.debian.org/cgit/d-i/debootstrap.git")
+ (synopsis "Bootstrap a basic Debian system")
+ (description "Debootstrap is used to create a Debian base system from
+scratch, without requiring the availability of @code{dpkg} or @code{apt}.
+It does this by downloading .deb files from a mirror site, and carefully
+unpacking them into a directory which can eventually be chrooted into.")
+ (license license:gpl2)))
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 777018bfb2..1f238637a4 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -66,8 +67,6 @@
(bin (string-append out "/bin"))
(doc (string-append out "/share/doc/delta-" ,version)))
(begin
- (mkdir-p bin)
- (mkdir-p doc)
(for-each (lambda (h)
(install-file h doc))
`("License.txt" ,@(find-files "www" ".*\\.html")))
@@ -75,7 +74,7 @@
(install-file b bin))
`("delta" "multidelta" "topformflat"))))
#t))
- (delete 'configure))))
+ (delete 'configure)))) ; no configure script
(home-page "http://delta.tigris.org/")
(synopsis "Heuristical file minimizer")
(description
@@ -87,10 +86,11 @@ program to exhibit a bug.")
;; home-page pointing to a bsd-2 license.
(license bsd-3)))
+;; Newer versions depend on LLVM and Clang >= 4, which have yet to be packaged.
(define-public c-reduce
(package
(name "c-reduce")
- (version "2.5.0")
+ (version "2.6.0")
(source
(origin
(method url-fetch)
@@ -99,12 +99,12 @@ program to exhibit a bug.")
"creduce-" version ".tar.gz")))
(sha256
(base32
- "1r23lhzq3dz8vi2dalxk5las8bf0av2w94hxxbs61pr73m77ik9d"))))
+ "0pf5q0n8vkdcr1wrkxn2jzxv0xkrir13bwmqfw3jpbm3dh2c3b6d"))))
(build-system gnu-build-system)
(inputs
`(("astyle" ,astyle)
- ("llvm" ,llvm)
- ("clang" ,clang)
+ ("llvm" ,llvm-3.9.1)
+ ("clang" ,clang-3.9.1)
("flex" ,flex)
("indent" ,indent)
("perl" ,perl)
@@ -133,7 +133,7 @@ program to exhibit a bug.")
"file-which" "getopt-tabular"
"regex-common" "sys-cpu")))))
#t)))))
- (home-page "http://embed.cs.utah.edu/creduce")
+ (home-page "https://embed.cs.utah.edu/creduce")
(synopsis "Reducer for interesting code")
(description
"C-Reduce is a tool that takes a large C or C++ program that has a
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index 25e4613170..3f50070ef7 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
+;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@@ -211,7 +212,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
(define-public grammalecte
(package
(name "grammalecte")
- (version "0.6.1")
+ (version "0.6.2")
(source
(origin
(method url-fetch/zipbomb)
@@ -219,20 +220,8 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
"Grammalecte-fr-v" version ".zip"))
(sha256
(base32
- "0bl342i7nqbg8swk3fxashg9liyp3jdnix59pndhy41cpm1xln4i"))))
+ "0pvblclvbxbfgmq0cvmpmzpf6bi6r41arndwprl7ab9kci9hi8j2"))))
(build-system python-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-setup.py
- ;; FIXME: "setup.py" contains a typo in 0.6.1 release. The
- ;; issue was reported and fixed upstream
- ;; (https://dicollecte.org/thread.php?prj=fr&t=674). This
- ;; phase can be removed in next release.
- (lambda _
- (substitute* "setup.py"
- (("server_options\\.") "grammalecte-server-options."))
- #t)))))
(home-page "https://www.dicollecte.org")
(synopsis "French spelling and grammar checker")
(description "Grammalecte is a grammar checker dedicated to the French
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 0b447b5176..a901af6f14 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -36,13 +36,13 @@
(define-public python-django
(package
(name "python-django")
- (version "1.11.10")
+ (version "1.11.11")
(source (origin
(method url-fetch)
(uri (pypi-uri "Django" version))
(sha256
(base32
- "1ndc7axr7cz8jwhr4mz16fvwd0jcd6i81q2wi9nl172s71kkaf12"))))
+ "1p0fk0dszci9gx76hyhay3n8n0k8r4sznbdcrpd9g2xl15rps1vl"))))
(build-system python-build-system)
(arguments
'(#:modules ((srfi srfi-1)
@@ -182,13 +182,13 @@ useful tools for testing Django applications and projects.")
(define-public python-django-filter
(package
(name "python-django-filter")
- (version "0.14.0")
+ (version "1.1.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "django-filter" version))
(sha256
(base32
- "0f78hmk8c903zwfzlsiw7ivgag81ymmb5hi73rzxbhnlg2v0l3fx"))))
+ "0slpfqfhnjrzlrb6vmswyhrzn01p84s16j2x1xib35gg4fxg23pc"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -198,6 +198,8 @@ useful tools for testing Django applications and projects.")
(zero? (system* "python" "runtests.py")))))))
(native-inputs
`(("python-django" ,python-django)
+ ("python-djangorestframework" ,python-djangorestframework)
+ ("python-django-crispy-forms", python-django-crispy-forms)
("python-mock" ,python-mock)))
(home-page "https://django-filter.readthedocs.io/en/latest/")
(synopsis "Reusable Django application to filter querysets dynamically")
@@ -265,15 +267,18 @@ account authentication.")
(define-public python-django-gravatar2
(package
(name "python-django-gravatar2")
- (version "1.4.0")
+ (version "1.4.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django-gravatar2" version))
(sha256
(base32
- "1v4qyj6kms321yw0z2g1kch6b2dskmv6fjd6sfxzwr4xshq9mccl"))))
+ "1qsv40xywbqsf4mkrmsswrpzqd7nfljxpfiim9an2z3dykn5rka6"))))
(build-system python-build-system)
+ (arguments
+ '(;; TODO: The django project for the tests is missing from the release.
+ #:tests? #f))
(inputs
`(("python-django" ,python-django)))
(home-page "https://github.com/twaddington/django-gravatar")
@@ -755,3 +760,52 @@ Django projects, which allows association of a number of tags with any
(define-public python2-django-tagging
(package-with-python2 python-django-tagging))
+
+(define-public python-djangorestframework
+ (package
+ (name "python-djangorestframework")
+ (version "3.7.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "djangorestframework" version))
+ (sha256
+ (base32
+ "11qv117gqwswxjljs7wafxg1hyzzlx3qrviwlk9hw41bsbl997lz"))))
+ (build-system python-build-system)
+ (arguments
+ '(;; No included tests
+ #:tests? #f))
+ (propagated-inputs
+ `(("python-django" ,python-django)))
+ (home-page "https://www.django-rest-framework.org")
+ (synopsis "Toolkit for building Web APIs with Django")
+ (description
+ "The Django REST framework is for building Web APIs with Django. It
+provides features like a web browseable API and authentication policies.")
+ (license license:bsd-2)))
+
+(define-public python-django-crispy-forms
+ (package
+ (name "python-django-crispy-forms")
+ (version "1.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "django-crispy-forms" version))
+ (sha256
+ (base32
+ "16s05jx86jmimlvnwpq73kl0mqw1v9lryc8zi61a9qwl25krm6mj"))))
+ (build-system python-build-system)
+ (arguments
+ '(;; No included tests
+ #:tests? #f))
+ (propagated-inputs
+ `(("python-django" ,python-django)))
+ (home-page
+ "http://github.com/maraujop/django-crispy-forms")
+ (synopsis "Tool to control Django forms without custom templates")
+ (description
+ "@code{django-crispy-forms} lets you easily build, customize and reuse
+forms using your favorite CSS framework, without writing template code.")
+ (license license:expat)))
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index 03fc54450e..3034bc5493 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -177,7 +177,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
(define-public dblatex
(package
(name "dblatex")
- (version "0.3.9")
+ (version "0.3.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/dblatex/dblatex/"
@@ -185,8 +185,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
version ".tar.bz2"))
(sha256
(base32
- "0pdizc5rjywwzxa1qqhdmba5zr35pbmdwbysalsid7xw87w3kq06"))
- (patches (search-patches "dblatex-remove-multirow.patch"))))
+ "1yicd861rqz78i2khl35j7nvc0ccv4jx4hzqrbhll17082vrdmkg"))))
(build-system python-build-system)
;; TODO: Add xfig/transfig for fig2dev utility
(inputs
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 81e6885f66..c2c162c75c 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -14,7 +14,7 @@
;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
-;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016, 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
@@ -614,7 +614,7 @@ process, passing on the arguments as command line arguments.")
'build 'pre-build
(lambda* (#:key inputs #:allow-other-keys)
(define (el-dir store-dir)
- (match (find-files store-dir)
+ (match (find-files store-dir "\\.el$")
((f1 f2 ...) (dirname f1))
(_ "")))
@@ -2990,14 +2990,14 @@ package provides a light and a dark variant.")
(define-public emacs-ahungry-theme
(package
(name "emacs-ahungry-theme")
- (version "1.8.0")
+ (version "1.10.0")
(source
(origin (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/ahungry-theme-"
version ".tar"))
(sha256
(base32
- "14dhnrlbjzrxk5ligf0z2im5bgnxpjqqzqcrmqg5355xrgpbpb7v"))))
+ "14q5yw56n82qph09bk7wmj5b1snhh9w0nk5s1l7yn9ldg71xq6pm"))))
(build-system emacs-build-system)
(home-page "https://github.com/ahungry/color-theme-ahungry")
(synopsis "Ahungry color theme for Emacs")
@@ -3546,6 +3546,7 @@ It is recommended to use @code{clojure-mode} with paredit or smartparens.")
(uri (string-append
"https://github.com/cask/epl/archive/"
version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1511n3a3f5gvaf2b4nh018by61ciyzi3y3603fzqma7p9hrckarc"))))
@@ -4300,6 +4301,7 @@ CIDER).")
(uri (git-reference
(url "https://github.com/joaotavora/sly.git")
(commit commit)))
+ (file-name (git-file-name name version))
(sha256
(base32
"0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
@@ -4492,14 +4494,14 @@ passive voice.")
(name "emacs-org")
;; emacs-org-contrib inherits from this package. Please update its sha256
;; checksum as well.
- (version "20180103")
+ (version "20180226")
(source (origin
(method url-fetch)
(uri (string-append "https://orgmode.org/elpa/org-"
version ".tar"))
(sha256
(base32
- "1hyw9sigcv9wn37y2icmhf1czf0s3dgvsmn36355l95zsw7hnvgj"))))
+ "0jqvry6gah1bwnryha4asynj13jyds3qim0xcy7s01rxk99m2ziy"))))
(build-system emacs-build-system)
(home-page "https://orgmode.org/")
(synopsis "Outline-based notes management and organizer")
@@ -4519,7 +4521,7 @@ reproducible research.")
(package-version emacs-org) ".tar"))
(sha256
(base32
- "164i2asqh34p1g3iqsn7rziyxbi1ys8fwdmn7nsw5xph8qszv9zj"))))
+ "034wp70hcqnpidji5k1k80mj35iyyy098nbvc2sl7i2aca4m03zc"))))
(arguments
`(#:modules ((guix build emacs-build-system)
(guix build utils)
@@ -6785,8 +6787,8 @@ want to use it.")
(license license:gpl3+)))
(define-public emacs-slack
- (let ((commit "02ee1d7339e48c64946041f6f4e09447c3f53e82")
- (revision "2"))
+ (let ((commit "92724604879149cf331fa8778d089813a9d4ce1a")
+ (revision "3"))
(package
(name "emacs-slack")
(version (string-append "0-" revision "." (string-take commit 7)))
@@ -6798,7 +6800,7 @@ want to use it.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "0grx95xxf314m2k35m1kf20l2pwc6j11ibvrngx4pis7wqwjas3h"))))
+ "1fdf8s3ca356k7m7f5kqzfamfl2nrqjj2pynjv3kkrr0ad15nxmw"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-alert" ,emacs-alert)
@@ -6889,7 +6891,7 @@ in a generalized CSV (character-separated values) format.")
(define-public emacs-transmission
(package
(name "emacs-transmission")
- (version "0.12")
+ (version "0.12.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -6898,7 +6900,7 @@ in a generalized CSV (character-separated values) format.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1y0bpsy16pycp6m9aqvfjh2x1yswfb305ib7m2slcjpb6njgxfi6"))))
+ "1rrlgn96gi1ljfwbwvlyyxbq75xzamlbdhq1bpyadxxmxcvlmk3n"))))
(build-system emacs-build-system)
(home-page "https://github.com/holomorph/transmission")
(synopsis "Emacs interface to a Transmission session")
@@ -7311,3 +7313,51 @@ Features:
(description "@code{epipe} provides an utility to use your editor in
the pipeline, featuring the support for running @code{emacsclient}.")
(license license:gpl3+)))
+
+(define-public emacs-hcl-mode
+ (package
+ (name "emacs-hcl-mode")
+ (version "0.03")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/syohex/emacs-hcl-mode/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0pvw74qpwh0znqzp6syp4wxjqs7dp1hbn5h7xfk97mff9l5d8k6x"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/syohex/emacs-hcl-mode")
+ (synopsis "Major mode for the Hashicorp Configuration Language")
+ (description
+ "@code{emacs-hcl-mode} provides an Emacs major mode for working with
+@acronym{HCL, Hashicorp Configuration Language}. It provides syntax
+highlighting and indentation support.")
+ (license license:gpl3+)))
+
+(define-public emacs-terraform-mode
+ (package
+ (name "emacs-terraform-mode")
+ (version "0.06")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/syohex/emacs-terraform-mode/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0h9267ifdjmcin4sj8slxydbacx4bqicbvg8pa1qq2l72h9m5381"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-hcl-mode" ,emacs-hcl-mode)))
+ (home-page "https://github.com/syohex/emacs-terraform-mode")
+ (synopsis "Major mode for Terraform")
+ (description
+ "@code{emacs-terraform-mode} provides a major mode for working with
+@uref{https://www.terraform.io/, Terraform} configuration files. Most of the
+functionality is inherited from @code{hcl-mode}.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index b2e33ea10b..6f09c8f353 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -696,7 +697,7 @@ upload binaries to a Parallax Propeller micro-controller.")
(define-public spin2cpp
(package
(name "spin2cpp")
- (version "3.6.3")
+ (version "3.6.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/totalspectrum/spin2cpp/"
@@ -704,7 +705,7 @@ upload binaries to a Parallax Propeller micro-controller.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0v5vzh69bp1r2byrpz12rql1w24ff2v9msr31596zq6hd6n82lnh"))))
+ "05qak187sn0xg7vhrxw27b19xhmid1b8ab8kax3gv0faavzablfw"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;; The tests assume that a micro-controller is connected.
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 413bc5f102..a0bf841415 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
-;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
;;;
;;; This file is part of GNU Guix.
@@ -60,7 +60,7 @@
(define-public efl
(package
(name "efl")
- (version "1.20.6")
+ (version "1.20.7")
(source (origin
(method url-fetch)
(uri (string-append
@@ -68,7 +68,9 @@
version ".tar.xz"))
(sha256
(base32
- "1h9jkb1pkp2g6ld7ra9mxgblx3x5id4162ja697klx9mfjkpxijn"))))
+ "1zkn5ix81xck3n84dxvkjh4alwc6zj8x989d0zqi5c6ppijvgadh"))))
+ (outputs '("out" ; 49 MB
+ "include")) ; 17 MB
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -284,9 +286,10 @@ Libraries with some extra bells and whistles.")
(("/bin/mount") (string-append utils "/bin/mount"))
(("/bin/umount") (string-append utils "/bin/umount"))
(("/usr/bin/eject") (string-append utils "/bin/eject"))
- ; TODO: Replace suspend and hibernate also.
- (("/sbin/shutdown -h now") "/run/current-system/profile/sbin/halt")
- (("/sbin/shutdown -r now") "/run/current-system/profile/sbin/reboot"))
+ (("/etc/acpi/sleep.sh force") "/run/current-system/profile/bin/loginctl suspend")
+ (("/etc/acpi/hibernate.sh force") "/run/current-system/profile/bin/loginctl hibernate")
+ (("/sbin/shutdown -h now") "/run/current-system/profile/bin/loginctl poweroff now")
+ (("/sbin/shutdown -r now") "/run/current-system/profile/bin/loginctl reboot now"))
#t))))))
(native-inputs
`(("gettext" ,gettext-minimal)
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 1d73f4aef4..0e65213c72 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -114,6 +114,7 @@ single file can be mounted.")
(uri (git-reference
(url "https://github.com/ReproducibleBuilds/disorderfs.git")
(commit "0.5.2")))
+ (file-name (git-file-name name version))
(sha256
(base32
"1j028dq3d4m64mn9xmfamcnnc7i2drmra4pdmxdmqdsi8p7yj4sv"))))
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 12595dc31c..714af3df72 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 David Craven <david@craven.ch>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -70,11 +71,8 @@
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(fw-dir (string-append out "/lib/firmware")))
- (mkdir-p fw-dir)
(for-each (lambda (file)
- (copy-file file
- (string-append fw-dir "/"
- (basename file))))
+ (install-file file fw-dir))
(find-files "." "\\.fw$"))
#t))))
#:tests? #f))
@@ -94,11 +92,11 @@ Linux-libre.")
(license (license:non-copyleft "http://directory.fsf.org/wiki/License:ClearBSD"))))
(define-public b43-tools
- (let ((commit "8dce53297966b31b6c70a7a03c2433978dd9f288")
- (rev "1"))
+ (let ((commit "27892ef741e7f1d08cb939744f8b8f5dac7b04ae")
+ (revision "1"))
(package
(name "b43-tools")
- (version (string-append "20140625-" rev "." (string-take commit 7)))
+ (version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
@@ -108,7 +106,7 @@ Linux-libre.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "08k7sdr9jagm43r2zv4h03j86klhkblpk73p12444a3vzg1gy1lv"))))
+ "1wgmj4d65izbhprwb5bcwimc2ryv19b9066lqzy4sa5m6wncm9cn"))))
(build-system gnu-build-system)
(native-inputs
`(("flex" ,flex)
@@ -117,11 +115,11 @@ Linux-libre.")
`(#:modules ((srfi srfi-1)
(guix build gnu-build-system)
(guix build utils))
- #:tests? #f ;no tests
+ #:tests? #f ; no tests
#:phases
(let ((subdirs '("assembler" "disassembler")))
(modify-phases %standard-phases
- (delete 'configure)
+ (delete 'configure) ; no configure script
(add-before 'build 'patch-/bin/true
(lambda _
(substitute* (find-files "." "Makefile")
@@ -129,21 +127,22 @@ Linux-libre.")
#t))
(replace 'build
(lambda _
- (every (lambda (dir)
- (zero? (system* "make" "-C" dir "CC=gcc")))
- subdirs)))
+ (for-each (lambda (dir)
+ (invoke "make" "-C" dir "CC=gcc"))
+ subdirs)
+ #t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
- (every (lambda (dir)
- (zero?
- (system* "make" "-C" dir
- (string-append "PREFIX=" out)
- "install")))
- subdirs))))))))
+ (for-each (lambda (dir)
+ (invoke "make" "-C" dir
+ (string-append "PREFIX=" out)
+ "install"))
+ subdirs)
+ #t)))))))
(home-page
- "http://bues.ch/cms/hacking/misc.html#linux_b43_driver_firmware_tools")
+ "https://bues.ch/cms/hacking/misc.html#linux_b43_driver_firmware_tools")
(synopsis "Collection of tools for the b43 wireless driver")
(description
"The b43 firmware tools is a collection of firmware extractor,
@@ -259,6 +258,8 @@ coreboot.")
(setenv "WORKSPACE" cwd)
(setenv "EDK_TOOLS_PATH" tools)
(setenv "PATH" (string-append (getenv "PATH") ":" bin))
+ ; FIXME: The below script errors out. When using 'invoke' instead
+ ; of 'system*' this causes the build to fail.
(system* "bash" "edksetup.sh" "BaseTools")
(substitute* "Conf/target.txt"
(("^TARGET[ ]*=.*$") "TARGET = RELEASE\n")
@@ -268,14 +269,16 @@ coreboot.")
(number->string (parallel-job-count)))))
;; Build build support.
(setenv "BUILD_CC" "gcc")
- (zero? (system* "make" "-C" (string-append tools "/Source/C"))))))
+ (invoke "make" "-C" (string-append tools "/Source/C"))
+ #t)))
(add-after 'build 'build-ia32
(lambda _
(substitute* "Conf/target.txt"
(("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = IA32\n")
(("^ACTIVE_PLATFORM[ ]*=.*$")
"ACTIVE_PLATFORM = OvmfPkg/OvmfPkgIa32.dsc\n"))
- (zero? (system* "build"))))
+ (invoke "build")
+ #t))
,@(if (string=? "x86_64-linux" (%current-system))
'((add-after 'build 'build-x64
(lambda _
@@ -283,7 +286,8 @@ coreboot.")
(("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = X64\n")
(("^ACTIVE_PLATFORM[ ]*=.*$")
"ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc\n"))
- (zero? (system* "build")))))
+ (invoke "build")
+ #t)))
'())
(delete 'build)
(replace 'install
@@ -299,7 +303,7 @@ coreboot.")
'()))
#t)))))
(supported-systems '("x86_64-linux" "i686-linux"))
- (home-page "http://www.tianocore.org")
+ (home-page "https://www.tianocore.org")
(synopsis "UEFI firmware for QEMU")
(description "OVMF is an EDK II based project to enable UEFI support for
Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm
index 5309510d40..192f84c36c 100644
--- a/gnu/packages/flashing-tools.scm
+++ b/gnu/packages/flashing-tools.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
-;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
@@ -402,7 +402,10 @@ dump Intel Firmware Descriptor data of an image file.")
Management Engine (ME). You need to @code{sudo rmmod mei_me} and
@code{sudo rmmod mei} before using this tool. Also pass
@code{iomem=relaxed} to the Linux kernel command line.")
- (license license:gpl2)))
+ (license license:gpl2)
+
+ ;; This is obviously an Intel thing, plus it requires <cpuid.h>.
+ (supported-systems '("x86_64-linux" "i686-linux"))))
(define-public me-cleaner
(package
@@ -420,7 +423,7 @@ Management Engine (ME). You need to @code{sudo rmmod mei_me} and
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'create-setup.py
+ (add-after 'unpack 'create-setup.py
(lambda _
(call-with-output-file "setup.py"
(lambda (port)
@@ -433,4 +436,7 @@ setup(name='me_cleaner', version='~a', scripts=['me_cleaner.py'])
(synopsis "Intel ME cleaner")
(description "This package provides tools for disabling Intel
ME as far as possible (it only edits ME firmware image files).")
- (license license:gpl3+)))
+ (license license:gpl3+)
+
+ ;; This is an Intel thing.
+ (supported-systems '("x86_64-linux" "i686-linux"))))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 8af4f8dc83..aa9e466ebb 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -21,6 +21,7 @@
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
+;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -55,6 +56,27 @@
#:use-module (gnu packages python)
#:use-module (gnu packages xorg))
+(define-public font-ibm-plex
+ (package
+ (name "font-ibm-plex")
+ (version "1.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/IBM/plex/releases/download/"
+ "v" version "/OpenType.zip"))
+ (sha256
+ (base32
+ "0nzxw9z6waixslam248yr26ci3fbk83c7jf6m90hncnaj6zxx795"))))
+ (build-system font-build-system)
+ (home-page "https://github.com/IBM/plex")
+ (synopsis "IBM Plex typeface")
+ (description "This package provides the Plex font family. It comes in a
+Sans, Serif, Mono and Sans Condensed, all with roman and true italics. The
+fonts have been designed to work well in user interface (UI) environments as
+well as other mediums.")
+ (license license:silofl1.1)))
+
(define-public font-inconsolata
(package
(name "font-inconsolata")
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 383243b13f..22382f745a 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -290,7 +290,7 @@ high quality, anti-aliased and subpixel rendered text on a display.")
; The exact license is more X11-style than BSD-style.
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))
- (home-page "http://www.freedesktop.org/wiki/Software/fontconfig")))
+ (home-page "https://www.freedesktop.org/wiki/Software/fontconfig")))
(define-public t1lib
(package
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 63adb4d076..3c83e668b0 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -409,7 +409,7 @@ manager for the current system.")
`(("shared-mime-info" ,shared-mime-info) ;for tests
("hicolor-icon-theme" ,hicolor-icon-theme) ;for tests
("python-nose" ,python-nose)))
- (home-page "http://freedesktop.org/wiki/Software/pyxdg")
+ (home-page "https://www.freedesktop.org/wiki/Software/pyxdg")
(synopsis "Implementations of freedesktop.org standards in Python")
(description
"PyXDG is a collection of implementations of freedesktop.org standards in
@@ -740,7 +740,7 @@ message bus.")
(inputs
`(("shadow" ,shadow)
("polkit" ,polkit)))
- (home-page "http://www.freedesktop.org/wiki/Software/AccountsService/")
+ (home-page "https://www.freedesktop.org/wiki/Software/AccountsService/")
(synopsis "D-Bus interface for user account query and manipulation")
(description
"The AccountService project provides a set of D-Bus interfaces for querying
@@ -840,7 +840,7 @@ which speak the Qualcomm MSM Interface (QMI) protocol.")
("libqmi" ,libqmi)
("polkit" ,polkit)))
(synopsis "Mobile broadband modems manager")
- (home-page "http://www.freedesktop.org/wiki/Software/ModemManager/")
+ (home-page "https://www.freedesktop.org/wiki/Software/ModemManager/")
(description
"ModemManager is a DBus-activated daemon which controls mobile
broadband (2G/3G/4G) devices and connections. Whether built-in devices, USB
@@ -882,7 +882,7 @@ modems and setup connections with them.")
("sqlite" ,sqlite)
("telepathy-glib" ,telepathy-glib)))
(synopsis "Telepathy logger library")
- (home-page "http://telepathy.freedesktop.org/")
+ (home-page "https://telepathy.freedesktop.org/")
(description
"Telepathy logger is a headless observer client that logs information
received by the Telepathy framework. It features pluggable backends to log
@@ -909,7 +909,7 @@ different sorts of messages in different formats.")
("python-dbus" ,python2-dbus)))
(propagated-inputs
`(("telepathy-glib" ,telepathy-glib)))
- (home-page "http://telepathy.freedesktop.org/")
+ (home-page "https://telepathy.freedesktop.org/")
(synopsis "Telepathy IRC connection manager")
(description
"Idle is an IRC connection manager for the Telepathy framework. This
@@ -971,7 +971,7 @@ share connections to real-time communication services without conflicting.")
`(("colord" ,colord)
("gtk+" ,gtk+)))
(synopsis "GTK integration for libcolord")
- (home-page "http://www.freedesktop.org/software/colord/")
+ (home-page "https://www.freedesktop.org/software/colord/")
(description
"This is a GTK+ convenience library for interacting with colord. It is
useful for both applications which need colour management and applications that
@@ -1068,7 +1068,7 @@ to applications simultaneously competing for fingerprint readers.")
`(("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib)))
- (home-page "http://www.freedesktop.org/wiki/Software/desktop-file-utils/")
+ (home-page "https://www.freedesktop.org/wiki/Software/desktop-file-utils/")
(synopsis "Utilities for working with desktop entries")
(description
"This package contains a few command line utilities for working with
diff --git a/gnu/packages/fribidi.scm b/gnu/packages/fribidi.scm
index 735fdab8e8..c8a91be4ef 100644
--- a/gnu/packages/fribidi.scm
+++ b/gnu/packages/fribidi.scm
@@ -26,15 +26,16 @@
(define-public fribidi
(package
(name "fribidi")
- (version "0.19.7")
+ (version "1.0.1")
(source
(origin
(method url-fetch)
(uri
- (string-append "http://fribidi.org/download/" name "-" version
+ (string-append "https://github.com/fribidi/fribidi/releases"
+ "/download/v" version "/fribidi-" version
".tar.bz2"))
(sha256
- (base32 "13jsb5qadlhsaxkbrb49nqslmbh904vvzhsm5mm2ghmv29i2l8h8"))))
+ (base32 "1r3ll7apx4b8bhvdkwi71y06df9kvr4q3asvajswvdlh0pbq5cf1"))))
(build-system gnu-build-system)
(synopsis "Implementation of the Unicode bidirectional algorithm")
@@ -42,5 +43,5 @@
"GNU FriBidi is an implementation of the Unicode Bidirectional
Algorithm. This algorithm is used to properly display text in left-to-right
or right-to-left ordering as necessary.")
- (home-page "http://fribidi.org/")
+ (home-page "https://github.com/fribidi/fribidi")
(license lgpl2.1+)))
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index 395e38d3ae..5a79edf245 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -168,7 +168,7 @@ as required.")
(define-public libfilezilla
(package
(name "libfilezilla")
- (version "0.12.0")
+ (version "0.12.1")
(source
(origin
(method url-fetch)
@@ -176,7 +176,7 @@ as required.")
name "/" name "-" version ".tar.bz2"))
(sha256
(base32
- "14zag4mhwp5mbir63j1k01jys973kmrivznmm78v6qa92l64jn0a"))))
+ "1gbqm42dd0m3fvqz3bk53889479dvn8679zp6ba8a9q2br2wkvv0"))))
(build-system gnu-build-system)
(native-inputs
`(("cppunit" ,cppunit)
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 2a5bc63294..db13ac0eff 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Julian Graham <joolean@gmail.com>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
@@ -386,7 +386,7 @@ support.")
(define-public tiled
(package
(name "tiled")
- (version "1.1.2")
+ (version "1.1.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/bjorn/tiled/archive/v"
@@ -394,7 +394,7 @@ support.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0l4wc10d10fi0a5spbi318kjfzlizmycpr4wwlq04sk3b5kra0w0"))))
+ "08bxl6vc7ynnji4r6ij9ayr2jixvfhv4daplw5p96s0gkhdqd90k"))))
(build-system gnu-build-system)
(inputs
`(("qtbase" ,qtbase)
@@ -547,7 +547,15 @@ archive on a per-file basis.")
"love-" version "-linux-src.tar.gz"))
(sha256
(base32
- "11x346pw0gqad8nmkmywzx4xpcbfc3dslbrdw5x94n1i25mk0sxj"))))
+ "11x346pw0gqad8nmkmywzx4xpcbfc3dslbrdw5x94n1i25mk0sxj"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Build with luajit 2.1.0-beta3. Fixed in love 0.11.
+ ;; See <https://bitbucket.org/rude/love/issues/1277>.
+ (substitute* "src/libraries/luasocket/libluasocket/lua.h"
+ (("> 501") ">= 501"))
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -1051,7 +1059,7 @@ games.")
(define-public godot
(package
(name "godot")
- (version "3.0")
+ (version "3.0.1")
(source (origin
(method url-fetch)
(uri
@@ -1060,7 +1068,7 @@ games.")
(file-name (string-append name "-" version))
(sha256
(base32
- "1jhp269n1a7c663v2555444icbjwzscj4r8cq4rrrap7r7dr4hyc"))))
+ "0k8c12nzhl98i9il9s3awbwdamkrwxk0s47jr7n8a3z93rpszd2p"))))
(build-system scons-build-system)
(arguments
`(#:scons ,scons-python2
@@ -1103,16 +1111,16 @@ games.")
(if (file-exists? "godot.x11.tools.64")
(rename-file "godot.x11.tools.64" "godot")
(rename-file "godot.x11.tools.32" "godot"))
- (install-file "godot" bin)))))
+ (install-file "godot" bin))
+ #t)))
(add-after 'install 'install-godot-desktop
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(desktop (string-append out "/share/applications"))
(icon-dir (string-append out "/share/pixmaps")))
- (mkdir-p desktop)
- (mkdir-p icon-dir)
(rename-file "icon.png" "godot.png")
(install-file "godot.png" icon-dir)
+ (mkdir-p desktop)
(with-output-to-file
(string-append desktop "/godot.desktop")
(lambda _
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index eb98197a06..6d44d8d91e 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -370,7 +370,7 @@ effects and music to make a completely free game.")
(version "3.1")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/golly/golly-"
+ (uri (string-append "mirror://sourceforge/golly/golly/golly-"
version "/golly-" version
"-src.tar.gz"))
(sha256
@@ -3491,6 +3491,7 @@ Magic, Egypt, Indians, Norsemen, Persian or Romans.")
(uri (git-reference
(url "https://github.com/freegish/freegish.git")
(commit commit)))
+ (file-name (git-file-name name version))
(sha256
(base32
"1p1zf5qqagmcpi1db2bs02cnalpy3qiymp6yzan7k1bhmv859gsx"))
diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm
index 3b1def55e1..c815cdd7ea 100644
--- a/gnu/packages/gd.scm
+++ b/gnu/packages/gd.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -93,45 +94,27 @@ most common applications of GD involve website development.")
(define-public perl-gd
(package
(name "perl-gd")
- (version "2.56")
+ (version "2.68")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://cpan/authors/id/L/LD/LDS/"
+ (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/"
"GD-" version ".tar.gz"))
(sha256
(base32
- "1ya8f9hpiax8j29vwaiwlvvgah0vkyvpzva28r8231nyk0f3s40z"))
- (patches (search-patches
- "perl-gd-options-passthrough-and-fontconfig.patch"))))
+ "0p2ya641nl5cvcqgw829xgabh835qijfd6vq2ba12862946xx8va"))))
(build-system perl-build-system)
- (native-inputs
- `(("perl-module-build" ,perl-module-build))) ;needs Module::Build >= 0.42
(inputs
- `(("gd" ,gd)
- ("zlib" ,zlib)
- ("png" ,libpng)
- ("ft" ,freetype)
- ("jpeg" ,libjpeg)
- ("fontconfig" ,fontconfig)))
+ `(("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("gd" ,gd)
+ ("libpng" ,libpng)
+ ("libjpeg" ,libjpeg)
+ ("zlib" ,zlib)))
(arguments
- ;; We must use Build.PL for building because Makefile.PL fails to build
- ;; the XS source.
- `(#:module-build-flags (map (lambda (i)
- (string-append "--lib_" i "_path="
- (assoc-ref %build-inputs i)))
- '("zlib" "png" "ft" "jpeg" "fontconfig"))
- #:tests? #f ;; Failed 1/2 test programs. 1/12 subtests failed.
- #:phases
- (modify-phases %standard-phases
- (add-after 'configure 'clear-autogenerated-files
- (lambda _
- ;; This file is autogenerated by its .PLS script at build
- ;; time, but file creation fails because that file already
- ;; exists in the distribution with non-writable
- ;; permissions, so delete it first.
- (delete-file "bdf_scripts/bdf2gdfont.pl")
- #t)))))
+ `(#:make-maker-flags
+ (list (string-append "--lib_jpeg_path="
+ (assoc-ref %build-inputs "libjpeg")))))
(home-page "http://search.cpan.org/dist/GD")
(synopsis "Perl interface to the GD graphics library")
(description "GD.pm is an autoloadable interface module for libgd, a
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index 6cad2ba93b..345ac76317 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -362,4 +362,4 @@ Ghostscript. It currently includes the 35 standard PostScript fonts.")
It provides a convenient easy to use API for handling and rendering
Postscript documents.")
(license license:gpl2+)
- (home-page "http://www.freedesktop.org/wiki/Software/libspectre")))
+ (home-page "https://www.freedesktop.org/wiki/Software/libspectre")))
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index e802d6ce1a..34968f9d91 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -124,7 +125,7 @@
;; '--autolaunch'.
("libx11" ,libx11)))
- (home-page "http://dbus.freedesktop.org/")
+ (home-page "https://www.freedesktop.org/wiki/Software/dbus/")
(synopsis "Message bus for inter-process communication (IPC)")
(description
"D-Bus is a message bus system, a simple way for applications to
@@ -462,7 +463,7 @@ translated.")
(native-inputs
`(("glib" ,glib "bin")
("pkg-config" ,pkg-config)))
- (home-page "http://dbus.freedesktop.org/doc/dbus-glib/")
+ (home-page "https://dbus.freedesktop.org/doc/dbus-glib/")
(synopsis "D-Bus GLib bindings")
(description
"GLib bindings for D-Bus. The package is obsolete and superseded
@@ -499,7 +500,7 @@ has an ease of use unmatched by other C++ callback libraries.")
(define glibmm
(package
(name "glibmm")
- (version "2.50.1")
+ (version "2.54.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/"
@@ -507,10 +508,13 @@ has an ease of use unmatched by other C++ callback libraries.")
"/glibmm-" version ".tar.xz"))
(sha256
(base32
- "1926b3adx903hzvdp8glblsgjyadzqnwgkj8hg605d4wv98m1n0z"))))
+ "0jkapw18icz59cmlmsl00nwwz0wh291kb4hc9z9hxmq45drqrhkw"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
+ `(;; XXX: Some tests uses C++14 features. Remove this when the default
+ ;; compiler is >= GCC6.
+ #:configure-flags '("CXXFLAGS=-std=gnu++14")
+ #:phases
(modify-phases %standard-phases
(add-before 'build 'pre-build
(lambda _
@@ -532,7 +536,7 @@ has an ease of use unmatched by other C++ callback libraries.")
(propagated-inputs
`(("libsigc++" ,libsigc++)
("glib" ,glib)))
- (home-page "http://gtkmm.org/")
+ (home-page "https://gtkmm.org/")
(synopsis "C++ interface to the GLib library")
(description
"Glibmm provides a C++ programming interface to the part of GLib that are
@@ -544,7 +548,7 @@ useful for C++.")
(name "python2-pygobject")
;; This was the last version to declare the 2.0 platform number, i.e. its
;; pkg-config files were named pygobject-2.0.pc
- (version "2.28.6")
+ (version "2.28.7")
(source
(origin
(method url-fetch)
@@ -553,7 +557,7 @@ useful for C++.")
"/pygobject-" version ".tar.xz"))
(sha256
(base32
- "1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv"))
+ "0nkam61rsn7y3wik3vw46wk5q2cjfh2iph57hl9m39rc8jijb7dv"))
(patches (search-patches
"python2-pygobject-2-gi-info-type-error-domain.patch"))))
(build-system gnu-build-system)
@@ -623,6 +627,33 @@ useful for C++.")
("python-pycairo" ,python2-pycairo)
("gobject-introspection" ,gobject-introspection)))))
+(define-public perl-glib
+ (package
+ (name "perl-glib")
+ (version "1.326")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/X/XA/XAOC/Glib-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0prn9kkdpwjq9qmzqashbhk3pq4gvlrmvm3b10xf1dhc48406382"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-extutils-depends" ,perl-extutils-depends)
+ ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig)))
+ (inputs
+ `(("glib" ,glib)))
+ (home-page "http://search.cpan.org/dist/Glib/")
+ (synopsis "Perl wrappers for the GLib utility and Object libraries")
+ (description "This module provides perl access to GLib and GLib's GObject
+libraries. GLib is a portability and utility library; GObject provides a
+generic type system with inheritance and a powerful signal system. Together
+these libraries are used as the foundation for many of the libraries that make
+up the Gnome environment, and are used in many unrelated projects.")
+ (license license:lgpl2.1+)))
+
(define telepathy-glib
(package
(name "telepathy-glib")
@@ -663,7 +694,7 @@ useful for C++.")
`(("dbus" ,dbus)
("dbus-glib" ,dbus-glib)
("glib" ,glib)))
- (home-page "http://telepathy.freedesktop.org/wiki/")
+ (home-page "https://telepathy.freedesktop.org/wiki/")
(synopsis "GLib Real-time communications framework over D-Bus")
(description "Telepathy is a flexible, modular communications framework
that enables real-time communication over D-Bus via pluggable protocol
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 19cc4d2e34..a4ace442e8 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm