Merge branch 'master' into core-updates
This commit is contained in:
		
						commit
						ffddb42d6c
					
				
					 60 changed files with 3097 additions and 439 deletions
				
			
		| 
						 | 
				
			
			@ -45,6 +45,7 @@
 | 
			
		|||
   (eval . (put 'manifest-pattern 'scheme-indent-function 0))
 | 
			
		||||
   (eval . (put 'substitute-keyword-arguments 'scheme-indent-function 1))
 | 
			
		||||
   (eval . (put 'with-store 'scheme-indent-function 1))
 | 
			
		||||
   (eval . (put 'with-external-store 'scheme-indent-function 1))
 | 
			
		||||
   (eval . (put 'with-error-handling 'scheme-indent-function 0))
 | 
			
		||||
   (eval . (put 'with-mutex 'scheme-indent-function 1))
 | 
			
		||||
   (eval . (put 'with-atomic-file-output 'scheme-indent-function 1))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11000,6 +11000,12 @@ Return a service that runs a syslog daemon according to @var{config}.
 | 
			
		|||
information on the configuration file syntax.
 | 
			
		||||
@end deffn
 | 
			
		||||
 | 
			
		||||
@defvr {Scheme Variable} guix-service-type
 | 
			
		||||
This is the type of the service that runs the build daemon,
 | 
			
		||||
@command{guix-daemon} (@pxref{Invoking guix-daemon}).  Its value must be a
 | 
			
		||||
@code{guix-configuration} record as described below.
 | 
			
		||||
@end defvr
 | 
			
		||||
 | 
			
		||||
@anchor{guix-configuration-type}
 | 
			
		||||
@deftp {Data Type} guix-configuration
 | 
			
		||||
This data type represents the configuration of the Guix build daemon.
 | 
			
		||||
| 
						 | 
				
			
			@ -11060,11 +11066,6 @@ A directory path where the @command{guix-daemon} will perform builds.
 | 
			
		|||
@end table
 | 
			
		||||
@end deftp
 | 
			
		||||
 | 
			
		||||
@deffn {Scheme Procedure} guix-service @var{config}
 | 
			
		||||
Return a service that runs the Guix build daemon according to
 | 
			
		||||
@var{config}.
 | 
			
		||||
@end deffn
 | 
			
		||||
 | 
			
		||||
@deffn {Scheme Procedure} udev-service [#:udev @var{eudev} #:rules @code{'()}]
 | 
			
		||||
Run @var{udev}, which populates the @file{/dev} directory dynamically.
 | 
			
		||||
udev rules can be provided as a list of files through the @var{rules}
 | 
			
		||||
| 
						 | 
				
			
			@ -11545,10 +11546,11 @@ The @code{(gnu services networking)} module provides services to configure
 | 
			
		|||
the network interface.
 | 
			
		||||
 | 
			
		||||
@cindex DHCP, networking service
 | 
			
		||||
@deffn {Scheme Procedure} dhcp-client-service [#:dhcp @var{isc-dhcp}]
 | 
			
		||||
Return a service that runs @var{dhcp}, a Dynamic Host Configuration
 | 
			
		||||
Protocol (DHCP) client, on all the non-loopback network interfaces.
 | 
			
		||||
@end deffn
 | 
			
		||||
@defvr {Scheme Variable} dhcp-client-service-type
 | 
			
		||||
This is the type of services that run @var{dhcp}, a Dynamic Host Configuration
 | 
			
		||||
Protocol (DHCP) client, on all the non-loopback network interfaces.  Its value
 | 
			
		||||
is the DHCP client package to use, @code{isc-dhcp} by default.
 | 
			
		||||
@end defvr
 | 
			
		||||
 | 
			
		||||
@deffn {Scheme Procedure} dhcpd-service-type
 | 
			
		||||
This type defines a service that runs a DHCP daemon.  To create a
 | 
			
		||||
| 
						 | 
				
			
			@ -11815,20 +11817,37 @@ objects}).
 | 
			
		|||
@end table
 | 
			
		||||
@end deftp
 | 
			
		||||
 | 
			
		||||
@cindex NTP
 | 
			
		||||
@cindex NTP (Network Time Protocol), service
 | 
			
		||||
@cindex real time clock
 | 
			
		||||
