Merge branch 'master' into core-updates
This commit is contained in:
		
						commit
						cf6db76d2a
					
				
					 119 changed files with 5955 additions and 2549 deletions
				
			
		| 
						 | 
					@ -59,6 +59,7 @@
 | 
				
			||||||
   (eval . (put 'emacs-substitute-variables 'scheme-indent-function 1))
 | 
					   (eval . (put 'emacs-substitute-variables 'scheme-indent-function 1))
 | 
				
			||||||
   (eval . (put 'with-derivation-narinfo 'scheme-indent-function 1))
 | 
					   (eval . (put 'with-derivation-narinfo 'scheme-indent-function 1))
 | 
				
			||||||
   (eval . (put 'with-derivation-substitute 'scheme-indent-function 2))
 | 
					   (eval . (put 'with-derivation-substitute 'scheme-indent-function 2))
 | 
				
			||||||
 | 
					   (eval . (put 'with-status-report 'scheme-indent-function 1))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   (eval . (put 'mlambda 'scheme-indent-function 1))
 | 
					   (eval . (put 'mlambda 'scheme-indent-function 1))
 | 
				
			||||||
   (eval . (put 'mlambdaq 'scheme-indent-function 1))
 | 
					   (eval . (put 'mlambdaq 'scheme-indent-function 1))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -131,6 +131,7 @@ MODULES =					\
 | 
				
			||||||
  guix/svn-download.scm				\
 | 
					  guix/svn-download.scm				\
 | 
				
			||||||
  guix/i18n.scm					\
 | 
					  guix/i18n.scm					\
 | 
				
			||||||
  guix/ui.scm					\
 | 
					  guix/ui.scm					\
 | 
				
			||||||
 | 
					  guix/status.scm				\
 | 
				
			||||||
  guix/build/android-ndk-build-system.scm	\
 | 
					  guix/build/android-ndk-build-system.scm	\
 | 
				
			||||||
  guix/build/ant-build-system.scm		\
 | 
					  guix/build/ant-build-system.scm		\
 | 
				
			||||||
  guix/build/download.scm			\
 | 
					  guix/build/download.scm			\
 | 
				
			||||||
| 
						 | 
					@ -340,6 +341,7 @@ SCM_TESTS =					\
 | 
				
			||||||
  tests/glob.scm				\
 | 
					  tests/glob.scm				\
 | 
				
			||||||
  tests/grafts.scm				\
 | 
					  tests/grafts.scm				\
 | 
				
			||||||
  tests/ui.scm					\
 | 
					  tests/ui.scm					\
 | 
				
			||||||
 | 
					  tests/status.scm				\
 | 
				
			||||||
  tests/records.scm				\
 | 
					  tests/records.scm				\
 | 
				
			||||||
  tests/upstream.scm				\
 | 
					  tests/upstream.scm				\
 | 
				
			||||||
  tests/combinators.scm				\
 | 
					  tests/combinators.scm				\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										110
									
								
								doc/guix.texi
									
										
									
									
									
								
							
							
						
						
									
										110
									
								
								doc/guix.texi
									
										
									
									
									
								
							| 
						 | 
					@ -33,7 +33,7 @@ Copyright @copyright{} 2016 Alex ter Weele@*
 | 
				
			||||||
Copyright @copyright{} 2017, 2018 Clément Lassieur@*
 | 
					Copyright @copyright{} 2017, 2018 Clément Lassieur@*
 | 
				
			||||||
Copyright @copyright{} 2017 Mathieu Othacehe@*
 | 
					Copyright @copyright{} 2017 Mathieu Othacehe@*
 | 
				
			||||||
Copyright @copyright{} 2017 Federico Beffa@*
 | 
					Copyright @copyright{} 2017 Federico Beffa@*
 | 
				
			||||||
Copyright @copyright{} 2017 Carlo Zancanaro@*
 | 
					Copyright @copyright{} 2017, 2018 Carlo Zancanaro@*
 | 
				
			||||||
Copyright @copyright{} 2017 Thomas Danckaert@*
 | 
					Copyright @copyright{} 2017 Thomas Danckaert@*
 | 
				
			||||||
Copyright @copyright{} 2017 humanitiesNerd@*
 | 
					Copyright @copyright{} 2017 humanitiesNerd@*
 | 
				
			||||||
Copyright @copyright{} 2017 Christopher Allan Webber@*
 | 
					Copyright @copyright{} 2017 Christopher Allan Webber@*
 | 
				
			||||||
| 
						 | 
					@ -11614,6 +11614,14 @@ This procedure can be called several times, one for each network
 | 
				
			||||||
interface of interest.  Behind the scenes what it does is extend
 | 
					interface of interest.  Behind the scenes what it does is extend
 | 
				
			||||||
@code{static-networking-service-type} with additional network interfaces
 | 
					@code{static-networking-service-type} with additional network interfaces
 | 
				
			||||||
to handle.
 | 
					to handle.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					For example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@example
 | 
				
			||||||
 | 
					(static-networking-service "eno1" "192.168.1.82"
 | 
				
			||||||
 | 
					                           #:gateway "192.168.1.2"
 | 
				
			||||||
 | 
					                           #:name-servers '("192.168.1.2"))
 | 
				
			||||||
 | 
					@end example
 | 
				
			||||||
@end deffn
 | 
					@end deffn
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@cindex wicd
 | 
					@cindex wicd
 | 
				
			||||||
| 
						 | 
					@ -21028,6 +21036,100 @@ could instantiate a cgit service like this:
 | 
				
			||||||
          (cgitrc "")))
 | 
					          (cgitrc "")))
 | 
				
			||||||
@end example
 | 
					@end example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@subsubheading Gitolite Service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@cindex Gitolite service
 | 
				
			||||||
 | 
					@cindex Git, hosting
 | 
				
			||||||
 | 
					@uref{http://gitolite.com/gitolite/, Gitolite} is a tool for hosting Git
 | 
				
			||||||
 | 
					repositories on a central server.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Gitolite can handle multiple repositories and users, and supports flexible
 | 
				
			||||||
 | 
					configuration of the permissions for the users on the repositories.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The following example will configure Gitolite using the default @code{git}
 | 
				
			||||||
 | 
					user, and the provided SSH public key.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@example
 | 
				
			||||||
 | 
					(service gitolite-service-type
 | 
				
			||||||
 | 
					         (gitolite-configuration
 | 
				
			||||||
 | 
					           (admin-pubkey (plain-file
 | 
				
			||||||
 | 
					                           "yourname.pub"
 | 
				
			||||||
 | 
					                           "ssh-rsa AAAA... guix@@example.com"))))
 | 
				
			||||||
 | 
					@end example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Gitolite is configured through a special admin repository which you can clone,
 | 
				
			||||||
 | 
					for example, if you setup Gitolite on @code{example.com}, you would run the
 | 
				
			||||||
 | 
					following command to clone the admin repository.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@example
 | 
				
			||||||
 | 
					git clone git@@example.com:gitolite-admin
 | 
				
			||||||
 | 
					@end example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					When the Gitolite service is activated, the provided @code{admin-pubkey} will
 | 
				
			||||||
 | 
					be inserted in to the @file{keydir} directory in the gitolite-admin
 | 
				
			||||||
 | 
					repository.  If this results in a change in the repository, it will be
 | 
				
			||||||
 | 
					committed using the message ``gitolite setup by GNU Guix''.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@deftp {Data Type} gitolite-configuration
 | 
				
			||||||
 | 
					Data type representing the configuration for @code{gitolite-service-type}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@table @asis
 | 
				
			||||||
 | 
					@item @code{package} (default: @var{gitolite})
 | 
				
			||||||
 | 
					Gitolite package to use.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{user} (default: @var{git})
 | 
				
			||||||
 | 
					User to use for Gitolite.  This will be user that you use when accessing
 | 
				
			||||||
 | 
					Gitolite over SSH.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{group} (default: @var{git})
 | 
				
			||||||
 | 
					Group to use for Gitolite.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{home-directory} (default: @var{"/var/lib/gitolite"})
 | 
				
			||||||
 | 
					Directory in which to store the Gitolite configuration and repositories.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{rc-file} (default: @var{(gitolite-rc-file)})
 | 
				
			||||||
 | 
					A ``file-like'' object (@pxref{G-Expressions, file-like objects}),
 | 
				
			||||||
 | 
					representing the configuration for Gitolite.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{admin-pubkey} (default: @var{#f})
 | 
				
			||||||
 | 
					A ``file-like'' object (@pxref{G-Expressions, file-like objects}) used to
 | 
				
			||||||
 | 
					setup Gitolite.  This will be inserted in to the @file{keydir} directory
 | 
				
			||||||
 | 
					within the gitolite-admin repository.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To specify the SSH key as a string, use the @code{plain-file} function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@example
 | 
				
			||||||
 | 
					(plain-file "yourname.pub" "ssh-rsa AAAA... guix@@example.com")
 | 
				
			||||||
 | 
					@end example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@end table
 | 
				
			||||||
 | 
					@end deftp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@deftp {Data Type} gitolite-rc-file
 | 
				
			||||||
 | 
					Data type representing the Gitolite RC file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@table @asis
 | 
				
			||||||
 | 
					@item @code{umask} (default: @code{#o0077})
 | 
				
			||||||
 | 
					This controls the permissions Gitolite sets on the repositories and their
 | 
				
			||||||
 | 
					contents.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A value like @code{#o0027} will give read access to the group used by Gitolite
 | 
				
			||||||
 | 
					(by default: @code{git}). This is necessary when using Gitolite with software
 | 
				
			||||||
 | 
					like cgit or gitweb.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{git-config-keys} (default: @code{""})
 | 
				
			||||||
 | 
					Gitolite allows you to set git config values using the "config" keyword. This
 | 
				
			||||||
 | 
					setting allows control over the config keys to accept.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{roles} (default: @code{'(("READERS" . 1) ("WRITERS" . ))})
 | 
				
			||||||
 | 
					Set the role names allowed to be used by users running the perms command.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{enable} (default: @code{'("help" "desc" "info" "perms" "writable" "ssh-authkeys" "git-config" "daemon" "gitweb")})
 | 
				
			||||||
 | 
					This setting controls the commands and features to enable within Gitolite.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@end table
 | 
				
			||||||
 | 
					@end deftp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@node Game Services
 | 
					@node Game Services
 | 
				
			||||||
@subsubsection Game Services
 | 
					@subsubsection Game Services
 | 
				
			||||||
| 
						 | 
					@ -21920,9 +22022,9 @@ systems already running GuixSD.}.
 | 
				
			||||||
This effects all the configuration specified in @var{file}: user
 | 
					This effects all the configuration specified in @var{file}: user
 | 
				
			||||||
accounts, system services, global package list, setuid programs, etc.
 | 
					accounts, system services, global package list, setuid programs, etc.
 | 
				
			||||||
The command starts system services specified in @var{file} that are not
 | 
					The command starts system services specified in @var{file} that are not
 | 
				
			||||||
currently running; if a service is currently running, it does not
 | 
					currently running; if a service is currently running this command will
 | 
				
			||||||
attempt to upgrade it since this would not be possible without stopping it
 | 
					arrange for it to be upgraded the next time it is stopped (eg. by
 | 
				
			||||||
first.
 | 
					@code{herd stop X} or @code{herd restart X}).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This command creates a new generation whose number is one greater than
 | 
					This command creates a new generation whose number is one greater than
 | 
				
			||||||
the current generation (as reported by @command{guix system
 | 
					the current generation (as reported by @command{guix system
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -814,8 +814,8 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/hydra-disable-darcs-test.patch		\
 | 
					  %D%/packages/patches/hydra-disable-darcs-test.patch		\
 | 
				
			||||||
  %D%/packages/patches/icecat-avoid-bundled-libraries.patch	\
 | 
					  %D%/packages/patches/icecat-avoid-bundled-libraries.patch	\
 | 
				
			||||||
  %D%/packages/patches/icecat-CVE-2018-12383.patch		\
 | 
					  %D%/packages/patches/icecat-CVE-2018-12383.patch		\
 | 
				
			||||||
  %D%/packages/patches/icecat-use-system-graphite2.patch	\
 | 
					  %D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch	\
 | 
				
			||||||
  %D%/packages/patches/icecat-use-system-harfbuzz.patch		\
 | 
					  %D%/packages/patches/icecat-use-system-media-libs.patch	\
 | 
				
			||||||
  %D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch  \
 | 
					  %D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch  \
 | 
				
			||||||
  %D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch  \
 | 
					  %D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch  \
 | 
				
			||||||
  %D%/packages/patches/id3lib-CVE-2007-4460.patch			\
 | 
					  %D%/packages/patches/id3lib-CVE-2007-4460.patch			\
 | 
				
			||||||
| 
						 | 
					@ -1100,6 +1100,9 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/qtscript-disable-tests.patch		\
 | 
					  %D%/packages/patches/qtscript-disable-tests.patch		\
 | 
				
			||||||
  %D%/packages/patches/quagga-reproducible-build.patch          \
 | 
					  %D%/packages/patches/quagga-reproducible-build.patch          \
 | 
				
			||||||
  %D%/packages/patches/quickswitch-fix-dmenu-check.patch	\
 | 
					  %D%/packages/patches/quickswitch-fix-dmenu-check.patch	\
 | 
				
			||||||
 | 
					  %D%/packages/patches/quilt-test-fix-regex.patch		\
 | 
				
			||||||
 | 
					  %D%/packages/patches/quilt-compat-getopt-fix-second-separator.patch	\
 | 
				
			||||||
 | 
					  %D%/packages/patches/quilt-compat-getopt-fix-option-with-nondigit-param.patch	\
 | 
				
			||||||
  %D%/packages/patches/qtwebkit-pbutils-include.patch		\
 | 
					  %D%/packages/patches/qtwebkit-pbutils-include.patch		\
 | 
				
			||||||
  %D%/packages/patches/rapicorn-isnan.patch			\
 | 
					  %D%/packages/patches/rapicorn-isnan.patch			\
 | 
				
			||||||
  %D%/packages/patches/raptor2-heap-overflow.patch		\
 | 
					  %D%/packages/patches/raptor2-heap-overflow.patch		\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -173,14 +173,14 @@ and provides a \"top-like\" mode (monitoring).")
 | 
				
			||||||
(define-public shepherd
 | 
					(define-public shepherd
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "shepherd")
 | 
					    (name "shepherd")
 | 
				
			||||||
    (version "0.4.0")
 | 
					    (version "0.5.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://alpha.gnu.org/gnu/shepherd/shepherd-"
 | 
					              (uri (string-append "https://alpha.gnu.org/gnu/shepherd/shepherd-"
 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1lgmsbxn8i8xdasxzkdp2cml75n128pplw6icvmspl6s0n9xmw8n"))))
 | 
					                "1wmciqml9yplnx1s4ynn00giqyk06rbrcsgvpjj2df47sawk2jp8"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:configure-flags '("--localstatedir=/var")))
 | 
					     '(#:configure-flags '("--localstatedir=/var")))
 | 
				
			||||||
| 
						 | 
					@ -613,7 +613,7 @@ connection alive.")
 | 
				
			||||||
         (bind-minor-version "11")
 | 
					         (bind-minor-version "11")
 | 
				
			||||||
         (bind-patch-version "4")
 | 
					         (bind-patch-version "4")
 | 
				
			||||||
         (bind-release-type "-P")         ; for patch release, use "-P"
 | 
					         (bind-release-type "-P")         ; for patch release, use "-P"
 | 
				
			||||||
         (bind-release-version "1")      ; for patch release, e.g. "6"
 | 
					         (bind-release-version "2")      ; for patch release, e.g. "6"
 | 
				
			||||||
         (bind-version (string-append bind-major-version
 | 
					         (bind-version (string-append bind-major-version
 | 
				
			||||||
                                      "."
 | 
					                                      "."
 | 
				
			||||||
                                      bind-minor-version
 | 
					                                      bind-minor-version
 | 
				
			||||||
| 
						 | 
					@ -730,7 +730,7 @@ connection alive.")
 | 
				
			||||||
                                        "/bind-" bind-version ".tar.gz"))
 | 
					                                        "/bind-" bind-version ".tar.gz"))
 | 
				
			||||||
                    (sha256
 | 
					                    (sha256
 | 
				
			||||||
                     (base32
 | 
					                     (base32
 | 
				
			||||||
                      "08zyy13b8ydfbg26b3y6mw299qs89ba90gymraqqjsgjicydrq5h"))))
 | 
					                      "04fq17zksd2b3w6w6padps5n7b6s2lasxpksbhl4378h56vgfnm8"))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                ;; When cross-compiling, we need the cross Coreutils and sed.
 | 
					                ;; When cross-compiling, we need the cross Coreutils and sed.
 | 
				
			||||||
                ;; Otherwise just use those from %FINAL-INPUTS.
 | 
					                ;; Otherwise just use those from %FINAL-INPUTS.
 | 
				
			||||||
| 
						 | 
					@ -1194,9 +1194,6 @@ This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
 | 
				
			||||||
                    (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
					                    (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
                      (let ((out (assoc-ref outputs "out"))
 | 
					                      (let ((out (assoc-ref outputs "out"))
 | 
				
			||||||
                            (qt '("qtbase" "qtsvg")))
 | 
					                            (qt '("qtbase" "qtsvg")))
 | 
				
			||||||
                        (substitute* "wpa_gui.desktop"
 | 
					 | 
				
			||||||
                          (("Exec=wpa_gui")
 | 
					 | 
				
			||||||
                           (string-append "Exec=" out "/bin/wpa_gui")))
 | 
					 | 
				
			||||||
                        (install-file "wpa_gui" (string-append out "/bin"))
 | 
					                        (install-file "wpa_gui" (string-append out "/bin"))
 | 
				
			||||||
                        (install-file "wpa_gui.desktop"
 | 
					                        (install-file "wpa_gui.desktop"
 | 
				
			||||||
                                      (string-append out "/share/applications"))
 | 
					                                      (string-append out "/share/applications"))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2018 Alex ter Weele <alex.ter.weele@gmail.com>
 | 
					;;; Copyright © 2018 Alex ter Weele <alex.ter.weele@gmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -30,7 +31,7 @@
 | 
				
			||||||
(define-public agda
 | 
					(define-public agda
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "agda")
 | 
					    (name "agda")
 | 
				
			||||||
    (version "2.5.3")
 | 
					    (version "2.5.4.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -39,7 +40,7 @@
 | 
				
			||||||
             version ".tar.gz"))
 | 
					             version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0r80vw7vnvbgq47y50v050malv7zvv2p2kg6f47i04r0b2ix855a"))))
 | 
					         "0bxpibsk98n9xp42d92ma5vj2fam8rsnl61fbhr3askfjdvalnbp"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("cpphs" ,cpphs)
 | 
					     `(("cpphs" ,cpphs)
 | 
				
			||||||
| 
						 | 
					@ -51,14 +52,13 @@
 | 
				
			||||||
       ("ghc-edisoncore" ,ghc-edisoncore)
 | 
					       ("ghc-edisoncore" ,ghc-edisoncore)
 | 
				
			||||||
       ("ghc-edit-distance" ,ghc-edit-distance)
 | 
					       ("ghc-edit-distance" ,ghc-edit-distance)
 | 
				
			||||||
       ("ghc-equivalence" ,ghc-equivalence)
 | 
					       ("ghc-equivalence" ,ghc-equivalence)
 | 
				
			||||||
 | 
					       ("ghc-filemanip" ,ghc-filemanip)
 | 
				
			||||||
       ("ghc-geniplate-mirror" ,ghc-geniplate-mirror)
 | 
					       ("ghc-geniplate-mirror" ,ghc-geniplate-mirror)
 | 
				
			||||||
       ("ghc-gitrev" ,ghc-gitrev)
 | 
					       ("ghc-gitrev" ,ghc-gitrev)
 | 
				
			||||||
       ("ghc-happy" ,ghc-happy)
 | 
					       ("ghc-happy" ,ghc-happy)
 | 
				
			||||||
       ("ghc-hashable" ,ghc-hashable)
 | 
					       ("ghc-hashable" ,ghc-hashable)
 | 
				
			||||||
       ("ghc-hashtables" ,ghc-hashtables)
 | 
					       ("ghc-hashtables" ,ghc-hashtables)
 | 
				
			||||||
       ("ghc-ieee754" ,ghc-ieee754)
 | 
					       ("ghc-ieee754" ,ghc-ieee754)
 | 
				
			||||||
       ("ghc-monadplus" ,ghc-monadplus)
 | 
					 | 
				
			||||||
       ("ghc-mtl" ,ghc-mtl)
 | 
					 | 
				
			||||||
       ("ghc-murmur-hash" ,ghc-murmur-hash)
 | 
					       ("ghc-murmur-hash" ,ghc-murmur-hash)
 | 
				
			||||||
       ("ghc-uri-encode" ,ghc-uri-encode)
 | 
					       ("ghc-uri-encode" ,ghc-uri-encode)
 | 
				
			||||||
       ("ghc-parallel" ,ghc-parallel)
 | 
					       ("ghc-parallel" ,ghc-parallel)
 | 
				
			||||||
| 
						 | 
					@ -71,9 +71,50 @@
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:modules ((guix build haskell-build-system)
 | 
					     `(#:modules ((guix build haskell-build-system)
 | 
				
			||||||
                  (guix build utils)
 | 
					                  (guix build utils)
 | 
				
			||||||
                  (srfi srfi-26))
 | 
					                  (srfi srfi-26)
 | 
				
			||||||
 | 
					                  (ice-9 match))
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         ;; FIXME: This is a copy of the standard configure phase with a tiny
 | 
				
			||||||
 | 
					         ;; difference: this package needs the -package-db flag to be passed
 | 
				
			||||||
 | 
					         ;; to "runhaskell" in addition to the "configure" action, because
 | 
				
			||||||
 | 
					         ;; Setup.hs depends on filemanip.  Without this option the Setup.hs
 | 
				
			||||||
 | 
					         ;; file cannot be evaluated.  The haskell-build-system should be
 | 
				
			||||||
 | 
					         ;; changed to pass "-package-db" to "runhaskell" in any case.
 | 
				
			||||||
 | 
					         (replace 'configure
 | 
				
			||||||
 | 
					           (lambda* (#:key outputs inputs tests? (configure-flags '())
 | 
				
			||||||
 | 
					                     #:allow-other-keys)
 | 
				
			||||||
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
 | 
					                    (input-dirs (match inputs
 | 
				
			||||||
 | 
					                                  (((_ . dir) ...)
 | 
				
			||||||
 | 
					                                   dir)
 | 
				
			||||||
 | 
					                                  (_ '())))
 | 
				
			||||||
 | 
					                    (ghc-path (getenv "GHC_PACKAGE_PATH"))
 | 
				
			||||||
 | 
					                    (params (append `(,(string-append "--prefix=" out))
 | 
				
			||||||
 | 
					                                    `(,(string-append "--libdir=" out "/lib"))
 | 
				
			||||||
 | 
					                                    `(,(string-append "--bindir=" out "/bin"))
 | 
				
			||||||
 | 
					                                    `(,(string-append
 | 
				
			||||||
 | 
					                                        "--docdir=" out
 | 
				
			||||||
 | 
					                                        "/share/doc/" ((@@ (guix build haskell-build-system)
 | 
				
			||||||
 | 
					                                                           package-name-version) out)))
 | 
				
			||||||
 | 
					                                    '("--libsubdir=$compiler/$pkg-$version")
 | 
				
			||||||
 | 
					                                    '("--package-db=../package.conf.d")
 | 
				
			||||||
 | 
					                                    '("--global")
 | 
				
			||||||
 | 
					                                    `(,@(map
 | 
				
			||||||
 | 
					                                         (cut string-append "--extra-include-dirs=" <>)
 | 
				
			||||||
 | 
					                                         (search-path-as-list '("include") input-dirs)))
 | 
				
			||||||
 | 
					                                    `(,@(map
 | 
				
			||||||
 | 
					                                         (cut string-append "--extra-lib-dirs=" <>)
 | 
				
			||||||
 | 
					                                         (search-path-as-list '("lib") input-dirs)))
 | 
				
			||||||
 | 
					                                    (if tests?
 | 
				
			||||||
 | 
					                                        '("--enable-tests")
 | 
				
			||||||
 | 
					                                        '())
 | 
				
			||||||
 | 
					                                    configure-flags)))
 | 
				
			||||||
 | 
					               (unsetenv "GHC_PACKAGE_PATH")
 | 
				
			||||||
 | 
					               (apply invoke "runhaskell" "-package-db=../package.conf.d"
 | 
				
			||||||
 | 
					                      "Setup.hs" "configure" params)
 | 
				
			||||||
 | 
					               (setenv "GHC_PACKAGE_PATH" ghc-path)
 | 
				
			||||||
 | 
					               #t)))
 | 
				
			||||||
         (add-after 'compile 'agda-compile
 | 
					         (add-after 'compile 'agda-compile
 | 
				
			||||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
             (let* ((out (assoc-ref outputs "out"))
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -321,7 +321,7 @@ engineers, musicians, soundtrack editors and composers.")
 | 
				
			||||||
              ;; "sbsms"
 | 
					              ;; "sbsms"
 | 
				
			||||||
              ))
 | 
					              ))
 | 
				
			||||||
           #t))))
 | 
					           #t))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system glib-or-gtk-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("wxwidgets" ,wxwidgets)
 | 
					     `(("wxwidgets" ,wxwidgets)
 | 
				
			||||||
       ("gtk+" ,gtk+)
 | 
					       ("gtk+" ,gtk+)
 | 
				
			||||||
| 
						 | 
					@ -410,16 +410,12 @@ engineers, musicians, soundtrack editors and composers.")
 | 
				
			||||||
               (("../lib-src/portmidi/porttime/porttime.h") "porttime.h"))
 | 
					               (("../lib-src/portmidi/porttime/porttime.h") "porttime.h"))
 | 
				
			||||||
             (substitute* "src/prefs/MidiIOPrefs.cpp"
 | 
					             (substitute* "src/prefs/MidiIOPrefs.cpp"
 | 
				
			||||||
               (("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h"))
 | 
					               (("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h"))
 | 
				
			||||||
             #t))
 | 
					 | 
				
			||||||
         (add-after 'install 'wrap-program
 | 
					 | 
				
			||||||
           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
					 | 
				
			||||||
             (wrap-program (string-append (assoc-ref outputs "out")
 | 
					 | 
				
			||||||
                                          "/bin/audacity")
 | 
					 | 
				
			||||||
               ;; For GtkFileChooserDialog.
 | 
					 | 
				
			||||||
               `("GSETTINGS_SCHEMA_DIR" =
 | 
					 | 
				
			||||||
                 (,(string-append (assoc-ref inputs "gtk+")
 | 
					 | 
				
			||||||
                                  "/share/glib-2.0/schemas"))))
 | 
					 | 
				
			||||||
             #t)))
 | 
					             #t)))
 | 
				
			||||||
 | 
					       ;; The translation Makefile generation is performed improperly for
 | 
				
			||||||
 | 
					       ;; out-of-tree builds.
 | 
				
			||||||
 | 
					       ;; XXX This can be removed if the glib-or-gkt-build-system
 | 
				
			||||||
 | 
					       ;; switches to #:out-of-source? #t. See <https://bugs.gnu.org/32887>.
 | 
				
			||||||
 | 
					       #:out-of-source? #f
 | 
				
			||||||
       ;; The test suite is not "well exercised" according to the developers,
 | 
					       ;; The test suite is not "well exercised" according to the developers,
 | 
				
			||||||
       ;; and fails with various errors.  See
 | 
					       ;; and fails with various errors.  See
 | 
				
			||||||
       ;; <http://sourceforge.net/p/audacity/mailman/message/33524292/>.
 | 
					       ;; <http://sourceforge.net/p/audacity/mailman/message/33524292/>.
 | 
				
			||||||
| 
						 | 
					@ -453,7 +449,14 @@ tools.")
 | 
				
			||||||
             "CXXFLAGS=-std=gnu++11"
 | 
					             "CXXFLAGS=-std=gnu++11"
 | 
				
			||||||
             "CFLAGS=-std=gnu++11"
 | 
					             "CFLAGS=-std=gnu++11"
 | 
				
			||||||
             (string-append "prefix=" %output)
 | 
					             (string-append "prefix=" %output)
 | 
				
			||||||
             (string-append "pkgdatadir=" %output "/share/azr3-jack"))))
 | 
					             (string-append "pkgdatadir=" %output "/share/azr3-jack"))
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-before 'install 'fix-timestamp
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (let ((early-1980 315619200)) ; 1980-01-02 UTC
 | 
				
			||||||
 | 
					               (utime "azr3.1" early-1980 early-1980))
 | 
				
			||||||
 | 
					             #t)))))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("gtkmm" ,gtkmm-2)
 | 
					     `(("gtkmm" ,gtkmm-2)
 | 
				
			||||||
       ("lvtk" ,lvtk)
 | 
					       ("lvtk" ,lvtk)
 | 
				
			||||||
| 
						 | 
					@ -2244,7 +2247,7 @@ aimed at audio/musical applications.")
 | 
				
			||||||
       ("vamp" ,vamp)))
 | 
					       ("vamp" ,vamp)))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)))
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
    (home-page "http://breakfastquay.com/rubberband/")
 | 
					    (home-page "https://breakfastquay.com/rubberband/")
 | 
				
			||||||
    (synopsis "Audio time-stretching and pitch-shifting library")
 | 
					    (synopsis "Audio time-stretching and pitch-shifting library")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "Rubber Band is a library and utility program that permits changing the
 | 
					     "Rubber Band is a library and utility program that permits changing the
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Automatically generated file; DO NOT EDIT.
 | 
					# Automatically generated file; DO NOT EDIT.
 | 
				
			||||||
# Linux/x86 4.18.0-gnu Kernel Configuration
 | 
					# Linux/x86 4.18.9-gnu Kernel Configuration
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
| 
						 | 
					@ -255,6 +255,7 @@ CONFIG_PROFILING=y
 | 
				
			||||||
CONFIG_TRACEPOINTS=y
 | 
					CONFIG_TRACEPOINTS=y
 | 
				
			||||||
CONFIG_CRASH_CORE=y
 | 
					CONFIG_CRASH_CORE=y
 | 
				
			||||||
CONFIG_KEXEC_CORE=y
 | 
					CONFIG_KEXEC_CORE=y
 | 
				
			||||||
 | 
					CONFIG_HOTPLUG_SMT=y
 | 
				
			||||||
CONFIG_OPROFILE=m
 | 
					CONFIG_OPROFILE=m
 | 
				
			||||||
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
 | 
					# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
 | 
				
			||||||
CONFIG_HAVE_OPROFILE=y
 | 
					CONFIG_HAVE_OPROFILE=y
 | 
				
			||||||
| 
						 | 
					@ -294,6 +295,7 @@ CONFIG_HAVE_PERF_REGS=y
 | 
				
			||||||
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
 | 
					CONFIG_HAVE_PERF_USER_STACK_DUMP=y
 | 
				
			||||||
CONFIG_HAVE_ARCH_JUMP_LABEL=y
 | 
					CONFIG_HAVE_ARCH_JUMP_LABEL=y
 | 
				
			||||||
CONFIG_HAVE_RCU_TABLE_FREE=y
 | 
					CONFIG_HAVE_RCU_TABLE_FREE=y
 | 
				
			||||||
 | 
					CONFIG_HAVE_RCU_TABLE_INVALIDATE=y
 | 
				
			||||||
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
 | 
					CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
 | 
				
			||||||
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
 | 
					CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
 | 
				
			||||||
CONFIG_HAVE_CMPXCHG_LOCAL=y
 | 
					CONFIG_HAVE_CMPXCHG_LOCAL=y
 | 
				
			||||||
| 
						 | 
					@ -853,7 +855,7 @@ CONFIG_HOTPLUG_PCI_ACPI_IBM=m
 | 
				
			||||||
CONFIG_HOTPLUG_PCI_CPCI=y
 | 
					CONFIG_HOTPLUG_PCI_CPCI=y
 | 
				
			||||||
CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
 | 
					CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
 | 
				
			||||||
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
 | 
					CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
 | 
				
			||||||
# CONFIG_HOTPLUG_PCI_SHPC is not set
 | 
					CONFIG_HOTPLUG_PCI_SHPC=y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# PCI controller drivers
 | 
					# PCI controller drivers
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Automatically generated file; DO NOT EDIT.
 | 
					# Automatically generated file; DO NOT EDIT.
 | 
				
			||||||
# Linux/x86 4.18.0-gnu Kernel Configuration
 | 
					# Linux/x86 4.18.9-gnu Kernel Configuration
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
| 
						 | 
					@ -265,6 +265,7 @@ CONFIG_PROFILING=y
 | 
				
			||||||
CONFIG_TRACEPOINTS=y
 | 
					CONFIG_TRACEPOINTS=y
 | 
				
			||||||
CONFIG_CRASH_CORE=y
 | 
					CONFIG_CRASH_CORE=y
 | 
				
			||||||
CONFIG_KEXEC_CORE=y
 | 
					CONFIG_KEXEC_CORE=y
 | 
				
			||||||
 | 
					CONFIG_HOTPLUG_SMT=y
 | 
				
			||||||
CONFIG_OPROFILE=m
 | 
					CONFIG_OPROFILE=m
 | 
				
			||||||
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
 | 
					# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
 | 
				
			||||||
CONFIG_HAVE_OPROFILE=y
 | 
					CONFIG_HAVE_OPROFILE=y
 | 
				
			||||||
| 
						 | 
					@ -304,6 +305,7 @@ CONFIG_HAVE_PERF_REGS=y
 | 
				
			||||||
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
 | 
					CONFIG_HAVE_PERF_USER_STACK_DUMP=y
 | 
				
			||||||
CONFIG_HAVE_ARCH_JUMP_LABEL=y
 | 
					CONFIG_HAVE_ARCH_JUMP_LABEL=y
 | 
				
			||||||
CONFIG_HAVE_RCU_TABLE_FREE=y
 | 
					CONFIG_HAVE_RCU_TABLE_FREE=y
 | 
				
			||||||
 | 
					CONFIG_HAVE_RCU_TABLE_INVALIDATE=y
 | 
				
			||||||
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
 | 
					CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
 | 
				
			||||||
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
 | 
					CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
 | 
				
			||||||
CONFIG_HAVE_CMPXCHG_LOCAL=y
 | 
					CONFIG_HAVE_CMPXCHG_LOCAL=y
 | 
				
			||||||
| 
						 | 
					@ -869,7 +871,7 @@ CONFIG_HOTPLUG_PCI_ACPI_IBM=m
 | 
				
			||||||
CONFIG_HOTPLUG_PCI_CPCI=y
 | 
					CONFIG_HOTPLUG_PCI_CPCI=y
 | 
				
			||||||
CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
 | 
					CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
 | 
				
			||||||
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
 | 
					CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
 | 
				
			||||||
# CONFIG_HOTPLUG_PCI_SHPC is not set
 | 
					CONFIG_HOTPLUG_PCI_SHPC=y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# PCI controller drivers
 | 
					# PCI controller drivers
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -288,34 +288,25 @@ BAM files.")
 | 
				
			||||||
(define-public bcftools
 | 
					(define-public bcftools
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "bcftools")
 | 
					    (name "bcftools")
 | 
				
			||||||
    (version "1.8")
 | 
					    (version "1.9")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append "https://github.com/samtools/bcftools/"
 | 
				
			||||||
                    "https://github.com/samtools/bcftools/releases/download/"
 | 
					                                  "releases/download/"
 | 
				
			||||||
                    version "/bcftools-" version ".tar.bz2"))
 | 
					                                  version "/bcftools-" version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1vgw2mwngq20c530zim52zvgmw1lci8rzl33pvh44xqk3xlzvjsa"))
 | 
					                "1j3h638i8kgihzyrlnpj82xg1b23sijibys9hvwari3fy7kd0dkg"))
 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
              (snippet '(begin
 | 
					              (snippet '(begin
 | 
				
			||||||
                          ;; Delete bundled htslib.
 | 
					                          ;; Delete bundled htslib.
 | 
				
			||||||
                          (delete-file-recursively "htslib-1.8")
 | 
					                          (delete-file-recursively "htslib-1.9")
 | 
				
			||||||
                          #t))))
 | 
					                          #t))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:test-target "test"
 | 
					     `(#:configure-flags
 | 
				
			||||||
       #:configure-flags (list "--with-htslib=system")
 | 
					       (list "--enable-libgsl")
 | 
				
			||||||
       #:make-flags
 | 
					       #:test-target "test"
 | 
				
			||||||
       (list
 | 
					 | 
				
			||||||
        "USE_GPL=1"
 | 
					 | 
				
			||||||
        "LIBS=-lgsl -lgslcblas"
 | 
					 | 
				
			||||||
        (string-append "prefix=" (assoc-ref %outputs "out"))
 | 
					 | 
				
			||||||
        (string-append "HTSDIR=" (assoc-ref %build-inputs "htslib") "/include")
 | 
					 | 
				
			||||||
        (string-append "HTSLIB=" (assoc-ref %build-inputs "htslib") "/lib/libhts.so")
 | 
					 | 
				
			||||||
        (string-append "BGZIP=" (assoc-ref %build-inputs "htslib") "/bin/bgzip")
 | 
					 | 
				
			||||||
        (string-append "TABIX=" (assoc-ref %build-inputs "htslib") "/bin/tabix")
 | 
					 | 
				
			||||||
        (string-append "PACKAGE_VERSION=" ,version))
 | 
					 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (add-before 'check 'patch-tests
 | 
					         (add-before 'check 'patch-tests
 | 
				
			||||||
| 
						 | 
					@ -1445,17 +1436,17 @@ multiple sequence alignments.")
 | 
				
			||||||
(define-public python-pysam
 | 
					(define-public python-pysam
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-pysam")
 | 
					    (name "python-pysam")
 | 
				
			||||||
    (version "0.13.0")
 | 
					    (version "0.15.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              ;; Test data is missing on PyPi.
 | 
					              ;; Test data is missing on PyPi.
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (git-reference
 | 
				
			||||||
                    "https://github.com/pysam-developers/pysam/archive/v"
 | 
					                    (url "https://github.com/pysam-developers/pysam.git")
 | 
				
			||||||
                    version ".tar.gz"))
 | 
					                    (commit (string-append "v" version))))
 | 
				
			||||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0dzap2axin9cbbl0d825w294bpn00zagfm1sigamm4v2pm5bj9lp"))
 | 
					                "1vj367w6xbn9bpmksm162l1aipf7cj97h1q83y7jcpm33ihwpf7x"))
 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
              (snippet '(begin
 | 
					              (snippet '(begin
 | 
				
			||||||
                          ;; Drop bundled htslib. TODO: Also remove samtools
 | 
					                          ;; Drop bundled htslib. TODO: Also remove samtools
 | 
				
			||||||
| 
						 | 
					@ -1482,6 +1473,11 @@ multiple sequence alignments.")
 | 
				
			||||||
             #t))
 | 
					             #t))
 | 
				
			||||||
         (replace 'check
 | 
					         (replace 'check
 | 
				
			||||||
           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
					           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             ;; This file contains tests that require a connection to the
 | 
				
			||||||
 | 
					             ;; internet.
 | 
				
			||||||
 | 
					             (delete-file "tests/tabix_test.py")
 | 
				
			||||||
 | 
					             ;; FIXME: This test fails
 | 
				
			||||||
 | 
					             (delete-file "tests/AlignmentFile_test.py")
 | 
				
			||||||
             ;; Add first subdirectory of "build" directory to PYTHONPATH.
 | 
					             ;; Add first subdirectory of "build" directory to PYTHONPATH.
 | 
				
			||||||
             (setenv "PYTHONPATH"
 | 
					             (setenv "PYTHONPATH"
 | 
				
			||||||
                     (string-append
 | 
					                     (string-append
 | 
				
			||||||
| 
						 | 
					@ -1492,28 +1488,26 @@ multiple sequence alignments.")
 | 
				
			||||||
             ;; Step out of source dir so python does not import from CWD.
 | 
					             ;; Step out of source dir so python does not import from CWD.
 | 
				
			||||||
             (with-directory-excursion "tests"
 | 
					             (with-directory-excursion "tests"
 | 
				
			||||||
               (setenv "HOME" "/tmp")
 | 
					               (setenv "HOME" "/tmp")
 | 
				
			||||||
               (and (zero? (system* "make" "-C" "pysam_data"))
 | 
					               (invoke "make" "-C" "pysam_data")
 | 
				
			||||||
                    (zero? (system* "make" "-C" "cbcf_data"))
 | 
					               (invoke "make" "-C" "cbcf_data")
 | 
				
			||||||
                    ;; Running nosetests without explicitly asking for a
 | 
					               ;; Running nosetests without explicitly asking for a single
 | 
				
			||||||
                    ;; single process leads to a crash.  Running with multiple
 | 
					               ;; process leads to a crash.  Running with multiple processes
 | 
				
			||||||
                    ;; processes fails because the tests are not designed to
 | 
					               ;; fails because the tests are not designed to run in parallel.
 | 
				
			||||||
                    ;; run in parallel.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    ;; FIXME: tests keep timing out on some systems.
 | 
					               ;; FIXME: tests keep timing out on some systems.
 | 
				
			||||||
                    ;; (zero? (system* "nosetests" "-v"
 | 
					               (invoke "nosetests" "-v" "--processes" "1")))))))
 | 
				
			||||||
                    ;;                 "--processes" "1"))
 | 
					 | 
				
			||||||
                    )))))))
 | 
					 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     `(("htslib"            ,htslib))) ; Included from installed header files.
 | 
					     `(("htslib" ,htslib))) ; Included from installed header files.
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ncurses"           ,ncurses)
 | 
					     `(("ncurses" ,ncurses)
 | 
				
			||||||
       ("zlib"              ,zlib)))
 | 
					       ("curl" ,curl)
 | 
				
			||||||
 | 
					       ("zlib" ,zlib)))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("python-cython"     ,python-cython)
 | 
					     `(("python-cython" ,python-cython)
 | 
				
			||||||
       ;; Dependencies below are are for tests only.
 | 
					       ;; Dependencies below are are for tests only.
 | 
				
			||||||
       ("samtools"          ,samtools)
 | 
					       ("samtools" ,samtools)
 | 
				
			||||||
       ("bcftools"          ,bcftools)
 | 
					       ("bcftools" ,bcftools)
 | 
				
			||||||
       ("python-nose"       ,python-nose)))
 | 
					       ("python-nose" ,python-nose)))
 | 
				
			||||||
    (home-page "https://github.com/pysam-developers/pysam")
 | 
					    (home-page "https://github.com/pysam-developers/pysam")
 | 
				
			||||||
    (synopsis "Python bindings to the SAMtools C API")
 | 
					    (synopsis "Python bindings to the SAMtools C API")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -2012,18 +2006,25 @@ with Python.")
 | 
				
			||||||
(define-public deeptools
 | 
					(define-public deeptools
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "deeptools")
 | 
					    (name "deeptools")
 | 
				
			||||||
    (version "2.5.1")
 | 
					    (version "3.1.2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (string-append "https://github.com/deeptools/deepTools/"
 | 
					              (uri (git-reference
 | 
				
			||||||
                                  "archive/" version ".tar.gz"))
 | 
					                    (url "https://github.com/deeptools/deepTools.git")
 | 
				
			||||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
					                    (commit version)))
 | 
				
			||||||
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1q8i12l2gvk4n2s8lhyzwhh9g4qbc8lrk5l7maz00yvd5g6z5540"))))
 | 
					                "06fdpp6cg3xiwryxjhixvfysl4z0ps1crjgia587qa9ikqpsa7fd"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         ;; This phase fails, but it's not needed.
 | 
				
			||||||
 | 
					         (delete 'reset-gzip-timestamps))))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("python-scipy" ,python-scipy)
 | 
					     `(("python-plotly" ,python-plotly)
 | 
				
			||||||
 | 
					       ("python-scipy" ,python-scipy)
 | 
				
			||||||
       ("python-numpy" ,python-numpy)
 | 
					       ("python-numpy" ,python-numpy)
 | 
				
			||||||
       ("python-numpydoc" ,python-numpydoc)
 | 
					       ("python-numpydoc" ,python-numpydoc)
 | 
				
			||||||
       ("python-matplotlib" ,python-matplotlib)
 | 
					       ("python-matplotlib" ,python-matplotlib)
 | 
				
			||||||
| 
						 | 
					@ -3512,7 +3513,7 @@ performance.")
 | 
				
			||||||
(define-public htslib
 | 
					(define-public htslib
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "htslib")
 | 
					    (name "htslib")
 | 
				
			||||||
    (version "1.8")
 | 
					    (version "1.9")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -3520,7 +3521,7 @@ performance.")
 | 
				
			||||||
                    version "/htslib-" version ".tar.bz2"))
 | 
					                    version "/htslib-" version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "18bw0mn9pj5wgarnlaxmf1bb8pdqgl1zd6czirqcr62ajpn1xvy0"))))
 | 
					                "16ljv43sc3fxmv63w7b2ff8m1s7h89xhazwmbm1bicz8axq8fjz0"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("openssl" ,openssl)
 | 
					     `(("openssl" ,openssl)
 | 
				
			||||||
| 
						 | 
					@ -4997,7 +4998,7 @@ to the user's query of interest.")
 | 
				
			||||||
(define-public samtools
 | 
					(define-public samtools
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "samtools")
 | 
					    (name "samtools")
 | 
				
			||||||
    (version "1.8")
 | 
					    (version "1.9")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -5006,15 +5007,19 @@ to the user's query of interest.")
 | 
				
			||||||
                       version "/samtools-" version ".tar.bz2"))
 | 
					                       version "/samtools-" version ".tar.bz2"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "05myg7bs90i68qbqab9cdg9rqj2xh39azibrx82ipzc5kcfvqhn9"))))
 | 
					         "10ilqbmm7ri8z431sn90lvbjwizd0hhkf9rcqw8j823hf26nhgq8"))
 | 
				
			||||||
 | 
					       (modules '((guix build utils)))
 | 
				
			||||||
 | 
					       (snippet '(begin
 | 
				
			||||||
 | 
					                   ;; Delete bundled htslib.
 | 
				
			||||||
 | 
					                   (delete-file-recursively "htslib-1.9")
 | 
				
			||||||
 | 
					                   #t))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:modules ((ice-9 ftw)
 | 
					     `(#:modules ((ice-9 ftw)
 | 
				
			||||||
                  (ice-9 regex)
 | 
					                  (ice-9 regex)
 | 
				
			||||||
                  (guix build gnu-build-system)
 | 
					                  (guix build gnu-build-system)
 | 
				
			||||||
                  (guix build utils))
 | 
					                  (guix build utils))
 | 
				
			||||||
       #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
 | 
					       #:configure-flags (list "--with-ncurses")
 | 
				
			||||||
       #:configure-flags (list "--with-ncurses" "--with-htslib=system")
 | 
					 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (add-after 'unpack 'patch-tests
 | 
					         (add-after 'unpack 'patch-tests
 | 
				
			||||||
| 
						 | 
					@ -5068,9 +5073,9 @@ viewer.")
 | 
				
			||||||
        (base32 "1m33xsfwz0s8qi45lylagfllqg7fphf4dr0780rsvw75av9wk06h"))))
 | 
					        (base32 "1m33xsfwz0s8qi45lylagfllqg7fphf4dr0780rsvw75av9wk06h"))))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f ;no "check" target
 | 
					     `(#:tests? #f ;no "check" target
 | 
				
			||||||
 | 
					       #:make-flags
 | 
				
			||||||
 | 
					       (list "LIBCURSES=-lncurses")
 | 
				
			||||||
       ,@(substitute-keyword-arguments (package-arguments samtools)
 | 
					       ,@(substitute-keyword-arguments (package-arguments samtools)
 | 
				
			||||||
           ((#:make-flags flags)
 | 
					 | 
				
			||||||
            `(cons "LIBCURSES=-lncurses" ,flags))
 | 
					 | 
				
			||||||
           ((#:phases phases)
 | 
					           ((#:phases phases)
 | 
				
			||||||
            `(modify-phases ,phases
 | 
					            `(modify-phases ,phases
 | 
				
			||||||
               (replace 'install
 | 
					               (replace 'install
 | 
				
			||||||
| 
						 | 
					@ -13869,3 +13874,99 @@ single-cell transcriptomic map of the human and mouse pancreas reveals inter-
 | 
				
			||||||
and intra-cell population structure.\" Baron et al. Cell Systems (2016)
 | 
					and intra-cell population structure.\" Baron et al. Cell Systems (2016)
 | 
				
			||||||
@url{https://www.ncbi.nlm.nih.gov/pubmed/27667365}.")
 | 
					@url{https://www.ncbi.nlm.nih.gov/pubmed/27667365}.")
 | 
				
			||||||
      (license license:gpl2+))))
 | 
					      (license license:gpl2+))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public porechop
 | 
				
			||||||
 | 
					  ;; The recommended way to install is to clone the git repository
 | 
				
			||||||
 | 
					  ;; https://github.com/rrwick/Porechop#installation
 | 
				
			||||||
 | 
					  (let ((commit "289d5dca4a5fc327f97b3f8cecb68ecaf1014861")
 | 
				
			||||||
 | 
					        (revision "1"))
 | 
				
			||||||
 | 
					    (package
 | 
				
			||||||
 | 
					      (name "porechop")
 | 
				
			||||||
 | 
					      (version (git-version "0.2.3" revision commit))
 | 
				
			||||||
 | 
					      (source
 | 
				
			||||||
 | 
					       (origin
 | 
				
			||||||
 | 
					         (method git-fetch)
 | 
				
			||||||
 | 
					         (uri (git-reference
 | 
				
			||||||
 | 
					               (url "https://github.com/rrwick/Porechop.git")
 | 
				
			||||||
 | 
					               (commit commit)))
 | 
				
			||||||
 | 
					         (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					         (sha256
 | 
				
			||||||
 | 
					          (base32 "05ps43gig0d3ia9x5lj84lb00hbsl6ba9n7y7jz927npxbr2ym23"))))
 | 
				
			||||||
 | 
					      (build-system python-build-system)
 | 
				
			||||||
 | 
					      (home-page "https://github.com/rrwick/porechop")
 | 
				
			||||||
 | 
					      (synopsis "Finding, trimming or splitting adapters, in Oxford Nanopore reads")
 | 
				
			||||||
 | 
					      (description
 | 
				
			||||||
 | 
					       "The porechop package is a tool for finding and removing adapters from Oxford
 | 
				
			||||||
 | 
					Nanopore reads.  Adapters on the ends of reads are trimmed off, and when a read
 | 
				
			||||||
 | 
					has an adapter in its middle, it is treated as chimeric and chopped into
 | 
				
			||||||
 | 
					separate reads.  Porechop performs thorough alignments to effectively find
 | 
				
			||||||
 | 
					adapters, even at low sequence identity.  Porechop also supports demultiplexing
 | 
				
			||||||
 | 
					of Nanopore reads that were barcoded with the Native Barcoding Kit, PCR
 | 
				
			||||||
 | 
					Barcoding Kit or Rapid Barcoding Kit.")
 | 
				
			||||||
 | 
					      (license license:gpl3+))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public poretools
 | 
				
			||||||
 | 
					  ;; The latest release was in 2016 and the latest commit is from 2017
 | 
				
			||||||
 | 
					  ;; the recommended way to install is to clone the git repository
 | 
				
			||||||
 | 
					  ;; https://poretools.readthedocs.io/en/latest/content/installation.html
 | 
				
			||||||
 | 
					  (let ((commit "e426b1f09e86ac259a00c261c79df91510777407")
 | 
				
			||||||
 | 
					        (revision "1"))
 | 
				
			||||||
 | 
					    (package
 | 
				
			||||||
 | 
					      (name "poretools")
 | 
				
			||||||
 | 
					      (version (git-version "0.6.0" revision commit))
 | 
				
			||||||
 | 
					      (source
 | 
				
			||||||
 | 
					       (origin
 | 
				
			||||||
 | 
					         (method git-fetch)
 | 
				
			||||||
 | 
					         (uri (git-reference
 | 
				
			||||||
 | 
					               (url "https://github.com/arq5x/poretools.git")
 | 
				
			||||||
 | 
					               (commit commit)))
 | 
				
			||||||
 | 
					         (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					         (sha256
 | 
				
			||||||
 | 
					          (base32 "0bglj833wxpp3cq430p1d3xp085ls221js2y90w7ir2x5ay8l7am"))))
 | 
				
			||||||
 | 
					      (build-system python-build-system)
 | 
				
			||||||
 | 
					      ;; requires python >=2.7, <3.0, and the same for python dependencies
 | 
				
			||||||
 | 
					      (arguments `(#:python ,python-2))
 | 
				
			||||||
 | 
					      (inputs
 | 
				
			||||||
 | 
					       `(("hdf5" ,hdf5)))
 | 
				
			||||||
 | 
					      (propagated-inputs
 | 
				
			||||||
 | 
					       `(("python-dateutil" ,python2-dateutil)
 | 
				
			||||||
 | 
					         ("python-h5py" ,python2-h5py)
 | 
				
			||||||
 | 
					         ("python-matplotlib" ,python2-matplotlib)
 | 
				
			||||||
 | 
					         ("python-pandas" ,python2-pandas)
 | 
				
			||||||
 | 
					         ("python-seaborn" ,python2-seaborn)))
 | 
				
			||||||
 | 
					      (home-page "https://poretools.readthedocs.io")
 | 
				
			||||||
 | 
					      (synopsis "Toolkit for working with nanopore sequencing data")
 | 
				
			||||||
 | 
					      (description
 | 
				
			||||||
 | 
					       "The MinION from Oxford Nanopore Technologies is a nanopore sequencer.
 | 
				
			||||||
 | 
					This @code{poretools} package is a flexible toolkit for exploring datasets
 | 
				
			||||||
 | 
					generated by nanopore sequencing devices for the purposes of quality control and
 | 
				
			||||||
 | 
					downstream analysis.  Poretools operates directly on the native FAST5, a variant
 | 
				
			||||||
 | 
					of the Hierarchical Data Format (HDF5) standard.")
 | 
				
			||||||
 | 
					      (license license:expat))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public r-absfiltergsea
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "r-absfiltergsea")
 | 
				
			||||||
 | 
					    (version "1.5.1")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (cran-uri "AbsFilterGSEA" version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "15srxkxsvn38kd5frdrwfdf0ad8gskrd0h01wmdf9hglq8fjrp7w"))))
 | 
				
			||||||
 | 
					    (properties `((upstream-name . "AbsFilterGSEA")))
 | 
				
			||||||
 | 
					    (build-system r-build-system)
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("r-biobase" ,r-biobase)
 | 
				
			||||||
 | 
					       ("r-deseq" ,r-deseq)
 | 
				
			||||||
 | 
					       ("r-limma" ,r-limma)
 | 
				
			||||||
 | 
					       ("r-rcpp" ,r-rcpp)
 | 
				
			||||||
 | 
					       ("r-rcpparmadillo" ,r-rcpparmadillo)))
 | 
				
			||||||
 | 
					    (home-page "https://cran.r-project.org/web/packages/AbsFilterGSEA/")
 | 
				
			||||||
 | 
					    (synopsis "Improved false positive control of gene-permuting with absolute filtering")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "This package provides a function that performs gene-permuting of a gene-set
 | 
				
			||||||
 | 
					enrichment analysis (GSEA) calculation with or without the absolute filtering.
 | 
				
			||||||
 | 
					  Without filtering, users can perform (original) two-tailed or one-tailed
 | 
				
			||||||
 | 
					absolute GSEA.")
 | 
				
			||||||
 | 
					    (license license:gpl2)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -186,8 +186,8 @@ their dependencies.")
 | 
				
			||||||
      (license l:gpl3+))))
 | 
					      (license l:gpl3+))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public cuirass
 | 
					(define-public cuirass
 | 
				
			||||||
  (let ((commit "8d40c49170971ad7bbf8b97336934dbb3d949fc1")
 | 
					  (let ((commit "fe2b73c2353d106431ed0659345391f14ed64600")
 | 
				
			||||||
        (revision "19"))
 | 
					        (revision "20"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "cuirass")
 | 
					      (name "cuirass")
 | 
				
			||||||
      (version (string-append "0.0.1-" revision "." (string-take commit 7)))
 | 
					      (version (string-append "0.0.1-" revision "." (string-take commit 7)))
 | 
				
			||||||
| 
						 | 
					@ -199,7 +199,7 @@ their dependencies.")
 | 
				
			||||||
                (file-name (string-append name "-" version))
 | 
					                (file-name (string-append name "-" version))
 | 
				
			||||||
                (sha256
 | 
					                (sha256
 | 
				
			||||||
                 (base32
 | 
					                 (base32
 | 
				
			||||||
                  "0xxcapf9ag3zx6131v128vhin5m2j3w2gjbjbpdwr0qkaysh0gvf"))))
 | 
					                  "00ldbig2p14qpwrl2i2hnhb9idgbbf0kqnlh4n79rmz96blm7463"))))
 | 
				
			||||||
      (build-system gnu-build-system)
 | 
					      (build-system gnu-build-system)
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
       '(#:modules ((guix build utils)
 | 
					       '(#:modules ((guix build utils)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -403,13 +403,13 @@ functionality such as HTML output.")
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "rtags")
 | 
					    (name "rtags")
 | 
				
			||||||
    (version "2.18")
 | 
					    (version "2.18")
 | 
				
			||||||
    (home-page "https://github.com/Andersbakken/rtags")
 | 
					 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
       (uri
 | 
					       (uri (git-reference
 | 
				
			||||||
        (string-append home-page "/archive/v" version ".tar.gz"))
 | 
					             (url "https://github.com/Andersbakken/rtags.git")
 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (patches (search-patches "rtags-separate-rct.patch"))
 | 
					       (patches (search-patches "rtags-separate-rct.patch"))
 | 
				
			||||||
       (modules '((guix build utils)))
 | 
					       (modules '((guix build utils)))
 | 
				
			||||||
       (snippet
 | 
					       (snippet
 | 
				
			||||||
| 
						 | 
					@ -424,7 +424,7 @@ functionality such as HTML output.")
 | 
				
			||||||
             #t)))
 | 
					             #t)))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0scjbp1z201q8njvrxqz7lk2m9b6k2rxd5q1shrng6532r7ndif2"))))
 | 
					         "0raqjbkl1ykga4ahgl9xw49cgh3cyqcf42z36z7d6fz1fw192kg0"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:build-type "RelWithDebInfo"
 | 
					     '(#:build-type "RelWithDebInfo"
 | 
				
			||||||
| 
						 | 
					@ -442,6 +442,7 @@ functionality such as HTML output.")
 | 
				
			||||||
       ("lua" ,lua)
 | 
					       ("lua" ,lua)
 | 
				
			||||||
       ("rct" ,rct)
 | 
					       ("rct" ,rct)
 | 
				
			||||||
       ("selene" ,selene)))
 | 
					       ("selene" ,selene)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/Andersbakken/rtags")
 | 
				
			||||||
    (synopsis "Indexer for the C language family with Emacs integration")
 | 
					    (synopsis "Indexer for the C language family with Emacs integration")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "RTags is a client/server application that indexes C/C++ code and keeps a
 | 
					     "RTags is a client/server application that indexes C/C++ code and keeps a
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5895,3 +5895,364 @@ hemoglobin to reticulocytes (OFF-score), as well as example data.")
 | 
				
			||||||
based on entropy estimates from k-nearest neighbors distances and algorithms
 | 
					based on entropy estimates from k-nearest neighbors distances and algorithms
 | 
				
			||||||
for the reconstruction of gene regulatory networks.")
 | 
					for the reconstruction of gene regulatory networks.")
 | 
				
			||||||
    (license license:agpl3+)))
 | 
					    (license license:agpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public r-pscl
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "r-pscl")
 | 
				
			||||||
 | 
					    (version "1.5.2")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (cran-uri "pscl" version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "1phf3awsfr4ncqfqzin5m1pz0g7y1zhbcm2sz7358ssw914fd7rc"))))
 | 
				
			||||||
 | 
					    (build-system r-build-system)
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("r-mass" ,r-mass)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/atahk/pscl/")
 | 
				
			||||||
 | 
					    (synopsis "Political science computational laboratory")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "The @code{pscl} is an R package providing classes and methods for:
 | 
				
			||||||
 | 
					@enumerate
 | 
				
			||||||
 | 
					@item Bayesian analysis of roll call data (item-response models);
 | 
				
			||||||
 | 
					@item elementary Bayesian statistics;
 | 
				
			||||||
 | 
					@item maximum likelihood estimation of zero-inflated and hurdle models for count
 | 
				
			||||||
 | 
					data;
 | 
				
			||||||
 | 
					@item utility functions.
 | 
				
			||||||
 | 
					@end enumerate")
 | 
				
			||||||
 | 
					    (license license:gpl2)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public r-accelmissing
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "r-accelmissing")
 | 
				
			||||||
 | 
					    (version "1.4")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (cran-uri "accelmissing" version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "1nql9inx6azdzi3z4sfm2vdml2mms6krl8wzlf1dn1c97ahn57fy"))))
 | 
				
			||||||
 | 
					    (build-system r-build-system)
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("r-mice" ,r-mice)
 | 
				
			||||||
 | 
					       ("r-pscl" ,r-pscl)))
 | 
				
			||||||
 | 
					    (home-page "https://cran.r-project.org/web/packages/accelmissing/")
 | 
				
			||||||
 | 
					    (synopsis "Missing value imputation for accelerometer data")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "This package provides a statistical method to impute the missing values in
 | 
				
			||||||
 | 
					accelerometer data.  The methodology includes both parametric and
 | 
				
			||||||
 | 
					semi-parametric multiple imputations under the zero-inflated Poisson lognormal
 | 
				
			||||||
 | 
					model.  It also provides multiple functions to preprocess the accelerometer data
 | 
				
			||||||
 | 
					previous to the missing data imputation.  These include detecting the wearing
 | 
				
			||||||
 | 
					and the non-wearing time, selecting valid days and subjects, and creating plots.")
 | 
				
			||||||
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public r-mhsmm
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "r-mhsmm")
 | 
				
			||||||
 | 
					    (version "0.4.16")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (cran-uri "mhsmm" version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "009dj0zkj1zry7jr9hf4cknb686z50a2l967if64xm0dvjmp7dgs"))))
 | 
				
			||||||
 | 
					    (build-system r-build-system)
 | 
				
			||||||
 | 
					    (propagated-inputs `(("r-mvtnorm" ,r-mvtnorm)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/jaredo/mhsmm/")
 | 
				
			||||||
 | 
					    (synopsis "Inference for hidden Markov and semi-Markov models")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "The @code{r-mhsmm} package implements estimation and prediction methods for
 | 
				
			||||||
 | 
					hidden Markov and semi-Markov models for multiple observation sequences.  Such
 | 
				
			||||||
 | 
					techniques are of interest when observed data is thought to be dependent on some
 | 
				
			||||||
 | 
					unobserved (or hidden) state.  Also, this package is suitable for equidistant
 | 
				
			||||||
 | 
					time series data, with multivariate and/or missing data.  Allows user defined
 | 
				
			||||||
 | 
					emission distributions.")
 | 
				
			||||||
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public r-nleqslv
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "r-nleqslv")
 | 
				
			||||||
 | 
					    (version "3.3.2")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (cran-uri "nleqslv" version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "1v9znvncyigw9r25wx2ma0b7ib179b488dl0qsrhp5zrcz7mcjgm"))))
 | 
				
			||||||
 | 
					    (build-system r-build-system)
 | 
				
			||||||
 | 
					    (native-inputs `(("gfortran" ,gfortran)))
 | 
				
			||||||
 | 
					    (home-page "https://cran.r-project.org/web/packages/nleqslv/")
 | 
				
			||||||
 | 
					    (synopsis "Solve systems of nonlinear equations")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "The @code{r-nleqslv} package solves a system of nonlinear equations using a
 | 
				
			||||||
 | 
					Broyden or a Newton method with a choice of global strategies such as line
 | 
				
			||||||
 | 
					search and trust region.  There are options for using a numerical or user
 | 
				
			||||||
 | 
					supplied Jacobian, for specifying a banded numerical Jacobian and for allowing a
 | 
				
			||||||
 | 
					singular or ill-conditioned Jacobian.")
 | 
				
			||||||
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public r-physicalactivity
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "r-physicalactivity")
 | 
				
			||||||
 | 
					    (version "0.2-2")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (cran-uri "PhysicalActivity" version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "14z6plgwyr46vs9m997rvlz8sdglfs9g087an8668zqkzzs2w4ln"))))
 | 
				
			||||||
 | 
					    (properties
 | 
				
			||||||
 | 
					     `((upstream-name . "PhysicalActivity")))
 | 
				
			||||||
 | 
					    (build-system r-build-system)
 | 
				
			||||||
 | 
					    (home-page "https://cran.r-project.org/web/packages/PhysicalActivity/")
 | 
				
			||||||
 | 
					    (synopsis "Procesing accelerometer data for physical activity measurement")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "This @code{r-physicalactivity} package provides a function @code{wearingMarking}
 | 
				
			||||||
 | 
					for classification of monitor wear and nonwear time intervals in accelerometer
 | 
				
			||||||
 | 
					data collected to assess physical activity.  The package also contains functions
 | 
				
			||||||
 | 
					for making plots of accelerometer data and obtaining the summary of various
 | 
				
			||||||
 | 
					information including daily monitor wear time and the mean monitor wear time
 | 
				
			||||||
 | 
					during valid days.  The revised package version 0.2-1 improved the functions
 | 
				
			||||||
 | 
					regarding speed, robustness and add better support for time zones and daylight
 | 
				
			||||||
 | 
					saving.  In addition, several functions were added:
 | 
				
			||||||
 | 
					@enumerate
 | 
				
			||||||
 | 
					@item the @code{markDelivery} can classify days for ActiGraph delivery by mail;
 | 
				
			||||||
 | 
					@item the @code{markPAI} can categorize physical activity intensity level based
 | 
				
			||||||
 | 
					on user-defined cut-points of accelerometer counts.
 | 
				
			||||||
 | 
					@end enumerate
 | 
				
			||||||
 | 
					  It also supports importing ActiGraph (AGD) files with @code{readActigraph} and
 | 
				
			||||||
 | 
					@code{queryActigraph} functions.")
 | 
				
			||||||
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public r-acc
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "r-acc")
 | 
				
			||||||
 | 
					    (version "1.3.3")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (cran-uri "acc" version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "1ii2vm47djxbixa75h690q1s2f9m9x6i8nkygik93j6dayr6kr1m"))))
 | 
				
			||||||
 | 
					    (build-system r-build-system)
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("r-circlize" ,r-circlize)
 | 
				
			||||||
 | 
					       ("r-dbi" ,r-dbi)
 | 
				
			||||||
 | 
					       ("r-ggplot2" ,r-ggplot2)
 | 
				
			||||||
 | 
					       ("r-iterators" ,r-iterators)
 | 
				
			||||||
 | 
					       ("r-mhsmm" ,r-mhsmm)
 | 
				
			||||||
 | 
					       ("r-nleqslv" ,r-nleqslv)
 | 
				
			||||||
 | 
					       ("r-physicalactivity" ,r-physicalactivity)
 | 
				
			||||||
 | 
					       ("r-plyr" ,r-plyr)
 | 
				
			||||||
 | 
					       ("r-r-utils" ,r-r-utils)
 | 
				
			||||||
 | 
					       ("r-rcpp" ,r-rcpp)
 | 
				
			||||||
 | 
					       ("r-rcpparmadillo" ,r-rcpparmadillo)
 | 
				
			||||||
 | 
					       ("r-rsqlite" ,r-rsqlite)
 | 
				
			||||||
 | 
					       ("r-zoo" ,r-zoo)))
 | 
				
			||||||
 | 
					    (home-page "https://cran.r-project.org/web/packages/acc/")
 | 
				
			||||||
 | 
					    (synopsis "Exploring accelerometer data")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "This package processes accelerometer data from uni-axial and tri-axial devices
 | 
				
			||||||
 | 
					and generates data summaries.  Also, includes functions to plot, analyze, and
 | 
				
			||||||
 | 
					simulate accelerometer data.")
 | 
				
			||||||
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public r-rbenchmark
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "r-rbenchmark")
 | 
				
			||||||
 | 
					    (version "1.0.0")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (cran-uri "rbenchmark" version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "010fn3qwnk2k411cbqyvra1d12c3bhhl3spzm8kxffmirj4p2al9"))))
 | 
				
			||||||
 | 
					    (build-system r-build-system)
 | 
				
			||||||
 | 
					    (home-page "https://cran.r-project.org/web/packages/rbenchmark/")
 | 
				
			||||||
 | 
					    (synopsis "Benchmarking routine for R")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "This @code{r-rbenchmark} package is inspired by the Perl module Benchmark,
 | 
				
			||||||
 | 
					and is intended to facilitate benchmarking of arbitrary R code.  The library
 | 
				
			||||||
 | 
					consists of just one function, benchmark, which is a simple wrapper around
 | 
				
			||||||
 | 
					system.time.  Given a specification of the benchmarking process (counts of
 | 
				
			||||||
 | 
					replications, evaluation environment) and an arbitrary number of expressions,
 | 
				
			||||||
 | 
					benchmark evaluates each of the expressions in the specified environment,
 | 
				
			||||||
 | 
					replicating the evaluation as many times as specified, and returning the results
 | 
				
			||||||
 | 
					conveniently wrapped into a data frame.")
 | 
				
			||||||
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public r-dvmisc
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "r-dvmisc")
 | 
				
			||||||
 | 
					    (version "1.1.2")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (cran-uri "dvmisc" version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "1dy0yykskwhkql19bhzmbwsgv028afc8jh9yqwbczj6f3vpv31zh"))))
 | 
				
			||||||
 | 
					    (build-system r-build-system)
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("r-mass" ,r-mass)
 | 
				
			||||||
 | 
					       ("r-rbenchmark" ,r-rbenchmark)
 | 
				
			||||||
 | 
					       ("r-rcpp" ,r-rcpp)))
 | 
				
			||||||
 | 
					    (home-page "https://cran.r-project.org/web/packages/dvmisc/")
 | 
				
			||||||
 | 
					    (synopsis "Faster computation of common statistics and miscellaneous functions")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "This package implements faster versions of base R functions (e.g. mean, standard
 | 
				
			||||||
 | 
					deviation, covariance, weighted mean), mostly written in C++, along with
 | 
				
			||||||
 | 
					miscellaneous functions for various purposes (e.g. create the histogram with
 | 
				
			||||||
 | 
					fitted probability density function or probability mass function curve, create
 | 
				
			||||||
 | 
					the body mass index groups, assess the linearity assumption in logistic
 | 
				
			||||||
 | 
					regression).")
 | 
				
			||||||
 | 
					    (license license:gpl2)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public r-accelerometry
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "r-accelerometry")
 | 
				
			||||||
 | 
					    (version "3.1.2")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (cran-uri "accelerometry" version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "13xzrwhr4i1nj9c8vrmfdg2rmrc8n446iihcyxmy99sm99hpzyip"))))
 | 
				
			||||||
 | 
					    (build-system r-build-system)
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("r-dvmisc" ,r-dvmisc)
 | 
				
			||||||
 | 
					       ("r-rcpp" ,r-rcpp)))
 | 
				
			||||||
 | 
					    (home-page "https://cran.r-project.org/web/packages/accelerometry/")
 | 
				
			||||||
 | 
					    (synopsis "Functions for processing accelerometer data")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "This package provides a collection of functions that perform operations on
 | 
				
			||||||
 | 
					time-series accelerometer data, such as identify the non-wear time, flag minutes
 | 
				
			||||||
 | 
					that are part of an activity bout, and find the maximum 10-minute average count
 | 
				
			||||||
 | 
					value.  The functions are generally very flexible, allowing for a variety of
 | 
				
			||||||
 | 
					algorithms to be implemented.")
 | 
				
			||||||
 | 
					    (license license:gpl3)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public r-absim
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "r-absim")
 | 
				
			||||||
 | 
					    (version "0.2.6")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (cran-uri "AbSim" version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "16ddjk8b6xw80ch4jis1y751i9561wdxh0gifbf15qiz3vjckq8m"))))
 | 
				
			||||||
 | 
					    (properties `((upstream-name . "AbSim")))
 | 
				
			||||||
 | 
					    (build-system r-build-system)
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("r-ape" ,r-ape)
 | 
				
			||||||
 | 
					       ("r-powerlaw" ,r-powerlaw)))
 | 
				
			||||||
 | 
					    (home-page "https://cran.r-project.org/web/packages/AbSim/")
 | 
				
			||||||
 | 
					    (synopsis "Time resolved simulations of antibody repertoires")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "This package provides simulation methods for the evolution of antibody repertoires.
 | 
				
			||||||
 | 
					  The heavy and light chain variable region of both human and C57BL/6 mice can
 | 
				
			||||||
 | 
					be simulated in a time-dependent fashion.  Both single lineages using one set of
 | 
				
			||||||
 | 
					V-, D-, and J-genes or full repertoires can be simulated.  The algorithm begins
 | 
				
			||||||
 | 
					with an initial V-D-J recombination event, starting the first phylogenetic tree.
 | 
				
			||||||
 | 
					  Upon completion, the main loop of the algorithm begins, with each iteration
 | 
				
			||||||
 | 
					representing one simulated time step.  Various mutation events are possible at
 | 
				
			||||||
 | 
					each time step, contributing to a diverse final repertoire.")
 | 
				
			||||||
 | 
					    (license license:gpl2)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public r-ac3net
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "r-ac3net")
 | 
				
			||||||
 | 
					    (version "1.2.2")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (cran-uri "Ac3net" version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "1ns4n0xxz6p34c11bj0k7nzgmyqr9mis2b0g5nfz37dbikndyqyz"))))
 | 
				
			||||||
 | 
					    (properties `((upstream-name . "Ac3net")))
 | 
				
			||||||
 | 
					    (build-system r-build-system)
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("r-data-table" ,r-data-table)))
 | 
				
			||||||
 | 
					    (home-page "https://cran.r-project.org/web/packages/Ac3net/")
 | 
				
			||||||
 | 
					    (synopsis "Inferring directional conservative causal core gene networks")
 | 
				
			||||||
 | 
					    (description "This package infers directional Conservative causal core
 | 
				
			||||||
 | 
					(gene) networks (C3NET).  This is a version of the algorithm C3NET with
 | 
				
			||||||
 | 
					directional network.")
 | 
				
			||||||
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public r-aca
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "r-aca")
 | 
				
			||||||
 | 
					    (version "1.1")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (cran-uri "ACA" version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "1i3hm27nvnkvc39xlh0d1blq8q0q02czmvgi3cazmjx3jvxay0vq"))))
 | 
				
			||||||
 | 
					    (properties `((upstream-name . "ACA")))
 | 
				
			||||||
 | 
					    (build-system r-build-system)
 | 
				
			||||||
 | 
					    (home-page "https://cran.r-project.org/web/packages/ACA/")
 | 
				
			||||||
 | 
					    (synopsis "Abrupt change-point or aberration detection in point series")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "This package offers an interactive function for the detection of breakpoints in
 | 
				
			||||||
 | 
					series.")
 | 
				
			||||||
 | 
					    ;; Any version of the GPL
 | 
				
			||||||
 | 
					    (license (list license:gpl2+ license:gpl3+))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public r-acceptancesampling
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "r-acceptancesampling")
 | 
				
			||||||
 | 
					    (version "1.0-5")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (cran-uri "AcceptanceSampling" version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "18krmmyn8pn11aqd81kbvka68lnd36mnpdh7p3pz9r4m4vjj007x"))))
 | 
				
			||||||
 | 
					    (properties
 | 
				
			||||||
 | 
					     `((upstream-name . "AcceptanceSampling")))
 | 
				
			||||||
 | 
					    (build-system r-build-system)
 | 
				
			||||||
 | 
					    (home-page "https://cran.r-project.org/web/packages/AcceptanceSampling/")
 | 
				
			||||||
 | 
					    (synopsis "Creation and evaluation of acceptance sampling plans")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "This @code{r-acceptancesampling} provides functionality for creating and evaluating
 | 
				
			||||||
 | 
					acceptance sampling plans.  Acceptance sampling is a methodology commonly used
 | 
				
			||||||
 | 
					in quality control and improvement.  International standards of acceptance
 | 
				
			||||||
 | 
					sampling provide sampling plans for specific circumstances.  The aim of this
 | 
				
			||||||
 | 
					package is to provide an easy-to-use interface to visualize single, double or
 | 
				
			||||||
 | 
					multiple sampling plans.  In addition, methods have been provided to enable the
 | 
				
			||||||
 | 
					user to assess sampling plans against pre-specified levels of performance, as
 | 
				
			||||||
 | 
					measured by the probability of acceptance for a given level of quality in the
 | 
				
			||||||
 | 
					lot.")
 | 
				
			||||||
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public r-acclma
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "r-acclma")
 | 
				
			||||||
 | 
					    (version "1.0")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (cran-uri "ACCLMA" version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "1na27sp18fq12gp6vxgqw1ffsz2yi1d8xvrxbrzx5g1kqxrayy0v"))))
 | 
				
			||||||
 | 
					    (properties `((upstream-name . "ACCLMA")))
 | 
				
			||||||
 | 
					    (build-system r-build-system)
 | 
				
			||||||
 | 
					    (home-page "https://cran.r-project.org/web/packages/ACCLMA/")
 | 
				
			||||||
 | 
					    (synopsis "ACC & LMA graph plotting")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "This package contains a function that imports data from a @acronym{CSV,
 | 
				
			||||||
 | 
					Comma-Separated Values} file, or uses manually entered data from the format (x,
 | 
				
			||||||
 | 
					y, weight) and plots the appropriate @acronym{ACC, Absolute Concentration
 | 
				
			||||||
 | 
					Curve} vs @acronym{LOI, Line of Independence} graph and
 | 
				
			||||||
 | 
					@acronym{LMA, @acronym{LOI} Minus @acronym{ACC}} graph.  The main
 | 
				
			||||||
 | 
					function is @code{plotLMA} (source file, header) that takes a data set and plots the
 | 
				
			||||||
 | 
					appropriate @acronym{LMA} and @acronym{ACC} graphs.  If no source file (a
 | 
				
			||||||
 | 
					string) was passed, a manual data entry window is opened.  The header parameter
 | 
				
			||||||
 | 
					indicates by TRUE/FALSE (false by default) if the source @acronym{CSV} file has
 | 
				
			||||||
 | 
					a header row or not.  The dataset should contain only one independent variable
 | 
				
			||||||
 | 
					(x) and one dependent variable (y) and can contain a weight for each
 | 
				
			||||||
 | 
					observation.")
 | 
				
			||||||
 | 
					    (license license:gpl2)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -642,7 +642,7 @@ HP@tie{}LaserJet, and possibly other printers.  See @file{README} for details.")
 | 
				
			||||||
(define-public escpr
 | 
					(define-public escpr
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "escpr")
 | 
					    (name "escpr")
 | 
				
			||||||
    (version "1.6.20")
 | 
					    (version "1.6.30")
 | 
				
			||||||
    ;; XXX: This currently works.  But it will break as soon as a newer
 | 
					    ;; XXX: This currently works.  But it will break as soon as a newer
 | 
				
			||||||
    ;; version is available since the URLs for older versions are not
 | 
					    ;; version is available since the URLs for older versions are not
 | 
				
			||||||
    ;; preserved.  An alternative source will be added as soon as
 | 
					    ;; preserved.  An alternative source will be added as soon as
 | 
				
			||||||
| 
						 | 
					@ -650,12 +650,12 @@ HP@tie{}LaserJet, and possibly other printers.  See @file{README} for details.")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              ;; The uri has to be chopped up in order to satisfy guix lint.
 | 
					              ;; The uri has to be chopped up in order to satisfy guix lint.
 | 
				
			||||||
              (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/07/16/23/"
 | 
					              (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/08/18/20/"
 | 
				
			||||||
                                  "804253d188a31ae6a0f2722648248ef952afedfb/"
 | 
					                                  "e94de600e28e510c1cfa158929d8b2c0aadc8aa0/"
 | 
				
			||||||
                                  "epson-inkjet-printer-escpr-1.6.20-1lsb3.2.tar.gz"))
 | 
					                                  "epson-inkjet-printer-escpr-1.6.30-1lsb3.2.tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "19800pl7kbbgdzbsy9ijmd7dm3ly4kr2h1dxypqpd075g6n0i770"))))
 | 
					                "0m8pyfkixisp0vclwxj340isn15zzisal0v2xvv66kxfd68dzf12"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags
 | 
					     `(#:configure-flags
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2685,12 +2685,14 @@ parsing code in hiredis.  It primarily speeds up parsing of multi bulk replies."
 | 
				
			||||||
     `(#:tests? #f))
 | 
					     `(#:tests? #f))
 | 
				
			||||||
    (home-page "https://github.com/jamesls/fakeredis")
 | 
					    (home-page "https://github.com/jamesls/fakeredis")
 | 
				
			||||||
    (synopsis "Fake implementation of redis API for testing purposes")
 | 
					    (synopsis "Fake implementation of redis API for testing purposes")
 | 
				
			||||||
    (description "Fakeredis is a pure python implementation of the redis-py
 | 
					    (description
 | 
				
			||||||
python client that simulates talking to a redis server.  This was created for a
 | 
					     "Fakeredis is a pure-Python implementation of the redis-py Python client
 | 
				
			||||||
single purpose: to write unittests.  Setting up redis is not hard, but many time
 | 
					that simulates talking to a redis server.  It was created for a single purpose:
 | 
				
			||||||
 you want to write unittests that do not talk to an external server (such as
 | 
					to write unit tests.
 | 
				
			||||||
redis).  This module now allows tests to simply use this module as a reasonable
 | 
					
 | 
				
			||||||
substitute for redis.")
 | 
					Setting up redis is not hard, but one often wants to write unit tests that don't
 | 
				
			||||||
 | 
					talk to an external server such as redis.  This module can be used as a
 | 
				
			||||||
 | 
					reasonable substitute.")
 | 
				
			||||||
    (license license:bsd-3)))
 | 
					    (license license:bsd-3)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public python2-fakeredis
 | 
					(define-public python2-fakeredis
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -37,14 +38,14 @@
 | 
				
			||||||
(define-public dico
 | 
					(define-public dico
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "dico")
 | 
					    (name "dico")
 | 
				
			||||||
    (version "2.6")
 | 
					    (version "2.7")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append "mirror://gnu/dico/dico-"
 | 
					             (uri (string-append "mirror://gnu/dico/dico-"
 | 
				
			||||||
                                 version ".tar.xz"))
 | 
					                                 version ".tar.xz"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "0zmi041gv5nd5fmyzgdrgrsy2pvjaq9p8dvvhxwi842hiyng5b7i"))))
 | 
					               "0dg4aacnmlf3ljssd7dwh8z5644xzq8k1501mbsx8nz8p8a9mbsq"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:configure-flags (list (string-append "--with-guile-site-dir=" %output
 | 
					     '(#:configure-flags (list (string-append "--with-guile-site-dir=" %output
 | 
				
			||||||
| 
						 | 
					@ -57,7 +58,11 @@
 | 
				
			||||||
                      ;; infrastructure.  Gag it.
 | 
					                      ;; infrastructure.  Gag it.
 | 
				
			||||||
                      (setenv "GUILE_AUTO_COMPILE" "0")
 | 
					                      (setenv "GUILE_AUTO_COMPILE" "0")
 | 
				
			||||||
                      (setenv "GUILE_WARN_DEPRECATED" "no")
 | 
					                      (setenv "GUILE_WARN_DEPRECATED" "no")
 | 
				
			||||||
                      #t)))))
 | 
					                      #t))
 | 
				
			||||||
 | 
					                  (replace 'check
 | 
				
			||||||
 | 
					                    (lambda _
 | 
				
			||||||
 | 
					                      ;; Test '71: append + dooffs + env' fails if $V is not 2.
 | 
				
			||||||
 | 
					                      (invoke "make" "check" "V=2"))))))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("m4" ,m4)                                 ;used at run time
 | 
					     `(("m4" ,m4)                                 ;used at run time
 | 
				
			||||||
       ("pcre" ,pcre)
 | 
					       ("pcre" ,pcre)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,6 +4,7 @@
 | 
				
			||||||
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
 | 
					;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
 | 
				
			||||||
;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
					;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
				
			||||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -219,7 +220,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
 | 
				
			||||||
                           "Grammalecte-fr-v" version ".zip"))
 | 
					                           "Grammalecte-fr-v" version ".zip"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1flsahqw2r0cmg0bixpl5w0acricmdh2cf4lf9zr66ydgmjnmv2s"))))
 | 
					         "11byjs3ggdhia5f4vyfqfvbbczsfqimll98h98g7hlsrm7vrifb0"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (home-page "https://www.dicollecte.org")
 | 
					    (home-page "https://www.dicollecte.org")
 | 
				
			||||||
    (synopsis  "French spelling and grammar checker")
 | 
					    (synopsis  "French spelling and grammar checker")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -631,14 +631,15 @@ passphrases.")
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (add-after 'unpack 'autogen
 | 
					         (add-after 'unpack 'patch-FHS-file-names
 | 
				
			||||||
           (lambda _
 | 
					           (lambda _
 | 
				
			||||||
             (substitute* "autogen.sh"
 | 
					             (substitute* "autogen.sh"
 | 
				
			||||||
               (("/bin/sh") (which "sh")))
 | 
					               (("/bin/sh") (which "sh")))
 | 
				
			||||||
             (substitute* "git-version-gen"
 | 
					             (substitute* "git-version-gen"
 | 
				
			||||||
               (("/bin/sh") (which "sh")))
 | 
					               (("/bin/sh") (which "sh")))
 | 
				
			||||||
             (substitute* "git-version"
 | 
					             (substitute* "git-version"
 | 
				
			||||||
               (("/bin/bash") (which "bash"))))))
 | 
					               (("/bin/bash") (which "bash")))
 | 
				
			||||||
 | 
					             #t)))
 | 
				
			||||||
       #:make-flags
 | 
					       #:make-flags
 | 
				
			||||||
       (let ((out (assoc-ref %outputs "out")))
 | 
					       (let ((out (assoc-ref %outputs "out")))
 | 
				
			||||||
         (list (string-append "BASH_COMPLETION_DIR=" out
 | 
					         (list (string-append "BASH_COMPLETION_DIR=" out
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -104,7 +104,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
 | 
				
			||||||
(define-public isc-bind
 | 
					(define-public isc-bind
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "bind")
 | 
					    (name "bind")
 | 
				
			||||||
    (version "9.12.2-P1")
 | 
					    (version "9.12.2-P2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -112,7 +112,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
 | 
				
			||||||
                    version ".tar.gz"))
 | 
					                    version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "192ld6w8f4n46hvdmmzzrfkd28apf4dwmbpbi3j2q1d2p315ajww"))))
 | 
					                "0gk9vwqlbdmn10m21f2awvmiccfbadvcwi8zsgm91awbx4k7h0l7"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (outputs `("out" "utils"))
 | 
					    (outputs `("out" "utils"))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
| 
						 | 
					@ -289,6 +289,77 @@ asynchronous fashion.")
 | 
				
			||||||
                   (license:non-copyleft "file://LICENSE") ; includes.h
 | 
					                   (license:non-copyleft "file://LICENSE") ; includes.h
 | 
				
			||||||
                   license:openssl))))
 | 
					                   license:openssl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public nsd
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "nsd")
 | 
				
			||||||
 | 
					    (version "4.1.25")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://www.nlnetlabs.nl/downloads/nsd/nsd-"
 | 
				
			||||||
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "0zyzjd3wmq258jiry62ci1z23qfd0rc5ggnpmybc60xvpddgynwg"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:configure-flags
 | 
				
			||||||
 | 
					       (list "--enable-pie"             ; fully benefit from ASLR
 | 
				
			||||||
 | 
					             "--enable-ratelimit"
 | 
				
			||||||
 | 
					             "--enable-recvmmsg"
 | 
				
			||||||
 | 
					             "--enable-relro-now"       ; protect GOT and .dtor areas
 | 
				
			||||||
 | 
					             "--disable-radix-tree"
 | 
				
			||||||
 | 
					             (string-append "--with-libevent="
 | 
				
			||||||
 | 
					                            (assoc-ref %build-inputs "libevent"))
 | 
				
			||||||
 | 
					             (string-append "--with-ssl="
 | 
				
			||||||
 | 
					                            (assoc-ref %build-inputs "openssl"))
 | 
				
			||||||
 | 
					             "--with-configdir=/etc"
 | 
				
			||||||
 | 
					             "--with-nsd_conf_file=/etc/nsd/nsd.conf"
 | 
				
			||||||
 | 
					             "--with-logfile=/var/log/nsd.log"
 | 
				
			||||||
 | 
					             "--with-pidfile=/var/db/nsd/nsd.pid"
 | 
				
			||||||
 | 
					             "--with-dbfile=/var/db/nsd/nsd.db"
 | 
				
			||||||
 | 
					             "--with-zonesdir=/etc/nsd"
 | 
				
			||||||
 | 
					             "--with-xfrdfile=/var/db/nsd/xfrd.state"
 | 
				
			||||||
 | 
					             "--with-zonelistfile=/var/db/nsd/zone.list")
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-before 'configure 'patch-installation-paths
 | 
				
			||||||
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
 | 
					                    (doc (string-append out "/share/doc/" ,name "-" ,version)))
 | 
				
			||||||
 | 
					               ;; The ‘make install’ target tries to create the parent
 | 
				
			||||||
 | 
					               ;; directories of run-time things like ‘pidfile’ above, and
 | 
				
			||||||
 | 
					               ;; useless empty directories like 'configdir'.  Remove such
 | 
				
			||||||
 | 
					               ;; '$(INSTALL)' lines and install the example configuration file
 | 
				
			||||||
 | 
					               ;; in an appropriate location.
 | 
				
			||||||
 | 
					               (substitute* "Makefile.in"
 | 
				
			||||||
 | 
					                 ((".*INSTALL.*\\$\\((config|pid|xfr|db)dir" command)
 | 
				
			||||||
 | 
					                  (string-append "#" command))
 | 
				
			||||||
 | 
					                 (("\\$\\(nsdconfigfile\\)\\.sample" file-name)
 | 
				
			||||||
 | 
					                  (string-append doc "/examples/" file-name)))
 | 
				
			||||||
 | 
					               #t))))
 | 
				
			||||||
 | 
					       #:tests? #f))                    ; no tests
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("libevent" ,libevent)
 | 
				
			||||||
 | 
					       ("openssl" ,openssl)))
 | 
				
			||||||
 | 
					    (home-page "https://www.nlnetlabs.nl/projects/nsd/about/")
 | 
				
			||||||
 | 
					    (synopsis "Authoritative DNS name server")
 | 
				
			||||||
 | 
					    (description "@dfn{NSD}, short for Name Server Daemon, is an authoritative
 | 
				
			||||||
 | 
					name server for the Domain Name System (@dfn{DNS}).  It aims to be a fast and
 | 
				
			||||||
 | 
					RFC-compliant nameserver.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NSD uses zone information compiled via @command{zonec} into a binary database
 | 
				
			||||||
 | 
					file (@file{nsd.db}).  This allows fast startup of the name service daemon and
 | 
				
			||||||
 | 
					allows syntax-structural errors in zone files to be flagged at compile time,
 | 
				
			||||||
 | 
					before being made available to NSD service itself.  However, most traditional
 | 
				
			||||||
 | 
					BIND-style zone files can be directly imported into NSD without modification.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The collection of programs and processes that make up NSD are designed so that
 | 
				
			||||||
 | 
					the daemon itself runs as a non-privileged user and can be easily configured to
 | 
				
			||||||
 | 
					run in a @code{chroot} jail, thus making any security flaws in NSD less likely
 | 
				
			||||||
 | 
					to result in system-wide compromise.")
 | 
				
			||||||
 | 
					    (license (list license:bsd-3))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public unbound
 | 
					(define-public unbound
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "unbound")
 | 
					    (name "unbound")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -458,7 +458,7 @@ on stdout instead of using a socket as the Emacsclient does.")
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append
 | 
					             (uri (string-append
 | 
				
			||||||
                   "https://github.com/magit/magit/releases/download/"
 | 
					                   "https://github.com/magit/magit/releases/download/"
 | 
				
			||||||
                   version "/" name "-" version ".tar.gz"))
 | 
					                   version "/magit-" version ".tar.gz"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "1ygaah3dd3nxpyd17297xgvdcgr7pgzzwlmpnmchki0kiwgg3sbc"))))
 | 
					               "1ygaah3dd3nxpyd17297xgvdcgr7pgzzwlmpnmchki0kiwgg3sbc"))))
 | 
				
			||||||
| 
						 | 
					@ -782,9 +782,6 @@ different tools.  It highlights errors and warnings inline in the buffer, and
 | 
				
			||||||
provides an optional IDE-like error list.")
 | 
					provides an optional IDE-like error list.")
 | 
				
			||||||
    (license license:gpl3+)))                     ;+GFDLv1.3+ for the manual
 | 
					    (license license:gpl3+)))                     ;+GFDLv1.3+ for the manual
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public flycheck
 | 
					 | 
				
			||||||
  (deprecated-package "flycheck" emacs-flycheck))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; Web browsing.
 | 
					;;; Web browsing.
 | 
				
			||||||
| 
						 | 
					@ -1066,9 +1063,6 @@ light user interface.")
 | 
				
			||||||
    (home-page "https://www.gnu.org/software/emms/")
 | 
					    (home-page "https://www.gnu.org/software/emms/")
 | 
				
			||||||
    (license license:gpl3+)))
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public emms
 | 
					 | 
				
			||||||
  (deprecated-package "emacs-emms" emacs-emms))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public emacs-emms-player-mpv
 | 
					(define-public emacs-emms-player-mpv
 | 
				
			||||||
  ;; A new mpv backend is included in Emms from 5.0.
 | 
					  ;; A new mpv backend is included in Emms from 5.0.
 | 
				
			||||||
  (deprecated-package "emacs-emms-player-mpv" emacs-emms))
 | 
					  (deprecated-package "emacs-emms-player-mpv" emacs-emms))
 | 
				
			||||||
| 
						 | 
					@ -1088,7 +1082,7 @@ light user interface.")
 | 
				
			||||||
         "0ifszi930pnaxk1x8pcydmvnp06868gc7nfx14q17zbajbx735k6"))))
 | 
					         "0ifszi930pnaxk1x8pcydmvnp06868gc7nfx14q17zbajbx735k6"))))
 | 
				
			||||||
    (build-system emacs-build-system)
 | 
					    (build-system emacs-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     `(("emms" ,emms)))
 | 
					     `(("emms" ,emacs-emms)))
 | 
				
			||||||
    (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
 | 
					    (home-page "https://github.com/momomo5717/emms-mode-line-cycle")
 | 
				
			||||||
    (synopsis "Display the EMMS mode line as a ticker")
 | 
					    (synopsis "Display the EMMS mode line as a ticker")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -2722,9 +2716,6 @@ view the build status of those servers' build jobs, and possibly to trigger
 | 
				
			||||||
build jobs.")
 | 
					build jobs.")
 | 
				
			||||||
    (license license:gpl3+)))
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public butler
 | 
					 | 
				
			||||||
  (deprecated-package "emacs-butler" emacs-butler))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public emacs-company
 | 
					(define-public emacs-company
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "emacs-company")
 | 
					    (name "emacs-company")
 | 
				
			||||||
| 
						 | 
					@ -2874,9 +2865,6 @@ automatically inserts a Unicode opening or closing quotation mark, depending
 | 
				
			||||||
on context.")
 | 
					on context.")
 | 
				
			||||||
    (license license:gpl3+)))
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public typo
 | 
					 | 
				
			||||||
  (deprecated-package "emacs-typo" emacs-typo))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public emacs-scheme-complete
 | 
					(define-public emacs-scheme-complete
 | 
				
			||||||
  (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
 | 
					  (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
| 
						 | 
					@ -6994,8 +6982,8 @@ Emacs.")
 | 
				
			||||||
               (substitute* "bin/ert-runner"
 | 
					               (substitute* "bin/ert-runner"
 | 
				
			||||||
                 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
 | 
					                 (("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
 | 
				
			||||||
                  (string-append "ERT_RUNNER=\"" out
 | 
					                  (string-append "ERT_RUNNER=\"" out
 | 
				
			||||||
                                 "/share/emacs/site-lisp/guix.d/"
 | 
					                                 "/share/emacs/site-lisp/guix.d/ert-runner-"
 | 
				
			||||||
                                 ,name "-" ,version)))
 | 
					                                 ,version)))
 | 
				
			||||||
               (install-file "bin/ert-runner" (string-append out "/bin"))
 | 
					               (install-file "bin/ert-runner" (string-append out "/bin"))
 | 
				
			||||||
               (wrap-program (string-append out "/bin/ert-runner")
 | 
					               (wrap-program (string-append out "/bin/ert-runner")
 | 
				
			||||||
                 (list "EMACSLOADPATH" ":" 'prefix
 | 
					                 (list "EMACSLOADPATH" ":" 'prefix
 | 
				
			||||||
| 
						 | 
					@ -8019,7 +8007,7 @@ supports multiple backends such as @code{vlc}, @code{mpg123},
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
                    "https://github.com/Groovy-Emacs-Modes/" name
 | 
					                    "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes"
 | 
				
			||||||
                    "/archive/" version ".tar.gz"))
 | 
					                    "/archive/" version ".tar.gz"))
 | 
				
			||||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
					              (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
| 
						 | 
					@ -8061,9 +8049,6 @@ navigation with the grails mode.")
 | 
				
			||||||
@kbd{C-<} to jump to the next and previous slide.")
 | 
					@kbd{C-<} to jump to the next and previous slide.")
 | 
				
			||||||
      (license license:gpl3+))))
 | 
					      (license license:gpl3+))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public org-tree-slide
 | 
					 | 
				
			||||||
  (deprecated-package "emacs-org-tree-slide" emacs-org-tree-slide))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public emacs-scratch-el
 | 
					(define-public emacs-scratch-el
 | 
				
			||||||
  (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
 | 
					  (let ((commit "2cdf2b841ce7a0987093f65b0cc431947549f897")
 | 
				
			||||||
        (revision "1"))
 | 
					        (revision "1"))
 | 
				
			||||||
| 
						 | 
					@ -10425,8 +10410,8 @@ perform regression test for packages that provide font-lock rules.")
 | 
				
			||||||
      (license license:gpl3+))))
 | 
					      (license license:gpl3+))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public emacs-racket-mode
 | 
					(define-public emacs-racket-mode
 | 
				
			||||||
  (let ((commit "92c33487f6c707880ac3f6169e7ea65ddffd1463")
 | 
					  (let ((commit "b977873e6128f8399432dcd60cc39f6a6f803d9c")
 | 
				
			||||||
        (revision "1"))
 | 
					        (revision "2"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "emacs-racket-mode")
 | 
					      (name "emacs-racket-mode")
 | 
				
			||||||
      (version (string-append "0.0.2" "-" revision "."
 | 
					      (version (string-append "0.0.2" "-" revision "."
 | 
				
			||||||
| 
						 | 
					@ -10440,7 +10425,7 @@ perform regression test for packages that provide font-lock rules.")
 | 
				
			||||||
         (file-name (string-append name "-" version "-checkout"))
 | 
					         (file-name (string-append name "-" version "-checkout"))
 | 
				
			||||||
         (sha256
 | 
					         (sha256
 | 
				
			||||||
          (base32
 | 
					          (base32
 | 
				
			||||||
           "19q6ym10gj2xdzzcgh3wdbq1xv8cv7nlrhv2b0bjvvdjzhiki472"))))
 | 
					           "0vp4bbbplqvmnhjpl6ajrlydmrhqzil56cfbs18m5c5fddx0zlh7"))))
 | 
				
			||||||
      (build-system emacs-build-system)
 | 
					      (build-system emacs-build-system)
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
       `(#:include '("\\.el$" "\\.rkt$")))
 | 
					       `(#:include '("\\.el$" "\\.rkt$")))
 | 
				
			||||||
| 
						 | 
					@ -12277,3 +12262,96 @@ execute its commands and resize images.")
 | 
				
			||||||
      (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
 | 
					      (description "Synosaurus is a thesaurus fontend for Emacs with pluggable
 | 
				
			||||||
backends, including the @command{wordnet} offline backend.")
 | 
					backends, including the @command{wordnet} offline backend.")
 | 
				
			||||||
      (license license:gpl3+))))
 | 
					      (license license:gpl3+))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public emacs-all-the-icons
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "emacs-all-the-icons")
 | 
				
			||||||
 | 
					    (version "3.2.0")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method git-fetch)
 | 
				
			||||||
 | 
					       (uri (git-reference
 | 
				
			||||||
 | 
					             (url "https://github.com/domtronn/all-the-icons.el.git")
 | 
				
			||||||
 | 
					             (commit version)))
 | 
				
			||||||
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn"))))
 | 
				
			||||||
 | 
					    (build-system emacs-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:include '("\\.el$" "^data/" "^fonts/")
 | 
				
			||||||
 | 
					       ;; Compiling "test/" fails with "Symbol’s value as variable is void:
 | 
				
			||||||
 | 
					       ;; all-the-icons--root-code".  Ignoring tests.
 | 
				
			||||||
 | 
					       #:exclude '("^test/")
 | 
				
			||||||
 | 
					       #:tests? #f))
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("f" ,emacs-f)
 | 
				
			||||||
 | 
					       ("memoize" ,emacs-memoize)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/domtronn/all-the-icons.el")
 | 
				
			||||||
 | 
					    (synopsis "Collect icon fonts and propertize them within Emacs")
 | 
				
			||||||
 | 
					    (description "All-the-icons is a utility package to collect various icon
 | 
				
			||||||
 | 
					fonts and propertize them within Emacs.  Icon fonts allow you to propertize
 | 
				
			||||||
 | 
					and format icons the same way you would normal text.  This enables things such
 | 
				
			||||||
 | 
					as better scaling of and anti aliasing of the icons.")
 | 
				
			||||||
 | 
					    ;; Package is released under Expat license.  Elisp files are licensed
 | 
				
			||||||
 | 
					    ;; under GPL3+.  Fonts come with various licenses: Expat for
 | 
				
			||||||
 | 
					    ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for
 | 
				
			||||||
 | 
					    ;; "material-design-icons.ttf", and SIL OFL 1.1 for "fontawesome.ttf",
 | 
				
			||||||
 | 
					    ;; "ocitcons.ttf" and "weathericons.ttf".
 | 
				
			||||||
 | 
					    (license
 | 
				
			||||||
 | 
					     (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public emacs-powerline
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "emacs-powerline")
 | 
				
			||||||
 | 
					    (version "2.4")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method git-fetch)
 | 
				
			||||||
 | 
					       (uri (git-reference
 | 
				
			||||||
 | 
					             (url "https://github.com/milkypostman/powerline.git")
 | 
				
			||||||
 | 
					             (commit version)))
 | 
				
			||||||
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1hp3xp18943n0rlggz55150020ivw8gvi1vyxkr4z8xhpwq4gaar"))))
 | 
				
			||||||
 | 
					    (build-system emacs-build-system)
 | 
				
			||||||
 | 
					    (home-page "https://github.com/milkypostman/powerline/")
 | 
				
			||||||
 | 
					    (synopsis "Mode-line plugin for Emacs")
 | 
				
			||||||
 | 
					    (description "Powerline is a utility plugin which allows you to create
 | 
				
			||||||
 | 
					a better-looking, more functional Emacs mode-line.  A collection of predefined
 | 
				
			||||||
 | 
					themes comes with the package.")
 | 
				
			||||||
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public emacs-spaceline
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "emacs-spaceline")
 | 
				
			||||||
 | 
					    (version "2.0.1")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method git-fetch)
 | 
				
			||||||
 | 
					       (uri (git-reference
 | 
				
			||||||
 | 
					             (url "https://github.com/TheBB/spaceline.git")
 | 
				
			||||||
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1q8r95zfrh0vxna5ml2pq9b9f66clfqcl4d2qy2aizkvzyxg6skl"))))
 | 
				
			||||||
 | 
					    (build-system emacs-build-system)
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("dash" ,emacs-dash)
 | 
				
			||||||
 | 
					       ("powerline" ,emacs-powerline)
 | 
				
			||||||
 | 
					       ("s" ,emacs-s)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/TheBB/spaceline")
 | 
				
			||||||
 | 
					    (synopsis "Powerline theme from Spacemacs")
 | 
				
			||||||
 | 
					    (description "Spaceline provides Spacemacs' mode-line theme.
 | 
				
			||||||
 | 
					This package provides features for three kinds of users.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@itemize
 | 
				
			||||||
 | 
					@item You just want to use the Spacemacs mode-line theme and forget about it.
 | 
				
			||||||
 | 
					@item You want to use something similar to the Spacemacs mode-line theme, but
 | 
				
			||||||
 | 
					with a handful of easy tweaks.
 | 
				
			||||||
 | 
					@item You want an easy-to-use library for building your own mode-line from
 | 
				
			||||||
 | 
					scratch, and you think the Spacemacs theme looks good.
 | 
				
			||||||
 | 
					@end itemize")
 | 
				
			||||||
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,6 +4,7 @@
 | 
				
			||||||
;;; Copyright © 2016 David Craven <david@craven.ch>
 | 
					;;; Copyright © 2016 David Craven <david@craven.ch>
 | 
				
			||||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -27,6 +28,7 @@
 | 
				
			||||||
  #:use-module (guix svn-download)
 | 
					  #:use-module (guix svn-download)
 | 
				
			||||||
  #:use-module (guix git-download)
 | 
					  #:use-module (guix git-download)
 | 
				
			||||||
  #:use-module ((guix licenses) #:prefix license:)
 | 
					  #:use-module ((guix licenses) #:prefix license:)
 | 
				
			||||||
 | 
					  #:use-module (guix build-system cmake)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
  #:use-module (guix build-system trivial)
 | 
					  #:use-module (guix build-system trivial)
 | 
				
			||||||
  #:use-module (guix build utils)
 | 
					  #:use-module (guix build utils)
 | 
				
			||||||
| 
						 | 
					@ -1104,3 +1106,40 @@ and displaying decoded target responses.
 | 
				
			||||||
@end enumerate")
 | 
					@end enumerate")
 | 
				
			||||||
    (home-page "https://www.freecalypso.org/")
 | 
					    (home-page "https://www.freecalypso.org/")
 | 
				
			||||||
    (license license:public-domain)))
 | 
					    (license license:public-domain)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public stlink
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "stlink")
 | 
				
			||||||
 | 
					    (version "1.5.1")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://github.com/texane/stlink/archive/v"
 | 
				
			||||||
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
 | 
					       (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "01z1cz1a5xbbhd163qrqcgp4bi1k145pb80jmwdz50g7sfzmy570"))))
 | 
				
			||||||
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:tests? #f                      ;no tests
 | 
				
			||||||
 | 
					       #:configure-flags
 | 
				
			||||||
 | 
					       (let* ((out (assoc-ref %outputs "out"))
 | 
				
			||||||
 | 
					              (etc (in-vicinity out "etc"))
 | 
				
			||||||
 | 
					              (modprobe (in-vicinity etc "modprobe.d"))
 | 
				
			||||||
 | 
					              (udev-rules (in-vicinity etc "udev/rules.d")))
 | 
				
			||||||
 | 
					         (list (string-append "-DSTLINK_UDEV_RULES_DIR=" udev-rules)
 | 
				
			||||||
 | 
					               (string-append "-DSTLINK_MODPROBED_DIR=" modprobe)))))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("libusb" ,libusb)))
 | 
				
			||||||
 | 
					    (synopsis "Programmer for STM32 Discovery boards")
 | 
				
			||||||
 | 
					    (description "This package provides a firmware programmer for the STM32
 | 
				
			||||||
 | 
					Discovery boards.  It supports two versions of the chip: ST-LINK/V1 (on
 | 
				
			||||||
 | 
					STM32VL discovery kits) and ST-LINK/V2 (on STM32L discovery and later kits).
 | 
				
			||||||
 | 
					Two different transport layers are used: ST-LINK/V1 uses SCSI passthru
 | 
				
			||||||
 | 
					commands over USB, and ST-LINK/V2 and ST-LINK/V2-1 (seen on Nucleo boards) use
 | 
				
			||||||
 | 
					raw USB commands.")
 | 
				
			||||||
 | 
					    (home-page "https://github.com/texane/stlink")
 | 
				
			||||||
 | 
					    ;; The flashloaders/stm32l0x.s and flashloaders/stm32lx.s source files are
 | 
				
			||||||
 | 
					    ;; licensed under the GPLv2+.
 | 
				
			||||||
 | 
					    (license (list license:bsd-3 license:gpl2+))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1055,15 +1055,16 @@ emulation community.  It provides highly accurate emulation.")
 | 
				
			||||||
(define-public retroarch
 | 
					(define-public retroarch
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "retroarch")
 | 
					    (name "retroarch")
 | 
				
			||||||
    (version "1.7.4")
 | 
					    (version "1.7.5")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
       (uri (string-append "https://github.com/libretro/RetroArch/archive/v"
 | 
					       (uri (git-reference
 | 
				
			||||||
                           version ".tar.gz"))
 | 
					             (url "https://github.com/libretro/RetroArch.git")
 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0h6y2hpjg4b470jvn9ghwp0k3a527sbb6xhia17frlm9w9v5028w"))))
 | 
					        (base32 "1jfpgl34jjxn3dvxd1kd564swkw7v98hnn562v998b7vllz3dxdm"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f                      ; no tests
 | 
					     `(#:tests? #f                      ; no tests
 | 
				
			||||||
| 
						 | 
					@ -1184,7 +1185,7 @@ play them on systems for which they were never designed!")
 | 
				
			||||||
(define-public mame
 | 
					(define-public mame
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "mame")
 | 
					    (name "mame")
 | 
				
			||||||
    (version "0.201")
 | 
					    (version "0.202")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -1194,7 +1195,7 @@ play them on systems for which they were never designed!")
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "00whiig4ld3d4fkl34q48vlf28ygvvp5g7fp0rb5n31ymhl4kajk"))
 | 
					         "1v9gm124p65nbj678gfkcvwphp9qc15ky2p12ca6g3rllma94di5"))
 | 
				
			||||||
       (modules '((guix build utils)))
 | 
					       (modules '((guix build utils)))
 | 
				
			||||||
       (snippet
 | 
					       (snippet
 | 
				
			||||||
        ;; Remove bundled libraries.
 | 
					        ;; Remove bundled libraries.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,6 +4,7 @@
 | 
				
			||||||
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
 | 
					;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
 | 
				
			||||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -268,13 +269,23 @@ Libraries with some extra bells and whistles.")
 | 
				
			||||||
         (add-before 'configure 'set-system-actions
 | 
					         (add-before 'configure 'set-system-actions
 | 
				
			||||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
					           (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
             (let ((xkeyboard (assoc-ref inputs "xkeyboard-config"))
 | 
					             (let ((xkeyboard (assoc-ref inputs "xkeyboard-config"))
 | 
				
			||||||
                   (utils     (assoc-ref inputs "util-linux")))
 | 
					                   (setxkbmap (assoc-ref inputs "setxkbmap"))
 | 
				
			||||||
 | 
					                   (utils     (assoc-ref inputs "util-linux"))
 | 
				
			||||||
 | 
					                   (libc      (assoc-ref inputs "libc")))
 | 
				
			||||||
               ;; We need to patch the path to 'base.lst' to be able
 | 
					               ;; We need to patch the path to 'base.lst' to be able
 | 
				
			||||||
               ;; to switch the keyboard layout in E.
 | 
					               ;; to switch the keyboard layout in E.
 | 
				
			||||||
               (substitute* "src/modules/xkbswitch/e_mod_parse.c"
 | 
					               (substitute* (list "src/modules/xkbswitch/e_mod_parse.c"
 | 
				
			||||||
 | 
					                                  "src/modules/wizard/page_011.c")
 | 
				
			||||||
                 (("/usr/share/X11/xkb/rules/xorg.lst")
 | 
					                 (("/usr/share/X11/xkb/rules/xorg.lst")
 | 
				
			||||||
                  (string-append xkeyboard
 | 
					                  (string-append xkeyboard
 | 
				
			||||||
                                 "/share/X11/xkb/rules/base.lst")))
 | 
					                                 "/share/X11/xkb/rules/base.lst")))
 | 
				
			||||||
 | 
					               (substitute* "src/bin/e_xkb.c"
 | 
				
			||||||
 | 
					                 (("\"setxkbmap \"")
 | 
				
			||||||
 | 
					                  (string-append "\"" setxkbmap "/bin/setxkbmap \"")))
 | 
				
			||||||
 | 
					               (substitute* (list "src/bin/e_intl.c"
 | 
				
			||||||
 | 
					                                  "src/modules/conf_intl/e_int_config_intl.c"
 | 
				
			||||||
 | 
					                                  "src/modules/wizard/page_010.c")
 | 
				
			||||||
 | 
					                 (("locale -a") (string-append libc "/bin/locale -a")))
 | 
				
			||||||
               (substitute* "src/modules/everything/evry_plug_apps.c"
 | 
					               (substitute* "src/modules/everything/evry_plug_apps.c"
 | 
				
			||||||
                 (("/usr/bin/") ""))
 | 
					                 (("/usr/bin/") ""))
 | 
				
			||||||
               (substitute* "configure"
 | 
					               (substitute* "configure"
 | 
				
			||||||
| 
						 | 
					@ -298,6 +309,7 @@ Libraries with some extra bells and whistles.")
 | 
				
			||||||
       ("libxcb" ,libxcb)
 | 
					       ("libxcb" ,libxcb)
 | 
				
			||||||
       ("libxext" ,libxext)
 | 
					       ("libxext" ,libxext)
 | 
				
			||||||
       ("linux-pam" ,linux-pam)
 | 
					       ("linux-pam" ,linux-pam)
 | 
				
			||||||
 | 
					       ("setxkbmap" ,setxkbmap)
 | 
				
			||||||
       ("xcb-util-keysyms" ,xcb-util-keysyms)
 | 
					       ("xcb-util-keysyms" ,xcb-util-keysyms)
 | 
				
			||||||
       ("xkeyboard-config" ,xkeyboard-config)))
 | 
					       ("xkeyboard-config" ,xkeyboard-config)))
 | 
				
			||||||
    (home-page "https://www.enlightenment.org/about-enlightenment")
 | 
					    (home-page "https://www.enlightenment.org/about-enlightenment")
 | 
				
			||||||
| 
						 | 
					@ -452,19 +464,22 @@ and in creating applications based on the Enlightenment Foundation Library suite
 | 
				
			||||||
    (home-page "http://smhouston.us/ephoto/")
 | 
					    (home-page "http://smhouston.us/ephoto/")
 | 
				
			||||||
    (synopsis "EFL image viewer/editor/manipulator/slideshow creator")
 | 
					    (synopsis "EFL image viewer/editor/manipulator/slideshow creator")
 | 
				
			||||||
    (description "Ephoto is an image viewer and editor written using the
 | 
					    (description "Ephoto is an image viewer and editor written using the
 | 
				
			||||||
@dfn{Enlightenment Foundation Libraries} (EFL).  It focuses on simplicity and ease
 | 
					@dfn{Enlightenment Foundation Libraries} (EFL).  It focuses on simplicity and
 | 
				
			||||||
of use, while taking advantage of the speed and small footprint the EFL provide.
 | 
					ease of use, while taking advantage of the speed and small footprint the EFL
 | 
				
			||||||
 | 
					provide.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Ephoto’s features include:
 | 
					Ephoto’s features include:
 | 
				
			||||||
@enumerate
 | 
					@enumerate
 | 
				
			||||||
@item Browsing the filesystem and displaying images in an easy to use grid view.
 | 
					@item Browsing the file system and displaying images in an easy-to-use grid view.
 | 
				
			||||||
@item Browsing images in a single image view format.
 | 
					@item Browsing images in a single image view format.
 | 
				
			||||||
@item Viewing images in a slideshow.
 | 
					@item Viewing images in a slideshow.
 | 
				
			||||||
@item Editing your image with features such as cropping, auto enhance,
 | 
					@item Editing your image with features such as cropping, auto enhance,
 | 
				
			||||||
blurring, sharpening, brightness/contrast/gamma adjustments, hue/saturation/value
 | 
					blurring, sharpening, brightness/contrast/gamma adjustments, hue/saturation/value
 | 
				
			||||||
adjustments, and color level adjustment.
 | 
					adjustments, and color level adjustment.
 | 
				
			||||||
@item Applying artistic filters to your image such as black and white and old photo.
 | 
					@item Applying artistic filters to your image such as black and white and old
 | 
				
			||||||
@item Drag And Drop along with file operations to easy maintain your photo directories.
 | 
					photo.
 | 
				
			||||||
 | 
					@item Drag And Drop along with file operations to easily maintain your photo
 | 
				
			||||||
 | 
					directories.
 | 
				
			||||||
@end enumerate\n")
 | 
					@end enumerate\n")
 | 
				
			||||||
    (license (list
 | 
					    (license (list
 | 
				
			||||||
               license:bsd-2 ; Ephoto's thumbnailing code
 | 
					               license:bsd-2 ; Ephoto's thumbnailing code
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -107,7 +107,7 @@ single file can be mounted.")
 | 
				
			||||||
(define-public disorderfs
 | 
					(define-public disorderfs
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "disorderfs")
 | 
					    (name "disorderfs")
 | 
				
			||||||
    (version "0.5.3")
 | 
					    (version "0.5.4")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -117,7 +117,7 @@ single file can be mounted.")
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1nmhfvxpvz3xsfxl9wqnh6r2l5m7hjq6n0vpblsl5xdcvwaqcf50"))))
 | 
					         "1mw4ix9h17ikki8p2rxdvzp87rcm1c7by5lvfn5gxlxr7hlj9f8g"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)))
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1210,7 +1210,7 @@ ExtraLight, Light, Book, Medium, Semibold, Bold & ExtraBold")
 | 
				
			||||||
(define-public font-culmus
 | 
					(define-public font-culmus
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "font-culmus")
 | 
					    (name "font-culmus")
 | 
				
			||||||
    (version "0.132")
 | 
					    (version "0.133")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -1219,7 +1219,7 @@ ExtraLight, Light, Book, Medium, Semibold, Bold & ExtraBold")
 | 
				
			||||||
                           version ".tar.gz"))
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1djxalm26r7bcq33ckmfa15xfs6pmqzvcl64d5lqa1dl01bl4j4z"))))
 | 
					         "02akysgsqhi15cck54xcacm16q5raf4l7shgb8fnj7xr3c1pbfyp"))))
 | 
				
			||||||
    (build-system font-build-system)
 | 
					    (build-system font-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -349,7 +349,7 @@ of a the system to know what users are logged in, and where.")
 | 
				
			||||||
(define-public packagekit
 | 
					(define-public packagekit
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "packagekit")
 | 
					    (name "packagekit")
 | 
				
			||||||
    (version "1.1.10")
 | 
					    (version "1.1.11")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append
 | 
					             (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -358,7 +358,7 @@ of a the system to know what users are logged in, and where.")
 | 
				
			||||||
                   "PackageKit-" version ".tar.xz"))
 | 
					                   "PackageKit-" version ".tar.xz"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "1msfmb22cm4s3l6vsbr86b8s0v897sy6gcga3qg87z7640a0di2b"))))
 | 
					               "0fi6wn54y03zh5sn92nmmxkh4cd8yn44cyk0l8phw60ivfwmkh1q"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f
 | 
					     `(#:tests? #f
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -397,7 +397,7 @@ support.")
 | 
				
			||||||
(define-public tiled
 | 
					(define-public tiled
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "tiled")
 | 
					    (name "tiled")
 | 
				
			||||||
    (version "1.1.6")
 | 
					    (version "1.2.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://github.com/bjorn/tiled/archive/v"
 | 
					              (uri (string-append "https://github.com/bjorn/tiled/archive/v"
 | 
				
			||||||
| 
						 | 
					@ -405,7 +405,7 @@ support.")
 | 
				
			||||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
					              (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "194ciw8688mikndvxivzb8ql5vm405pkwnn4srzm7ymwfc4xygb0"))))
 | 
					                "13dlf5kzvhhjkhy19118x3diakmraz4m9kxrsdam8dms6xivb6lp"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("qtbase" ,qtbase)
 | 
					     `(("qtbase" ,qtbase)
 | 
				
			||||||
| 
						 | 
					@ -1256,17 +1256,24 @@ a 2D editor view.")
 | 
				
			||||||
(define-public guile-chickadee
 | 
					(define-public guile-chickadee
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "guile-chickadee")
 | 
					    (name "guile-chickadee")
 | 
				
			||||||
    (version "0.2.0")
 | 
					    (version "0.3.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://files.dthompson.us/chickadee/"
 | 
					              (uri (string-append "https://files.dthompson.us/chickadee/"
 | 
				
			||||||
                                  "chickadee-" version ".tar.gz"))
 | 
					                                  "chickadee-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "10qx0ha5gsayybd186r1my7vc7rf5fbzp9jvmc4xg9a8wz8rqhah"))))
 | 
					                "0jl223dybsj5gvs7z4q60gnafj1b7kgi5mx0kj58m5knrp8qwg5h"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:make-flags '("GUILE_AUTO_COMPILE=0")))
 | 
					     '(#:make-flags '("GUILE_AUTO_COMPILE=0")
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-before 'configure 'patch-godir
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             ;; Install compiled '.go' files into the site directory.
 | 
				
			||||||
 | 
					             (substitute* "Makefile.in"
 | 
				
			||||||
 | 
					               (("/ccache") "/site-ccache")))))))
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     `(("guile-opengl" ,guile-opengl)
 | 
					     `(("guile-opengl" ,guile-opengl)
 | 
				
			||||||
       ("guile-sdl2" ,guile-sdl2)))
 | 
					       ("guile-sdl2" ,guile-sdl2)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -364,6 +364,59 @@ played.  Freedoom complements the Doom engine with free levels, artwork, sound
 | 
				
			||||||
effects and music to make a completely free game.")
 | 
					effects and music to make a completely free game.")
 | 
				
			||||||
   (license license:bsd-3)))
 | 
					   (license license:bsd-3)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public freedroidrpg
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "freedroidrpg")
 | 
				
			||||||
 | 
					    (version "0.16.1")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "http://ftp.osuosl.org/pub/freedroid/"
 | 
				
			||||||
 | 
					                           "freedroidRPG-" (version-major+minor version) "/"
 | 
				
			||||||
 | 
					                           "freedroidRPG-" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "0n4kn38ncmcy3lrxmq8fjry6c1z50z4q1zcqfig0j4jb0dsz2va2"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:configure-flags
 | 
				
			||||||
 | 
					       (list
 | 
				
			||||||
 | 
					        (string-append "CFLAGS="
 | 
				
			||||||
 | 
					                       "-I" (assoc-ref %build-inputs "sdl-gfx") "/include/SDL "
 | 
				
			||||||
 | 
					                       "-I" (assoc-ref %build-inputs "sdl-image") "/include/SDL "
 | 
				
			||||||
 | 
					                       "-I" (assoc-ref %build-inputs "sdl-mixer") "/include/SDL")
 | 
				
			||||||
 | 
					        "--enable-opengl")
 | 
				
			||||||
 | 
					       ;; FIXME: the test suite fails with the following error output:
 | 
				
			||||||
 | 
					       ;;   4586 Segmentation fault      env SDL_VIDEODRIVER=dummy \
 | 
				
			||||||
 | 
					       ;;   SDL_AUDIODRIVER=dummy ./src/freedroidRPG -nb text
 | 
				
			||||||
 | 
					       #:tests? #f))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("glu" ,glu)
 | 
				
			||||||
 | 
					       ("libjpeg" ,libjpeg)
 | 
				
			||||||
 | 
					       ("libogg" ,libogg)
 | 
				
			||||||
 | 
					       ("libpng" ,libpng)
 | 
				
			||||||
 | 
					       ("libvorbis" ,libvorbis)
 | 
				
			||||||
 | 
					       ("mesa" ,mesa)
 | 
				
			||||||
 | 
					       ("python" ,python-wrapper)
 | 
				
			||||||
 | 
					       ("sdl" ,sdl)
 | 
				
			||||||
 | 
					       ("sdl-gfx" ,sdl-gfx)
 | 
				
			||||||
 | 
					       ("sdl-image" ,sdl-image)
 | 
				
			||||||
 | 
					       ("sdl-mixer" ,sdl-mixer)
 | 
				
			||||||
 | 
					       ("zlib" ,zlib)))
 | 
				
			||||||
 | 
					    (home-page "http://www.freedroid.org/")
 | 
				
			||||||
 | 
					    (synopsis "Isometric role-playing game against killer robots")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "Freedroid RPG is an @dfn{RPG} (Role-Playing Game) with isometric graphics.
 | 
				
			||||||
 | 
					The game tells the story of a world destroyed by a conflict between robots and
 | 
				
			||||||
 | 
					their human masters.  To restore peace to humankind, the player must complete
 | 
				
			||||||
 | 
					numerous quests while fighting off rebelling robots---either by taking control
 | 
				
			||||||
 | 
					of them, or by simply blasting them to pieces with melee and ranged weapons in
 | 
				
			||||||
 | 
					real-time combat.")
 | 
				
			||||||
 | 
					    (license (list license:expat        ; lua/
 | 
				
			||||||
 | 
					                   license:gpl3         ; src/gen_savestruct.py
 | 
				
			||||||
 | 
					                   license:gpl2+))))    ; the rest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public golly
 | 
					(define-public golly
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "golly")
 | 
					    (name "golly")
 | 
				
			||||||
| 
						 | 
					@ -2122,28 +2175,36 @@ on the screen and keyboard to display letters.")
 | 
				
			||||||
(define-public raincat
 | 
					(define-public raincat
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "raincat")
 | 
					    (name "raincat")
 | 
				
			||||||
    (version "1.1.1.3")
 | 
					    (version "1.2.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append
 | 
					       (uri (string-append "http://hackage.haskell.org/package/Raincat/"
 | 
				
			||||||
             "http://hackage.haskell.org/package/Raincat/Raincat-"
 | 
					                           "Raincat-" version ".tar.gz"))
 | 
				
			||||||
             version
 | 
					 | 
				
			||||||
             ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1aalh68h6799mv4vyg30zpskl5jkn6x2j1jza7p4lrflyifxzar8"))))
 | 
					         "10y9zi22m6hf13c9h8zd9vg7mljpwbw0r3djb6r80bna701fdf6c"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-after 'install 'wrap-executable
 | 
				
			||||||
 | 
					           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (let ((out (assoc-ref outputs "out")))
 | 
				
			||||||
 | 
					               (wrap-program (string-append out "/bin/raincat")
 | 
				
			||||||
 | 
					                 `("LD_LIBRARY_PATH" ":" =
 | 
				
			||||||
 | 
					                   (,(string-append (assoc-ref inputs "freeglut")
 | 
				
			||||||
 | 
					                                    "/lib"))))
 | 
				
			||||||
 | 
					               #t))))))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
 | 
					     `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
 | 
				
			||||||
       ("ghc-mtl" ,ghc-mtl)
 | 
					 | 
				
			||||||
       ("ghc-random" ,ghc-random)
 | 
					       ("ghc-random" ,ghc-random)
 | 
				
			||||||
       ("ghc-glut" ,ghc-glut)
 | 
					       ("ghc-glut" ,ghc-glut)
 | 
				
			||||||
       ("freeglut" ,freeglut)
 | 
					       ("freeglut" ,freeglut)
 | 
				
			||||||
       ("ghc-opengl" ,ghc-opengl)
 | 
					       ("ghc-opengl" ,ghc-opengl)
 | 
				
			||||||
       ("ghc-sdl" ,ghc-sdl)
 | 
					       ("ghc-sdl2" ,ghc-sdl2)
 | 
				
			||||||
       ("ghc-sdl-image" ,ghc-sdl-image)
 | 
					       ("ghc-sdl2-image" ,ghc-sdl2-image)
 | 
				
			||||||
       ("ghc-sdl-mixer" ,ghc-sdl-mixer)))
 | 
					       ("ghc-sdl2-mixer" ,ghc-sdl2-mixer)))
 | 
				
			||||||
    (home-page "http://www.bysusanlin.com/raincat/")
 | 
					    (home-page "http://www.bysusanlin.com/raincat/")
 | 
				
			||||||
    (synopsis "Puzzle game with a cat in lead role")
 | 
					    (synopsis "Puzzle game with a cat in lead role")
 | 
				
			||||||
    (description "Project Raincat is a game developed by Carnegie Mellon
 | 
					    (description "Project Raincat is a game developed by Carnegie Mellon
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,8 +24,10 @@
 | 
				
			||||||
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 | 
					;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-module (gnu packages geo)
 | 
					(define-module (gnu packages geo)
 | 
				
			||||||
 | 
					  #:use-module (guix build-system cmake)
 | 
				
			||||||
  #:use-module (guix build-system glib-or-gtk)
 | 
					  #:use-module (guix build-system glib-or-gtk)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
 | 
					  #:use-module (guix build-system go)
 | 
				
			||||||
  #:use-module (guix build-system python)
 | 
					  #:use-module (guix build-system python)
 | 
				
			||||||
  #:use-module (guix build-system scons)
 | 
					  #:use-module (guix build-system scons)
 | 
				
			||||||
  #:use-module (guix build-system r)
 | 
					  #:use-module (guix build-system r)
 | 
				
			||||||
| 
						 | 
					@ -37,6 +39,8 @@
 | 
				
			||||||
  #:use-module (gnu packages check)
 | 
					  #:use-module (gnu packages check)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
  #:use-module (gnu packages databases)
 | 
					  #:use-module (gnu packages databases)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages datastructures)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages documentation)
 | 
				
			||||||
  #:use-module (gnu packages fontutils)
 | 
					  #:use-module (gnu packages fontutils)
 | 
				
			||||||
  #:use-module (gnu packages cran)
 | 
					  #:use-module (gnu packages cran)
 | 
				
			||||||
  #:use-module (gnu packages glib)
 | 
					  #:use-module (gnu packages glib)
 | 
				
			||||||
| 
						 | 
					@ -44,6 +48,7 @@
 | 
				
			||||||
  #:use-module (gnu packages gtk)
 | 
					  #:use-module (gnu packages gtk)
 | 
				
			||||||
  #:use-module (gnu packages image)
 | 
					  #:use-module (gnu packages image)
 | 
				
			||||||
  #:use-module (gnu packages icu4c)
 | 
					  #:use-module (gnu packages icu4c)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages lua)
 | 
				
			||||||
  #:use-module (gnu packages pcre)
 | 
					  #:use-module (gnu packages pcre)
 | 
				
			||||||
  #:use-module (gnu packages perl)
 | 
					  #:use-module (gnu packages perl)
 | 
				
			||||||
  #:use-module (gnu packages pkg-config)
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
| 
						 | 
					@ -57,7 +62,7 @@
 | 
				
			||||||
(define-public geos
 | 
					(define-public geos
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "geos")
 | 
					    (name "geos")
 | 
				
			||||||
    (version "3.6.2")
 | 
					    (version "3.7.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "http://download.osgeo.org/geos/geos-"
 | 
					              (uri (string-append "http://download.osgeo.org/geos/geos-"
 | 
				
			||||||
| 
						 | 
					@ -65,7 +70,7 @@
 | 
				
			||||||
                                  ".tar.bz2"))
 | 
					                                  ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0ak5szby29l9l0vy43dm5z2g92xzdky20q1gc1kah1fnhkgi6nh4"))))
 | 
					                "1mrz778m6bd1x9k6sha5kld43kalhq79h2lynlx2jx7xjakl3gsg"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments `(#:phases
 | 
					    (arguments `(#:phases
 | 
				
			||||||
                 (modify-phases %standard-phases
 | 
					                 (modify-phases %standard-phases
 | 
				
			||||||
| 
						 | 
					@ -760,3 +765,224 @@ location queries to be run in SQL.")
 | 
				
			||||||
               license:bsd-3 ; files only say "BSD"
 | 
					               license:bsd-3 ; files only say "BSD"
 | 
				
			||||||
               ;; doc
 | 
					               ;; doc
 | 
				
			||||||
               license:cc-by-sa3.0))))
 | 
					               license:cc-by-sa3.0))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public tegola
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "tegola")
 | 
				
			||||||
 | 
					    (version "0.7.0")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method url-fetch)
 | 
				
			||||||
 | 
					              (uri (string-append
 | 
				
			||||||
 | 
					                     "https://github.com/go-spatial/tegola/archive/v"
 | 
				
			||||||
 | 
					                     version ".tar.gz"))
 | 
				
			||||||
 | 
					              (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "09vnzxfn0r70kmd776kcdfqxhzdj11syxa0b27z4ci1k367v7viw"))))
 | 
				
			||||||
 | 
					    (build-system go-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:import-path "github.com/go-spatial/tegola/cmd/tegola"
 | 
				
			||||||
 | 
					       #:unpack-path "github.com/go-spatial"
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-before 'build 'set-version
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (with-directory-excursion
 | 
				
			||||||
 | 
					               (string-append "src/github.com/go-spatial/tegola-" ,version)
 | 
				
			||||||
 | 
					               (substitute* '("cmd/tegola/cmd/root.go"
 | 
				
			||||||
 | 
					                              "cmd/tegola_lambda/main.go")
 | 
				
			||||||
 | 
					                 (("version not set") ,version)))
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
 | 
					         (add-before 'build 'rename-import
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (rename-file (string-append "src/github.com/go-spatial/tegola-" ,version)
 | 
				
			||||||
 | 
					                          "src/github.com/go-spatial/tegola")
 | 
				
			||||||
 | 
					             #t)))))
 | 
				
			||||||
 | 
					    (home-page "http://tegola.io")
 | 
				
			||||||
 | 
					    (synopsis "Vector tile server for maps")
 | 
				
			||||||
 | 
					    (description "Tegola is a free vector tile server written in Go.  Tegola
 | 
				
			||||||
 | 
					takes geospatial data and slices it into vector tiles that can be efficiently
 | 
				
			||||||
 | 
					delivered to any client.")
 | 
				
			||||||
 | 
					    (license (list
 | 
				
			||||||
 | 
					               license:expat
 | 
				
			||||||
 | 
					               ;; Some packages in vendor have other licenses
 | 
				
			||||||
 | 
					               license:asl2.0
 | 
				
			||||||
 | 
					               license:bsd-2
 | 
				
			||||||
 | 
					               license:bsd-3
 | 
				
			||||||
 | 
					               license:wtfpl2))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public imposm3
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "imposm3")
 | 
				
			||||||
 | 
					    (version "0.6.0-alpha.4")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					      (origin
 | 
				
			||||||
 | 
					        (method url-fetch)
 | 
				
			||||||
 | 
					        (uri (string-append "https://github.com/omniscale/imposm3/archive/v"
 | 
				
			||||||
 | 
					                            version ".tar.gz"))
 | 
				
			||||||
 | 
					    (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
 | 
					        (sha256
 | 
				
			||||||
 | 
					         (base32
 | 
				
			||||||
 | 
					          "06f0kwmv52yd5m9jlckqxqmkf0cnqy3hamakrvg9lspplyqrds80"))))
 | 
				
			||||||
 | 
					    (build-system go-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:import-path "github.com/omniscale/imposm3/cmd/imposm"
 | 
				
			||||||
 | 
					       #:unpack-path "github.com/omniscale"
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-before 'build 'rename-import
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (rename-file (string-append "src/github.com/omniscale/imposm3-" ,version)
 | 
				
			||||||
 | 
					                          "src/github.com/omniscale/imposm3")
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
 | 
					         (add-before 'build 'set-version
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (substitute* "src/github.com/omniscale/imposm3/version.go"
 | 
				
			||||||
 | 
					               (("0.0.0-dev") ,version))
 | 
				
			||||||
 | 
					             #t)))))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("geos" ,geos)
 | 
				
			||||||
 | 
					       ("leveldb" ,leveldb)))
 | 
				
			||||||
 | 
					    (home-page "https://imposm.org/")
 | 
				
			||||||
 | 
					    (synopsis "OpenStreetMap importer for PostGIS")
 | 
				
			||||||
 | 
					    (description "Imposm is an importer for OpenStreetMap data.  It reads PBF
 | 
				
			||||||
 | 
					files and imports the data into PostgreSQL/PostGIS databases.  It is designed
 | 
				
			||||||
 | 
					to create databases that are optimized for rendering/tile/map-services.")
 | 
				
			||||||
 | 
					    (license (list
 | 
				
			||||||
 | 
					               license:asl2.0
 | 
				
			||||||
 | 
					               ;; Some dependencies in vendor have different licenses
 | 
				
			||||||
 | 
					               license:expat
 | 
				
			||||||
 | 
					               license:bsd-2
 | 
				
			||||||
 | 
					               license:bsd-3))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public protozero
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "protozero")
 | 
				
			||||||
 | 
					    (version "1.6.3")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					      (origin
 | 
				
			||||||
 | 
					        (method url-fetch)
 | 
				
			||||||
 | 
					        (uri (string-append "https://github.com/mapbox/protozero/archive/v"
 | 
				
			||||||
 | 
					                            version ".tar.gz"))
 | 
				
			||||||
 | 
					    (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
 | 
					        (sha256
 | 
				
			||||||
 | 
					         (base32
 | 
				
			||||||
 | 
					          "1xaj4phz1r7xn0vgdfvfkz8b0bizgb6mavjky1zqcvdmbwgwgly5"))))
 | 
				
			||||||
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
 | 
					    (home-page "https://github.com/mapbox/protozero")
 | 
				
			||||||
 | 
					    (synopsis "Minimalistic protocol buffer decoder and encoder in C++")
 | 
				
			||||||
 | 
					    (description "Protozero is a minimalistic protocol buffer decored and
 | 
				
			||||||
 | 
					encoder in C++.  The developer using protozero has to manually translate the
 | 
				
			||||||
 | 
					@file{.proto} description into code.")
 | 
				
			||||||
 | 
					    (license (list
 | 
				
			||||||
 | 
					               license:asl2.0; for folly
 | 
				
			||||||
 | 
					               license:bsd-2))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public libosmium
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "libosmium")
 | 
				
			||||||
 | 
					    (version "2.14.2")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					      (origin
 | 
				
			||||||
 | 
					        (method url-fetch)
 | 
				
			||||||
 | 
					        (uri (string-append "https://github.com/osmcode/libosmium/archive/v"
 | 
				
			||||||
 | 
					                version ".tar.gz"))
 | 
				
			||||||
 | 
					    (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
 | 
					        (sha256
 | 
				
			||||||
 | 
					         (base32
 | 
				
			||||||
 | 
					          "0d9b46qiw7zkw1h9lygjdwqxnbhm3c7v8kydzw9f9f778cyagc94"))))
 | 
				
			||||||
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("boost" ,boost)
 | 
				
			||||||
 | 
					       ("expat" ,expat)
 | 
				
			||||||
 | 
					       ("gdal" ,gdal)
 | 
				
			||||||
 | 
					       ("geos" ,geos)
 | 
				
			||||||
 | 
					       ("proj.4" ,proj.4)
 | 
				
			||||||
 | 
					       ("protozero" ,protozero)
 | 
				
			||||||
 | 
					       ("sparsehash" ,sparsehash)
 | 
				
			||||||
 | 
					       ("zlib" ,zlib)))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("doxygen" ,doxygen)))
 | 
				
			||||||
 | 
					    (home-page "https://osmcode.org/libosmium/")
 | 
				
			||||||
 | 
					    (synopsis "C++ library for working with OpenStreetMap data")
 | 
				
			||||||
 | 
					    (description "Libosmium is a fast and flexible C++ library for working with
 | 
				
			||||||
 | 
					OpenStreetMap data.")
 | 
				
			||||||
 | 
					    (license license:boost1.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public osm2pgsql
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "osm2pgsql")
 | 
				
			||||||
 | 
					    (version "0.96.0")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method url-fetch)
 | 
				
			||||||
 | 
					              (uri (string-append "https://github.com/openstreetmap/osm2pgsql/archive/"
 | 
				
			||||||
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
 | 
					              (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "08y7776r4l9v9177a4q6cfdri0lpirky96m6g699hwl7v1vhw0mn"))
 | 
				
			||||||
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
 | 
					              (snippet
 | 
				
			||||||
 | 
					               '(begin
 | 
				
			||||||
 | 
					                  (delete-file-recursively "contrib/protozero")
 | 
				
			||||||
 | 
					                  (delete-file-recursively "contrib/libosmium")
 | 
				
			||||||
 | 
					                  #t))))
 | 
				
			||||||
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:tests? #f; tests fail because we need to setup a database
 | 
				
			||||||
 | 
					       #:configure-flags
 | 
				
			||||||
 | 
					       (list (string-append "-DOSMIUM_INCLUDE_DIR="
 | 
				
			||||||
 | 
					                            (assoc-ref %build-inputs "libosmium")
 | 
				
			||||||
 | 
					                            "/include")
 | 
				
			||||||
 | 
					             (string-append "-DPROTOZERO_INCLUDE_DIR="
 | 
				
			||||||
 | 
					                            (assoc-ref %build-inputs "protozero")
 | 
				
			||||||
 | 
					                            "/include"))))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("boost" ,boost)
 | 
				
			||||||
 | 
					       ("expat" ,expat)
 | 
				
			||||||
 | 
					       ("libosmium" ,libosmium)
 | 
				
			||||||
 | 
					       ("lua" ,lua)
 | 
				
			||||||
 | 
					       ("postgresql" ,postgresql)
 | 
				
			||||||
 | 
					       ("proj.4" ,proj.4)
 | 
				
			||||||
 | 
					       ("protozero" ,protozero)
 | 
				
			||||||
 | 
					       ("zlib" ,zlib)))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("python-2" ,python-2)
 | 
				
			||||||
 | 
					       ("python2-psycopg2" ,python2-psycopg2)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/openstreetmap/osm2pgsql")
 | 
				
			||||||
 | 
					    (synopsis "OSM data importer to postgresql")
 | 
				
			||||||
 | 
					    (description "Osm2pgsql is a tool for loading OpenStreetMap data into a
 | 
				
			||||||
 | 
					PostgreSQL / PostGIS database suitable for applications like rendering into a
 | 
				
			||||||
 | 
					map, geocoding with Nominatim, or general analysis.")
 | 
				
			||||||
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public tippecanoe
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "tippecanoe")
 | 
				
			||||||
 | 
					    (version "1.31.5")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method url-fetch)
 | 
				
			||||||
 | 
					              (uri (string-append "https://github.com/mapbox/tippecanoe/archive/"
 | 
				
			||||||
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
 | 
					              (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "1057na1dkgjaryr7jr15lqkxpam111d3l5zdpdkqzzzpxmdjxqcf"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases (delete 'configure))
 | 
				
			||||||
 | 
					       #:test-target "test"
 | 
				
			||||||
 | 
					       #:make-flags
 | 
				
			||||||
 | 
					       (list "CC=gcc"
 | 
				
			||||||
 | 
					             (string-append "PREFIX=" (assoc-ref %outputs "out")))))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("perl" ,perl)
 | 
				
			||||||
 | 
					       ("sqlite" ,sqlite)
 | 
				
			||||||
 | 
					       ("zlib" ,zlib)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/mapbox/tippecanoe")
 | 
				
			||||||
 | 
					    (synopsis "Vector tile server for maps")
 | 
				
			||||||
 | 
					    (description "Tippecanoe creates scale-independent view of data, so that
 | 
				
			||||||
 | 
					the texture and density of features is visible at every zoom level, instead of
 | 
				
			||||||
 | 
					dropping features at lower levels.")
 | 
				
			||||||
 | 
					    (license license:bsd-2)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4096,15 +4096,15 @@ work and the interface is well tested.")
 | 
				
			||||||
(define-public eolie
 | 
					(define-public eolie
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "eolie")
 | 
					    (name "eolie")
 | 
				
			||||||
    (version "0.9.37")
 | 
					    (version "0.9.38")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://gitlab.gnome.org/World/eolie/"
 | 
					              (uri (string-append "https://gitlab.gnome.org/World/eolie/"
 | 
				
			||||||
                                  "uploads/4341cb428b7a45670308ee3fb3fa07dd/"
 | 
					                                  "uploads/9814c06a1bc83ea09c3da8719a9ed11b/"
 | 
				
			||||||
                                  "eolie-" version ".tar.xz"))
 | 
					                                  "eolie-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "126m0nwwy3lqv7z8aj9hiwangih03b1nlkg3xja9p7wbf7zcvp2n"))))
 | 
					                "10vrh91rapgfmqwc6jkcybpmlvn4q0y8bnklw3rddzigf9kvqsff"))))
 | 
				
			||||||
    (build-system meson-build-system)
 | 
					    (build-system meson-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:glib-or-gtk? #t
 | 
					     `(#:glib-or-gtk? #t
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -36,6 +36,7 @@
 | 
				
			||||||
  #:use-module (guix utils)
 | 
					  #:use-module (guix utils)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
  #:use-module (guix build-system cargo)
 | 
					  #:use-module (guix build-system cargo)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages audio)
 | 
				
			||||||
  #:use-module (gnu packages autotools)
 | 
					  #:use-module (gnu packages autotools)
 | 
				
			||||||
  #:use-module (gnu packages base)
 | 
					  #:use-module (gnu packages base)
 | 
				
			||||||
  #:use-module (gnu packages databases)
 | 
					  #:use-module (gnu packages databases)
 | 
				
			||||||
| 
						 | 
					@ -62,6 +63,7 @@
 | 
				
			||||||
  #:use-module (gnu packages rust)
 | 
					  #:use-module (gnu packages rust)
 | 
				
			||||||
  #:use-module (gnu packages icu4c)
 | 
					  #:use-module (gnu packages icu4c)
 | 
				
			||||||
  #:use-module (gnu packages video)
 | 
					  #:use-module (gnu packages video)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages xiph)
 | 
				
			||||||
  #:use-module (gnu packages xdisorg)
 | 
					  #:use-module (gnu packages xdisorg)
 | 
				
			||||||
  #:use-module (gnu packages readline))
 | 
					  #:use-module (gnu packages readline))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -495,12 +497,28 @@ security standards.")
 | 
				
			||||||
        "0lqx7g79x15941rhjr3qsfwsny6vzc7d7abdmvjy6jjbqkqlc1zl"))
 | 
					        "0lqx7g79x15941rhjr3qsfwsny6vzc7d7abdmvjy6jjbqkqlc1zl"))
 | 
				
			||||||
      (patches
 | 
					      (patches
 | 
				
			||||||
       (list
 | 
					       (list
 | 
				
			||||||
        (search-patch "icecat-avoid-bundled-libraries.patch")
 | 
					        (search-patch  "icecat-avoid-bundled-libraries.patch")
 | 
				
			||||||
        ;; FIXME (search-patch "icecat-use-system-harfbuzz.patch")
 | 
					        (search-patch  "icecat-use-system-graphite2+harfbuzz.patch")
 | 
				
			||||||
        ;; FIXME (search-patch "icecat-use-system-graphite2.patch")
 | 
					        (search-patch  "icecat-use-system-media-libs.patch")
 | 
				
			||||||
        (mozilla-patch "icecat-CVE-2018-12385.patch"      "80a4a7ef2813" "1vgcbimpnfjqj934v0cryq1g13xac3wfmd4jyhcb5s60x8xyssf5")
 | 
					        (mozilla-patch "icecat-CVE-2018-12385.patch"      "80a4a7ef2813" "1vgcbimpnfjqj934v0cryq1g13xac3wfmd4jyhcb5s60x8xyssf5")
 | 
				
			||||||
        (search-patch  "icecat-CVE-2018-12383.patch")
 | 
					        (search-patch  "icecat-CVE-2018-12383.patch")
 | 
				
			||||||
        (mozilla-patch "icecat-bug-1489744.patch"         "6546ee839d30" "11mhvj77r789b428bfxqq5wdx8yr7lbrdjzr8qjj6fw197pldn51")))
 | 
					        (mozilla-patch "icecat-bug-1489744.patch"         "6546ee839d30" "11mhvj77r789b428bfxqq5wdx8yr7lbrdjzr8qjj6fw197pldn51")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-CVE-2018-12386.patch"      "4808fcb2e6ca" "05sc881l7sh8bag8whd2ggdn198lskqcxq8f41scfpqscw6xs5d5")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-CVE-2018-12387.patch"      "b8f5c37486e1" "0lvmbh126m695kgdbasy1y5xh9n1j08cwdhn071mgvj6yn8cns5z")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-bug-1464751.patch"         "d5d00faf0465" "1mj7dbb06brwrk0mvap0z4lfl2hwz1cj6dwjvdrisxm046pdw98i")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-bug-1472538.patch"         "11462f2b98f2" "1nxgh0plzilylx8r73r7d74pv66qwjqxmd7nqii33p0snl2jjfzs")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-bug-1478685.patch"         "098585dc86fc" "1b0x4qdh6isvffmibvc8ad8z62m3iky9q6jq0z6gyvn8q252cqal")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-bug-1486080.patch"         "3f8d57d936ea" "0pz2c18wcgj44v0j8my9xbm90m4bsjcvzmavj569fi8bh6s6zz8p")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-bug-1423278.patch"         "878ceaee5634" "0i47s5nvrx9vqbnj6s9y9f4ffww20p8nviqa6frg676y1188xlyl")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-bug-1442010.patch"         "87be1b98ec9a" "15f4l18c7hz9aqn89gg3dwmdidfwgn10dywgpzydm8mps45amx7j")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-bug-1484559.patch"         "99e58b5307ce" "02fdgbliwzi2r2376wg6k1rky1isfka0smac4ii2cll01jhpfrn6")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-bug-1487098.patch"         "f25ce451a492" "18nzg39iyxza1686180qk9cc88l5j2hf1h35d62lrqmdgd9vcj33")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-bug-1484905.patch"         "35c26bc231df" "0qh8d4z6y03h5xh7djci26a01l6zq667lg2k11f6zzg7z2j0h67x")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-bug-1488061.patch"         "050d0cfa8e3d" "05ql798ynbyz5pvyri4b95j4ixmgnny3zl7sd2ckfrrbm9mxh627")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-bug-1434963-pt1.patch"     "1e6dad87efed" "1v00a6cmgswjk54041jyv1ib129fxshpzwk6mn6lr0v5hylk3bx9")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-bug-1434963-pt2.patch"     "6558c46df9ea" "0vdy9dm9w5k1flhcfxwvvff0aa415b5mgmmq5r37i83686768xfb")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-bug-1434963-pt3.patch"     "686fcfa8abd6" "0ihqr11aq4b0y7mx7bwn8yzn25mv3k2gdphm951mj1g85qg35ann")
 | 
				
			||||||
 | 
					        (mozilla-patch "icecat-bug-1491132.patch"         "14120e0c74d6" "188c5fbhqqhmlk88p70l6d97skh7xy4jhqdby1ri3h9ix967515j")))
 | 
				
			||||||
      (modules '((guix build utils)))
 | 
					      (modules '((guix build utils)))
 | 
				
			||||||
      (snippet
 | 
					      (snippet
 | 
				
			||||||
       '(begin
 | 
					       '(begin
 | 
				
			||||||
| 
						 | 
					@ -517,26 +535,37 @@ security standards.")
 | 
				
			||||||
                      ;; FIXME: A script from the bundled nspr is used.
 | 
					                      ;; FIXME: A script from the bundled nspr is used.
 | 
				
			||||||
                      ;;"nsprpub"
 | 
					                      ;;"nsprpub"
 | 
				
			||||||
                      ;;
 | 
					                      ;;
 | 
				
			||||||
                      ;; TODO: Use system media libraries.  Waiting for:
 | 
					                      ;; FIXME: With the update to IceCat 60, using system NSS
 | 
				
			||||||
 | 
					                      ;;        broke certificate validation.  See
 | 
				
			||||||
 | 
					                      ;;        <https://bugs.gnu.org/32833>.  For now, we use
 | 
				
			||||||
 | 
					                      ;;        the bundled NSPR and NSS.  TODO: Investigate,
 | 
				
			||||||
 | 
					                      ;;        and try to unbundle these libraries again.
 | 
				
			||||||
 | 
					                      ;; UNBUNDLE-ME! "security/nss"
 | 
				
			||||||
 | 
					                      ;;
 | 
				
			||||||
 | 
					                      ;; TODO: Use more system media libraries.  See:
 | 
				
			||||||
                      ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=517422>
 | 
					                      ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=517422>
 | 
				
			||||||
                      ;;   * libogg
 | 
					                      ;;   * libtheora: esr60 wants v1.2, not yet released.
 | 
				
			||||||
                      ;;   * libtheora
 | 
					                      ;;   * soundtouch: avoiding the bundled library would
 | 
				
			||||||
                      ;;   * libvorbis
 | 
					                      ;;     result in some loss of functionality.  There's
 | 
				
			||||||
                      ;;   * libtremor (not yet in guix)
 | 
					                      ;;     also an issue with exception handling
 | 
				
			||||||
 | 
					                      ;;     configuration.  It seems that this is needed in
 | 
				
			||||||
 | 
					                      ;;     some moz.build:
 | 
				
			||||||
 | 
					                      ;;       DEFINES['ST_NO_EXCEPTION_HANDLING'] = 1
 | 
				
			||||||
                      ;;   * libopus
 | 
					                      ;;   * libopus
 | 
				
			||||||
                      ;;   * speex
 | 
					                      ;;   * speex
 | 
				
			||||||
                      ;;   * soundtouch (not yet in guix)
 | 
					 | 
				
			||||||
                      ;;
 | 
					                      ;;
 | 
				
			||||||
                      "modules/freetype2"
 | 
					                      "modules/freetype2"
 | 
				
			||||||
                      "modules/zlib"
 | 
					                      "modules/zlib"
 | 
				
			||||||
                      "modules/libbz2"
 | 
					                      "modules/libbz2"
 | 
				
			||||||
                      ;; UNBUNDLE-ME "ipc/chromium/src/third_party/libevent"
 | 
					                      "ipc/chromium/src/third_party/libevent"
 | 
				
			||||||
                      "media/libjpeg"
 | 
					                      "media/libjpeg"
 | 
				
			||||||
                      "media/libvpx"
 | 
					                      "media/libvpx"
 | 
				
			||||||
                      "security/nss"
 | 
					                      "media/libogg"
 | 
				
			||||||
                      ;; UNBUNDLE-ME "gfx/cairo"
 | 
					                      "media/libvorbis"
 | 
				
			||||||
                      ;; UNBUNDLE-ME "gfx/harfbuzz"
 | 
					                      ;; "media/libtheora" ; wants theora-1.2, not yet released
 | 
				
			||||||
                      ;; UNBUNDLE-ME "gfx/graphite2"
 | 
					                      "media/libtremor"
 | 
				
			||||||
 | 
					                      "gfx/harfbuzz"
 | 
				
			||||||
 | 
					                      "gfx/graphite2"
 | 
				
			||||||
                      "js/src/ctypes/libffi"
 | 
					                      "js/src/ctypes/libffi"
 | 
				
			||||||
                      "db/sqlite3"))
 | 
					                      "db/sqlite3"))
 | 
				
			||||||
          ;; Delete .pyc files, typically present in icecat source tarballs
 | 
					          ;; Delete .pyc files, typically present in icecat source tarballs
 | 
				
			||||||
| 
						 | 
					@ -550,23 +579,25 @@ security standards.")
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("alsa-lib" ,alsa-lib)
 | 
					     `(("alsa-lib" ,alsa-lib)
 | 
				
			||||||
       ("bzip2" ,bzip2)
 | 
					       ("bzip2" ,bzip2)
 | 
				
			||||||
       ;; UNBUNDLE-ME ("cairo" ,cairo)
 | 
					 | 
				
			||||||
       ("cups" ,cups)
 | 
					       ("cups" ,cups)
 | 
				
			||||||
       ("dbus-glib" ,dbus-glib)
 | 
					       ("dbus-glib" ,dbus-glib)
 | 
				
			||||||
       ("gdk-pixbuf" ,gdk-pixbuf)
 | 
					       ("gdk-pixbuf" ,gdk-pixbuf)
 | 
				
			||||||
       ("glib" ,glib)
 | 
					       ("glib" ,glib)
 | 
				
			||||||
       ("gtk+" ,gtk+)
 | 
					       ("gtk+" ,gtk+)
 | 
				
			||||||
       ("gtk+-2" ,gtk+-2)
 | 
					       ("gtk+-2" ,gtk+-2)
 | 
				
			||||||
       ;; UNBUNDLE-ME ("graphite2" ,graphite2)
 | 
					       ("graphite2" ,graphite2)
 | 
				
			||||||
       ("pango" ,pango)
 | 
					       ("pango" ,pango)
 | 
				
			||||||
       ("freetype" ,freetype)
 | 
					       ("freetype" ,freetype)
 | 
				
			||||||
       ;; UNBUNDLE-ME ("harfbuzz" ,harfbuzz)
 | 
					       ("harfbuzz" ,harfbuzz)
 | 
				
			||||||
       ("hunspell" ,hunspell)
 | 
					       ("hunspell" ,hunspell)
 | 
				
			||||||
       ("libcanberra" ,libcanberra)
 | 
					       ("libcanberra" ,libcanberra)
 | 
				
			||||||
       ("libgnome" ,libgnome)
 | 
					       ("libgnome" ,libgnome)
 | 
				
			||||||
       ("libjpeg-turbo" ,libjpeg-turbo)
 | 
					       ("libjpeg-turbo" ,libjpeg-turbo)
 | 
				
			||||||
 | 
					       ("libogg" ,libogg)
 | 
				
			||||||
 | 
					       ;; ("libtheora" ,libtheora) ; wants theora-1.2, not yet released
 | 
				
			||||||
 | 
					       ("libvorbis" ,libvorbis)
 | 
				
			||||||
       ("libxft" ,libxft)
 | 
					       ("libxft" ,libxft)
 | 
				
			||||||
       ;; UNBUNDLE-ME ("libevent" ,libevent-2.0)
 | 
					       ("libevent" ,libevent)
 | 
				
			||||||
       ("libxinerama" ,libxinerama)
 | 
					       ("libxinerama" ,libxinerama)
 | 
				
			||||||
       ("libxscrnsaver" ,libxscrnsaver)
 | 
					       ("libxscrnsaver" ,libxscrnsaver)
 | 
				
			||||||
       ("libxcomposite" ,libxcomposite)
 | 
					       ("libxcomposite" ,libxcomposite)
 | 
				
			||||||
| 
						 | 
					@ -579,8 +610,10 @@ security standards.")
 | 
				
			||||||
       ("pulseaudio" ,pulseaudio)
 | 
					       ("pulseaudio" ,pulseaudio)
 | 
				
			||||||
       ("mesa" ,mesa)
 | 
					       ("mesa" ,mesa)
 | 
				
			||||||
       ("mit-krb5" ,mit-krb5)
 | 
					       ("mit-krb5" ,mit-krb5)
 | 
				
			||||||
       ("nspr" ,nspr)
 | 
					       ;; See <https://bugs.gnu.org/32833>
 | 
				
			||||||
       ("nss" ,nss)
 | 
					       ;;   and related comments in the 'snippet' above.
 | 
				
			||||||
 | 
					       ;; UNBUNDLE-ME! ("nspr" ,nspr)
 | 
				
			||||||
 | 
					       ;; UNBUNDLE-ME! ("nss" ,nss)
 | 
				
			||||||
       ("sqlite" ,sqlite)
 | 
					       ("sqlite" ,sqlite)
 | 
				
			||||||
       ("startup-notification" ,startup-notification)
 | 
					       ("startup-notification" ,startup-notification)
 | 
				
			||||||
       ("unzip" ,unzip)
 | 
					       ("unzip" ,unzip)
 | 
				
			||||||
| 
						 | 
					@ -638,15 +671,21 @@ security standards.")
 | 
				
			||||||
                           "--with-system-zlib"
 | 
					                           "--with-system-zlib"
 | 
				
			||||||
                           "--with-system-bz2"
 | 
					                           "--with-system-bz2"
 | 
				
			||||||
                           "--with-system-jpeg"        ; must be libjpeg-turbo
 | 
					                           "--with-system-jpeg"        ; must be libjpeg-turbo
 | 
				
			||||||
                           ;; UNBUNDLE-ME "--with-system-libevent"
 | 
					                           "--with-system-libevent"
 | 
				
			||||||
 | 
					                           "--with-system-ogg"
 | 
				
			||||||
 | 
					                           "--with-system-vorbis"
 | 
				
			||||||
 | 
					                           ;; "--with-system-theora" ; wants theora-1.2, not yet released
 | 
				
			||||||
                           "--with-system-libvpx"
 | 
					                           "--with-system-libvpx"
 | 
				
			||||||
                           "--with-system-icu"
 | 
					                           "--with-system-icu"
 | 
				
			||||||
                           "--with-system-nspr"
 | 
					                           
 | 
				
			||||||
                           "--with-system-nss"
 | 
					                           ;; See <https://bugs.gnu.org/32833>
 | 
				
			||||||
                           ;; UNBUNDLE-ME "--with-system-harfbuzz"
 | 
					                           ;;   and related comments in the 'snippet' above.
 | 
				
			||||||
                           ;; UNBUNDLE-ME "--with-system-graphite2"
 | 
					                           ;; UNBUNDLE-ME! "--with-system-nspr"
 | 
				
			||||||
 | 
					                           ;; UNBUNDLE-ME! "--with-system-nss"
 | 
				
			||||||
 | 
					                           
 | 
				
			||||||
 | 
					                           "--with-system-harfbuzz"
 | 
				
			||||||
 | 
					                           "--with-system-graphite2"
 | 
				
			||||||
                           "--enable-system-pixman"
 | 
					                           "--enable-system-pixman"
 | 
				
			||||||
                           ;; UNBUNDLE-ME "--enable-system-cairo"
 | 
					 | 
				
			||||||
                           "--enable-system-ffi"
 | 
					                           "--enable-system-ffi"
 | 
				
			||||||
                           "--enable-system-hunspell"
 | 
					                           "--enable-system-hunspell"
 | 
				
			||||||
                           "--enable-system-sqlite"
 | 
					                           "--enable-system-sqlite"
 | 
				
			||||||
| 
						 | 
					@ -696,8 +735,11 @@ security standards.")
 | 
				
			||||||
    'avcodec', 'avutil', 'pulse' ]\n\n"
 | 
					    'avcodec', 'avutil', 'pulse' ]\n\n"
 | 
				
			||||||
                              all)))
 | 
					                              all)))
 | 
				
			||||||
            #t))
 | 
					            #t))
 | 
				
			||||||
 | 
					         (replace 'bootstrap
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (invoke "sh" "-c" "autoconf old-configure.in > old-configure")))
 | 
				
			||||||
         (add-after 'patch-source-shebangs 'patch-cargo-checksums
 | 
					         (add-after 'patch-source-shebangs 'patch-cargo-checksums
 | 
				
			||||||
           (lambda* _
 | 
					           (lambda _
 | 
				
			||||||
             (use-modules (guix build cargo-build-system))
 | 
					             (use-modules (guix build cargo-build-system))
 | 
				
			||||||
             (let ((null-file "/dev/null")
 | 
					             (let ((null-file "/dev/null")
 | 
				
			||||||
                   (null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
 | 
					                   (null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -504,7 +504,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (inherit go-1.10)
 | 
					    (inherit go-1.10)
 | 
				
			||||||
    (name "go")
 | 
					    (name "go")
 | 
				
			||||||
    (version "1.11")
 | 
					    (version "1.11.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -512,7 +512,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
 | 
				
			||||||
                           name version ".src.tar.gz"))
 | 
					                           name version ".src.tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1ysj04jzds6xa8kdflkdsgyv3mg9fdn90zdf78g4g6p4bwpy3hdg"))))
 | 
					         "05qivf2f59pv4bfrmdr4m0xvswkmvvl9c5a2h5dy45g2k8b8r3sm"))))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     (substitute-keyword-arguments (package-arguments go-1.10)
 | 
					     (substitute-keyword-arguments (package-arguments go-1.10)
 | 
				
			||||||
       ((#:phases phases)
 | 
					       ((#:phases phases)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -224,6 +224,7 @@ lines.")
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     `(("python-decorator" ,python-decorator)
 | 
					     `(("python-decorator" ,python-decorator)
 | 
				
			||||||
       ("python-nbformat" ,python-nbformat)
 | 
					       ("python-nbformat" ,python-nbformat)
 | 
				
			||||||
 | 
					       ("python-pandas" ,python-pandas)
 | 
				
			||||||
       ("python-pytz" ,python-pytz)
 | 
					       ("python-pytz" ,python-pytz)
 | 
				
			||||||
       ("python-requests" ,python-requests)
 | 
					       ("python-requests" ,python-requests)
 | 
				
			||||||
       ("python-six" ,python-six)))
 | 
					       ("python-six" ,python-six)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -774,54 +774,26 @@ application suites.")
 | 
				
			||||||
(define-public guile-cairo
 | 
					(define-public guile-cairo
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "guile-cairo")
 | 
					    (name "guile-cairo")
 | 
				
			||||||
    (version "1.4.1")
 | 
					    (version "1.10.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append "mirror://savannah/guile-cairo/guile-cairo-"
 | 
				
			||||||
                    "http://download.gna.org/guile-cairo/guile-cairo-"
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
                    version
 | 
					 | 
				
			||||||
                    ".tar.gz"))
 | 
					 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1f5nd9n46n6cwfl1byjml02q3y2hgn7nkx98km1czgwarxl7ws3x"))))
 | 
					                "0p6xrhf2k6n5dybn88050za7h90gnd7534n62l53vsca187pwgdf"))
 | 
				
			||||||
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
 | 
					              (snippet
 | 
				
			||||||
 | 
					               (begin
 | 
				
			||||||
 | 
					                 '(begin
 | 
				
			||||||
 | 
					                    ;; Install Scheme files in …/guile/site/X.Y.
 | 
				
			||||||
 | 
					                    (substitute* (find-files "." "^Makefile\\.in$")
 | 
				
			||||||
 | 
					                      (("^(.*)dir = (.*)/guile/site(.*)" _ name prefix suffix)
 | 
				
			||||||
 | 
					                       (string-append name "dir = " prefix
 | 
				
			||||||
 | 
					                                      "/guile/site/@GUILE_EFFECTIVE_VERSION@"
 | 
				
			||||||
 | 
					                                      suffix)))
 | 
				
			||||||
 | 
					                    #t)))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     '(#:modules ((guix build utils)
 | 
					 | 
				
			||||||
                  (guix build gnu-build-system)
 | 
					 | 
				
			||||||
                  (ice-9 popen)
 | 
					 | 
				
			||||||
                  (ice-9 rdelim))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
       #:phases (modify-phases %standard-phases
 | 
					 | 
				
			||||||
                  (add-before 'configure 'set-module-directory
 | 
					 | 
				
			||||||
                    (lambda* (#:key outputs #:allow-other-keys)
 | 
					 | 
				
			||||||
                      ;; Install modules under $out/share/guile/site/2.0.
 | 
					 | 
				
			||||||
                      (let ((out (assoc-ref outputs "out"))
 | 
					 | 
				
			||||||
                            (effective
 | 
					 | 
				
			||||||
                             (read-line
 | 
					 | 
				
			||||||
                              (open-pipe* OPEN_READ "guile" "-c"
 | 
					 | 
				
			||||||
                                          "(display (effective-version))"))))
 | 
					 | 
				
			||||||
                        (substitute* "Makefile.in"
 | 
					 | 
				
			||||||
                          (("scmdir = ([[:graph:]]+).*" _ value)
 | 
					 | 
				
			||||||
                           (string-append "scmdir = " value "/" effective "\n")))
 | 
					 | 
				
			||||||
                        (substitute* "cairo/Makefile.in"
 | 
					 | 
				
			||||||
                          (("moduledir = ([[:graph:]]+).*" _ value)
 | 
					 | 
				
			||||||
                           (string-append "moduledir = "
 | 
					 | 
				
			||||||
                                          "$(prefix)/share/guile/site/"
 | 
					 | 
				
			||||||
                                          effective "/cairo\n'")))
 | 
					 | 
				
			||||||
                        #t)))
 | 
					 | 
				
			||||||
                  (add-after 'install 'install-missing-file
 | 
					 | 
				
			||||||
                    (lambda* (#:key outputs #:allow-other-keys)
 | 
					 | 
				
			||||||
                      ;; By default 'vector-types.scm' is not installed, so do
 | 
					 | 
				
			||||||
                      ;; it here.
 | 
					 | 
				
			||||||
                      (let ((out (assoc-ref outputs "out"))
 | 
					 | 
				
			||||||
                            (effective
 | 
					 | 
				
			||||||
                             (read-line
 | 
					 | 
				
			||||||
                              (open-pipe* OPEN_READ "guile" "-c"
 | 
					 | 
				
			||||||
                                          "(display (effective-version))"))))
 | 
					 | 
				
			||||||
                        (install-file "cairo/vector-types.scm"
 | 
					 | 
				
			||||||
                                      (string-append out "/share/guile/site/"
 | 
					 | 
				
			||||||
                                                     effective "/cairo"))
 | 
					 | 
				
			||||||
                        #t))))))
 | 
					 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("guile-lib" ,guile-lib)
 | 
					     `(("guile-lib" ,guile-lib)
 | 
				
			||||||
       ("expat" ,expat)
 | 
					       ("expat" ,expat)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -287,8 +287,8 @@ without requiring the source code to be rewritten.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public guile-next
 | 
					(define-public guile-next
 | 
				
			||||||
  ;; This is the upcoming Guile 3.0, with JIT support.
 | 
					  ;; This is the upcoming Guile 3.0, with JIT support.
 | 
				
			||||||
  (let ((commit "a74b4a45fab1a78e34954bce5f031e8a9765f827")
 | 
					  (let ((commit "6f3357b0df64c4be17e72079864c09a542f1c779")
 | 
				
			||||||
        (revision "0"))
 | 
					        (revision "1"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (inherit guile-2.2)
 | 
					      (inherit guile-2.2)
 | 
				
			||||||
      (name "guile-next")
 | 
					      (name "guile-next")
 | 
				
			||||||
| 
						 | 
					@ -300,7 +300,7 @@ without requiring the source code to be rewritten.")
 | 
				
			||||||
                      (commit commit)))
 | 
					                      (commit commit)))
 | 
				
			||||||
                (sha256
 | 
					                (sha256
 | 
				
			||||||
                 (base32
 | 
					                 (base32
 | 
				
			||||||
                  "0kq6mabv7j4gdlwmpz3iaddv98sc7awkl2358sg8j50sg10yw8nx"))
 | 
					                  "1c2xy5cflg0hws48914rz3z8mdmf8w3lblfic0kxnymcmdv9cbhv"))
 | 
				
			||||||
                (file-name (git-file-name name version))))
 | 
					                (file-name (git-file-name name version))))
 | 
				
			||||||
      (native-inputs
 | 
					      (native-inputs
 | 
				
			||||||
       `(("autoconf", autoconf)
 | 
					       `(("autoconf", autoconf)
 | 
				
			||||||
| 
						 | 
					@ -324,7 +324,15 @@ without requiring the source code to be rewritten.")
 | 
				
			||||||
               (lambda _
 | 
					               (lambda _
 | 
				
			||||||
                 ;; Remove this test that's bound to fail.
 | 
					                 ;; Remove this test that's bound to fail.
 | 
				
			||||||
                 (delete-file "test-suite/tests/version.test")
 | 
					                 (delete-file "test-suite/tests/version.test")
 | 
				
			||||||
                 #t)))))))))
 | 
					                 #t))))))
 | 
				
			||||||
 | 
					      (native-search-paths
 | 
				
			||||||
 | 
					       (list (search-path-specification
 | 
				
			||||||
 | 
					              (variable "GUILE_LOAD_PATH")
 | 
				
			||||||
 | 
					              (files '("share/guile/site/3.0")))
 | 
				
			||||||
 | 
					             (search-path-specification
 | 
				
			||||||
 | 
					              (variable "GUILE_LOAD_COMPILED_PATH")
 | 
				
			||||||
 | 
					              (files '("lib/guile/3.0/site-ccache"
 | 
				
			||||||
 | 
					                       "share/guile/site/3.0"))))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (make-guile-readline guile)
 | 
					(define (make-guile-readline guile)
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,6 +18,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-module (gnu packages hardware)
 | 
					(define-module (gnu packages hardware)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages gcc)
 | 
				
			||||||
  #:use-module (gnu packages glib)
 | 
					  #:use-module (gnu packages glib)
 | 
				
			||||||
  #:use-module (gnu packages libusb)
 | 
					  #:use-module (gnu packages libusb)
 | 
				
			||||||
  #:use-module (gnu packages linux)
 | 
					  #:use-module (gnu packages linux)
 | 
				
			||||||
| 
						 | 
					@ -35,14 +36,14 @@
 | 
				
			||||||
(define-public ddcutil
 | 
					(define-public ddcutil
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ddcutil")
 | 
					    (name "ddcutil")
 | 
				
			||||||
    (version "0.9.1")
 | 
					    (version "0.9.2")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "https://www.ddcutil.com/tarballs/"
 | 
					       (uri (string-append "https://www.ddcutil.com/tarballs/"
 | 
				
			||||||
                           name "-" version ".tar.gz"))
 | 
					                           name "-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1b4bm3zhk5vnad6fxf0mn8nrlj3fngifl7nzxgxw0n56hlv7ccv0"))))
 | 
					        (base32 "0nhi261vf2n3jpi0a0n6659911kxi3lj7a4h7cmv0ip6sbb8rk88"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)))
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
| 
						 | 
					@ -74,6 +75,115 @@ calibrated, and restored when the calibration is applied.")
 | 
				
			||||||
    (license (list license:bsd-3        ; FindDDCUtil.cmake
 | 
					    (license (list license:bsd-3        ; FindDDCUtil.cmake
 | 
				
			||||||
                   license:gpl2+))))    ; everything else
 | 
					                   license:gpl2+))))    ; everything else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; Distinct from memtest86, which is obsolete.
 | 
				
			||||||
 | 
					(define-public memtest86+
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "memtest86+")
 | 
				
			||||||
 | 
					    ;; Update the description when/if UEFI support is released.
 | 
				
			||||||
 | 
					    (version "5.01")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://www.memtest.org/download/5.01/memtest86+-"
 | 
				
			||||||
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "0fch1l55753y6jkk0hj8f6vw4h1kinkn9ysp22dq5g9zjnvjf88l"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:system "i686-linux"            ; the result runs outside of any OS
 | 
				
			||||||
 | 
					       #:tests? #f                      ; no way to test this
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (delete 'configure)            ; no configure script
 | 
				
			||||||
 | 
					         (replace 'build
 | 
				
			||||||
 | 
					           ;; The default 'make all' does wonderful things, like scp(1) a file to
 | 
				
			||||||
 | 
					           ;; 192.168.0.12. Build the bootable images and nothing more.
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (invoke "make"
 | 
				
			||||||
 | 
					                     "memtest"          ; ELF executable
 | 
				
			||||||
 | 
					                     "memtest.bin")))   ; DOS/MBR boot sector
 | 
				
			||||||
 | 
					         (replace 'install
 | 
				
			||||||
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
 | 
					                    (lib (string-append out "/lib/memtest86+"))
 | 
				
			||||||
 | 
					                    (doc (string-append out "/share/doc/memtest86+-" ,version)))
 | 
				
			||||||
 | 
					               (for-each
 | 
				
			||||||
 | 
					                (lambda (file)
 | 
				
			||||||
 | 
					                  (install-file file lib))
 | 
				
			||||||
 | 
					                (list "memtest"
 | 
				
			||||||
 | 
					                      "memtest.bin"))
 | 
				
			||||||
 | 
					               (for-each
 | 
				
			||||||
 | 
					                (lambda (file)
 | 
				
			||||||
 | 
					                  (install-file file doc))
 | 
				
			||||||
 | 
					                (list "FAQ"
 | 
				
			||||||
 | 
					                      "README"))
 | 
				
			||||||
 | 
					               #t))))))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     ;; Newer GCCs fail with a deluge of "multiple definition of `__foo'" errors.
 | 
				
			||||||
 | 
					     `(("gcc" ,gcc-4.9)))
 | 
				
			||||||
 | 
					    (supported-systems (list "i686-linux" "x86_64-linux"))
 | 
				
			||||||
 | 
					    (home-page "https://www.memtest.org/")
 | 
				
			||||||
 | 
					    (synopsis "Thorough real-mode memory tester")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "Memtest86+ is a thorough, stand-alone memory test for x86 systems.  It
 | 
				
			||||||
 | 
					repeatedly writes different patterns to all memory locations, reads them back
 | 
				
			||||||
 | 
					again, and verifies whether the result is the same as what was written.  This
 | 
				
			||||||
 | 
					can help debug even intermittent and non-deterministic errors.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It runs independently of any operating system, at computer boot-up, so that it
 | 
				
			||||||
 | 
					can scan as much of your RAM as possible for hardware defects.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Memtest86+ cannot currently be used on computers booted with UEFI.")
 | 
				
			||||||
 | 
					    (license license:gpl2)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public memtester
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "memtester")
 | 
				
			||||||
 | 
					    (version "4.3.0")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       ;; Even the latest release is available under 'old-versions/'.
 | 
				
			||||||
 | 
					       (uri (string-append "http://pyropus.ca/software/memtester/old-versions/"
 | 
				
			||||||
 | 
					                           "memtester-" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "127xymmyzb9r6dxqrwd69v7gf8csv8kv7fjvagbglf3wfgyy5pzr"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:make-flags
 | 
				
			||||||
 | 
					       (list "CC=gcc")
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (replace 'configure
 | 
				
			||||||
 | 
					           ;; This is a home-brewed configuration system where the cc/ld command
 | 
				
			||||||
 | 
					           ;; lines are stored in one-line files.
 | 
				
			||||||
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (let* ((out (assoc-ref outputs "out")))
 | 
				
			||||||
 | 
					               (substitute* (list "conf-cc" "conf-ld")
 | 
				
			||||||
 | 
					                 (("^cc") "gcc"))
 | 
				
			||||||
 | 
					               (substitute* "Makefile"
 | 
				
			||||||
 | 
					                 (("(INSTALLPATH.*=).*" _ assignment)
 | 
				
			||||||
 | 
					                  (string-append assignment out)))
 | 
				
			||||||
 | 
					               #t)))
 | 
				
			||||||
 | 
					         (replace 'check
 | 
				
			||||||
 | 
					           ;; There is no test suite. Test some RAM for a single iteration.
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (invoke "./memtester" "64K" "1"))))))
 | 
				
			||||||
 | 
					    (home-page "http://pyropus.ca/software/memtester/")
 | 
				
			||||||
 | 
					    (synopsis "User-space memory subsystem tester")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "Memtester stress-tests the memory subsystem of your operating system and
 | 
				
			||||||
 | 
					computer.  It repeatedly writes different patterns to all memory locations,
 | 
				
			||||||
 | 
					reads them back again, and verifies whether the result is the same as what was
 | 
				
			||||||
 | 
					written.  This can help debug even intermittent and non-deterministic errors.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Memtester runs entirely in user space.  This means that you don't need to reboot
 | 
				
			||||||
 | 
					to test your memory, but also that it's not possible to test all of the RAM
 | 
				
			||||||
 | 
					installed in the system.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It can also be told to test memory starting at a particular physical address.")
 | 
				
			||||||
 | 
					    (license license:gpl2)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public msr-tools
 | 
					(define-public msr-tools
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "msr-tools")
 | 
					    (name "msr-tools")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -54,7 +54,6 @@
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-generic-deriving" ,ghc-generic-deriving)
 | 
					     `(("ghc-generic-deriving" ,ghc-generic-deriving)
 | 
				
			||||||
       ("ghc-xml" ,ghc-xml)
 | 
					       ("ghc-xml" ,ghc-xml)
 | 
				
			||||||
       ("ghc-mtl" ,ghc-mtl)
 | 
					 | 
				
			||||||
       ("ghc-stm" ,ghc-stm)
 | 
					       ("ghc-stm" ,ghc-stm)
 | 
				
			||||||
       ("ghc-tagged" ,ghc-tagged)
 | 
					       ("ghc-tagged" ,ghc-tagged)
 | 
				
			||||||
       ("ghc-tasty" ,ghc-tasty)))
 | 
					       ("ghc-tasty" ,ghc-tasty)))
 | 
				
			||||||
| 
						 | 
					@ -97,7 +96,7 @@ Haskell test framework.")
 | 
				
			||||||
(define-public ghc-tasty-quickcheck
 | 
					(define-public ghc-tasty-quickcheck
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-tasty-quickcheck")
 | 
					    (name "ghc-tasty-quickcheck")
 | 
				
			||||||
    (version "0.8.4")
 | 
					    (version "0.10")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -106,7 +105,7 @@ Haskell test framework.")
 | 
				
			||||||
             "tasty-quickcheck-" version ".tar.gz"))
 | 
					             "tasty-quickcheck-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "15rjxib5jmjq0hzj47x15kgp3awc73va4cy1pmpf7k3hvfv4qprn"))))
 | 
					         "0vr6szbbz3s5461i0zr8zpq347zfvidfzv5gf3xwxhm0yk731z8h"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-quickcheck" ,ghc-quickcheck)
 | 
					     `(("ghc-quickcheck" ,ghc-quickcheck)
 | 
				
			||||||
| 
						 | 
					@ -125,7 +124,7 @@ Haskell test framework.")
 | 
				
			||||||
(define-public ghc-tasty-golden
 | 
					(define-public ghc-tasty-golden
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-tasty-golden")
 | 
					    (name "ghc-tasty-golden")
 | 
				
			||||||
    (version "2.3.1.1")
 | 
					    (version "2.3.2")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -135,12 +134,11 @@ Haskell test framework.")
 | 
				
			||||||
             ".tar.gz"))
 | 
					             ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0pcf5hsyp5mmbqn7krdm49jxpkjm6rb4j83j28f76h7q55dzm1wy"))))
 | 
					         "0k3ibjhjc9vcwzrjnl4rnwvfm8l81q347nb7dgvcib6n5wm3s404"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-temporary" ,ghc-temporary)
 | 
					     `(("ghc-temporary" ,ghc-temporary)
 | 
				
			||||||
       ("ghc-tasty" ,ghc-tasty)
 | 
					       ("ghc-tasty" ,ghc-tasty)
 | 
				
			||||||
       ("ghc-mtl" ,ghc-mtl)
 | 
					 | 
				
			||||||
       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
 | 
					       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
 | 
				
			||||||
       ("ghc-tagged" ,ghc-tagged)
 | 
					       ("ghc-tagged" ,ghc-tagged)
 | 
				
			||||||
       ("ghc-async" ,ghc-async)
 | 
					       ("ghc-async" ,ghc-async)
 | 
				
			||||||
| 
						 | 
					@ -183,7 +181,7 @@ timer functions of different operating systems via a unified API.")
 | 
				
			||||||
(define-public ghc-tasty
 | 
					(define-public ghc-tasty
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-tasty")
 | 
					    (name "ghc-tasty")
 | 
				
			||||||
    (version "0.11.0.4")
 | 
					    (version "1.1.0.3")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -193,19 +191,18 @@ timer functions of different operating systems via a unified API.")
 | 
				
			||||||
             ".tar.gz"))
 | 
					             ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "05pxjzgbgjdn7477xry0ssjrnmnsydqiq6nm6ck8n2da1baliqp0"))))
 | 
					         "14riid753hjqr6lca1kgxpnvq0wykf0k3qc5jpag42hh8bszav22"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-stm" ,ghc-stm)
 | 
					     `(("ghc-stm" ,ghc-stm)
 | 
				
			||||||
       ("ghc-mtl" ,ghc-mtl)
 | 
					 | 
				
			||||||
       ("ghc-tagged" ,ghc-tagged)
 | 
					       ("ghc-tagged" ,ghc-tagged)
 | 
				
			||||||
       ("ghc-regex-tdfa" ,ghc-regex-tdfa)
 | 
					       ("ghc-regex-tdfa" ,ghc-regex-tdfa)
 | 
				
			||||||
       ("ghc-regex-tdfa-rc" ,ghc-regex-tdfa-rc)
 | 
					 | 
				
			||||||
       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
 | 
					       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
 | 
				
			||||||
       ("ghc-unbounded-delays" ,ghc-unbounded-delays)
 | 
					       ("ghc-unbounded-delays" ,ghc-unbounded-delays)
 | 
				
			||||||
       ("ghc-async" ,ghc-async)
 | 
					       ("ghc-async" ,ghc-async)
 | 
				
			||||||
       ("ghc-ansi-terminal" ,ghc-ansi-terminal)
 | 
					       ("ghc-ansi-terminal" ,ghc-ansi-terminal)
 | 
				
			||||||
       ("ghc-clock-bootstrap" ,ghc-clock-bootstrap)))
 | 
					       ("ghc-clock-bootstrap" ,ghc-clock-bootstrap)
 | 
				
			||||||
 | 
					       ("ghc-wcwidth" ,ghc-wcwidth-bootstrap)))
 | 
				
			||||||
    (home-page "http://documentup.com/feuerbach/tasty")
 | 
					    (home-page "http://documentup.com/feuerbach/tasty")
 | 
				
			||||||
    (synopsis "Modern and extensible testing framework")
 | 
					    (synopsis "Modern and extensible testing framework")
 | 
				
			||||||
    (description "Tasty is a modern testing framework for Haskell.  It lets
 | 
					    (description "Tasty is a modern testing framework for Haskell.  It lets
 | 
				
			||||||
| 
						 | 
					@ -216,7 +213,7 @@ and any other types of tests into a single test suite.")
 | 
				
			||||||
(define-public ghc-tasty-hunit
 | 
					(define-public ghc-tasty-hunit
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-tasty-hunit")
 | 
					    (name "ghc-tasty-hunit")
 | 
				
			||||||
    (version "0.9.2")
 | 
					    (version "0.10.0.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -226,10 +223,11 @@ and any other types of tests into a single test suite.")
 | 
				
			||||||
             ".tar.gz"))
 | 
					             ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "08qnxaw34wfnzi9irs1jd4d0zczqm3k5ffkd4zwhkz0dflmgq7mf"))))
 | 
					         "0j3hgga6c3s8h5snzivb8a75h96207ia2rlbxzj07xbf4zpkp44g"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-tasty" ,ghc-tasty)))
 | 
					     `(("ghc-call-stack" ,ghc-call-stack-boot)
 | 
				
			||||||
 | 
					       ("ghc-tasty" ,ghc-tasty)))
 | 
				
			||||||
    (home-page "http://documentup.com/feuerbach/tasty")
 | 
					    (home-page "http://documentup.com/feuerbach/tasty")
 | 
				
			||||||
    (synopsis "HUnit support for the Tasty test framework")
 | 
					    (synopsis "HUnit support for the Tasty test framework")
 | 
				
			||||||
    (description "This package provides HUnit support for the Tasty Haskell
 | 
					    (description "This package provides HUnit support for the Tasty Haskell
 | 
				
			||||||
| 
						 | 
					@ -250,7 +248,6 @@ test framework.")
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-tasty" ,ghc-tasty)
 | 
					     `(("ghc-tasty" ,ghc-tasty)
 | 
				
			||||||
       ("ghc-mtl" ,ghc-mtl)
 | 
					 | 
				
			||||||
       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
 | 
					       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
 | 
				
			||||||
       ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
 | 
					       ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
 | 
				
			||||||
    (home-page "https://github.com/vincenthz/tasty-kat")
 | 
					    (home-page "https://github.com/vincenthz/tasty-kat")
 | 
				
			||||||
| 
						 | 
					@ -263,7 +260,7 @@ tasty.")
 | 
				
			||||||
(define-public ghc-tasty-th
 | 
					(define-public ghc-tasty-th
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-tasty-th")
 | 
					    (name "ghc-tasty-th")
 | 
				
			||||||
    (version "0.1.4")
 | 
					    (version "0.1.7")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -272,10 +269,12 @@ tasty.")
 | 
				
			||||||
             version ".tar.gz"))
 | 
					             version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0dff9si8i1qp0s7p4hlk0l29vq7wxfglw6mvlgmld43h7rllv88q"))))
 | 
					         "0b2ivrw2257m4cy4rjnkwqlarh83j1y3zywnmaqqqbvy667sqnj3"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-tasty" ,ghc-tasty)))
 | 
					     `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
 | 
				
			||||||
 | 
					       ("ghc-tasty" ,ghc-tasty)
 | 
				
			||||||
 | 
					       ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
 | 
				
			||||||
    (home-page "https://github.com/bennofs/tasty-th")
 | 
					    (home-page "https://github.com/bennofs/tasty-th")
 | 
				
			||||||
    (synopsis "Automatically generate tasty TestTrees")
 | 
					    (synopsis "Automatically generate tasty TestTrees")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -288,7 +287,7 @@ test-framework.")
 | 
				
			||||||
(define-public ghc-tasty-rerun
 | 
					(define-public ghc-tasty-rerun
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-tasty-rerun")
 | 
					    (name "ghc-tasty-rerun")
 | 
				
			||||||
    (version "1.1.8")
 | 
					    (version "1.1.12")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -296,11 +295,10 @@ test-framework.")
 | 
				
			||||||
                    "tasty-rerun-" version ".tar.gz"))
 | 
					                    "tasty-rerun-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0yg8cicfn3qaazvp4rbanzy3dyk95k3y1kkd4bykvkl9v4076788"))))
 | 
					                "05lp4zy6lwd916snq6hs43848n62j9vdfl3s8sfivqydrax0vvd8"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-mtl" ,ghc-mtl)
 | 
					     `(("ghc-optparse-applicative" ,ghc-optparse-applicative)
 | 
				
			||||||
       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
 | 
					 | 
				
			||||||
       ("ghc-reducers" ,ghc-reducers)
 | 
					       ("ghc-reducers" ,ghc-reducers)
 | 
				
			||||||
       ("ghc-split" ,ghc-split)
 | 
					       ("ghc-split" ,ghc-split)
 | 
				
			||||||
       ("ghc-stm" ,ghc-stm)
 | 
					       ("ghc-stm" ,ghc-stm)
 | 
				
			||||||
| 
						 | 
					@ -317,7 +315,7 @@ been added since previous test run.")
 | 
				
			||||||
(define-public ghc-tasty-expected-failure
 | 
					(define-public ghc-tasty-expected-failure
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-tasty-expected-failure")
 | 
					    (name "ghc-tasty-expected-failure")
 | 
				
			||||||
    (version "0.11.0.4")
 | 
					    (version "0.11.1.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -326,7 +324,7 @@ been added since previous test run.")
 | 
				
			||||||
                           version ".tar.gz"))
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0r555f18d2gj96pjyc13chn1nxaxl81am4xgip3mvvjhw8s5mva1"))))
 | 
					         "1i2s809m644b7hgiblqay9j364r3fjj1rwbrahsn1pgr5q6mr6ji"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-tagged" ,ghc-tagged)
 | 
					     `(("ghc-tagged" ,ghc-tagged)
 | 
				
			||||||
| 
						 | 
					@ -356,7 +354,8 @@ development.")
 | 
				
			||||||
         "1bh1pzz5fdcqvzdcirqxna6fnjms02min5md716299g5niz46w55"))))
 | 
					         "1bh1pzz5fdcqvzdcirqxna6fnjms02min5md716299g5niz46w55"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags (list "--allow-newer=base-compat")))
 | 
					     `(#:cabal-revision
 | 
				
			||||||
 | 
					       ("1" "1sngfq3v71bvgjsl8cj5kh65m3fziwy8dkvwjzs0kxfrzr87faly")))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-quickcheck" ,ghc-quickcheck)
 | 
					     `(("ghc-quickcheck" ,ghc-quickcheck)
 | 
				
			||||||
       ("ghc-base-compat" ,ghc-base-compat)
 | 
					       ("ghc-base-compat" ,ghc-base-compat)
 | 
				
			||||||
| 
						 | 
					@ -426,7 +425,7 @@ use HUnit assertions as QuickCheck properties.")
 | 
				
			||||||
(define-public ghc-quickcheck
 | 
					(define-public ghc-quickcheck
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-quickcheck")
 | 
					    (name "ghc-quickcheck")
 | 
				
			||||||
    (version "2.10.1")
 | 
					    (version "2.11.3")
 | 
				
			||||||
    (outputs '("out" "doc"))
 | 
					    (outputs '("out" "doc"))
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
| 
						 | 
					@ -437,11 +436,10 @@ use HUnit assertions as QuickCheck properties.")
 | 
				
			||||||
             ".tar.gz"))
 | 
					             ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1rfmns3lj3hl93k1jws85ajkkw7z9ll8cw292n9m7zald1w5dfqx"))))
 | 
					         "0xhqk35fkzlbjcqbabg6962jkv8d688nzmz7ng4bm84x2d95d328"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f  ; FIXME: currently missing libraries used for tests.
 | 
					     `(#:tests? #f))  ; FIXME: currently missing libraries used for tests.
 | 
				
			||||||
       #:configure-flags '("-f base4")))
 | 
					 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-random" ,ghc-random)
 | 
					     `(("ghc-random" ,ghc-random)
 | 
				
			||||||
       ("ghc-tf-random" ,ghc-tf-random)))
 | 
					       ("ghc-tf-random" ,ghc-tf-random)))
 | 
				
			||||||
| 
						 | 
					@ -455,37 +453,10 @@ hold in a large number of randomly generated cases.  Specifications are
 | 
				
			||||||
expressed in Haskell, using combinators defined in the QuickCheck library.")
 | 
					expressed in Haskell, using combinators defined in the QuickCheck library.")
 | 
				
			||||||
    (license license:bsd-3)))
 | 
					    (license license:bsd-3)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public ghc-quickcheck-2.9
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (inherit ghc-quickcheck)
 | 
					 | 
				
			||||||
    (name "ghc-quickcheck")
 | 
					 | 
				
			||||||
    (version "2.9.2")
 | 
					 | 
				
			||||||
    (source (origin
 | 
					 | 
				
			||||||
              (method url-fetch)
 | 
					 | 
				
			||||||
              (uri (string-append "https://hackage.haskell.org/package/QuickCheck-2.9.2/QuickCheck-"
 | 
					 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					 | 
				
			||||||
              (sha256
 | 
					 | 
				
			||||||
               (base32
 | 
					 | 
				
			||||||
                "119np67qvx8hyp9vkg4gr2wv3lj3j6ay2vl4hxspkg43ymb1cp0m"))))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public ghc-quickcheck-latest
 | 
					 | 
				
			||||||
  (package (inherit ghc-quickcheck)
 | 
					 | 
				
			||||||
    (version "2.11.3")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://hackage.haskell.org/package/QuickCheck/QuickCheck-"
 | 
					 | 
				
			||||||
             version
 | 
					 | 
				
			||||||
             ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32
 | 
					 | 
				
			||||||
         "0xhqk35fkzlbjcqbabg6962jkv8d688nzmz7ng4bm84x2d95d328"))))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public ghc-test-framework
 | 
					(define-public ghc-test-framework
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-test-framework")
 | 
					    (name "ghc-test-framework")
 | 
				
			||||||
    (version "0.8.1.1")
 | 
					    (version "0.8.2.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -493,10 +464,17 @@ expressed in Haskell, using combinators defined in the QuickCheck library.")
 | 
				
			||||||
                           "test-framework-" version ".tar.gz"))
 | 
					                           "test-framework-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0wxjgdvb1c4ykazw774zlx86550848wbsvgjgcrdzcgbb9m650vq"))))
 | 
					         "1hhacrzam6b8f10hyldmjw8pb7frdxh04rfg3farxcxwbnhwgbpm"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags (list "--allow-newer=time")))
 | 
					     `(#:tests? #f  ; FIXME: Tests do not build.
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-before 'configure 'update-constraints
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (substitute* "test-framework.cabal"
 | 
				
			||||||
 | 
					               (("QuickCheck     >= 2\\.3 && < 2\\.10")
 | 
				
			||||||
 | 
					                "QuickCheck     >= 2.3 && < 2.12")))))))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("ghc-hunit" ,ghc-hunit)
 | 
					     `(("ghc-hunit" ,ghc-hunit)
 | 
				
			||||||
       ("ghc-quickcheck" ,ghc-quickcheck)))
 | 
					       ("ghc-quickcheck" ,ghc-quickcheck)))
 | 
				
			||||||
| 
						 | 
					@ -508,7 +486,8 @@ expressed in Haskell, using combinators defined in the QuickCheck library.")
 | 
				
			||||||
       ("ghc-random" ,ghc-random)
 | 
					       ("ghc-random" ,ghc-random)
 | 
				
			||||||
       ("ghc-regex-posix" ,ghc-regex-posix)
 | 
					       ("ghc-regex-posix" ,ghc-regex-posix)
 | 
				
			||||||
       ("ghc-xml" ,ghc-xml)
 | 
					       ("ghc-xml" ,ghc-xml)
 | 
				
			||||||
       ("ghc-libxml" ,ghc-libxml)))
 | 
					       ("ghc-libxml" ,ghc-libxml)
 | 
				
			||||||
 | 
					       ("ghc-semigroups" ,ghc-semigroups-bootstrap)))
 | 
				
			||||||
    (home-page "https://batterseapower.github.io/test-framework/")
 | 
					    (home-page "https://batterseapower.github.io/test-framework/")
 | 
				
			||||||
    (synopsis "Framework for running and organising tests")
 | 
					    (synopsis "Framework for running and organising tests")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -533,9 +512,9 @@ reporting and test statistics output.")
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1y0b6vg8nfm43v90lxxcydhi6qlxhfy4vpxbzm5ic2w55bh8xjwm"))))
 | 
					         "1y0b6vg8nfm43v90lxxcydhi6qlxhfy4vpxbzm5ic2w55bh8xjwm"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    ;; The official revision of the cabal file allows for HUnit lower than 1.7
 | 
					 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags (list "--allow-newer=HUnit")))
 | 
					     `(#:cabal-revision
 | 
				
			||||||
 | 
					       ("3" "0i9mlalv7cl1iq43ld5myrnpszq5rxmd79hk495dcb08rglhgl3z")))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
 | 
					     `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
 | 
				
			||||||
       ("ghc-hunit" ,ghc-hunit)
 | 
					       ("ghc-hunit" ,ghc-hunit)
 | 
				
			||||||
| 
						 | 
					@ -560,6 +539,9 @@ reporting and test statistics output.")
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0vj834337r6jzr3258cv68ly2sv5999mklpsrfngyk51kywsyqyp"))))
 | 
					         "0vj834337r6jzr3258cv68ly2sv5999mklpsrfngyk51kywsyqyp"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:cabal-revision
 | 
				
			||||||
 | 
					       ("1" "147ngmfdkskyg7mwsp5w73a4dbx3rp5s38bci3z03kn1m093lxff")))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
 | 
					     `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
 | 
				
			||||||
       ("ghc-quickcheck" ,ghc-quickcheck)
 | 
					       ("ghc-quickcheck" ,ghc-quickcheck)
 | 
				
			||||||
| 
						 | 
					@ -827,7 +809,6 @@ minimal dependencies.")
 | 
				
			||||||
         "19wqignlq90qwpam01hnmmrxaxh5lkax9l1l6rlbi4a07nvp1dnz"))))
 | 
					         "19wqignlq90qwpam01hnmmrxaxh5lkax9l1l6rlbi4a07nvp1dnz"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs `(("ghc-quickcheck" ,ghc-quickcheck)
 | 
					    (inputs `(("ghc-quickcheck" ,ghc-quickcheck)
 | 
				
			||||||
              ("ghc-mtl" ,ghc-mtl)
 | 
					 | 
				
			||||||
              ("ghc-hunit" ,ghc-hunit)
 | 
					              ("ghc-hunit" ,ghc-hunit)
 | 
				
			||||||
              ("ghc-test-framework" ,ghc-test-framework)
 | 
					              ("ghc-test-framework" ,ghc-test-framework)
 | 
				
			||||||
              ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
 | 
					              ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -70,8 +70,7 @@ format.")
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-hourglass" ,ghc-hourglass)
 | 
					     `(("ghc-hourglass" ,ghc-hourglass)
 | 
				
			||||||
       ("ghc-asn1-types" ,ghc-asn1-types)
 | 
					       ("ghc-asn1-types" ,ghc-asn1-types)
 | 
				
			||||||
       ("ghc-text" ,ghc-text)
 | 
					       ("ghc-text" ,ghc-text)))
 | 
				
			||||||
       ("ghc-mtl" ,ghc-mtl)))
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("ghc-tasty" ,ghc-tasty)
 | 
					     `(("ghc-tasty" ,ghc-tasty)
 | 
				
			||||||
       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
 | 
					       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
 | 
				
			||||||
| 
						 | 
					@ -108,7 +107,7 @@ when ASN1 pattern matching is not convenient.")
 | 
				
			||||||
(define-public ghc-crypto-api
 | 
					(define-public ghc-crypto-api
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-crypto-api")
 | 
					    (name "ghc-crypto-api")
 | 
				
			||||||
    (version "0.13.2")
 | 
					    (version "0.13.3")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -117,7 +116,7 @@ when ASN1 pattern matching is not convenient.")
 | 
				
			||||||
                           "crypto-api-" version ".tar.gz"))
 | 
					                           "crypto-api-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1vc27qcgbg7hf50rkqhlrs58zn1888ilh4b6wrrm07bnm48xacak"))))
 | 
					         "19bsmkqkpnvh01b77pmyarx00fic15j4hvg4pzscrj4prskrx2i9"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs `(("ghc-cereal" ,ghc-cereal)
 | 
					    (inputs `(("ghc-cereal" ,ghc-cereal)
 | 
				
			||||||
              ("ghc-tagged" ,ghc-tagged)
 | 
					              ("ghc-tagged" ,ghc-tagged)
 | 
				
			||||||
| 
						 | 
					@ -211,7 +210,9 @@ that hides the C implementation.")
 | 
				
			||||||
         "1y8q7s2bn4gdknw1wjikdnar2b5pgz3nv3220lxrlgpsf23x82vi"))))
 | 
					         "1y8q7s2bn4gdknw1wjikdnar2b5pgz3nv3220lxrlgpsf23x82vi"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f)) ; tests require old version of ghc-hunit (0.9)
 | 
					     `(#:cabal-revision
 | 
				
			||||||
 | 
					       ("2" "0vyb9cfvpfxpslxvvhd48gw37i9g8ry5x63xwxd9q7xfiqhs7p3a")
 | 
				
			||||||
 | 
					       #:tests? #f)) ; tests require old version of ghc-hunit (0.9)
 | 
				
			||||||
    (native-inputs `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
 | 
					    (native-inputs `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
 | 
				
			||||||
                     ("ghc-puremd5" ,ghc-puremd5)
 | 
					                     ("ghc-puremd5" ,ghc-puremd5)
 | 
				
			||||||
                     ("ghc-tasty" ,ghc-tasty)
 | 
					                     ("ghc-tasty" ,ghc-tasty)
 | 
				
			||||||
| 
						 | 
					@ -237,7 +238,9 @@ that hides the C implementation.")
 | 
				
			||||||
         "1aqdxdhxhl9jldh951djpwxx8z7gzaqspxl7iwpl84i5ahrsyy9w"))))
 | 
					         "1aqdxdhxhl9jldh951djpwxx8z7gzaqspxl7iwpl84i5ahrsyy9w"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f)) ; tests require old version of ghc-hunit (0.9)
 | 
					     `(#:cabal-revision
 | 
				
			||||||
 | 
					       ("2" "0xas0nbq9bfdzlj6k565ibizv1cqvzfzsdj6q9pdiiwyxqblqc3m")
 | 
				
			||||||
 | 
					       #:tests? #f)) ; tests require old version of ghc-hunit (0.9)
 | 
				
			||||||
    (native-inputs `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
 | 
					    (native-inputs `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
 | 
				
			||||||
                     ("ghc-sha" ,ghc-sha)
 | 
					                     ("ghc-sha" ,ghc-sha)
 | 
				
			||||||
                     ("ghc-tasty" ,ghc-tasty)
 | 
					                     ("ghc-tasty" ,ghc-tasty)
 | 
				
			||||||
| 
						 | 
					@ -250,6 +253,42 @@ pure API to the @uref{https://en.wikipedia.org/wiki/SHA-1, SHA-1 hash algorithm}
 | 
				
			||||||
including @uref{https://en.wikipedia.org/wiki/HMAC, HMAC support}, with
 | 
					including @uref{https://en.wikipedia.org/wiki/HMAC, HMAC support}, with
 | 
				
			||||||
performance close to the fastest implementations available in other languages.
 | 
					performance close to the fastest implementations available in other languages.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The implementation is made in C with a haskell FFI wrapper that hides
 | 
				
			||||||
 | 
					the C implementation.")
 | 
				
			||||||
 | 
					    (license license:bsd-3)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public ghc-cryptohash-sha256
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "ghc-cryptohash-sha256")
 | 
				
			||||||
 | 
					    (version "0.11.101.0")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://hackage.haskell.org/package/"
 | 
				
			||||||
 | 
					                           "cryptohash-sha256-" version "/"
 | 
				
			||||||
 | 
					                           "cryptohash-sha256-" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1p85vajcgw9hmq8zsz9krzx0vxh7aggwbg5w9ws8w97avcsn8xaj"))))
 | 
				
			||||||
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:cabal-revision
 | 
				
			||||||
 | 
					       ("1" "19birnmwga1yh82l4jqc3fygqkqcf5y8dlldnxfswngkzc3rvwp3")
 | 
				
			||||||
 | 
					       #:tests? #f)) ; tests require old version of ghc-hunit (0.9)
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("ghc-sha" ,ghc-sha)
 | 
				
			||||||
 | 
					       ("ghc-tasty" ,ghc-tasty)
 | 
				
			||||||
 | 
					       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
 | 
				
			||||||
 | 
					       ("ghc-hunit" ,ghc-hunit)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/hvr/cryptohash-sha1")
 | 
				
			||||||
 | 
					    (synopsis "SHA-256 implementation for Haskell")
 | 
				
			||||||
 | 
					    (description "This Haskell package provides an incremental and
 | 
				
			||||||
 | 
					one-pass, pure API to the @uref{https://en.wikipedia.org/wiki/SHA-2,
 | 
				
			||||||
 | 
					SHA-256 cryptographic hash algorithm}, with performance close to the
 | 
				
			||||||
 | 
					fastest implementations available in other languages.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The implementation is made in C with a haskell FFI wrapper that hides
 | 
					The implementation is made in C with a haskell FFI wrapper that hides
 | 
				
			||||||
the C implementation.")
 | 
					the C implementation.")
 | 
				
			||||||
    (license license:bsd-3)))
 | 
					    (license license:bsd-3)))
 | 
				
			||||||
| 
						 | 
					@ -315,7 +354,7 @@ are implemented as FFI bindings to efficient code from zlib.")
 | 
				
			||||||
(define-public ghc-entropy
 | 
					(define-public ghc-entropy
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-entropy")
 | 
					    (name "ghc-entropy")
 | 
				
			||||||
    (version "0.3.8")
 | 
					    (version "0.4.1.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -324,7 +363,7 @@ are implemented as FFI bindings to efficient code from zlib.")
 | 
				
			||||||
                           "entropy-" version ".tar.gz"))
 | 
					                           "entropy-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1l3lfigqvdlmxkz1wl7zdkmc0i2r5p6z4xzhiw8xdsbsw7aljfkl"))))
 | 
					         "1ahz5g148l6sax3dy505na2513i99c7bxix68jja5kbx4f271zcf"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (home-page "https://github.com/TomMD/entropy")
 | 
					    (home-page "https://github.com/TomMD/entropy")
 | 
				
			||||||
    (synopsis "Provides platform independent entropy source for Haskell")
 | 
					    (synopsis "Provides platform independent entropy source for Haskell")
 | 
				
			||||||
| 
						 | 
					@ -335,18 +374,18 @@ to obtain cryptographically strong entropy.")
 | 
				
			||||||
(define-public ghc-pem
 | 
					(define-public ghc-pem
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-pem")
 | 
					    (name "ghc-pem")
 | 
				
			||||||
    (version "0.2.2")
 | 
					    (version "0.2.4")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://hackage.haskell.org/package/"
 | 
					              (uri (string-append "https://hackage.haskell.org/package/"
 | 
				
			||||||
                                  "pem/pem-" version ".tar.gz"))
 | 
					                                  "pem/pem-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "162sk5sg22w21wqz5qv8kx6ibxp99v5p20g3nknhm1kddk3hha1p"))))
 | 
					                "1m7qjsxrd8m88cvkqmr8kscril500j2a9y0iynvksjyjkhdlq33p"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-mtl" ,ghc-mtl)
 | 
					     `(("ghc-basement" ,ghc-basement)
 | 
				
			||||||
       ("ghc-base64-bytestring" ,ghc-base64-bytestring)))
 | 
					       ("ghc-memory" ,ghc-memory)))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("ghc-test-framework" ,ghc-test-framework)
 | 
					     `(("ghc-test-framework" ,ghc-test-framework)
 | 
				
			||||||
       ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
 | 
					       ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
 | 
				
			||||||
| 
						 | 
					@ -393,14 +432,14 @@ interface.")
 | 
				
			||||||
(define-public ghc-sha
 | 
					(define-public ghc-sha
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-sha")
 | 
					    (name "ghc-sha")
 | 
				
			||||||
    (version "1.6.4.2")
 | 
					    (version "1.6.4.4")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://hackage.haskell.org/package/"
 | 
					              (uri (string-append "https://hackage.haskell.org/package/"
 | 
				
			||||||
                                  "SHA/SHA-" version ".tar.gz"))
 | 
					                                  "SHA/SHA-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "134ajm87fm4lpsw86m9q8apv20dw4bpk46raa389zr6bcdpifw64"))))
 | 
					                "0i4b2wjisivdy72synal711ywhx05mfqfba5n65rk8qidggm1nbb"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("ghc-quickcheck" ,ghc-quickcheck)
 | 
					     `(("ghc-quickcheck" ,ghc-quickcheck)
 | 
				
			||||||
| 
						 | 
					@ -420,18 +459,17 @@ libraries, like OpenSSL.")
 | 
				
			||||||
(define-public ghc-x509
 | 
					(define-public ghc-x509
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-x509")
 | 
					    (name "ghc-x509")
 | 
				
			||||||
    (version "1.6.4")
 | 
					    (version "1.7.3")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://hackage.haskell.org/package/"
 | 
					              (uri (string-append "https://hackage.haskell.org/package/"
 | 
				
			||||||
                                  "x509/x509-" version ".tar.gz"))
 | 
					                                  "x509/x509-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0hixx76wpb4qxida017ka5zr6lrsycahrqyw8z90q9mxvndpy3my"))))
 | 
					                "0mkk29g32fs70bqkikg83v45h9jig9c8aail3mrdqwxpkfa0yx21"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-memory" ,ghc-memory)
 | 
					     `(("ghc-memory" ,ghc-memory)
 | 
				
			||||||
       ("ghc-mtl" ,ghc-mtl)
 | 
					 | 
				
			||||||
       ("ghc-hourglass" ,ghc-hourglass)
 | 
					       ("ghc-hourglass" ,ghc-hourglass)
 | 
				
			||||||
       ("ghc-pem" ,ghc-pem)
 | 
					       ("ghc-pem" ,ghc-pem)
 | 
				
			||||||
       ("ghc-asn1-types" ,ghc-asn1-types)
 | 
					       ("ghc-asn1-types" ,ghc-asn1-types)
 | 
				
			||||||
| 
						 | 
					@ -450,7 +488,7 @@ libraries, like OpenSSL.")
 | 
				
			||||||
(define-public ghc-x509-store
 | 
					(define-public ghc-x509-store
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-x509-store")
 | 
					    (name "ghc-x509-store")
 | 
				
			||||||
    (version "1.6.2")
 | 
					    (version "1.6.6")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://hackage.haskell.org/package/"
 | 
					              (uri (string-append "https://hackage.haskell.org/package/"
 | 
				
			||||||
| 
						 | 
					@ -458,15 +496,17 @@ libraries, like OpenSSL.")
 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0yw09nwkvr324qz4sc27c0p28bz2h6gns6lkaz9mz92mgqf2dza9"))))
 | 
					                "0dbndqmnmyixxc7308nyq3zlkhz9dff4rbcw2a49c77rbicny9va"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-mtl" ,ghc-mtl)
 | 
					     `(("ghc-pem" ,ghc-pem)
 | 
				
			||||||
       ("ghc-pem" ,ghc-pem)
 | 
					 | 
				
			||||||
       ("ghc-asn1-types" ,ghc-asn1-types)
 | 
					       ("ghc-asn1-types" ,ghc-asn1-types)
 | 
				
			||||||
       ("ghc-asn1-encoding" ,ghc-asn1-encoding)
 | 
					       ("ghc-asn1-encoding" ,ghc-asn1-encoding)
 | 
				
			||||||
       ("ghc-cryptonite" ,ghc-cryptonite)
 | 
					       ("ghc-cryptonite" ,ghc-cryptonite)
 | 
				
			||||||
       ("ghc-x509" ,ghc-x509)))
 | 
					       ("ghc-x509" ,ghc-x509)))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("ghc-tasty" ,ghc-tasty)
 | 
				
			||||||
 | 
					       ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
 | 
				
			||||||
    (home-page "https://github.com/vincenthz/hs-certificate")
 | 
					    (home-page "https://github.com/vincenthz/hs-certificate")
 | 
				
			||||||
    (synopsis "X.509 collection accessing and storing methods")
 | 
					    (synopsis "X.509 collection accessing and storing methods")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -477,7 +517,7 @@ collections, certificates, revocation lists, and exception lists.")
 | 
				
			||||||
(define-public ghc-x509-validation
 | 
					(define-public ghc-x509-validation
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-x509-validation")
 | 
					    (name "ghc-x509-validation")
 | 
				
			||||||
    (version "1.6.5")
 | 
					    (version "1.6.10")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://hackage.haskell.org/package/"
 | 
					              (uri (string-append "https://hackage.haskell.org/package/"
 | 
				
			||||||
| 
						 | 
					@ -485,12 +525,11 @@ collections, certificates, revocation lists, and exception lists.")
 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "190w1sr3w6w49v3yvqz4grb0v09ym4gll3n8bxwijvbvcybk3xyi"))))
 | 
					                "1ms51scawldgyfcim5a2qlgyn3rnrclyh205d6djaa1569vrs73n"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-memory" ,ghc-memory)
 | 
					     `(("ghc-memory" ,ghc-memory)
 | 
				
			||||||
       ("ghc-byteable" ,ghc-byteable)
 | 
					       ("ghc-byteable" ,ghc-byteable)
 | 
				
			||||||
       ("ghc-mtl" ,ghc-mtl)
 | 
					 | 
				
			||||||
       ("ghc-hourglass" ,ghc-hourglass)
 | 
					       ("ghc-hourglass" ,ghc-hourglass)
 | 
				
			||||||
       ("ghc-data-default-class" ,ghc-data-default-class)
 | 
					       ("ghc-data-default-class" ,ghc-data-default-class)
 | 
				
			||||||
       ("ghc-pem" ,ghc-pem)
 | 
					       ("ghc-pem" ,ghc-pem)
 | 
				
			||||||
| 
						 | 
					@ -499,6 +538,9 @@ collections, certificates, revocation lists, and exception lists.")
 | 
				
			||||||
       ("ghc-x509" ,ghc-x509)
 | 
					       ("ghc-x509" ,ghc-x509)
 | 
				
			||||||
       ("ghc-x509-store" ,ghc-x509-store)
 | 
					       ("ghc-x509-store" ,ghc-x509-store)
 | 
				
			||||||
       ("ghc-cryptonite" ,ghc-cryptonite)))
 | 
					       ("ghc-cryptonite" ,ghc-cryptonite)))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("ghc-tasty" ,ghc-tasty)
 | 
				
			||||||
 | 
					       ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
 | 
				
			||||||
    (home-page "https://github.com/vincenthz/hs-certificate")
 | 
					    (home-page "https://github.com/vincenthz/hs-certificate")
 | 
				
			||||||
    (synopsis "X.509 certificate and revocation list validation")
 | 
					    (synopsis "X.509 certificate and revocation list validation")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -509,7 +551,7 @@ list validation.")
 | 
				
			||||||
(define-public ghc-x509-system
 | 
					(define-public ghc-x509-system
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-x509-system")
 | 
					    (name "ghc-x509-system")
 | 
				
			||||||
    (version "1.6.4")
 | 
					    (version "1.6.6")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://hackage.haskell.org/package/"
 | 
					              (uri (string-append "https://hackage.haskell.org/package/"
 | 
				
			||||||
| 
						 | 
					@ -517,11 +559,10 @@ list validation.")
 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0k7zc0xp7r6kqmi39rpiicvq78xb0pr2cq6q5s3kmmsshllg13nr"))))
 | 
					                "06a4m9c7vlr9nhp9gmqbb46arf0yj1dkdm4nip03hzy67spdmp20"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-mtl" ,ghc-mtl)
 | 
					     `(("ghc-pem" ,ghc-pem)
 | 
				
			||||||
       ("ghc-pem" ,ghc-pem)
 | 
					 | 
				
			||||||
       ("ghc-x509" ,ghc-x509)
 | 
					       ("ghc-x509" ,ghc-x509)
 | 
				
			||||||
       ("ghc-x509-store" ,ghc-x509-store)))
 | 
					       ("ghc-x509-store" ,ghc-x509-store)))
 | 
				
			||||||
    (home-page "https://github.com/vincenthz/hs-certificate")
 | 
					    (home-page "https://github.com/vincenthz/hs-certificate")
 | 
				
			||||||
| 
						 | 
					@ -660,3 +701,33 @@ percent.
 | 
				
			||||||
@item Monte Carlo value for Pi is 3.132465868 (error 0.29 percent).
 | 
					@item Monte Carlo value for Pi is 3.132465868 (error 0.29 percent).
 | 
				
			||||||
@end itemize")
 | 
					@end itemize")
 | 
				
			||||||
    (license license:bsd-3)))
 | 
					    (license license:bsd-3)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public ghc-ed25519
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "ghc-ed25519")
 | 
				
			||||||
 | 
					    (version "0.0.5.0")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "https://hackage.haskell.org/package/ed25519/ed25519-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "0v8msqvgzimhs7p5ri25hrb1ni2wvisl5rmdxy89fc59py79b9fq"))))
 | 
				
			||||||
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:cabal-revision
 | 
				
			||||||
 | 
					       ("2" "1cq6h3jqkb1kvd9fjfhsllg5gq78sdiyf2gy9862xhlbv6wil19f")
 | 
				
			||||||
 | 
					       ;; We omit these test suites because they require old versions of
 | 
				
			||||||
 | 
					       ;; packages and packages we do not have.
 | 
				
			||||||
 | 
					       #:configure-flags
 | 
				
			||||||
 | 
					       '("--flags=-test-hlint -test-doctests -test-properties")))
 | 
				
			||||||
 | 
					    (home-page "http://thoughtpolice.github.com/hs-ed25519")
 | 
				
			||||||
 | 
					    (synopsis "Ed25519 cryptographic signatures")
 | 
				
			||||||
 | 
					    (description "This package provides a simple, fast, self-contained
 | 
				
			||||||
 | 
					copy of the Ed25519 public-key signature system with a clean interface.
 | 
				
			||||||
 | 
					It also includes support for detached signatures, and thorough
 | 
				
			||||||
 | 
					documentation on the design and implementation, including usage
 | 
				
			||||||
 | 
					guidelines.")
 | 
				
			||||||
 | 
					    (license license:expat)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,6 +23,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-module (gnu packages haskell-web)
 | 
					(define-module (gnu packages haskell-web)
 | 
				
			||||||
  #:use-module (gnu packages)
 | 
					  #:use-module (gnu packages)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages curl)
 | 
				
			||||||
  #:use-module (gnu packages haskell)
 | 
					  #:use-module (gnu packages haskell)
 | 
				
			||||||
  #:use-module (gnu packages haskell-check)
 | 
					  #:use-module (gnu packages haskell-check)
 | 
				
			||||||
  #:use-module (gnu packages haskell-crypto)
 | 
					  #:use-module (gnu packages haskell-crypto)
 | 
				
			||||||
| 
						 | 
					@ -64,7 +65,7 @@ for screen-scraping.")
 | 
				
			||||||
(define-public ghc-cookie
 | 
					(define-public ghc-cookie
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-cookie")
 | 
					    (name "ghc-cookie")
 | 
				
			||||||
    (version "0.4.3")
 | 
					    (version "0.4.4")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -74,7 +75,7 @@ for screen-scraping.")
 | 
				
			||||||
             ".tar.gz"))
 | 
					             ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0qpdydhb9gw590ffabqg70x7xvjpg8l74idqnrfbhv5yrr7hryzv"))))
 | 
					         "1qy09i0jh2z9i9avy2khf8a8afq4fqgnv0fyrszgfg4kmq2fsi9j"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-old-locale" ,ghc-old-locale)
 | 
					     `(("ghc-old-locale" ,ghc-old-locale)
 | 
				
			||||||
| 
						 | 
					@ -171,7 +172,6 @@ both client and server code).")
 | 
				
			||||||
       ("ghc-old-time" ,ghc-old-time)
 | 
					       ("ghc-old-time" ,ghc-old-time)
 | 
				
			||||||
       ("ghc-parsec" ,ghc-parsec)
 | 
					       ("ghc-parsec" ,ghc-parsec)
 | 
				
			||||||
       ("ghc-puremd5" ,ghc-puremd5)
 | 
					       ("ghc-puremd5" ,ghc-puremd5)
 | 
				
			||||||
       ("ghc-mtl" ,ghc-mtl)
 | 
					 | 
				
			||||||
       ("ghc-network" ,ghc-network)
 | 
					       ("ghc-network" ,ghc-network)
 | 
				
			||||||
       ("ghc-network-uri" ,ghc-network-uri)
 | 
					       ("ghc-network-uri" ,ghc-network-uri)
 | 
				
			||||||
       ("ghc-split" ,ghc-split)))
 | 
					       ("ghc-split" ,ghc-split)))
 | 
				
			||||||
| 
						 | 
					@ -230,7 +230,7 @@ for more user-friendly packages.")
 | 
				
			||||||
(define-public ghc-http-client-tls
 | 
					(define-public ghc-http-client-tls
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-http-client-tls")
 | 
					    (name "ghc-http-client-tls")
 | 
				
			||||||
    (version "0.3.5.1")
 | 
					    (version "0.3.5.3")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://hackage.haskell.org/package/"
 | 
					              (uri (string-append "https://hackage.haskell.org/package/"
 | 
				
			||||||
| 
						 | 
					@ -238,7 +238,7 @@ for more user-friendly packages.")
 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0n4mi8z77qaggfyq17z79cl304nf1f4h6gag60v4wjwghvmj7yn1"))))
 | 
					                "0qj3pcpgbsfsc4m52dz35khhl4hf1i0nmcpa445z82d9567vy6j7"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    ;; Tests require Internet access
 | 
					    ;; Tests require Internet access
 | 
				
			||||||
    (arguments `(#:tests? #f))
 | 
					    (arguments `(#:tests? #f))
 | 
				
			||||||
| 
						 | 
					@ -262,7 +262,7 @@ libraries, such as http-conduit.")
 | 
				
			||||||
(define-public ghc-http-date
 | 
					(define-public ghc-http-date
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-http-date")
 | 
					    (name "ghc-http-date")
 | 
				
			||||||
    (version "0.0.6.1")
 | 
					    (version "0.0.8")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -271,7 +271,7 @@ libraries, such as http-conduit.")
 | 
				
			||||||
                           "http-date-" version ".tar.gz"))
 | 
					                           "http-date-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0dknh28kyarnzqrsc80ssalxjrq0qbv7ir49247p2grb7rh0dqgj"))))
 | 
					         "09slbzqayjnqqz9zybk7slgzvizgplikqgg4b2flzgks91466k0g"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-attoparsec" ,ghc-attoparsec)))
 | 
					     `(("ghc-attoparsec" ,ghc-attoparsec)))
 | 
				
			||||||
| 
						 | 
					@ -350,7 +350,6 @@ and HPACK.  Currently HTTP/2 16 framing and HPACK 10 is supported.")
 | 
				
			||||||
       ("ghc-http-client" ,ghc-http-client)
 | 
					       ("ghc-http-client" ,ghc-http-client)
 | 
				
			||||||
       ("ghc-http-client-tls" ,ghc-http-client-tls)
 | 
					       ("ghc-http-client-tls" ,ghc-http-client-tls)
 | 
				
			||||||
       ("ghc-monad-control" ,ghc-monad-control)
 | 
					       ("ghc-monad-control" ,ghc-monad-control)
 | 
				
			||||||
       ("ghc-mtl" ,ghc-mtl)
 | 
					 | 
				
			||||||
       ("ghc-exceptions" ,ghc-exceptions)
 | 
					       ("ghc-exceptions" ,ghc-exceptions)
 | 
				
			||||||
       ("ghc-unliftio" ,ghc-unliftio)))
 | 
					       ("ghc-unliftio" ,ghc-unliftio)))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
| 
						 | 
					@ -387,7 +386,7 @@ which allow you to avoid direct usage of conduits.")
 | 
				
			||||||
(define-public ghc-wai
 | 
					(define-public ghc-wai
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-wai")
 | 
					    (name "ghc-wai")
 | 
				
			||||||
    (version "3.2.1.1")
 | 
					    (version "3.2.1.2")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -397,7 +396,7 @@ which allow you to avoid direct usage of conduits.")
 | 
				
			||||||
             ".tar.gz"))
 | 
					             ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "08afasnirja21vr0bmzcywz4w29x736dmdv7h8nnh1l8bn7sd02x"))))
 | 
					         "0jr3b2789wa4m6mxkz12ynz4lfsqmgbrcy0am8karyqr3x3528r8"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-bytestring-builder" ,ghc-bytestring-builder)
 | 
					     `(("ghc-bytestring-builder" ,ghc-bytestring-builder)
 | 
				
			||||||
| 
						 | 
					@ -422,7 +421,7 @@ communication between web applications and web servers.")
 | 
				
			||||||
(define-public ghc-wai-logger
 | 
					(define-public ghc-wai-logger
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-wai-logger")
 | 
					    (name "ghc-wai-logger")
 | 
				
			||||||
    (version "2.3.0")
 | 
					    (version "2.3.2")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -432,7 +431,7 @@ communication between web applications and web servers.")
 | 
				
			||||||
             ".tar.gz"))
 | 
					             ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1w0b0vinsyqr37wciljkz8g5dcmfi2r210lq194a0wkycly9kkch"))))
 | 
					         "0w5ldq4gplc16zzk5ikmbbjw79imaqvw8p6lylaw3hlsbn3zzm4d"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (arguments `(#:tests? #f)) ; FIXME: Tests cannot find libraries exported
 | 
					    (arguments `(#:tests? #f)) ; FIXME: Tests cannot find libraries exported
 | 
				
			||||||
                               ; by propagated-inputs.
 | 
					                               ; by propagated-inputs.
 | 
				
			||||||
| 
						 | 
					@ -455,7 +454,7 @@ communication between web applications and web servers.")
 | 
				
			||||||
(define-public ghc-wai-extra
 | 
					(define-public ghc-wai-extra
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-wai-extra")
 | 
					    (name "ghc-wai-extra")
 | 
				
			||||||
    (version "3.0.18")
 | 
					    (version "3.0.24.2")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -465,7 +464,7 @@ communication between web applications and web servers.")
 | 
				
			||||||
             ".tar.gz"))
 | 
					             ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0r079mqqdv14fp97w0rigdpwk6b88grpjlqsjc5y8bbc0skf5za2"))))
 | 
					         "07gcgq59dki5drkjci9ka34xjsy3bqilbsx0lsc4905w9jlyfbci"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
 | 
					     `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
 | 
				
			||||||
| 
						 | 
					@ -504,7 +503,7 @@ functionality.")
 | 
				
			||||||
(define-public ghc-wai-conduit
 | 
					(define-public ghc-wai-conduit
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-wai-conduit")
 | 
					    (name "ghc-wai-conduit")
 | 
				
			||||||
    (version "3.0.0.3")
 | 
					    (version "3.0.0.4")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -513,7 +512,7 @@ functionality.")
 | 
				
			||||||
                           "wai-conduit-" version ".tar.gz"))
 | 
					                           "wai-conduit-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1zvsiwjq2mvkb9sjgp3ly9m968m7a2jjzr4id6jpi3mmqykj15z4"))))
 | 
					         "07yn41rn2skd5p3wqqa09wa761vj7ibl8l19gh4bi4i8slxhk417"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-conduit" ,ghc-conduit)
 | 
					     `(("ghc-conduit" ,ghc-conduit)
 | 
				
			||||||
| 
						 | 
					@ -526,10 +525,34 @@ functionality.")
 | 
				
			||||||
Haskell's Web Application Interface (WAI).")
 | 
					Haskell's Web Application Interface (WAI).")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (license license:expat)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public ghc-bsb-http-chunked
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "ghc-bsb-http-chunked")
 | 
				
			||||||
 | 
					    (version "0.0.0.2")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "https://hackage.haskell.org/package/"
 | 
				
			||||||
 | 
					             "bsb-http-chunked/bsb-http-chunked-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1x6m6xkrcw6jiaig1bb2wb5pqyw31x8xr9k9pxgq2g3ng44pbjr8"))))
 | 
				
			||||||
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("ghc-bytestring-builder" ,ghc-bytestring-builder)))
 | 
				
			||||||
 | 
					    (home-page "http://github.com/sjakobi/bsb-http-chunked")
 | 
				
			||||||
 | 
					    (synopsis "Chunked HTTP transfer encoding for bytestring builders")
 | 
				
			||||||
 | 
					    (description "This Haskell library contains functions for encoding
 | 
				
			||||||
 | 
					bytestring builders for chunked Hypertext Transfer Protocol (HTTP) 1.1
 | 
				
			||||||
 | 
					transfers.")
 | 
				
			||||||
 | 
					    (license license:bsd-3)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public ghc-warp
 | 
					(define-public ghc-warp
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-warp")
 | 
					    (name "ghc-warp")
 | 
				
			||||||
    (version "3.2.11.1")
 | 
					    (version "3.2.23")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -538,15 +561,12 @@ Haskell's Web Application Interface (WAI).")
 | 
				
			||||||
                           ".tar.gz"))
 | 
					                           ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1zp5cy0bbj508vdvms1n5z80z37m253kwsqc5a83cfc990n6fgw5"))))
 | 
					         "12v9qhi4hyp0sb90yddsax16jj7x47nmqwn53sv7b5nszcxgzam0"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
 | 
					 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-async" ,ghc-async)
 | 
					     `(("ghc-async" ,ghc-async)
 | 
				
			||||||
       ("ghc-auto-update" ,ghc-auto-update)
 | 
					       ("ghc-auto-update" ,ghc-auto-update)
 | 
				
			||||||
       ("ghc-blaze-builder" ,ghc-blaze-builder)
 | 
					       ("ghc-bsb-http-chunked" ,ghc-bsb-http-chunked)
 | 
				
			||||||
       ("ghc-bytestring-builder" ,ghc-bytestring-builder)
 | 
					 | 
				
			||||||
       ("ghc-case-insensitive" ,ghc-case-insensitive)
 | 
					       ("ghc-case-insensitive" ,ghc-case-insensitive)
 | 
				
			||||||
       ("ghc-hashable" ,ghc-hashable)
 | 
					       ("ghc-hashable" ,ghc-hashable)
 | 
				
			||||||
       ("ghc-http-types" ,ghc-http-types)
 | 
					       ("ghc-http-types" ,ghc-http-types)
 | 
				
			||||||
| 
						 | 
					@ -559,18 +579,18 @@ Haskell's Web Application Interface (WAI).")
 | 
				
			||||||
       ("ghc-vault" ,ghc-vault)
 | 
					       ("ghc-vault" ,ghc-vault)
 | 
				
			||||||
       ("ghc-wai" ,ghc-wai)
 | 
					       ("ghc-wai" ,ghc-wai)
 | 
				
			||||||
       ("ghc-word8" ,ghc-word8)
 | 
					       ("ghc-word8" ,ghc-word8)
 | 
				
			||||||
       ("ghc-lifted-base" ,ghc-lifted-base)
 | 
					 | 
				
			||||||
       ("ghc-http-date" ,ghc-http-date)
 | 
					       ("ghc-http-date" ,ghc-http-date)
 | 
				
			||||||
       ("ghc-simple-sendfile" ,ghc-simple-sendfile)
 | 
					       ("ghc-simple-sendfile" ,ghc-simple-sendfile)
 | 
				
			||||||
       ("ghc-http2" ,ghc-http2)))
 | 
					       ("ghc-http2" ,ghc-http2)))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("ghc-silently" ,ghc-silently)
 | 
					     `(("curl" ,curl)
 | 
				
			||||||
 | 
					       ("ghc-silently" ,ghc-silently)
 | 
				
			||||||
       ("ghc-hspec" ,ghc-hspec)
 | 
					       ("ghc-hspec" ,ghc-hspec)
 | 
				
			||||||
       ("ghc-auto-update" ,ghc-auto-update)
 | 
					 | 
				
			||||||
       ("ghc-doctest" ,ghc-doctest)
 | 
					       ("ghc-doctest" ,ghc-doctest)
 | 
				
			||||||
 | 
					       ("ghc-lifted-base" ,ghc-lifted-base)
 | 
				
			||||||
       ("ghc-quickcheck" ,ghc-quickcheck)
 | 
					       ("ghc-quickcheck" ,ghc-quickcheck)
 | 
				
			||||||
       ("ghc-hunit" ,ghc-hunit)
 | 
					       ("ghc-hunit" ,ghc-hunit)
 | 
				
			||||||
       ("ghc-http" ,ghc-http)
 | 
					       ("ghc-http-client" ,ghc-http-client)
 | 
				
			||||||
       ("hspec-discover" ,hspec-discover)))
 | 
					       ("hspec-discover" ,hspec-discover)))
 | 
				
			||||||
    (home-page "http://github.com/yesodweb/wai")
 | 
					    (home-page "http://github.com/yesodweb/wai")
 | 
				
			||||||
    (synopsis "HTTP server library for Haskell's WAI")
 | 
					    (synopsis "HTTP server library for Haskell's WAI")
 | 
				
			||||||
| 
						 | 
					@ -578,10 +598,36 @@ Haskell's Web Application Interface (WAI).")
 | 
				
			||||||
based WAI (Web Application Interface in Haskell).")
 | 
					based WAI (Web Application Interface in Haskell).")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (license license:expat)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public ghc-tls-session-manager
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					  (name "ghc-tls-session-manager")
 | 
				
			||||||
 | 
					  (version "0.0.0.2")
 | 
				
			||||||
 | 
					  (source
 | 
				
			||||||
 | 
					    (origin
 | 
				
			||||||
 | 
					      (method url-fetch)
 | 
				
			||||||
 | 
					      (uri (string-append
 | 
				
			||||||
 | 
					            "https://hackage.haskell.org/package/"
 | 
				
			||||||
 | 
					            "tls-session-manager/tls-session-manager-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					      (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					          "0rvmln545vghsx8zhxp44f0f6pzma8cylarmfhhysy55ipywr1n5"))))
 | 
				
			||||||
 | 
					  (build-system haskell-build-system)
 | 
				
			||||||
 | 
					  (inputs
 | 
				
			||||||
 | 
					    `(("ghc-auto-update" ,ghc-auto-update)
 | 
				
			||||||
 | 
					      ("ghc-clock" ,ghc-clock)
 | 
				
			||||||
 | 
					      ("ghc-psqueues" ,ghc-psqueues)
 | 
				
			||||||
 | 
					      ("ghc-tls" ,ghc-tls)))
 | 
				
			||||||
 | 
					  (home-page "http://hackage.haskell.org/package/tls-session-manager")
 | 
				
			||||||
 | 
					  (synopsis "In-memory TLS session manager")
 | 
				
			||||||
 | 
					  (description "This Haskell library provides a TLS session manager with
 | 
				
			||||||
 | 
					limitation, automatic pruning, energy saving and replay resistance.")
 | 
				
			||||||
 | 
					  (license license:bsd-3)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public ghc-warp-tls
 | 
					(define-public ghc-warp-tls
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-warp-tls")
 | 
					    (name "ghc-warp-tls")
 | 
				
			||||||
    (version "3.2.3")
 | 
					    (version "3.2.4.3")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -590,7 +636,7 @@ based WAI (Web Application Interface in Haskell).")
 | 
				
			||||||
                           "warp-tls-" version ".tar.gz"))
 | 
					                           "warp-tls-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "14m2bzk5ivz9gdpxlcj6qnh46f2lycm1ybdjnfkj2876zrqwii7m"))))
 | 
					         "17gj295fr98l7mkz2gdz6kahdnmja0sql3kvy2zab6q168g53kc4"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-cryptonite" ,ghc-cryptonite)
 | 
					     `(("ghc-cryptonite" ,ghc-cryptonite)
 | 
				
			||||||
| 
						 | 
					@ -598,6 +644,7 @@ based WAI (Web Application Interface in Haskell).")
 | 
				
			||||||
       ("ghc-network" ,ghc-network)
 | 
					       ("ghc-network" ,ghc-network)
 | 
				
			||||||
       ("ghc-streaming-commons" ,ghc-streaming-commons)
 | 
					       ("ghc-streaming-commons" ,ghc-streaming-commons)
 | 
				
			||||||
       ("ghc-tls" ,ghc-tls)
 | 
					       ("ghc-tls" ,ghc-tls)
 | 
				
			||||||
 | 
					       ("ghc-tls-session-manager" ,ghc-tls-session-manager)
 | 
				
			||||||
       ("ghc-wai" ,ghc-wai)
 | 
					       ("ghc-wai" ,ghc-wai)
 | 
				
			||||||
       ("ghc-warp" ,ghc-warp)))
 | 
					       ("ghc-warp" ,ghc-warp)))
 | 
				
			||||||
    (home-page "http://github.com/yesodweb/wai")
 | 
					    (home-page "http://github.com/yesodweb/wai")
 | 
				
			||||||
| 
						 | 
					@ -609,7 +656,7 @@ a WAI handler, via the native Haskell TLS implementation.")
 | 
				
			||||||
(define-public ghc-xss-sanitize
 | 
					(define-public ghc-xss-sanitize
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-xss-sanitize")
 | 
					    (name "ghc-xss-sanitize")
 | 
				
			||||||
    (version "0.3.5.7")
 | 
					    (version "0.3.6")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -618,7 +665,7 @@ a WAI handler, via the native Haskell TLS implementation.")
 | 
				
			||||||
             version ".tar.gz"))
 | 
					             version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "005cmhaw9xbzkcn42jmhvcvk63bzmg4lml368xwmqdvh7r0mcn4m"))))
 | 
					         "1d72s3a6520iwwc1wbn9v2znqgbw6a5wwzb23iq8ny9ccnjyx1dk"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-tagsoup" ,ghc-tagsoup)
 | 
					     `(("ghc-tagsoup" ,ghc-tagsoup)
 | 
				
			||||||
| 
						 | 
					@ -666,7 +713,7 @@ Haskell.")
 | 
				
			||||||
(define-public ghc-mime-types
 | 
					(define-public ghc-mime-types
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-mime-types")
 | 
					    (name "ghc-mime-types")
 | 
				
			||||||
    (version "0.1.0.7")
 | 
					    (version "0.1.0.8")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://hackage.haskell.org/package/"
 | 
					              (uri (string-append "https://hackage.haskell.org/package/"
 | 
				
			||||||
| 
						 | 
					@ -674,7 +721,7 @@ Haskell.")
 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1fg9cqpp5lswk8ajlq4f41n12c2v2naz179l8dsz6zisjqj4l5l3"))))
 | 
					                "14ccl2842ya17zyj0bpc7vzklbyqvvydpbypn69h2fmhgji192x8"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-text" ,ghc-text)))
 | 
					     `(("ghc-text" ,ghc-text)))
 | 
				
			||||||
| 
						 | 
					@ -710,7 +757,7 @@ documents.")
 | 
				
			||||||
(define-public ghc-xhtml
 | 
					(define-public ghc-xhtml
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-xhtml")
 | 
					    (name "ghc-xhtml")
 | 
				
			||||||
    (version "3000.2.1")
 | 
					    (version "3000.2.2.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -720,7 +767,7 @@ documents.")
 | 
				
			||||||
             ".tar.gz"))
 | 
					             ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1n6wgzxbj8xf0wf1il827qidphnffb5vzhwzqlxhh70c2y10f0ik"))))
 | 
					         "0939kwpinq6l4n3nyvd1gzyl7f83gymw0wzqndlgy1yc7q0nkj2w"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (home-page "https://github.com/haskell/xhtml")
 | 
					    (home-page "https://github.com/haskell/xhtml")
 | 
				
			||||||
    (synopsis "XHTML combinator library")
 | 
					    (synopsis "XHTML combinator library")
 | 
				
			||||||
| 
						 | 
					@ -732,7 +779,7 @@ Strict, Transitional and Frameset variants.")
 | 
				
			||||||
(define-public ghc-blaze-html
 | 
					(define-public ghc-blaze-html
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-blaze-html")
 | 
					    (name "ghc-blaze-html")
 | 
				
			||||||
    (version "0.9.0.1")
 | 
					    (version "0.9.1.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -741,11 +788,8 @@ Strict, Transitional and Frameset variants.")
 | 
				
			||||||
                           version ".tar.gz"))
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0r0acv47nh75bmf7kjyfvhcwz8f02rn9x0a1l80pzgyczfrsmkmf"))))
 | 
					         "06xv8fqhclfjj61z74cgggn4lmx1s7diakxg84mnkgfvk11983pa"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     `(#:configure-flags (list "--allow-newer=QuickCheck"
 | 
					 | 
				
			||||||
                               "--allow-newer=HUnit")))
 | 
					 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-blaze-builder" ,ghc-blaze-builder)
 | 
					     `(("ghc-blaze-builder" ,ghc-blaze-builder)
 | 
				
			||||||
       ("ghc-text" ,ghc-text)
 | 
					       ("ghc-text" ,ghc-text)
 | 
				
			||||||
| 
						 | 
					@ -764,7 +808,7 @@ Strict, Transitional and Frameset variants.")
 | 
				
			||||||
(define-public ghc-aeson
 | 
					(define-public ghc-aeson
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-aeson")
 | 
					    (name "ghc-aeson")
 | 
				
			||||||
    (version "1.2.4.0")
 | 
					    (version "1.3.1.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -774,7 +818,7 @@ Strict, Transitional and Frameset variants.")
 | 
				
			||||||
             ".tar.gz"))
 | 
					             ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "16zwpd07cmhs58wwsqbhxy3b58gqw8w5nr7nf6lwi4nvznjdn09l"))))
 | 
					         "1i1ig840fvsb1lnklcv32zsc0zscirc301lw1mpfxhc6h4pk0gw4"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
 | 
					    (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
| 
						 | 
					@ -808,22 +852,10 @@ for Haskell, optimized for ease of use and high performance.  (A note on
 | 
				
			||||||
naming: in Greek mythology, Aeson was the father of Jason.)")
 | 
					naming: in Greek mythology, Aeson was the father of Jason.)")
 | 
				
			||||||
    (license license:bsd-3)))
 | 
					    (license license:bsd-3)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public ghc-aeson-for-pandoc-1
 | 
					 | 
				
			||||||
  (package (inherit ghc-aeson)
 | 
					 | 
				
			||||||
    (version "1.1.2.0")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append "https://hackage.haskell.org/package/aeson/aeson-"
 | 
					 | 
				
			||||||
                           version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32
 | 
					 | 
				
			||||||
         "1zy5z8pzvh53qkjm0nm3f4rwqfqg3867ck8ncd6mrxpcyvxqqj1p"))))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public ghc-aeson-pretty
 | 
					(define-public ghc-aeson-pretty
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-aeson-pretty")
 | 
					    (name "ghc-aeson-pretty")
 | 
				
			||||||
    (version "0.8.5")
 | 
					    (version "0.8.7")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -831,7 +863,7 @@ naming: in Greek mythology, Aeson was the father of Jason.)")
 | 
				
			||||||
                    version ".tar.gz"))
 | 
					                    version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1yd98972srlbkn0f2jhrb3f443j9wnq2fnw5gbxjxzmkcinfh5yx"))))
 | 
					                "1m977gs0s9gf3lwzlbs5y7bl6ansc5pywmn2qjk09l5bwg2yrhf1"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-aeson" ,ghc-aeson)
 | 
					     `(("ghc-aeson" ,ghc-aeson)
 | 
				
			||||||
| 
						 | 
					@ -889,7 +921,7 @@ of a JSON value into a @code{Data.Aeson.Value}.")
 | 
				
			||||||
(define-public ghc-multipart
 | 
					(define-public ghc-multipart
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-multipart")
 | 
					    (name "ghc-multipart")
 | 
				
			||||||
    (version "0.1.2")
 | 
					    (version "0.1.3")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -899,9 +931,11 @@ of a JSON value into a @code{Data.Aeson.Value}.")
 | 
				
			||||||
             ".tar.gz"))
 | 
					             ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0g04jhyw1ib1s7c9bcldyyn4n90qd9x7dmvic4vgq57bgcqgnhz5"))))
 | 
					         "1x4n4yyva22dhfr1pg5ki112qvvzb4hyd7bwpm189iq4gcp52q4z"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs `(("ghc-parsec" ,ghc-parsec)))
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("ghc-parsec" ,ghc-parsec)
 | 
				
			||||||
 | 
					       ("ghc-stringsearch" ,ghc-stringsearch)))
 | 
				
			||||||
    (home-page
 | 
					    (home-page
 | 
				
			||||||
     "http://www.github.com/silkapp/multipart")
 | 
					     "http://www.github.com/silkapp/multipart")
 | 
				
			||||||
    (synopsis
 | 
					    (synopsis
 | 
				
			||||||
| 
						 | 
					@ -1023,7 +1057,7 @@ avoid any issues with characters.")
 | 
				
			||||||
(define-public ghc-yesod-core
 | 
					(define-public ghc-yesod-core
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-yesod-core")
 | 
					    (name "ghc-yesod-core")
 | 
				
			||||||
    (version "1.4.37")
 | 
					    (version "1.6.6")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -1032,18 +1066,18 @@ avoid any issues with characters.")
 | 
				
			||||||
                           "yesod-core-" version ".tar.gz"))
 | 
					                           "yesod-core-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0ww8hl0cx2g58zrdx3j6d5m2xwhssbajdqws1xk6rzl7rpfm1b9j"))))
 | 
					         "0xahf6m5c7mkl74p0gimy4wb5w4s3lh92wwxmk517fbq666c92kb"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs `(("ghc-wai" ,ghc-wai)
 | 
					    (inputs `(("ghc-wai" ,ghc-wai)
 | 
				
			||||||
              ("ghc-extra" ,ghc-extra)
 | 
					              ("ghc-extra" ,ghc-extra)
 | 
				
			||||||
              ("ghc-text" ,ghc-text)
 | 
					              ("ghc-text" ,ghc-text)
 | 
				
			||||||
              ("ghc-shakespeare" ,ghc-shakespeare)
 | 
					              ("ghc-shakespeare" ,ghc-shakespeare)
 | 
				
			||||||
              ("ghc-blaze-builder" ,ghc-blaze-builder)
 | 
					              ("ghc-blaze-builder" ,ghc-blaze-builder)
 | 
				
			||||||
              ("ghc-mtl" ,ghc-mtl)
 | 
					 | 
				
			||||||
              ("ghc-clientsession" ,ghc-clientsession)
 | 
					              ("ghc-clientsession" ,ghc-clientsession)
 | 
				
			||||||
              ("ghc-random" ,ghc-random)
 | 
					              ("ghc-random" ,ghc-random)
 | 
				
			||||||
              ("ghc-cereal" ,ghc-cereal)
 | 
					              ("ghc-cereal" ,ghc-cereal)
 | 
				
			||||||
              ("ghc-old-locale" ,ghc-old-locale)
 | 
					              ("ghc-old-locale" ,ghc-old-locale)
 | 
				
			||||||
 | 
					              ("ghc-unliftio" ,ghc-unliftio)
 | 
				
			||||||
              ("ghc-unordered-containers" ,ghc-unordered-containers)
 | 
					              ("ghc-unordered-containers" ,ghc-unordered-containers)
 | 
				
			||||||
              ("ghc-monad-control" ,ghc-monad-control)
 | 
					              ("ghc-monad-control" ,ghc-monad-control)
 | 
				
			||||||
              ("ghc-transformers-base" ,ghc-transformers-base)
 | 
					              ("ghc-transformers-base" ,ghc-transformers-base)
 | 
				
			||||||
| 
						 | 
					@ -1058,6 +1092,7 @@ avoid any issues with characters.")
 | 
				
			||||||
              ("ghc-monad-logger" ,ghc-monad-logger)
 | 
					              ("ghc-monad-logger" ,ghc-monad-logger)
 | 
				
			||||||
              ("ghc-conduit" ,ghc-conduit)
 | 
					              ("ghc-conduit" ,ghc-conduit)
 | 
				
			||||||
              ("ghc-resourcet" ,ghc-resourcet)
 | 
					              ("ghc-resourcet" ,ghc-resourcet)
 | 
				
			||||||
 | 
					              ("ghc-rio" ,ghc-rio)
 | 
				
			||||||
              ("ghc-lifted-base" ,ghc-lifted-base)
 | 
					              ("ghc-lifted-base" ,ghc-lifted-base)
 | 
				
			||||||
              ("ghc-blaze-html" ,ghc-blaze-html)
 | 
					              ("ghc-blaze-html" ,ghc-blaze-html)
 | 
				
			||||||
              ("ghc-blaze-markup" ,ghc-blaze-markup)
 | 
					              ("ghc-blaze-markup" ,ghc-blaze-markup)
 | 
				
			||||||
| 
						 | 
					@ -1093,7 +1128,7 @@ functions, widgets, etc.")
 | 
				
			||||||
(define-public ghc-yesod-persistent
 | 
					(define-public ghc-yesod-persistent
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-yesod-persistent")
 | 
					    (name "ghc-yesod-persistent")
 | 
				
			||||||
    (version "1.4.3")
 | 
					    (version "1.6.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -1102,7 +1137,7 @@ functions, widgets, etc.")
 | 
				
			||||||
                           "yesod-persistent-" version ".tar.gz"))
 | 
					                           "yesod-persistent-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0kiksw46c8ww9yiwl28pkrppx8d6fhsasr0hvmsliqbrp16likj8"))))
 | 
					         "1gd59xf7b6v3cald58mzwnfbdzjr49cz60rm4wc5w9pvfx12pgj2"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH.
 | 
					    (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH.
 | 
				
			||||||
    (inputs `(("ghc-yesod-core" ,ghc-yesod-core)
 | 
					    (inputs `(("ghc-yesod-core" ,ghc-yesod-core)
 | 
				
			||||||
| 
						 | 
					@ -1126,7 +1161,7 @@ from Yesod.")
 | 
				
			||||||
(define-public ghc-yesod-form
 | 
					(define-public ghc-yesod-form
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
    (name "ghc-yesod-form")
 | 
					    (name "ghc-yesod-form")
 | 
				
			||||||
    (version "1.4.16")
 | 
					    (version "1.6.2")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
      (origin
 | 
					      (origin
 | 
				
			||||||
        (method url-fetch)
 | 
					        (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -1136,7 +1171,7 @@ from Yesod.")
 | 
				
			||||||
               ".tar.gz"))
 | 
					               ".tar.gz"))
 | 
				
			||||||
        (sha256
 | 
					        (sha256
 | 
				
			||||||
          (base32
 | 
					          (base32
 | 
				
			||||||
            "0lij3m5vn8nvh6y88r1dhk03xmmjwmjzazm307nc2wvc5fmx9p2j"))))
 | 
					            "1p1x1hffvarplc82ykdk7rm6p5isqgqf78bvxzpfhncxs4kwx057"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
      `(("ghc-yesod-core" ,ghc-yesod-core)
 | 
					      `(("ghc-yesod-core" ,ghc-yesod-core)
 | 
				
			||||||
| 
						 | 
					@ -1169,7 +1204,7 @@ providing richtext field using Nic editor. ")
 | 
				
			||||||
(define-public ghc-yesod
 | 
					(define-public ghc-yesod
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-yesod")
 | 
					    (name "ghc-yesod")
 | 
				
			||||||
    (version "1.4.5")
 | 
					    (version "1.6.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -1178,7 +1213,7 @@ providing richtext field using Nic editor. ")
 | 
				
			||||||
             version ".tar.gz"))
 | 
					             version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1sg66nq8yaas2m5nqsdrxricvcizd1ik02zqk60sxh3wna08fz16"))))
 | 
					         "0wx77nbpzdh40p1bm527kimfj48vs9d2avpvvz2w42zi3pz2y94a"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-yesod-core" ,ghc-yesod-core)
 | 
					     `(("ghc-yesod-core" ,ghc-yesod-core)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
 | 
					;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
 | 
				
			||||||
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
 | 
					;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -21,25 +22,33 @@
 | 
				
			||||||
  #:use-module ((guix licenses) #:prefix license:)
 | 
					  #:use-module ((guix licenses) #:prefix license:)
 | 
				
			||||||
  #:use-module (guix packages)
 | 
					  #:use-module (guix packages)
 | 
				
			||||||
  #:use-module (gnu packages)
 | 
					  #:use-module (gnu packages)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages autotools)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
  #:use-module (gnu packages ncurses)
 | 
					  #:use-module (gnu packages ncurses)
 | 
				
			||||||
  #:use-module (guix download)
 | 
					  #:use-module (guix download)
 | 
				
			||||||
 | 
					  #:use-module (guix git-download)
 | 
				
			||||||
  #:use-module (guix build-system gnu))
 | 
					  #:use-module (guix build-system gnu))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public hexedit
 | 
					(define-public hexedit
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "hexedit")
 | 
					    (name "hexedit")
 | 
				
			||||||
    (version "1.2.13")
 | 
					    (version "1.4.2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (string-append "http://rigaux.org/"
 | 
					              (uri (git-reference
 | 
				
			||||||
                                  name "-" version ".src.tgz"))
 | 
					                    (url "https://github.com/pixel/hexedit.git")
 | 
				
			||||||
 | 
					                    (commit version)))
 | 
				
			||||||
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1mwdp1ikk64cqmagnrrps5jkn3li3n47maiqh2qc1xbp1ains4ka"))))
 | 
					                "1xsxa5mip892jkvz9jshj73y6c7j3mgp8y393ciihqlyf2nmfs67"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments '(#:tests? #f)) ; no check target
 | 
					    (arguments '(#:tests? #f))          ; no check target
 | 
				
			||||||
    (inputs `(("ncurses" ,ncurses)))
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("autoconf" ,autoconf)
 | 
				
			||||||
 | 
					       ("automake" ,automake)))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("ncurses" ,ncurses)))
 | 
				
			||||||
    (synopsis "View and edit files or devices in hexadecimal or ASCII")
 | 
					    (synopsis "View and edit files or devices in hexadecimal or ASCII")
 | 
				
			||||||
    (description "hexedit shows a file both in ASCII and in hexadecimal.  The
 | 
					    (description "hexedit shows a file both in ASCII and in hexadecimal.  The
 | 
				
			||||||
file can be a device as the file is read a piece at a time.  You can modify
 | 
					file can be a device as the file is read a piece at a time.  You can modify
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,56 +31,10 @@
 | 
				
			||||||
  #:use-module ((guix licenses) #:prefix license:)
 | 
					  #:use-module ((guix licenses) #:prefix license:)
 | 
				
			||||||
  #:use-module (guix packages))
 | 
					  #:use-module (guix packages))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define ghc-aeson-1.1.2.0
 | 
					 | 
				
			||||||
  (package (inherit ghc-aeson)
 | 
					 | 
				
			||||||
    (version "1.1.2.0")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://hackage.haskell.org/package/aeson/aeson-"
 | 
					 | 
				
			||||||
             version
 | 
					 | 
				
			||||||
             ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32
 | 
					 | 
				
			||||||
         "1zy5z8pzvh53qkjm0nm3f4rwqfqg3867ck8ncd6mrxpcyvxqqj1p"))))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define ghc-trifecta-1.6.2.1
 | 
					 | 
				
			||||||
  (package (inherit ghc-trifecta)
 | 
					 | 
				
			||||||
    (version "1.6.2.1")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://hackage.haskell.org/package/trifecta/"
 | 
					 | 
				
			||||||
             "trifecta-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32
 | 
					 | 
				
			||||||
         "1rgv62dlmm4vkdymx5rw5jg3w8ifpzg1745rvs1m4kzdx16p5cxs"))))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
;; ghc-cheapskate appeared too new. This follows LTS Haskell.
 | 
					 | 
				
			||||||
(define ghc-cheapskate-0.1.0.5
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (inherit ghc-cheapskate)
 | 
					 | 
				
			||||||
    (version "0.1.0.5")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://hackage.haskell.org/package/cheapskate/cheapskate-"
 | 
					 | 
				
			||||||
             version
 | 
					 | 
				
			||||||
             ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32
 | 
					 | 
				
			||||||
         "0cpsmfx5z2xykg71sv8j7pl8ga6pzyjnjdb9bxn00vcpqkzvfqvs"))))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     ;; LTS Haskell says data-default >=0.5 && <0.8
 | 
					 | 
				
			||||||
     `(#:configure-flags (list "--allow-newer=data-default")))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public idris
 | 
					(define-public idris
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "idris")
 | 
					    (name "idris")
 | 
				
			||||||
    (version "1.0")
 | 
					    (version "1.3.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -88,12 +42,12 @@
 | 
				
			||||||
                    "idris-" version "/idris-" version ".tar.gz"))
 | 
					                    "idris-" version "/idris-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1srbz0cyvd0k1yqgbrwnfj94yg5y3z533q1kzac96z1h7v454s5h"))))
 | 
					                "1w5i2z88li4niykwc6yrgxgfp25ll6ih95cip0ri7d8i7ik03c48"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("gmp" ,gmp)
 | 
					     `(("gmp" ,gmp)
 | 
				
			||||||
       ("ncurses" ,ncurses)
 | 
					       ("ncurses" ,ncurses)
 | 
				
			||||||
       ("ghc-aeson" ,ghc-aeson-1.1.2.0)
 | 
					       ("ghc-aeson" ,ghc-aeson)
 | 
				
			||||||
       ("ghc-annotated-wl-pprint" ,ghc-annotated-wl-pprint)
 | 
					       ("ghc-annotated-wl-pprint" ,ghc-annotated-wl-pprint)
 | 
				
			||||||
       ("ghc-ansi-terminal" ,ghc-ansi-terminal)
 | 
					       ("ghc-ansi-terminal" ,ghc-ansi-terminal)
 | 
				
			||||||
       ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
 | 
					       ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
 | 
				
			||||||
| 
						 | 
					@ -101,12 +55,12 @@
 | 
				
			||||||
       ("ghc-base64-bytestring" ,ghc-base64-bytestring)
 | 
					       ("ghc-base64-bytestring" ,ghc-base64-bytestring)
 | 
				
			||||||
       ("ghc-blaze-html" ,ghc-blaze-html)
 | 
					       ("ghc-blaze-html" ,ghc-blaze-html)
 | 
				
			||||||
       ("ghc-blaze-markup" ,ghc-blaze-markup)
 | 
					       ("ghc-blaze-markup" ,ghc-blaze-markup)
 | 
				
			||||||
       ("ghc-cheapskate" ,ghc-cheapskate-0.1.0.5)
 | 
					       ("ghc-cheapskate" ,ghc-cheapskate)
 | 
				
			||||||
       ("ghc-code-page" ,ghc-code-page)
 | 
					       ("ghc-code-page" ,ghc-code-page)
 | 
				
			||||||
       ("ghc-fingertree" ,ghc-fingertree)
 | 
					       ("ghc-fingertree" ,ghc-fingertree)
 | 
				
			||||||
       ("ghc-fsnotify" ,ghc-fsnotify)
 | 
					       ("ghc-fsnotify" ,ghc-fsnotify)
 | 
				
			||||||
       ("ghc-ieee754" ,ghc-ieee754)
 | 
					       ("ghc-ieee754" ,ghc-ieee754)
 | 
				
			||||||
       ("ghc-mtl" ,ghc-mtl)
 | 
					       ("ghc-megaparsec" ,ghc-megaparsec)
 | 
				
			||||||
       ("ghc-network" ,ghc-network)
 | 
					       ("ghc-network" ,ghc-network)
 | 
				
			||||||
       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
 | 
					       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
 | 
				
			||||||
       ("ghc-regex-tdfa" ,ghc-regex-tdfa)
 | 
					       ("ghc-regex-tdfa" ,ghc-regex-tdfa)
 | 
				
			||||||
| 
						 | 
					@ -114,7 +68,6 @@
 | 
				
			||||||
       ("ghc-split" ,ghc-split)
 | 
					       ("ghc-split" ,ghc-split)
 | 
				
			||||||
       ("ghc-terminal-size" ,ghc-terminal-size)
 | 
					       ("ghc-terminal-size" ,ghc-terminal-size)
 | 
				
			||||||
       ("ghc-text" ,ghc-text)
 | 
					       ("ghc-text" ,ghc-text)
 | 
				
			||||||
       ("ghc-trifecta" ,ghc-trifecta-1.6.2.1)
 | 
					 | 
				
			||||||
       ("ghc-uniplate" ,ghc-uniplate)
 | 
					       ("ghc-uniplate" ,ghc-uniplate)
 | 
				
			||||||
       ("ghc-unordered-containers" ,ghc-unordered-containers)
 | 
					       ("ghc-unordered-containers" ,ghc-unordered-containers)
 | 
				
			||||||
       ("ghc-utf8-string" ,ghc-utf8-string)
 | 
					       ("ghc-utf8-string" ,ghc-utf8-string)
 | 
				
			||||||
| 
						 | 
					@ -132,6 +85,11 @@
 | 
				
			||||||
           (lambda _
 | 
					           (lambda _
 | 
				
			||||||
             (setenv "CC" "gcc")
 | 
					             (setenv "CC" "gcc")
 | 
				
			||||||
             #t))
 | 
					             #t))
 | 
				
			||||||
 | 
					         (add-before 'configure 'update-constraints
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (substitute* "idris.cabal"
 | 
				
			||||||
 | 
					               (("aeson >= 0\\.6 && < 1\\.3")
 | 
				
			||||||
 | 
					                "aeson >= 0.6 && < 1.4"))))
 | 
				
			||||||
         (add-after 'install 'fix-libs-install-location
 | 
					         (add-after 'install 'fix-libs-install-location
 | 
				
			||||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
             (let* ((out (assoc-ref outputs "out"))
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -200,7 +200,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
 | 
				
			||||||
(define-public opencv
 | 
					(define-public opencv
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "opencv")
 | 
					    (name "opencv")
 | 
				
			||||||
    (version "3.4.1")
 | 
					    (version "3.4.3")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://github.com/opencv/opencv/archive/"
 | 
					              (uri (string-append "https://github.com/opencv/opencv/archive/"
 | 
				
			||||||
| 
						 | 
					@ -208,7 +208,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
 | 
				
			||||||
              (file-name (string-append name "-" version ".zip"))
 | 
					              (file-name (string-append name "-" version ".zip"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1g8pvnlkzzp50amd89149hqsbvsc2hq3vk1d6a9fksdcx8ra9g94"))
 | 
					                "0pycx1pz8lj794q32mlalyc3ijqxwsyin65r26nh4yc0p71xiirp"))
 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
              (snippet
 | 
					              (snippet
 | 
				
			||||||
               '(begin
 | 
					               '(begin
 | 
				
			||||||
| 
						 | 
					@ -345,7 +345,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
 | 
				
			||||||
                               "opencv/opencv_extra/zip/" version))
 | 
					                               "opencv/opencv_extra/zip/" version))
 | 
				
			||||||
           (file-name (string-append "opencv-extra-" version ".zip"))
 | 
					           (file-name (string-append "opencv-extra-" version ".zip"))
 | 
				
			||||||
           (sha256
 | 
					           (sha256
 | 
				
			||||||
            (base32 "0wfh3pvfxqydf7hsccp50npcsg37sf6fqi6cd3zkc4qil9zhpbps"))))
 | 
					            (base32 "0yd1vidzbg6himxyh4yzivywijg8548kfmcn421khabnipm7l74y"))))
 | 
				
			||||||
       ("opencv-contrib"
 | 
					       ("opencv-contrib"
 | 
				
			||||||
        ,(origin
 | 
					        ,(origin
 | 
				
			||||||
           (method url-fetch)
 | 
					           (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -353,7 +353,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
 | 
				
			||||||
                               "opencv/opencv_contrib/zip/" version))
 | 
					                               "opencv/opencv_contrib/zip/" version))
 | 
				
			||||||
           (file-name (string-append "opencv-contrib-" version ".zip"))
 | 
					           (file-name (string-append "opencv-contrib-" version ".zip"))
 | 
				
			||||||
           (sha256
 | 
					           (sha256
 | 
				
			||||||
           (base32 "18zm0qmjcdvg90c33gzv0ws0xdaid1xpqzz2xa9l2x12qkr6zj3p"))))))
 | 
					           (base32 "0j0ci6ia1qwklp9hq07ypl0vkngj1wrgh6n98n657m5d0pyp4m0g"))))))
 | 
				
			||||||
    (inputs `(("libjpeg" ,libjpeg)
 | 
					    (inputs `(("libjpeg" ,libjpeg)
 | 
				
			||||||
              ("libpng" ,libpng)
 | 
					              ("libpng" ,libpng)
 | 
				
			||||||
              ("jasper" ,jasper)
 | 
					              ("jasper" ,jasper)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4288,6 +4288,85 @@ setter and getter method.")
 | 
				
			||||||
file filters and endian classes.")
 | 
					file filters and endian classes.")
 | 
				
			||||||
    (license license:asl2.0)))
 | 
					    (license license:asl2.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public java-commons-exec-1.1
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "java-commons-exec")
 | 
				
			||||||
 | 
					    (version "1.1")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "mirror://apache/commons/exec/source/"
 | 
				
			||||||
 | 
					                           "commons-exec-" version "-src.tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "025dk8xgj10lxwwwqp0hng2rn7fr4vcirxzydqzx9k4dim667alk"))))
 | 
				
			||||||
 | 
					    (build-system ant-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:test-target "test"
 | 
				
			||||||
 | 
					       #:make-flags
 | 
				
			||||||
 | 
					       (list (string-append "-Dmaven.junit.jar="
 | 
				
			||||||
 | 
					                            (assoc-ref %build-inputs "java-junit")
 | 
				
			||||||
 | 
					                            "/share/java/junit.jar"))
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-before 'build 'delete-network-tests
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (delete-file "src/test/java/org/apache/commons/exec/DefaultExecutorTest.java")
 | 
				
			||||||
 | 
					             (substitute* "src/test/java/org/apache/commons/exec/TestRunner.java"
 | 
				
			||||||
 | 
					              (("suite\\.addTestSuite\\(DefaultExecutorTest\\.class\\);") ""))
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
 | 
					         ;; The "build" phase automatically tests.
 | 
				
			||||||
 | 
					         (delete 'check)
 | 
				
			||||||
 | 
					         (replace 'install (install-jars "target")))))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("java-junit" ,java-junit)))
 | 
				
			||||||
 | 
					    (home-page "http://commons.apache.org/proper/commons-exec/")
 | 
				
			||||||
 | 
					    (synopsis "Common program execution related classes")
 | 
				
			||||||
 | 
					    (description "Commons-Exec simplifies executing external processes.")
 | 
				
			||||||
 | 
					    (license license:asl2.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public java-commons-exec
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (inherit java-commons-exec-1.1)
 | 
				
			||||||
 | 
					    (version "1.3")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "mirror://apache/commons/exec/source/"
 | 
				
			||||||
 | 
					                           "commons-exec-" version "-src.tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "17yb4h6f8l49c5iyyvda4z2nmw0bxrx857nrwmsr7mmpb7x441yv"))))
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:test-target "test"
 | 
				
			||||||
 | 
					       #:make-flags
 | 
				
			||||||
 | 
					       (list (string-append "-Dmaven.junit.jar="
 | 
				
			||||||
 | 
					                            (assoc-ref %build-inputs "java-junit")
 | 
				
			||||||
 | 
					                            "/share/java/junit.jar")
 | 
				
			||||||
 | 
					             "-Dmaven.compiler.source=1.7"
 | 
				
			||||||
 | 
					             "-Dmaven.compiler.target=1.7")
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-before 'build 'delete-network-tests
 | 
				
			||||||
 | 
					           (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             ;; This test hangs indefinitely.
 | 
				
			||||||
 | 
					             (delete-file "src/test/java/org/apache/commons/exec/issues/Exec60Test.java")
 | 
				
			||||||
 | 
					             (substitute* "src/test/java/org/apache/commons/exec/issues/Exec41Test.java"
 | 
				
			||||||
 | 
					              (("ping -c 10 127.0.0.1") "sleep 10"))
 | 
				
			||||||
 | 
					             (substitute* "src/test/java/org/apache/commons/exec/issues/Exec49Test.java"
 | 
				
			||||||
 | 
					              (("/bin/ls") "ls"))
 | 
				
			||||||
 | 
					             (call-with-output-file "src/test/scripts/ping.sh"
 | 
				
			||||||
 | 
					               (lambda (port)
 | 
				
			||||||
 | 
					                 (format port "#!~a/bin/sh\nsleep $1\n"
 | 
				
			||||||
 | 
					                              (assoc-ref inputs "bash"))))
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
 | 
					         ;; The "build" phase automatically tests.
 | 
				
			||||||
 | 
					         (delete 'check)
 | 
				
			||||||
 | 
					         (replace 'install (install-jars "target")))))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("java-junit" ,java-junit)
 | 
				
			||||||
 | 
					       ("java-hamcrest-core" ,java-hamcrest-core)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public java-commons-lang
 | 
					(define-public java-commons-lang
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "java-commons-lang")
 | 
					    (name "java-commons-lang")
 | 
				
			||||||
| 
						 | 
					@ -7585,6 +7664,55 @@ configuration.")
 | 
				
			||||||
    (description "This package is the jaxb annotations module for jackson.")
 | 
					    (description "This package is the jaxb annotations module for jackson.")
 | 
				
			||||||
    (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
 | 
					    (license license:asl2.0))); found on wiki.fasterxml.com/JacksonLicensing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public java-fasterxml-jackson-modules-base-mrbean
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "java-fasterxml-jackson-modules-base-mrbean")
 | 
				
			||||||
 | 
					    (version "2.9.4")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method url-fetch)
 | 
				
			||||||
 | 
					              (uri (string-append "https://github.com/FasterXML/"
 | 
				
			||||||
 | 
					                                  "jackson-modules-base/archive/"
 | 
				
			||||||
 | 
					                                  "jackson-modules-base-" version ".tar.gz"))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "1wws95xi8sppp6b0k2vvjdjyynl20r1a4dwrhai08lzlria6blp5"))))
 | 
				
			||||||
 | 
					    (build-system ant-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:jar-name "jackson-modules-base-mrbean.jar"
 | 
				
			||||||
 | 
					       #:source-dir "mrbean/src/main/java"
 | 
				
			||||||
 | 
					       #:test-dir "mrbean/src/test"
 | 
				
			||||||
 | 
					       #:test-exclude
 | 
				
			||||||
 | 
					       ;; Base class for tests
 | 
				
			||||||
 | 
					       (list "**/BaseTest.java")
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-before 'configure 'generate-PackageVersion.java
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (let* ((out (string-append "mrbean/src/main/java/com/fasterxml/"
 | 
				
			||||||
 | 
					                                        "jackson/module/mrbean/PackageVersion.java"))
 | 
				
			||||||
 | 
					                    (in (string-append out ".in")))
 | 
				
			||||||
 | 
					               (copy-file in out)
 | 
				
			||||||
 | 
					               (substitute* out
 | 
				
			||||||
 | 
					                 (("@package@") "com.fasterxml.jackson.module.mrbean")
 | 
				
			||||||
 | 
					                 (("@projectversion@") ,version)
 | 
				
			||||||
 | 
					                 (("@projectgroupid@") "com.fasterxml.jackson.module.mrbean")
 | 
				
			||||||
 | 
					                 (("@projectartifactid@") "jackson-module-mrbean")))
 | 
				
			||||||
 | 
					             #t)))))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("java-asm" ,java-asm)
 | 
				
			||||||
 | 
					       ("java-fasterxml-jackson-annotations"
 | 
				
			||||||
 | 
					        ,java-fasterxml-jackson-annotations)
 | 
				
			||||||
 | 
					       ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core)
 | 
				
			||||||
 | 
					       ("java-fasterxml-jackson-databind" ,java-fasterxml-jackson-databind)))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("java-junit" ,java-junit)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/FasterXML/jackson-modules-base")
 | 
				
			||||||
 | 
					    (synopsis "POJO type materialization for Java")
 | 
				
			||||||
 | 
					    (description "This package implements POJO type materialization.
 | 
				
			||||||
 | 
					Databinders can construct implementation classes for Java interfaces as part
 | 
				
			||||||
 | 
					of deserialization.")
 | 
				
			||||||
 | 
					    (license license:asl2.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public java-snakeyaml
 | 
					(define-public java-snakeyaml
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "java-snakeyaml")
 | 
					    (name "java-snakeyaml")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -236,7 +236,7 @@ plugins, as well as code to create plugins, or complete applications.")
 | 
				
			||||||
(define-public krita
 | 
					(define-public krita
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "krita")
 | 
					    (name "krita")
 | 
				
			||||||
    (version "4.1.1")
 | 
					    (version "4.1.3")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -245,7 +245,7 @@ plugins, as well as code to create plugins, or complete applications.")
 | 
				
			||||||
                    "/" name "-" version ".tar.gz"))
 | 
					                    "/" name "-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1qz9bjvnwa5gc2b0063i2p72jq6y1b6kgqdj39599acp7ws11asw"))))
 | 
					                "0d546dxs552z0pxnaka1jm7ksravw17f777wf593z0pl4ds8dgdx"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f
 | 
					     `(#:tests? #f
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -28,6 +28,7 @@
 | 
				
			||||||
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 | 
					;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-module (gnu packages libreoffice)
 | 
					(define-module (gnu packages libreoffice)
 | 
				
			||||||
 | 
					  #:use-module (guix build-system glib-or-gtk)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
  #:use-module (guix build-system trivial)
 | 
					  #:use-module (guix build-system trivial)
 | 
				
			||||||
  #:use-module (guix download)
 | 
					  #:use-module (guix download)
 | 
				
			||||||
| 
						 | 
					@ -935,7 +936,7 @@ converting QuarkXPress file format.  It supports versions 3.1 to 4.1.")
 | 
				
			||||||
(define-public libreoffice
 | 
					(define-public libreoffice
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libreoffice")
 | 
					    (name "libreoffice")
 | 
				
			||||||
    (version "6.1.0.3")
 | 
					    (version "6.1.2.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -945,10 +946,10 @@ converting QuarkXPress file format.  It supports versions 3.1 to 4.1.")
 | 
				
			||||||
         (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
 | 
					         (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1n7b6abc0bp9x8lddx60w5br444wf62mdlkqmfk2zmkmiwkcvv2l"))
 | 
					         "149ziasibplihfxlzafzcm4737ns30hg9175967b43c81yv5f335"))
 | 
				
			||||||
       (patches (search-patches "libreoffice-icu.patch"
 | 
					       (patches (search-patches "libreoffice-icu.patch"
 | 
				
			||||||
                                "libreoffice-glm.patch"))))
 | 
					                                "libreoffice-glm.patch"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system glib-or-gtk-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("bison" ,bison)
 | 
					     `(("bison" ,bison)
 | 
				
			||||||
       ("cppunit" ,cppunit-1.14)
 | 
					       ("cppunit" ,cppunit-1.14)
 | 
				
			||||||
| 
						 | 
					@ -1026,6 +1027,9 @@ converting QuarkXPress file format.  It supports versions 3.1 to 4.1.")
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f ; Building the tests already fails.
 | 
					     `(#:tests? #f ; Building the tests already fails.
 | 
				
			||||||
       #:make-flags '("build-nocheck") ; Do not build unit tests, which fails.
 | 
					       #:make-flags '("build-nocheck") ; Do not build unit tests, which fails.
 | 
				
			||||||
 | 
					       ;; XXX Remove this if glib-or-gtk-build-system changes to in-source-tree
 | 
				
			||||||
 | 
					       ;; builds by default.
 | 
				
			||||||
 | 
					       #:out-of-source? #f
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
         (modify-phases %standard-phases
 | 
					         (modify-phases %standard-phases
 | 
				
			||||||
           (add-before 'configure 'prepare-src
 | 
					           (add-before 'configure 'prepare-src
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -61,7 +61,7 @@ Regexp::Pattern is a convention for organizing reusable regex patterns.")
 | 
				
			||||||
(define-public perl-string-copyright
 | 
					(define-public perl-string-copyright
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-string-copyright")
 | 
					    (name "perl-string-copyright")
 | 
				
			||||||
    (version "0.003005")
 | 
					    (version "0.003006")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -70,7 +70,7 @@ Regexp::Pattern is a convention for organizing reusable regex patterns.")
 | 
				
			||||||
             version ".tar.gz"))
 | 
					             version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "12c6x4c10gr46ryc3dpwgfi6wggmgy4a1ls2hwhcpdm3wvzy5619"))))
 | 
					         "0fzymv065nn3glwnw34nkyadzw2dh4rcz8avmki4zrnk4k45m01a"))))
 | 
				
			||||||
    (build-system perl-build-system)
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("perl-number-range" ,perl-number-range)))
 | 
					     `(("perl-number-range" ,perl-number-range)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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.
 | 
					;; supports qemu "virt" machine and possibly a large number of ARM boards.
 | 
				
			||||||
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
 | 
					;; See : https://wiki.debian.org/DebianKernel/ARMMP.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define %linux-libre-version "4.18.9")
 | 
					(define %linux-libre-version "4.18.12")
 | 
				
			||||||
(define %linux-libre-hash "0wwmhnfvcsdlqhzwwwyz1x5a3ldjky6l0xir1pi6pysr0lak402x")
 | 
					(define %linux-libre-hash "1mcnb1mm7m6i9s591c3kx0f1vbzhbl3w92w137swcm9zifqpci5r")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define %linux-libre-4.18-patches
 | 
					(define %linux-libre-4.18-patches
 | 
				
			||||||
  (list %boot-logo-patch
 | 
					  (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
 | 
					                    #:patches %linux-libre-4.18-patches
 | 
				
			||||||
                    #:configuration-file kernel-config))
 | 
					                    #:configuration-file kernel-config))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define %linux-libre-4.14-version "4.14.71")
 | 
					(define %linux-libre-4.14-version "4.14.74")
 | 
				
			||||||
(define %linux-libre-4.14-hash "1akvykaccy7ikl8v04grwxvgs4z2rrs7drf2s85ysqwq79mdh3gq")
 | 
					(define %linux-libre-4.14-hash "0cxyx2yinnc8q0hmhb0swjgdz3s0ry7wxzyqss9f2i74xjjz4rm0")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public linux-libre-4.14
 | 
					(define-public linux-libre-4.14
 | 
				
			||||||
  (make-linux-libre %linux-libre-4.14-version
 | 
					  (make-linux-libre %linux-libre-4.14-version
 | 
				
			||||||
| 
						 | 
					@ -440,14 +440,14 @@ It has been modified to remove all non-free binary blobs.")
 | 
				
			||||||
                    #:configuration-file kernel-config))
 | 
					                    #:configuration-file kernel-config))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public linux-libre-4.9
 | 
					(define-public linux-libre-4.9
 | 
				
			||||||
  (make-linux-libre "4.9.128"
 | 
					  (make-linux-libre "4.9.131"
 | 
				
			||||||
                    "0lww23xcyyg0dwzrap5x9d700gy3lbxln55n6sqqkm7m89dkqwha"
 | 
					                    "11pxwl7dmisbf2szg9qzkvhlpk68clh5l478n7b62q7hd8j3hxlv"
 | 
				
			||||||
                    %intel-compatible-systems
 | 
					                    %intel-compatible-systems
 | 
				
			||||||
                    #:configuration-file kernel-config))
 | 
					                    #:configuration-file kernel-config))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public linux-libre-4.4
 | 
					(define-public linux-libre-4.4
 | 
				
			||||||
  (make-linux-libre "4.4.157"
 | 
					  (make-linux-libre "4.4.159"
 | 
				
			||||||
                    "00bnfqwkr0jfdabmwx5qk5bqxn5vwnnzwqbm5rfg7lggii74kk54"
 | 
					                    "12wrhni1ikmakwv55cgzsznx9llzp82irsisbjjs7bc8z2hzwr6l"
 | 
				
			||||||
                    %intel-compatible-systems
 | 
					                    %intel-compatible-systems
 | 
				
			||||||
                    #:configuration-file kernel-config))
 | 
					                    #:configuration-file kernel-config))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3668,15 +3668,16 @@ The collection contains a set of bandwidth and latency benchmark such as:
 | 
				
			||||||
(define-public rng-tools
 | 
					(define-public rng-tools
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "rng-tools")
 | 
					    (name "rng-tools")
 | 
				
			||||||
    (version "6.4")
 | 
					    (home-page "https://github.com/nhorman/rng-tools")
 | 
				
			||||||
 | 
					    (version "6.5")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (string-append "https://github.com/nhorman/rng-tools/"
 | 
					              (uri (git-reference (url home-page)
 | 
				
			||||||
                                  "archive/v" version ".tar.gz"))
 | 
					                                  (commit (string-append "v" version))))
 | 
				
			||||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "005krksl8iz37l5p1nx8apl1yg7q78yrsb6inby31d2g5ck8nnwa"))))
 | 
					                "11kw1rcgzmgzwk7g1w2g0nzjraqb0pf24gxpy50k4ls2qxslw3rk"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB.
 | 
					     `(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB.
 | 
				
			||||||
| 
						 | 
					@ -3691,7 +3692,6 @@ The collection contains a set of bandwidth and latency benchmark such as:
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "Monitor a hardware random number generator, and supply entropy
 | 
					     "Monitor a hardware random number generator, and supply entropy
 | 
				
			||||||
from that to the system kernel's @file{/dev/random} machinery.")
 | 
					from that to the system kernel's @file{/dev/random} machinery.")
 | 
				
			||||||
    (home-page "https://sourceforge.net/projects/gkernel")
 | 
					 | 
				
			||||||
    ;; The source package is offered under the GPL2+, but the files
 | 
					    ;; The source package is offered under the GPL2+, but the files
 | 
				
			||||||
    ;; 'rngd_rdrand.c' and 'rdrand_asm.S' are only available under the GPL2.
 | 
					    ;; 'rngd_rdrand.c' and 'rdrand_asm.S' are only available under the GPL2.
 | 
				
			||||||
    (license (list license:gpl2 license:gpl2+))))
 | 
					    (license (list license:gpl2 license:gpl2+))))
 | 
				
			||||||
| 
						 | 
					@ -4827,19 +4827,20 @@ interface to this kernel feature.")
 | 
				
			||||||
(define-public mbpfan
 | 
					(define-public mbpfan
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "mbpfan")
 | 
					    (name "mbpfan")
 | 
				
			||||||
    (version "2.0.2")
 | 
					    (version "2.1.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
       (uri (string-append "https://github.com/dgraziotin/mbpfan/archive/v"
 | 
					       (uri (git-reference
 | 
				
			||||||
                           version ".tar.gz"))
 | 
					             (url "https://github.com/dgraziotin/mbpfan.git")
 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0wifsws9icki95hhfh4zw1hmk07ddmkcz9mg5a9jr7q2kkrk01cx"))))
 | 
					         "1gysq778rkl6dvvj9a1swxcl15wvz0bng5bn4nwq118cl8p8pask"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:tests? #f ; no tests
 | 
					     '(#:tests? #f                      ; tests ask to be run as root
 | 
				
			||||||
       #:make-flags (let ((out (assoc-ref %outputs "out")))
 | 
					       #:make-flags (let ((out (assoc-ref %outputs "out")))
 | 
				
			||||||
                      (list (string-append "DESTDIR=" out)
 | 
					                      (list (string-append "DESTDIR=" out)
 | 
				
			||||||
                            "CC=gcc"))
 | 
					                            "CC=gcc"))
 | 
				
			||||||
| 
						 | 
					@ -4850,7 +4851,7 @@ interface to this kernel feature.")
 | 
				
			||||||
             (substitute* "Makefile"
 | 
					             (substitute* "Makefile"
 | 
				
			||||||
               (("/usr") ""))
 | 
					               (("/usr") ""))
 | 
				
			||||||
             #t))
 | 
					             #t))
 | 
				
			||||||
         (delete 'configure)))) ; There's no configure phase.
 | 
					         (delete 'configure))))         ; there's no configure phase
 | 
				
			||||||
    (home-page "https://github.com/dgraziotin/mbpfan")
 | 
					    (home-page "https://github.com/dgraziotin/mbpfan")
 | 
				
			||||||
    (synopsis "Control fan speed on Macbooks")
 | 
					    (synopsis "Control fan speed on Macbooks")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2556,17 +2556,16 @@ PGP handling, multiple servers, and secure connections.")
 | 
				
			||||||
(define-public imapfilter
 | 
					(define-public imapfilter
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "imapfilter")
 | 
					    (name "imapfilter")
 | 
				
			||||||
    (version "2.6.11")
 | 
					    (version "2.6.12")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
       (uri
 | 
					       (uri (git-reference
 | 
				
			||||||
        (string-append "https://github.com/lefcha/imapfilter/archive/"
 | 
					             (url "https://github.com/lefcha/imapfilter.git")
 | 
				
			||||||
                       "v" version ".tar.gz"))
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "0vzpc54fjf5vb5vx5w0fl20xvx1k9cg6a3hbl86mm8kwsqf3wrab"))))
 | 
				
			||||||
         "1yslvwr3w5fnl06gfrp0lim8zdlasx3cvgd2fsqi0695xnb9bsms"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f
 | 
					     `(#:tests? #f
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1702,13 +1702,21 @@ scientific applications modeled by partial differential equations.")
 | 
				
			||||||
  (package (inherit petsc)
 | 
					  (package (inherit petsc)
 | 
				
			||||||
    (name "petsc-openmpi")
 | 
					    (name "petsc-openmpi")
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("openmpi" ,openmpi)
 | 
					     `(("hdf5" ,hdf5-parallel-openmpi)
 | 
				
			||||||
       ("hdf5" ,hdf5-parallel-openmpi)
 | 
					       ("metis" ,metis)
 | 
				
			||||||
 | 
					       ("mumps" ,mumps-openmpi)
 | 
				
			||||||
 | 
					       ("openmpi" ,openmpi)
 | 
				
			||||||
 | 
					       ("scalapack" ,scalapack)
 | 
				
			||||||
 | 
					       ("scotch" ,pt-scotch)
 | 
				
			||||||
       ,@(package-inputs petsc)))
 | 
					       ,@(package-inputs petsc)))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     (substitute-keyword-arguments (package-arguments petsc)
 | 
					     (substitute-keyword-arguments (package-arguments petsc)
 | 
				
			||||||
       ((#:configure-flags cf)
 | 
					       ((#:configure-flags cf)
 | 
				
			||||||
        ``("--with-mpiexec=mpirun"
 | 
					        ``("--with-mpiexec=mpirun"
 | 
				
			||||||
 | 
					           "--with-metis=1"
 | 
				
			||||||
 | 
					           "--with-mumps=1"
 | 
				
			||||||
 | 
					           "--with-scalapack=1"
 | 
				
			||||||
 | 
					           "--with-ptscotch=1"
 | 
				
			||||||
           ,(string-append "--with-mpi-dir="
 | 
					           ,(string-append "--with-mpi-dir="
 | 
				
			||||||
                           (assoc-ref %build-inputs "openmpi"))
 | 
					                           (assoc-ref %build-inputs "openmpi"))
 | 
				
			||||||
           ,(string-append "--with-hdf5-include="
 | 
					           ,(string-append "--with-hdf5-include="
 | 
				
			||||||
| 
						 | 
					@ -1718,9 +1726,9 @@ scientific applications modeled by partial differential equations.")
 | 
				
			||||||
           ,@(delete "--with-mpi=0" ,cf)))
 | 
					           ,@(delete "--with-mpi=0" ,cf)))
 | 
				
			||||||
       ((#:phases phases)
 | 
					       ((#:phases phases)
 | 
				
			||||||
        `(modify-phases ,phases
 | 
					        `(modify-phases ,phases
 | 
				
			||||||
           (add-before 'check 'mpi-setup
 | 
					           (add-before 'configure 'mpi-setup
 | 
				
			||||||
             ,%openmpi-setup)))))
 | 
					             ,%openmpi-setup)))))
 | 
				
			||||||
    (synopsis "Library to solve PDEs (with MPI support)")))
 | 
					    (synopsis "Library to solve PDEs (with MUMPS and MPI support)")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public petsc-complex-openmpi
 | 
					(define-public petsc-complex-openmpi
 | 
				
			||||||
  (package (inherit petsc-complex)
 | 
					  (package (inherit petsc-complex)
 | 
				
			||||||
| 
						 | 
					@ -1737,7 +1745,6 @@ scientific applications modeled by partial differential equations.")
 | 
				
			||||||
           ,@(delete "--with-mpi=0" ,cf)))))
 | 
					           ,@(delete "--with-mpi=0" ,cf)))))
 | 
				
			||||||
    (synopsis "Library to solve PDEs (with complex scalars and MPI support)")))
 | 
					    (synopsis "Library to solve PDEs (with complex scalars and MPI support)")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public python-kiwisolver
 | 
					(define-public python-kiwisolver
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-kiwisolver")
 | 
					    (name "python-kiwisolver")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1385,7 +1385,7 @@ protocol allows.")
 | 
				
			||||||
(define-public mcabber
 | 
					(define-public mcabber
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "mcabber")
 | 
					    (name "mcabber")
 | 
				
			||||||
    (version "1.0.5")
 | 
					    (version "1.1.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -1393,7 +1393,7 @@ protocol allows.")
 | 
				
			||||||
                           name "-" version ".tar.bz2"))
 | 
					                           name "-" version ".tar.bz2"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0ixdzk5b3s31a4bdfqgqrsiq7vbgdzhqr49p9pz9cq9bgn0h1wm0"))))
 | 
					         "1ggh865p1rf10ffsnf4g6qv9i8bls36dxdb1nzs5r9vdqci2rz04"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:configure-flags (list "--enable-otr"
 | 
					     '(#:configure-flags (list "--enable-otr"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,6 +5,7 @@
 | 
				
			||||||
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
 | 
					;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
 | 
				
			||||||
;;; Copyright © 2017 Dave Love <fx@gnu.org>
 | 
					;;; Copyright © 2017 Dave Love <fx@gnu.org>
 | 
				
			||||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -125,7 +126,7 @@ bind processes, and much more.")
 | 
				
			||||||
  ;; Note: 2.0 isn't the default yet, see above.
 | 
					  ;; Note: 2.0 isn't the default yet, see above.
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (inherit hwloc)
 | 
					    (inherit hwloc)
 | 
				
			||||||
    (version "2.0.1")
 | 
					    (version "2.0.2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://www.open-mpi.org/software/hwloc/v"
 | 
					              (uri (string-append "https://www.open-mpi.org/software/hwloc/v"
 | 
				
			||||||
| 
						 | 
					@ -133,7 +134,7 @@ bind processes, and much more.")
 | 
				
			||||||
                                  "/downloads/hwloc-" version ".tar.bz2"))
 | 
					                                  "/downloads/hwloc-" version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0jf0krj1h95flmb784ifv9vnkdnajjz00p4zbhmja7vm4v67axdr"))))
 | 
					                "1phc863d5b2fvwpyyq4mlh4rkjdslh6h0h197zmyk3prwrq7si8l"))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ;; libnuma is no longer needed.
 | 
					    ;; libnuma is no longer needed.
 | 
				
			||||||
    (inputs (alist-delete "numactl" (package-inputs hwloc)))
 | 
					    (inputs (alist-delete "numactl" (package-inputs hwloc)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
 | 
					;;; Copyright © 2013 John Darrington <jmd@gnu.org>
 | 
				
			||||||
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -27,7 +28,7 @@
 | 
				
			||||||
(define-public mtools
 | 
					(define-public mtools
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "mtools")
 | 
					    (name "mtools")
 | 
				
			||||||
    (version "4.0.18")
 | 
					    (version "4.0.19")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -35,7 +36,7 @@
 | 
				
			||||||
                          version ".tar.gz"))
 | 
					                          version ".tar.gz"))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
       (base32
 | 
					       (base32
 | 
				
			||||||
        "1hxciksv7av5ilnkvwbidyxxr1gzn24lr0mz9z8drkml7780im1h"))))
 | 
					        "003qnj4rs22v2sih3is55scvav8xq9p1dp5b7gnyl67a60ky516r"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (home-page "https://www.gnu.org/software/mtools/")
 | 
					    (home-page "https://www.gnu.org/software/mtools/")
 | 
				
			||||||
    (synopsis "Access MS-DOS disks without mounting")
 | 
					    (synopsis "Access MS-DOS disks without mounting")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1996,7 +1996,7 @@ capabilities, custom envelopes, effects, etc.")
 | 
				
			||||||
(define-public yoshimi
 | 
					(define-public yoshimi
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "yoshimi")
 | 
					    (name "yoshimi")
 | 
				
			||||||
    (version "1.5.8.2")
 | 
					    (version "1.5.9")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://sourceforge/yoshimi/"
 | 
					              (uri (string-append "mirror://sourceforge/yoshimi/"
 | 
				
			||||||
| 
						 | 
					@ -2004,7 +2004,7 @@ capabilities, custom envelopes, effects, etc.")
 | 
				
			||||||
                                  "/yoshimi-" version ".tar.bz2"))
 | 
					                                  "/yoshimi-" version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1kg7d6mnzdwzsqhrf7pmrf1hzgfpbpm5lv8xkaz32wiv391qrnxc"))))
 | 
					                "1nqwxwq6814m860zrh33r85vdyi2bgkvjg5372h3ngcdmxnb7wr0"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f ; there are no tests
 | 
					     `(#:tests? #f ; there are no tests
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -902,7 +902,7 @@ private (reserved).")
 | 
				
			||||||
(define-public perl-net-dns
 | 
					(define-public perl-net-dns
 | 
				
			||||||
 (package
 | 
					 (package
 | 
				
			||||||
  (name "perl-net-dns")
 | 
					  (name "perl-net-dns")
 | 
				
			||||||
  (version "1.17")
 | 
					  (version "1.18")
 | 
				
			||||||
  (source
 | 
					  (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -914,7 +914,7 @@ private (reserved).")
 | 
				
			||||||
                       version ".tar.gz")))
 | 
					                       version ".tar.gz")))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
          "1q62w9rf2w8kjzqagzr0rdn20ybl8gj3l6cdq4k8fw0sxa7zsycs"))))
 | 
					          "1lx902cbvlfl63bqfdrnyavmfwbjvrfdnwgdc1dgs1wpzja19kjj"))))
 | 
				
			||||||
  (build-system perl-build-system)
 | 
					  (build-system perl-build-system)
 | 
				
			||||||
  (inputs
 | 
					  (inputs
 | 
				
			||||||
    `(("perl-digest-hmac" ,perl-digest-hmac)))
 | 
					    `(("perl-digest-hmac" ,perl-digest-hmac)))
 | 
				
			||||||
| 
						 | 
					@ -927,7 +927,7 @@ private (reserved).")
 | 
				
			||||||
(define-public perl-socket6
 | 
					(define-public perl-socket6
 | 
				
			||||||
 (package
 | 
					 (package
 | 
				
			||||||
  (name "perl-socket6")
 | 
					  (name "perl-socket6")
 | 
				
			||||||
  (version "0.28")
 | 
					  (version "0.29")
 | 
				
			||||||
  (source
 | 
					  (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -937,7 +937,7 @@ private (reserved).")
 | 
				
			||||||
             ".tar.gz"))
 | 
					             ".tar.gz"))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
          "11j5jzqbzmwlws9zals43ry2f1nw9qy6im7yhn9ck5rikywrmm5z"))))
 | 
					          "054izici8klfxs8hr5rljib28plijpsfymy99xbzdp047bx1b2a6"))))
 | 
				
			||||||
  (build-system perl-build-system)
 | 
					  (build-system perl-build-system)
 | 
				
			||||||
  (arguments
 | 
					  (arguments
 | 
				
			||||||
   `(#:phases
 | 
					   `(#:phases
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -28,14 +28,14 @@
 | 
				
			||||||
(define-public nickle
 | 
					(define-public nickle
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "nickle")
 | 
					    (name "nickle")
 | 
				
			||||||
    (version "2.81")
 | 
					    (version "2.82")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://nickle.org/release/nickle-"
 | 
					              (uri (string-append "https://nickle.org/release/nickle-"
 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1daqsflnqqgfkq6w6dknbm42avz70f5qxn7qidvgp472i4a37acr"))))
 | 
					                "0jy96z01qbrnmsrywn5mfa14615qdix6b8520qd65c6yjyrk8gs0"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("readline" ,readline)))
 | 
					     `(("readline" ,readline)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -294,23 +294,23 @@ back-end for the LLVM compiler framework.")
 | 
				
			||||||
(define-public pocl
 | 
					(define-public pocl
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "pocl")
 | 
					    (name "pocl")
 | 
				
			||||||
    (version "1.1")
 | 
					    (version "1.2")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
       (uri (git-reference
 | 
					       (uri (git-reference
 | 
				
			||||||
             (url "https://github.com/pocl/pocl.git")
 | 
					             (url "https://github.com/pocl/pocl.git")
 | 
				
			||||||
             (commit (string-append "v" version))))
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1z3sqn20ddv1030adchpzs65qng436gc2mb99p213mkh95jkh1l5"))))
 | 
					        (base32 "0fyiwd9nrqhl0jsac0bx17p9acpfzhyxp50mmp28mzn7psb9qidg"))
 | 
				
			||||||
 | 
					       (file-name (git-file-name name version))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("libltdl" ,libltdl)
 | 
					     `(("libltdl" ,libltdl)
 | 
				
			||||||
       ("pkg-config" ,pkg-config)))
 | 
					       ("pkg-config" ,pkg-config)))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("clang" ,clang)
 | 
					     `(("clang" ,clang)
 | 
				
			||||||
       ("hwloc" ,hwloc "lib")
 | 
					       ("hwloc" ,hwloc-2.0 "lib")
 | 
				
			||||||
       ("llvm" ,llvm)
 | 
					       ("llvm" ,llvm)
 | 
				
			||||||
       ("ocl-icd" ,ocl-icd)))
 | 
					       ("ocl-icd" ,ocl-icd)))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -101,8 +101,8 @@
 | 
				
			||||||
  ;; Note: the 'update-guix-package.scm' script expects this definition to
 | 
					  ;; Note: the 'update-guix-package.scm' script expects this definition to
 | 
				
			||||||
  ;; start precisely like this.
 | 
					  ;; start precisely like this.
 | 
				
			||||||
  (let ((version "0.15.0")
 | 
					  (let ((version "0.15.0")
 | 
				
			||||||
        (commit "3d43017026f9995ad128915db8ca5eafe061bf75")
 | 
					        (commit "1d0be47ab680db938ac8da1ee65e1de91e198f67")
 | 
				
			||||||
        (revision 3))
 | 
					        (revision 5))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "guix")
 | 
					      (name "guix")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -118,7 +118,7 @@
 | 
				
			||||||
                      (commit commit)))
 | 
					                      (commit commit)))
 | 
				
			||||||
                (sha256
 | 
					                (sha256
 | 
				
			||||||
                 (base32
 | 
					                 (base32
 | 
				
			||||||
                  "167rzz2h33xmmchkplwzfq94s5jwdn5nabsq2lb84s54ps0sm89m"))
 | 
					                  "19cn4ndmr9cqd7qh6w3nchbmdpaawdl9kc6g0v6g680vzcja417k"))
 | 
				
			||||||
                (file-name (string-append "guix-" version "-checkout"))))
 | 
					                (file-name (string-append "guix-" version "-checkout"))))
 | 
				
			||||||
      (build-system gnu-build-system)
 | 
					      (build-system gnu-build-system)
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
| 
						 | 
					@ -493,7 +493,7 @@ symlinks to the files in a common directory such as /usr/local.")
 | 
				
			||||||
(define-public rpm
 | 
					(define-public rpm
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "rpm")
 | 
					    (name "rpm")
 | 
				
			||||||
    (version "4.13.0.2")
 | 
					    (version "4.14.2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "http://ftp.rpm.org/releases/rpm-"
 | 
					              (uri (string-append "http://ftp.rpm.org/releases/rpm-"
 | 
				
			||||||
| 
						 | 
					@ -501,40 +501,20 @@ symlinks to the files in a common directory such as /usr/local.")
 | 
				
			||||||
                                  version ".tar.bz2"))
 | 
					                                  version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1521y4ghjns449kzpwkjn9cksh686383xnfx0linzlalqc3jqgig"))))
 | 
					                "0armd7dqr8bl0isx8l4xlylm7dikasmxhhcbz336fkp2x30w5jw0"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:configure-flags '("--with-external-db"   ;use the system's bdb
 | 
					     '(#:configure-flags '("--with-external-db"   ;use the system's bdb
 | 
				
			||||||
                           "--enable-python"
 | 
					                           "--enable-python"
 | 
				
			||||||
                           "--without-lua")
 | 
					                           "--without-lua")
 | 
				
			||||||
       #:phases (modify-phases %standard-phases
 | 
					       #:phases (modify-phases %standard-phases
 | 
				
			||||||
                  (add-before 'configure 'set-nspr-search-path
 | 
					                  (add-before 'configure 'set-nss-library-path
 | 
				
			||||||
                    (lambda* (#:key inputs #:allow-other-keys)
 | 
					                    (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
                      ;; nspr.pc contains the right -I flag pointing to
 | 
					                      (let ((nss (assoc-ref inputs "nss")))
 | 
				
			||||||
                      ;; 'include/nspr', but unfortunately 'configure' doesn't
 | 
					 | 
				
			||||||
                      ;; use 'pkg-config'.  Thus, augment CPATH.
 | 
					 | 
				
			||||||
                      ;; Likewise for NSS.
 | 
					 | 
				
			||||||
                      (let ((nspr (assoc-ref inputs "nspr"))
 | 
					 | 
				
			||||||
                            (nss  (assoc-ref inputs "nss")))
 | 
					 | 
				
			||||||
                        (setenv "CPATH"
 | 
					 | 
				
			||||||
                                (string-append (getenv "C_INCLUDE_PATH") ":"
 | 
					 | 
				
			||||||
                                               nspr "/include/nspr:"
 | 
					 | 
				
			||||||
                                               nss "/include/nss"))
 | 
					 | 
				
			||||||
                        (setenv "LIBRARY_PATH"
 | 
					                        (setenv "LIBRARY_PATH"
 | 
				
			||||||
                                (string-append (getenv "LIBRARY_PATH") ":"
 | 
					                                (string-append (getenv "LIBRARY_PATH") ":"
 | 
				
			||||||
                                               nss "/lib/nss"))
 | 
					                                               nss "/lib/nss"))
 | 
				
			||||||
                        #t)))
 | 
					                        #t))))))
 | 
				
			||||||
                  (add-after 'install 'fix-rpm-symlinks
 | 
					 | 
				
			||||||
                    (lambda* (#:key outputs #:allow-other-keys)
 | 
					 | 
				
			||||||
                      ;; 'make install' gets these symlinks wrong.  Fix them.
 | 
					 | 
				
			||||||
                      (let* ((out (assoc-ref outputs "out"))
 | 
					 | 
				
			||||||
                             (bin (string-append out "/bin")))
 | 
					 | 
				
			||||||
                        (with-directory-excursion bin
 | 
					 | 
				
			||||||
                          (for-each (lambda (file)
 | 
					 | 
				
			||||||
                                      (delete-file file)
 | 
					 | 
				
			||||||
                                      (symlink "rpm" file))
 | 
					 | 
				
			||||||
                                    '("rpmquery" "rpmverify"))
 | 
					 | 
				
			||||||
                          #t)))))))
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)))
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
| 
						 | 
					@ -550,7 +530,7 @@ symlinks to the files in a common directory such as /usr/local.")
 | 
				
			||||||
       ("bzip2" ,bzip2)
 | 
					       ("bzip2" ,bzip2)
 | 
				
			||||||
       ("zlib" ,zlib)
 | 
					       ("zlib" ,zlib)
 | 
				
			||||||
       ("cpio" ,cpio)))
 | 
					       ("cpio" ,cpio)))
 | 
				
			||||||
    (home-page "http://www.rpm.org/")
 | 
					    (home-page "http://rpm.org/")
 | 
				
			||||||
    (synopsis "The RPM Package Manager")
 | 
					    (synopsis "The RPM Package Manager")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "The RPM Package Manager (RPM) is a command-line driven package
 | 
					     "The RPM Package Manager (RPM) is a command-line driven package
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										86
									
								
								gnu/packages/patches/ghc-haddock-library-unbundle.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								gnu/packages/patches/ghc-haddock-library-unbundle.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,86 @@
 | 
				
			||||||
 | 
					This patch (inspired by Debian) allows ghc-haddock-library to use our
 | 
				
			||||||
 | 
					ghc-attoparsec package instead of using a bundled version.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--- a/haddock-library.cabal	2018-09-01 01:22:18.676855884 -0400
 | 
				
			||||||
 | 
					+++ b/haddock-library.cabal	2018-09-01 01:25:10.501150260 -0400
 | 
				
			||||||
 | 
					@@ -10,7 +10,6 @@
 | 
				
			||||||
 | 
					                       itself, see the ‘haddock’ package.
 | 
				
			||||||
 | 
					 license:              BSD3
 | 
				
			||||||
 | 
					 license-files:        LICENSE
 | 
				
			||||||
 | 
					-                      vendor/attoparsec-0.13.1.0/LICENSE
 | 
				
			||||||
 | 
					 maintainer:           Alex Biehl <alexbiehl@gmail.com>, Simon Hengel <sol@typeful.net>, Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>
 | 
				
			||||||
 | 
					 homepage:             http://www.haskell.org/haddock/
 | 
				
			||||||
 | 
					 bug-reports:          https://github.com/haskell/haddock/issues
 | 
				
			||||||
 | 
					@@ -28,7 +27,6 @@
 | 
				
			||||||
 | 
					     , containers   >= 0.4.2.1 && < 0.6
 | 
				
			||||||
 | 
					     , transformers >= 0.3.0   && < 0.6
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-  -- internal sub-lib
 | 
				
			||||||
 | 
					   build-depends:        attoparsec
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					   hs-source-dirs:       src
 | 
				
			||||||
 | 
					@@ -49,42 +47,6 @@
 | 
				
			||||||
 | 
					   if impl(ghc >= 8.0)
 | 
				
			||||||
 | 
					     ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-library attoparsec
 | 
				
			||||||
 | 
					-  default-language:     Haskell2010
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					-  build-depends:
 | 
				
			||||||
 | 
					-      base         >= 4.5     && < 4.12
 | 
				
			||||||
 | 
					-    , bytestring   >= 0.9.2.1 && < 0.11
 | 
				
			||||||
 | 
					-    , deepseq      >= 1.3     && < 1.5
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					-  hs-source-dirs:       vendor/attoparsec-0.13.1.0
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					-  -- NB: haddock-library needs only small part of lib:attoparsec
 | 
				
			||||||
 | 
					-  --     internally, so we only bundle that subset here
 | 
				
			||||||
 | 
					-  exposed-modules:
 | 
				
			||||||
 | 
					-    Data.Attoparsec.ByteString
 | 
				
			||||||
 | 
					-    Data.Attoparsec.ByteString.Char8
 | 
				
			||||||
 | 
					-    Data.Attoparsec.Combinator
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					-  other-modules:
 | 
				
			||||||
 | 
					-    Data.Attoparsec
 | 
				
			||||||
 | 
					-    Data.Attoparsec.ByteString.Buffer
 | 
				
			||||||
 | 
					-    Data.Attoparsec.ByteString.FastSet
 | 
				
			||||||
 | 
					-    Data.Attoparsec.ByteString.Internal
 | 
				
			||||||
 | 
					-    Data.Attoparsec.Internal
 | 
				
			||||||
 | 
					-    Data.Attoparsec.Internal.Fhthagn
 | 
				
			||||||
 | 
					-    Data.Attoparsec.Internal.Types
 | 
				
			||||||
 | 
					-    Data.Attoparsec.Number
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					-  ghc-options:          -funbox-strict-fields -Wall -fwarn-tabs -O2
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					-  ghc-options: -Wall
 | 
				
			||||||
 | 
					-  if impl(ghc >= 8.0)
 | 
				
			||||||
 | 
					-    ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
 | 
				
			||||||
 | 
					-  else
 | 
				
			||||||
 | 
					-    build-depends: semigroups ^>= 0.18.3, fail ^>= 4.9.0.0
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					 test-suite spec
 | 
				
			||||||
 | 
					   type:             exitcode-stdio-1.0
 | 
				
			||||||
 | 
					   default-language: Haskell2010
 | 
				
			||||||
 | 
					@@ -115,11 +77,10 @@
 | 
				
			||||||
 | 
					     , hspec         ^>= 2.4.4
 | 
				
			||||||
 | 
					     , QuickCheck    ^>= 2.11
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-  -- internal sub-lib
 | 
				
			||||||
 | 
					   build-depends: attoparsec
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					   -- Versions for the dependencies below are transitively pinned by
 | 
				
			||||||
 | 
					-  -- dependency on haddock-library:lib:attoparsec
 | 
				
			||||||
 | 
					+  -- dependency on attoparsec
 | 
				
			||||||
 | 
					   build-depends:
 | 
				
			||||||
 | 
					       base
 | 
				
			||||||
 | 
					     , bytestring
 | 
				
			||||||
 | 
					@@ -146,7 +107,7 @@
 | 
				
			||||||
 | 
					     haddock-library
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					   -- Versions for the dependencies below are transitively pinned by
 | 
				
			||||||
 | 
					-  -- dependency on haddock-library:lib:attoparsec
 | 
				
			||||||
 | 
					+  -- dependency on attoparsec
 | 
				
			||||||
 | 
					   build-depends:
 | 
				
			||||||
 | 
					       base
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
| 
						 | 
					@ -33,3 +33,17 @@ Fixes needed when avoiding bundled libraries.
 | 
				
			||||||
     '/dom/base',
 | 
					     '/dom/base',
 | 
				
			||||||
     '/dom/storage',
 | 
					     '/dom/storage',
 | 
				
			||||||
     '/ipc/glue',
 | 
					     '/ipc/glue',
 | 
				
			||||||
 | 
					--- icecat-60.2.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build.orig	2018-09-13 17:40:54.000000000 -0400
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build	2018-09-23 21:33:12.319975105 -0400
 | 
				
			||||||
 | 
					@@ -130,11 +130,6 @@
 | 
				
			||||||
 | 
					     DEFINES["WEBRTC_POSIX"] = True
 | 
				
			||||||
 | 
					     DEFINES["_FILE_OFFSET_BITS"] = "64"
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-    LOCAL_INCLUDES += [
 | 
				
			||||||
 | 
					-        "/ipc/chromium/src/third_party/libevent/include/",
 | 
				
			||||||
 | 
					-        "/ipc/chromium/src/third_party/libevent/linux/"
 | 
				
			||||||
 | 
					-    ]
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					     UNIFIED_SOURCES += [
 | 
				
			||||||
 | 
					         "/media/webrtc/trunk/webrtc/base/task_queue_libevent.cc",
 | 
				
			||||||
 | 
					         "/media/webrtc/trunk/webrtc/base/task_queue_posix.cc"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										226
									
								
								gnu/packages/patches/icecat-use-system-graphite2+harfbuzz.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										226
									
								
								gnu/packages/patches/icecat-use-system-graphite2+harfbuzz.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,226 @@
 | 
				
			||||||
 | 
					Allow building against system-wide graphite2/harfbuzz.
 | 
				
			||||||
 | 
					See <https://bugzilla.mozilla.org/show_bug.cgi?id=847568>
 | 
				
			||||||
 | 
					Based on:
 | 
				
			||||||
 | 
					  https://svnweb.freebsd.org/ports/head/www/firefox-esr/files/patch-bug847568?revision=472833&view=co
 | 
				
			||||||
 | 
					Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--- icecat-60.2.0/config/system-headers.mozbuild
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/config/system-headers.mozbuild
 | 
				
			||||||
 | 
					@@ -1311,6 +1311,19 @@
 | 
				
			||||||
 | 
					         'pixman.h',
 | 
				
			||||||
 | 
					     ]
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
 | 
				
			||||||
 | 
					+    system_headers += [
 | 
				
			||||||
 | 
					+        'graphite2/Font.h',
 | 
				
			||||||
 | 
					+        'graphite2/Segment.h',
 | 
				
			||||||
 | 
					+    ]
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
				
			||||||
 | 
					+    system_headers += [
 | 
				
			||||||
 | 
					+        'harfbuzz/hb-glib.h',
 | 
				
			||||||
 | 
					+        'harfbuzz/hb-ot.h',
 | 
				
			||||||
 | 
					+        'harfbuzz/hb.h',
 | 
				
			||||||
 | 
					+    ]
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 if CONFIG['MOZ_SYSTEM_LIBVPX']:
 | 
				
			||||||
 | 
					     system_headers += [
 | 
				
			||||||
 | 
					         'vpx_mem/vpx_mem.h',
 | 
				
			||||||
 | 
					--- icecat-60.2.0/dom/base/moz.build
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/dom/base/moz.build
 | 
				
			||||||
 | 
					@@ -474,6 +474,9 @@
 | 
				
			||||||
 | 
					 if CONFIG['MOZ_X11']:
 | 
				
			||||||
 | 
					     CXXFLAGS += CONFIG['TK_CFLAGS']
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
				
			||||||
 | 
					+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 GENERATED_FILES += [
 | 
				
			||||||
 | 
					     'PropertyUseCounterMap.inc',
 | 
				
			||||||
 | 
					     'UseCounterList.h',
 | 
				
			||||||
 | 
					--- icecat-60.2.0/gfx/graphite2/moz-gr-update.sh
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/gfx/graphite2/moz-gr-update.sh
 | 
				
			||||||
 | 
					@@ -1,6 +1,7 @@
 | 
				
			||||||
 | 
					 #!/bin/bash
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 # Script used to update the Graphite2 library in the mozilla source tree
 | 
				
			||||||
 | 
					+# and bump version for --with-system-graphite2
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 # This script lives in gfx/graphite2, along with the library source,
 | 
				
			||||||
 | 
					 # but must be run from the top level of the mozilla-central tree.
 | 
				
			||||||
 | 
					@@ -37,12 +38,16 @@ echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla
 | 
				
			||||||
 | 
					 #find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
 | 
				
			||||||
 | 
					 #find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+# chase version for --with-system-graphite2
 | 
				
			||||||
 | 
					+perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \
 | 
				
			||||||
 | 
					+  if /GR2_VERSION_REQUIRE/" old-configure.in
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 # summarize what's been touched
 | 
				
			||||||
 | 
					 echo Updated to $RELEASE.
 | 
				
			||||||
 | 
					 echo Here is what changed in the gfx/graphite2 directory:
 | 
				
			||||||
 | 
					 echo
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-hg stat gfx/graphite2
 | 
				
			||||||
 | 
					+hg stat old-configure.in gfx/graphite2
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 echo
 | 
				
			||||||
 | 
					 echo If gfx/graphite2/src/files.mk has changed, please make corresponding
 | 
				
			||||||
 | 
					--- icecat-60.2.0/gfx/moz.build
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/gfx/moz.build
 | 
				
			||||||
 | 
					@@ -10,6 +10,12 @@ with Files('**'):
 | 
				
			||||||
 | 
					 if CONFIG['MOZ_TREE_CAIRO']:
 | 
				
			||||||
 | 
					     DIRS += ['cairo']
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+if not CONFIG['MOZ_SYSTEM_GRAPHITE2']:
 | 
				
			||||||
 | 
					+    DIRS += ['graphite2/src' ]
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
				
			||||||
 | 
					+    DIRS += ['harfbuzz/src']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 DIRS += [
 | 
				
			||||||
 | 
					     '2d',
 | 
				
			||||||
 | 
					     'ycbcr',
 | 
				
			||||||
 | 
					@@ -18,8 +24,6 @@ DIRS += [
 | 
				
			||||||
 | 
					     'qcms',
 | 
				
			||||||
 | 
					     'gl',
 | 
				
			||||||
 | 
					     'layers',
 | 
				
			||||||
 | 
					-    'graphite2/src',
 | 
				
			||||||
 | 
					-    'harfbuzz/src',
 | 
				
			||||||
 | 
					     'ots/src',
 | 
				
			||||||
 | 
					     'thebes',
 | 
				
			||||||
 | 
					     'ipc',
 | 
				
			||||||
 | 
					--- icecat-60.2.0/gfx/skia/generate_mozbuild.py
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/gfx/skia/generate_mozbuild.py
 | 
				
			||||||
 | 
					@@ -148,6 +148,9 @@
 | 
				
			||||||
 | 
					         '-Wno-unused-private-field',
 | 
				
			||||||
 | 
					     ]
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
				
			||||||
 | 
					+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'):
 | 
				
			||||||
 | 
					     CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
 | 
				
			||||||
 | 
					     CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
 | 
				
			||||||
 | 
					--- icecat-60.2.0/gfx/skia/moz.build
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/gfx/skia/moz.build
 | 
				
			||||||
 | 
					@@ -822,6 +822,9 @@
 | 
				
			||||||
 | 
					         '-Wno-unused-private-field',
 | 
				
			||||||
 | 
					     ]
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
				
			||||||
 | 
					+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'):
 | 
				
			||||||
 | 
					     CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
 | 
				
			||||||
 | 
					     CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
 | 
				
			||||||
 | 
					--- icecat-60.2.0/gfx/thebes/moz.build
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/gfx/thebes/moz.build
 | 
				
			||||||
 | 
					@@ -272,7 +272,13 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-DEFINES['GRAPHITE2_STATIC'] = True
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
 | 
				
			||||||
 | 
					+    CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
 | 
				
			||||||
 | 
					+else:
 | 
				
			||||||
 | 
					+    DEFINES['GRAPHITE2_STATIC'] = True
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
				
			||||||
 | 
					+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 if CONFIG['CC_TYPE'] == 'clang':
 | 
				
			||||||
 | 
					     # Suppress warnings from Skia header files.
 | 
				
			||||||
 | 
					--- icecat-60.2.0/intl/unicharutil/util/moz.build
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/intl/unicharutil/util/moz.build
 | 
				
			||||||
 | 
					@@ -25,4 +25,7 @@ UNIFIED_SOURCES += [
 | 
				
			||||||
 | 
					     'nsUnicodeProperties.cpp',
 | 
				
			||||||
 | 
					 ]
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
				
			||||||
 | 
					+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 FINAL_LIBRARY = 'xul'
 | 
				
			||||||
 | 
					--- icecat-60.2.0/netwerk/dns/moz.build
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/netwerk/dns/moz.build
 | 
				
			||||||
 | 
					@@ -76,3 +76,6 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
 | 
				
			||||||
 | 
					     CXXFLAGS += ['-Wno-error=shadow']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
				
			||||||
 | 
					+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
 | 
				
			||||||
 | 
					--- icecat-60.2.0/old-configure.in
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/old-configure.in
 | 
				
			||||||
 | 
					@@ -3995,6 +3995,27 @@
 | 
				
			||||||
 | 
					 AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 dnl ========================================================
 | 
				
			||||||
 | 
					+dnl Check for graphite2
 | 
				
			||||||
 | 
					+dnl ========================================================
 | 
				
			||||||
 | 
					+if test -n "$MOZ_SYSTEM_GRAPHITE2"; then
 | 
				
			||||||
 | 
					+    dnl graphite2.pc has bogus version, check manually
 | 
				
			||||||
 | 
					+    _SAVE_CFLAGS=$CFLAGS
 | 
				
			||||||
 | 
					+    CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS"
 | 
				
			||||||
 | 
					+    AC_TRY_COMPILE([ #include <graphite2/Font.h>
 | 
				
			||||||
 | 
					+                     #define GR2_VERSION_REQUIRE(major,minor,bugfix)  \
 | 
				
			||||||
 | 
					+                             ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \
 | 
				
			||||||
 | 
					+                               * 100 + GR2_VERSION_BUGFIX >= \
 | 
				
			||||||
 | 
					+                               (major) * 10000 + (minor) * 100 + (bugfix) )
 | 
				
			||||||
 | 
					+                   ], [
 | 
				
			||||||
 | 
					+                     #if !GR2_VERSION_REQUIRE(1,3,10)
 | 
				
			||||||
 | 
					+                     #error "Insufficient graphite2 version."
 | 
				
			||||||
 | 
					+                     #endif
 | 
				
			||||||
 | 
					+                   ], [],
 | 
				
			||||||
 | 
					+                   [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
 | 
				
			||||||
 | 
					+    CFLAGS=$_SAVE_CFLAGS
 | 
				
			||||||
 | 
					+fi
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+dnl ========================================================
 | 
				
			||||||
 | 
					 dnl Check for pixman and cairo
 | 
				
			||||||
 | 
					 dnl ========================================================
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					--- icecat-60.2.0/toolkit/library/moz.build
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/toolkit/library/moz.build
 | 
				
			||||||
 | 
					@@ -235,6 +235,12 @@
 | 
				
			||||||
 | 
					 if CONFIG['MOZ_SYSTEM_PNG']:
 | 
				
			||||||
 | 
					     OS_LIBS += CONFIG['MOZ_PNG_LIBS']
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
 | 
				
			||||||
 | 
					+    OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
				
			||||||
 | 
					+    OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 if CONFIG['MOZ_SYSTEM_HUNSPELL']:
 | 
				
			||||||
 | 
					     OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					--- icecat-60.2.0/toolkit/moz.configure
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/toolkit/moz.configure
 | 
				
			||||||
 | 
					@@ -1051,6 +1051,26 @@
 | 
				
			||||||
 | 
					 add_old_configure_assignment('FT2_CFLAGS',
 | 
				
			||||||
 | 
					                              ft2_info.cflags)
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+# Graphite2
 | 
				
			||||||
 | 
					+# ==============================================================
 | 
				
			||||||
 | 
					+option('--with-system-graphite2',
 | 
				
			||||||
 | 
					+       help="Use system graphite2 (located with pkgconfig)")
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2',
 | 
				
			||||||
 | 
					+                                     when='--with-system-graphite2')
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True))
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+# HarfBuzz
 | 
				
			||||||
 | 
					+# ==============================================================
 | 
				
			||||||
 | 
					+option('--with-system-harfbuzz',
 | 
				
			||||||
 | 
					+       help="Use system harfbuzz (located with pkgconfig)")
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.7.4',
 | 
				
			||||||
 | 
					+                                    when='--with-system-harfbuzz')
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 # Mortar
 | 
				
			||||||
 | 
					 # ==============================================================
 | 
				
			||||||
 | 
					 option('--enable-mortar', help='Enable mortar extension')
 | 
				
			||||||
| 
						 | 
					@ -1,248 +0,0 @@
 | 
				
			||||||
Copied from <https://reviewboard.mozilla.org/r/90218/diff/4>
 | 
					 | 
				
			||||||
See <https://bugzilla.mozilla.org/show_bug.cgi?id=847568>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff --git a/config/Makefile.in b/config/Makefile.in
 | 
					 | 
				
			||||||
--- a/config/Makefile.in
 | 
					 | 
				
			||||||
+++ b/config/Makefile.in
 | 
					 | 
				
			||||||
@@ -36,16 +36,17 @@ ifdef WRAP_SYSTEM_INCLUDES
 | 
					 | 
				
			||||||
 export-preqs = \
 | 
					 | 
				
			||||||
   $(call mkdir_deps,system_wrappers) \
 | 
					 | 
				
			||||||
   $(NULL)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 export:: $(export-preqs)
 | 
					 | 
				
			||||||
 	$(PYTHON) -m mozbuild.action.preprocessor $(DEFINES) $(ACDEFINES) \
 | 
					 | 
				
			||||||
 		-DMOZ_TREE_CAIRO=$(MOZ_TREE_CAIRO) \
 | 
					 | 
				
			||||||
 		-DMOZ_TREE_PIXMAN=$(MOZ_TREE_PIXMAN) \
 | 
					 | 
				
			||||||
+		-DMOZ_SYSTEM_GRAPHITE2=$(MOZ_SYSTEM_GRAPHITE2) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_HARFBUZZ=$(MOZ_SYSTEM_HARFBUZZ) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_HUNSPELL=$(MOZ_SYSTEM_HUNSPELL) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_BZ2=$(MOZ_SYSTEM_BZ2) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_ZLIB=$(MOZ_SYSTEM_ZLIB) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_PNG=$(MOZ_SYSTEM_PNG) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_JPEG=$(MOZ_SYSTEM_JPEG) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \
 | 
					 | 
				
			||||||
diff --git a/config/system-headers b/config/system-headers
 | 
					 | 
				
			||||||
--- a/config/system-headers
 | 
					 | 
				
			||||||
+++ b/config/system-headers
 | 
					 | 
				
			||||||
@@ -1260,16 +1260,20 @@ zlib.h
 | 
					 | 
				
			||||||
 #ifdef MOZ_ENABLE_STARTUP_NOTIFICATION
 | 
					 | 
				
			||||||
 libsn/sn.h
 | 
					 | 
				
			||||||
 libsn/sn-common.h
 | 
					 | 
				
			||||||
 libsn/sn-launchee.h
 | 
					 | 
				
			||||||
 libsn/sn-launcher.h
 | 
					 | 
				
			||||||
 libsn/sn-monitor.h
 | 
					 | 
				
			||||||
 libsn/sn-util.h
 | 
					 | 
				
			||||||
 #endif
 | 
					 | 
				
			||||||
+#if MOZ_SYSTEM_GRAPHITE2==1
 | 
					 | 
				
			||||||
+graphite2/Font.h
 | 
					 | 
				
			||||||
+graphite2/Segment.h
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
 #if MOZ_SYSTEM_HARFBUZZ==1
 | 
					 | 
				
			||||||
 harfbuzz/hb-glib.h
 | 
					 | 
				
			||||||
 harfbuzz/hb-ot.h
 | 
					 | 
				
			||||||
 harfbuzz/hb.h
 | 
					 | 
				
			||||||
 #endif
 | 
					 | 
				
			||||||
 #if MOZ_SYSTEM_HUNSPELL==1
 | 
					 | 
				
			||||||
 hunspell.hxx
 | 
					 | 
				
			||||||
 #endif
 | 
					 | 
				
			||||||
diff --git a/gfx/graphite2/moz-gr-update.sh b/gfx/graphite2/moz-gr-update.sh
 | 
					 | 
				
			||||||
--- a/gfx/graphite2/moz-gr-update.sh
 | 
					 | 
				
			||||||
+++ b/gfx/graphite2/moz-gr-update.sh
 | 
					 | 
				
			||||||
@@ -1,11 +1,12 @@
 | 
					 | 
				
			||||||
 #!/bin/bash
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 # Script used to update the Graphite2 library in the mozilla source tree
 | 
					 | 
				
			||||||
+# and bump version for --with-system-graphite2
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 # This script lives in gfx/graphite2, along with the library source,
 | 
					 | 
				
			||||||
 # but must be run from the top level of the mozilla-central tree.
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 # Run as
 | 
					 | 
				
			||||||
 #
 | 
					 | 
				
			||||||
 #    ./gfx/graphite2/moz-gr-update.sh RELEASE
 | 
					 | 
				
			||||||
 #
 | 
					 | 
				
			||||||
@@ -32,22 +33,26 @@ echo "This directory contains the Graphi
 | 
					 | 
				
			||||||
 echo "$TARBALL" >> gfx/graphite2/README.mozilla
 | 
					 | 
				
			||||||
 echo ""
 | 
					 | 
				
			||||||
 echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 # fix up includes because of bug 721839 (cstdio) and bug 803066 (Windows.h)
 | 
					 | 
				
			||||||
 #find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
 | 
					 | 
				
			||||||
 #find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+# chase version for --with-system-graphite2
 | 
					 | 
				
			||||||
+perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \
 | 
					 | 
				
			||||||
+  if /GR2_VERSION_REQUIRE/" old-configure.in
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 # summarize what's been touched
 | 
					 | 
				
			||||||
 echo Updated to $RELEASE.
 | 
					 | 
				
			||||||
 echo Here is what changed in the gfx/graphite2 directory:
 | 
					 | 
				
			||||||
 echo
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-hg stat gfx/graphite2
 | 
					 | 
				
			||||||
+hg stat old-configure.in gfx/graphite2
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 echo
 | 
					 | 
				
			||||||
 echo If gfx/graphite2/src/files.mk has changed, please make corresponding
 | 
					 | 
				
			||||||
 echo changes to gfx/graphite2/src/moz.build
 | 
					 | 
				
			||||||
 echo
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 echo
 | 
					 | 
				
			||||||
 echo Now use hg commands to create a patch for the mozilla tree.
 | 
					 | 
				
			||||||
diff --git a/gfx/moz.build b/gfx/moz.build
 | 
					 | 
				
			||||||
--- a/gfx/moz.build
 | 
					 | 
				
			||||||
+++ b/gfx/moz.build
 | 
					 | 
				
			||||||
@@ -2,28 +2,30 @@
 | 
					 | 
				
			||||||
 # vim: set filetype=python:
 | 
					 | 
				
			||||||
 # This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 | 
				
			||||||
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 | 
				
			||||||
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_TREE_CAIRO']:
 | 
					 | 
				
			||||||
     DIRS += ['cairo']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+if not CONFIG['MOZ_SYSTEM_GRAPHITE2']:
 | 
					 | 
				
			||||||
+    DIRS += ['graphite2/src' ]
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
					 | 
				
			||||||
     DIRS += ['harfbuzz/src']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 DIRS += [
 | 
					 | 
				
			||||||
     '2d',
 | 
					 | 
				
			||||||
     'ycbcr',
 | 
					 | 
				
			||||||
     'angle',
 | 
					 | 
				
			||||||
     'src',
 | 
					 | 
				
			||||||
     'qcms',
 | 
					 | 
				
			||||||
     'gl',
 | 
					 | 
				
			||||||
     'layers',
 | 
					 | 
				
			||||||
-    'graphite2/src',
 | 
					 | 
				
			||||||
     'ots/src',
 | 
					 | 
				
			||||||
     'thebes',
 | 
					 | 
				
			||||||
     'ipc',
 | 
					 | 
				
			||||||
     'vr',
 | 
					 | 
				
			||||||
     'config',
 | 
					 | 
				
			||||||
 ]
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_ENABLE_SKIA']:
 | 
					 | 
				
			||||||
diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
 | 
					 | 
				
			||||||
--- a/gfx/thebes/moz.build
 | 
					 | 
				
			||||||
+++ b/gfx/thebes/moz.build
 | 
					 | 
				
			||||||
@@ -261,16 +261,19 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('and
 | 
					 | 
				
			||||||
     CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
 | 
					 | 
				
			||||||
     CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
 | 
					 | 
				
			||||||
 LOCAL_INCLUDES += ['/media/libyuv/include']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-DEFINES['GRAPHITE2_STATIC'] = True
 | 
					 | 
				
			||||||
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
 | 
					 | 
				
			||||||
+    CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
 | 
					 | 
				
			||||||
+else:
 | 
					 | 
				
			||||||
+    DEFINES['GRAPHITE2_STATIC'] = True
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
					 | 
				
			||||||
     CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['CLANG_CXX']:
 | 
					 | 
				
			||||||
     # Suppress warnings from Skia header files.
 | 
					 | 
				
			||||||
     SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough']
 | 
					 | 
				
			||||||
diff --git a/moz.configure b/moz.configure
 | 
					 | 
				
			||||||
--- a/moz.configure
 | 
					 | 
				
			||||||
+++ b/moz.configure
 | 
					 | 
				
			||||||
@@ -260,16 +260,28 @@ def extra_programs(target):
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 check_prog('DSYMUTIL', delayed_getattr(extra_programs, 'DSYMUTIL'),
 | 
					 | 
				
			||||||
            allow_missing=True)
 | 
					 | 
				
			||||||
 check_prog('GENISOIMAGE', delayed_getattr(extra_programs, 'GENISOIMAGE'),
 | 
					 | 
				
			||||||
            allow_missing=True)
 | 
					 | 
				
			||||||
 check_prog('RPMBUILD', delayed_getattr(extra_programs, 'RPMBUILD'),
 | 
					 | 
				
			||||||
            allow_missing=True)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+option('--with-system-graphite2',
 | 
					 | 
				
			||||||
+       help="Use system graphite2 (located with pkgconfig)")
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
+@depends('--with-system-graphite2', compile_environment)
 | 
					 | 
				
			||||||
+def check_for_graphite2(value, compile_env):
 | 
					 | 
				
			||||||
+    return value and compile_env
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
+system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2',
 | 
					 | 
				
			||||||
+                                    check_for_graphite2)
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
+set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True))
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 option('--with-system-harfbuzz',
 | 
					 | 
				
			||||||
        help="Use system harfbuzz (located with pkgconfig)")
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 @depends('--with-system-harfbuzz', compile_environment)
 | 
					 | 
				
			||||||
 def check_for_harfbuzz(value, compile_env):
 | 
					 | 
				
			||||||
     return value and compile_env
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.3.3',
 | 
					 | 
				
			||||||
diff --git a/old-configure.in b/old-configure.in
 | 
					 | 
				
			||||||
--- a/old-configure.in
 | 
					 | 
				
			||||||
+++ b/old-configure.in
 | 
					 | 
				
			||||||
@@ -5060,16 +5060,37 @@ if test "$USE_FC_FREETYPE"; then
 | 
					 | 
				
			||||||
         CPPFLAGS="$CPPFLAGS $FT2_CFLAGS $XCFLAGS"
 | 
					 | 
				
			||||||
         MOZ_CHECK_HEADERS([fontconfig/fcfreetype.h], ,
 | 
					 | 
				
			||||||
             [AC_MSG_ERROR(Can't find header fontconfig/fcfreetype.h.)], [#include <fontconfig/fontconfig.h>])
 | 
					 | 
				
			||||||
         CPPFLAGS="$_SAVE_CPPFLAGS"
 | 
					 | 
				
			||||||
     fi
 | 
					 | 
				
			||||||
 fi
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 dnl ========================================================
 | 
					 | 
				
			||||||
+dnl Check for graphite2
 | 
					 | 
				
			||||||
+dnl ========================================================
 | 
					 | 
				
			||||||
+if test -n "$MOZ_SYSTEM_GRAPHITE2"; then
 | 
					 | 
				
			||||||
+    dnl graphite2.pc has bogus version, check manually
 | 
					 | 
				
			||||||
+    _SAVE_CFLAGS=$CFLAGS
 | 
					 | 
				
			||||||
+    CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS"
 | 
					 | 
				
			||||||
+    AC_TRY_COMPILE([ #include <graphite2/Font.h>
 | 
					 | 
				
			||||||
+                     #define GR2_VERSION_REQUIRE(major,minor,bugfix)  \
 | 
					 | 
				
			||||||
+                             ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \
 | 
					 | 
				
			||||||
+                               * 100 + GR2_VERSION_BUGFIX >= \
 | 
					 | 
				
			||||||
+                               (major) * 10000 + (minor) * 100 + (bugfix) )
 | 
					 | 
				
			||||||
+                   ], [
 | 
					 | 
				
			||||||
+                     #if !GR2_VERSION_REQUIRE(1,3,8)
 | 
					 | 
				
			||||||
+                     #error "Insufficient graphite2 version."
 | 
					 | 
				
			||||||
+                     #endif
 | 
					 | 
				
			||||||
+                   ], [],
 | 
					 | 
				
			||||||
+                   [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
 | 
					 | 
				
			||||||
+    CFLAGS=$_SAVE_CFLAGS
 | 
					 | 
				
			||||||
+fi
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
+dnl ========================================================
 | 
					 | 
				
			||||||
 dnl Check for pixman and cairo
 | 
					 | 
				
			||||||
 dnl ========================================================
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 MOZ_TREE_CAIRO=1
 | 
					 | 
				
			||||||
 MOZ_ARG_ENABLE_BOOL(system-cairo,
 | 
					 | 
				
			||||||
 [  --enable-system-cairo   Use system cairo (located with pkgconfig)],
 | 
					 | 
				
			||||||
 MOZ_TREE_CAIRO=,
 | 
					 | 
				
			||||||
 MOZ_TREE_CAIRO=1 )
 | 
					 | 
				
			||||||
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
 | 
					 | 
				
			||||||
--- a/toolkit/library/moz.build
 | 
					 | 
				
			||||||
+++ b/toolkit/library/moz.build
 | 
					 | 
				
			||||||
@@ -221,16 +221,19 @@ if CONFIG['SERVO_TARGET_DIR']:
 | 
					 | 
				
			||||||
         OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_SYSTEM_JPEG']:
 | 
					 | 
				
			||||||
     OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_SYSTEM_PNG']:
 | 
					 | 
				
			||||||
     OS_LIBS += CONFIG['MOZ_PNG_LIBS']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
 | 
					 | 
				
			||||||
+    OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS']
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
					 | 
				
			||||||
     OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_SYSTEM_HUNSPELL']:
 | 
					 | 
				
			||||||
     OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_SYSTEM_LIBEVENT']:
 | 
					 | 
				
			||||||
     OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,279 +0,0 @@
 | 
				
			||||||
Copied from <https://reviewboard.mozilla.org/r/35763/diff/9>
 | 
					 | 
				
			||||||
See <https://bugzilla.mozilla.org/show_bug.cgi?id=847568>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff --git a/config/Makefile.in b/config/Makefile.in
 | 
					 | 
				
			||||||
--- a/config/Makefile.in
 | 
					 | 
				
			||||||
+++ b/config/Makefile.in
 | 
					 | 
				
			||||||
@@ -36,16 +36,17 @@ ifdef WRAP_SYSTEM_INCLUDES
 | 
					 | 
				
			||||||
 export-preqs = \
 | 
					 | 
				
			||||||
   $(call mkdir_deps,system_wrappers) \
 | 
					 | 
				
			||||||
   $(NULL)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 export:: $(export-preqs)
 | 
					 | 
				
			||||||
 	$(PYTHON) -m mozbuild.action.preprocessor $(DEFINES) $(ACDEFINES) \
 | 
					 | 
				
			||||||
 		-DMOZ_TREE_CAIRO=$(MOZ_TREE_CAIRO) \
 | 
					 | 
				
			||||||
 		-DMOZ_TREE_PIXMAN=$(MOZ_TREE_PIXMAN) \
 | 
					 | 
				
			||||||
+		-DMOZ_SYSTEM_HARFBUZZ=$(MOZ_SYSTEM_HARFBUZZ) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_HUNSPELL=$(MOZ_SYSTEM_HUNSPELL) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_BZ2=$(MOZ_SYSTEM_BZ2) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_ZLIB=$(MOZ_SYSTEM_ZLIB) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_PNG=$(MOZ_SYSTEM_PNG) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_JPEG=$(MOZ_SYSTEM_JPEG) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \
 | 
					 | 
				
			||||||
 		-DMOZ_SYSTEM_ICU=$(MOZ_SYSTEM_ICU) \
 | 
					 | 
				
			||||||
diff --git a/config/system-headers b/config/system-headers
 | 
					 | 
				
			||||||
--- a/config/system-headers
 | 
					 | 
				
			||||||
+++ b/config/system-headers
 | 
					 | 
				
			||||||
@@ -1260,16 +1260,21 @@ zlib.h
 | 
					 | 
				
			||||||
 #ifdef MOZ_ENABLE_STARTUP_NOTIFICATION
 | 
					 | 
				
			||||||
 libsn/sn.h
 | 
					 | 
				
			||||||
 libsn/sn-common.h
 | 
					 | 
				
			||||||
 libsn/sn-launchee.h
 | 
					 | 
				
			||||||
 libsn/sn-launcher.h
 | 
					 | 
				
			||||||
 libsn/sn-monitor.h
 | 
					 | 
				
			||||||
 libsn/sn-util.h
 | 
					 | 
				
			||||||
 #endif
 | 
					 | 
				
			||||||
+#if MOZ_SYSTEM_HARFBUZZ==1
 | 
					 | 
				
			||||||
+harfbuzz/hb-glib.h
 | 
					 | 
				
			||||||
+harfbuzz/hb-ot.h
 | 
					 | 
				
			||||||
+harfbuzz/hb.h
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
 #if MOZ_SYSTEM_HUNSPELL==1
 | 
					 | 
				
			||||||
 hunspell.hxx
 | 
					 | 
				
			||||||
 #endif
 | 
					 | 
				
			||||||
 #if MOZ_SYSTEM_BZ2==1
 | 
					 | 
				
			||||||
 bzlib.h
 | 
					 | 
				
			||||||
 #endif
 | 
					 | 
				
			||||||
 #ifdef MOZ_ENABLE_GIO
 | 
					 | 
				
			||||||
 gio/gio.h
 | 
					 | 
				
			||||||
diff --git a/dom/base/moz.build b/dom/base/moz.build
 | 
					 | 
				
			||||||
--- a/dom/base/moz.build
 | 
					 | 
				
			||||||
+++ b/dom/base/moz.build
 | 
					 | 
				
			||||||
@@ -474,16 +474,19 @@ for var in ('MOZ_B2G_RIL'):
 | 
					 | 
				
			||||||
         DEFINES[var] = True
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']:
 | 
					 | 
				
			||||||
     DEFINES['HAVE_SIDEBAR'] = True
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_X11']:
 | 
					 | 
				
			||||||
     CXXFLAGS += CONFIG['TK_CFLAGS']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
					 | 
				
			||||||
+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 GENERATED_FILES += [
 | 
					 | 
				
			||||||
     'PropertyUseCounterMap.inc',
 | 
					 | 
				
			||||||
     'UseCounterList.h',
 | 
					 | 
				
			||||||
 ]
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 countermap = GENERATED_FILES['PropertyUseCounterMap.inc']
 | 
					 | 
				
			||||||
 countermap.script = 'gen-usecounters.py:property_map'
 | 
					 | 
				
			||||||
 countermap.inputs = ['UseCounters.conf']
 | 
					 | 
				
			||||||
diff --git a/gfx/harfbuzz/README-mozilla b/gfx/harfbuzz/README-mozilla
 | 
					 | 
				
			||||||
--- a/gfx/harfbuzz/README-mozilla
 | 
					 | 
				
			||||||
+++ b/gfx/harfbuzz/README-mozilla
 | 
					 | 
				
			||||||
@@ -14,8 +14,13 @@ this file when updating harfbuzz, and ch
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 The normal approach to updating harfbuzz, therefore, is to pull the latest HB
 | 
					 | 
				
			||||||
 source into a scratch directory and do a local build; then copy the original
 | 
					 | 
				
			||||||
 sources AND the generated header mentioned above from the build directory into
 | 
					 | 
				
			||||||
 the mozilla tree.
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 If the collection of source files changes, manual updates to moz.build may be
 | 
					 | 
				
			||||||
 needed, as we don't use the upstream makefiles.
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
+The in-tree copy may be omitted during build by --with-system-harfbuzz.
 | 
					 | 
				
			||||||
+Make sure to keep pkg-config version check within old-configure.in in sync
 | 
					 | 
				
			||||||
+with checkout version or increment latest tag by one if it's not based
 | 
					 | 
				
			||||||
+on upstream release.
 | 
					 | 
				
			||||||
diff --git a/gfx/moz.build b/gfx/moz.build
 | 
					 | 
				
			||||||
--- a/gfx/moz.build
 | 
					 | 
				
			||||||
+++ b/gfx/moz.build
 | 
					 | 
				
			||||||
@@ -2,26 +2,28 @@
 | 
					 | 
				
			||||||
 # vim: set filetype=python:
 | 
					 | 
				
			||||||
 # This Source Code Form is subject to the terms of the Mozilla Public
 | 
					 | 
				
			||||||
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
					 | 
				
			||||||
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_TREE_CAIRO']:
 | 
					 | 
				
			||||||
     DIRS += ['cairo']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+if not CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
					 | 
				
			||||||
+    DIRS += ['harfbuzz/src']
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 DIRS += [
 | 
					 | 
				
			||||||
     '2d',
 | 
					 | 
				
			||||||
     'ycbcr',
 | 
					 | 
				
			||||||
     'angle',
 | 
					 | 
				
			||||||
     'src',
 | 
					 | 
				
			||||||
     'qcms',
 | 
					 | 
				
			||||||
     'gl',
 | 
					 | 
				
			||||||
     'layers',
 | 
					 | 
				
			||||||
     'graphite2/src',
 | 
					 | 
				
			||||||
-    'harfbuzz/src',
 | 
					 | 
				
			||||||
     'ots/src',
 | 
					 | 
				
			||||||
     'thebes',
 | 
					 | 
				
			||||||
     'ipc',
 | 
					 | 
				
			||||||
     'vr',
 | 
					 | 
				
			||||||
     'config',
 | 
					 | 
				
			||||||
 ]
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_ENABLE_SKIA']:
 | 
					 | 
				
			||||||
diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py
 | 
					 | 
				
			||||||
--- a/gfx/skia/generate_mozbuild.py
 | 
					 | 
				
			||||||
+++ b/gfx/skia/generate_mozbuild.py
 | 
					 | 
				
			||||||
@@ -138,16 +138,19 @@ if CONFIG['GNU_CXX'] and not CONFIG['CLA
 | 
					 | 
				
			||||||
 if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
 | 
					 | 
				
			||||||
     CXXFLAGS += [
 | 
					 | 
				
			||||||
         '-Wno-implicit-fallthrough',
 | 
					 | 
				
			||||||
         '-Wno-inconsistent-missing-override',
 | 
					 | 
				
			||||||
         '-Wno-macro-redefined',
 | 
					 | 
				
			||||||
         '-Wno-unused-private-field',
 | 
					 | 
				
			||||||
     ]
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
					 | 
				
			||||||
+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'):
 | 
					 | 
				
			||||||
     CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
 | 
					 | 
				
			||||||
     CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
 | 
					 | 
				
			||||||
     CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
 | 
					 | 
				
			||||||
 """
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build
 | 
					 | 
				
			||||||
--- a/gfx/skia/moz.build
 | 
					 | 
				
			||||||
+++ b/gfx/skia/moz.build
 | 
					 | 
				
			||||||
@@ -748,14 +748,17 @@ if CONFIG['GNU_CXX'] and not CONFIG['CLA
 | 
					 | 
				
			||||||
 if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
 | 
					 | 
				
			||||||
     CXXFLAGS += [
 | 
					 | 
				
			||||||
         '-Wno-implicit-fallthrough',
 | 
					 | 
				
			||||||
         '-Wno-inconsistent-missing-override',
 | 
					 | 
				
			||||||
         '-Wno-macro-redefined',
 | 
					 | 
				
			||||||
         '-Wno-unused-private-field',
 | 
					 | 
				
			||||||
     ]
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
					 | 
				
			||||||
+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'):
 | 
					 | 
				
			||||||
     CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
 | 
					 | 
				
			||||||
     CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
 | 
					 | 
				
			||||||
     CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
 | 
					 | 
				
			||||||
diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
 | 
					 | 
				
			||||||
--- a/gfx/thebes/moz.build
 | 
					 | 
				
			||||||
+++ b/gfx/thebes/moz.build
 | 
					 | 
				
			||||||
@@ -263,11 +263,14 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('and
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
 | 
					 | 
				
			||||||
     CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
 | 
					 | 
				
			||||||
 LOCAL_INCLUDES += ['/media/libyuv/include']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 DEFINES['GRAPHITE2_STATIC'] = True
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
					 | 
				
			||||||
+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 if CONFIG['CLANG_CXX']:
 | 
					 | 
				
			||||||
     # Suppress warnings from Skia header files.
 | 
					 | 
				
			||||||
     SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough']
 | 
					 | 
				
			||||||
diff --git a/intl/unicharutil/util/moz.build b/intl/unicharutil/util/moz.build
 | 
					 | 
				
			||||||
--- a/intl/unicharutil/util/moz.build
 | 
					 | 
				
			||||||
+++ b/intl/unicharutil/util/moz.build
 | 
					 | 
				
			||||||
@@ -37,9 +37,12 @@ if CONFIG['_MSC_VER']:
 | 
					 | 
				
			||||||
     DEFINES['_USE_ANSI_CPP'] = True
 | 
					 | 
				
			||||||
     # Don't include directives about which CRT to use
 | 
					 | 
				
			||||||
     CFLAGS += ['-Zl']
 | 
					 | 
				
			||||||
     CXXFLAGS += ['-Zl']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['ENABLE_INTL_API']:
 | 
					 | 
				
			||||||
     USE_LIBS += ['icu']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
					 | 
				
			||||||
+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 DIST_INSTALL = True
 | 
					 | 
				
			||||||
diff --git a/moz.configure b/moz.configure
 | 
					 | 
				
			||||||
--- a/moz.configure
 | 
					 | 
				
			||||||
+++ b/moz.configure
 | 
					 | 
				
			||||||
@@ -260,16 +260,28 @@ def extra_programs(target):
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 check_prog('DSYMUTIL', delayed_getattr(extra_programs, 'DSYMUTIL'),
 | 
					 | 
				
			||||||
            allow_missing=True)
 | 
					 | 
				
			||||||
 check_prog('GENISOIMAGE', delayed_getattr(extra_programs, 'GENISOIMAGE'),
 | 
					 | 
				
			||||||
            allow_missing=True)
 | 
					 | 
				
			||||||
 check_prog('RPMBUILD', delayed_getattr(extra_programs, 'RPMBUILD'),
 | 
					 | 
				
			||||||
            allow_missing=True)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+option('--with-system-harfbuzz',
 | 
					 | 
				
			||||||
+       help="Use system harfbuzz (located with pkgconfig)")
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
+@depends('--with-system-harfbuzz', compile_environment)
 | 
					 | 
				
			||||||
+def check_for_harfbuzz(value, compile_env):
 | 
					 | 
				
			||||||
+    return value and compile_env
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.3.3',
 | 
					 | 
				
			||||||
+                                    check_for_harfbuzz)
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 option('--enable-system-hunspell',
 | 
					 | 
				
			||||||
        help="Use system hunspell (located with pkgconfig)")
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 @depends('--enable-system-hunspell', compile_environment)
 | 
					 | 
				
			||||||
 def check_for_hunspell(value, compile_env):
 | 
					 | 
				
			||||||
     return value and compile_env
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 system_hunspell = pkg_check_modules('MOZ_HUNSPELL', 'hunspell',
 | 
					 | 
				
			||||||
diff --git a/netwerk/dns/moz.build b/netwerk/dns/moz.build
 | 
					 | 
				
			||||||
--- a/netwerk/dns/moz.build
 | 
					 | 
				
			||||||
+++ b/netwerk/dns/moz.build
 | 
					 | 
				
			||||||
@@ -61,16 +61,19 @@ etld_data = GENERATED_FILES['etld_data.i
 | 
					 | 
				
			||||||
 etld_data.script = 'prepare_tlds.py'
 | 
					 | 
				
			||||||
 etld_data.inputs = ['effective_tld_names.dat']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 # need to include etld_data.inc
 | 
					 | 
				
			||||||
 LOCAL_INCLUDES += [
 | 
					 | 
				
			||||||
     '/netwerk/base',
 | 
					 | 
				
			||||||
 ]
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
					 | 
				
			||||||
+    CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 if CONFIG['ENABLE_INTL_API']:
 | 
					 | 
				
			||||||
     DEFINES['IDNA2008'] = True
 | 
					 | 
				
			||||||
     USE_LIBS += ['icu']
 | 
					 | 
				
			||||||
 else:
 | 
					 | 
				
			||||||
     UNIFIED_SOURCES += [
 | 
					 | 
				
			||||||
         'nameprep.c',
 | 
					 | 
				
			||||||
     ]
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
 | 
					 | 
				
			||||||
--- a/toolkit/library/moz.build
 | 
					 | 
				
			||||||
+++ b/toolkit/library/moz.build
 | 
					 | 
				
			||||||
@@ -221,16 +221,19 @@ if CONFIG['SERVO_TARGET_DIR']:
 | 
					 | 
				
			||||||
         OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_SYSTEM_JPEG']:
 | 
					 | 
				
			||||||
     OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_SYSTEM_PNG']:
 | 
					 | 
				
			||||||
     OS_LIBS += CONFIG['MOZ_PNG_LIBS']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
 | 
					 | 
				
			||||||
+    OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS']
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_SYSTEM_HUNSPELL']:
 | 
					 | 
				
			||||||
     OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_SYSTEM_LIBEVENT']:
 | 
					 | 
				
			||||||
     OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 if CONFIG['MOZ_SYSTEM_LIBVPX']:
 | 
					 | 
				
			||||||
     OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
							
								
								
									
										381
									
								
								gnu/packages/patches/icecat-use-system-media-libs.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										381
									
								
								gnu/packages/patches/icecat-use-system-media-libs.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,381 @@
 | 
				
			||||||
 | 
					Support building with system media libraries.
 | 
				
			||||||
 | 
					See <https://bugzilla.mozilla.org/show_bug.cgi?id=517422>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Based on:
 | 
				
			||||||
 | 
					  https://svnweb.freebsd.org/ports/head/www/firefox-esr/files/patch-z-bug517422?revision=472833&view=markup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Changes to files within the bundled libraries are omitted, since those files
 | 
				
			||||||
 | 
					are removed from Guix sources.  Modified for use with patch -p1, and to apply
 | 
				
			||||||
 | 
					cleanly to GNU IceCat.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--- icecat-60.2.0/build/moz.configure/old.configure
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/build/moz.configure/old.configure
 | 
				
			||||||
 | 
					@@ -273,7 +273,12 @@
 | 
				
			||||||
 | 
					     '--with-system-libvpx',
 | 
				
			||||||
 | 
					     '--with-system-nspr',
 | 
				
			||||||
 | 
					     '--with-system-nss',
 | 
				
			||||||
 | 
					+    '--with-system-ogg',
 | 
				
			||||||
 | 
					     '--with-system-png',
 | 
				
			||||||
 | 
					+    '--with-system-soundtouch',
 | 
				
			||||||
 | 
					+    '--with-system-theora',
 | 
				
			||||||
 | 
					+    '--with-system-tremor',
 | 
				
			||||||
 | 
					+    '--with-system-vorbis',
 | 
				
			||||||
 | 
					     '--with-system-zlib',
 | 
				
			||||||
 | 
					     '--with-thumb',
 | 
				
			||||||
 | 
					     '--with-thumb-interwork',
 | 
				
			||||||
 | 
					--- icecat-60.2.0/config/external/moz.build
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/config/external/moz.build
 | 
				
			||||||
 | 
					@@ -23,12 +23,21 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 external_dirs += ['modules/xz-embedded']
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-if CONFIG['MOZ_VORBIS']:
 | 
				
			||||||
 | 
					+if not CONFIG['MOZ_SYSTEM_OGG']:
 | 
				
			||||||
 | 
					+    external_dirs += ['media/libogg']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']:
 | 
				
			||||||
 | 
					     external_dirs += ['media/libvorbis']
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-if CONFIG['MOZ_TREMOR']:
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']:
 | 
				
			||||||
 | 
					     external_dirs += ['media/libtremor']
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+if not CONFIG['MOZ_SYSTEM_THEORA']:
 | 
				
			||||||
 | 
					+    external_dirs += ['media/libtheora']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
 | 
				
			||||||
 | 
					+    external_dirs += ['media/libsoundtouch']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 if CONFIG['MOZ_WEBM_ENCODER']:
 | 
				
			||||||
 | 
					     external_dirs += ['media/libmkv']
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					@@ -51,11 +60,8 @@
 | 
				
			||||||
 | 
					     'media/kiss_fft',
 | 
				
			||||||
 | 
					     'media/libcubeb',
 | 
				
			||||||
 | 
					     'media/libnestegg',
 | 
				
			||||||
 | 
					-    'media/libogg',
 | 
				
			||||||
 | 
					     'media/libopus',
 | 
				
			||||||
 | 
					-    'media/libtheora',
 | 
				
			||||||
 | 
					     'media/libspeex_resampler',
 | 
				
			||||||
 | 
					-    'media/libsoundtouch',
 | 
				
			||||||
 | 
					     'media/mp4parse-rust',
 | 
				
			||||||
 | 
					     'media/psshparser'
 | 
				
			||||||
 | 
					 ]
 | 
				
			||||||
 | 
					--- icecat-60.2.0/config/system-headers.mozbuild
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/config/system-headers.mozbuild
 | 
				
			||||||
 | 
					@@ -1324,6 +1324,28 @@
 | 
				
			||||||
 | 
					         'harfbuzz/hb.h',
 | 
				
			||||||
 | 
					     ]
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_OGG']:
 | 
				
			||||||
 | 
					+    system_headers += [
 | 
				
			||||||
 | 
					+        'ogg/ogg.h',
 | 
				
			||||||
 | 
					+        'ogg/os_types.h',
 | 
				
			||||||
 | 
					+    ]
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_THEORA']:
 | 
				
			||||||
 | 
					+    system_headers += [
 | 
				
			||||||
 | 
					+        'theora/theoradec.h',
 | 
				
			||||||
 | 
					+    ]
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_VORBIS']:
 | 
				
			||||||
 | 
					+    system_headers += [
 | 
				
			||||||
 | 
					+        'vorbis/codec.h',
 | 
				
			||||||
 | 
					+        'vorbis/vorbisenc.h',
 | 
				
			||||||
 | 
					+    ]
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_TREMOR']:
 | 
				
			||||||
 | 
					+    system_headers += [
 | 
				
			||||||
 | 
					+        'tremor/ivorbiscodec.h',
 | 
				
			||||||
 | 
					+    ]
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 if CONFIG['MOZ_SYSTEM_LIBVPX']:
 | 
				
			||||||
 | 
					     system_headers += [
 | 
				
			||||||
 | 
					         'vpx_mem/vpx_mem.h',
 | 
				
			||||||
 | 
					--- icecat-60.2.0/dom/media/AudioStream.cpp
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/dom/media/AudioStream.cpp
 | 
				
			||||||
 | 
					@@ -121,7 +121,9 @@
 | 
				
			||||||
 | 
					   : mMonitor("AudioStream")
 | 
				
			||||||
 | 
					   , mChannels(0)
 | 
				
			||||||
 | 
					   , mOutChannels(0)
 | 
				
			||||||
 | 
					+#ifndef MOZ_SYSTEM_SOUNDTOUCH
 | 
				
			||||||
 | 
					   , mTimeStretcher(nullptr)
 | 
				
			||||||
 | 
					+#endif
 | 
				
			||||||
 | 
					   , mDumpFile(nullptr)
 | 
				
			||||||
 | 
					   , mState(INITIALIZED)
 | 
				
			||||||
 | 
					   , mDataSource(aSource)
 | 
				
			||||||
 | 
					@@ -142,9 +144,11 @@
 | 
				
			||||||
 | 
					   if (mDumpFile) {
 | 
				
			||||||
 | 
					     fclose(mDumpFile);
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					+#ifndef MOZ_SYSTEM_SOUNDTOUCH
 | 
				
			||||||
 | 
					   if (mTimeStretcher) {
 | 
				
			||||||
 | 
					     soundtouch::destroySoundTouchObj(mTimeStretcher);
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					+#endif
 | 
				
			||||||
 | 
					 #if defined(XP_WIN)
 | 
				
			||||||
 | 
					   if (XRE_IsContentProcess()) {
 | 
				
			||||||
 | 
					     audio::AudioNotificationReceiver::Unregister(this);
 | 
				
			||||||
 | 
					@@ -168,7 +172,11 @@
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					   mMonitor.AssertCurrentThreadOwns();
 | 
				
			||||||
 | 
					   if (!mTimeStretcher) {
 | 
				
			||||||
 | 
					+#ifdef MOZ_SYSTEM_SOUNDTOUCH
 | 
				
			||||||
 | 
					+    mTimeStretcher = new soundtouch::SoundTouch();
 | 
				
			||||||
 | 
					+#else
 | 
				
			||||||
 | 
					     mTimeStretcher = soundtouch::createSoundTouchObj();
 | 
				
			||||||
 | 
					+#endif
 | 
				
			||||||
 | 
					     mTimeStretcher->setSampleRate(mAudioClock.GetInputRate());
 | 
				
			||||||
 | 
					     mTimeStretcher->setChannels(mOutChannels);
 | 
				
			||||||
 | 
					     mTimeStretcher->setPitch(1.0);
 | 
				
			||||||
 | 
					--- icecat-60.2.0/dom/media/AudioStream.h
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/dom/media/AudioStream.h
 | 
				
			||||||
 | 
					@@ -15,7 +15,11 @@
 | 
				
			||||||
 | 
					 #include "mozilla/TimeStamp.h"
 | 
				
			||||||
 | 
					 #include "mozilla/UniquePtr.h"
 | 
				
			||||||
 | 
					 #include "CubebUtils.h"
 | 
				
			||||||
 | 
					+#ifdef MOZ_SYSTEM_SOUNDTOUCH
 | 
				
			||||||
 | 
					+#include "soundtouch/SoundTouch.h"
 | 
				
			||||||
 | 
					+#else
 | 
				
			||||||
 | 
					 #include "soundtouch/SoundTouchFactory.h"
 | 
				
			||||||
 | 
					+#endif
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 #if defined(XP_WIN)
 | 
				
			||||||
 | 
					 #include "mozilla/audio/AudioNotificationReceiver.h"
 | 
				
			||||||
 | 
					@@ -297,7 +301,11 @@
 | 
				
			||||||
 | 
					   uint32_t mChannels;
 | 
				
			||||||
 | 
					   uint32_t mOutChannels;
 | 
				
			||||||
 | 
					   AudioClock mAudioClock;
 | 
				
			||||||
 | 
					+#ifdef MOZ_SYSTEM_SOUNDTOUCH
 | 
				
			||||||
 | 
					+  nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher;
 | 
				
			||||||
 | 
					+#else
 | 
				
			||||||
 | 
					   soundtouch::SoundTouch* mTimeStretcher;
 | 
				
			||||||
 | 
					+#endif
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					   // Output file for dumping audio
 | 
				
			||||||
 | 
					   FILE* mDumpFile;
 | 
				
			||||||
 | 
					--- icecat-60.2.0/dom/media/moz.build
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/dom/media/moz.build
 | 
				
			||||||
 | 
					@@ -327,6 +327,21 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 DEFINES['MOZILLA_INTERNAL_API'] = True
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_OGG']:
 | 
				
			||||||
 | 
					+    CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_THEORA']:
 | 
				
			||||||
 | 
					+    CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_VORBIS']:
 | 
				
			||||||
 | 
					+    CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_TREMOR']:
 | 
				
			||||||
 | 
					+    CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
 | 
				
			||||||
 | 
					+    CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
 | 
				
			||||||
 | 
					     DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					--- icecat-60.2.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
 | 
				
			||||||
 | 
					@@ -15,9 +15,13 @@
 | 
				
			||||||
 | 
					 #include <windows.h>
 | 
				
			||||||
 | 
					 #endif
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+#ifdef MOZ_SYSTEM_SOUNDTOUCH
 | 
				
			||||||
 | 
					+#include "nsXPCOMPrivate.h" // for XUL_DLL
 | 
				
			||||||
 | 
					+#else
 | 
				
			||||||
 | 
					 // We use a known symbol located in lgpllibs to determine its location.
 | 
				
			||||||
 | 
					 // soundtouch happens to be always included in lgpllibs
 | 
				
			||||||
 | 
					 #include "soundtouch/SoundTouch.h"
 | 
				
			||||||
 | 
					+#endif
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 namespace mozilla {
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					@@ -64,6 +68,12 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					   sLinkStatus = LinkStatus_FAILED;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+#ifdef MOZ_SYSTEM_SOUNDTOUCH
 | 
				
			||||||
 | 
					+  // We retrieve the path of the XUL library as this is where mozavcodec and
 | 
				
			||||||
 | 
					+  // mozavutil libs are located.
 | 
				
			||||||
 | 
					+  char* path =
 | 
				
			||||||
 | 
					+    PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init);
 | 
				
			||||||
 | 
					+#else
 | 
				
			||||||
 | 
					   // We retrieve the path of the lgpllibs library as this is where mozavcodec
 | 
				
			||||||
 | 
					   // and mozavutil libs are located.
 | 
				
			||||||
 | 
					   PathString lgpllibsname = GetLibraryName(nullptr, "lgpllibs");
 | 
				
			||||||
 | 
					@@ -73,6 +83,7 @@
 | 
				
			||||||
 | 
					   PathString path =
 | 
				
			||||||
 | 
					     GetLibraryFilePathname(lgpllibsname.get(),
 | 
				
			||||||
 | 
					                            (PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
 | 
				
			||||||
 | 
					+#endif
 | 
				
			||||||
 | 
					   if (path.IsEmpty()) {
 | 
				
			||||||
 | 
					     return false;
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					--- icecat-60.2.0/old-configure.in
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/old-configure.in
 | 
				
			||||||
 | 
					@@ -2451,6 +2451,111 @@
 | 
				
			||||||
 | 
					 fi
 | 
				
			||||||
 | 
					 fi # COMPILE_ENVIRONMENT
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+dnl ========================================================
 | 
				
			||||||
 | 
					+dnl Check for libogg
 | 
				
			||||||
 | 
					+dnl ========================================================
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+MOZ_ARG_WITH_BOOL(system-ogg,
 | 
				
			||||||
 | 
					+[  --with-system-ogg       Use system libogg (located with pkgconfig)],
 | 
				
			||||||
 | 
					+MOZ_SYSTEM_OGG=1,
 | 
				
			||||||
 | 
					+MOZ_SYSTEM_OGG=)
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if test -n "$MOZ_SYSTEM_OGG"; then
 | 
				
			||||||
 | 
					+    PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.3)
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+    _SAVE_LIBS=$LIBS
 | 
				
			||||||
 | 
					+    LIBS="$LIBS $MOZ_OGG_LIBS"
 | 
				
			||||||
 | 
					+    AC_CHECK_FUNC(ogg_set_mem_functions, [],
 | 
				
			||||||
 | 
					+      [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
 | 
				
			||||||
 | 
					+    LIBS=$_SAVE_LIBS
 | 
				
			||||||
 | 
					+fi
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+AC_SUBST(MOZ_SYSTEM_OGG)
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+dnl ========================================================
 | 
				
			||||||
 | 
					+dnl Check for libvorbis
 | 
				
			||||||
 | 
					+dnl ========================================================
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+MOZ_ARG_WITH_BOOL(system-vorbis,
 | 
				
			||||||
 | 
					+[  --with-system-vorbis    Use system libvorbis (located with pkgconfig)],
 | 
				
			||||||
 | 
					+MOZ_SYSTEM_VORBIS=1,
 | 
				
			||||||
 | 
					+MOZ_SYSTEM_VORBIS=)
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if test -n "$MOZ_SYSTEM_VORBIS"; then
 | 
				
			||||||
 | 
					+    PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.6)
 | 
				
			||||||
 | 
					+fi
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+AC_SUBST(MOZ_SYSTEM_VORBIS)
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+dnl ========================================================
 | 
				
			||||||
 | 
					+dnl Check for integer-only libvorbis aka tremor
 | 
				
			||||||
 | 
					+dnl ========================================================
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+MOZ_ARG_WITH_BOOL(system-tremor,
 | 
				
			||||||
 | 
					+[  --with-system-tremor    Use system libtremor (located with pkgconfig)],
 | 
				
			||||||
 | 
					+MOZ_SYSTEM_TREMOR=1,
 | 
				
			||||||
 | 
					+MOZ_SYSTEM_TREMOR=)
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if test -n "$MOZ_SYSTEM_TREMOR"; then
 | 
				
			||||||
 | 
					+    PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
 | 
				
			||||||
 | 
					+fi
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+AC_SUBST(MOZ_SYSTEM_TREMOR)
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+dnl ========================================================
 | 
				
			||||||
 | 
					+dnl Check for libtheora
 | 
				
			||||||
 | 
					+dnl ========================================================
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+MOZ_ARG_WITH_BOOL(system-theora,
 | 
				
			||||||
 | 
					+[  --with-system-theora    Use system libtheora (located with pkgconfig)],
 | 
				
			||||||
 | 
					+MOZ_SYSTEM_THEORA=1,
 | 
				
			||||||
 | 
					+MOZ_SYSTEM_THEORA=)
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if test -n "$MOZ_SYSTEM_THEORA"; then
 | 
				
			||||||
 | 
					+    PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
 | 
				
			||||||
 | 
					+fi
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+AC_SUBST(MOZ_SYSTEM_THEORA)
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+dnl ========================================================
 | 
				
			||||||
 | 
					+dnl Check for libSoundTouch
 | 
				
			||||||
 | 
					+dnl ========================================================
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+MOZ_ARG_WITH_BOOL(system-soundtouch,
 | 
				
			||||||
 | 
					+[  --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)],
 | 
				
			||||||
 | 
					+MOZ_SYSTEM_SOUNDTOUCH=1,
 | 
				
			||||||
 | 
					+MOZ_SYSTEM_SOUNDTOUCH=)
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
 | 
				
			||||||
 | 
					+    PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0)
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+    AC_LANG_SAVE
 | 
				
			||||||
 | 
					+    AC_LANG_CPLUSPLUS
 | 
				
			||||||
 | 
					+    _SAVE_CXXFLAGS=$CXXFLAGS
 | 
				
			||||||
 | 
					+    CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
 | 
				
			||||||
 | 
					+    AC_CACHE_CHECK(for soundtouch sample type,
 | 
				
			||||||
 | 
					+                   ac_cv_soundtouch_sample_type,
 | 
				
			||||||
 | 
					+                   [AC_TRY_COMPILE([#include <SoundTouch.h>
 | 
				
			||||||
 | 
					+                                    #ifndef SOUNDTOUCH_INTEGER_SAMPLES
 | 
				
			||||||
 | 
					+                                    #error soundtouch expects float samples
 | 
				
			||||||
 | 
					+                                    #endif],
 | 
				
			||||||
 | 
					+                                   [],
 | 
				
			||||||
 | 
					+                                   [ac_cv_soundtouch_sample_type=short],
 | 
				
			||||||
 | 
					+                                   [ac_cv_soundtouch_sample_type=float])])
 | 
				
			||||||
 | 
					+    CXXFLAGS=$_SAVE_CXXFLAGS
 | 
				
			||||||
 | 
					+    AC_LANG_RESTORE
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+    if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
 | 
				
			||||||
 | 
					+         -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
 | 
				
			||||||
 | 
					+        AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
 | 
				
			||||||
 | 
					+    fi
 | 
				
			||||||
 | 
					+fi
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
 | 
				
			||||||
 | 
					+    AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH)
 | 
				
			||||||
 | 
					+fi
 | 
				
			||||||
 | 
					+AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH)
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 dnl system libvpx Support
 | 
				
			||||||
 | 
					 dnl ========================================================
 | 
				
			||||||
 | 
					 MOZ_ARG_WITH_BOOL(system-libvpx,
 | 
				
			||||||
 | 
					--- icecat-60.2.0/toolkit/library/moz.build
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/toolkit/library/moz.build
 | 
				
			||||||
 | 
					@@ -244,6 +244,21 @@
 | 
				
			||||||
 | 
					 if CONFIG['MOZ_SYSTEM_HUNSPELL']:
 | 
				
			||||||
 | 
					     OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_OGG']:
 | 
				
			||||||
 | 
					+    OS_LIBS += CONFIG['MOZ_OGG_LIBS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_THEORA']:
 | 
				
			||||||
 | 
					+    OS_LIBS += CONFIG['MOZ_THEORA_LIBS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_VORBIS']:
 | 
				
			||||||
 | 
					+    OS_LIBS += CONFIG['MOZ_VORBIS_LIBS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_TREMOR']:
 | 
				
			||||||
 | 
					+    OS_LIBS += CONFIG['MOZ_TREMOR_LIBS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
 | 
				
			||||||
 | 
					+    OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS']
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 if CONFIG['MOZ_SYSTEM_LIBEVENT']:
 | 
				
			||||||
 | 
					     OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					--- icecat-60.2.0/xpcom/build/XPCOMInit.cpp
 | 
				
			||||||
 | 
					+++ icecat-60.2.0/xpcom/build/XPCOMInit.cpp
 | 
				
			||||||
 | 
					@@ -138,7 +138,9 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 #include "mozilla/ipc/GeckoChildProcessHost.h"
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+#ifndef MOZ_OGG_NO_MEM_REPORTING
 | 
				
			||||||
 | 
					 #include "ogg/ogg.h"
 | 
				
			||||||
 | 
					+#endif
 | 
				
			||||||
 | 
					 #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
 | 
				
			||||||
 | 
					 #if defined(HAVE_STDINT_H)
 | 
				
			||||||
 | 
					 // mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in
 | 
				
			||||||
 | 
					@@ -639,11 +641,13 @@
 | 
				
			||||||
 | 
					   // this oddness.
 | 
				
			||||||
 | 
					   mozilla::SetICUMemoryFunctions();
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+#ifndef MOZ_OGG_NO_MEM_REPORTING
 | 
				
			||||||
 | 
					   // Do the same for libogg.
 | 
				
			||||||
 | 
					   ogg_set_mem_functions(OggReporter::CountingMalloc,
 | 
				
			||||||
 | 
					                         OggReporter::CountingCalloc,
 | 
				
			||||||
 | 
					                         OggReporter::CountingRealloc,
 | 
				
			||||||
 | 
					                         OggReporter::CountingFree);
 | 
				
			||||||
 | 
					+#endif
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
 | 
				
			||||||
 | 
					   // And for VPX.
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,45 @@
 | 
				
			||||||
 | 
					From: Jean Delvare <jdelvare@suse.de>
 | 
				
			||||||
 | 
					Subject: compat/getopt: Allow non-digit parameter embedded in short option
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The compatibility getopt script allows only digit parameters to be
 | 
				
			||||||
 | 
					embedded in short options. Util-linux's getopt implementation does
 | 
				
			||||||
 | 
					not have such a restriction and allows any parameter to be embedded
 | 
				
			||||||
 | 
					in short options. As a consequence, using the compatibility getopt
 | 
				
			||||||
 | 
					script would choke for example on "-pab", which is a legal option
 | 
				
			||||||
 | 
					of the "quilt refresh" command.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Remove the limitation on digits so that the compatibility getopt
 | 
				
			||||||
 | 
					script allows what util-linux allows. This fixes the second half
 | 
				
			||||||
 | 
					of bug #54772:
 | 
				
			||||||
 | 
					https://savannah.nongnu.org/bugs/index.php?54772
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					As a side note, this feature of the compatibility script was broken
 | 
				
			||||||
 | 
					anyway, as it would output the digits in reverse order.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Signed-off-by: Jean Delvare <jdelvare@suse.de>
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					 compat/getopt.in |   13 ++++---------
 | 
				
			||||||
 | 
					 1 file changed, 4 insertions(+), 9 deletions(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--- quilt.orig/compat/getopt.in	2018-10-03 16:05:56.818667040 +0200
 | 
				
			||||||
 | 
					+++ quilt/compat/getopt.in	2018-10-03 16:12:17.624841732 +0200
 | 
				
			||||||
 | 
					@@ -108,15 +108,10 @@ foreach my $word (@words) {
 | 
				
			||||||
 | 
					 				if (scalar(@letters) == 0) {
 | 
				
			||||||
 | 
					 					$need_param = $letter;
 | 
				
			||||||
 | 
					 				} else {
 | 
				
			||||||
 | 
					-					# short options can have numerical args
 | 
				
			||||||
 | 
					-					# embedded in the short option list: -UO
 | 
				
			||||||
 | 
					-					die "unexpected character after option $letter"
 | 
				
			||||||
 | 
					-						if ($letters[$#letters] !~ /[0-9]/);
 | 
				
			||||||
 | 
					-					my @digits;
 | 
				
			||||||
 | 
					-					while (scalar(@letters) && ($letters[$#letters] =~ /[0-9]/)) {
 | 
				
			||||||
 | 
					-						push @digits, pop @letters;
 | 
				
			||||||
 | 
					-					}
 | 
				
			||||||
 | 
					-					push @options, quote_word(join('', reverse @digits));
 | 
				
			||||||
 | 
					+					# short options can have args
 | 
				
			||||||
 | 
					+					# embedded in the short option list
 | 
				
			||||||
 | 
					+					push @options, quote_word(join('', reverse @letters));
 | 
				
			||||||
 | 
					+					@letters = ();
 | 
				
			||||||
 | 
					 				}
 | 
				
			||||||
 | 
					 			}
 | 
				
			||||||
 | 
					 		}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,58 @@
 | 
				
			||||||
 | 
					From: Jean Delvare <jdelvare@suse.de>
 | 
				
			||||||
 | 
					Subject: compat/getopt: Handle a second separator
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					getopt can be passed 2 '--' separators. The first one tells that
 | 
				
			||||||
 | 
					getopt options are over and target program options start. The second
 | 
				
			||||||
 | 
					one tells that the target program's options are over and following
 | 
				
			||||||
 | 
					arguments should be treated as non-options even if they look like
 | 
				
			||||||
 | 
					options.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This second separator was not handled, causing the compatibility
 | 
				
			||||||
 | 
					getopt script to treat the following arguments as options, eventually
 | 
				
			||||||
 | 
					failing one way or another.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Properly detect and handle the second separator. This fixes the first
 | 
				
			||||||
 | 
					half of bug #54772:
 | 
				
			||||||
 | 
					https://savannah.nongnu.org/bugs/index.php?54772
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Signed-off-by: Jean Delvare <jdelvare@suse.de>
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					 compat/getopt.in |   13 ++++++++++---
 | 
				
			||||||
 | 
					 1 file changed, 10 insertions(+), 3 deletions(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--- quilt.orig/compat/getopt.in	2018-10-03 15:23:21.147620172 +0200
 | 
				
			||||||
 | 
					+++ quilt/compat/getopt.in	2018-10-03 16:05:56.818667040 +0200
 | 
				
			||||||
 | 
					@@ -8,12 +8,12 @@
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 use strict;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-my $opts;
 | 
				
			||||||
 | 
					+my $opts = '';
 | 
				
			||||||
 | 
					 my @words;
 | 
				
			||||||
 | 
					 my $found_sep = 0;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 foreach my $arg (@ARGV) {
 | 
				
			||||||
 | 
					-  if ($arg eq '--') {
 | 
				
			||||||
 | 
					+  if (!$found_sep && $arg eq '--') {
 | 
				
			||||||
 | 
					     $found_sep = 1;
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					   else {
 | 
				
			||||||
 | 
					@@ -62,10 +62,17 @@ sub quote_word
 | 
				
			||||||
 | 
					 	return "'$word'";
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+# there can be a second separator, to inhibit processing following arguments
 | 
				
			||||||
 | 
					+# as options
 | 
				
			||||||
 | 
					+$found_sep = 0;
 | 
				
			||||||
 | 
					 foreach my $word (@words) {
 | 
				
			||||||
 | 
					+	if ($word eq '--') {
 | 
				
			||||||
 | 
					+		$found_sep = 1;
 | 
				
			||||||
 | 
					+		next;
 | 
				
			||||||
 | 
					+	}
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	# allow '-' to be an option value
 | 
				
			||||||
 | 
					-	if (!$need_param && $word !~ /^-./) {
 | 
				
			||||||
 | 
					+	if ($found_sep || (!$need_param && $word !~ /^-./)) {
 | 
				
			||||||
 | 
					 		push @barewords, quote_word($word);
 | 
				
			||||||
 | 
					 		next;
 | 
				
			||||||
 | 
					 	}
 | 
				
			||||||
							
								
								
									
										41
									
								
								gnu/packages/patches/quilt-test-fix-regex.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								gnu/packages/patches/quilt-test-fix-regex.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,41 @@
 | 
				
			||||||
 | 
					From 5193b137b5a9034ce79946edd40760df2f63a82a Mon Sep 17 00:00:00 2001
 | 
				
			||||||
 | 
					From: Jean Delvare <jdelvare@suse.de>
 | 
				
			||||||
 | 
					Date: Tue, 25 Apr 2017 15:17:53 +0200
 | 
				
			||||||
 | 
					Subject: test: Escape curly braces in regex
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Curly braces in perl regex are supposed to be escaped, recent
 | 
				
			||||||
 | 
					versions of perl complain when they aren't:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (\w+)}/ at ./run line 114.
 | 
				
			||||||
 | 
					Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE \?}/ at ./run line 290.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Signed-off-by: Jean Delvare <jdelvare@suse.de>
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					 test/run | 4 ++--
 | 
				
			||||||
 | 
					 1 file changed, 2 insertions(+), 2 deletions(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/test/run b/test/run
 | 
				
			||||||
 | 
					index 942014e..03afc7a 100755
 | 
				
			||||||
 | 
					--- a/test/run
 | 
				
			||||||
 | 
					+++ b/test/run
 | 
				
			||||||
 | 
					@@ -112,7 +112,7 @@ sub flush_output()
 | 
				
			||||||
 | 
					 sub substitute_vars($)
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					 	my ($line) = @_;
 | 
				
			||||||
 | 
					-	$line =~ s[%{(\w+)}][defined $ENV{$1} ? $ENV{$1} : ""]eg;
 | 
				
			||||||
 | 
					+	$line =~ s[%\{(\w+)\}][defined $ENV{$1} ? $ENV{$1} : ""]eg;
 | 
				
			||||||
 | 
					 	return $line;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					@@ -288,7 +288,7 @@ while (defined(my $line = <SOURCE>)) {
 | 
				
			||||||
 | 
					 	# Parse the next command
 | 
				
			||||||
 | 
					 	if ($line =~ s/^\s*\$ ?//) {
 | 
				
			||||||
 | 
					 		# Substitute %{?} with the last command's status
 | 
				
			||||||
 | 
					-		$line =~ s[%{\?}][$last_status]eg;
 | 
				
			||||||
 | 
					+		$line =~ s[%\{\?\}][$last_status]eg;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 		chomp($prog = substitute_vars($line));
 | 
				
			||||||
 | 
					 		$prog_line = $lineno;
 | 
				
			||||||
 | 
					-- 
 | 
				
			||||||
 | 
					cgit v1.0-41-gc330
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 | 
					;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org>
 | 
				
			||||||
;;; Copyright © 2015, 2018 Leo Famulari <leo@famulari.name>
 | 
					;;; Copyright © 2015, 2018 Leo Famulari <leo@famulari.name>
 | 
				
			||||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -31,11 +31,13 @@
 | 
				
			||||||
  #:use-module (gnu packages bash)
 | 
					  #:use-module (gnu packages bash)
 | 
				
			||||||
  #:use-module (gnu packages file)
 | 
					  #:use-module (gnu packages file)
 | 
				
			||||||
  #:use-module (gnu packages gawk)
 | 
					  #:use-module (gnu packages gawk)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages gettext)
 | 
				
			||||||
  #:use-module (gnu packages less)
 | 
					  #:use-module (gnu packages less)
 | 
				
			||||||
  #:use-module (gnu packages mail)
 | 
					  #:use-module (gnu packages mail)
 | 
				
			||||||
  #:use-module (gnu packages ncurses)
 | 
					  #:use-module (gnu packages ncurses)
 | 
				
			||||||
  #:use-module (gnu packages perl)
 | 
					  #:use-module (gnu packages perl)
 | 
				
			||||||
  #:use-module (gnu packages python)
 | 
					  #:use-module (gnu packages python)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages version-control)
 | 
				
			||||||
  #:use-module (gnu packages xml))
 | 
					  #:use-module (gnu packages xml))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public patchutils
 | 
					(define-public patchutils
 | 
				
			||||||
| 
						 | 
					@ -92,7 +94,7 @@ listing the files modified by a patch.")
 | 
				
			||||||
(define-public quilt
 | 
					(define-public quilt
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "quilt")
 | 
					    (name "quilt")
 | 
				
			||||||
    (version "0.61")
 | 
					    (version "0.65")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -100,12 +102,18 @@ listing the files modified by a patch.")
 | 
				
			||||||
                          name "-" version ".tar.gz"))
 | 
					                          name "-" version ".tar.gz"))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
       (base32
 | 
					       (base32
 | 
				
			||||||
        "1hwz58djkq9cv46sjwxbp2v5m8yjr41kd0nm1zm1xm6418khmv0y"))))
 | 
					        "06b816m2gz9jfif7k9v2hrm7fz76zjg5pavf7hd3ifybwn4cgjzn"))
 | 
				
			||||||
 | 
					      (patches (search-patches "quilt-test-fix-regex.patch"
 | 
				
			||||||
 | 
					                               "quilt-compat-getopt-fix-second-separator.patch"
 | 
				
			||||||
 | 
					                               "quilt-compat-getopt-fix-option-with-nondigit-param.patch"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("gettext" ,gnu-gettext)))
 | 
				
			||||||
    (inputs `(("perl" ,perl)
 | 
					    (inputs `(("perl" ,perl)
 | 
				
			||||||
              ("less" ,less)
 | 
					              ("less" ,less)
 | 
				
			||||||
              ("file" ,file)
 | 
					              ("file" ,file)
 | 
				
			||||||
              ("ed" ,ed)))
 | 
					              ("ed" ,ed)
 | 
				
			||||||
 | 
					              ("diffstat" ,diffstat)))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:parallel-tests? #f
 | 
					     '(#:parallel-tests? #f
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
| 
						 | 
					@ -116,8 +124,6 @@ listing the files modified by a patch.")
 | 
				
			||||||
                 '("test/run"
 | 
					                 '("test/run"
 | 
				
			||||||
                   "test/edit.test") 
 | 
					                   "test/edit.test") 
 | 
				
			||||||
               (("/bin/sh") (which "sh")))
 | 
					               (("/bin/sh") (which "sh")))
 | 
				
			||||||
             ;; TODO: Run the mail tests once the mail feature can be supported.
 | 
					 | 
				
			||||||
             (delete-file "test/mail.test")
 | 
					 | 
				
			||||||
             #t))
 | 
					             #t))
 | 
				
			||||||
         (add-after 'install 'wrap-program
 | 
					         (add-after 'install 'wrap-program
 | 
				
			||||||
           ;; quilt's configure checks for the absolute path to the utilities it
 | 
					           ;; quilt's configure checks for the absolute path to the utilities it
 | 
				
			||||||
| 
						 | 
					@ -128,6 +134,7 @@ listing the files modified by a patch.")
 | 
				
			||||||
                    (coreutils (assoc-ref inputs "coreutils"))
 | 
					                    (coreutils (assoc-ref inputs "coreutils"))
 | 
				
			||||||
                    (diffutils (assoc-ref inputs "diffutils"))
 | 
					                    (diffutils (assoc-ref inputs "diffutils"))
 | 
				
			||||||
                    (findutils (assoc-ref inputs "findutils"))
 | 
					                    (findutils (assoc-ref inputs "findutils"))
 | 
				
			||||||
 | 
					                    (diffstat  (assoc-ref inputs "diffstat"))
 | 
				
			||||||
                    (less      (assoc-ref inputs "less"))
 | 
					                    (less      (assoc-ref inputs "less"))
 | 
				
			||||||
                    (file      (assoc-ref inputs "file"))
 | 
					                    (file      (assoc-ref inputs "file"))
 | 
				
			||||||
                    (ed        (assoc-ref inputs "ed"))
 | 
					                    (ed        (assoc-ref inputs "ed"))
 | 
				
			||||||
| 
						 | 
					@ -139,7 +146,8 @@ listing the files modified by a patch.")
 | 
				
			||||||
                   ,(map (lambda (dir)
 | 
					                   ,(map (lambda (dir)
 | 
				
			||||||
                           (string-append dir "/bin"))
 | 
					                           (string-append dir "/bin"))
 | 
				
			||||||
                         (list coreutils diffutils findutils
 | 
					                         (list coreutils diffutils findutils
 | 
				
			||||||
                               less file ed sed bash grep)))))
 | 
					                               less file ed sed bash grep
 | 
				
			||||||
 | 
					                               diffstat)))))
 | 
				
			||||||
             #t)))))
 | 
					             #t)))))
 | 
				
			||||||
    (home-page "https://savannah.nongnu.org/projects/quilt/")
 | 
					    (home-page "https://savannah.nongnu.org/projects/quilt/")
 | 
				
			||||||
    (synopsis "Script for managing patches to software")
 | 
					    (synopsis "Script for managing patches to software")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10391,7 +10391,7 @@ theme for the Sphinx documentation system.  It's the default theme of Sphinx.")
 | 
				
			||||||
             (setenv "CC" "gcc")
 | 
					             (setenv "CC" "gcc")
 | 
				
			||||||
             ;; No need to extend PYTHONPATH to find the built package, since
 | 
					             ;; No need to extend PYTHONPATH to find the built package, since
 | 
				
			||||||
             ;; the Makefile will build anyway
 | 
					             ;; the Makefile will build anyway
 | 
				
			||||||
             (zero? (system* "make" "check")))))))
 | 
					             (invoke "make" "check"))))))
 | 
				
			||||||
  (native-inputs
 | 
					  (native-inputs
 | 
				
			||||||
   `(("procps" ,procps))) ; required for tests
 | 
					   `(("procps" ,procps))) ; required for tests
 | 
				
			||||||
  (home-page
 | 
					  (home-page
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
 | 
					;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -25,7 +26,7 @@
 | 
				
			||||||
(define-public re2c
 | 
					(define-public re2c
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "re2c")
 | 
					    (name "re2c")
 | 
				
			||||||
    (version "1.0.3")
 | 
					    (version "1.1.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append "https://github.com/skvadrik/" name
 | 
					             (uri (string-append "https://github.com/skvadrik/" name
 | 
				
			||||||
| 
						 | 
					@ -33,7 +34,7 @@
 | 
				
			||||||
                                 name "-" version ".tar.gz"))
 | 
					                                 name "-" version ".tar.gz"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "0lnbj15hhgi3r40ipskmg178m18d8n5nph78sci6lprk7zgf0mng"))))
 | 
					               "1ksifjn18v6nra935dpqllmvkqgcdsggfjgmj77282x0gqrrfrc5"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (home-page "http://re2c.org/")
 | 
					    (home-page "http://re2c.org/")
 | 
				
			||||||
    (synopsis "Lexer generator for C/C++")
 | 
					    (synopsis "Lexer generator for C/C++")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,6 +33,7 @@
 | 
				
			||||||
  #:use-module (guix download)
 | 
					  #:use-module (guix download)
 | 
				
			||||||
  #:use-module (guix utils)
 | 
					  #:use-module (guix utils)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
 | 
					  #:use-module (guix build-system haskell)
 | 
				
			||||||
  #:use-module (guix build-system trivial)
 | 
					  #:use-module (guix build-system trivial)
 | 
				
			||||||
  #:use-module (gnu packages audio)
 | 
					  #:use-module (gnu packages audio)
 | 
				
			||||||
  #:use-module (gnu packages fcitx)
 | 
					  #:use-module (gnu packages fcitx)
 | 
				
			||||||
| 
						 | 
					@ -40,6 +41,7 @@
 | 
				
			||||||
  #:use-module (gnu packages freedesktop)
 | 
					  #:use-module (gnu packages freedesktop)
 | 
				
			||||||
  #:use-module (gnu packages glib)
 | 
					  #:use-module (gnu packages glib)
 | 
				
			||||||
  #:use-module (gnu packages guile)
 | 
					  #:use-module (gnu packages guile)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages haskell)
 | 
				
			||||||
  #:use-module (gnu packages ibus)
 | 
					  #:use-module (gnu packages ibus)
 | 
				
			||||||
  #:use-module (gnu packages image)
 | 
					  #:use-module (gnu packages image)
 | 
				
			||||||
  #:use-module (gnu packages linux)
 | 
					  #:use-module (gnu packages linux)
 | 
				
			||||||
| 
						 | 
					@ -520,3 +522,93 @@ sound and device input (keyboards, joysticks, mice, etc.).")
 | 
				
			||||||
The bindings are written in pure Scheme using Guile's foreign function
 | 
					The bindings are written in pure Scheme using Guile's foreign function
 | 
				
			||||||
interface.")
 | 
					interface.")
 | 
				
			||||||
    (license lgpl3+)))
 | 
					    (license lgpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public ghc-sdl2
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "ghc-sdl2")
 | 
				
			||||||
 | 
					    (version "2.4.1.0")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://hackage.haskell.org/package/"
 | 
				
			||||||
 | 
					                           "sdl2/sdl2-" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
 | 
				
			||||||
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
 | 
					    (arguments '(#:tests? #f)) ; tests require graphical environment
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("ghc-exceptions" ,ghc-exceptions)
 | 
				
			||||||
 | 
					       ("ghc-linear" ,ghc-linear)
 | 
				
			||||||
 | 
					       ("ghc-statevar" ,ghc-statevar)
 | 
				
			||||||
 | 
					       ("ghc-text" ,ghc-text)
 | 
				
			||||||
 | 
					       ("ghc-vector" ,ghc-vector)
 | 
				
			||||||
 | 
					       ("sdl2" ,sdl2)))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("ghc-weigh" ,ghc-weigh)
 | 
				
			||||||
 | 
					       ("pkg-config" ,pkg-config)))
 | 
				
			||||||
 | 
					    (home-page "http://hackage.haskell.org/package/sdl2")
 | 
				
			||||||
 | 
					    (synopsis "High- and low-level bindings to the SDL library")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "This package contains bindings to the SDL 2 library, in both high- and
 | 
				
			||||||
 | 
					low-level forms.  The @code{SDL} namespace contains high-level bindings, where
 | 
				
			||||||
 | 
					enumerations are split into sum types, and we perform automatic
 | 
				
			||||||
 | 
					error-checking.  The @code{SDL.Raw} namespace contains an almost 1-1
 | 
				
			||||||
 | 
					translation of the C API into Haskell FFI calls.  As such, this does not
 | 
				
			||||||
 | 
					contain sum types nor error checking.  Thus this namespace is suitable for
 | 
				
			||||||
 | 
					building your own abstraction over SDL, but is not recommended for day-to-day
 | 
				
			||||||
 | 
					programming.")
 | 
				
			||||||
 | 
					    (license bsd-3)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public ghc-sdl2-mixer
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "ghc-sdl2-mixer")
 | 
				
			||||||
 | 
					    (version "1.1.0")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
 | 
				
			||||||
 | 
					                           "sdl2-mixer-" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
 | 
				
			||||||
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("ghc-data-default-class" ,ghc-data-default-class)
 | 
				
			||||||
 | 
					       ("ghc-lifted-base" ,ghc-lifted-base)
 | 
				
			||||||
 | 
					       ("ghc-monad-control" ,ghc-monad-control)
 | 
				
			||||||
 | 
					       ("ghc-sdl2" ,ghc-sdl2)
 | 
				
			||||||
 | 
					       ("ghc-vector" ,ghc-vector)
 | 
				
			||||||
 | 
					       ("sdl2-mixer" ,sdl2-mixer)))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
 | 
					    (home-page "http://hackage.haskell.org/package/sdl2-mixer")
 | 
				
			||||||
 | 
					    (synopsis "Bindings to SDL2 mixer")
 | 
				
			||||||
 | 
					    (description "This package provides Haskell bindings to
 | 
				
			||||||
 | 
					@code{SDL2_mixer}.")
 | 
				
			||||||
 | 
					    (license bsd-3)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public ghc-sdl2-image
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "ghc-sdl2-image")
 | 
				
			||||||
 | 
					    (version "2.0.0")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
 | 
				
			||||||
 | 
					                           "sdl2-image-" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
 | 
				
			||||||
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("ghc-sdl2" ,ghc-sdl2)
 | 
				
			||||||
 | 
					       ("ghc-text" ,ghc-text)
 | 
				
			||||||
 | 
					       ("sdl2-image" ,sdl2-image)))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
 | 
					    (home-page "http://hackage.haskell.org/package/sdl2-image")
 | 
				
			||||||
 | 
					    (synopsis "Bindings to SDL2_image")
 | 
				
			||||||
 | 
					    (description "This package provides Haskell bindings to
 | 
				
			||||||
 | 
					@code{SDL2_image}.")
 | 
				
			||||||
 | 
					    (license expat)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -30,7 +30,7 @@
 | 
				
			||||||
(define-public syncthing
 | 
					(define-public syncthing
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "syncthing")
 | 
					    (name "syncthing")
 | 
				
			||||||
    (version "0.14.50")
 | 
					    (version "0.14.51")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://github.com/syncthing/syncthing"
 | 
					              (uri (string-append "https://github.com/syncthing/syncthing"
 | 
				
			||||||
| 
						 | 
					@ -38,7 +38,7 @@
 | 
				
			||||||
                                  "/syncthing-source-v" version ".tar.gz"))
 | 
					                                  "/syncthing-source-v" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0yjj6zzivzw289bhwqjb4xcv8p39n5mcwwr5w6xf5ykzljc5pk55"))
 | 
					                "17phn8l2afhgzh0q9ambi28awj2m905sr1bicq2wc7ghypk5vgqh"))
 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
              ;; Delete bundled ("vendored") free software source code.
 | 
					              ;; Delete bundled ("vendored") free software source code.
 | 
				
			||||||
              (snippet '(begin
 | 
					              (snippet '(begin
 | 
				
			||||||
| 
						 | 
					@ -59,7 +59,7 @@
 | 
				
			||||||
         (add-before 'build 'increase-test-timeout
 | 
					         (add-before 'build 'increase-test-timeout
 | 
				
			||||||
           (lambda _
 | 
					           (lambda _
 | 
				
			||||||
             (substitute* "src/github.com/syncthing/syncthing/build.go"
 | 
					             (substitute* "src/github.com/syncthing/syncthing/build.go"
 | 
				
			||||||
               (("60s") "999s"))
 | 
					               (("120s") "999s"))
 | 
				
			||||||
             #t))
 | 
					             #t))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         (replace 'build
 | 
					         (replace 'build
 | 
				
			||||||
| 
						 | 
					@ -138,6 +138,7 @@
 | 
				
			||||||
       ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
 | 
					       ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
 | 
				
			||||||
       ("go-github-com-rcrowley-go-metrics" ,go-github-com-rcrowley-go-metrics)
 | 
					       ("go-github-com-rcrowley-go-metrics" ,go-github-com-rcrowley-go-metrics)
 | 
				
			||||||
       ("go-github-com-sasha-s-go-deadlock" ,go-github-com-sasha-s-go-deadlock)
 | 
					       ("go-github-com-sasha-s-go-deadlock" ,go-github-com-sasha-s-go-deadlock)
 | 
				
			||||||
 | 
					       ("go-github-com-syncthing-notify" ,go-github-com-syncthing-notify)
 | 
				
			||||||
       ("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb)
 | 
					       ("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb)
 | 
				
			||||||
       ("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture)
 | 
					       ("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture)
 | 
				
			||||||
       ("go-github-com-vitrun-qart" ,(go-github-com-vitrun-qart-union))
 | 
					       ("go-github-com-vitrun-qart" ,(go-github-com-vitrun-qart-union))
 | 
				
			||||||
| 
						 | 
					@ -145,7 +146,7 @@
 | 
				
			||||||
       ("go-golang-org-x-net-union" ,(go-golang-org-x-net-union))
 | 
					       ("go-golang-org-x-net-union" ,(go-golang-org-x-net-union))
 | 
				
			||||||
       ("go-golang-org-x-text" ,(go-golang-org-x-text-union))
 | 
					       ("go-golang-org-x-text" ,(go-golang-org-x-text-union))
 | 
				
			||||||
       ("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate)
 | 
					       ("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate)
 | 
				
			||||||
       ("go-github-com-syncthing-notify" ,go-github-com-syncthing-notify)
 | 
					       ("go-gopkg.in-ldap.v2" ,go-gopkg.in-ldap.v2)
 | 
				
			||||||
       ;; For tests
 | 
					       ;; For tests
 | 
				
			||||||
       ("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff)))
 | 
					       ("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff)))
 | 
				
			||||||
    (synopsis "Decentralized continuous file system synchronization")
 | 
					    (synopsis "Decentralized continuous file system synchronization")
 | 
				
			||||||
| 
						 | 
					@ -678,11 +679,11 @@ database in Go.")
 | 
				
			||||||
      (license bsd-2))))
 | 
					      (license bsd-2))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public go-github-com-thejerf-suture
 | 
					(define-public go-github-com-thejerf-suture
 | 
				
			||||||
  (let ((commit "3f1fb62fe0a3cc6429122d7dc45588a8b59c5bb6")
 | 
					  (let ((commit "bf6ee6a0b047ebbe9ae07d847f750dd18c6a9276")
 | 
				
			||||||
        (revision "0"))
 | 
					        (revision "0"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "go-github-com-thejerf-suture")
 | 
					      (name "go-github-com-thejerf-suture")
 | 
				
			||||||
      (version (git-version "2.0.3" revision commit))
 | 
					      (version (git-version "3.0.0" revision commit))
 | 
				
			||||||
      (source (origin
 | 
					      (source (origin
 | 
				
			||||||
                (method git-fetch)
 | 
					                (method git-fetch)
 | 
				
			||||||
                (uri (git-reference
 | 
					                (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -691,7 +692,7 @@ database in Go.")
 | 
				
			||||||
                (file-name (git-file-name name version))
 | 
					                (file-name (git-file-name name version))
 | 
				
			||||||
                (sha256
 | 
					                (sha256
 | 
				
			||||||
                 (base32
 | 
					                 (base32
 | 
				
			||||||
                  "0mp7gz6bp6xhggkgmbl33vpmrq3a6n2dkgcxbkb7csnpv4r4d59k"))))
 | 
					                  "0rzx9k408vaglwnnpgpcs6y7ff7p65915nbg33rvbaz13hxwkz3y"))))
 | 
				
			||||||
      (build-system go-build-system)
 | 
					      (build-system go-build-system)
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
       `(#:import-path "github.com/thejerf/suture"))
 | 
					       `(#:import-path "github.com/thejerf/suture"))
 | 
				
			||||||
| 
						 | 
					@ -1366,3 +1367,50 @@ Prometheus HTTP API.")
 | 
				
			||||||
    (description "This is a union of Go Prometheus libraries")
 | 
					    (description "This is a union of Go Prometheus libraries")
 | 
				
			||||||
    (home-page (package-home-page go-github-com-client-golang-prometheus))
 | 
					    (home-page (package-home-page go-github-com-client-golang-prometheus))
 | 
				
			||||||
    (license (package-license go-github-com-client-golang-prometheus))))
 | 
					    (license (package-license go-github-com-client-golang-prometheus))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public go-gopkg.in-asn1-ber.v1
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "go-gopkg.in-asn1-ber.v1")
 | 
				
			||||||
 | 
					    (version "1.2")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method git-fetch)
 | 
				
			||||||
 | 
					              (uri (git-reference
 | 
				
			||||||
 | 
					                     (url "https://gopkg.in/asn1-ber.v1")
 | 
				
			||||||
 | 
					                     (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "1y8bvzbxpw0lfnn7pbcdwzqj4l90qj6xf88dvv9pxd9yl5g6cskx"))))
 | 
				
			||||||
 | 
					    (build-system go-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     '(#:import-path "gopkg.in/asn1-ber.v1"))
 | 
				
			||||||
 | 
					    (synopsis "ASN.1 BER encoding and decoding in Go")
 | 
				
			||||||
 | 
					    (description "This package provides ASN.1 BER encoding and decoding in the
 | 
				
			||||||
 | 
					Go language.")
 | 
				
			||||||
 | 
					    (home-page "https://gopkg.in/asn1-ber.v1")
 | 
				
			||||||
 | 
					    (license expat)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public go-gopkg.in-ldap.v2
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "go-gopkg.in-ldap.v2")
 | 
				
			||||||
 | 
					    (version "2.5.1")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method git-fetch)
 | 
				
			||||||
 | 
					              (uri (git-reference
 | 
				
			||||||
 | 
					                     (url "https://gopkg.in/ldap.v2")
 | 
				
			||||||
 | 
					                     (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "1wf81wy04nhkqs0dg5zkivr4sh37r83bxrfwjz9vr4jq6vmljr3h"))))
 | 
				
			||||||
 | 
					    (build-system go-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     '(#:import-path "gopkg.in/ldap.v2"
 | 
				
			||||||
 | 
					       #:tests? #f)) ; the test suite requires network access
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("go-gopkg.in-asn1-ber.v1" ,go-gopkg.in-asn1-ber.v1)))
 | 
				
			||||||
 | 
					    (synopsis "LDAP v3 functionality for Go")
 | 
				
			||||||
 | 
					    (description "This package provides basic LDAP v3 functionality in the Go
 | 
				
			||||||
 | 
					language.")
 | 
				
			||||||
 | 
					    (home-page "https://gopkg.in/ldap.v2")
 | 
				
			||||||
 | 
					    (license expat)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -35,7 +35,7 @@
 | 
				
			||||||
(define-public newsboat
 | 
					(define-public newsboat
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "newsboat")
 | 
					    (name "newsboat")
 | 
				
			||||||
    (version "2.12")
 | 
					    (version "2.13")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -43,7 +43,7 @@
 | 
				
			||||||
                           "/newsboat-" version ".tar.xz"))
 | 
					                           "/newsboat-" version ".tar.xz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1x23zlgljaqf46v7sp8wnkyf6wighvirvn48ankpa34yr8mvrgcv"))))
 | 
					         "0pik1d98ydzqi6055vdbkjg5krwifbk2hy2f5jp5p1wcy2s16dn7"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("gettext" ,gettext-minimal)
 | 
					     `(("gettext" ,gettext-minimal)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -84,7 +84,7 @@ to DOS format and vice versa.")
 | 
				
			||||||
(define-public recode
 | 
					(define-public recode
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "recode")
 | 
					    (name "recode")
 | 
				
			||||||
    (version "3.7")
 | 
					    (version "3.7.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -92,7 +92,7 @@ to DOS format and vice versa.")
 | 
				
			||||||
                           "download/v" version "/" name "-" version ".tar.gz"))
 | 
					                           "download/v" version "/" name "-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0r4yhf7i7zp2nl2apyzz7r3i2in12n385hmr8zcfr18ly0ly530q"))
 | 
					         "0215hfj0rhlh0grg91qfx75pp6z09bpv8211qdxqihniw7y9a4fs"))
 | 
				
			||||||
       (modules '((guix build utils)))
 | 
					       (modules '((guix build utils)))
 | 
				
			||||||
       (snippet '(begin
 | 
					       (snippet '(begin
 | 
				
			||||||
                   (delete-file "tests/Recode.c")
 | 
					                   (delete-file "tests/Recode.c")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -665,7 +665,7 @@ servers or clients for more complicated applications.")
 | 
				
			||||||
(define-public perl-crypt-openssl-rsa
 | 
					(define-public perl-crypt-openssl-rsa
 | 
				
			||||||
 (package
 | 
					 (package
 | 
				
			||||||
  (name "perl-crypt-openssl-rsa")
 | 
					  (name "perl-crypt-openssl-rsa")
 | 
				
			||||||
  (version "0.30")
 | 
					  (version "0.31")
 | 
				
			||||||
  (source
 | 
					  (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -675,7 +675,7 @@ servers or clients for more complicated applications.")
 | 
				
			||||||
             ".tar.gz"))
 | 
					             ".tar.gz"))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
          "1b19kaaw4wda8dy6kjiwqa2prpbs2dqcyjyj9zdh5wbs74qkbq93"))))
 | 
					          "0djl5i6kibl7862b6ih29q8dhg5zpwzq77q9j8hp6xngshx40ws1"))))
 | 
				
			||||||
  (build-system perl-build-system)
 | 
					  (build-system perl-build-system)
 | 
				
			||||||
  (native-inputs
 | 
					  (native-inputs
 | 
				
			||||||
   `(("perl-crypt-openssl-guess" ,perl-crypt-openssl-guess)))
 | 
					   `(("perl-crypt-openssl-guess" ,perl-crypt-openssl-guess)))
 | 
				
			||||||
| 
						 | 
					@ -826,7 +826,7 @@ then ported to the GNU / Linux environment.")
 | 
				
			||||||
(define-public mbedtls-apache
 | 
					(define-public mbedtls-apache
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "mbedtls-apache")
 | 
					    (name "mbedtls-apache")
 | 
				
			||||||
    (version "2.7.6")
 | 
					    (version "2.13.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -836,13 +836,14 @@ then ported to the GNU / Linux environment.")
 | 
				
			||||||
                           version "-apache.tgz"))
 | 
					                           version "-apache.tgz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0fl2nrxvlgx9ja7yy3kd1zadpr98fxbvn3f6fl2mj87gryhkfqlk"))))
 | 
					         "1nh6xfyxs3mnnpgc6pancvdhv6ihz9lhsxdlg90gqa8n5r6lwfsr"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags
 | 
					     `(#:configure-flags
 | 
				
			||||||
       (list "-DUSE_SHARED_MBEDTLS_LIBRARY=ON")))
 | 
					       (list "-DUSE_SHARED_MBEDTLS_LIBRARY=ON")))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("perl" ,perl)))
 | 
					     `(("perl" ,perl)
 | 
				
			||||||
 | 
					       ("python" ,python)))
 | 
				
			||||||
    (synopsis "Small TLS library")
 | 
					    (synopsis "Small TLS library")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "@code{mbed TLS}, formerly known as PolarSSL, makes it trivially easy
 | 
					     "@code{mbed TLS}, formerly known as PolarSSL, makes it trivially easy
 | 
				
			||||||
| 
						 | 
					@ -852,21 +853,38 @@ coding footprint.")
 | 
				
			||||||
    (home-page "https://tls.mbed.org")
 | 
					    (home-page "https://tls.mbed.org")
 | 
				
			||||||
    (license license:asl2.0)))
 | 
					    (license license:asl2.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; The Hiawatha Web server requires some specific features to be enabled.
 | 
				
			||||||
 | 
					(define-public mbedtls-for-hiawatha
 | 
				
			||||||
 | 
					  (hidden-package
 | 
				
			||||||
 | 
					   (package
 | 
				
			||||||
 | 
					     (inherit mbedtls-apache)
 | 
				
			||||||
 | 
					     (arguments
 | 
				
			||||||
 | 
					      (substitute-keyword-arguments
 | 
				
			||||||
 | 
					          `(#:phases
 | 
				
			||||||
 | 
					            (modify-phases %standard-phases
 | 
				
			||||||
 | 
					              (add-after 'configure 'configure-extra-features
 | 
				
			||||||
 | 
					                (lambda _
 | 
				
			||||||
 | 
					                  (for-each (lambda (feature)
 | 
				
			||||||
 | 
					                              (invoke "scripts/config.pl" "set" feature))
 | 
				
			||||||
 | 
					                            (list "MBEDTLS_THREADING_C"
 | 
				
			||||||
 | 
					                                  "MBEDTLS_THREADING_PTHREAD"))
 | 
				
			||||||
 | 
					                  #t)))
 | 
				
			||||||
 | 
					            ,@(package-arguments mbedtls-apache)))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public ghc-tls
 | 
					(define-public ghc-tls
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ghc-tls")
 | 
					    (name "ghc-tls")
 | 
				
			||||||
    (version "1.3.8")
 | 
					    (version "1.4.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://hackage.haskell.org/package/"
 | 
					              (uri (string-append "https://hackage.haskell.org/package/"
 | 
				
			||||||
                                  "tls/tls-" version ".tar.gz"))
 | 
					                                  "tls/tls-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1rdidf18i781c0vdvy9yn79yh08hmcacf6fp3sgghyiy3h0wyh5l"))))
 | 
					                "1y083724mym28n6xfaz7pcc7zqxdhjpaxpbvzxfbs25qq2px3smv"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-mtl" ,ghc-mtl)
 | 
					     `(("ghc-cereal" ,ghc-cereal)
 | 
				
			||||||
       ("ghc-cereal" ,ghc-cereal)
 | 
					 | 
				
			||||||
       ("ghc-data-default-class" ,ghc-data-default-class)
 | 
					       ("ghc-data-default-class" ,ghc-data-default-class)
 | 
				
			||||||
       ("ghc-memory" ,ghc-memory)
 | 
					       ("ghc-memory" ,ghc-memory)
 | 
				
			||||||
       ("ghc-cryptonite" ,ghc-cryptonite)
 | 
					       ("ghc-cryptonite" ,ghc-cryptonite)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,7 +8,7 @@
 | 
				
			||||||
;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
 | 
					;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
 | 
				
			||||||
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
 | 
					;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
 | 
				
			||||||
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
 | 
					;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 | 
				
			||||||
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
 | 
					;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
 | 
				
			||||||
;;; Copyright © 2016, 2017, 2018 Nils Gillmann <ng0@n0.is>
 | 
					;;; Copyright © 2016, 2017, 2018 Nils Gillmann <ng0@n0.is>
 | 
				
			||||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
| 
						 | 
					@ -1031,12 +1031,48 @@ also walk each side of a merge and test those changes individually.")
 | 
				
			||||||
                          ((" perl -")
 | 
					                          ((" perl -")
 | 
				
			||||||
                           (string-append " " perl " -")))
 | 
					                           (string-append " " perl " -")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        (substitute* (find-files "src/triggers" ".*")
 | 
				
			||||||
 | 
					                          ((" sed ")
 | 
				
			||||||
 | 
					                           (string-append " " (which "sed") " ")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        (substitute*
 | 
				
			||||||
 | 
					                            '("src/triggers/post-compile/update-gitweb-access-list"
 | 
				
			||||||
 | 
					                              "src/triggers/post-compile/ssh-authkeys-split"
 | 
				
			||||||
 | 
					                              "src/triggers/upstream")
 | 
				
			||||||
 | 
					                          ((" grep ")
 | 
				
			||||||
 | 
					                           (string-append " " (which "grep") " ")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        ;; Avoid references to the store in authorized_keys.
 | 
					                        ;; Avoid references to the store in authorized_keys.
 | 
				
			||||||
                        ;; This works because gitolite-shell is in the PATH.
 | 
					                        ;; This works because gitolite-shell is in the PATH.
 | 
				
			||||||
                        (substitute* "src/triggers/post-compile/ssh-authkeys"
 | 
					                        (substitute* "src/triggers/post-compile/ssh-authkeys"
 | 
				
			||||||
                          (("\\$glshell \\$user")
 | 
					                          (("\\$glshell \\$user")
 | 
				
			||||||
                           "gitolite-shell $user"))
 | 
					                           "gitolite-shell $user"))
 | 
				
			||||||
                        #t)))
 | 
					                        #t)))
 | 
				
			||||||
 | 
					                  (add-before 'install 'patch-source
 | 
				
			||||||
 | 
					                    (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
 | 
					                      ;; Gitolite uses cat to test the readability of the
 | 
				
			||||||
 | 
					                      ;; pubkey
 | 
				
			||||||
 | 
					                      (substitute* "src/lib/Gitolite/Setup.pm"
 | 
				
			||||||
 | 
					                        (("\"cat ")
 | 
				
			||||||
 | 
					                         (string-append "\"" (which "cat") " "))
 | 
				
			||||||
 | 
					                        (("\"ssh-keygen")
 | 
				
			||||||
 | 
					                         (string-append "\"" (which "ssh-keygen"))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                      (substitute* '("src/lib/Gitolite/Hooks/PostUpdate.pm"
 | 
				
			||||||
 | 
					                                     "src/lib/Gitolite/Hooks/Update.pm")
 | 
				
			||||||
 | 
					                        (("/usr/bin/perl")
 | 
				
			||||||
 | 
					                         (string-append (assoc-ref inputs "perl")
 | 
				
			||||||
 | 
					                                        "/bin/perl")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                      (substitute* "src/lib/Gitolite/Common.pm"
 | 
				
			||||||
 | 
					                        (("\"ssh-keygen")
 | 
				
			||||||
 | 
					                         (string-append "\"" (which "ssh-keygen")))
 | 
				
			||||||
 | 
					                        (("\"logger\"")
 | 
				
			||||||
 | 
					                         (string-append "\""
 | 
				
			||||||
 | 
					                                        (assoc-ref inputs "inetutils")
 | 
				
			||||||
 | 
					                                        "/bin/logger\"")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                      #t))
 | 
				
			||||||
                  (replace 'install
 | 
					                  (replace 'install
 | 
				
			||||||
                    (lambda* (#:key outputs #:allow-other-keys)
 | 
					                    (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
                      (let* ((output (assoc-ref outputs "out"))
 | 
					                      (let* ((output (assoc-ref outputs "out"))
 | 
				
			||||||
| 
						 | 
					@ -1050,9 +1086,24 @@ also walk each side of a merge and test those changes individually.")
 | 
				
			||||||
                                    (symlink (string-append sharedir "/" script)
 | 
					                                    (symlink (string-append sharedir "/" script)
 | 
				
			||||||
                                             (string-append bindir "/" script)))
 | 
					                                             (string-append bindir "/" script)))
 | 
				
			||||||
                                  '("gitolite" "gitolite-shell"))
 | 
					                                  '("gitolite" "gitolite-shell"))
 | 
				
			||||||
 | 
					                        #t)))
 | 
				
			||||||
 | 
					                  (add-after 'install 'wrap-scripts
 | 
				
			||||||
 | 
					                    (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					                      (let ((out (assoc-ref outputs "out"))
 | 
				
			||||||
 | 
					                            (coreutils (assoc-ref inputs "coreutils"))
 | 
				
			||||||
 | 
					                            (findutils (assoc-ref inputs "findutils"))
 | 
				
			||||||
 | 
					                            (git (assoc-ref inputs "git")))
 | 
				
			||||||
 | 
					                        (wrap-program (string-append out "/bin/gitolite")
 | 
				
			||||||
 | 
					                          `("PATH" ":" prefix
 | 
				
			||||||
 | 
					                            ,(map (lambda (dir)
 | 
				
			||||||
 | 
					                                    (string-append dir "/bin"))
 | 
				
			||||||
 | 
					                                  (list out coreutils findutils git))))
 | 
				
			||||||
                        #t))))))
 | 
					                        #t))))))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("perl" ,perl)))
 | 
					     `(("perl" ,perl)
 | 
				
			||||||
 | 
					       ("coreutils" ,coreutils)
 | 
				
			||||||
 | 
					       ("findutils" ,findutils)
 | 
				
			||||||
 | 
					       ("inetutils" ,inetutils)))
 | 
				
			||||||
    ;; git and openssh are propagated because trying to patch the source via
 | 
					    ;; git and openssh are propagated because trying to patch the source via
 | 
				
			||||||
    ;; regexp matching is too brittle and prone to false positives.
 | 
					    ;; regexp matching is too brittle and prone to false positives.
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
| 
						 | 
					@ -1844,7 +1895,6 @@ be served with a HTTP file server of your choice.")
 | 
				
			||||||
       ("ghc-hashable" ,ghc-hashable)
 | 
					       ("ghc-hashable" ,ghc-hashable)
 | 
				
			||||||
       ("ghc-html" ,ghc-html)
 | 
					       ("ghc-html" ,ghc-html)
 | 
				
			||||||
       ("ghc-mmap" ,ghc-mmap)
 | 
					       ("ghc-mmap" ,ghc-mmap)
 | 
				
			||||||
       ("ghc-mtl" ,ghc-mtl)
 | 
					 | 
				
			||||||
       ("ghc-old-time" ,ghc-old-time)
 | 
					       ("ghc-old-time" ,ghc-old-time)
 | 
				
			||||||
       ("ghc-parsec" ,ghc-parsec)
 | 
					       ("ghc-parsec" ,ghc-parsec)
 | 
				
			||||||
       ("ghc-random" ,ghc-random)
 | 
					       ("ghc-random" ,ghc-random)
 | 
				
			||||||
| 
						 | 
					@ -2053,7 +2103,7 @@ directory full of HOWTOs.")
 | 
				
			||||||
(define-public git-annex
 | 
					(define-public git-annex
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "git-annex")
 | 
					    (name "git-annex")
 | 
				
			||||||
    (version "6.20180807")
 | 
					    (version "6.20180926")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -2061,7 +2111,7 @@ directory full of HOWTOs.")
 | 
				
			||||||
                           "git-annex/git-annex-" version ".tar.gz"))
 | 
					                           "git-annex/git-annex-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1wkqh1y58m0z1mf2j33qhndpxcjwv8mbv384kdk17vn0lp9zas1s"))))
 | 
					         "1251rj8h63y30sfqk0zh670yhz14p256y59n3590pg015pf3575d"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags
 | 
					     `(#:configure-flags
 | 
				
			||||||
| 
						 | 
					@ -2137,7 +2187,6 @@ directory full of HOWTOs.")
 | 
				
			||||||
       ("ghc-memory" ,ghc-memory)
 | 
					       ("ghc-memory" ,ghc-memory)
 | 
				
			||||||
       ("ghc-monad-control" ,ghc-monad-control)
 | 
					       ("ghc-monad-control" ,ghc-monad-control)
 | 
				
			||||||
       ("ghc-monad-logger" ,ghc-monad-logger)
 | 
					       ("ghc-monad-logger" ,ghc-monad-logger)
 | 
				
			||||||
       ("ghc-mtl" ,ghc-mtl)
 | 
					 | 
				
			||||||
       ("ghc-network" ,ghc-network)
 | 
					       ("ghc-network" ,ghc-network)
 | 
				
			||||||
       ("ghc-old-locale" ,ghc-old-locale)
 | 
					       ("ghc-old-locale" ,ghc-old-locale)
 | 
				
			||||||
       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
 | 
					       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1121,7 +1121,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
 | 
				
			||||||
(define-public mpv
 | 
					(define-public mpv
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "mpv")
 | 
					    (name "mpv")
 | 
				
			||||||
    (version "0.29.0")
 | 
					    (version "0.29.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -1129,7 +1129,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
 | 
				
			||||||
                    ".tar.gz"))
 | 
					                    ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "06bk8836brzik1qmq8kycwg5n35r438sd2176k6msjg5rrwghakp"))
 | 
					                "08x63hlpj6s8xixmdbx6raff5p5mih7cnk0bcql9f3wrs5hx9ygr"))
 | 
				
			||||||
              (file-name (string-append name "-" version ".tar.gz"))))
 | 
					              (file-name (string-append name "-" version ".tar.gz"))))
 | 
				
			||||||
    (build-system waf-build-system)
 | 
					    (build-system waf-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
| 
						 | 
					@ -1271,7 +1271,7 @@ access to mpv's powerful playback capabilities.")
 | 
				
			||||||
(define-public youtube-dl
 | 
					(define-public youtube-dl
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "youtube-dl")
 | 
					    (name "youtube-dl")
 | 
				
			||||||
    (version "2018.09.08")
 | 
					    (version "2018.09.18")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://yt-dl.org/downloads/"
 | 
					              (uri (string-append "https://yt-dl.org/downloads/"
 | 
				
			||||||
| 
						 | 
					@ -1279,7 +1279,7 @@ access to mpv's powerful playback capabilities.")
 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0vwc4faqdddrb3nm4fzmkr60n5rc2zwyy8jwrrjad60kcp8isf05"))))
 | 
					                "0mlsdmddmyy3xaqy366k48xds14g17l81al3kglndjkbrrji63sb"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     ;; The problem here is that the directory for the man page and completion
 | 
					     ;; The problem here is that the directory for the man page and completion
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -347,6 +347,16 @@ private network between hosts on the internet.")
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0pqk43kd7crqhg6qgnl8kapncwgw1xgaf02zarzypcw64kvdih9h"))))
 | 
					         "0pqk43kd7crqhg6qgnl8kapncwgw1xgaf02zarzypcw64kvdih9h"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-after 'unpack 'patch-FHS-file-names
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (substitute* "sshuttle/client.py"
 | 
				
			||||||
 | 
					               (("/usr/bin/env") (which "env")))
 | 
				
			||||||
 | 
					             (substitute* "sshuttle/ssh.py"
 | 
				
			||||||
 | 
					               (("/bin/sh") "sh"))
 | 
				
			||||||
 | 
					             #t)))))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("python-setuptools-scm" ,python-setuptools-scm)
 | 
					     `(("python-setuptools-scm" ,python-setuptools-scm)
 | 
				
			||||||
       ;; For tests only.
 | 
					       ;; For tests only.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -124,14 +124,14 @@
 | 
				
			||||||
(define-public httpd
 | 
					(define-public httpd
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "httpd")
 | 
					    (name "httpd")
 | 
				
			||||||
    (version "2.4.34")
 | 
					    (version "2.4.35")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append "mirror://apache/httpd/httpd-"
 | 
					             (uri (string-append "mirror://apache/httpd/httpd-"
 | 
				
			||||||
                                 version ".tar.bz2"))
 | 
					                                 version ".tar.bz2"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "1w1q2smdgf6ln0x741lk5pv5r0gzrxj2iza1vslhifzy65bcjlzs"))))
 | 
					               "0mlvwsm7hmpc7db6lfc2nx3v4cll3qljjxhjhgsw6aniskywc1r6"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs `(("pcre" ,pcre "bin")))       ;for 'pcre-config'
 | 
					    (native-inputs `(("pcre" ,pcre "bin")))       ;for 'pcre-config'
 | 
				
			||||||
    (inputs `(("apr" ,apr)
 | 
					    (inputs `(("apr" ,apr)
 | 
				
			||||||
| 
						 | 
					@ -1862,15 +1862,15 @@ MIME type directly to the browser, without being processed through Catalyst.")
 | 
				
			||||||
(define-public perl-catalyst-runtime
 | 
					(define-public perl-catalyst-runtime
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-catalyst-runtime")
 | 
					    (name "perl-catalyst-runtime")
 | 
				
			||||||
    (version "5.90118")
 | 
					    (version "5.90119")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
 | 
					       (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
 | 
				
			||||||
                           "Catalyst-Runtime-" version ".tar.gz"))
 | 
					                           "Catalyst-Runtime-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0cws3szx3vvh0372qdx8fypgv6qphcc3v81rbq30sl1ghby7ksd3"))))
 | 
					         "1iw7x9rqk3sz2hm1bw01blz5vwm7zlljdf4xj3r8vz54f1yggzqr"))))
 | 
				
			||||||
    (build-system perl-build-system)
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("perl-test-fatal" ,perl-test-fatal)))
 | 
					     `(("perl-test-fatal" ,perl-test-fatal)))
 | 
				
			||||||
| 
						 | 
					@ -5173,7 +5173,7 @@ functions of Tidy.")
 | 
				
			||||||
(define-public hiawatha
 | 
					(define-public hiawatha
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "hiawatha")
 | 
					    (name "hiawatha")
 | 
				
			||||||
    (version "10.7")
 | 
					    (version "10.8.3")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -5181,28 +5181,34 @@ functions of Tidy.")
 | 
				
			||||||
                           "hiawatha-" version ".tar.gz"))
 | 
					                           "hiawatha-" version ".tar.gz"))
 | 
				
			||||||
       (modules '((guix build utils)))
 | 
					       (modules '((guix build utils)))
 | 
				
			||||||
       (snippet '(begin
 | 
					       (snippet '(begin
 | 
				
			||||||
                   ;; We use our packaged mbedtls, so delete the included copy.
 | 
					                   ;; We use packaged libraries, so delete the bundled copies.
 | 
				
			||||||
                   (delete-file-recursively "mbedtls")
 | 
					                   (for-each delete-file-recursively
 | 
				
			||||||
 | 
					                             (list "nghttp2" "mbedtls"))
 | 
				
			||||||
                   #t))
 | 
					                   #t))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0x2zfc8kc6c7rl4gwymwmg13w1c60biv6c6c9fvzpnl59bc9jgin"))))
 | 
					         "0w7047pwijhsbvvv1qjynp7gvn0nil56w82f7ax0gabrg7ddzk6s"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f ; No tests included
 | 
					     `(#:tests? #f                      ; no tests included
 | 
				
			||||||
       #:configure-flags (list (string-append "-DUSE_SYSTEM_MBEDTLS=on")
 | 
					       #:configure-flags (list (string-append "-DUSE_SYSTEM_MBEDTLS=on")
 | 
				
			||||||
 | 
					                               (string-append "-DENABLE_HTTP2=on")
 | 
				
			||||||
 | 
					                               (string-append "-DUSE_SYSTEM_NGHTTP2=on")
 | 
				
			||||||
                               (string-append "-DENABLE_TOMAHAWK=on")
 | 
					                               (string-append "-DENABLE_TOMAHAWK=on")
 | 
				
			||||||
 | 
					                               (string-append "-DLOG_DIR=/var/log/hiawatha")
 | 
				
			||||||
 | 
					                               (string-append "-DPID_DIR=/run")
 | 
				
			||||||
                               (string-append "-DWEBROOT_DIR="
 | 
					                               (string-append "-DWEBROOT_DIR="
 | 
				
			||||||
                                              (assoc-ref %outputs "out")
 | 
					                                              (assoc-ref %outputs "out")
 | 
				
			||||||
                                              "/share/hiawatha/html"))
 | 
					                                              "/share/hiawatha/html")
 | 
				
			||||||
 | 
					                               (string-append "-DWORK_DIR=/var/lib/hiawatha"))
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (add-after 'install 'remove-empty-dirs
 | 
					         (add-after 'unpack 'install-no-empty-directories
 | 
				
			||||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
					           (lambda _
 | 
				
			||||||
             (let* ((out (assoc-ref outputs "out")))
 | 
					             (substitute* "CMakeLists.txt"
 | 
				
			||||||
               ;; The directories in "var" are empty, remove them.
 | 
					               (("install\\(DIRECTORY DESTINATION" match)
 | 
				
			||||||
               (delete-file-recursively (string-append out "/var"))
 | 
					                (string-append "#" match)))
 | 
				
			||||||
               #t)))
 | 
					             #t))
 | 
				
			||||||
         (add-after 'install 'wrap
 | 
					         (add-after 'install 'wrap
 | 
				
			||||||
           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
					           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
             ;; Make sure 'hiawatha' finds 'mbedtls'.
 | 
					             ;; Make sure 'hiawatha' finds 'mbedtls'.
 | 
				
			||||||
| 
						 | 
					@ -5212,11 +5218,12 @@ functions of Tidy.")
 | 
				
			||||||
               (wrap-program (string-append sbin "/hiawatha")
 | 
					               (wrap-program (string-append sbin "/hiawatha")
 | 
				
			||||||
                 `("PATH" ":" prefix (,mbed)))))))))
 | 
					                 `("PATH" ":" prefix (,mbed)))))))))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     ;; TODO: package "hiawatha-monitor", an optional dependency of "hiawatha"
 | 
					     ;; TODO: package "hiawatha-monitor", an optional dependency of "hiawatha".
 | 
				
			||||||
     `(("mbedtls-apache" ,mbedtls-apache) ;Hiawatha includes this version.
 | 
					     `(("libxslt" ,libxslt)
 | 
				
			||||||
       ("zlib" ,zlib)
 | 
					       ("libxml2" ,libxml2)
 | 
				
			||||||
       ("libxslt" ,libxslt)
 | 
					       ("mbedtls-apache" ,mbedtls-for-hiawatha)
 | 
				
			||||||
       ("libxml2" ,libxml2)))
 | 
					       ("nghttp2" ,nghttp2 "lib")
 | 
				
			||||||
 | 
					       ("zlib" ,zlib)))
 | 
				
			||||||
    (home-page "https://www.hiawatha-webserver.org")
 | 
					    (home-page "https://www.hiawatha-webserver.org")
 | 
				
			||||||
    (synopsis "Webserver with focus on security")
 | 
					    (synopsis "Webserver with focus on security")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -225,7 +225,7 @@ integrate Windows applications into your desktop.")
 | 
				
			||||||
(define-public wine-staging-patchset-data
 | 
					(define-public wine-staging-patchset-data
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "wine-staging-patchset-data")
 | 
					   (name "wine-staging-patchset-data")
 | 
				
			||||||
   (version "3.16")
 | 
					   (version "3.17")
 | 
				
			||||||
   (source
 | 
					   (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
      (method git-fetch)
 | 
					      (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -235,7 +235,7 @@ integrate Windows applications into your desktop.")
 | 
				
			||||||
      (file-name (git-file-name name version))
 | 
					      (file-name (git-file-name name version))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
       (base32
 | 
					       (base32
 | 
				
			||||||
        "0c1bs9qpxlvld6jkwjri2v8jaixxn1r5b0m9r5hnkfrnpl7z7cfv"))))
 | 
					        "1ds9q90xjg59ikic98kqkhmijnqx4yplvwsm6rav4mx72yci7d4w"))))
 | 
				
			||||||
   (build-system trivial-build-system)
 | 
					   (build-system trivial-build-system)
 | 
				
			||||||
   (native-inputs
 | 
					   (native-inputs
 | 
				
			||||||
    `(("bash" ,bash)
 | 
					    `(("bash" ,bash)
 | 
				
			||||||
| 
						 | 
					@ -281,7 +281,7 @@ integrate Windows applications into your desktop.")
 | 
				
			||||||
              (file-name (string-append name "-" version ".tar.xz"))
 | 
					              (file-name (string-append name "-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0g55l41apiwgblfk9ihzd96003gd32w5ng79f96hmiwhyzwbqhxd"))))
 | 
					                "08fcziadw40153a9rv630m7iz6ipfzylms5y191z4sj2vvhy5vac"))))
 | 
				
			||||||
    (inputs `(("autoconf" ,autoconf) ; for autoreconf
 | 
					    (inputs `(("autoconf" ,autoconf) ; for autoreconf
 | 
				
			||||||
              ("gtk+" ,gtk+)
 | 
					              ("gtk+" ,gtk+)
 | 
				
			||||||
              ("libva" ,libva)
 | 
					              ("libva" ,libva)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -455,7 +455,7 @@ desktop environment.")
 | 
				
			||||||
(define-public xmonad
 | 
					(define-public xmonad
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "xmonad")
 | 
					    (name "xmonad")
 | 
				
			||||||
    (version "0.14")
 | 
					    (version "0.14.2")
 | 
				
			||||||
    (synopsis "Tiling window manager")
 | 
					    (synopsis "Tiling window manager")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -463,11 +463,10 @@ desktop environment.")
 | 
				
			||||||
                                  name "-" version ".tar.gz"))
 | 
					                                  name "-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0lq3k0ap7jxrrswpd954mqa6h8diccbif5srcgbmr39y6y8x0mm4"))))
 | 
					                "0gqyivpw8z1x73p1l1fpyq1wc013a1c07r6xn1a82liijs91b949"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
 | 
					     `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
 | 
				
			||||||
       ("ghc-mtl"                   ,ghc-mtl)
 | 
					 | 
				
			||||||
       ("ghc-quickcheck"            ,ghc-quickcheck)
 | 
					       ("ghc-quickcheck"            ,ghc-quickcheck)
 | 
				
			||||||
       ("ghc-semigroups"            ,ghc-semigroups)
 | 
					       ("ghc-semigroups"            ,ghc-semigroups)
 | 
				
			||||||
       ("ghc-setlocale"             ,ghc-setlocale)
 | 
					       ("ghc-setlocale"             ,ghc-setlocale)
 | 
				
			||||||
| 
						 | 
					@ -505,14 +504,14 @@ tiled on several screens.")
 | 
				
			||||||
(define-public xmobar
 | 
					(define-public xmobar
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "xmobar")
 | 
					    (name "xmobar")
 | 
				
			||||||
    (version "0.27")
 | 
					    (version "0.28")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://hackage/package/xmobar/"
 | 
					              (uri (string-append "mirror://hackage/package/xmobar/"
 | 
				
			||||||
                                  name "-" version ".tar.gz"))
 | 
					                                  name "-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0agx490q6sbmv3vfq33ys8dsrgwizj3bmha4i1pkxz5wp5q8cx3l"))))
 | 
					                "1xh87asg8y35srvp7d3gyyy4bkxsw122liihxgzgm8pqv2z3h4zd"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("ghc-hspec" ,ghc-hspec)
 | 
					     `(("ghc-hspec" ,ghc-hspec)
 | 
				
			||||||
| 
						 | 
					@ -560,11 +559,11 @@ Haskell, no knowledge of the language is required to install and use it.")
 | 
				
			||||||
         "1660w3xhbfrlq8b8s1rviq2mcn1vyqpypli4023gqxwry52brk6y"))))
 | 
					         "1660w3xhbfrlq8b8s1rviq2mcn1vyqpypli4023gqxwry52brk6y"))))
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     `(("ghc-mtl" ,ghc-mtl)
 | 
					     `(("ghc-old-time" ,ghc-old-time)
 | 
				
			||||||
       ("ghc-old-time" ,ghc-old-time)
 | 
					 | 
				
			||||||
       ("ghc-random" ,ghc-random)
 | 
					       ("ghc-random" ,ghc-random)
 | 
				
			||||||
       ("ghc-utf8-string" ,ghc-utf8-string)
 | 
					       ("ghc-utf8-string" ,ghc-utf8-string)
 | 
				
			||||||
       ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
 | 
					       ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
 | 
				
			||||||
 | 
					       ("ghc-semigroups", ghc-semigroups)
 | 
				
			||||||
       ("ghc-x11" ,ghc-x11)
 | 
					       ("ghc-x11" ,ghc-x11)
 | 
				
			||||||
       ("ghc-x11-xft" ,ghc-x11-xft)
 | 
					       ("ghc-x11-xft" ,ghc-x11-xft)
 | 
				
			||||||
       ("xmonad" ,xmonad)))
 | 
					       ("xmonad" ,xmonad)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -786,17 +786,17 @@ server, collect the answer, and finally decoding the XML to Perl.")
 | 
				
			||||||
(define-public perl-xml-feed
 | 
					(define-public perl-xml-feed
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-xml-feed")
 | 
					    (name "perl-xml-feed")
 | 
				
			||||||
    (version "0.53")
 | 
					    (version "0.54")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://cpan/authors/id/D/DA/DAVECROSS/"
 | 
					              (uri (string-append "mirror://cpan/authors/id/D/DA/DAVECROSS/"
 | 
				
			||||||
                                  "XML-Feed-" version ".tar.gz"))
 | 
					                                  "XML-Feed-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "07b165g6wk8kqwpl49r3n0kag6p2nrkyp3ch0h8qyxb6nrnkkq7c"))))
 | 
					                "0ydyi7wdhv8325h7j27vrlwiqxll56sn8zy5nbzhpma3nrf61bci"))))
 | 
				
			||||||
    (build-system perl-build-system)
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f)) ; Tests require internet connection
 | 
					     `(#:tests? #f))                    ; tests require internet connection
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("perl-module-build" ,perl-module-build)
 | 
					     `(("perl-module-build" ,perl-module-build)
 | 
				
			||||||
       ("perl-uri" ,perl-uri)
 | 
					       ("perl-uri" ,perl-uri)
 | 
				
			||||||
| 
						 | 
					@ -1136,7 +1136,7 @@ XSLT and EXSLT.")
 | 
				
			||||||
(define-public html-xml-utils
 | 
					(define-public html-xml-utils
 | 
				
			||||||
 (package
 | 
					 (package
 | 
				
			||||||
   (name "html-xml-utils")
 | 
					   (name "html-xml-utils")
 | 
				
			||||||
   (version "7.6")
 | 
					   (version "7.7")
 | 
				
			||||||
   (source
 | 
					   (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -1145,7 +1145,7 @@ XSLT and EXSLT.")
 | 
				
			||||||
            version ".tar.gz"))
 | 
					            version ".tar.gz"))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
       (base32
 | 
					       (base32
 | 
				
			||||||
        "0l97ps089byy62838wf2jwvvc465iw29z9r5kwmwcq7f3bn11y3m"))))
 | 
					        "1vwqp5q276j8di9zql3kygf31z2frp2c59yjqlrvvwcvccvkcdwr"))))
 | 
				
			||||||
   (build-system gnu-build-system)
 | 
					   (build-system gnu-build-system)
 | 
				
			||||||
   (home-page "https://www.w3.org/Tools/HTML-XML-utils/")
 | 
					   (home-page "https://www.w3.org/Tools/HTML-XML-utils/")
 | 
				
			||||||
   (synopsis "Command line utilities to manipulate HTML and XML files")
 | 
					   (synopsis "Command line utilities to manipulate HTML and XML files")
 | 
				
			||||||
| 
						 | 
					@ -2094,7 +2094,6 @@ derivations of regular expressions.")
 | 
				
			||||||
    (build-system haskell-build-system)
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ghc-parsec" ,ghc-parsec)
 | 
					     `(("ghc-parsec" ,ghc-parsec)
 | 
				
			||||||
       ("ghc-mtl" ,ghc-mtl)
 | 
					 | 
				
			||||||
       ("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
 | 
					       ("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
 | 
				
			||||||
       ("ghc-hxt-unicode" ,ghc-hxt-unicode)
 | 
					       ("ghc-hxt-unicode" ,ghc-hxt-unicode)
 | 
				
			||||||
       ("ghc-hxt-regex-xmlschema" ,ghc-hxt-regex-xmlschema)
 | 
					       ("ghc-hxt-regex-xmlschema" ,ghc-hxt-regex-xmlschema)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -125,11 +125,9 @@ for ROTATION."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (default-jobs rottlog)
 | 
					(define (default-jobs rottlog)
 | 
				
			||||||
  (list #~(job '(next-hour '(0))                  ;midnight
 | 
					  (list #~(job '(next-hour '(0))                  ;midnight
 | 
				
			||||||
               (lambda ()
 | 
					               #$(file-append rottlog "/sbin/rottlog"))
 | 
				
			||||||
                 (system* #$(file-append rottlog "/sbin/rottlog"))))
 | 
					 | 
				
			||||||
        #~(job '(next-hour '(12))                 ;noon
 | 
					        #~(job '(next-hour '(12))                 ;noon
 | 
				
			||||||
               (lambda ()
 | 
					               #$(file-append rottlog "/sbin/rottlog"))))
 | 
				
			||||||
                 (system* #$(file-append rottlog "/sbin/rottlog"))))))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-record-type* <rottlog-configuration>
 | 
					(define-record-type* <rottlog-configuration>
 | 
				
			||||||
  rottlog-configuration make-rottlog-configuration
 | 
					  rottlog-configuration make-rottlog-configuration
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -685,17 +685,20 @@ to add @var{device} to the kernel's entropy pool.  The service will fail if
 | 
				
			||||||
  (shepherd-service-type
 | 
					  (shepherd-service-type
 | 
				
			||||||
   'virtual-terminal
 | 
					   'virtual-terminal
 | 
				
			||||||
   (lambda (utf8?)
 | 
					   (lambda (utf8?)
 | 
				
			||||||
     (shepherd-service
 | 
					     (let ((knob "/sys/module/vt/parameters/default_utf8"))
 | 
				
			||||||
      (documentation "Set virtual terminals in UTF-8 module.")
 | 
					       (shepherd-service
 | 
				
			||||||
      (provision '(virtual-terminal))
 | 
					        (documentation "Set virtual terminals in UTF-8 module.")
 | 
				
			||||||
      (requirement '(root-file-system))
 | 
					        (provision '(virtual-terminal))
 | 
				
			||||||
      (start #~(lambda _
 | 
					        (requirement '(root-file-system))
 | 
				
			||||||
                 (call-with-output-file
 | 
					        (start #~(lambda _
 | 
				
			||||||
                     "/sys/module/vt/parameters/default_utf8"
 | 
					                   ;; In containers /sys is read-only so don't insist on
 | 
				
			||||||
                   (lambda (port)
 | 
					                   ;; writing to this file.
 | 
				
			||||||
                     (display 1 port)))
 | 
					                   (unless (= 1 (call-with-input-file #$knob read))
 | 
				
			||||||
                 #t))
 | 
					                     (call-with-output-file #$knob
 | 
				
			||||||
      (stop #~(const #f))))
 | 
					                       (lambda (port)
 | 
				
			||||||
 | 
					                         (display 1 port))))
 | 
				
			||||||
 | 
					                   #t))
 | 
				
			||||||
 | 
					        (stop #~(const #f)))))
 | 
				
			||||||
   #t))                                           ;default to UTF-8
 | 
					   #t))                                           ;default to UTF-8
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define console-keymap-service-type
 | 
					(define console-keymap-service-type
 | 
				
			||||||
| 
						 | 
					@ -1881,7 +1884,12 @@ item of @var{packages}."
 | 
				
			||||||
                            (string-append linux-module-directory "/"
 | 
					                            (string-append linux-module-directory "/"
 | 
				
			||||||
                                           kernel-release))
 | 
					                                           kernel-release))
 | 
				
			||||||
                           (old-umask (umask #o022)))
 | 
					                           (old-umask (umask #o022)))
 | 
				
			||||||
                      (make-static-device-nodes directory)
 | 
					                      ;; If we're in a container, DIRECTORY might not exist,
 | 
				
			||||||
 | 
					                      ;; for instance because the host runs a different
 | 
				
			||||||
 | 
					                      ;; kernel.  In that case, skip it; we'll just miss a few
 | 
				
			||||||
 | 
					                      ;; nodes like /dev/fuse.
 | 
				
			||||||
 | 
					                      (when (file-exists? directory)
 | 
				
			||||||
 | 
					                        (make-static-device-nodes directory))
 | 
				
			||||||
                      (umask old-umask))
 | 
					                      (umask old-umask))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    (let ((pid (fork+exec-command (list udevd))))
 | 
					                    (let ((pid (fork+exec-command (list udevd))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -50,6 +50,7 @@
 | 
				
			||||||
            unload-services
 | 
					            unload-services
 | 
				
			||||||
            unload-service
 | 
					            unload-service
 | 
				
			||||||
            load-services
 | 
					            load-services
 | 
				
			||||||
 | 
					            load-services/safe
 | 
				
			||||||
            start-service
 | 
					            start-service
 | 
				
			||||||
            stop-service))
 | 
					            stop-service))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -232,6 +233,25 @@ returns a shepherd <service> object."
 | 
				
			||||||
                         `(primitive-load ,file))
 | 
					                         `(primitive-load ,file))
 | 
				
			||||||
                       files))))
 | 
					                       files))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define (load-services/safe files)
 | 
				
			||||||
 | 
					  "This is like 'load-services', but make sure only the subset of FILES that
 | 
				
			||||||
 | 
					can be safely reloaded is actually reloaded.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This is done to accommodate the Shepherd < 0.15.0 where services lacked the
 | 
				
			||||||
 | 
					'replacement' slot, and where 'register-services' would throw an exception
 | 
				
			||||||
 | 
					when passed a service with an already-registered name."
 | 
				
			||||||
 | 
					  (eval-there `(let* ((services     (map primitive-load ',files))
 | 
				
			||||||
 | 
					                      (slots        (map slot-definition-name
 | 
				
			||||||
 | 
					                                         (class-slots <service>)))
 | 
				
			||||||
 | 
					                      (can-replace? (memq 'replacement slots)))
 | 
				
			||||||
 | 
					                 (define (registered? service)
 | 
				
			||||||
 | 
					                   (not (null? (lookup-services (canonical-name service)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                 (apply register-services
 | 
				
			||||||
 | 
					                        (if can-replace?
 | 
				
			||||||
 | 
					                            services
 | 
				
			||||||
 | 
					                            (remove registered? services))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (start-service name)
 | 
					(define (start-service name)
 | 
				
			||||||
  (with-shepherd-action name ('start) result
 | 
					  (with-shepherd-action name ('start) result
 | 
				
			||||||
    result))
 | 
					    result))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; 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>
 | 
				
			||||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 | 
					;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 | 
				
			||||||
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
 | 
					;;; Copyright © 2016 John Darrington <jmd@gnu.org>
 | 
				
			||||||
| 
						 | 
					@ -191,19 +191,7 @@ fe80::1%lo0 apps.facebook.com\n")
 | 
				
			||||||
                             (cons* #$dhclient "-nw"
 | 
					                             (cons* #$dhclient "-nw"
 | 
				
			||||||
                                    "-pf" #$pid-file ifaces))))
 | 
					                                    "-pf" #$pid-file ifaces))))
 | 
				
			||||||
                   (and (zero? (cdr (waitpid pid)))
 | 
					                   (and (zero? (cdr (waitpid pid)))
 | 
				
			||||||
                        (let loop ()
 | 
					                        (read-pid-file #$pid-file)))))
 | 
				
			||||||
                          (catch 'system-error
 | 
					 | 
				
			||||||
                            (lambda ()
 | 
					 | 
				
			||||||
                              (call-with-input-file #$pid-file read))
 | 
					 | 
				
			||||||
                            (lambda args
 | 
					 | 
				
			||||||
                              ;; 'dhclient' returned before PID-FILE was created,
 | 
					 | 
				
			||||||
                              ;; so try again.
 | 
					 | 
				
			||||||
                              (let ((errno (system-error-errno args)))
 | 
					 | 
				
			||||||
                                (if (= ENOENT errno)
 | 
					 | 
				
			||||||
                                    (begin
 | 
					 | 
				
			||||||
                                      (sleep 1)
 | 
					 | 
				
			||||||
                                      (loop))
 | 
					 | 
				
			||||||
                                    (apply throw args))))))))))
 | 
					 | 
				
			||||||
      (stop #~(make-kill-destructor))))))
 | 
					      (stop #~(make-kill-destructor))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define* (dhcp-client-service #:key (dhcp isc-dhcp))
 | 
					(define* (dhcp-client-service #:key (dhcp isc-dhcp))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 | 
					;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Carlo Zancanaro <carlo@zancanaro.id.au>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -58,6 +59,7 @@
 | 
				
			||||||
            %default-modules
 | 
					            %default-modules
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            shepherd-service-file
 | 
					            shepherd-service-file
 | 
				
			||||||
 | 
					            %containerized-shepherd-service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            shepherd-service-lookup-procedure
 | 
					            shepherd-service-lookup-procedure
 | 
				
			||||||
            shepherd-service-back-edges
 | 
					            shepherd-service-back-edges
 | 
				
			||||||
| 
						 | 
					@ -326,10 +328,25 @@ symbols provided/required by a service."
 | 
				
			||||||
  (lambda (service)
 | 
					  (lambda (service)
 | 
				
			||||||
    (vhash-foldq* cons '() service edges)))
 | 
					    (vhash-foldq* cons '() service edges)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define %containerized-shepherd-service
 | 
				
			||||||
 | 
					  ;; XXX: This service works around a bug in the Shepherd 0.5.0: shepherd
 | 
				
			||||||
 | 
					  ;; calls reboot(2) (via 'disable-reboot-on-ctrl-alt-del') when it starts,
 | 
				
			||||||
 | 
					  ;; but in a container that fails with EINVAL.  This was fixed in Shepherd
 | 
				
			||||||
 | 
					  ;; commit 92e806bac1abaeeaf5d60f0ab50d1ae85ba6a62f.
 | 
				
			||||||
 | 
					  (simple-service 'containerized-shepherd
 | 
				
			||||||
 | 
					                  shepherd-root-service-type
 | 
				
			||||||
 | 
					                  (list (shepherd-service
 | 
				
			||||||
 | 
					                         (provision '(containerized-shepherd))
 | 
				
			||||||
 | 
					                         (start #~(lambda ()
 | 
				
			||||||
 | 
					                                    (set! (@@ (shepherd)
 | 
				
			||||||
 | 
					                                              disable-reboot-on-ctrl-alt-del)
 | 
				
			||||||
 | 
					                                      (const #t))
 | 
				
			||||||
 | 
					                                    #t))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (shepherd-service-upgrade live target)
 | 
					(define (shepherd-service-upgrade live target)
 | 
				
			||||||
  "Return two values: the subset of LIVE (a list of <live-service>) that needs
 | 
					  "Return two values: the subset of LIVE (a list of <live-service>) that needs
 | 
				
			||||||
to be unloaded, and the subset of TARGET (a list of <shepherd-service>) that
 | 
					to be unloaded, and the subset of TARGET (a list of <shepherd-service>) that
 | 
				
			||||||
needs to be loaded."
 | 
					need to be restarted to complete their upgrade."
 | 
				
			||||||
  (define (essential? service)
 | 
					  (define (essential? service)
 | 
				
			||||||
    (memq (first (live-service-provision service))
 | 
					    (memq (first (live-service-provision service))
 | 
				
			||||||
          '(root shepherd)))
 | 
					          '(root shepherd)))
 | 
				
			||||||
| 
						 | 
					@ -346,12 +363,6 @@ needs to be loaded."
 | 
				
			||||||
    (and=> (lookup-live (shepherd-service-canonical-name service))
 | 
					    (and=> (lookup-live (shepherd-service-canonical-name service))
 | 
				
			||||||
           live-service-running))
 | 
					           live-service-running))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (define (stopped service)
 | 
					 | 
				
			||||||
    (match (lookup-live (shepherd-service-canonical-name service))
 | 
					 | 
				
			||||||
      (#f #f)
 | 
					 | 
				
			||||||
      (service (and (not (live-service-running service))
 | 
					 | 
				
			||||||
                    service))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  (define live-service-dependents
 | 
					  (define live-service-dependents
 | 
				
			||||||
    (shepherd-service-back-edges live
 | 
					    (shepherd-service-back-edges live
 | 
				
			||||||
                                 #:provision live-service-provision
 | 
					                                 #:provision live-service-provision
 | 
				
			||||||
| 
						 | 
					@ -362,16 +373,14 @@ needs to be loaded."
 | 
				
			||||||
      (#f (every obsolete? (live-service-dependents service)))
 | 
					      (#f (every obsolete? (live-service-dependents service)))
 | 
				
			||||||
      (_  #f)))
 | 
					      (_  #f)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (define to-load
 | 
					  (define to-restart
 | 
				
			||||||
    ;; Only load services that are either new or currently stopped.
 | 
					    ;; Restart services that are currently running.
 | 
				
			||||||
    (remove running? target))
 | 
					    (filter running? target))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (define to-unload
 | 
					  (define to-unload
 | 
				
			||||||
    ;; Unload services that are (1) no longer required, or (2) are in TO-LOAD.
 | 
					    ;; Unload services that are no longer required.
 | 
				
			||||||
    (remove essential?
 | 
					    (remove essential? (filter obsolete? live)))
 | 
				
			||||||
            (append (filter obsolete? live)
 | 
					 | 
				
			||||||
                    (filter-map stopped to-load))))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (values to-unload to-load))
 | 
					  (values to-unload to-restart))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;; shepherd.scm ends here
 | 
					;;; shepherd.scm ends here
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,6 +3,7 @@
 | 
				
			||||||
;;; Copyright © 2016 Sou Bunnbu <iyzsong@member.fsf.org>
 | 
					;;; Copyright © 2016 Sou Bunnbu <iyzsong@member.fsf.org>
 | 
				
			||||||
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
 | 
					;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
 | 
				
			||||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 | 
					;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -32,6 +33,7 @@
 | 
				
			||||||
  #:use-module (guix store)
 | 
					  #:use-module (guix store)
 | 
				
			||||||
  #:use-module (srfi srfi-1)
 | 
					  #:use-module (srfi srfi-1)
 | 
				
			||||||
  #:use-module (srfi srfi-26)
 | 
					  #:use-module (srfi srfi-26)
 | 
				
			||||||
 | 
					  #:use-module (ice-9 format)
 | 
				
			||||||
  #:use-module (ice-9 match)
 | 
					  #:use-module (ice-9 match)
 | 
				
			||||||
  #:export (git-daemon-service
 | 
					  #:export (git-daemon-service
 | 
				
			||||||
            git-daemon-service-type
 | 
					            git-daemon-service-type
 | 
				
			||||||
| 
						 | 
					@ -40,7 +42,23 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            git-http-configuration
 | 
					            git-http-configuration
 | 
				
			||||||
            git-http-configuration?
 | 
					            git-http-configuration?
 | 
				
			||||||
            git-http-nginx-location-configuration))
 | 
					            git-http-nginx-location-configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <gitolite-configuration>
 | 
				
			||||||
 | 
					            gitolite-configuration
 | 
				
			||||||
 | 
					            gitolite-configuration-package
 | 
				
			||||||
 | 
					            gitolite-configuration-user
 | 
				
			||||||
 | 
					            gitolite-configuration-rc-file
 | 
				
			||||||
 | 
					            gitolite-configuration-admin-pubkey
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <gitolite-rc-file>
 | 
				
			||||||
 | 
					            gitolite-rc-file
 | 
				
			||||||
 | 
					            gitolite-rc-file-umask
 | 
				
			||||||
 | 
					            gitolite-rc-file-git-config-keys
 | 
				
			||||||
 | 
					            gitolite-rc-file-roles
 | 
				
			||||||
 | 
					            gitolite-rc-file-enable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            gitolite-service-type))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;; Commentary:
 | 
					;;; Commentary:
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -197,3 +215,163 @@ access to exported repositories under @file{/srv/git}."
 | 
				
			||||||
            "")
 | 
					            "")
 | 
				
			||||||
        (list "fastcgi_param GIT_PROJECT_ROOT " git-root ";")
 | 
					        (list "fastcgi_param GIT_PROJECT_ROOT " git-root ";")
 | 
				
			||||||
        "fastcgi_param PATH_INFO $1;"))))))
 | 
					        "fastcgi_param PATH_INFO $1;"))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; Gitolite
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-record-type* <gitolite-rc-file>
 | 
				
			||||||
 | 
					  gitolite-rc-file make-gitolite-rc-file
 | 
				
			||||||
 | 
					  gitolite-rc-file?
 | 
				
			||||||
 | 
					  (umask           gitolite-rc-file-umask
 | 
				
			||||||
 | 
					                   (default #o0077))
 | 
				
			||||||
 | 
					  (git-config-keys gitolite-rc-file-git-config-keys
 | 
				
			||||||
 | 
					                   (default ""))
 | 
				
			||||||
 | 
					  (roles           gitolite-rc-file-roles
 | 
				
			||||||
 | 
					                   (default '(("READERS" . 1)
 | 
				
			||||||
 | 
					                              ("WRITERS" . 1))))
 | 
				
			||||||
 | 
					  (enable          gitolite-rc-file-enable
 | 
				
			||||||
 | 
					                   (default '("help"
 | 
				
			||||||
 | 
					                              "desc"
 | 
				
			||||||
 | 
					                              "info"
 | 
				
			||||||
 | 
					                              "perms"
 | 
				
			||||||
 | 
					                              "writable"
 | 
				
			||||||
 | 
					                              "ssh-authkeys"
 | 
				
			||||||
 | 
					                              "git-config"
 | 
				
			||||||
 | 
					                              "daemon"
 | 
				
			||||||
 | 
					                              "gitweb"))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-gexp-compiler (gitolite-rc-file-compiler
 | 
				
			||||||
 | 
					                       (file <gitolite-rc-file>) system target)
 | 
				
			||||||
 | 
					  (match file
 | 
				
			||||||
 | 
					    (($ <gitolite-rc-file> umask git-config-keys roles enable)
 | 
				
			||||||
 | 
					     (apply text-file* "gitolite.rc"
 | 
				
			||||||
 | 
					      `("%RC = (\n"
 | 
				
			||||||
 | 
					        "    UMASK => " ,(format #f "~4,'0o" umask) ",\n"
 | 
				
			||||||
 | 
					        "    GIT_CONFIG_KEYS => '" ,git-config-keys "',\n"
 | 
				
			||||||
 | 
					        "    ROLES => {\n"
 | 
				
			||||||
 | 
					        ,@(map (match-lambda
 | 
				
			||||||
 | 
					                 ((role . value)
 | 
				
			||||||
 | 
					                  (simple-format #f "        ~A => ~A,\n" role value)))
 | 
				
			||||||
 | 
					               roles)
 | 
				
			||||||
 | 
					        "    },\n"
 | 
				
			||||||
 | 
					        "\n"
 | 
				
			||||||
 | 
					        "    ENABLE => [\n"
 | 
				
			||||||
 | 
					        ,@(map (lambda (value)
 | 
				
			||||||
 | 
					                 (simple-format #f "        '~A',\n" value))
 | 
				
			||||||
 | 
					               enable)
 | 
				
			||||||
 | 
					        "    ],\n"
 | 
				
			||||||
 | 
					        ");\n"
 | 
				
			||||||
 | 
					        "\n"
 | 
				
			||||||
 | 
					        "1;\n")))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-record-type* <gitolite-configuration>
 | 
				
			||||||
 | 
					  gitolite-configuration make-gitolite-configuration
 | 
				
			||||||
 | 
					  gitolite-configuration?
 | 
				
			||||||
 | 
					  (package        gitolite-configuration-package
 | 
				
			||||||
 | 
					                  (default gitolite))
 | 
				
			||||||
 | 
					  (user           gitolite-configuration-user
 | 
				
			||||||
 | 
					                  (default "git"))
 | 
				
			||||||
 | 
					  (group          gitolite-configuration-group
 | 
				
			||||||
 | 
					                  (default "git"))
 | 
				
			||||||
 | 
					  (home-directory gitolite-configuration-home-directory
 | 
				
			||||||
 | 
					                  (default "/var/lib/gitolite"))
 | 
				
			||||||
 | 
					  (rc-file        gitolite-configuration-rc-file
 | 
				
			||||||
 | 
					                  (default (gitolite-rc-file)))
 | 
				
			||||||
 | 
					  (admin-pubkey   gitolite-configuration-admin-pubkey))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define gitolite-accounts
 | 
				
			||||||
 | 
					  (match-lambda
 | 
				
			||||||
 | 
					    (($ <gitolite-configuration> package user group home-directory
 | 
				
			||||||
 | 
					                                 rc-file admin-pubkey)
 | 
				
			||||||
 | 
					     ;; User group and account to run Gitolite.
 | 
				
			||||||
 | 
					     (list (user-group (name user) (system? #t))
 | 
				
			||||||
 | 
					           (user-account
 | 
				
			||||||
 | 
					            (name user)
 | 
				
			||||||
 | 
					            (group group)
 | 
				
			||||||
 | 
					            (system? #t)
 | 
				
			||||||
 | 
					            (comment "Gitolite user")
 | 
				
			||||||
 | 
					            (home-directory home-directory))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define gitolite-activation
 | 
				
			||||||
 | 
					  (match-lambda
 | 
				
			||||||
 | 
					    (($ <gitolite-configuration> package user group home
 | 
				
			||||||
 | 
					                                 rc-file admin-pubkey)
 | 
				
			||||||
 | 
					     #~(begin
 | 
				
			||||||
 | 
					         (use-modules (ice-9 match)
 | 
				
			||||||
 | 
					                      (guix build utils))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					         (let* ((user-info (getpwnam #$user))
 | 
				
			||||||
 | 
					                (admin-pubkey #$admin-pubkey)
 | 
				
			||||||
 | 
					                (pubkey-file (string-append
 | 
				
			||||||
 | 
					                              #$home "/"
 | 
				
			||||||
 | 
					                              (basename
 | 
				
			||||||
 | 
					                               (strip-store-file-name admin-pubkey)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					           (simple-format #t "guix: gitolite: installing ~A\n" #$rc-file)
 | 
				
			||||||
 | 
					           (copy-file #$rc-file #$(string-append home "/.gitolite.rc"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					           ;; The key must be writable, so copy it from the store
 | 
				
			||||||
 | 
					           (copy-file admin-pubkey pubkey-file)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					           (chmod pubkey-file #o500)
 | 
				
			||||||
 | 
					           (chown pubkey-file
 | 
				
			||||||
 | 
					                  (passwd:uid user-info)
 | 
				
			||||||
 | 
					                  (passwd:gid user-info))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					           ;; Set the git configuration, to avoid gitolite trying to use
 | 
				
			||||||
 | 
					           ;; the hostname command, as the network might not be up yet
 | 
				
			||||||
 | 
					           (with-output-to-file #$(string-append home "/.gitconfig")
 | 
				
			||||||
 | 
					             (lambda ()
 | 
				
			||||||
 | 
					               (display "[user]
 | 
				
			||||||
 | 
					        name = GNU Guix
 | 
				
			||||||
 | 
					        email = guix@localhost
 | 
				
			||||||
 | 
					")))
 | 
				
			||||||
 | 
					           ;; Run Gitolite setup, as this updates the hooks and include the
 | 
				
			||||||
 | 
					           ;; admin pubkey if specified. The admin pubkey is required for
 | 
				
			||||||
 | 
					           ;; initial setup, and will replace the previous key if run after
 | 
				
			||||||
 | 
					           ;; initial setup
 | 
				
			||||||
 | 
					           (match (primitive-fork)
 | 
				
			||||||
 | 
					             (0
 | 
				
			||||||
 | 
					              ;; Exit with a non-zero status code if an exception is thrown.
 | 
				
			||||||
 | 
					              (dynamic-wind
 | 
				
			||||||
 | 
					                (const #t)
 | 
				
			||||||
 | 
					                (lambda ()
 | 
				
			||||||
 | 
					                  (setenv "HOME" (passwd:dir user-info))
 | 
				
			||||||
 | 
					                  (setenv "USER" #$user)
 | 
				
			||||||
 | 
					                  (setgid (passwd:gid user-info))
 | 
				
			||||||
 | 
					                  (setuid (passwd:uid user-info))
 | 
				
			||||||
 | 
					                  (primitive-exit
 | 
				
			||||||
 | 
					                   (system* #$(file-append package "/bin/gitolite")
 | 
				
			||||||
 | 
					                            "setup"
 | 
				
			||||||
 | 
					                            "-m" "gitolite setup by GNU Guix"
 | 
				
			||||||
 | 
					                            "-pk" pubkey-file)))
 | 
				
			||||||
 | 
					                (lambda ()
 | 
				
			||||||
 | 
					                  (primitive-exit 1))))
 | 
				
			||||||
 | 
					             (pid (waitpid pid)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					           (when (file-exists? pubkey-file)
 | 
				
			||||||
 | 
					             (delete-file pubkey-file)))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define gitolite-service-type
 | 
				
			||||||
 | 
					  (service-type
 | 
				
			||||||
 | 
					   (name 'gitolite)
 | 
				
			||||||
 | 
					   (extensions
 | 
				
			||||||
 | 
					    (list (service-extension activation-service-type
 | 
				
			||||||
 | 
					                             gitolite-activation)
 | 
				
			||||||
 | 
					          (service-extension account-service-type
 | 
				
			||||||
 | 
					                             gitolite-accounts)
 | 
				
			||||||
 | 
					          (service-extension profile-service-type
 | 
				
			||||||
 | 
					                             ;; The Gitolite package in Guix uses
 | 
				
			||||||
 | 
					                             ;; gitolite-shell in the authorized_keys file, so
 | 
				
			||||||
 | 
					                             ;; gitolite-shell needs to be on the PATH for
 | 
				
			||||||
 | 
					                             ;; gitolite to work.
 | 
				
			||||||
 | 
					                             (lambda (config)
 | 
				
			||||||
 | 
					                               (list
 | 
				
			||||||
 | 
					                                (gitolite-configuration-package config))))))
 | 
				
			||||||
 | 
					   (description
 | 
				
			||||||
 | 
					    "Setup @command{gitolite}, a Git hosting tool providing access over SSH..
 | 
				
			||||||
 | 
					By default, the @code{git} user is used, but this is configurable.
 | 
				
			||||||
 | 
					Additionally, Gitolite can integrate with with tools like gitweb or cgit to
 | 
				
			||||||
 | 
					provide a web interface to view selected repositories.")))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -501,7 +501,7 @@ a container or that of a \"bare metal\" system."
 | 
				
			||||||
                   ;; Add the firmware service, unless we are building for a
 | 
					                   ;; Add the firmware service, unless we are building for a
 | 
				
			||||||
                   ;; container.
 | 
					                   ;; container.
 | 
				
			||||||
                   (if container?
 | 
					                   (if container?
 | 
				
			||||||
                       '()
 | 
					                       (list %containerized-shepherd-service)
 | 
				
			||||||
                       (list %linux-bare-metal-service
 | 
					                       (list %linux-bare-metal-service
 | 
				
			||||||
                             (service firmware-service-type
 | 
					                             (service firmware-service-type
 | 
				
			||||||
                                      (operating-system-firmware os))))))))
 | 
					                                      (operating-system-firmware os))))))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
 | 
					;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
 | 
				
			||||||
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 | 
					;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -27,14 +28,17 @@
 | 
				
			||||||
  #:use-module (gnu services)
 | 
					  #:use-module (gnu services)
 | 
				
			||||||
  #:use-module (gnu services version-control)
 | 
					  #:use-module (gnu services version-control)
 | 
				
			||||||
  #:use-module (gnu services cgit)
 | 
					  #:use-module (gnu services cgit)
 | 
				
			||||||
 | 
					  #:use-module (gnu services ssh)
 | 
				
			||||||
  #:use-module (gnu services web)
 | 
					  #:use-module (gnu services web)
 | 
				
			||||||
  #:use-module (gnu services networking)
 | 
					  #:use-module (gnu services networking)
 | 
				
			||||||
  #:use-module (gnu packages version-control)
 | 
					  #:use-module (gnu packages version-control)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages ssh)
 | 
				
			||||||
  #:use-module (guix gexp)
 | 
					  #:use-module (guix gexp)
 | 
				
			||||||
  #:use-module (guix store)
 | 
					  #:use-module (guix store)
 | 
				
			||||||
  #:use-module (guix modules)
 | 
					  #:use-module (guix modules)
 | 
				
			||||||
  #:export (%test-cgit
 | 
					  #:export (%test-cgit
 | 
				
			||||||
            %test-git-http))
 | 
					            %test-git-http
 | 
				
			||||||
 | 
					            %test-gitolite))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define README-contents
 | 
					(define README-contents
 | 
				
			||||||
  "Hello!  This is what goes inside the 'README' file.")
 | 
					  "Hello!  This is what goes inside the 'README' file.")
 | 
				
			||||||
| 
						 | 
					@ -300,3 +304,111 @@ HTTP-PORT."
 | 
				
			||||||
   (name "git-http")
 | 
					   (name "git-http")
 | 
				
			||||||
   (description "Connect to a running Git HTTP server.")
 | 
					   (description "Connect to a running Git HTTP server.")
 | 
				
			||||||
   (value (run-git-http-test))))
 | 
					   (value (run-git-http-test))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; Gitolite.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define %gitolite-test-admin-keypair
 | 
				
			||||||
 | 
					  (computed-file
 | 
				
			||||||
 | 
					   "gitolite-test-admin-keypair"
 | 
				
			||||||
 | 
					   (with-imported-modules (source-module-closure
 | 
				
			||||||
 | 
					                           '((guix build utils)))
 | 
				
			||||||
 | 
					     #~(begin
 | 
				
			||||||
 | 
					         (use-modules (ice-9 match) (srfi srfi-26)
 | 
				
			||||||
 | 
					                      (guix build utils))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					         (mkdir #$output)
 | 
				
			||||||
 | 
					         (invoke #$(file-append openssh "/bin/ssh-keygen")
 | 
				
			||||||
 | 
					                 "-f" (string-append #$output "/test-admin")
 | 
				
			||||||
 | 
					                 "-t" "rsa"
 | 
				
			||||||
 | 
					                 "-q"
 | 
				
			||||||
 | 
					                 "-N" "")))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define %gitolite-os
 | 
				
			||||||
 | 
					  (simple-operating-system
 | 
				
			||||||
 | 
					   (dhcp-client-service)
 | 
				
			||||||
 | 
					   (service openssh-service-type)
 | 
				
			||||||
 | 
					   (service gitolite-service-type
 | 
				
			||||||
 | 
					            (gitolite-configuration
 | 
				
			||||||
 | 
					             (admin-pubkey
 | 
				
			||||||
 | 
					              (file-append %gitolite-test-admin-keypair "/test-admin.pub"))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define (run-gitolite-test)
 | 
				
			||||||
 | 
					  (define os
 | 
				
			||||||
 | 
					    (marionette-operating-system
 | 
				
			||||||
 | 
					     %gitolite-os
 | 
				
			||||||
 | 
					     #:imported-modules '((gnu services herd)
 | 
				
			||||||
 | 
					                          (guix combinators))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (define vm
 | 
				
			||||||
 | 
					    (virtual-machine
 | 
				
			||||||
 | 
					     (operating-system os)
 | 
				
			||||||
 | 
					     (port-forwardings `((2222 . 22)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (define test
 | 
				
			||||||
 | 
					    (with-imported-modules '((gnu build marionette)
 | 
				
			||||||
 | 
					                             (guix build utils))
 | 
				
			||||||
 | 
					      #~(begin
 | 
				
			||||||
 | 
					          (use-modules (srfi srfi-64)
 | 
				
			||||||
 | 
					                       (rnrs io ports)
 | 
				
			||||||
 | 
					                       (gnu build marionette)
 | 
				
			||||||
 | 
					                       (guix build utils))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          (define marionette
 | 
				
			||||||
 | 
					            (make-marionette (list #$vm)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          (mkdir #$output)
 | 
				
			||||||
 | 
					          (chdir #$output)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          (test-begin "gitolite")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          ;; Wait for sshd to be up and running.
 | 
				
			||||||
 | 
					          (test-assert "service running"
 | 
				
			||||||
 | 
					            (marionette-eval
 | 
				
			||||||
 | 
					             '(begin
 | 
				
			||||||
 | 
					                (use-modules (gnu services herd))
 | 
				
			||||||
 | 
					                (start-service 'ssh-daemon))
 | 
				
			||||||
 | 
					             marionette))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          (display #$%gitolite-test-admin-keypair)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          (setenv "GIT_SSH_VARIANT" "ssh")
 | 
				
			||||||
 | 
					          (setenv "GIT_SSH_COMMAND"
 | 
				
			||||||
 | 
					                  (string-join
 | 
				
			||||||
 | 
					                   '(#$(file-append openssh "/bin/ssh")
 | 
				
			||||||
 | 
					                     "-i" #$(file-append %gitolite-test-admin-keypair
 | 
				
			||||||
 | 
					                                         "/test-admin")
 | 
				
			||||||
 | 
					                     "-o" "UserKnownHostsFile=/dev/null"
 | 
				
			||||||
 | 
					                     "-o" "StrictHostKeyChecking=no")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          (test-assert "cloning the admin repository"
 | 
				
			||||||
 | 
					            (invoke #$(file-append git "/bin/git")
 | 
				
			||||||
 | 
					                    "clone" "-v"
 | 
				
			||||||
 | 
					                    "ssh://git@localhost:2222/gitolite-admin"
 | 
				
			||||||
 | 
					                    "/tmp/clone"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          (test-assert "admin key exists"
 | 
				
			||||||
 | 
					            (file-exists? "/tmp/clone/keydir/test-admin.pub"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          (with-directory-excursion "/tmp/clone"
 | 
				
			||||||
 | 
					            (invoke #$(file-append git "/bin/git")
 | 
				
			||||||
 | 
					                    "-c" "user.name=Guix" "-c" "user.email=guix"
 | 
				
			||||||
 | 
					                    "commit"
 | 
				
			||||||
 | 
					                    "-m" "Test commit"
 | 
				
			||||||
 | 
					                    "--allow-empty")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            (test-assert "pushing, and the associated hooks"
 | 
				
			||||||
 | 
					              (invoke #$(file-append git "/bin/git") "push")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          (test-end)
 | 
				
			||||||
 | 
					          (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (gexp->derivation "gitolite" test))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define %test-gitolite
 | 
				
			||||||
 | 
					  (system-test
 | 
				
			||||||
 | 
					   (name "gitolite")
 | 
				
			||||||
 | 
					   (description "Clone the Gitolite admin repository.")
 | 
				
			||||||
 | 
					   (value (run-gitolite-test))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,6 +3,7 @@
 | 
				
			||||||
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
 | 
					;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
 | 
				
			||||||
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 | 
					;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 | 
				
			||||||
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
 | 
					;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,6 +21,7 @@
 | 
				
			||||||
  #:use-module (guix utils)
 | 
					  #:use-module (guix utils)
 | 
				
			||||||
  #:use-module (guix packages)
 | 
					  #:use-module (guix packages)
 | 
				
			||||||
  #:use-module (guix derivations)
 | 
					  #:use-module (guix derivations)
 | 
				
			||||||
 | 
					  #:use-module (guix download)
 | 
				
			||||||
  #:use-module (guix search-paths)
 | 
					  #:use-module (guix search-paths)
 | 
				
			||||||
  #:use-module (guix build-system)
 | 
					  #:use-module (guix build-system)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
| 
						 | 
					@ -48,14 +49,35 @@
 | 
				
			||||||
  (let ((haskell (resolve-interface '(gnu packages haskell))))
 | 
					  (let ((haskell (resolve-interface '(gnu packages haskell))))
 | 
				
			||||||
    (module-ref haskell 'ghc)))
 | 
					    (module-ref haskell 'ghc)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define (source-url->revision-url url revision)
 | 
				
			||||||
 | 
					  "Convert URL (a Hackage source URL) to the URL for the Cabal file at
 | 
				
			||||||
 | 
					version REVISION."
 | 
				
			||||||
 | 
					  (let* ((last-slash (string-rindex url #\/))
 | 
				
			||||||
 | 
					         (next-slash (string-rindex url #\/ 0 last-slash)))
 | 
				
			||||||
 | 
					    (string-append (substring url 0 next-slash)
 | 
				
			||||||
 | 
					                   (substring url last-slash (- (string-length url)
 | 
				
			||||||
 | 
					                                                (string-length ".tar.gz")))
 | 
				
			||||||
 | 
					                   "/revision/" revision ".cabal")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define* (lower name
 | 
					(define* (lower name
 | 
				
			||||||
                #:key source inputs native-inputs outputs system target
 | 
					                #:key source inputs native-inputs outputs system target
 | 
				
			||||||
                (haskell (default-haskell))
 | 
					                (haskell (default-haskell))
 | 
				
			||||||
 | 
					                cabal-revision
 | 
				
			||||||
                #:allow-other-keys
 | 
					                #:allow-other-keys
 | 
				
			||||||
                #:rest arguments)
 | 
					                #:rest arguments)
 | 
				
			||||||
  "Return a bag for NAME."
 | 
					  "Return a bag for NAME."
 | 
				
			||||||
  (define private-keywords
 | 
					  (define private-keywords
 | 
				
			||||||
    '(#:target #:haskell #:inputs #:native-inputs))
 | 
					    '(#:target #:haskell #:cabal-revision #:inputs #:native-inputs))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (define (cabal-revision->origin cabal-revision)
 | 
				
			||||||
 | 
					    (match cabal-revision
 | 
				
			||||||
 | 
					      ((revision hash)
 | 
				
			||||||
 | 
					       (origin
 | 
				
			||||||
 | 
					         (method url-fetch)
 | 
				
			||||||
 | 
					         (uri (source-url->revision-url (origin-uri source) revision))
 | 
				
			||||||
 | 
					         (sha256 (base32 hash))
 | 
				
			||||||
 | 
					         (file-name (string-append name "-" revision ".cabal"))))
 | 
				
			||||||
 | 
					      (#f #f)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (and (not target)                               ;XXX: no cross-compilation
 | 
					  (and (not target)                               ;XXX: no cross-compilation
 | 
				
			||||||
       (bag
 | 
					       (bag
 | 
				
			||||||
| 
						 | 
					@ -64,6 +86,9 @@
 | 
				
			||||||
         (host-inputs `(,@(if source
 | 
					         (host-inputs `(,@(if source
 | 
				
			||||||
                              `(("source" ,source))
 | 
					                              `(("source" ,source))
 | 
				
			||||||
                              '())
 | 
					                              '())
 | 
				
			||||||
 | 
					                        ,@(match (cabal-revision->origin cabal-revision)
 | 
				
			||||||
 | 
					                            (#f '())
 | 
				
			||||||
 | 
					                            (revision `(("cabal-revision" ,revision))))
 | 
				
			||||||
                        ,@inputs
 | 
					                        ,@inputs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        ;; Keep the standard inputs of 'gnu-build-system'.
 | 
					                        ;; Keep the standard inputs of 'gnu-build-system'.
 | 
				
			||||||
| 
						 | 
					@ -103,6 +128,11 @@ provides a 'Setup.hs' file as its build system."
 | 
				
			||||||
                                   source)
 | 
					                                   source)
 | 
				
			||||||
                                  (source
 | 
					                                  (source
 | 
				
			||||||
                                   source))
 | 
					                                   source))
 | 
				
			||||||
 | 
					                      #:cabal-revision ,(match (assoc-ref inputs
 | 
				
			||||||
 | 
					                                                          "cabal-revision")
 | 
				
			||||||
 | 
					                                          (((? derivation? revision))
 | 
				
			||||||
 | 
					                                           (derivation->output-path revision))
 | 
				
			||||||
 | 
					                                          (revision revision))
 | 
				
			||||||
                      #:configure-flags ,configure-flags
 | 
					                      #:configure-flags ,configure-flags
 | 
				
			||||||
                      #:haddock-flags ,haddock-flags
 | 
					                      #:haddock-flags ,haddock-flags
 | 
				
			||||||
                      #:system ,system
 | 
					                      #:system ,system
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -115,7 +115,7 @@ and 'guix publish', something like
 | 
				
			||||||
        (string-drop path 33)
 | 
					        (string-drop path 33)
 | 
				
			||||||
        path)))
 | 
					        path)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define* (ftp-fetch uri file #:key timeout)
 | 
					(define* (ftp-fetch uri file #:key timeout print-build-trace?)
 | 
				
			||||||
  "Fetch data from URI and write it to FILE.  Return FILE on success.  Bail
 | 
					  "Fetch data from URI and write it to FILE.  Return FILE on success.  Bail
 | 
				
			||||||
out if the connection could not be established in less than TIMEOUT seconds."
 | 
					out if the connection could not be established in less than TIMEOUT seconds."
 | 
				
			||||||
  (let* ((conn (match (and=> (uri-userinfo uri)
 | 
					  (let* ((conn (match (and=> (uri-userinfo uri)
 | 
				
			||||||
| 
						 | 
					@ -136,12 +136,17 @@ out if the connection could not be established in less than TIMEOUT seconds."
 | 
				
			||||||
      (lambda (out)
 | 
					      (lambda (out)
 | 
				
			||||||
        (dump-port* in out
 | 
					        (dump-port* in out
 | 
				
			||||||
                    #:buffer-size %http-receive-buffer-size
 | 
					                    #:buffer-size %http-receive-buffer-size
 | 
				
			||||||
                    #:reporter (progress-reporter/file
 | 
					                    #:reporter
 | 
				
			||||||
                                (uri-abbreviation uri) size))))
 | 
					                    (if print-build-trace?
 | 
				
			||||||
 | 
					                        (progress-reporter/trace
 | 
				
			||||||
 | 
					                         file (uri->string uri) size)
 | 
				
			||||||
 | 
					                        (progress-reporter/file
 | 
				
			||||||
 | 
					                         (uri-abbreviation uri) size)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    (ftp-close conn))
 | 
					    (ftp-close conn)
 | 
				
			||||||
    (newline)
 | 
					    (unless print-build-trace?
 | 
				
			||||||
  file)
 | 
					      (newline))
 | 
				
			||||||
 | 
					    file))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;; Autoload GnuTLS so that this module can be used even when GnuTLS is
 | 
					;; Autoload GnuTLS so that this module can be used even when GnuTLS is
 | 
				
			||||||
;; not available.  At compile time, this yields "possibly unbound
 | 
					;; not available.  At compile time, this yields "possibly unbound
 | 
				
			||||||
| 
						 | 
					@ -723,7 +728,8 @@ Return a list of URIs."
 | 
				
			||||||
                    #:key
 | 
					                    #:key
 | 
				
			||||||
                    (timeout 10) (verify-certificate? #t)
 | 
					                    (timeout 10) (verify-certificate? #t)
 | 
				
			||||||
                    (mirrors '()) (content-addressed-mirrors '())
 | 
					                    (mirrors '()) (content-addressed-mirrors '())
 | 
				
			||||||
                    (hashes '()))
 | 
					                    (hashes '())
 | 
				
			||||||
 | 
					                    print-build-trace?)
 | 
				
			||||||
  "Fetch FILE from URL; URL may be either a single string, or a list of
 | 
					  "Fetch FILE from URL; URL may be either a single string, or a list of
 | 
				
			||||||
string denoting alternate URLs for FILE.  Return #f on failure, and FILE
 | 
					string denoting alternate URLs for FILE.  Return #f on failure, and FILE
 | 
				
			||||||
on success.
 | 
					on success.
 | 
				
			||||||
| 
						 | 
					@ -759,13 +765,18 @@ otherwise simply ignore them."
 | 
				
			||||||
            (lambda (output)
 | 
					            (lambda (output)
 | 
				
			||||||
              (dump-port* port output
 | 
					              (dump-port* port output
 | 
				
			||||||
                          #:buffer-size %http-receive-buffer-size
 | 
					                          #:buffer-size %http-receive-buffer-size
 | 
				
			||||||
                          #:reporter (progress-reporter/file
 | 
					                          #:reporter (if print-build-trace?
 | 
				
			||||||
                                      (uri-abbreviation uri) size))
 | 
					                                         (progress-reporter/trace
 | 
				
			||||||
 | 
					                                          file (uri->string uri) size)
 | 
				
			||||||
 | 
					                                         (progress-reporter/file
 | 
				
			||||||
 | 
					                                          (uri-abbreviation uri) size)))
 | 
				
			||||||
              (newline)))
 | 
					              (newline)))
 | 
				
			||||||
          file)))
 | 
					          file)))
 | 
				
			||||||
      ((ftp)
 | 
					      ((ftp)
 | 
				
			||||||
       (false-if-exception* (ftp-fetch uri file
 | 
					       (false-if-exception* (ftp-fetch uri file
 | 
				
			||||||
                                       #:timeout timeout)))
 | 
					                                       #:timeout timeout
 | 
				
			||||||
 | 
					                                       #:print-build-trace?
 | 
				
			||||||
 | 
					                                       print-build-trace?)))
 | 
				
			||||||
      (else
 | 
					      (else
 | 
				
			||||||
       (format #t "skipping URI with unsupported scheme: ~s~%"
 | 
					       (format #t "skipping URI with unsupported scheme: ~s~%"
 | 
				
			||||||
               uri)
 | 
					               uri)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -28,6 +28,7 @@
 | 
				
			||||||
  #:use-module (ice-9 regex)
 | 
					  #:use-module (ice-9 regex)
 | 
				
			||||||
  #:use-module (ice-9 match)
 | 
					  #:use-module (ice-9 match)
 | 
				
			||||||
  #:use-module (ice-9 vlist)
 | 
					  #:use-module (ice-9 vlist)
 | 
				
			||||||
 | 
					  #:use-module (ice-9 ftw)
 | 
				
			||||||
  #:export (%standard-phases
 | 
					  #:export (%standard-phases
 | 
				
			||||||
            haskell-build))
 | 
					            haskell-build))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -266,8 +267,19 @@ given Haskell package."
 | 
				
			||||||
    (run-setuphs "haddock" haddock-flags))
 | 
					    (run-setuphs "haddock" haddock-flags))
 | 
				
			||||||
  #t)
 | 
					  #t)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define* (patch-cabal-file #:key cabal-revision #:allow-other-keys)
 | 
				
			||||||
 | 
					  (when cabal-revision
 | 
				
			||||||
 | 
					    ;; Cabal requires there to be a single file with the suffix ".cabal".
 | 
				
			||||||
 | 
					    (match (scandir "." (cut string-suffix? ".cabal" <>))
 | 
				
			||||||
 | 
					      ((original)
 | 
				
			||||||
 | 
					       (format #t "replacing ~s with ~s~%" original cabal-revision)
 | 
				
			||||||
 | 
					       (copy-file cabal-revision original))
 | 
				
			||||||
 | 
					      (_ (error "Could not find a Cabal file to patch."))))
 | 
				
			||||||
 | 
					  #t)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define %standard-phases
 | 
					(define %standard-phases
 | 
				
			||||||
  (modify-phases gnu:%standard-phases
 | 
					  (modify-phases gnu:%standard-phases
 | 
				
			||||||
 | 
					    (add-after 'unpack 'patch-cabal-file patch-cabal-file)
 | 
				
			||||||
    (delete 'bootstrap)
 | 
					    (delete 'bootstrap)
 | 
				
			||||||
    (add-before 'configure 'setup-compiler setup-compiler)
 | 
					    (add-before 'configure 'setup-compiler setup-compiler)
 | 
				
			||||||
    (add-before 'install 'haddock haddock)
 | 
					    (add-before 'install 'haddock haddock)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -84,11 +84,12 @@
 | 
				
			||||||
(define (normalize-dependency dependency)
 | 
					(define (normalize-dependency dependency)
 | 
				
			||||||
  "Normalize the name of DEPENDENCY.  Handles dependency definitions of the
 | 
					  "Normalize the name of DEPENDENCY.  Handles dependency definitions of the
 | 
				
			||||||
dependency-def form described by
 | 
					dependency-def form described by
 | 
				
			||||||
<https://common-lisp.net/project/asdf/asdf.html#The-defsystem-grammar>."
 | 
					<https://common-lisp.net/project/asdf/asdf.html#The-defsystem-grammar>.
 | 
				
			||||||
 | 
					Assume that any symbols in DEPENDENCY will be in upper-case."
 | 
				
			||||||
  (match dependency
 | 
					  (match dependency
 | 
				
			||||||
    ((':version name rest ...)
 | 
					    ((':VERSION name rest ...)
 | 
				
			||||||
     `(:version ,(normalize-string name) ,@rest))
 | 
					     `(:version ,(normalize-string name) ,@rest))
 | 
				
			||||||
    ((':feature feature-specification dependency-specification)
 | 
					    ((':FEATURE feature-specification dependency-specification)
 | 
				
			||||||
     `(:feature
 | 
					     `(:feature
 | 
				
			||||||
       ,feature-specification
 | 
					       ,feature-specification
 | 
				
			||||||
       ,(normalize-dependency dependency-specification)))
 | 
					       ,(normalize-dependency dependency-specification)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -43,15 +43,12 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (lts-info-ghc-version lts-info)
 | 
					(define (lts-info-ghc-version lts-info)
 | 
				
			||||||
  "Retruns the version of the GHC compiler contained in LTS-INFO."
 | 
					  "Retruns the version of the GHC compiler contained in LTS-INFO."
 | 
				
			||||||
  (match lts-info
 | 
					  (and=> (assoc-ref lts-info "snapshot")
 | 
				
			||||||
    ((("snapshot" ("ghc" . version) _ _) _)  version)
 | 
					         (cut assoc-ref <> "ghc")))
 | 
				
			||||||
    (_ #f)))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (lts-info-packages lts-info)
 | 
					(define (lts-info-packages lts-info)
 | 
				
			||||||
  "Returns the alist of packages contained in LTS-INFO."
 | 
					  "Retruns the alist of packages contained in LTS-INFO."
 | 
				
			||||||
  (match lts-info
 | 
					  (or (assoc-ref lts-info "packages") '()))
 | 
				
			||||||
    ((("packages" pkg ...) . _) pkg)
 | 
					 | 
				
			||||||
    (_ '())))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (leave-with-message fmt . args)
 | 
					(define (leave-with-message fmt . args)
 | 
				
			||||||
  (raise (condition (&message (message (apply format #f fmt args))))))
 | 
					  (raise (condition (&message (message (apply format #f fmt args))))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2017 Sou Bunnbu <iyzsong@gmail.com>
 | 
					;;; Copyright © 2017 Sou Bunnbu <iyzsong@gmail.com>
 | 
				
			||||||
;;; Copyright © 2015 Steve Sprang <scs@stevesprang.com>
 | 
					;;; Copyright © 2015 Steve Sprang <scs@stevesprang.com>
 | 
				
			||||||
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -38,7 +38,11 @@
 | 
				
			||||||
            progress-reporter/silent
 | 
					            progress-reporter/silent
 | 
				
			||||||
            progress-reporter/file
 | 
					            progress-reporter/file
 | 
				
			||||||
            progress-reporter/bar
 | 
					            progress-reporter/bar
 | 
				
			||||||
 | 
					            progress-reporter/trace
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            display-download-progress
 | 
				
			||||||
 | 
					            erase-current-line
 | 
				
			||||||
 | 
					            progress-bar
 | 
				
			||||||
            byte-count->string
 | 
					            byte-count->string
 | 
				
			||||||
            current-terminal-columns
 | 
					            current-terminal-columns
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -183,6 +187,46 @@ width of the bar is BAR-WIDTH."
 | 
				
			||||||
move the cursor to the beginning of the line."
 | 
					move the cursor to the beginning of the line."
 | 
				
			||||||
  (display "\r\x1b[K" port))
 | 
					  (display "\r\x1b[K" port))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define* (display-download-progress file size
 | 
				
			||||||
 | 
					                                    #:key
 | 
				
			||||||
 | 
					                                    start-time (transferred 0)
 | 
				
			||||||
 | 
					                                    (log-port (current-error-port)))
 | 
				
			||||||
 | 
					  "Write the progress report to LOG-PORT.  Use START-TIME (a SRFI-19 time
 | 
				
			||||||
 | 
					object) and TRANSFERRED (a total number of bytes) to determine the
 | 
				
			||||||
 | 
					throughput."
 | 
				
			||||||
 | 
					  (define elapsed
 | 
				
			||||||
 | 
					    (duration->seconds
 | 
				
			||||||
 | 
					     (time-difference (current-time time-monotonic) start-time)))
 | 
				
			||||||
 | 
					  (if (number? size)
 | 
				
			||||||
 | 
					      (let* ((%  (* 100.0 (/ transferred size)))
 | 
				
			||||||
 | 
					             (throughput (/ transferred elapsed))
 | 
				
			||||||
 | 
					             (left       (format #f " ~a  ~a" file
 | 
				
			||||||
 | 
					                                 (byte-count->string size)))
 | 
				
			||||||
 | 
					             (right      (format #f "~a/s ~a ~a~6,1f%"
 | 
				
			||||||
 | 
					                                 (byte-count->string throughput)
 | 
				
			||||||
 | 
					                                 (seconds->string elapsed)
 | 
				
			||||||
 | 
					                                 (progress-bar %) %)))
 | 
				
			||||||
 | 
					        (erase-current-line log-port)
 | 
				
			||||||
 | 
					        (display (string-pad-middle left right
 | 
				
			||||||
 | 
					                                    (current-terminal-columns))
 | 
				
			||||||
 | 
					                 log-port)
 | 
				
			||||||
 | 
					        (force-output log-port))
 | 
				
			||||||
 | 
					      (let* ((throughput (/ transferred elapsed))
 | 
				
			||||||
 | 
					             (left       (format #f " ~a" file))
 | 
				
			||||||
 | 
					             (right      (format #f "~a/s ~a | ~a transferred"
 | 
				
			||||||
 | 
					                                 (byte-count->string throughput)
 | 
				
			||||||
 | 
					                                 (seconds->string elapsed)
 | 
				
			||||||
 | 
					                                 (byte-count->string transferred))))
 | 
				
			||||||
 | 
					        (erase-current-line log-port)
 | 
				
			||||||
 | 
					        (display (string-pad-middle left right
 | 
				
			||||||
 | 
					                                    (current-terminal-columns))
 | 
				
			||||||
 | 
					                 log-port)
 | 
				
			||||||
 | 
					        (force-output log-port))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define %progress-interval
 | 
				
			||||||
 | 
					  ;; Default interval between subsequent outputs for rate-limited displays.
 | 
				
			||||||
 | 
					  (make-time time-monotonic 200000000 0))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define* (progress-reporter/file file size
 | 
					(define* (progress-reporter/file file size
 | 
				
			||||||
                                 #:optional (log-port (current-output-port))
 | 
					                                 #:optional (log-port (current-output-port))
 | 
				
			||||||
                                 #:key (abbreviation basename))
 | 
					                                 #:key (abbreviation basename))
 | 
				
			||||||
| 
						 | 
					@ -192,44 +236,16 @@ ABBREVIATION used to shorten FILE for display."
 | 
				
			||||||
  (let ((start-time (current-time time-monotonic))
 | 
					  (let ((start-time (current-time time-monotonic))
 | 
				
			||||||
        (transferred 0))
 | 
					        (transferred 0))
 | 
				
			||||||
    (define (render)
 | 
					    (define (render)
 | 
				
			||||||
      "Write the progress report to LOG-PORT."
 | 
					      (display-download-progress (abbreviation file) size
 | 
				
			||||||
      (define elapsed
 | 
					                                 #:start-time start-time
 | 
				
			||||||
        (duration->seconds
 | 
					                                 #:transferred transferred
 | 
				
			||||||
         (time-difference (current-time time-monotonic) start-time)))
 | 
					                                 #:log-port log-port))
 | 
				
			||||||
      (if (number? size)
 | 
					 | 
				
			||||||
          (let* ((%  (* 100.0 (/ transferred size)))
 | 
					 | 
				
			||||||
                 (throughput (/ transferred elapsed))
 | 
					 | 
				
			||||||
                 (left       (format #f " ~a  ~a"
 | 
					 | 
				
			||||||
                                     (abbreviation file)
 | 
					 | 
				
			||||||
                                     (byte-count->string size)))
 | 
					 | 
				
			||||||
                 (right      (format #f "~a/s ~a ~a~6,1f%"
 | 
					 | 
				
			||||||
                                     (byte-count->string throughput)
 | 
					 | 
				
			||||||
                                     (seconds->string elapsed)
 | 
					 | 
				
			||||||
                                     (progress-bar %) %)))
 | 
					 | 
				
			||||||
            (erase-current-line log-port)
 | 
					 | 
				
			||||||
            (display (string-pad-middle left right
 | 
					 | 
				
			||||||
                                        (current-terminal-columns))
 | 
					 | 
				
			||||||
                     log-port)
 | 
					 | 
				
			||||||
            (force-output log-port))
 | 
					 | 
				
			||||||
          (let* ((throughput (/ transferred elapsed))
 | 
					 | 
				
			||||||
                 (left       (format #f " ~a"
 | 
					 | 
				
			||||||
                                     (abbreviation file)))
 | 
					 | 
				
			||||||
                 (right      (format #f "~a/s ~a | ~a transferred"
 | 
					 | 
				
			||||||
                                     (byte-count->string throughput)
 | 
					 | 
				
			||||||
                                     (seconds->string elapsed)
 | 
					 | 
				
			||||||
                                     (byte-count->string transferred))))
 | 
					 | 
				
			||||||
            (erase-current-line log-port)
 | 
					 | 
				
			||||||
            (display (string-pad-middle left right
 | 
					 | 
				
			||||||
                                        (current-terminal-columns))
 | 
					 | 
				
			||||||
                     log-port)
 | 
					 | 
				
			||||||
            (force-output log-port))))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    (progress-reporter
 | 
					    (progress-reporter
 | 
				
			||||||
     (start render)
 | 
					     (start render)
 | 
				
			||||||
     ;; Report the progress every 300ms or longer.
 | 
					     ;; Report the progress every 300ms or longer.
 | 
				
			||||||
     (report
 | 
					     (report
 | 
				
			||||||
      (let ((rate-limited-render
 | 
					      (let ((rate-limited-render (rate-limited render %progress-interval)))
 | 
				
			||||||
             (rate-limited render (make-time time-monotonic 300000000 0))))
 | 
					 | 
				
			||||||
        (lambda (value)
 | 
					        (lambda (value)
 | 
				
			||||||
          (set! transferred value)
 | 
					          (set! transferred value)
 | 
				
			||||||
          (rate-limited-render))))
 | 
					          (rate-limited-render))))
 | 
				
			||||||
| 
						 | 
					@ -269,6 +285,32 @@ tasks is performed.  Write PREFIX at the beginning of the line."
 | 
				
			||||||
             (newline port))
 | 
					             (newline port))
 | 
				
			||||||
           (force-output port)))))
 | 
					           (force-output port)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define* (progress-reporter/trace file url size
 | 
				
			||||||
 | 
					                                  #:optional (log-port (current-output-port)))
 | 
				
			||||||
 | 
					  "Like 'progress-reporter/file', but instead of returning human-readable
 | 
				
			||||||
 | 
					progress reports, write \"build trace\" lines to be processed elsewhere."
 | 
				
			||||||
 | 
					  (define (report-progress transferred)
 | 
				
			||||||
 | 
					    (define message
 | 
				
			||||||
 | 
					      (format #f "@ download-progress ~a ~a ~a ~a~%"
 | 
				
			||||||
 | 
					              file url (or size "-") transferred))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    (display message log-port)                    ;should be atomic
 | 
				
			||||||
 | 
					    (flush-output-port log-port))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (progress-reporter
 | 
				
			||||||
 | 
					   (start (lambda ()
 | 
				
			||||||
 | 
					            (display (format #f "@ download-started ~a ~a ~a~%"
 | 
				
			||||||
 | 
					                             file url (or size "-"))
 | 
				
			||||||
 | 
					                     log-port)))
 | 
				
			||||||
 | 
					   (report (rate-limited report-progress %progress-interval))
 | 
				
			||||||
 | 
					   (stop (lambda ()
 | 
				
			||||||
 | 
					           (let ((size (or (and=> (stat file #f) stat:size)
 | 
				
			||||||
 | 
					                           size)))
 | 
				
			||||||
 | 
					             (report-progress size)
 | 
				
			||||||
 | 
					             (display (format #f "@ download-succeeded ~a ~a ~a~%"
 | 
				
			||||||
 | 
					                              file url size)
 | 
				
			||||||
 | 
					                      log-port))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;; TODO: replace '(@ (guix build utils) dump-port))'.
 | 
					;; TODO: replace '(@ (guix build utils) dump-port))'.
 | 
				
			||||||
(define* (dump-port* in out
 | 
					(define* (dump-port* in out
 | 
				
			||||||
                     #:key (buffer-size 16384)
 | 
					                     #:key (buffer-size 16384)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -45,6 +45,9 @@
 | 
				
			||||||
  #:use-module (srfi srfi-37)
 | 
					  #:use-module (srfi srfi-37)
 | 
				
			||||||
  #:autoload   (gnu packages) (specification->package %package-module-path)
 | 
					  #:autoload   (gnu packages) (specification->package %package-module-path)
 | 
				
			||||||
  #:autoload   (guix download) (download-to-store)
 | 
					  #:autoload   (guix download) (download-to-store)
 | 
				
			||||||
 | 
					  #:use-module (guix status)
 | 
				
			||||||
 | 
					  #:use-module ((guix progress) #:select (current-terminal-columns))
 | 
				
			||||||
 | 
					  #:use-module ((guix build syscalls) #:select (terminal-columns))
 | 
				
			||||||
  #:export (%standard-build-options
 | 
					  #:export (%standard-build-options
 | 
				
			||||||
            set-build-options-from-command-line
 | 
					            set-build-options-from-command-line
 | 
				
			||||||
            set-build-options-from-command-line*
 | 
					            set-build-options-from-command-line*
 | 
				
			||||||
| 
						 | 
					@ -390,6 +393,8 @@ options handled by 'set-build-options-from-command-line', and listed in
 | 
				
			||||||
                     #:max-silent-time (assoc-ref opts 'max-silent-time)
 | 
					                     #:max-silent-time (assoc-ref opts 'max-silent-time)
 | 
				
			||||||
                     #:timeout (assoc-ref opts 'timeout)
 | 
					                     #:timeout (assoc-ref opts 'timeout)
 | 
				
			||||||
                     #:print-build-trace (assoc-ref opts 'print-build-trace?)
 | 
					                     #:print-build-trace (assoc-ref opts 'print-build-trace?)
 | 
				
			||||||
 | 
					                     #:print-extended-build-trace?
 | 
				
			||||||
 | 
					                     (assoc-ref opts 'print-extended-build-trace?)
 | 
				
			||||||
                     #:verbosity (assoc-ref opts 'verbosity)))
 | 
					                     #:verbosity (assoc-ref opts 'verbosity)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define set-build-options-from-command-line*
 | 
					(define set-build-options-from-command-line*
 | 
				
			||||||
| 
						 | 
					@ -499,6 +504,7 @@ options handled by 'set-build-options-from-command-line', and listed in
 | 
				
			||||||
    (substitutes? . #t)
 | 
					    (substitutes? . #t)
 | 
				
			||||||
    (build-hook? . #t)
 | 
					    (build-hook? . #t)
 | 
				
			||||||
    (print-build-trace? . #t)
 | 
					    (print-build-trace? . #t)
 | 
				
			||||||
 | 
					    (print-extended-build-trace? . #t)
 | 
				
			||||||
    (verbosity . 0)))
 | 
					    (verbosity . 0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (show-help)
 | 
					(define (show-help)
 | 
				
			||||||
| 
						 | 
					@ -733,11 +739,12 @@ needed."
 | 
				
			||||||
        ;; Set the build options before we do anything else.
 | 
					        ;; Set the build options before we do anything else.
 | 
				
			||||||
        (set-build-options-from-command-line store opts)
 | 
					        (set-build-options-from-command-line store opts)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        (parameterize ((current-build-output-port
 | 
					        (parameterize ((current-terminal-columns (terminal-columns))
 | 
				
			||||||
 | 
					                       (current-build-output-port
 | 
				
			||||||
                        (if quiet?
 | 
					                        (if quiet?
 | 
				
			||||||
                            (%make-void-port "w")
 | 
					                            (%make-void-port "w")
 | 
				
			||||||
                            (build-output-port #:verbose? #t
 | 
					                            (build-event-output-port
 | 
				
			||||||
                                               #:port (duplicate-port (current-error-port) "w")))))
 | 
					                             (build-status-updater print-build-event)))))
 | 
				
			||||||
          (let* ((mode  (assoc-ref opts 'build-mode))
 | 
					          (let* ((mode  (assoc-ref opts 'build-mode))
 | 
				
			||||||
                 (drv   (options->derivations store opts))
 | 
					                 (drv   (options->derivations store opts))
 | 
				
			||||||
                 (urls  (map (cut string-append <> "/log")
 | 
					                 (urls  (map (cut string-append <> "/log")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,6 +21,7 @@
 | 
				
			||||||
(define-module (guix scripts environment)
 | 
					(define-module (guix scripts environment)
 | 
				
			||||||
  #:use-module (guix ui)
 | 
					  #:use-module (guix ui)
 | 
				
			||||||
  #:use-module (guix store)
 | 
					  #:use-module (guix store)
 | 
				
			||||||
 | 
					  #:use-module (guix status)
 | 
				
			||||||
  #:use-module (guix grafts)
 | 
					  #:use-module (guix grafts)
 | 
				
			||||||
  #:use-module (guix derivations)
 | 
					  #:use-module (guix derivations)
 | 
				
			||||||
  #:use-module (guix packages)
 | 
					  #:use-module (guix packages)
 | 
				
			||||||
| 
						 | 
					@ -173,6 +174,8 @@ COMMAND or an interactive shell in that environment.\n"))
 | 
				
			||||||
    (substitutes? . #t)
 | 
					    (substitutes? . #t)
 | 
				
			||||||
    (build-hook? . #t)
 | 
					    (build-hook? . #t)
 | 
				
			||||||
    (graft? . #t)
 | 
					    (graft? . #t)
 | 
				
			||||||
 | 
					    (print-build-trace? . #t)
 | 
				
			||||||
 | 
					    (print-extended-build-trace? . #t)
 | 
				
			||||||
    (verbosity . 0)))
 | 
					    (verbosity . 0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (tag-package-arg opts arg)
 | 
					(define (tag-package-arg opts arg)
 | 
				
			||||||
| 
						 | 
					@ -661,59 +664,60 @@ message if any test fails."
 | 
				
			||||||
        (leave (G_ "'--user' cannot be used without '--container'~%")))
 | 
					        (leave (G_ "'--user' cannot be used without '--container'~%")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      (with-store store
 | 
					      (with-store store
 | 
				
			||||||
        (set-build-options-from-command-line store opts)
 | 
					        (with-status-report print-build-event
 | 
				
			||||||
 | 
					          (set-build-options-from-command-line store opts)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ;; Use the bootstrap Guile when requested.
 | 
					          ;; Use the bootstrap Guile when requested.
 | 
				
			||||||
        (parameterize ((%graft? (assoc-ref opts 'graft?))
 | 
					          (parameterize ((%graft? (assoc-ref opts 'graft?))
 | 
				
			||||||
                       (%guile-for-build
 | 
					                         (%guile-for-build
 | 
				
			||||||
                        (package-derivation
 | 
					                          (package-derivation
 | 
				
			||||||
                         store
 | 
					                           store
 | 
				
			||||||
                         (if bootstrap?
 | 
					                           (if bootstrap?
 | 
				
			||||||
                             %bootstrap-guile
 | 
					                               %bootstrap-guile
 | 
				
			||||||
                             (canonical-package guile-2.2)))))
 | 
					                               (canonical-package guile-2.2)))))
 | 
				
			||||||
          (run-with-store store
 | 
					            (run-with-store store
 | 
				
			||||||
            ;; Containers need a Bourne shell at /bin/sh.
 | 
					              ;; Containers need a Bourne shell at /bin/sh.
 | 
				
			||||||
            (mlet* %store-monad ((bash       (environment-bash container?
 | 
					              (mlet* %store-monad ((bash       (environment-bash container?
 | 
				
			||||||
                                                               bootstrap?
 | 
					                                                                 bootstrap?
 | 
				
			||||||
                                                               system))
 | 
					                                                                 system))
 | 
				
			||||||
                                 (prof-drv   (manifest->derivation
 | 
					                                   (prof-drv   (manifest->derivation
 | 
				
			||||||
                                              manifest system bootstrap?))
 | 
					                                                manifest system bootstrap?))
 | 
				
			||||||
                                 (profile -> (derivation->output-path prof-drv))
 | 
					                                   (profile -> (derivation->output-path prof-drv))
 | 
				
			||||||
                                 (gc-root -> (assoc-ref opts 'gc-root)))
 | 
					                                   (gc-root -> (assoc-ref opts 'gc-root)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              ;; First build the inputs.  This is necessary even for
 | 
					                ;; First build the inputs.  This is necessary even for
 | 
				
			||||||
              ;; --search-paths.  Additionally, we might need to build bash for
 | 
					                ;; --search-paths.  Additionally, we might need to build bash for
 | 
				
			||||||
              ;; a container.
 | 
					                ;; a container.
 | 
				
			||||||
              (mbegin %store-monad
 | 
					                (mbegin %store-monad
 | 
				
			||||||
                (build-environment (if (derivation? bash)
 | 
					                  (build-environment (if (derivation? bash)
 | 
				
			||||||
                                       (list prof-drv bash)
 | 
					                                         (list prof-drv bash)
 | 
				
			||||||
                                       (list prof-drv))
 | 
					                                         (list prof-drv))
 | 
				
			||||||
                                   opts)
 | 
					                                     opts)
 | 
				
			||||||
                (mwhen gc-root
 | 
					                  (mwhen gc-root
 | 
				
			||||||
                  (register-gc-root profile gc-root))
 | 
					                    (register-gc-root profile gc-root))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                (cond
 | 
					                  (cond
 | 
				
			||||||
                 ((assoc-ref opts 'dry-run?)
 | 
					                   ((assoc-ref opts 'dry-run?)
 | 
				
			||||||
                  (return #t))
 | 
					                    (return #t))
 | 
				
			||||||
                 ((assoc-ref opts 'search-paths)
 | 
					                   ((assoc-ref opts 'search-paths)
 | 
				
			||||||
                  (show-search-paths profile manifest #:pure? pure?)
 | 
					                    (show-search-paths profile manifest #:pure? pure?)
 | 
				
			||||||
                  (return #t))
 | 
					                    (return #t))
 | 
				
			||||||
                 (container?
 | 
					                   (container?
 | 
				
			||||||
                  (let ((bash-binary
 | 
					                    (let ((bash-binary
 | 
				
			||||||
                         (if bootstrap?
 | 
					                           (if bootstrap?
 | 
				
			||||||
                             bash
 | 
					                               bash
 | 
				
			||||||
                             (string-append (derivation->output-path bash)
 | 
					                               (string-append (derivation->output-path bash)
 | 
				
			||||||
                                            "/bin/sh"))))
 | 
					                                              "/bin/sh"))))
 | 
				
			||||||
                    (launch-environment/container #:command command
 | 
					                      (launch-environment/container #:command command
 | 
				
			||||||
                                                  #:bash bash-binary
 | 
					                                                    #:bash bash-binary
 | 
				
			||||||
                                                  #:user user
 | 
					                                                    #:user user
 | 
				
			||||||
                                                  #:user-mappings mappings
 | 
					                                                    #:user-mappings mappings
 | 
				
			||||||
                                                  #:profile profile
 | 
					                                                    #:profile profile
 | 
				
			||||||
                                                  #:manifest manifest
 | 
					                                                    #:manifest manifest
 | 
				
			||||||
                                                  #:link-profile? link-prof?
 | 
					                                                    #:link-profile? link-prof?
 | 
				
			||||||
                                                  #:network? network?)))
 | 
					                                                    #:network? network?)))
 | 
				
			||||||
                 (else
 | 
					                   (else
 | 
				
			||||||
                  (return
 | 
					                    (return
 | 
				
			||||||
                   (exit/status
 | 
					                     (exit/status
 | 
				
			||||||
                    (launch-environment/fork command profile manifest
 | 
					                      (launch-environment/fork command profile manifest
 | 
				
			||||||
                                             #:pure? pure?)))))))))))))
 | 
					                                               #:pure? pure?))))))))))))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,6 +25,7 @@
 | 
				
			||||||
  #:use-module (guix gexp)
 | 
					  #:use-module (guix gexp)
 | 
				
			||||||
  #:use-module (guix utils)
 | 
					  #:use-module (guix utils)
 | 
				
			||||||
  #:use-module (guix store)
 | 
					  #:use-module (guix store)
 | 
				
			||||||
 | 
					  #:use-module (guix status)
 | 
				
			||||||
  #:use-module (guix grafts)
 | 
					  #:use-module (guix grafts)
 | 
				
			||||||
  #:use-module (guix monads)
 | 
					  #:use-module (guix monads)
 | 
				
			||||||
  #:use-module (guix modules)
 | 
					  #:use-module (guix modules)
 | 
				
			||||||
| 
						 | 
					@ -538,6 +539,8 @@ please email '~a'~%")
 | 
				
			||||||
    (substitutes? . #t)
 | 
					    (substitutes? . #t)
 | 
				
			||||||
    (build-hook? . #t)
 | 
					    (build-hook? . #t)
 | 
				
			||||||
    (graft? . #t)
 | 
					    (graft? . #t)
 | 
				
			||||||
 | 
					    (print-build-trace? . #t)
 | 
				
			||||||
 | 
					    (print-extended-build-trace? . #t)
 | 
				
			||||||
    (verbosity . 0)
 | 
					    (verbosity . 0)
 | 
				
			||||||
    (symlinks . ())
 | 
					    (symlinks . ())
 | 
				
			||||||
    (compressor . ,(first %compressors))))
 | 
					    (compressor . ,(first %compressors))))
 | 
				
			||||||
| 
						 | 
					@ -684,72 +687,73 @@ Create a bundle of PACKAGE.\n"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (with-error-handling
 | 
					  (with-error-handling
 | 
				
			||||||
    (with-store store
 | 
					    (with-store store
 | 
				
			||||||
      ;; Set the build options before we do anything else.
 | 
					      (with-status-report print-build-event
 | 
				
			||||||
      (set-build-options-from-command-line store opts)
 | 
					        ;; Set the build options before we do anything else.
 | 
				
			||||||
 | 
					        (set-build-options-from-command-line store opts)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      (parameterize ((%graft? (assoc-ref opts 'graft?))
 | 
					        (parameterize ((%graft? (assoc-ref opts 'graft?))
 | 
				
			||||||
                     (%guile-for-build (package-derivation
 | 
					                       (%guile-for-build (package-derivation
 | 
				
			||||||
                                        store
 | 
					                                          store
 | 
				
			||||||
                                        (if (assoc-ref opts 'bootstrap?)
 | 
					                                          (if (assoc-ref opts 'bootstrap?)
 | 
				
			||||||
                                            %bootstrap-guile
 | 
					                                              %bootstrap-guile
 | 
				
			||||||
                                            (canonical-package guile-2.2))
 | 
					                                              (canonical-package guile-2.2))
 | 
				
			||||||
                                        (assoc-ref opts 'system)
 | 
					                                          (assoc-ref opts 'system)
 | 
				
			||||||
                                        #:graft? (assoc-ref opts 'graft?))))
 | 
					                                          #:graft? (assoc-ref opts 'graft?))))
 | 
				
			||||||
        (let* ((dry-run?    (assoc-ref opts 'dry-run?))
 | 
					          (let* ((dry-run?    (assoc-ref opts 'dry-run?))
 | 
				
			||||||
               (relocatable? (assoc-ref opts 'relocatable?))
 | 
					                 (relocatable? (assoc-ref opts 'relocatable?))
 | 
				
			||||||
               (manifest    (let ((manifest (manifest-from-args store opts)))
 | 
					                 (manifest    (let ((manifest (manifest-from-args store opts)))
 | 
				
			||||||
                              ;; Note: We cannot honor '--bootstrap' here because
 | 
					                                ;; Note: We cannot honor '--bootstrap' here because
 | 
				
			||||||
                              ;; 'glibc-bootstrap' lacks 'libc.a'.
 | 
					                                ;; 'glibc-bootstrap' lacks 'libc.a'.
 | 
				
			||||||
                              (if relocatable?
 | 
					                                (if relocatable?
 | 
				
			||||||
                                  (map-manifest-entries wrapped-package manifest)
 | 
					                                    (map-manifest-entries wrapped-package manifest)
 | 
				
			||||||
                                  manifest)))
 | 
					                                    manifest)))
 | 
				
			||||||
               (pack-format (assoc-ref opts 'format))
 | 
					                 (pack-format (assoc-ref opts 'format))
 | 
				
			||||||
               (name        (string-append (symbol->string pack-format)
 | 
					                 (name        (string-append (symbol->string pack-format)
 | 
				
			||||||
                                           "-pack"))
 | 
					                                             "-pack"))
 | 
				
			||||||
               (target      (assoc-ref opts 'target))
 | 
					                 (target      (assoc-ref opts 'target))
 | 
				
			||||||
               (bootstrap?  (assoc-ref opts 'bootstrap?))
 | 
					                 (bootstrap?  (assoc-ref opts 'bootstrap?))
 | 
				
			||||||
               (compressor  (if bootstrap?
 | 
					                 (compressor  (if bootstrap?
 | 
				
			||||||
                                bootstrap-xz
 | 
					                                  bootstrap-xz
 | 
				
			||||||
                                (assoc-ref opts 'compressor)))
 | 
					                                  (assoc-ref opts 'compressor)))
 | 
				
			||||||
               (archiver    (if (equal? pack-format 'squashfs)
 | 
					                 (archiver    (if (equal? pack-format 'squashfs)
 | 
				
			||||||
                                squashfs-tools-next
 | 
					                                  squashfs-tools-next
 | 
				
			||||||
                                (if bootstrap?
 | 
					                                  (if bootstrap?
 | 
				
			||||||
                                    %bootstrap-coreutils&co
 | 
					                                      %bootstrap-coreutils&co
 | 
				
			||||||
                                    tar)))
 | 
					                                      tar)))
 | 
				
			||||||
               (symlinks    (assoc-ref opts 'symlinks))
 | 
					                 (symlinks    (assoc-ref opts 'symlinks))
 | 
				
			||||||
               (build-image (match (assq-ref %formats pack-format)
 | 
					                 (build-image (match (assq-ref %formats pack-format)
 | 
				
			||||||
                              ((? procedure? proc) proc)
 | 
					                                ((? procedure? proc) proc)
 | 
				
			||||||
                              (#f
 | 
					                                (#f
 | 
				
			||||||
                               (leave (G_ "~a: unknown pack format~%")
 | 
					                                 (leave (G_ "~a: unknown pack format~%")
 | 
				
			||||||
                                      pack-format))))
 | 
					                                        pack-format))))
 | 
				
			||||||
               (localstatedir? (assoc-ref opts 'localstatedir?)))
 | 
					                 (localstatedir? (assoc-ref opts 'localstatedir?)))
 | 
				
			||||||
          (run-with-store store
 | 
					            (run-with-store store
 | 
				
			||||||
            (mlet* %store-monad ((profile (profile-derivation
 | 
					              (mlet* %store-monad ((profile (profile-derivation
 | 
				
			||||||
                                           manifest
 | 
					                                             manifest
 | 
				
			||||||
                                           #:relative-symlinks? relocatable?
 | 
					                                             #:relative-symlinks? relocatable?
 | 
				
			||||||
                                           #:hooks (if bootstrap?
 | 
					                                             #:hooks (if bootstrap?
 | 
				
			||||||
                                                       '()
 | 
					                                                         '()
 | 
				
			||||||
                                                       %default-profile-hooks)
 | 
					                                                         %default-profile-hooks)
 | 
				
			||||||
                                           #:locales? (not bootstrap?)
 | 
					                                             #:locales? (not bootstrap?)
 | 
				
			||||||
                                           #:target target))
 | 
					                                             #:target target))
 | 
				
			||||||
                                 (drv (build-image name profile
 | 
					                                   (drv (build-image name profile
 | 
				
			||||||
                                                   #:target
 | 
					                                                     #:target
 | 
				
			||||||
                                                   target
 | 
					                                                     target
 | 
				
			||||||
                                                   #:compressor
 | 
					                                                     #:compressor
 | 
				
			||||||
                                                   compressor
 | 
					                                                     compressor
 | 
				
			||||||
                                                   #:symlinks
 | 
					                                                     #:symlinks
 | 
				
			||||||
                                                   symlinks
 | 
					                                                     symlinks
 | 
				
			||||||
                                                   #:localstatedir?
 | 
					                                                     #:localstatedir?
 | 
				
			||||||
                                                   localstatedir?
 | 
					                                                     localstatedir?
 | 
				
			||||||
                                                   #:archiver
 | 
					                                                     #:archiver
 | 
				
			||||||
                                                   archiver)))
 | 
					                                                     archiver)))
 | 
				
			||||||
              (mbegin %store-monad
 | 
					                (mbegin %store-monad
 | 
				
			||||||
                (show-what-to-build* (list drv)
 | 
					                  (show-what-to-build* (list drv)
 | 
				
			||||||
                                     #:use-substitutes?
 | 
					                                       #:use-substitutes?
 | 
				
			||||||
                                     (assoc-ref opts 'substitutes?)
 | 
					                                       (assoc-ref opts 'substitutes?)
 | 
				
			||||||
                                     #:dry-run? dry-run?)
 | 
					                                       #:dry-run? dry-run?)
 | 
				
			||||||
                (munless dry-run?
 | 
					                  (munless dry-run?
 | 
				
			||||||
                  (built-derivations (list drv))
 | 
					                    (built-derivations (list drv))
 | 
				
			||||||
                  (return (format #t "~a~%"
 | 
					                    (return (format #t "~a~%"
 | 
				
			||||||
                                  (derivation->output-path drv))))))
 | 
					                                    (derivation->output-path drv))))))
 | 
				
			||||||
            #:system (assoc-ref opts 'system)))))))
 | 
					              #:system (assoc-ref opts 'system))))))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
Some files were not shown because too many files have changed in this diff Show more
		Reference in a new issue