@deffn {Scheme Procedure} ntp-service [#:ntp @var{ntp}] @
 | 
			
		||||
  [#:servers @var{%ntp-servers}] @
 | 
			
		||||
  [#:allow-large-adjustment? #f]
 | 
			
		||||
Return a service that runs the daemon from @var{ntp}, the
 | 
			
		||||
@uref{http://www.ntp.org, Network Time Protocol package}.  The daemon will
 | 
			
		||||
keep the system clock synchronized with that of @var{servers}.
 | 
			
		||||
@var{allow-large-adjustment?} determines whether @command{ntpd} is allowed to
 | 
			
		||||
make an initial adjustment of more than 1,000 seconds.
 | 
			
		||||
@end deffn
 | 
			
		||||
@defvr {Scheme Variable} ntp-service-type
 | 
			
		||||
This is the type of the service running the the @uref{http://www.ntp.org,
 | 
			
		||||
Network Time Protocol (NTP)} daemon, @command{ntpd}.  The daemon will keep the
 | 
			
		||||
system clock synchronized with that of the specified NTP servers.
 | 
			
		||||
 | 
			
		||||
The value of this service is an @code{ntpd-configuration} object, as described
 | 
			
		||||
below.
 | 
			
		||||
@end defvr
 | 
			
		||||
 | 
			
		||||
@deftp {Data Type} ntp-configuration
 | 
			
		||||
This is the data type for the NTP service configuration.
 | 
			
		||||
 | 
			
		||||
@table @asis
 | 
			
		||||
@item @code{servers} (default: @code{%ntp-servers})
 | 
			
		||||
This is the list of servers (host names) with which @command{ntpd} will be
 | 
			
		||||
synchronized.
 | 
			
		||||
 | 
			
		||||
@item @code{allow-large-adjustment?} (default: @code{#f})
 | 
			
		||||
This determines whether @command{ntpd} is allowed to make an initial
 | 
			
		||||
adjustment of more than 1,000 seconds.
 | 
			
		||||
 | 
			
		||||
@item @code{ntp} (default: @code{ntp})
 | 
			
		||||
The NTP package to use.
 | 
			
		||||
@end table
 | 
			
		||||
@end deftp
 | 
			
		||||
 | 
			
		||||
@defvr {Scheme Variable} %ntp-servers
 | 
			
		||||
List of host names used as the default NTP servers.
 | 
			
		||||
List of host names used as the default NTP servers.  These are servers of the
 | 
			
		||||
@uref{https://www.ntppool.org/en/, NTP Pool Project}.
 | 
			
		||||
@end defvr
 | 
			
		||||
 | 
			
		||||
@cindex OpenNTPD
 | 
			
		||||
| 
						 | 
				
			
			@ -17167,7 +17186,7 @@ A helper function to quickly add php to an @code{nginx-server-configuration}.
 | 
			
		|||
 | 
			
		||||
A simple services setup for nginx with php can look like this:
 | 
			
		||||
@example
 | 
			
		||||
(services (cons* (dhcp-client-service)
 | 
			
		||||
(services (cons* (service dhcp-client-service-type)
 | 
			
		||||
                 (service php-fpm-service-type)
 | 
			
		||||
                 (service nginx-service-type
 | 
			
		||||
                          (nginx-server-configuration
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -886,7 +886,6 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/libgdata-glib-duplicate-tests.patch	\
 | 
			
		||||
  %D%/packages/patches/libgnome-encoding.patch			\
 | 
			
		||||
  %D%/packages/patches/libgnomeui-utf8.patch			\
 | 
			
		||||
  %D%/packages/patches/libgxps-CVE-2017-11590.patch		\
 | 
			
		||||
  %D%/packages/patches/libffi-3.2.1-complex-alpha.patch		\
 | 
			
		||||
  %D%/packages/patches/libjxr-fix-function-signature.patch	\
 | 
			
		||||
  %D%/packages/patches/libjxr-fix-typos.patch			\
 | 
			
		||||
| 
						 | 
				
			
			@ -1150,6 +1149,7 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/slim-login.patch				\
 | 
			
		||||
  %D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch	\
 | 
			
		||||
  %D%/packages/patches/sooperlooper-build-with-wx-30.patch 	\
 | 
			
		||||
  %D%/packages/patches/soundconverter-remove-gconf-dependency.patch	\
 | 
			
		||||
  %D%/packages/patches/soundtouch-CVE-2018-14044-14045.patch 	\
 | 
			
		||||
  %D%/packages/patches/soundtouch-CVE-2018-1000223.patch 	\
 | 
			
		||||
  %D%/packages/patches/steghide-fixes.patch			\
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,6 +14,7 @@
 | 
			
		|||
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
			
		||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 | 
			
		||||
;;; Copyright © 2018 Brett Gilio <brettg@posteo.net>
 | 
			
		||||
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -1041,7 +1042,7 @@ follower.")
 | 
			
		|||
(define-public fluidsynth
 | 
			
		||||
  (package
 | 
			
		||||
    (name "fluidsynth")
 | 
			
		||||
    (version "1.1.11")
 | 
			
		||||
    (version "2.0.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
| 
						 | 
				
			
			@ -1050,7 +1051,7 @@ follower.")
 | 
			
		|||
              (file-name (string-append name "-" version "-checkout"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh"))))
 | 
			
		||||
                "1mqyym5qkh8xd1rqj3yhfxbw5dxjcrljb6nkfqzvcarlv4h6rjn7"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:tests? #f                      ; no check target
 | 
			
		||||
| 
						 | 
				
			
			@ -1082,6 +1083,22 @@ device.  It is the software analogue of a MIDI synthesizer.  FluidSynth can
 | 
			
		|||
also play midifiles using a Soundfont.")
 | 
			
		||||
    (license license:lgpl2.1+)))
 | 
			
		||||
 | 
			
		||||
;; gzdoom@3.3.0 and lmms@1.1.3 requires this version.  Remove once no longer
 | 
			
		||||
;; needed.
 | 
			
		||||
(define-public fluidsynth-1
 | 
			
		||||
  (package
 | 
			
		||||
    (inherit fluidsynth)
 | 
			
		||||
    (version "1.1.11")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (inherit (package-source fluidsynth))
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/FluidSynth/fluidsynth")
 | 
			
		||||
                    (commit (string-append "v" version))))
 | 
			
		||||
              (file-name (git-file-name "fluidsynth" version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh"))))))
 | 
			
		||||
 | 
			
		||||
(define-public faad2
 | 
			
		||||
  (package
 | 
			
		||||
    (name "faad2")
 | 
			
		||||
| 
						 | 
				
			
			@ -1912,7 +1929,7 @@ lv2-c++-tools.")
 | 
			
		|||
(define-public openal
 | 
			
		||||
  (package
 | 
			
		||||
    (name "openal")
 | 
			
		||||
    (version "1.19.0")
 | 
			
		||||
    (version "1.19.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
| 
						 | 
				
			
			@ -1920,7 +1937,7 @@ lv2-c++-tools.")
 | 
			
		|||
                    version ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1mhf5bsb58s1xk6hvxl7ly7rd4rpl9z8h07xl1q94brywykg7bgi"))))
 | 
			
		||||
                "1sdjhkz2gd6lbnwphi1b6aw3br4wv2lik5vnqh6mxfc8a7zqfbsw"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f  ; no check target
 | 
			
		||||
| 
						 | 
				
			
			@ -2761,7 +2778,7 @@ interface.")
 | 
			
		|||
(define-public qsynth
 | 
			
		||||
  (package
 | 
			
		||||
    (name "qsynth")
 | 
			
		||||
    (version "0.5.2")
 | 
			
		||||
    (version "0.5.3")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -2769,7 +2786,7 @@ interface.")
 | 
			
		|||
                           "/qsynth-" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1rfkaxq1pyc4hv3l0i6wicianbcbm1wp53kh9i5d4jsljgisd1dv"))))
 | 
			
		||||
         "1jghczmmva7cyavg1q0j8nr3hmjpzzglzi5ckg92ax4ji8gpks9c"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f                      ; no "check" phase
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
#
 | 
			
		||||
# Automatically generated file; DO NOT EDIT.
 | 
			
		||||
# Linux/arm64 4.18.0-gnu Kernel Configuration
 | 
			
		||||
# Linux/arm64 4.18.14-gnu Kernel Configuration
 | 
			
		||||
#
 | 
			
		||||
CONFIG_ARM64=y
 | 
			
		||||
CONFIG_64BIT=y
 | 
			
		||||
| 
						 | 
				
			
			@ -481,7 +481,7 @@ CONFIG_HOTPLUG_PCI=y
 | 
			
		|||
CONFIG_HOTPLUG_PCI_ACPI=y
 | 
			
		||||
CONFIG_HOTPLUG_PCI_ACPI_IBM=m
 | 
			
		||||
CONFIG_HOTPLUG_PCI_CPCI=y
 | 
			
		||||
# CONFIG_HOTPLUG_PCI_SHPC is not set
 | 
			
		||||
CONFIG_HOTPLUG_PCI_SHPC=y
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# PCI controller drivers
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -136,24 +136,23 @@
 | 
			
		|||
       (modify-phases %standard-phases
 | 
			
		||||
         (delete 'configure)
 | 
			
		||||
         (replace 'build
 | 
			
		||||
                  (lambda _
 | 
			
		||||
                    (zero? (system* "gcc"
 | 
			
		||||
                                    "-O3"
 | 
			
		||||
                                    "-ffast-math"
 | 
			
		||||
                                    "-finline-functions"
 | 
			
		||||
                                    "-o"
 | 
			
		||||
                                    "aragorn"
 | 
			
		||||
                                    (string-append "aragorn" ,version ".c")))))
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (invoke "gcc"
 | 
			
		||||
                     "-O3"
 | 
			
		||||
                     "-ffast-math"
 | 
			
		||||
                     "-finline-functions"
 | 
			
		||||
                     "-o"
 | 
			
		||||
                     "aragorn"
 | 
			
		||||
                     (string-append "aragorn" ,version ".c"))
 | 
			
		||||
             #t))
 | 
			
		||||
         (replace 'install
 | 
			
		||||
                  (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
                    (let* ((out (assoc-ref outputs "out"))
 | 
			
		||||
                           (bin (string-append out "/bin"))
 | 
			
		||||
                           (man (string-append out "/share/man/man1")))
 | 
			
		||||
                      (mkdir-p bin)
 | 
			
		||||
                      (install-file "aragorn" bin)
 | 
			
		||||
                      (mkdir-p man)
 | 
			
		||||
                      (install-file "aragorn.1" man))
 | 
			
		||||
                    #t)))))
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (let* ((out (assoc-ref outputs "out"))
 | 
			
		||||
                    (bin (string-append out "/bin"))
 | 
			
		||||
                    (man (string-append out "/share/man/man1")))
 | 
			
		||||
               (install-file "aragorn" bin)
 | 
			
		||||
               (install-file "aragorn.1" man))
 | 
			
		||||
             #t)))))
 | 
			
		||||
    (home-page "http://mbio-serv2.mbioekol.lu.se/ARAGORN")
 | 
			
		||||
    (synopsis "Detect tRNA, mtRNA and tmRNA genes in nucleotide sequences")
 | 
			
		||||
    (description
 | 
			
		||||
| 
						 | 
				
			
			@ -168,15 +167,16 @@ structure of the predicted RNA.")
 | 
			
		|||
    (name "bamm")
 | 
			
		||||
    (version "1.7.3")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              ;; BamM is not available on pypi.
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
                    "https://github.com/Ecogenomics/BamM/archive/"
 | 
			
		||||
                    version ".tar.gz"))
 | 
			
		||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/Ecogenomics/BamM.git")
 | 
			
		||||
                    (commit version)
 | 
			
		||||
                    (recursive? #t)))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1f35yxp4pc8aadsvbpg6r4kg2jh4fkjci0iby4iyljm6980sac0s"))
 | 
			
		||||
                "1p83ahi984ipslxlg4yqy1gdnya9rkn1v71z8djgxkm9d2chw4c5"))
 | 
			
		||||
              (modules '((guix build utils)))
 | 
			
		||||
              (snippet
 | 
			
		||||
               `(begin
 | 
			
		||||
| 
						 | 
				
			
			@ -198,11 +198,12 @@ structure of the predicted RNA.")
 | 
			
		|||
           (lambda _
 | 
			
		||||
             (with-directory-excursion "c"
 | 
			
		||||
               (let ((sh (which "sh")))
 | 
			
		||||
                 (for-each make-file-writable (find-files "." ".*"))
 | 
			
		||||
                 ;; Use autogen so that 'configure' works.
 | 
			
		||||
                 (substitute* "autogen.sh" (("/bin/sh") sh))
 | 
			
		||||
                 (setenv "CONFIG_SHELL" sh)
 | 
			
		||||
                 (substitute* "configure" (("/bin/sh") sh))
 | 
			
		||||
                 (zero? (system* "./autogen.sh"))))))
 | 
			
		||||
                 (invoke "./autogen.sh")))
 | 
			
		||||
             #t))
 | 
			
		||||
         (delete 'build)
 | 
			
		||||
         ;; Run tests after installation so compilation only happens once.
 | 
			
		||||
         (delete 'check)
 | 
			
		||||
| 
						 | 
				
			
			@ -230,7 +231,8 @@ structure of the predicted RNA.")
 | 
			
		|||
             ;; There are 2 errors printed, but they are safe to ignore:
 | 
			
		||||
             ;; 1) [E::hts_open_format] fail to open file ...
 | 
			
		||||
             ;; 2) samtools view: failed to open ...
 | 
			
		||||
             (zero? (system* "nosetests")))))))
 | 
			
		||||
             (invoke "nosetests")
 | 
			
		||||
             #t)))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("autoconf" ,autoconf)
 | 
			
		||||
       ("automake" ,automake)
 | 
			
		||||
| 
						 | 
				
			
			@ -335,15 +337,16 @@ transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.")
 | 
			
		|||
(define-public bedops
 | 
			
		||||
  (package
 | 
			
		||||
    (name "bedops")
 | 
			
		||||
    (version "2.4.33")
 | 
			
		||||
    (version "2.4.35")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://github.com/bedops/bedops/archive/v"
 | 
			
		||||
                                  version ".tar.gz"))
 | 
			
		||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/bedops/bedops.git")
 | 
			
		||||
                    (commit (string-append "v" version))))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0kx4awrwby8f33wqyx8w7ms7v25xhf0d421csgf96a3hfzn2mb0m"))))
 | 
			
		||||
                "0mmgsgwz5r9w76hzgxkxc9s9lkdhhaf7vr6i02b09vbswvs1fyqx"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:tests? #f
 | 
			
		||||
| 
						 | 
				
			
			@ -365,9 +368,9 @@ transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.")
 | 
			
		|||
 | 
			
		||||
             ;; Unpack the tarballs to benefit from shebang patching.
 | 
			
		||||
             (with-directory-excursion "third-party"
 | 
			
		||||
               (and (zero? (system* "tar" "xvf" "jansson-2.6.tar.bz2"))
 | 
			
		||||
                    (zero? (system* "tar" "xvf" "zlib-1.2.7.tar.bz2"))
 | 
			
		||||
                    (zero? (system* "tar" "xvf" "bzip2-1.0.6.tar.bz2"))))
 | 
			
		||||
               (invoke "tar" "xvf" "jansson-2.6.tar.bz2")
 | 
			
		||||
               (invoke "tar" "xvf" "zlib-1.2.7.tar.bz2")
 | 
			
		||||
               (invoke "tar" "xvf" "bzip2-1.0.6.tar.bz2"))
 | 
			
		||||
             ;; Disable unpacking of tarballs in Makefile.
 | 
			
		||||
             (substitute* "system.mk/Makefile.linux"
 | 
			
		||||
               (("^\tbzcat .*") "\t@echo \"not unpacking\"\n")
 | 
			
		||||
| 
						 | 
				
			
			@ -453,6 +456,20 @@ BED, GFF/GTF, VCF.")
 | 
			
		|||
                         (find-files "bin" ".*")))
 | 
			
		||||
             #t)))))))
 | 
			
		||||
 | 
			
		||||
;; Needed for pybedtools.
 | 
			
		||||
(define-public bedtools-2.26
 | 
			
		||||
  (package (inherit bedtools)
 | 
			
		||||
    (name "bedtools")
 | 
			
		||||
    (version "2.26.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://github.com/arq5x/bedtools2/releases/"
 | 
			
		||||
                                  "download/v" version "/"
 | 
			
		||||
                                  "bedtools-" version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0jhavwifnf7lmkb11h9y7dynr8d699h0rd2l52j1pfgircr2zwv5"))))))
 | 
			
		||||
 | 
			
		||||
(define-public ribotaper
 | 
			
		||||
  (package
 | 
			
		||||
    (name "ribotaper")
 | 
			
		||||
| 
						 | 
				
			
			@ -582,29 +599,54 @@ input/output delimiter.  When the new functionality is not used, bioawk is
 | 
			
		|||
intended to behave exactly the same as the original BWK awk.")
 | 
			
		||||
    (license license:x11)))
 | 
			
		||||
 | 
			
		||||
(define-public python2-pybedtools
 | 
			
		||||
(define-public python-pybedtools
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python2-pybedtools")
 | 
			
		||||
    (version "0.6.9")
 | 
			
		||||
    (name "python-pybedtools")
 | 
			
		||||
    (version "0.7.10")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
                    "https://pypi.python.org/packages/source/p/pybedtools/pybedtools-"
 | 
			
		||||
                    version ".tar.gz"))
 | 
			
		||||
              (uri (pypi-uri "pybedtools" version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1ldzdxw1p4y3g2ignmggsdypvqkcwqwzhdha4rbgpih048z5p4an"))))
 | 
			
		||||
                "0l2b2wrnj85azfqgr0zwr60f7j58vlla1hcgxvr9rwikpl8j72ji"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (arguments `(#:python ,python-2)) ; no Python 3 support
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("python-matplotlib" ,python2-matplotlib)))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         ;; See https://github.com/daler/pybedtools/issues/261
 | 
			
		||||
         (add-after 'unpack 'disable-broken-tests
 | 
			
		||||
           (lambda _
 | 
			
		||||
             ;; This test (pybedtools.test.test_scripts.test_venn_mpl) needs a
 | 
			
		||||
             ;; graphical environment.
 | 
			
		||||
             (substitute* "pybedtools/test/test_scripts.py"
 | 
			
		||||
               (("def test_venn_mpl")
 | 
			
		||||
                "def _do_not_test_venn_mpl"))
 | 
			
		||||
             ;; Requires internet access.
 | 
			
		||||
             (substitute* "pybedtools/test/test_helpers.py"
 | 
			
		||||
               (("def test_chromsizes")
 | 
			
		||||
                "def _do_not_test_chromsizes"))
 | 
			
		||||
             ;; FIXME: these two fail for no good reason.
 | 
			
		||||
             (substitute* "pybedtools/test/test1.py"
 | 
			
		||||
               (("def test_issue_157")
 | 
			
		||||
                "def _do_not_test_issue_157")
 | 
			
		||||
               (("def test_to_dataframe")
 | 
			
		||||
                "def _do_not_test_to_dataframe"))
 | 
			
		||||
             #t)))))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     `(("bedtools" ,bedtools)
 | 
			
		||||
       ("samtools" ,samtools)))
 | 
			
		||||
     ;; Tests don't pass with Bedtools 2.27.1.
 | 
			
		||||
     ;; See https://github.com/daler/pybedtools/issues/260
 | 
			
		||||
     `(("bedtools" ,bedtools-2.26)
 | 
			
		||||
       ("samtools" ,samtools)
 | 
			
		||||
       ("python-matplotlib" ,python-matplotlib)
 | 
			
		||||
       ("python-pysam" ,python-pysam)
 | 
			
		||||
       ("python-pyyaml" ,python-pyyaml)))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("python-cython" ,python2-cython)
 | 
			
		||||
       ("python-pyyaml" ,python2-pyyaml)
 | 
			
		||||
       ("python-nose" ,python2-nose)))
 | 
			
		||||
     `(("python-numpy" ,python-numpy)
 | 
			
		||||
       ("python-pandas" ,python-pandas)
 | 
			
		||||
       ("python-cython" ,python-cython)
 | 
			
		||||
       ("python-nose" ,python-nose)
 | 
			
		||||
       ("kentutils" ,kentutils) ; for bedGraphToBigWig
 | 
			
		||||
       ("python-six" ,python-six)))
 | 
			
		||||
    (home-page "https://pythonhosted.org/pybedtools/")
 | 
			
		||||
    (synopsis "Python wrapper for BEDtools programs")
 | 
			
		||||
    (description
 | 
			
		||||
| 
						 | 
				
			
			@ -614,6 +656,36 @@ pybedtools extends BEDTools by offering feature-level manipulations from with
 | 
			
		|||
Python.")
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
 | 
			
		||||
(define-public python2-pybedtools
 | 
			
		||||
  (let ((pkg (package-with-python2 python-pybedtools)))
 | 
			
		||||
    (package (inherit pkg)
 | 
			
		||||
      (arguments
 | 
			
		||||
       `(#:modules ((ice-9 ftw)
 | 
			
		||||
                    (srfi srfi-1)
 | 
			
		||||
                    (srfi srfi-26)
 | 
			
		||||
                    (guix build utils)
 | 
			
		||||
                    (guix build python-build-system))
 | 
			
		||||
         ;; See https://github.com/daler/pybedtools/issues/192
 | 
			
		||||
         ,@(substitute-keyword-arguments (package-arguments pkg)
 | 
			
		||||
             ((#:phases phases)
 | 
			
		||||
              `(modify-phases ,phases
 | 
			
		||||
                 (replace 'check
 | 
			
		||||
                   (lambda _
 | 
			
		||||
                     (let ((cwd (getcwd)))
 | 
			
		||||
                       (setenv "PYTHONPATH"
 | 
			
		||||
                               (string-append cwd "/build/"
 | 
			
		||||
                                              (find (cut string-prefix? "lib" <>)
 | 
			
		||||
                                                    (scandir (string-append cwd "/build")))
 | 
			
		||||
                                              ":" (getenv "PYTHONPATH"))))
 | 
			
		||||
                     ;; The tests need to be run from elsewhere...
 | 
			
		||||
                     (mkdir-p "/tmp/test")
 | 
			
		||||
                     (copy-recursively "pybedtools/test" "/tmp/test")
 | 
			
		||||
                     (with-directory-excursion "/tmp/test"
 | 
			
		||||
                       (invoke "nosetests"
 | 
			
		||||
                               ;; This test fails for unknown reasons
 | 
			
		||||
                               "--exclude=.*test_getting_example_beds"))
 | 
			
		||||
                     #t))))))))))
 | 
			
		||||
 | 
			
		||||
(define-public python-biom-format
 | 
			
		||||
  (package
 | 
			
		||||
   (name "python-biom-format")
 | 
			
		||||
| 
						 | 
				
			
			@ -999,15 +1071,12 @@ package provides command line tools using the Bio++ library.")
 | 
			
		|||
       #:parallel-build? #f ; not supported
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-before
 | 
			
		||||
          'configure 'set-HOME
 | 
			
		||||
         (add-before 'configure 'set-HOME
 | 
			
		||||
          ;; $HOME needs to be set at some point during the configure phase
 | 
			
		||||
          (lambda _ (setenv "HOME" "/tmp") #t))
 | 
			
		||||
         (add-after
 | 
			
		||||
          'unpack 'enter-dir
 | 
			
		||||
         (add-after 'unpack 'enter-dir
 | 
			
		||||
          (lambda _ (chdir "c++") #t))
 | 
			
		||||
         (add-after
 | 
			
		||||
          'enter-dir 'fix-build-system
 | 
			
		||||
         (add-after 'enter-dir 'fix-build-system
 | 
			
		||||
          (lambda _
 | 
			
		||||
            (define (which* cmd)
 | 
			
		||||
              (cond ((string=? cmd "date")
 | 
			
		||||
| 
						 | 
				
			
			@ -1055,31 +1124,31 @@ package provides command line tools using the Bio++ library.")
 | 
			
		|||
              (("action=/bin/") "action=")
 | 
			
		||||
              (("export PATH") ":"))
 | 
			
		||||
            #t))
 | 
			
		||||
         (replace
 | 
			
		||||
          'configure
 | 
			
		||||
          (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
			
		||||
            (let ((out     (assoc-ref outputs "out"))
 | 
			
		||||
                  (lib     (string-append (assoc-ref outputs "lib") "/lib"))
 | 
			
		||||
                  (include (string-append (assoc-ref outputs "include")
 | 
			
		||||
                                          "/include/ncbi-tools++")))
 | 
			
		||||
              ;; The 'configure' script doesn't recognize things like
 | 
			
		||||
              ;; '--enable-fast-install'.
 | 
			
		||||
              (zero? (system* "./configure.orig"
 | 
			
		||||
                              (string-append "--with-build-root=" (getcwd) "/build")
 | 
			
		||||
                              (string-append "--prefix=" out)
 | 
			
		||||
                              (string-append "--libdir=" lib)
 | 
			
		||||
                              (string-append "--includedir=" include)
 | 
			
		||||
                              (string-append "--with-bz2="
 | 
			
		||||
                                             (assoc-ref inputs "bzip2"))
 | 
			
		||||
                              (string-append "--with-z="
 | 
			
		||||
                                             (assoc-ref inputs "zlib"))
 | 
			
		||||
                              (string-append "--with-pcre="
 | 
			
		||||
                                             (assoc-ref inputs "pcre"))
 | 
			
		||||
                              ;; Each library is built twice by default, once
 | 
			
		||||
                              ;; with "-static" in its name, and again
 | 
			
		||||
                              ;; without.
 | 
			
		||||
                              "--without-static"
 | 
			
		||||
                              "--with-dll"))))))))
 | 
			
		||||
         (replace 'configure
 | 
			
		||||
           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
			
		||||
             (let ((out     (assoc-ref outputs "out"))
 | 
			
		||||
                   (lib     (string-append (assoc-ref outputs "lib") "/lib"))
 | 
			
		||||
                   (include (string-append (assoc-ref outputs "include")
 | 
			
		||||
                                           "/include/ncbi-tools++")))
 | 
			
		||||
               ;; The 'configure' script doesn't recognize things like
 | 
			
		||||
               ;; '--enable-fast-install'.
 | 
			
		||||
               (invoke "./configure.orig"
 | 
			
		||||
                       (string-append "--with-build-root=" (getcwd) "/build")
 | 
			
		||||
                       (string-append "--prefix=" out)
 | 
			
		||||
                       (string-append "--libdir=" lib)
 | 
			
		||||
                       (string-append "--includedir=" include)
 | 
			
		||||
                       (string-append "--with-bz2="
 | 
			
		||||
                                      (assoc-ref inputs "bzip2"))
 | 
			
		||||
                       (string-append "--with-z="
 | 
			
		||||
                                      (assoc-ref inputs "zlib"))
 | 
			
		||||
                       (string-append "--with-pcre="
 | 
			
		||||
                                      (assoc-ref inputs "pcre"))
 | 
			
		||||
                       ;; Each library is built twice by default, once
 | 
			
		||||
                       ;; with "-static" in its name, and again
 | 
			
		||||
                       ;; without.
 | 
			
		||||
                       "--without-static"
 | 
			
		||||
                       "--with-dll")
 | 
			
		||||
               #t))))))
 | 
			
		||||
    (outputs '("out"       ;  21 MB
 | 
			
		||||
               "lib"       ; 226 MB
 | 
			
		||||
               "include")) ;  33 MB
 | 
			
		||||
| 
						 | 
				
			
			@ -1204,15 +1273,16 @@ errors at the end of reads.")
 | 
			
		|||
(define-public bowtie
 | 
			
		||||
  (package
 | 
			
		||||
    (name "bowtie")
 | 
			
		||||
    (version "2.3.2")
 | 
			
		||||
    (version "2.3.4.3")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://github.com/BenLangmead/bowtie2/archive/v"
 | 
			
		||||
                                  version ".tar.gz"))
 | 
			
		||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/BenLangmead/bowtie2.git")
 | 
			
		||||
                    (commit (string-append "v" version))))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0hwa5r9qbglppb7sz5z79rlmmddr3n51n468jb3wh8rwjgn3yr90"))
 | 
			
		||||
                "1zl3cf327y2p7p03cavymbh7b00djc7lncfaqih33n96iy9q8ibp"))
 | 
			
		||||
              (modules '((guix build utils)))
 | 
			
		||||
              (snippet
 | 
			
		||||
               '(begin
 | 
			
		||||
| 
						 | 
				
			
			@ -1222,14 +1292,6 @@ errors at the end of reads.")
 | 
			
		|||
                    (("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\""))
 | 
			
		||||
                  #t))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("perl" ,perl)
 | 
			
		||||
       ("perl-clone" ,perl-clone)
 | 
			
		||||
       ("perl-test-deep" ,perl-test-deep)
 | 
			
		||||
       ("perl-test-simple" ,perl-test-simple)
 | 
			
		||||
       ("python" ,python-2)
 | 
			
		||||
       ("tbb" ,tbb)
 | 
			
		||||
       ("zlib" ,zlib)))
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:make-flags
 | 
			
		||||
       (list "allall"
 | 
			
		||||
| 
						 | 
				
			
			@ -1239,11 +1301,21 @@ errors at the end of reads.")
 | 
			
		|||
       (modify-phases %standard-phases
 | 
			
		||||
         (delete 'configure)
 | 
			
		||||
         (replace 'check
 | 
			
		||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
             (zero? (system* "perl"
 | 
			
		||||
                             "scripts/test/simple_tests.pl"
 | 
			
		||||
                             "--bowtie2=./bowtie2"
 | 
			
		||||
                             "--bowtie2-build=./bowtie2-build")))))))
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (invoke "perl"
 | 
			
		||||
                     "scripts/test/simple_tests.pl"
 | 
			
		||||
                     "--bowtie2=./bowtie2"
 | 
			
		||||
                     "--bowtie2-build=./bowtie2-build")
 | 
			
		||||
             #t)))))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("tbb" ,tbb)
 | 
			
		||||
       ("zlib" ,zlib)
 | 
			
		||||
       ("python" ,python-wrapper)))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("perl" ,perl)
 | 
			
		||||
       ("perl-clone" ,perl-clone)
 | 
			
		||||
       ("perl-test-deep" ,perl-test-deep)
 | 
			
		||||
       ("perl-test-simple" ,perl-test-simple)))
 | 
			
		||||
    (home-page "http://bowtie-bio.sourceforge.net/bowtie2/index.shtml")
 | 
			
		||||
    (synopsis "Fast and sensitive nucleotide sequence read aligner")
 | 
			
		||||
    (description
 | 
			
		||||
| 
						 | 
				
			
			@ -1638,29 +1710,35 @@ databases.")
 | 
			
		|||
(define-public clipper
 | 
			
		||||
  (package
 | 
			
		||||
    (name "clipper")
 | 
			
		||||
    (version "1.1")
 | 
			
		||||
    (version "1.2.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
                    "https://github.com/YeoLab/clipper/archive/"
 | 
			
		||||
                    version ".tar.gz"))
 | 
			
		||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/YeoLab/clipper.git")
 | 
			
		||||
                    (commit version)))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0pflmsvhbf8izbgwhbhj1i7349sw1f55qpqj8ljmapp16hb0p0qi"))
 | 
			
		||||
                "0fja1rj84wp9vpj8rxpj3n8zqzcqq454m904yp9as1w4phccirjb"))
 | 
			
		||||
              (modules '((guix build utils)))
 | 
			
		||||
              (snippet
 | 
			
		||||
               '(begin
 | 
			
		||||
                  ;; remove unnecessary setup dependency
 | 
			
		||||
                  (substitute* "setup.py"
 | 
			
		||||
                    (("setup_requires = .*") ""))
 | 
			
		||||
                  (for-each delete-file
 | 
			
		||||
                            '("clipper/src/peaks.so"
 | 
			
		||||
                              "clipper/src/readsToWiggle.so"))
 | 
			
		||||
                  (delete-file-recursively "dist/")
 | 
			
		||||
                  #t))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (arguments `(#:python ,python-2)) ; only Python 2 is supported
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:python ,python-2 ; only Python 2 is supported
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         ;; This is fixed in upstream commit
 | 
			
		||||
         ;; f6c2990198f906bf97730d95695b4bd5a6d01ddb.
 | 
			
		||||
         (add-after 'unpack 'fix-typo
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "clipper/src/readsToWiggle.pyx"
 | 
			
		||||
               (("^sc.*") ""))
 | 
			
		||||
             #t)))))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("htseq" ,python2-htseq)
 | 
			
		||||
       ("python-pybedtools" ,python2-pybedtools)
 | 
			
		||||
| 
						 | 
				
			
			@ -1985,7 +2063,21 @@ trees (phylogenies) and characters.")
 | 
			
		|||
    (license license:bsd-3)))
 | 
			
		||||
 | 
			
		||||
(define-public python2-dendropy
 | 
			
		||||
  (package-with-python2 python-dendropy))
 | 
			
		||||
  (let ((base (package-with-python2 python-dendropy)))
 | 
			
		||||
    (package
 | 
			
		||||
      (inherit base)
 | 
			
		||||
      (arguments
 | 
			
		||||
       `(#:phases
 | 
			
		||||
         (modify-phases %standard-phases
 | 
			
		||||
           (add-after 'unpack 'remove-failing-test
 | 
			
		||||
             (lambda _
 | 
			
		||||
               ;; This test fails when the full test suite is run, as documented
 | 
			
		||||
               ;; at https://github.com/jeetsukumaran/DendroPy/issues/74
 | 
			
		||||
               (substitute* "tests/test_dataio_nexml_reader_tree_list.py"
 | 
			
		||||
                 (("test_collection_comments_and_annotations")
 | 
			
		||||
                  "do_not_test_collection_comments_and_annotations"))
 | 
			
		||||
               #t)))
 | 
			
		||||
         ,@(package-arguments base))))))
 | 
			
		||||
 | 
			
		||||
(define-public python-py2bit
 | 
			
		||||
  (package
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,6 +10,7 @@
 | 
			
		|||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
			
		||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 | 
			
		||||
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
			
		||||
;;; Copyright © 2018 Nicolò Balzarotti <nicolo@nixo.xyz>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -854,3 +855,36 @@ public-key cryptography.  Asignify is designed to be portable and self-contained
 | 
			
		|||
with zero external dependencies.  Asignify can verify OpenBSD signatures, but it
 | 
			
		||||
cannot sign messages in OpenBSD format yet.")
 | 
			
		||||
      (license license:bsd-2))))
 | 
			
		||||
 | 
			
		||||
(define-public enchive
 | 
			
		||||
  (package
 | 
			
		||||
    (name "enchive")
 | 
			
		||||
    (version "3.4")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://github.com/skeeto/" name "/archive/"
 | 
			
		||||
                                  version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "17hrxpp4cpn10bk48sfvfjc8hghky34agsnypam1v9f36kbalqfk"))
 | 
			
		||||
              (file-name (string-append name "-" version ".tar.gz"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:tests? #f                      ; no check target         '
 | 
			
		||||
       #:make-flags (list "CC=gcc" "PREFIX=$(out)")
 | 
			
		||||
       #:phases (modify-phases %standard-phases
 | 
			
		||||
                  (delete 'configure)
 | 
			
		||||
                  (add-after 'install 'post-install
 | 
			
		||||
                    (lambda _
 | 
			
		||||
                      (let* ((out (assoc-ref %outputs "out"))
 | 
			
		||||
                             (lisp (string-append out "/share/emacs/site-lisp")))
 | 
			
		||||
                        (install-file "enchive-mode.el" lisp)
 | 
			
		||||
                        #t))))))
 | 
			
		||||
    (synopsis "Encrypted personal archives")
 | 
			
		||||
    (description
 | 
			
		||||
     "Enchive is a tool to encrypt files to yourself for long-term
 | 
			
		||||
archival.  It's a focused, simple alternative to more complex solutions such as
 | 
			
		||||
GnuPG or encrypted filesystems.  Enchive has no external dependencies and is
 | 
			
		||||
trivial to build for local use.  Portability is emphasized over performance.")
 | 
			
		||||
    (home-page "https://github.com/skeeto/enchive")
 | 
			
		||||
    (license license:unlicense)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1783,19 +1783,32 @@ trees (LSM), for sustained throughput under random insert workloads.")
 | 
			
		|||
    ;; configure.ac: WiredTiger requires a 64-bit build.
 | 
			
		||||
    (supported-systems '("x86_64-linux" "mips64el-linux" "aarch64-linux"))))
 | 
			
		||||
 | 
			
		||||
(define-public wiredtiger-3
 | 
			
		||||
  (package
 | 
			
		||||
    (inherit wiredtiger)
 | 
			
		||||
    (name "wiredtiger")
 | 
			
		||||
    (version "3.1.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "http://source.wiredtiger.com/releases/wiredtiger-"
 | 
			
		||||
                                  version ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "014awypv579ascg4jbx4pndj2wld337m79yyzrzyr7hxrff139jx"))))))
 | 
			
		||||
 | 
			
		||||
(define-public guile-wiredtiger
 | 
			
		||||
  (package
 | 
			
		||||
    (name "guile-wiredtiger")
 | 
			
		||||
    (version "0.6.3")
 | 
			
		||||
    (version "0.7.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://framagit.org/a-guile-mind/guile-wiredtiger.git")
 | 
			
		||||
                    (commit "070ed68139d99c279f058a6c293f00292d35dbd7")))
 | 
			
		||||
                    (commit "340ad4bc2ff4dcc6216a2f5c6f9172ca320ac66b")))
 | 
			
		||||
              (file-name (string-append name "-" version "-checkout"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "14rna97wsylajzxfif95wnblq85csgcfc666gh5dl0ssgd7x8llh"))))
 | 
			
		||||
                "15j36bvxxzil7qpwlmh1rffqpva3ynvrcpqhhqbj2c9208ayz595"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:parallel-tests? #f  ;; tests can't be run in parallel, yet.
 | 
			
		||||
| 
						 | 
				
			
			@ -1803,21 +1816,19 @@ trees (LSM), for sustained throughput under random insert workloads.")
 | 
			
		|||
       (list (string-append "--with-libwiredtiger-prefix="
 | 
			
		||||
                            (assoc-ref %build-inputs "wiredtiger")))
 | 
			
		||||
       #:make-flags '("GUILE_AUTO_COMPILE=0")))
 | 
			
		||||
    ;; TODO: Remove microkanren.scm when we have a separate package
 | 
			
		||||
    ;; for it.
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("autoconf" ,autoconf)
 | 
			
		||||
       ("automake" ,automake)
 | 
			
		||||
       ("pkg-config" ,pkg-config)))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("wiredtiger" ,wiredtiger)
 | 
			
		||||
     `(("wiredtiger" ,wiredtiger-3)
 | 
			
		||||
       ("guile" ,guile-2.2)))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     `(("guile-lib" ,guile-lib)))                 ;for (htmlprag)
 | 
			
		||||
     `(("guile-bytestructures" ,guile-bytestructures)))
 | 
			
		||||
    (synopsis "WiredTiger bindings for GNU Guile")
 | 
			
		||||
    (description
 | 
			
		||||
     "This package provides Guile bindings to the WiredTiger ``NoSQL''
 | 
			
		||||
database.  Various higher level database abstractions.")
 | 
			
		||||
database.")
 | 
			
		||||
    (home-page "https://framagit.org/a-guile-mind/guile-wiredtiger")
 | 
			
		||||
    (license license:gpl3+)))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1376,7 +1376,7 @@ environment set through Direnv.")
 | 
			
		|||
(define-public emacs-ggtags
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-ggtags")
 | 
			
		||||
    (version "0.8.12")
 | 
			
		||||
    (version "0.8.13")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -1384,7 +1384,7 @@ environment set through Direnv.")
 | 
			
		|||
                           version ".el"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0ny3llk021g6r0s75xdm4hzpbxv393ddm2r6f2xdk8kqnq4gnirp"))))
 | 
			
		||||
         "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (home-page "https://github.com/leoliu/ggtags")
 | 
			
		||||
    (synopsis "Frontend to the GNU Global source code tagging system")
 | 
			
		||||
| 
						 | 
				
			
			@ -2162,7 +2162,7 @@ keep pressing the key until it selects what you want.  There's also
 | 
			
		|||
(define-public emacs-fill-column-indicator
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-fill-column-indicator")
 | 
			
		||||
    (version "1.81")
 | 
			
		||||
    (version "1.89")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -2171,7 +2171,7 @@ keep pressing the key until it selects what you want.  There's also
 | 
			
		|||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1xwyqbjbbicmvhlb85vg4j5snwy1vd7rfk89ws4viws5ljkhhyg8"))))
 | 
			
		||||
         "09ab01np14bdcsr38xf95kpnvxzqr46mdjmphg3pigwnx39a3jvg"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (home-page "https://www.emacswiki.org/emacs/FillColumnIndicator")
 | 
			
		||||
    (synopsis "Graphically indicate the fill column")
 | 
			
		||||
| 
						 | 
				
			
			@ -2512,7 +2512,7 @@ snippets for yasnippet.")
 | 
			
		|||
(define-public emacs-smart-mode-line
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-smart-mode-line")
 | 
			
		||||
    (version "2.10.1")
 | 
			
		||||
    (version "2.12.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -2521,7 +2521,7 @@ snippets for yasnippet.")
 | 
			
		|||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0i9wajabrrsjzwd842q0m2611kf0q31p9hg1pdj81177gynkw8l8"))))
 | 
			
		||||
         "1hn8s6laijmg7w1bgwdfrki6h9vxkbgr8rmmssvd5yqyad5w2sba"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     `(("emacs-rich-minority" ,emacs-rich-minority)))
 | 
			
		||||
| 
						 | 
				
			
			@ -3091,7 +3091,7 @@ an Emacs minor mode that complements the standard @command{lisp-mode}.
 | 
			
		|||
While lisp-mode supports editing Lisp source files, @command{slime-mode}
 | 
			
		||||
adds support for interacting with a running Common Lisp process
 | 
			
		||||
for compilation, debugging, documentation lookup, and so on.")
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
    (license (list license:gpl2+ license:public-domain))))
 | 
			
		||||
 | 
			
		||||
(define-public emacs-popup
 | 
			
		||||
  (package
 | 
			
		||||
| 
						 | 
				
			
			@ -4757,14 +4757,14 @@ of its name.")
 | 
			
		|||
(define-public emacs-rainbow-mode
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-rainbow-mode")
 | 
			
		||||
    (version "0.13")
 | 
			
		||||
    (version "1.0.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append
 | 
			
		||||
                    "http://elpa.gnu.org/packages/rainbow-mode-" version ".el"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1d3aamx6qgqqpqijwsr02ggwrh67gfink1bir0692alfkm3zdddl"))))
 | 
			
		||||
                "0cpga4ax635rfpj7y2vmh7ank0yw00dcy20gjg1mj74r97by8csf"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (home-page "http://elpa.gnu.org/packages/rainbow-mode.html")
 | 
			
		||||
    (synopsis "Colorize color names in buffers")
 | 
			
		||||
| 
						 | 
				
			
			@ -5599,7 +5599,7 @@ This package contains the library runtime.")
 | 
			
		|||
(define-public emacs-nginx-mode
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-nginx-mode")
 | 
			
		||||
    (version "1.1.4")
 | 
			
		||||
    (version "1.1.9")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -5609,7 +5609,7 @@ This package contains the library runtime.")
 | 
			
		|||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1lvkj07kq0jkskr2f61vqb5rlrbnaz9a76ikq40w6925i2r970rr"))))
 | 
			
		||||
         "0bzyrj6zz1hm67bkhw23bam7qc869s3zg7m1rb1c3aa4n0aw90cq"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (home-page "https://github.com/ajc/nginx-mode")
 | 
			
		||||
    (synopsis "Emacs major mode for editing nginx config files")
 | 
			
		||||
| 
						 | 
				
			
			@ -5814,7 +5814,7 @@ mode-line.")
 | 
			
		|||
(define-public emacs-yasnippet
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-yasnippet")
 | 
			
		||||
    (version "0.12.2")
 | 
			
		||||
    (version "0.13.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://github.com/joaotavora/yasnippet/"
 | 
			
		||||
| 
						 | 
				
			
			@ -5822,7 +5822,7 @@ mode-line.")
 | 
			
		|||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "01jabaz0g67bsziayrxgv74px55fx4nlrcl0csl8f1by2102pwc5"))
 | 
			
		||||
                "12ls2x17agzbrj1xynjbmfa11igqxia4hj4fv6fpr66yci2r1plc"))
 | 
			
		||||
              (modules '((guix build utils)))
 | 
			
		||||
              (snippet
 | 
			
		||||
               '(begin
 | 
			
		||||
| 
						 | 
				
			
			@ -7243,7 +7243,7 @@ or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
 | 
			
		|||
(define-public emacs-which-key
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-which-key")
 | 
			
		||||
    (version "3.0.2")
 | 
			
		||||
    (version "3.3.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -7252,7 +7252,7 @@ or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
 | 
			
		|||
             version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1xvd70cwq9n31f28viyjxmr3nn8l153gsy6scpszvgvjxkiikv24"))
 | 
			
		||||
         "1lsj314111cp2hjjwnv3f46ws1za6bm39rgy3l19044xf6a68j5w"))
 | 
			
		||||
       (file-name (string-append name "-" version ".tar.gz"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
| 
						 | 
				
			
			@ -7421,7 +7421,7 @@ created by @code{git format-patch}, from @code{magit}, @code{dired} and
 | 
			
		|||
(define-public emacs-erc-hl-nicks
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-erc-hl-nicks")
 | 
			
		||||
    (version "1.3.2")
 | 
			
		||||
    (version "1.3.3")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -7430,7 +7430,7 @@ created by @code{git format-patch}, from @code{magit}, @code{dired} and
 | 
			
		|||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "01svpl9bps5kx4y1wnymakxya2cznqmlynvqv2r500wpnbxczrbs"))))
 | 
			
		||||
         "1a1r2kc3688g8c2ybkpwh88kgmnqhg3h3032g2yn4zr9m0n3vpkr"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (synopsis "Nickname highlighting for Emacs ERC")
 | 
			
		||||
    (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
 | 
			
		||||
| 
						 | 
				
			
			@ -9736,7 +9736,7 @@ documentation.")
 | 
			
		|||
(define-public emacs-hy-mode
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-hy-mode")
 | 
			
		||||
    (version "1.0.2")
 | 
			
		||||
    (version "1.0.3")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -9745,7 +9745,7 @@ documentation.")
 | 
			
		|||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0sbga36zkyhzrzcczsyjzll7b9qsa215pnlw51m4li2irm23jh17"))))
 | 
			
		||||
         "0b4pvbr2hf77bq2vsyfsv653q0dab7qzq85wc7kdziw7687jdf2z"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     `(("emacs-dash" ,emacs-dash)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -246,8 +246,8 @@ canyons and wait for the long I-shaped block to clear four rows at a time.")
 | 
			
		|||
    (license license:gpl3+)))
 | 
			
		||||
 | 
			
		||||
(define-public cataclysm-dda
 | 
			
		||||
  (let ((commit "ad3b0c3d521292d119f97a83390e7acfe9e9e7f7")
 | 
			
		||||
        (revision "1"))
 | 
			
		||||
  (let ((commit "0b2c194e5c6a06f4fbf14a0ec1260e0f3cf2567c")
 | 
			
		||||
        (revision "2"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "cataclysm-dda")
 | 
			
		||||
      ;; This denotes the version released after the 0.C release.
 | 
			
		||||
| 
						 | 
				
			
			@ -260,7 +260,7 @@ canyons and wait for the long I-shaped block to clear four rows at a time.")
 | 
			
		|||
                      (commit commit)))
 | 
			
		||||
                (sha256
 | 
			
		||||
                 (base32
 | 
			
		||||
                  "1kdgbl8zqd53f5yilm2c9nyq3w6585yxl5jvgxy65dlpzxcqqj7y"))
 | 
			
		||||
                  "1yzsn0y2g27bvbxjvivjyjhkmf2w5na1qqw5qfkswcfqqwym2y33"))
 | 
			
		||||
                (file-name (git-file-name name version))))
 | 
			
		||||
      (build-system gnu-build-system)
 | 
			
		||||
      (arguments
 | 
			
		||||
| 
						 | 
				
			
			@ -1000,7 +1000,7 @@ Every puzzle has a complete solution, although there may be more than one.")
 | 
			
		|||
(define-public retux
 | 
			
		||||
  (package
 | 
			
		||||
    (name "retux")
 | 
			
		||||
    (version "1.3.5")
 | 
			
		||||
    (version "1.3.6")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "mirror://savannah/retux/"
 | 
			
		||||
| 
						 | 
				
			
			@ -1008,7 +1008,7 @@ Every puzzle has a complete solution, although there may be more than one.")
 | 
			
		|||
                                  version "-src.tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1pcrh3z16fl412r3k7xccrgika19ahb1xh90jihgl8yy7zza2i6p"))))
 | 
			
		||||
                "01bidh4zisjp3nc436x0g85v60dvwb3ig37i7y01sa71j8fm4fmb"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f ; no check target
 | 
			
		||||
| 
						 | 
				
			
			@ -2137,7 +2137,7 @@ falling, themeable graphics and sounds, and replays.")
 | 
			
		|||
(define-public wesnoth
 | 
			
		||||
  (package
 | 
			
		||||
    (name "wesnoth")
 | 
			
		||||
    (version "1.14.4")
 | 
			
		||||
    (version "1.14.5")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
 | 
			
		||||
| 
						 | 
				
			
			@ -2146,7 +2146,7 @@ falling, themeable graphics and sounds, and replays.")
 | 
			
		|||
                                  name "-" version ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1hw1ap8xxpdwyx1sf8fm1g75p6724y3hwb4kpvyqbsq7bwfwsb9i"))))
 | 
			
		||||
                "1kgpj2f22nnx4mwd1zis3s5ny2983aasgqsmz7wnqaq7n6a7ac85"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f)) ; no check target
 | 
			
		||||
| 
						 | 
				
			
			@ -5355,7 +5355,7 @@ You can save humanity and get programming skills!")
 | 
			
		|||
    (build-system cmake-build-system)
 | 
			
		||||
    (inputs `(("bzip2" ,bzip2)
 | 
			
		||||
              ("fluid-3" ,fluid-3)
 | 
			
		||||
              ("fluidsynth" ,fluidsynth)
 | 
			
		||||
              ("fluidsynth" ,fluidsynth-1)      ;XXX: try using 2.x when updating
 | 
			
		||||
              ("gtk+3" ,gtk+)
 | 
			
		||||
              ("libgme" ,libgme)
 | 
			
		||||
              ("libjpeg" ,libjpeg)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -787,7 +787,7 @@ programming langauage.  It also contains the utility
 | 
			
		|||
(define-public appstream-glib
 | 
			
		||||
  (package
 | 
			
		||||
    (name "appstream-glib")
 | 
			
		||||
    (version "0.7.12")
 | 
			
		||||
    (version "0.7.14")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://people.freedesktop.org/~hughsient/"
 | 
			
		||||
| 
						 | 
				
			
			@ -795,7 +795,7 @@ programming langauage.  It also contains the utility
 | 
			
		|||
                                  "appstream-glib-" version ".tar.xz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1jcb2bggcic3iczr2hn8zp8a3c2hl1xjij0aawr7kwqmzh9b3jms"))))
 | 
			
		||||
                "0n0s99jmx2sx5895lcvmfjwa9r0f06i71495dpn9v9frz4asvk3d"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("gettext" ,gettext-minimal)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -398,28 +398,30 @@ access the common Google services, and has full asynchronous support.")
 | 
			
		|||
(define-public libgxps
 | 
			
		||||
  (package
 | 
			
		||||
    (name "libgxps")
 | 
			
		||||
    (version "0.2.5")
 | 
			
		||||
    (version "0.3.0")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "mirror://gnome/sources/" name "/"
 | 
			
		||||
                                  (version-major+minor version) "/"
 | 
			
		||||
                                  name "-" version ".tar.xz"))
 | 
			
		||||
              (patches (search-patches "libgxps-CVE-2017-11590.patch"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "184r06s8g20cfigg7m169n42jjsc9wmzzlycr4g1fxxhr72r8x9y"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
                "1bhgrpb6ndlp11qwr95g9piklmjcsca7bi04f8gy9ziipm1i6as1"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("gobject-introspection" ,gobject-introspection)
 | 
			
		||||
       ("pkg-config" ,pkg-config)))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("cairo" ,cairo)
 | 
			
		||||
       ("glib" ,glib)
 | 
			
		||||
       ("libarchive" ,libarchive)
 | 
			
		||||
       ("libjpeg" ,libjpeg)
 | 
			
		||||
     `(("gtk+" ,gtk+)
 | 
			
		||||
       ("libjpeg" ,libjpeg-turbo)
 | 
			
		||||
       ("lcms" ,lcms)
 | 
			
		||||
       ("libtiff" ,libtiff)
 | 
			
		||||
       ("nettle" ,nettle)))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     ;; In Requires of libgxps.pc.
 | 
			
		||||
     `(("cairo" ,cairo)
 | 
			
		||||
       ("glib" ,glib)
 | 
			
		||||
       ("libarchive" ,libarchive)))
 | 
			
		||||
    (home-page "https://wiki.gnome.org/Projects/libgxps")
 | 
			
		||||
    (synopsis "GObject-based library for handling and rendering XPS documents")
 | 
			
		||||
    (description
 | 
			
		||||
| 
						 | 
				
			
			@ -7226,6 +7228,71 @@ It supports ripping to any audio codec supported by a GStreamer plugin, such as
 | 
			
		|||
mp3, Ogg Vorbis and FLAC")
 | 
			
		||||
    (license license:gpl2+)))
 | 
			
		||||
 | 
			
		||||
(define-public soundconverter
 | 
			
		||||
  (package
 | 
			
		||||
    (name "soundconverter")
 | 
			
		||||
    (version "3.0.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "https://launchpad.net/soundconverter/trunk/"
 | 
			
		||||
                           version "/+download/"
 | 
			
		||||
                           "soundconverter-" version ".tar.xz"))
 | 
			
		||||
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1wrxf5py54xplrf97qp24pzbis0cvax5c6k0c7vr3z3ry8r7gd7c"))
 | 
			
		||||
       (patches
 | 
			
		||||
        (search-patches
 | 
			
		||||
         "soundconverter-remove-gconf-dependency.patch"))))
 | 
			
		||||
    (build-system glib-or-gtk-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:imported-modules ((guix build python-build-system)
 | 
			
		||||
                           (guix build glib-or-gtk-build-system)
 | 
			
		||||
                           ,@%gnu-build-system-modules)
 | 
			
		||||
 | 
			
		||||
       #:modules ((guix build glib-or-gtk-build-system)
 | 
			
		||||
                  (guix build utils)
 | 
			
		||||
                  ((guix build gnu-build-system) #:prefix gnu:)
 | 
			
		||||
                  ((guix build python-build-system) #:prefix python:))
 | 
			
		||||
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'fix-POTFILES.in
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (substitute* "po/POTFILES.in"
 | 
			
		||||
               ;; This file doesn't exist, so without removing it, the 'check
 | 
			
		||||
               ;; phase fails for the po directory
 | 
			
		||||
               (("soundconverter/gconfstore\\.py") ""))))
 | 
			
		||||
         (add-after 'install 'wrap-soundconverter-for-python
 | 
			
		||||
           (assoc-ref python:%standard-phases 'wrap))
 | 
			
		||||
         (add-after 'install 'wrap-soundconverter
 | 
			
		||||
           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
			
		||||
             (let ((out               (assoc-ref outputs "out"))
 | 
			
		||||
                   (gi-typelib-path   (getenv "GI_TYPELIB_PATH"))
 | 
			
		||||
                   (gst-plugin-path   (getenv "GST_PLUGIN_SYSTEM_PATH")))
 | 
			
		||||
               (wrap-program (string-append out "/bin/soundconverter")
 | 
			
		||||
                 `("GI_TYPELIB_PATH"        ":" prefix (,gi-typelib-path))
 | 
			
		||||
                 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
 | 
			
		||||
             #t)))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("intltool" ,intltool)
 | 
			
		||||
       ("pkg-config" ,pkg-config)
 | 
			
		||||
       ("glib:bin" ,glib "bin")))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("gtk+" ,gtk+)
 | 
			
		||||
       ("python" ,python)
 | 
			
		||||
       ("python-pygobject" ,python-pygobject)
 | 
			
		||||
       ("gstreamer" ,gstreamer)
 | 
			
		||||
       ("gst-plugins-base" ,gst-plugins-base)))
 | 
			
		||||
    (home-page "http://soundconverter.org/")
 | 
			
		||||
    (synopsis "Convert between audio formats with a graphical interface")
 | 
			
		||||
    (description
 | 
			
		||||
     "SoundConverter supports converting between many audio formats including
 | 
			
		||||
Opus, Ogg Vorbis, FLAC and more.  It supports parallel conversion, and
 | 
			
		||||
configurable file renaming. ")
 | 
			
		||||
    (license license:gpl3)))
 | 
			
		||||
 | 
			
		||||
(define-public workrave
 | 
			
		||||
  (let ((commit "v1_10_21"))
 | 
			
		||||
    (package
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1948,27 +1948,43 @@ designs.")
 | 
			
		|||
                     license:asl2.0
 | 
			
		||||
                     license:cpl1.0)))))
 | 
			
		||||
 | 
			
		||||
(define-public javacc
 | 
			
		||||
(define-public javacc-4
 | 
			
		||||
  (package
 | 
			
		||||
    (name "javacc")
 | 
			
		||||
    (version "7.0.3")
 | 
			
		||||
    (version "4.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://github.com/javacc/javacc/"
 | 
			
		||||
                                  "archive/" version ".tar.gz"))
 | 
			
		||||
              (file-name (string-append "javacc-" version ".tar.gz"))
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/javacc/javacc.git")
 | 
			
		||||
                    (commit "release_41")))
 | 
			
		||||
              (file-name (string-append "javacc-" version "-checkout"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "111xc9mnmc5a6qz6x3xbhqc07y1lg2b996ggzw0hrblg42zya9xf"))))
 | 
			
		||||
                "07ysav7j8r1c6h8qxrgqk6lwdp74ly0ad1935lragxml0qqc3ka0"))
 | 
			
		||||
              (modules '((guix build utils)))
 | 
			
		||||
              ;; delete bundled jars
 | 
			
		||||
              (snippet '(begin (delete-file-recursively "lib") #t))))
 | 
			
		||||
    (build-system ant-build-system)
 | 
			
		||||
    ;; Tests fail with
 | 
			
		||||
    ;; /tmp/guix-build-javacc-4.1.drv-0/source/test/javacodeLA/build.xml:60:
 | 
			
		||||
    ;; JAVACODE failed
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:test-target "test"
 | 
			
		||||
     `(#:tests? #f
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'delete-bundled-libs
 | 
			
		||||
         ;; Delete tests to avoid build failure (we don't run them anyway).
 | 
			
		||||
         (add-after 'unpack 'delete-tests
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (delete-file-recursively "lib") #t))
 | 
			
		||||
         (replace 'install (install-jars "target")))))
 | 
			
		||||
             (for-each delete-file
 | 
			
		||||
                       '("src/org/javacc/JavaCCTestCase.java"
 | 
			
		||||
                         "src/org/javacc/parser/ExpansionTest.java"
 | 
			
		||||
                         "src/org/javacc/parser/OptionsTest.java"
 | 
			
		||||
                         "src/org/javacc/jjtree/JJTreeOptionsTest.java"))
 | 
			
		||||
             (for-each delete-file-recursively
 | 
			
		||||
                       '("src/org/javacc/parser/test"
 | 
			
		||||
                         "src/org/javacc/jjdoc/test"))
 | 
			
		||||
             #t))
 | 
			
		||||
         (replace 'install (install-jars "bin/lib")))))
 | 
			
		||||
    (home-page "https://javacc.org/")
 | 
			
		||||
    (synopsis "Java parser generator")
 | 
			
		||||
    (description "Java Compiler Compiler (JavaCC) is the most popular parser
 | 
			
		||||
| 
						 | 
				
			
			@ -1980,29 +1996,34 @@ as tree building (via a tool called JJTree included with JavaCC), actions,
 | 
			
		|||
debugging, etc.")
 | 
			
		||||
    (license license:bsd-3)))
 | 
			
		||||
 | 
			
		||||
(define-public javacc-4
 | 
			
		||||
  (package (inherit javacc)
 | 
			
		||||
    (version "4.1")
 | 
			
		||||
(define-public javacc
 | 
			
		||||
  (package
 | 
			
		||||
    (inherit javacc-4)
 | 
			
		||||
    (version "7.0.3")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/javacc/javacc.git")
 | 
			
		||||
                    (commit "release_41")))
 | 
			
		||||
              (file-name (string-append "javacc-" version "-checkout"))
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://github.com/javacc/javacc/"
 | 
			
		||||
                                  "archive/" version ".tar.gz"))
 | 
			
		||||
              (file-name (string-append "javacc-" version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "07ysav7j8r1c6h8qxrgqk6lwdp74ly0ad1935lragxml0qqc3ka0"))))
 | 
			
		||||
    ;; Tests fail with
 | 
			
		||||
    ;; /tmp/guix-build-javacc-4.1.drv-0/source/test/javacodeLA/build.xml:60:
 | 
			
		||||
    ;; JAVACODE failed
 | 
			
		||||
                "111xc9mnmc5a6qz6x3xbhqc07y1lg2b996ggzw0hrblg42zya9xf"))
 | 
			
		||||
              (modules '((guix build utils)))
 | 
			
		||||
              ;; delete bundled jars
 | 
			
		||||
              (snippet '(begin (for-each delete-file-recursively
 | 
			
		||||
                                         '("bootstrap" "lib"))
 | 
			
		||||
                               #t))))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f
 | 
			
		||||
     `(#:make-flags ; bootstrap from javacc-4
 | 
			
		||||
       (list (string-append "-Dbootstrap-jar="
 | 
			
		||||
                            (assoc-ref %build-inputs "javacc")
 | 
			
		||||
                            "/share/java/javacc.jar"))
 | 
			
		||||
       #:test-target "test"
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'delete-bundled-libs
 | 
			
		||||
           (lambda _
 | 
			
		||||
             (delete-file-recursively "lib") #t))
 | 
			
		||||
         (replace 'install (install-jars "bin/lib")))))))
 | 
			
		||||
         (replace 'install (install-jars "target")))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("javacc" ,javacc-4)))))
 | 
			
		||||
 | 
			
		||||
;; This is the last 3.x release of ECJ
 | 
			
		||||
(define-public java-ecj-3
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -317,6 +317,11 @@ generator library for C++.")
 | 
			
		|||
                (string-append (assoc-ref inputs "tzdata")
 | 
			
		||||
                               "/share/zoneinfo")))
 | 
			
		||||
 | 
			
		||||
             ;; Don't phone home to check for updates.¬
 | 
			
		||||
             (substitute* "system/addon-manifest.xml"¬
 | 
			
		||||
               (("<addon optional=\\\"true\\\">service.xbmc.versioncheck</addon>")
 | 
			
		||||
                ""))
 | 
			
		||||
 | 
			
		||||
             ;; Let's disable some tests that are known not to work here.
 | 
			
		||||
             ;; Doing this later while in the cmake "../build" directory
 | 
			
		||||
             ;; is trickier.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -399,8 +399,8 @@ It has been modified to remove all non-free binary blobs.")
 | 
			
		|||
;; supports qemu "virt" machine and possibly a large number of ARM boards.
 | 
			
		||||
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
 | 
			
		||||
 | 
			
		||||
(define %linux-libre-version "4.18.14")
 | 
			
		||||
(define %linux-libre-hash "1gwwx8l283w8v1zylw2haqahvjns5dzqxx9li2586nnl8cfmfnwc")
 | 
			
		||||
(define %linux-libre-version "4.18.15")
 | 
			
		||||
(define %linux-libre-hash "0v6xs85qn1iy2dj3m6s3cfnhbwb1mjy21d9lagjni8dg3jic26hf")
 | 
			
		||||
 | 
			
		||||
(define %linux-libre-4.18-patches
 | 
			
		||||
  (list %boot-logo-patch
 | 
			
		||||
| 
						 | 
				
			
			@ -430,8 +430,8 @@ It has been modified to remove all non-free binary blobs.")
 | 
			
		|||
                    #:patches %linux-libre-4.18-patches
 | 
			
		||||
                    #:configuration-file kernel-config))
 | 
			
		||||
 | 
			
		||||
(define %linux-libre-4.14-version "4.14.76")
 | 
			
		||||
(define %linux-libre-4.14-hash "1y5zqf84ngb6f5f85xpd4bdy6mlxr52x19bx3mdrp82awc9fvr7q")
 | 
			
		||||
(define %linux-libre-4.14-version "4.14.77")
 | 
			
		||||
(define %linux-libre-4.14-hash "18y81rga2lhsk7bjckglxz52pvnzf103ar0z2zj611g37wyf83r5")
 | 
			
		||||
 | 
			
		||||
(define-public linux-libre-4.14
 | 
			
		||||
  (make-linux-libre %linux-libre-4.14-version
 | 
			
		||||
| 
						 | 
				
			
			@ -440,8 +440,8 @@ It has been modified to remove all non-free binary blobs.")
 | 
			
		|||
                    #:configuration-file kernel-config))
 | 
			
		||||
 | 
			
		||||
(define-public linux-libre-4.9
 | 
			
		||||
  (make-linux-libre "4.9.133"
 | 
			
		||||
                    "1vr94czdv5alzsgm2k1r6wqm01r2zafrayjn10l6kdr4g7aga488"
 | 
			
		||||
  (make-linux-libre "4.9.134"
 | 
			
		||||
                    "0f5qif27k0mhc57d98arbfkq7zlvg0ra2gz6g5fasblyjz3j7w7h"
 | 
			
		||||
                    %intel-compatible-systems
 | 
			
		||||
                    #:configuration-file kernel-config))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -3671,7 +3671,7 @@ The collection contains a set of bandwidth and latency benchmark such as:
 | 
			
		|||
  (package
 | 
			
		||||
    (name "rng-tools")
 | 
			
		||||
    (home-page "https://github.com/nhorman/rng-tools")
 | 
			
		||||
    (version "6.5")
 | 
			
		||||
    (version "6.6")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference (url home-page)
 | 
			
		||||
| 
						 | 
				
			
			@ -3679,7 +3679,7 @@ The collection contains a set of bandwidth and latency benchmark such as:
 | 
			
		|||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "11kw1rcgzmgzwk7g1w2g0nzjraqb0pf24gxpy50k4ls2qxslw3rk"))))
 | 
			
		||||
                "0c32sxfvngdjzfmxn5ngc5yxwi8ij3yl216nhzyz9r31qi3m14v7"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
				
			
			@ -763,14 +763,14 @@ invoking @command{notifymuch} from the post-new hook.")
 | 
			
		|||
(define-public notmuch
 | 
			
		||||
  (package
 | 
			
		||||
    (name "notmuch")
 | 
			
		||||
    (version "0.27")
 | 
			
		||||
    (version "0.28")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://notmuchmail.org/releases/notmuch-"
 | 
			
		||||
                                  version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0xh8vq2sa7r07xb3n13drc6gdiqhcgl0pj0za5xj43qkiwpikls0"))))
 | 
			
		||||
                "0dqarmjc8544m2w7bqrqmvsfy55fw82707z3lz9cql8nr777bjmc"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:modules ((guix build gnu-build-system)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2659,7 +2659,7 @@ to BMP, JPEG or PNG image formats.")
 | 
			
		|||
(define-public maxima
 | 
			
		||||
  (package
 | 
			
		||||
    (name "maxima")
 | 
			
		||||
    (version "5.41.0")
 | 
			
		||||
    (version "5.42.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -2667,7 +2667,7 @@ to BMP, JPEG or PNG image formats.")
 | 
			
		|||
                           version "-source/" name "-" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0x0n81z0s4pl8nwpf7ivlsbvsdphm9w42250g7qdkizl0132by6s"))
 | 
			
		||||
         "0d5pdihvcbwb7r4i4qs5qqgsz46hxlq33qj8is053llrgn9ylpyn"))
 | 
			
		||||
       (patches (search-patches "maxima-defsystem-mkdir.patch"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3568,7 +3568,7 @@ are a C compiler and glib.  Full API documentation and examples are included.")
 | 
			
		|||
       ("fltk" ,fltk)
 | 
			
		||||
       ("libogg" ,libogg)
 | 
			
		||||
       ("libsamplerate" ,libsamplerate)
 | 
			
		||||
       ("fluidsynth" ,fluidsynth)
 | 
			
		||||
       ("fluidsynth" ,fluidsynth-1)         ;XXX: try using 2.x when updating
 | 
			
		||||
       ("libvorbis" ,libvorbis)
 | 
			
		||||
       ("alsa-lib" ,alsa-lib)
 | 
			
		||||
       ("portaudio" ,portaudio)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -160,7 +160,7 @@ index 5e4cdfd..690f180 100644
 | 
			
		|||
 
 | 
			
		||||
 	  /* Try to make this image bootable using the EFI Boot Manager, if available.  */
 | 
			
		||||
 	  if (!efi_distributor || efi_distributor[0] == '\0')
 | 
			
		||||
@@ -1887,8 +1892,11 @@ main (int argc, char *argv[])
 | 
			
		||||
@@ -1887,7 +1892,10 @@ main (int argc, char *argv[])
 | 
			
		||||
 			  efidir_grub_dev->disk->name,
 | 
			
		||||
 			  (part ? ",": ""), (part ? : ""));
 | 
			
		||||
 	  grub_free (part);
 | 
			
		||||
| 
						 | 
				
			
			@ -174,3 +174,24 @@ index 5e4cdfd..690f180 100644
 | 
			
		|||
 	}
 | 
			
		||||
       break;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Below is a followup to the patch above: the uninitialized variable could lead
 | 
			
		||||
‘grub-install’ to error out when it shouldn’t (seen on an AArch64 box where
 | 
			
		||||
‘grub_install_remove_efi_entries_by_distributor’ didn't have any entry to
 | 
			
		||||
remove):
 | 
			
		||||
 | 
			
		||||
  grub-install: error: efibootmgr failed to register the boot entry: Unknown error 65535.
 | 
			
		||||
 | 
			
		||||
See <http://lists.gnu.org/archive/html/bug-grub/2018-10/msg00006.html>.
 | 
			
		||||
 | 
			
		||||
--- grub-2.02/grub-core/osdep/unix/platform.c	2018-10-17 22:21:53.015284846 +0200
 | 
			
		||||
+++ grub-2.02/grub-core/osdep/unix/platform.c	2018-10-17 22:21:55.595271222 +0200
 | 
			
		||||
@@ -85,7 +85,7 @@ grub_install_remove_efi_entries_by_distr
 | 
			
		||||
   pid_t pid = grub_util_exec_pipe ((const char * []){ "efibootmgr", NULL }, &fd);
 | 
			
		||||
   char *line = NULL;
 | 
			
		||||
   size_t len = 0;
 | 
			
		||||
-  int rc;
 | 
			
		||||
+  int rc = 0;
 | 
			
		||||
 
 | 
			
		||||
   if (!pid)
 | 
			
		||||
     {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,48 +0,0 @@
 | 
			
		|||
Fix CVE-2017-11590:
 | 
			
		||||
 | 
			
		||||
https://bugzilla.gnome.org/show_bug.cgi?id=785479
 | 
			
		||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11590
 | 
			
		||||
 | 
			
		||||
Patch copied from upstream source repository:
 | 
			
		||||
 | 
			
		||||
https://git.gnome.org/browse/libgxps/commit/?id=9d5d292055250ed298f3b89dc332d6db4003a031
 | 
			
		||||
 | 
			
		||||
From 9d5d292055250ed298f3b89dc332d6db4003a031 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Marek Kasik <mkasik@redhat.com>
 | 
			
		||||
Date: Wed, 26 Jul 2017 16:23:37 +0200
 | 
			
		||||
Subject: archive: Check for pathname being NULL before dereferencing
 | 
			
		||||
 | 
			
		||||
Check whether "archive_entry_pathname ()" returns a non-NULL pathname
 | 
			
		||||
before using it to avoid a NULL pointer being dereferenced.
 | 
			
		||||
 | 
			
		||||
https://bugzilla.gnome.org/show_bug.cgi?id=785479
 | 
			
		||||
---
 | 
			
		||||
 libgxps/gxps-archive.c | 5 ++++-
 | 
			
		||||
 1 file changed, 4 insertions(+), 1 deletion(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/libgxps/gxps-archive.c b/libgxps/gxps-archive.c
 | 
			
		||||
index acf8d7d..e763773 100644
 | 
			
		||||
--- a/libgxps/gxps-archive.c
 | 
			
		||||
+++ b/libgxps/gxps-archive.c
 | 
			
		||||
@@ -257,6 +257,7 @@ gxps_archive_initable_init (GInitable     *initable,
 | 
			
		||||
 	GXPSArchive          *archive;
 | 
			
		||||
 	ZipArchive           *zip;
 | 
			
		||||
 	struct archive_entry *entry;
 | 
			
		||||
+	const gchar          *pathname;
 | 
			
		||||
 
 | 
			
		||||
 	archive = GXPS_ARCHIVE (initable);
 | 
			
		||||
 
 | 
			
		||||
@@ -281,7 +282,9 @@ gxps_archive_initable_init (GInitable     *initable,
 | 
			
		||||
 
 | 
			
		||||
         while (gxps_zip_archive_iter_next (zip, &entry)) {
 | 
			
		||||
                 /* FIXME: We can ignore directories here */
 | 
			
		||||
-                g_hash_table_add (archive->entries, g_strdup (archive_entry_pathname (entry)));
 | 
			
		||||
+                pathname = archive_entry_pathname (entry);
 | 
			
		||||
+                if (pathname != NULL)
 | 
			
		||||
+                        g_hash_table_add (archive->entries, g_strdup (pathname));
 | 
			
		||||
                 archive_read_data_skip (zip->archive);
 | 
			
		||||
         }
 | 
			
		||||
 
 | 
			
		||||
-- 
 | 
			
		||||
cgit v0.12
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,31 +1,17 @@
 | 
			
		|||
Fix "Hostname" parsing in OpenSSH config files, as reported
 | 
			
		||||
at <https://red.libssh.org/issues/260>.
 | 
			
		||||
 | 
			
		||||
From: Niels Ole Salscheider <niels_ole@salscheider-online.de>
 | 
			
		||||
Date: Mon, 8 May 2017 17:36:13 +0200
 | 
			
		||||
Subject: [PATCH] Fix reading of the first parameter
 | 
			
		||||
 | 
			
		||||
This is a fixup for 7b8b5eb4eac314a3a29be812bef0264c6611f6e7.
 | 
			
		||||
Previously, it would return as long as the parameter was _not_ seen
 | 
			
		||||
before. It also did not handle the case for the unsupported opcode (-1)
 | 
			
		||||
It does not handle the case for the unsupported opcode (-1)
 | 
			
		||||
which would cause a segfault when accessing the "seen" array.
 | 
			
		||||
---
 | 
			
		||||
 src/config.c | 5 +++--
 | 
			
		||||
 1 file changed, 3 insertions(+), 2 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/src/config.c b/src/config.c
 | 
			
		||||
index 7c03b27..238a655 100644
 | 
			
		||||
index c5313ec8..72e07639 100644
 | 
			
		||||
--- a/src/config.c
 | 
			
		||||
+++ b/src/config.c
 | 
			
		||||
@@ -218,8 +218,9 @@ static int ssh_config_parse_line(ssh_session session, const char *line,
 | 
			
		||||
@@ -218,7 +218,8 @@ static int ssh_config_parse_line(ssh_session session, const char *line,
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
   opcode = ssh_config_get_opcode(keyword);
 | 
			
		||||
-  if (*parsing == 1 && opcode != SOC_HOST) {
 | 
			
		||||
-      if (seen[opcode] == 0) {
 | 
			
		||||
+  if (*parsing == 1 && opcode != SOC_HOST &&
 | 
			
		||||
+      opcode > SOC_UNSUPPORTED && opcode < SOC_END) {
 | 
			
		||||
+      if (seen[opcode] == 1) {
 | 
			
		||||
       if (seen[opcode] != 0) {
 | 
			
		||||
           return 0;
 | 
			
		||||
       }
 | 
			
		||||
       seen[opcode] = 1;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,83 @@
 | 
			
		|||
From: Sebastian Ramacher <sebastian@ramacher.at>
 | 
			
		||||
Date: Fri, 6 Apr 2018 13:25:35 +0200
 | 
			
		||||
Subject: Only fetch profiles if GConf is still available
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 bin/soundconverter.py       |  1 -
 | 
			
		||||
 soundconverter/gstreamer.py | 44 ++++++++++++++++++++++++--------------------
 | 
			
		||||
 2 files changed, 24 insertions(+), 21 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/bin/soundconverter.py b/bin/soundconverter.py
 | 
			
		||||
index 39055ce..5198443 100644
 | 
			
		||||
--- a/bin/soundconverter.py
 | 
			
		||||
+++ b/bin/soundconverter.py
 | 
			
		||||
@@ -66,7 +66,6 @@ def _check_libs():
 | 
			
		||||
         import gi
 | 
			
		||||
         gi.require_version('Gst', '1.0')
 | 
			
		||||
         gi.require_version('Gtk', '3.0')
 | 
			
		||||
-        gi.require_version('GConf', '2.0')
 | 
			
		||||
         from gi.repository import GObject
 | 
			
		||||
         # force GIL creation - see https://bugzilla.gnome.org/show_bug.cgi?id=710447
 | 
			
		||||
         import threading
 | 
			
		||||
diff --git a/soundconverter/gstreamer.py b/soundconverter/gstreamer.py
 | 
			
		||||
index 23aaa9b..211b052 100644
 | 
			
		||||
--- a/soundconverter/gstreamer.py
 | 
			
		||||
+++ b/soundconverter/gstreamer.py
 | 
			
		||||
@@ -25,7 +25,7 @@ from urllib.parse import urlparse
 | 
			
		||||
 from gettext import gettext as _
 | 
			
		||||
 
 | 
			
		||||
 import gi
 | 
			
		||||
-from gi.repository import Gst, Gtk, GObject, GConf, Gio
 | 
			
		||||
+from gi.repository import Gst, Gtk, GObject, Gio
 | 
			
		||||
 
 | 
			
		||||
 from soundconverter.fileoperations import vfs_encode_filename, file_encode_filename
 | 
			
		||||
 from soundconverter.fileoperations import unquote_filename, vfs_makedirs, vfs_unlink
 | 
			
		||||
@@ -66,25 +66,29 @@ _GCONF_PROFILE_LIST_PATH = "/system/gstreamer/1.0/audio/global/profile_list"
 | 
			
		||||
 audio_profiles_list = []
 | 
			
		||||
 audio_profiles_dict = {}
 | 
			
		||||
 
 | 
			
		||||
-_GCONF = GConf.Client.get_default()
 | 
			
		||||
-profiles = _GCONF.all_dirs(_GCONF_PROFILE_LIST_PATH)
 | 
			
		||||
-for name in profiles:
 | 
			
		||||
-    if _GCONF.get_bool(_GCONF_PROFILE_PATH + name + "/active"):
 | 
			
		||||
-        # get profile
 | 
			
		||||
-        description = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/name")
 | 
			
		||||
-        extension = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/extension")
 | 
			
		||||
-        pipeline = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/pipeline")
 | 
			
		||||
-        # check profile validity
 | 
			
		||||
-        if not extension or not pipeline:
 | 
			
		||||
-            continue
 | 
			
		||||
-        if not description:
 | 
			
		||||
-            description = extension
 | 
			
		||||
-        if description in audio_profiles_dict:
 | 
			
		||||
-            continue
 | 
			
		||||
-            # store
 | 
			
		||||
-        profile = description, extension, pipeline
 | 
			
		||||
-        audio_profiles_list.append(profile)
 | 
			
		||||
-        audio_profiles_dict[description] = profile
 | 
			
		||||
+try:
 | 
			
		||||
+    from gi.repository import GConf
 | 
			
		||||
+    _GCONF = GConf.Client.get_default()
 | 
			
		||||
+    profiles = _GCONF.all_dirs(_GCONF_PROFILE_LIST_PATH)
 | 
			
		||||
+    for name in profiles:
 | 
			
		||||
+        if _GCONF.get_bool(_GCONF_PROFILE_PATH + name + "/active"):
 | 
			
		||||
+            # get profile
 | 
			
		||||
+            description = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/name")
 | 
			
		||||
+            extension = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/extension")
 | 
			
		||||
+            pipeline = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/pipeline")
 | 
			
		||||
+            # check profile validity
 | 
			
		||||
+            if not extension or not pipeline:
 | 
			
		||||
+                continue
 | 
			
		||||
+            if not description:
 | 
			
		||||
+                description = extension
 | 
			
		||||
+            if description in audio_profiles_dict:
 | 
			
		||||
+                continue
 | 
			
		||||
+                # store
 | 
			
		||||
+            profile = description, extension, pipeline
 | 
			
		||||
+            audio_profiles_list.append(profile)
 | 
			
		||||
+            audio_profiles_dict[description] = profile
 | 
			
		||||
+except ImportError:
 | 
			
		||||
+    pass
 | 
			
		||||
 
 | 
			
		||||
 required_elements = ('decodebin', 'fakesink', 'audioconvert', 'typefind', 'audiorate')
 | 
			
		||||
 for element in required_elements:
 | 
			
		||||
| 
						 | 
				
			
			@ -131,14 +131,14 @@ data as produced by digital cameras.")
 | 
			
		|||
(define-public libgphoto2
 | 
			
		||||
  (package
 | 
			
		||||
    (name "libgphoto2")
 | 
			
		||||
    (version "2.5.18")
 | 
			
		||||
    (version "2.5.19")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "mirror://sourceforge/gphoto/libgphoto/"
 | 
			
		||||
                                  version "/libgphoto2-" version ".tar.bz2"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1v57ayp17j88bj79nl7rf4iyajbxx00kgb4l5k3kbv50gjfvh5sv"))))
 | 
			
		||||
                "0qrcc6kajbfb237paxrl904vvwl7hd8mnqvjw00j6m5qwd93wlk2"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (native-inputs `(("pkg-config" ,pkg-config)))
 | 
			
		||||
    (inputs
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10131,14 +10131,14 @@ functionality in the command line.")
 | 
			
		|||
(define-public python-glances
 | 
			
		||||
  (package
 | 
			
		||||
  (name "python-glances")
 | 
			
		||||
  (version "2.7.1")
 | 
			
		||||
  (version "3.0.2")
 | 
			
		||||
  (source
 | 
			
		||||
    (origin
 | 
			
		||||
      (method url-fetch)
 | 
			
		||||
      (uri (pypi-uri "Glances" version))
 | 
			
		||||
      (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
          "11jbq40g8alsbirnd4kiagznqg270247i0m8qhi48ldf2i5xppxg"))))
 | 
			
		||||
          "09fxysfp1n16csqvzvawy74qm6a94nvwjf3vcf5gkqp4i6k4vjjy"))))
 | 
			
		||||
  (build-system python-build-system)
 | 
			
		||||
  (propagated-inputs
 | 
			
		||||
   `(("python-psutil" ,python-psutil)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,7 +29,7 @@
 | 
			
		|||
(define-public re2
 | 
			
		||||
   (package
 | 
			
		||||
     (name "re2")
 | 
			
		||||
     (version "2018-09-01")
 | 
			
		||||
     (version "2018-10-01")
 | 
			
		||||
     (home-page "https://github.com/google/re2")
 | 
			
		||||
     (source (origin
 | 
			
		||||
               (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +37,7 @@
 | 
			
		|||
               (file-name (string-append name "-" version ".tar.gz"))
 | 
			
		||||
               (sha256
 | 
			
		||||
                (base32
 | 
			
		||||
                 "0hygr88hvy7if1i45m5r6x60zf73439j2fwzw7wwcw9gb01v690l"))))
 | 
			
		||||
                 "10fsxsj3yip34hp2zl5rw8h2x2lgnp83fwrh7m0qfd9m99qrf4x3"))))
 | 
			
		||||
     (build-system gnu-build-system)
 | 
			
		||||
     (arguments
 | 
			
		||||
      `(#:modules ((guix build gnu-build-system)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -65,40 +65,36 @@
 | 
			
		|||
  #:use-module (srfi srfi-1))
 | 
			
		||||
 | 
			
		||||
(define-public libssh
 | 
			
		||||
  ;; This commit from the 'v0-7' branch contains 7 memory-management-related
 | 
			
		||||
  ;; bug fixes that we'd rather have.
 | 
			
		||||
  (let ((commit "239d0f75b5f909174c2ef7fb08d23bcfa6b20ba0")
 | 
			
		||||
        (revision "0"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "libssh")
 | 
			
		||||
      (version (git-version "0.7.5" revision commit))
 | 
			
		||||
      (source (origin
 | 
			
		||||
                (method git-fetch)
 | 
			
		||||
                (uri (git-reference
 | 
			
		||||
                      (url "https://git.libssh.org/projects/libssh.git")
 | 
			
		||||
                      (commit commit)))
 | 
			
		||||
                (sha256
 | 
			
		||||
                 (base32
 | 
			
		||||
                  "01w72w1jsgs9ilj3n1gp6qkmdxr9n74i5h2nipi3x1vzm7bv8na1"))
 | 
			
		||||
                (patches (search-patches "libssh-hostname-parser-bug.patch"))
 | 
			
		||||
                (file-name (git-file-name name version))))
 | 
			
		||||
      (build-system cmake-build-system)
 | 
			
		||||
      (outputs '("out" "debug"))
 | 
			
		||||
      (arguments
 | 
			
		||||
       '(#:configure-flags '("-DWITH_GCRYPT=ON")
 | 
			
		||||
  (package
 | 
			
		||||
    (name "libssh")
 | 
			
		||||
    (version "0.7.6")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://git.libssh.org/projects/libssh.git")
 | 
			
		||||
                    (commit (string-append "libssh-" version))))
 | 
			
		||||
              (patches (search-patches "libssh-hostname-parser-bug.patch"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0slwqa36mhyb6brdv2jvb9fxp7rvsv3ziv67kaxx615jxn52l5pa"))
 | 
			
		||||
              (file-name (git-file-name name version))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (outputs '("out" "debug"))
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:configure-flags '("-DWITH_GCRYPT=ON")
 | 
			
		||||
 | 
			
		||||
         ;; TODO: Add 'CMockery' and '-DWITH_TESTING=ON' for the test suite.
 | 
			
		||||
         #:tests? #f))
 | 
			
		||||
      (inputs `(("zlib" ,zlib)
 | 
			
		||||
                ("libgcrypt" ,libgcrypt)))
 | 
			
		||||
      (synopsis "SSH client library")
 | 
			
		||||
      (description
 | 
			
		||||
       "libssh is a C library implementing the SSHv2 and SSHv1 protocol for
 | 
			
		||||
client and server implementations.  With libssh, you can remotely execute
 | 
			
		||||
programs, transfer files, and use a secure and transparent tunnel for your
 | 
			
		||||
remote applications.")
 | 
			
		||||
      (home-page "https://www.libssh.org")
 | 
			
		||||
      (license license:lgpl2.1+))))
 | 
			
		||||
       ;; TODO: Add 'CMockery' and '-DWITH_TESTING=ON' for the test suite.
 | 
			
		||||
       #:tests? #f))
 | 
			
		||||
    (inputs `(("zlib" ,zlib)
 | 
			
		||||
              ("libgcrypt" ,libgcrypt)))
 | 
			
		||||
    (synopsis "SSH client library")
 | 
			
		||||
    (description
 | 
			
		||||
     "libssh is a C library implementing the SSHv2 and SSHv1 protocol for client
 | 
			
		||||
and server implementations.  With libssh, you can remotely execute programs,
 | 
			
		||||
transfer files, and use a secure and transparent tunnel for your remote
 | 
			
		||||
applications.")
 | 
			
		||||
    (home-page "https://www.libssh.org")
 | 
			
		||||
    (license license:lgpl2.1+)))
 | 
			
		||||
 | 
			
		||||
(define-public libssh2
 | 
			
		||||
  (package
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4506,3 +4506,248 @@ including:
 | 
			
		|||
 | 
			
		||||
It also ensures compatibility with the @code{media9} and @code{animate} packages.")
 | 
			
		||||
    (license license:lppl)))
 | 
			
		||||
 | 
			
		||||
(define-public texlive-latex-ms
 | 
			
		||||
  (package
 | 
			
		||||
    (name "texlive-latex-ms")
 | 
			
		||||
    (version (number->string %texlive-revision))
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method svn-fetch)
 | 
			
		||||
              (uri (texlive-ref "latex" "ms"))
 | 
			
		||||
              (file-name (string-append name "-" version "-checkout"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0m4wx3yjb5al1qsv995z8fii8xxy96mcfihbnlx43lpgayiwz35s"))))
 | 
			
		||||
    (build-system texlive-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:tex-directory "latex/ms"
 | 
			
		||||
       #:tex-format "latex"))
 | 
			
		||||
    (home-page "https://ctan.org/pkg/ms")
 | 
			
		||||
    (synopsis "Various LATEX packages by Martin Schröder")
 | 
			
		||||
    (description
 | 
			
		||||
     "A bundle of LATEX packages by Martin Schröder; the collection comprises:
 | 
			
		||||
 | 
			
		||||
@itemize
 | 
			
		||||
@item @command{count1to}, make use of fixed TEX counters;
 | 
			
		||||
@item @command{everysel}, set commands to execute every time a font is selected;
 | 
			
		||||
@item @command{everyshi}, set commands to execute whenever a page is shipped out;
 | 
			
		||||
@item @command{multitoc}, typeset the table of contents in multiple columns;
 | 
			
		||||
@item @command{prelim2e}, mark typeset pages as preliminary; and
 | 
			
		||||
@item @command{ragged2e}, typeset ragged text and allow hyphenation.
 | 
			
		||||
@end itemize\n")
 | 
			
		||||
    (license license:lppl1.3c+)))
 | 
			
		||||
 | 
			
		||||
(define-public texlive-latex-needspace
 | 
			
		||||
  (package
 | 
			
		||||
    (name "texlive-latex-needspace")
 | 
			
		||||
    (version (number->string %texlive-revision))
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method svn-fetch)
 | 
			
		||||
              (uri (texlive-ref "latex" "needspace"))
 | 
			
		||||
              (file-name (string-append name "-" version "-checkout"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0kw80f5jh4gdpa2ka815abza3gr5z8b929w0745vrlc59pl0017y"))))
 | 
			
		||||
    (build-system texlive-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:tex-directory "latex/needspace"
 | 
			
		||||
       #:tex-format "latex"))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("texlive-latex-filecontents" ,texlive-latex-filecontents)))
 | 
			
		||||
    (home-page "https://www.ctan.org/pkg/needspace")
 | 
			
		||||
    (synopsis "Insert pagebreak if not enough space")
 | 
			
		||||
    (description
 | 
			
		||||
     "Provides commands to disable pagebreaking within a given vertical
 | 
			
		||||
space.  If there is not enough space between the command and the bottom of the
 | 
			
		||||
page, a new page will be started.")
 | 
			
		||||
    (license license:lppl)))
 | 
			
		||||
 | 
			
		||||
(define-public texlive-latex-eukdate
 | 
			
		||||
  (package
 | 
			
		||||
    (name "texlive-latex-eukdate")
 | 
			
		||||
    (version (number->string %texlive-revision))
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method svn-fetch)
 | 
			
		||||
       (uri (svn-reference
 | 
			
		||||
             (url (string-append "svn://www.tug.org/texlive/tags/"
 | 
			
		||||
                                 %texlive-tag "/Master/texmf-dist/"
 | 
			
		||||
                                 "/tex/latex/eukdate"))
 | 
			
		||||
             (revision %texlive-revision)))
 | 
			
		||||
       (file-name (string-append name "-" version "-checkout"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "18xan116l8w47v560bkw6nbhkrml7g04xrlzk3jrpc7qsyf3n5fz"))))
 | 
			
		||||
    (build-system trivial-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:modules ((guix build utils))
 | 
			
		||||
       #:builder
 | 
			
		||||
       (begin
 | 
			
		||||
         (use-modules (guix build utils))
 | 
			
		||||
         (let ((target (string-append (assoc-ref %outputs "out")
 | 
			
		||||
                                      "/share/texmf-dist/tex/latex/eukdate")))
 | 
			
		||||
           (mkdir-p target)
 | 
			
		||||
           (copy-recursively (assoc-ref %build-inputs "source") target)
 | 
			
		||||
           #t))))
 | 
			
		||||
    (home-page "https://www.ctan.org/pkg/eukdate")
 | 
			
		||||
    (synopsis "UK format dates, with weekday")
 | 
			
		||||
    (description
 | 
			
		||||
     "The package is used to change the format of @code{\\today}’s date,
 | 
			
		||||
including the weekday, e.g., \"Saturday, 26 June 2008\", the 'UK format', which
 | 
			
		||||
is preferred in many parts of the world, as distinct from that which is used in
 | 
			
		||||
@code{\\maketitle} of the article class, \"June 26, 2008\", the 'US format'.")
 | 
			
		||||
    (license license:lppl)))
 | 
			
		||||
 | 
			
		||||
(define-public texlive-generic-ulem
 | 
			
		||||
  (package
 | 
			
		||||
    (name "texlive-generic-ulem")
 | 
			
		||||
    (version (number->string %texlive-revision))
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method svn-fetch)
 | 
			
		||||
       (uri (svn-reference
 | 
			
		||||
             (url (string-append "svn://www.tug.org/texlive/tags/"
 | 
			
		||||
                                 %texlive-tag "/Master/texmf-dist/"
 | 
			
		||||
                                 "/tex/generic/ulem"))
 | 
			
		||||
             (revision %texlive-revision)))
 | 
			
		||||
       (file-name (string-append name "-" version "-checkout"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1rzdniqq9zk39w8ch8ylx3ywh2mj87s4ivchrsk2b8nx06jyn797"))))
 | 
			
		||||
    (build-system trivial-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:modules ((guix build utils))
 | 
			
		||||
       #:builder
 | 
			
		||||
       (begin
 | 
			
		||||
         (use-modules (guix build utils))
 | 
			
		||||
         (let ((target (string-append (assoc-ref %outputs "out")
 | 
			
		||||
                                      "/share/texmf-dist/tex/generic/ulem")))
 | 
			
		||||
           (mkdir-p target)
 | 
			
		||||
           (copy-recursively (assoc-ref %build-inputs "source") target)
 | 
			
		||||
           #t))))
 | 
			
		||||
    (home-page "https://www.ctan.org/pkg/ulem")
 | 
			
		||||
    (synopsis "Underline text in TeX")
 | 
			
		||||
    (description
 | 
			
		||||
     "The package provides an @code{\\ul} (underline) command which will break
 | 
			
		||||
over line ends; this technique may be used to replace @code{\\em} (both in that
 | 
			
		||||
form and as the @code{\\emph} command), so as to make output look as if it comes
 | 
			
		||||
from a typewriter.  The package also offers double and wavy underlining, and
 | 
			
		||||
striking out (line through words) and crossing out (/// over words).")
 | 
			
		||||
    (license license:lppl1.3c+)))
 | 
			
		||||
 | 
			
		||||
(define-public texlive-latex-pgf
 | 
			
		||||
  (package
 | 
			
		||||
    (name "texlive-latex-pgf")
 | 
			
		||||
    (version (number->string %texlive-revision))
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method svn-fetch)
 | 
			
		||||
       (uri (svn-reference
 | 
			
		||||
             (url (string-append "svn://www.tug.org/texlive/tags/"
 | 
			
		||||
                                 %texlive-tag "/Master/texmf-dist/"
 | 
			
		||||
                                 "/tex/latex/pgf"))
 | 
			
		||||
             (revision %texlive-revision)))
 | 
			
		||||
       (file-name (string-append name "-" version "-checkout"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1dq8p10pz8wn0vx412m7d7d5gj1syxly3yqdqvf7lv2xl8zndn5h"))))
 | 
			
		||||
    (build-system trivial-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("texlive-latex-pgf-generic"
 | 
			
		||||
        ,(origin
 | 
			
		||||
           (method svn-fetch)
 | 
			
		||||
           (uri (svn-reference
 | 
			
		||||
             (url (string-append "svn://www.tug.org/texlive/tags/"
 | 
			
		||||
                                 %texlive-tag "/Master/texmf-dist/"
 | 
			
		||||
                                 "/tex/generic/pgf"))
 | 
			
		||||
             (revision %texlive-revision)))
 | 
			
		||||
           (file-name (string-append "texlive-latex-pgf-generic" version "-checkout"))
 | 
			
		||||
           (sha256
 | 
			
		||||
            (base32
 | 
			
		||||
             "0xkxw26sjzr5npjpzpr28yygwdbhzpdd0hsk80gjpidhcxmz393i"))))))
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:modules ((guix build utils))
 | 
			
		||||
       #:builder
 | 
			
		||||
       (begin
 | 
			
		||||
         (use-modules (guix build utils))
 | 
			
		||||
         (let ((target-generic (string-append (assoc-ref %outputs "out")
 | 
			
		||||
                                              "/share/texmf-dist/tex/generic/pgf"))
 | 
			
		||||
               (target-latex (string-append (assoc-ref %outputs "out")
 | 
			
		||||
                                            "/share/texmf-dist/tex/latex/pgf")))
 | 
			
		||||
           (mkdir-p target-generic)
 | 
			
		||||
           (mkdir-p target-latex)
 | 
			
		||||
           (copy-recursively (assoc-ref %build-inputs "texlive-latex-pgf-generic") target-generic)
 | 
			
		||||
           (copy-recursively (assoc-ref %build-inputs "source") target-latex)
 | 
			
		||||
           #t))))
 | 
			
		||||
    (home-page "https://www.ctan.org/pkg/tikz")
 | 
			
		||||
    (synopsis "Create PostScript and PDF graphics in TeX")
 | 
			
		||||
    (description
 | 
			
		||||
     "PGF is a macro package for creating graphics.  It is platform- and
 | 
			
		||||
format-independent and works together with the most important TeX backend
 | 
			
		||||
drivers, including pdfTeX and dvips.  It comes with a user-friendly syntax layer
 | 
			
		||||
called TikZ.
 | 
			
		||||
 | 
			
		||||
Its usage is similar to pstricks and the standard picture environment.  PGF
 | 
			
		||||
works with plain (pdf-)TeX, (pdf-)LaTeX, and ConTeXt.  Unlike pstricks, it can
 | 
			
		||||
produce either PostScript or PDF output.")
 | 
			
		||||
    (license license:lppl1.3c+)))
 | 
			
		||||
 | 
			
		||||
(define-public texlive-latex-koma-script
 | 
			
		||||
  (package
 | 
			
		||||
    (name "texlive-latex-koma-script")
 | 
			
		||||
    (version (number->string %texlive-revision))
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method svn-fetch)
 | 
			
		||||
              (uri (svn-reference
 | 
			
		||||
                    (url (string-append "svn://www.tug.org/texlive/tags/"
 | 
			
		||||
                                        %texlive-tag "/Master/texmf-dist/"
 | 
			
		||||
                                        "/tex/latex/koma-script"))
 | 
			
		||||
                    (revision %texlive-revision)))
 | 
			
		||||
              (file-name (string-append name "-" version "-checkout"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "1g8qg796hc6s092islnybaxs115ldsqwp2vxkk3gpy6vh7wc9r50"))))
 | 
			
		||||
    (build-system trivial-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:modules ((guix build utils)
 | 
			
		||||
                  (ice-9 match))
 | 
			
		||||
       #:builder
 | 
			
		||||
       (begin
 | 
			
		||||
         (use-modules (guix build utils)
 | 
			
		||||
                      (ice-9 match))
 | 
			
		||||
         (let ((root (string-append (assoc-ref %outputs "out")
 | 
			
		||||
                                    "/share/texmf-dist/"))
 | 
			
		||||
               (pkgs '(("source" . "tex/latex/koma-script"))))
 | 
			
		||||
           (for-each (match-lambda
 | 
			
		||||
                       ((pkg . dir)
 | 
			
		||||
                        (let ((target (string-append root dir)))
 | 
			
		||||
                          (mkdir-p target)
 | 
			
		||||
                          (copy-recursively (assoc-ref %build-inputs pkg)
 | 
			
		||||
                                            target))))
 | 
			
		||||
                     pkgs)
 | 
			
		||||
           #t))))
 | 
			
		||||
    (home-page "https://www.ctan.org/pkg/koma-script")
 | 
			
		||||
    (synopsis "Bundle of versatile classes and packages")
 | 
			
		||||
    (description
 | 
			
		||||
     "The KOMA-Script bundle provides replacements for the article, report, and
 | 
			
		||||
book classes with emphasis on typography and versatility.  There is also a
 | 
			
		||||
letter class.
 | 
			
		||||
 | 
			
		||||
The bundle also offers:
 | 
			
		||||
 | 
			
		||||
@itemize
 | 
			
		||||
@item a package for calculating type areas in the way laid down by the
 | 
			
		||||
typographer Jan Tschichold,
 | 
			
		||||
@item packages for easily changing and defining page styles,
 | 
			
		||||
@item a package scrdate for getting not only the current date but also the name
 | 
			
		||||
of the day, and
 | 
			
		||||
@item a package scrtime for getting the current time.
 | 
			
		||||
@end itemize
 | 
			
		||||
 | 
			
		||||
All these packages may be used not only with KOMA-Script classes but also with
 | 
			
		||||
the standard classes.
 | 
			
		||||
 | 
			
		||||
Since every package has its own version number, the version number quoted only
 | 
			
		||||
refers to the version of scrbook, scrreprt, scrartcl, scrlttr2 and
 | 
			
		||||
typearea (which are the main parts of the bundle).")
 | 
			
		||||
    (license license:lppl1.3+)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,7 +34,7 @@
 | 
			
		|||
(define-public tmux
 | 
			
		||||
  (package
 | 
			
		||||
    (name "tmux")
 | 
			
		||||
    (version "2.7")
 | 
			
		||||
    (version "2.8")
 | 
			
		||||
    (source (origin
 | 
			
		||||
             (method url-fetch)
 | 
			
		||||
             (uri (string-append
 | 
			
		||||
| 
						 | 
				
			
			@ -42,7 +42,7 @@
 | 
			
		|||
                    version "/tmux-" version ".tar.gz"))
 | 
			
		||||
             (sha256
 | 
			
		||||
              (base32
 | 
			
		||||
               "0lnlhnafvi5700afr69g6gr62pblnd440jj0hxdbrxhk0c87vvcx"))))
 | 
			
		||||
               "1fm22wva2znkcs5jczrnlxrpzsk2jlwdwy4dhzzyrbsgccsz6svz"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("libevent" ,libevent)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -427,7 +427,7 @@ everything from small to very large projects with speed and efficiency.")
 | 
			
		|||
(define-public libgit2
 | 
			
		||||
  (package
 | 
			
		||||
    (name "libgit2")
 | 
			
		||||
    (version "0.26.6")
 | 
			
		||||
    (version "0.26.7")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://github.com/libgit2/libgit2/"
 | 
			
		||||
| 
						 | 
				
			
			@ -435,7 +435,7 @@ everything from small to very large projects with speed and efficiency.")
 | 
			
		|||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0qjn1v5q282v8jih8rqjdqxr5v4n4manr0c8i3nnrf6sxd3xssbn"))
 | 
			
		||||
                "1vy4dnbvhcq3pw8n8zz6clnsv2xnkrichl8k96w3lb6yyk0lln35"))
 | 
			
		||||
              (patches (search-patches "libgit2-mtime-0.patch"))
 | 
			
		||||
 | 
			
		||||
              ;; Remove bundled software.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1268,7 +1268,7 @@ access to mpv's powerful playback capabilities.")
 | 
			
		|||
(define-public youtube-dl
 | 
			
		||||
  (package
 | 
			
		||||
    (name "youtube-dl")
 | 
			
		||||
    (version "2018.09.18")
 | 
			
		||||
    (version "2018.10.05")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://yt-dl.org/downloads/"
 | 
			
		||||
| 
						 | 
				
			
			@ -1276,7 +1276,7 @@ access to mpv's powerful playback capabilities.")
 | 
			
		|||
                                  version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0mlsdmddmyy3xaqy366k48xds14g17l81al3kglndjkbrrji63sb"))))
 | 
			
		||||
                "1iq02kwxdgh07bf0w0fvbsjbdshs4kja35gy8m70ji9cj10l1mbw"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     ;; The problem here is that the directory for the man page and completion
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -163,7 +163,7 @@ interpretation of the specifications for these languages.")
 | 
			
		|||
(define-public vulkan-headers
 | 
			
		||||
  (package
 | 
			
		||||
    (name "vulkan-headers")
 | 
			
		||||
    (version "1.1.82.0")
 | 
			
		||||
    (version "1.1.85.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -172,7 +172,7 @@ interpretation of the specifications for these languages.")
 | 
			
		|||
             "archive/sdk-" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "1rbra47f1dkw5bjzvm0k9s2f89c2x80j904ply4bxks7sl3xlwyz"))))
 | 
			
		||||
         "166hqqb97kjg6h9vp8yxb1cq02i1kqaxvl693482gf8v21fl7ink"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f)) ; No tests.
 | 
			
		||||
| 
						 | 
				
			
			@ -195,7 +195,7 @@ interpretation of the specifications for these languages.")
 | 
			
		|||
             "archive/sdk-" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "032vfysb8mi19c2lx08vc6k9mbzxmiy17wp7a22vpgwwv69kxkc6"))))
 | 
			
		||||
         "04d53ynlc0ww8r67hv4sxwg5sirjhpr1laaa9hc6j4niliw0166n"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:tests? #f ;FIXME: 23/39 tests fail.  Try "tests/run_all_tests.sh".
 | 
			
		||||
| 
						 | 
				
			
			@ -251,7 +251,7 @@ and the ICD.")
 | 
			
		|||
             "archive/sdk-" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "175qhfg9lxxfm5zks6jxaybcxamwd9q5kvjq8ikf2dbmskgybr92"))))
 | 
			
		||||
         "0r26px9rh09giddajlmafv21rx1la1y3bbnjgnpai8aw98wvq9mm"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("glslang" ,glslang)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,6 +17,7 @@
 | 
			
		|||
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
 | 
			
		||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
			
		||||
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
 | 
			
		||||
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -233,6 +234,46 @@ from scratch.  i3 is primarily targeted at advanced users and
 | 
			
		|||
developers.")
 | 
			
		||||
    (license license:bsd-3)))
 | 
			
		||||
 | 
			
		||||
(define-public i3blocks
 | 
			
		||||
  (let ((commit "37f23805ff886639163fbef8aedba71c8071eff8")
 | 
			
		||||
        (revision "1"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "i3blocks")
 | 
			
		||||
      (version (string-append "1.4-" revision "."
 | 
			
		||||
                              (string-take commit 7)))
 | 
			
		||||
      (source (origin
 | 
			
		||||
                (method git-fetch)
 | 
			
		||||
                (uri (git-reference
 | 
			
		||||
                      (url "https://github.com/vivien/i3blocks.git")
 | 
			
		||||
                      (commit commit)))
 | 
			
		||||
                (sha256
 | 
			
		||||
                 (base32
 | 
			
		||||
                  "15rnrcajzyrmhlz1a21qqsjlj3dkib70806dlb386fliylc2kisb"))
 | 
			
		||||
                (file-name (string-append name "-" version "-checkout"))))
 | 
			
		||||
      (build-system gnu-build-system)
 | 
			
		||||
      (arguments
 | 
			
		||||
       `(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
 | 
			
		||||
         #:phases (modify-phases %standard-phases
 | 
			
		||||
                    (add-after 'unpack 'autogen
 | 
			
		||||
                      (lambda _ (invoke "sh" "autogen.sh")))
 | 
			
		||||
                    (add-after 'install 'install-doc
 | 
			
		||||
                      (lambda* (#:key outputs #:allow-other-keys)
 | 
			
		||||
                        (let* ((out (assoc-ref outputs "out"))
 | 
			
		||||
                               (man1 (string-append out "/share/man/man1")))
 | 
			
		||||
                          (install-file "docs/i3blocks.1" man1)
 | 
			
		||||
                          #t))))))
 | 
			
		||||
      (native-inputs
 | 
			
		||||
       `(("autoconf" ,autoconf)
 | 
			
		||||
         ("automake" ,automake)
 | 
			
		||||
         ("pkg-config" ,pkg-config)))
 | 
			
		||||
      (home-page "https://github.com/vivien/i3blocks")
 | 
			
		||||
      (synopsis "Minimalist scheduler for status bar scripts")
 | 
			
		||||
      (description "i3blocks executes your command lines and generates a
 | 
			
		||||
status line from their output.  The generated line is meant to be displayed by
 | 
			
		||||
the i3 window manager through its i3bar component, as an alternative to
 | 
			
		||||
i3status.")
 | 
			
		||||
      (license license:gpl3+))))
 | 
			
		||||
 | 
			
		||||
(define-public perl-anyevent-i3
 | 
			
		||||
  (package
 | 
			
		||||
    (name "perl-anyevent-i3")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
;;; GNU Guix --- Functional package management for GNU
 | 
			
		||||
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
 | 
			
		||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 | 
			
		||||
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
 | 
			
		||||
| 
						 | 
				
			
			@ -996,7 +996,7 @@ as expected.")))
 | 
			
		|||
         (elogind-service)
 | 
			
		||||
         (dbus-service)
 | 
			
		||||
 | 
			
		||||
         (ntp-service)
 | 
			
		||||
         (service ntp-service-type)
 | 
			
		||||
 | 
			
		||||
         x11-socket-directory-service
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,6 +53,7 @@
 | 
			
		|||
               static-networking-service-type)
 | 
			
		||||
  #:export (%facebook-host-aliases
 | 
			
		||||
            dhcp-client-service
 | 
			
		||||
            dhcp-client-service-type
 | 
			
		||||
 | 
			
		||||
            dhcpd-service-type
 | 
			
		||||
            dhcpd-configuration
 | 
			
		||||
| 
						 | 
				
			
			@ -202,9 +203,10 @@ fe80::1%lo0 apps.facebook.com\n")
 | 
			
		|||
                                    "-pf" #$pid-file ifaces))))
 | 
			
		||||
                   (and (zero? (cdr (waitpid pid)))
 | 
			
		||||
                        (read-pid-file #$pid-file)))))
 | 
			
		||||
      (stop #~(make-kill-destructor))))))
 | 
			
		||||
      (stop #~(make-kill-destructor))))
 | 
			
		||||
   isc-dhcp))
 | 
			
		||||
 | 
			
		||||
(define* (dhcp-client-service #:key (dhcp isc-dhcp))
 | 
			
		||||
(define* (dhcp-client-service #:key (dhcp isc-dhcp)) ;deprecated
 | 
			
		||||
  "Return a service that runs @var{dhcp}, a Dynamic Host Configuration
 | 
			
		||||
Protocol (DHCP) client, on all the non-loopback network interfaces."
 | 
			
		||||
  (service dhcp-client-service-type dhcp))
 | 
			
		||||
| 
						 | 
				
			
			@ -295,7 +297,8 @@ Protocol (DHCP) client, on all the non-loopback network interfaces."
 | 
			
		|||
  ntp-configuration?
 | 
			
		||||
  (ntp      ntp-configuration-ntp
 | 
			
		||||
            (default ntp))
 | 
			
		||||
  (servers  ntp-configuration-servers)
 | 
			
		||||
  (servers  ntp-configuration-servers
 | 
			
		||||
            (default %ntp-servers))
 | 
			
		||||
  (allow-large-adjustment? ntp-allow-large-adjustment?
 | 
			
		||||
                           (default #f)))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -368,9 +371,10 @@ restrict -6 ::1\n"))
 | 
			
		|||
                (description
 | 
			
		||||
                 "Run the @command{ntpd}, the Network Time Protocol (NTP)
 | 
			
		||||
daemon of the @uref{http://www.ntp.org, Network Time Foundation}.  The daemon
 | 
			
		||||
will keep the system clock synchronized with that of the given servers.")))
 | 
			
		||||
will keep the system clock synchronized with that of the given servers.")
 | 
			
		||||
                (default-value (ntp-configuration))))
 | 
			
		||||
 | 
			
		||||
(define* (ntp-service #:key (ntp ntp)
 | 
			
		||||
(define* (ntp-service #:key (ntp ntp)             ;deprecated
 | 
			
		||||
                      (servers %ntp-servers)
 | 
			
		||||
                      allow-large-adjustment?)
 | 
			
		||||
  "Return a service that runs the daemon from @var{ntp}, the
 | 
			
		||||
| 
						 | 
				
			
			@ -1062,10 +1066,10 @@ networking."))))
 | 
			
		|||
                                   #~("-u")
 | 
			
		||||
                                   #~())
 | 
			
		||||
                            #$@(if interface
 | 
			
		||||
                                   #~(string-append "-i" #$interface)
 | 
			
		||||
                                   #~((string-append "-i" #$interface))
 | 
			
		||||
                                   #~())
 | 
			
		||||
                            #$@(if config-file
 | 
			
		||||
                                   #~(string-append "-c" #$config-file)
 | 
			
		||||
                                   #~((string-append "-c" #$config-file))
 | 
			
		||||
                                   #~())
 | 
			
		||||
                            #$@extra-options)
 | 
			
		||||
                      #:pid-file #$pid-file))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,7 +44,7 @@
 | 
			
		|||
 | 
			
		||||
  ;; Add services to the baseline: a DHCP client and
 | 
			
		||||
  ;; an SSH server.
 | 
			
		||||
  (services (cons* (dhcp-client-service)
 | 
			
		||||
  (services (cons* (service dhcp-client-service-type)
 | 
			
		||||
                   (service openssh-service-type
 | 
			
		||||
                            (openssh-configuration
 | 
			
		||||
                              (port-number 2222)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,7 +45,7 @@
 | 
			
		|||
  ;; Globally-installed packages.
 | 
			
		||||
  (packages (cons* screen openssh %base-packages))
 | 
			
		||||
 | 
			
		||||
  (services (cons* (dhcp-client-service)
 | 
			
		||||
  (services (cons* (service dhcp-client-service-type)
 | 
			
		||||
                   ;; mingetty does not work on serial lines.
 | 
			
		||||
                   ;; Use agetty with board-specific serial parameters.
 | 
			
		||||
                   (agetty-service
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -181,7 +181,7 @@ fi
 | 
			
		|||
alias ls='ls -p --color=auto'
 | 
			
		||||
alias ll='ls -l'
 | 
			
		||||
alias grep='grep --color=auto'\n"))
 | 
			
		||||
        (zlogin    (plain-file "zlogin" "\
 | 
			
		||||
        (zprofile    (plain-file "zprofile" "\
 | 
			
		||||
# Honor system-wide environment variables
 | 
			
		||||
source /etc/profile\n"))
 | 
			
		||||
        (guile-wm  (computed-file "guile-wm" copy-guile-wm))
 | 
			
		||||
| 
						 | 
				
			
			@ -197,7 +197,10 @@ set debug-file-directory ~/.guix-profile/lib/debug
 | 
			
		|||
set auto-load safe-path /gnu/store/*/lib\n")))
 | 
			
		||||
    `((".bash_profile" ,profile)
 | 
			
		||||
      (".bashrc" ,bashrc)
 | 
			
		||||
      (".zlogin" ,zlogin)
 | 
			
		||||
      ;; Zsh sources ~/.zprofile before ~/.zshrc, and it sources ~/.zlogin
 | 
			
		||||
      ;; after ~/.zshrc.  To avoid interfering with any customizations a user
 | 
			
		||||
      ;; may have made in their ~/.zshrc, put this in .zprofile, not .zlogin.
 | 
			
		||||
      (".zprofile" ,zprofile)
 | 
			
		||||
      (".nanorc" ,(plain-file "nanorc" "\
 | 
			
		||||
# Include all the syntax highlighting modules.
 | 
			
		||||
include /run/current-system/profile/share/nano/*.nanorc\n"))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -673,7 +673,7 @@ non-ASCII names from /tmp.")
 | 
			
		|||
    (name-service-switch %mdns-host-lookup-nss)
 | 
			
		||||
    (services (cons* (avahi-service #:debug? #t)
 | 
			
		||||
                     (dbus-service)
 | 
			
		||||
                     (dhcp-client-service)        ;needed for multicast
 | 
			
		||||
                     (service dhcp-client-service-type) ;needed for multicast
 | 
			
		||||
 | 
			
		||||
                     ;; Enable heavyweight debugging output.
 | 
			
		||||
                     (modify-services (operating-system-user-services
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,7 +35,7 @@
 | 
			
		|||
 | 
			
		||||
(define %memcached-os
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   (service memcached-service-type)))
 | 
			
		||||
 | 
			
		||||
(define* (run-memcached-test #:optional (port 11211))
 | 
			
		||||
| 
						 | 
				
			
			@ -130,7 +130,7 @@
 | 
			
		|||
  (operating-system
 | 
			
		||||
    (inherit
 | 
			
		||||
     (simple-operating-system
 | 
			
		||||
      (dhcp-client-service)
 | 
			
		||||
      (service dhcp-client-service-type)
 | 
			
		||||
      (service mongodb-service-type)))
 | 
			
		||||
    (packages (cons* mongodb
 | 
			
		||||
                     %base-packages))))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,7 +34,7 @@
 | 
			
		|||
 | 
			
		||||
(define %dicod-os
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   (service dicod-service-type
 | 
			
		||||
            (dicod-configuration
 | 
			
		||||
             (interfaces '("0.0.0.0"))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,7 +36,7 @@
 | 
			
		|||
 | 
			
		||||
(define %opensmtpd-os
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   (service opensmtpd-service-type
 | 
			
		||||
            (opensmtpd-configuration
 | 
			
		||||
             (config-file
 | 
			
		||||
| 
						 | 
				
			
			@ -155,7 +155,7 @@ accept from any for local deliver to mbox
 | 
			
		|||
 | 
			
		||||
(define %exim-os
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   (service mail-aliases-service-type '())
 | 
			
		||||
   (service exim-service-type
 | 
			
		||||
            (exim-configuration
 | 
			
		||||
| 
						 | 
				
			
			@ -283,7 +283,7 @@ acl_check_data:
 | 
			
		|||
 | 
			
		||||
(define %dovecot-os
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   (dovecot-service #:config
 | 
			
		||||
                    (dovecot-configuration
 | 
			
		||||
                     (disable-plaintext-auth? #f)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,7 +35,7 @@
 | 
			
		|||
  "Run a test of an OS running XMPP-SERVICE, which writes its PID to PID-FILE."
 | 
			
		||||
  (define os
 | 
			
		||||
    (marionette-operating-system
 | 
			
		||||
     (simple-operating-system (dhcp-client-service)
 | 
			
		||||
     (simple-operating-system (service dhcp-client-service-type)
 | 
			
		||||
                              xmpp-service)
 | 
			
		||||
     #:imported-modules '((gnu services herd))))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -167,7 +167,7 @@
 | 
			
		|||
(define (run-bitlbee-test)
 | 
			
		||||
  (define os
 | 
			
		||||
    (marionette-operating-system
 | 
			
		||||
     (simple-operating-system (dhcp-client-service)
 | 
			
		||||
     (simple-operating-system (service dhcp-client-service-type)
 | 
			
		||||
                              (service bitlbee-service-type
 | 
			
		||||
                                       (bitlbee-configuration
 | 
			
		||||
                                        (interface "0.0.0.0"))))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -85,7 +85,7 @@
 | 
			
		|||
 | 
			
		||||
(define %prometheus-node-exporter-os
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   (service prometheus-node-exporter-service-type
 | 
			
		||||
            (prometheus-node-exporter-configuration))))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,7 +39,7 @@
 | 
			
		|||
(define %inetd-os
 | 
			
		||||
  ;; Operating system with 2 inetd services.
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   (service inetd-service-type
 | 
			
		||||
            (inetd-configuration
 | 
			
		||||
             (entries (list
 | 
			
		||||
| 
						 | 
				
			
			@ -463,7 +463,7 @@ COMMIT
 | 
			
		|||
  (define os
 | 
			
		||||
    (marionette-operating-system
 | 
			
		||||
     (simple-operating-system
 | 
			
		||||
      (dhcp-client-service)
 | 
			
		||||
      (service dhcp-client-service-type)
 | 
			
		||||
      (service inetd-service-type
 | 
			
		||||
               (inetd-configuration
 | 
			
		||||
                (entries (list
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,7 +55,7 @@
 | 
			
		|||
    (services (cons*
 | 
			
		||||
               (service rpcbind-service-type
 | 
			
		||||
                        (rpcbind-configuration))
 | 
			
		||||
               (dhcp-client-service)
 | 
			
		||||
               (service dhcp-client-service-type)
 | 
			
		||||
               %base-services))))
 | 
			
		||||
 | 
			
		||||
(define (run-nfs-test name socket)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -111,7 +111,7 @@ PORT."
 | 
			
		|||
  ;; Return operating system under test.
 | 
			
		||||
  (let ((base-os
 | 
			
		||||
         (simple-operating-system
 | 
			
		||||
          (dhcp-client-service)
 | 
			
		||||
          (service dhcp-client-service-type)
 | 
			
		||||
          (service rsync-service-type))))
 | 
			
		||||
    (operating-system
 | 
			
		||||
      (inherit base-os)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -39,7 +39,7 @@ empty-password logins.
 | 
			
		|||
When SFTP? is true, run an SFTP server test."
 | 
			
		||||
  (define os
 | 
			
		||||
    (marionette-operating-system
 | 
			
		||||
     (simple-operating-system (dhcp-client-service) ssh-service)
 | 
			
		||||
     (simple-operating-system (service dhcp-client-service-type) ssh-service)
 | 
			
		||||
     #:imported-modules '((gnu services herd)
 | 
			
		||||
                          (guix combinators))))
 | 
			
		||||
  (define vm
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -92,7 +92,7 @@
 | 
			
		|||
  ;; Operating system under test.
 | 
			
		||||
  (let ((base-os
 | 
			
		||||
         (simple-operating-system
 | 
			
		||||
          (dhcp-client-service)
 | 
			
		||||
          (service dhcp-client-service-type)
 | 
			
		||||
          (service cgit-service-type
 | 
			
		||||
                   (cgit-configuration
 | 
			
		||||
                    (nginx %cgit-configuration-nginx)))
 | 
			
		||||
| 
						 | 
				
			
			@ -237,7 +237,7 @@ HTTP-PORT."
 | 
			
		|||
 | 
			
		||||
(define %git-http-os
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   (service fcgiwrap-service-type)
 | 
			
		||||
   (service nginx-service-type %git-nginx-configuration)
 | 
			
		||||
   %test-repository-service))
 | 
			
		||||
| 
						 | 
				
			
			@ -328,7 +328,7 @@ HTTP-PORT."
 | 
			
		|||
 | 
			
		||||
(define %gitolite-os
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   (service openssh-service-type)
 | 
			
		||||
   (service gitolite-service-type
 | 
			
		||||
            (gitolite-configuration
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,7 +32,7 @@
 | 
			
		|||
 | 
			
		||||
(define %libvirt-os
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   (dbus-service)
 | 
			
		||||
   (polkit-service)
 | 
			
		||||
   (service libvirt-service-type)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -125,7 +125,7 @@ HTTP-PORT."
 | 
			
		|||
 | 
			
		||||
(define %httpd-os
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   (service httpd-service-type
 | 
			
		||||
            (httpd-configuration
 | 
			
		||||
             (config
 | 
			
		||||
| 
						 | 
				
			
			@ -154,7 +154,7 @@ HTTP-PORT."
 | 
			
		|||
(define %nginx-os
 | 
			
		||||
  ;; Operating system under test.
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   (service nginx-service-type
 | 
			
		||||
            (nginx-configuration
 | 
			
		||||
             (log-directory "/var/log/nginx")
 | 
			
		||||
| 
						 | 
				
			
			@ -188,7 +188,7 @@ sub vcl_synth {
 | 
			
		|||
 | 
			
		||||
(define %varnish-os
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   ;; Pretend to be a web server that serves %index.html-contents.
 | 
			
		||||
   (service varnish-service-type
 | 
			
		||||
            (varnish-configuration
 | 
			
		||||
| 
						 | 
				
			
			@ -237,7 +237,7 @@ echo(\"Computed by php:\".((string)(2+3)));
 | 
			
		|||
(define %php-fpm-os
 | 
			
		||||
  ;; Operating system under test.
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   (service php-fpm-service-type)
 | 
			
		||||
   (service nginx-service-type
 | 
			
		||||
            (nginx-configuration
 | 
			
		||||
| 
						 | 
				
			
			@ -392,7 +392,7 @@ HTTP-PORT, along with php-fpm."
 | 
			
		|||
 | 
			
		||||
(define %hpcguix-web-os
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   (service hpcguix-web-service-type
 | 
			
		||||
            (hpcguix-web-configuration
 | 
			
		||||
             (specs %hpcguix-web-specs)))))
 | 
			
		||||
| 
						 | 
				
			
			@ -407,7 +407,7 @@ HTTP-PORT, along with php-fpm."
 | 
			
		|||
(define %tailon-os
 | 
			
		||||
  ;; Operating system under test.
 | 
			
		||||
  (simple-operating-system
 | 
			
		||||
   (dhcp-client-service)
 | 
			
		||||
   (service dhcp-client-service-type)
 | 
			
		||||
   (service tailon-service-type
 | 
			
		||||
            (tailon-configuration
 | 
			
		||||
             (config-file
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -50,7 +50,7 @@
 | 
			
		|||
  "Return a URI string for the Python package hosted on the Python Package
 | 
			
		||||
Index (PyPI) corresponding to NAME and VERSION.  EXTENSION is the file name
 | 
			
		||||
extension, such as '.tar.gz'."
 | 
			
		||||
  (string-append "https://pypi.io/packages/source/"
 | 
			
		||||
  (string-append "https://pypi.org/packages/source/"
 | 
			
		||||
                 (string-take name 1) "/" name "/"
 | 
			
		||||
                 name "-" version extension))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -438,6 +438,14 @@ This is the declarative counterpart of 'gexp->file'."
 | 
			
		|||
  (base   file-append-base)                    ;<package> | <derivation> | ...
 | 
			
		||||
  (suffix file-append-suffix))                 ;list of strings
 | 
			
		||||
 | 
			
		||||
(define (write-file-append file port)
 | 
			
		||||
  (match file
 | 
			
		||||
    (($ <file-append> base suffix)
 | 
			
		||||
     (format port "#<file-append ~s ~s>" base
 | 
			
		||||
             (string-join suffix)))))
 | 
			
		||||
 | 
			
		||||
(set-record-type-printer! <file-append> write-file-append)
 | 
			
		||||
 | 
			
		||||
(define (file-append base . suffix)
 | 
			
		||||
  "Return a <file-append> object that expands to the concatenation of BASE and
 | 
			
		||||
SUFFIX."
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -330,7 +330,7 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE."
 | 
			
		|||
  (define (pypi-url? url)
 | 
			
		||||
    (or (string-prefix? "https://pypi.org/" url)
 | 
			
		||||
        (string-prefix? "https://pypi.python.org/" url)
 | 
			
		||||
        (string-prefix? "https://pypi.io/packages" url)))
 | 
			
		||||
        (string-prefix? "https://pypi.org/packages" url)))
 | 
			
		||||
 | 
			
		||||
  (let ((source-url (and=> (package-source package) origin-uri))
 | 
			
		||||
        (fetch-method (and=> (package-source package) origin-method)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -198,8 +198,11 @@ added to the pack."
 | 
			
		|||
            (with-directory-excursion %root
 | 
			
		||||
              (exit
 | 
			
		||||
               (zero? (apply system* "tar"
 | 
			
		||||
                             "-I"
 | 
			
		||||
                             (string-join '#+(compressor-command compressor))
 | 
			
		||||
                             #+@(if (compressor-command compressor)
 | 
			
		||||
                                    #~("-I"
 | 
			
		||||
                                       (string-join
 | 
			
		||||
                                        '#+(compressor-command compressor)))
 | 
			
		||||
                                    #~())
 | 
			
		||||
                             "--format=gnu"
 | 
			
		||||
 | 
			
		||||
                             ;; Avoid non-determinism in the archive.  Use
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
;;; GNU Guix --- Functional package management for GNU
 | 
			
		||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -17,6 +17,7 @@
 | 
			
		|||
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
(define-module (guix tests)
 | 
			
		||||
  #:use-module ((guix config) #:select (%storedir %localstatedir))
 | 
			
		||||
  #:use-module (guix store)
 | 
			
		||||
  #:use-module (guix derivations)
 | 
			
		||||
  #:use-module (guix packages)
 | 
			
		||||
| 
						 | 
				
			
			@ -30,6 +31,7 @@
 | 
			
		|||
  #:use-module (ice-9 binary-ports)
 | 
			
		||||
  #:use-module (web uri)
 | 
			
		||||
  #:export (open-connection-for-tests
 | 
			
		||||
            with-external-store
 | 
			
		||||
            random-text
 | 
			
		||||
            random-bytevector
 | 
			
		||||
            file=?
 | 
			
		||||
| 
						 | 
				
			
			@ -74,6 +76,39 @@
 | 
			
		|||
 | 
			
		||||
      store)))
 | 
			
		||||
 | 
			
		||||
(define (call-with-external-store proc)
 | 
			
		||||
  "Call PROC with an open connection to the external store or #f it there is
 | 
			
		||||
no external store to talk to."
 | 
			
		||||
  (parameterize ((%daemon-socket-uri
 | 
			
		||||
                  (string-append %localstatedir
 | 
			
		||||
                                 "/guix/daemon-socket/socket"))
 | 
			
		||||
                 (%store-prefix %storedir))
 | 
			
		||||
    (define store
 | 
			
		||||
      (catch #t
 | 
			
		||||
        (lambda ()
 | 
			
		||||
          (open-connection))
 | 
			
		||||
        (const #f)))
 | 
			
		||||
 | 
			
		||||
    (dynamic-wind
 | 
			
		||||
      (const #t)
 | 
			
		||||
      (lambda ()
 | 
			
		||||
        ;; Since we're using a different store we must clear the
 | 
			
		||||
        ;; package-derivation cache.
 | 
			
		||||
        (hash-clear! (@@ (guix packages) %derivation-cache))
 | 
			
		||||
 | 
			
		||||
        (proc store))
 | 
			
		||||
      (lambda ()
 | 
			
		||||
        (when store
 | 
			
		||||
          (close-connection store))))))
 | 
			
		||||
 | 
			
		||||
(define-syntax-rule (with-external-store store exp ...)
 | 
			
		||||
  "Evaluate EXP with STORE bound to the external store rather than the
 | 
			
		||||
temporary test store, or #f if there is no external store to talk to.
 | 
			
		||||
 | 
			
		||||
This is meant to be used for tests that need to build packages that would be
 | 
			
		||||
too expensive to build entirely in the test store."
 | 
			
		||||
  (call-with-external-store (lambda (store) exp ...)))
 | 
			
		||||
 | 
			
		||||
(define (random-seed)
 | 
			
		||||
  (or (and=> (getenv "GUIX_TESTS_RANDOM_SEED")
 | 
			
		||||
             number->string)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
# GNU Guix --- Functional package management for GNU
 | 
			
		||||
# Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
 | 
			
		||||
# Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNU Guix.
 | 
			
		||||
#
 | 
			
		||||
| 
						 | 
				
			
			@ -28,26 +29,33 @@ fi
 | 
			
		|||
 | 
			
		||||
guix pack --version
 | 
			
		||||
 | 
			
		||||
# FIXME: Starting from commit 66e9944e078cbb9e0d618377dd6df6e639640efa,
 | 
			
		||||
# '--bootstrap' is mostly ineffective since 'guix pack' produces derivations
 | 
			
		||||
# that refer to guile-sqlite3 and libgcrypt.  For now we just skip the test.
 | 
			
		||||
exit 77
 | 
			
		||||
# Starting from commit 66e9944e078cbb9e0d618377dd6df6e639640efa, 'guix pack'
 | 
			
		||||
# produces derivations that refer to guile-sqlite3 and libgcrypt.  To make
 | 
			
		||||
# that relatively inexpensive, run the test in the user's global store if
 | 
			
		||||
# possible, on the grounds that binaries may already be there or can be built
 | 
			
		||||
# or downloaded inexpensively.
 | 
			
		||||
 | 
			
		||||
# Use --no-substitutes because we need to verify we can do this ourselves.
 | 
			
		||||
GUIX_BUILD_OPTIONS="--no-substitutes"
 | 
			
		||||
export GUIX_BUILD_OPTIONS
 | 
			
		||||
NIX_STORE_DIR="`guile -c '(use-modules (guix config))(display %storedir)'`"
 | 
			
		||||
localstatedir="`guile -c '(use-modules (guix config))(display %localstatedir)'`"
 | 
			
		||||
GUIX_DAEMON_SOCKET="$localstatedir/guix/daemon-socket/socket"
 | 
			
		||||
export NIX_STORE_DIR GUIX_DAEMON_SOCKET
 | 
			
		||||
 | 
			
		||||
if ! guile -c '(use-modules (guix)) (exit (false-if-exception (open-connection)))'
 | 
			
		||||
then
 | 
			
		||||
    exit 77
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Build a tarball with no compression.
 | 
			
		||||
guix pack --compression=none --bootstrap guile-bootstrap
 | 
			
		||||
guix pack --compression=none guile-bootstrap
 | 
			
		||||
 | 
			
		||||
# Build a tarball (with compression).  Check that '-e' works as well.
 | 
			
		||||
out1="`guix pack --bootstrap guile-bootstrap`"
 | 
			
		||||
out2="`guix pack --bootstrap -e '(@ (gnu packages bootstrap) %bootstrap-guile)'`"
 | 
			
		||||
out1="`guix pack guile-bootstrap`"
 | 
			
		||||
out2="`guix pack -e '(@ (gnu packages bootstrap) %bootstrap-guile)'`"
 | 
			
		||||
test -n "$out1"
 | 
			
		||||
test "$out1" = "$out2"
 | 
			
		||||
 | 
			
		||||
# Build a tarball with a symlink.
 | 
			
		||||
the_pack="`guix pack --bootstrap -S /opt/gnu/bin=bin guile-bootstrap`"
 | 
			
		||||
the_pack="`guix pack -S /opt/gnu/bin=bin guile-bootstrap`"
 | 
			
		||||
 | 
			
		||||
# Try to extract it.  Note: we cannot test whether /opt/gnu/bin/guile itself
 | 
			
		||||
# exists because /opt/gnu/bin may be an absolute symlink to a store item that
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -153,8 +153,8 @@ cat > "$tmpfile" <<EOF
 | 
			
		|||
 | 
			
		||||
(operating-system
 | 
			
		||||
  $OS_BASE
 | 
			
		||||
  (services (cons* (dhcp-client-service)
 | 
			
		||||
                   (dhcp-client-service) ;twice!
 | 
			
		||||
  (services (cons* (service dhcp-client-service-type)
 | 
			
		||||
                   (service dhcp-client-service-type) ;twice!
 | 
			
		||||
                   %base-services)))
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,15 +29,12 @@
 | 
			
		|||
  #:use-module (gnu packages bootstrap)
 | 
			
		||||
  #:use-module (srfi srfi-64))
 | 
			
		||||
 | 
			
		||||
(define %store
 | 
			
		||||
  (open-connection-for-tests))
 | 
			
		||||
 | 
			
		||||
;; Globally disable grafts because they can trigger early builds.
 | 
			
		||||
(%graft? #f)
 | 
			
		||||
 | 
			
		||||
(define-syntax-rule (test-assertm name exp)
 | 
			
		||||
(define-syntax-rule (test-assertm name store exp)
 | 
			
		||||
  (test-assert name
 | 
			
		||||
    (run-with-store %store exp
 | 
			
		||||
    (run-with-store store exp
 | 
			
		||||
                    #:guile-for-build (%guile-for-build))))
 | 
			
		||||
 | 
			
		||||
(define %gzip-compressor
 | 
			
		||||
| 
						 | 
				
			
			@ -51,37 +48,43 @@
 | 
			
		|||
 | 
			
		||||
(test-begin "pack")
 | 
			
		||||
 | 
			
		||||
;; FIXME: The following test would rebuild the world (and likely fail) as a
 | 
			
		||||
;; consequence of commit c45477d2a1a651485feede20fe0f3d15aec48b39 (and related
 | 
			
		||||
;; changes) that made guile-sqlite3 a dependency of the derivation.
 | 
			
		||||
;; See <https://bugs.gnu.org/32184>.
 | 
			
		||||
(test-skip 1)
 | 
			
		||||
;; The following test needs guile-sqlite3, libgcrypt, etc. as a consequence of
 | 
			
		||||
;; commit c45477d2a1a651485feede20fe0f3d15aec48b39 and related changes.  Thus,
 | 
			
		||||
;; run it on the user's store, if it's available, on the grounds that these
 | 
			
		||||
;; dependencies may be already there, or we can get substitutes or build them
 | 
			
		||||
;; quite inexpensively; see <https://bugs.gnu.org/32184>.
 | 
			
		||||
 | 
			
		||||
(test-assertm "self-contained-tarball"
 | 
			
		||||
  (mlet* %store-monad
 | 
			
		||||
      ((profile (profile-derivation (packages->manifest
 | 
			
		||||
                                     (list %bootstrap-guile))
 | 
			
		||||
                                    #:hooks '()
 | 
			
		||||
                                    #:locales? #f))
 | 
			
		||||
       (tarball (self-contained-tarball "pack" profile
 | 
			
		||||
                                        #:symlinks '(("/bin/Guile"
 | 
			
		||||
                                                      -> "bin/guile"))
 | 
			
		||||
                                        #:compressor %gzip-compressor
 | 
			
		||||
                                        #:archiver %tar-bootstrap))
 | 
			
		||||
       (check   (gexp->derivation
 | 
			
		||||
                 "check-tarball"
 | 
			
		||||
                 #~(let ((bin (string-append "." #$profile "/bin")))
 | 
			
		||||
                     (setenv "PATH"
 | 
			
		||||
                             (string-append #$%tar-bootstrap "/bin"))
 | 
			
		||||
                     (system* "tar" "xvf" #$tarball)
 | 
			
		||||
                     (mkdir #$output)
 | 
			
		||||
                     (exit
 | 
			
		||||
                      (and (file-exists? (string-append bin "/guile"))
 | 
			
		||||
                           (string=? (string-append #$%bootstrap-guile "/bin")
 | 
			
		||||
                                     (readlink bin))
 | 
			
		||||
                           (string=? (string-append ".." #$profile
 | 
			
		||||
                                                    "/bin/guile")
 | 
			
		||||
                                     (readlink "bin/Guile"))))))))
 | 
			
		||||
    (built-derivations (list check))))
 | 
			
		||||
(with-external-store store
 | 
			
		||||
  (unless store (tests-skip 1))
 | 
			
		||||
  (test-assertm "self-contained-tarball" store
 | 
			
		||||
    (mlet* %store-monad
 | 
			
		||||
        ((profile (profile-derivation (packages->manifest
 | 
			
		||||
                                       (list %bootstrap-guile))
 | 
			
		||||
                                      #:hooks '()
 | 
			
		||||
                                      #:locales? #f))
 | 
			
		||||
         (tarball (self-contained-tarball "pack" profile
 | 
			
		||||
                                          #:symlinks '(("/bin/Guile"
 | 
			
		||||
                                                        -> "bin/guile"))
 | 
			
		||||
                                          #:compressor %gzip-compressor
 | 
			
		||||
                                          #:archiver %tar-bootstrap))
 | 
			
		||||
         (check   (gexp->derivation
 | 
			
		||||
                   "check-tarball"
 | 
			
		||||
                   #~(let ((bin (string-append "." #$profile "/bin")))
 | 
			
		||||
                       (setenv "PATH"
 | 
			
		||||
                               (string-append #$%tar-bootstrap "/bin"))
 | 
			
		||||
                       (system* "tar" "xvf" #$tarball)
 | 
			
		||||
                       (mkdir #$output)
 | 
			
		||||
                       (exit
 | 
			
		||||
                        (and (file-exists? (string-append bin "/guile"))
 | 
			
		||||
                             (string=? (string-append #$%bootstrap-guile "/bin")
 | 
			
		||||
                                       (readlink bin))
 | 
			
		||||
                             (string=? (string-append ".." #$profile
 | 
			
		||||
                                                      "/bin/guile")
 | 
			
		||||
                                       (readlink "bin/Guile"))))))))
 | 
			
		||||
      (built-derivations (list check)))))
 | 
			
		||||
 | 
			
		||||
(test-end)
 | 
			
		||||
 | 
			
		||||
;; Local Variables:
 | 
			
		||||
;; eval: (put 'test-assertm 'scheme-indent-function 2)
 | 
			
		||||
;; End:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -81,7 +81,7 @@ baz > 13.37")
 | 
			
		|||
   (dummy-package "foo"
 | 
			
		||||
                  (source (dummy-origin
 | 
			
		||||
                           (uri
 | 
			
		||||
                            "https://pypi.io/packages/source/p/psutil/psutil-4.3.0.tar.gz"))))))
 | 
			
		||||
                            "https://pypi.org/packages/source/p/psutil/psutil-4.3.0.tar.gz"))))))
 | 
			
		||||
 | 
			
		||||
(test-equal "guix-package->pypi-name, new URL style"
 | 
			
		||||
  "certbot"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue