Merge branch 'master' into staging
This commit is contained in:
		
						commit
						5f9b018aa8
					
				
					 68 changed files with 3058 additions and 1969 deletions
				
			
		
							
								
								
									
										105
									
								
								doc/guix.texi
									
										
									
									
									
								
							
							
						
						
									
										105
									
								
								doc/guix.texi
									
										
									
									
									
								
							| 
						 | 
					@ -30,7 +30,7 @@ Copyright @copyright{} 2016, 2017 ng0@*
 | 
				
			||||||
Copyright @copyright{} 2016, 2017 Jan Nieuwenhuizen@*
 | 
					Copyright @copyright{} 2016, 2017 Jan Nieuwenhuizen@*
 | 
				
			||||||
Copyright @copyright{} 2016 Julien Lepiller@*
 | 
					Copyright @copyright{} 2016 Julien Lepiller@*
 | 
				
			||||||
Copyright @copyright{} 2016 Alex ter Weele@*
 | 
					Copyright @copyright{} 2016 Alex ter Weele@*
 | 
				
			||||||
Copyright @copyright{} 2017 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 Carlo Zancanaro@*
 | 
				
			||||||
| 
						 | 
					@ -7231,6 +7231,15 @@ As an example, @var{file} might contain a definition like this
 | 
				
			||||||
@verbatiminclude environment-gdb.scm
 | 
					@verbatiminclude environment-gdb.scm
 | 
				
			||||||
@end example
 | 
					@end example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item --manifest=@var{file}
 | 
				
			||||||
 | 
					@itemx -m @var{file}
 | 
				
			||||||
 | 
					Create an environment for the packages contained in the manifest object
 | 
				
			||||||
 | 
					returned by the Scheme code in @var{file}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This is similar to the same-named option in @command{guix package}
 | 
				
			||||||
 | 
					(@pxref{profile-manifest, @option{--manifest}}) and uses the same
 | 
				
			||||||
 | 
					manifest files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@item --ad-hoc
 | 
					@item --ad-hoc
 | 
				
			||||||
Include all specified packages in the resulting environment, as if an
 | 
					Include all specified packages in the resulting environment, as if an
 | 
				
			||||||
@i{ad hoc} package were defined with them as inputs.  This option is
 | 
					@i{ad hoc} package were defined with them as inputs.  This option is
 | 
				
			||||||
| 
						 | 
					@ -11263,6 +11272,9 @@ The XAuth package to use.
 | 
				
			||||||
The Shepherd package used when invoking @command{halt} and
 | 
					The Shepherd package used when invoking @command{halt} and
 | 
				
			||||||
@command{reboot}.
 | 
					@command{reboot}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{sessreg} (default: @code{sessreg})
 | 
				
			||||||
 | 
					The sessreg package used in order to register the session.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@item @code{slim} (default: @code{slim})
 | 
					@item @code{slim} (default: @code{slim})
 | 
				
			||||||
The SLiM package to use.
 | 
					The SLiM package to use.
 | 
				
			||||||
@end table
 | 
					@end table
 | 
				
			||||||
| 
						 | 
					@ -15721,14 +15733,48 @@ signature.
 | 
				
			||||||
The certbot service automates this process: the initial key
 | 
					The certbot service automates this process: the initial key
 | 
				
			||||||
generation, the initial certification request to the Let's Encrypt
 | 
					generation, the initial certification request to the Let's Encrypt
 | 
				
			||||||
service, the web server challenge/response integration, writing the
 | 
					service, the web server challenge/response integration, writing the
 | 
				
			||||||
certificate to disk, and the automated periodic renewals.
 | 
					certificate to disk, the automated periodic renewals, and the deployment
 | 
				
			||||||
 | 
					tasks associated with the renewal (e.g. reloading services, copying keys
 | 
				
			||||||
 | 
					with different permissions).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Certbot is run twice a day, at a random minute within the hour.  It
 | 
				
			||||||
 | 
					won't do anything until your certificates are due for renewal or
 | 
				
			||||||
 | 
					revoked, but running it regularly would give your service a chance of
 | 
				
			||||||
 | 
					staying online in case a Let's Encrypt-initiated revocation happened for
 | 
				
			||||||
 | 
					some reason.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					By using this service, you agree to the ACME Subscriber Agreement, which
 | 
				
			||||||
 | 
					can be found there:
 | 
				
			||||||
 | 
					@url{https://acme-v01.api.letsencrypt.org/directory}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@defvr {Scheme Variable} certbot-service-type
 | 
					@defvr {Scheme Variable} certbot-service-type
 | 
				
			||||||
A service type for the @code{certbot} Let's Encrypt client.
 | 
					A service type for the @code{certbot} Let's Encrypt client.  Its value
 | 
				
			||||||
 | 
					must be a @code{certbot-configuration} record as in this example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@example
 | 
				
			||||||
 | 
					(define %nginx-deploy-hook
 | 
				
			||||||
 | 
					  (program-file
 | 
				
			||||||
 | 
					   "nginx-deploy-hook"
 | 
				
			||||||
 | 
					   #~(let ((pid (call-with-input-file "/var/run/nginx/pid" read)))
 | 
				
			||||||
 | 
					       (kill pid SIGHUP))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(service certbot-service-type
 | 
				
			||||||
 | 
					         (certbot-configuration
 | 
				
			||||||
 | 
					          (email "foo@@example.net")
 | 
				
			||||||
 | 
					          (certificates
 | 
				
			||||||
 | 
					           (list
 | 
				
			||||||
 | 
					            (certificate-configuration
 | 
				
			||||||
 | 
					             (domains '("example.net" "www.example.net"))
 | 
				
			||||||
 | 
					             (deploy-hook %nginx-deploy-hook))
 | 
				
			||||||
 | 
					            (certificate-configuration
 | 
				
			||||||
 | 
					             (domains '("bar.example.net")))))))
 | 
				
			||||||
 | 
					@end example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					See below for details about @code{certbot-configuration}.
 | 
				
			||||||
@end defvr
 | 
					@end defvr
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@deftp {Data Type} certbot-configuration
 | 
					@deftp {Data Type} certbot-configuration
 | 
				
			||||||
Data type representing the configuration of the @code{certbot} serice.
 | 
					Data type representing the configuration of the @code{certbot} service.
 | 
				
			||||||
This type has the following parameters:
 | 
					This type has the following parameters:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@table @asis
 | 
					@table @asis
 | 
				
			||||||
| 
						 | 
					@ -15739,16 +15785,24 @@ The certbot package to use.
 | 
				
			||||||
The directory from which to serve the Let's Encrypt challenge/response
 | 
					The directory from which to serve the Let's Encrypt challenge/response
 | 
				
			||||||
files.
 | 
					files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@item @code{hosts} (default: @code{()})
 | 
					@item @code{certificates} (default: @code{()})
 | 
				
			||||||
A list of hosts for which to generate certificates and request
 | 
					A list of @code{certificates-configuration}s for which to generate
 | 
				
			||||||
signatures.
 | 
					certificates and request signatures.  Each certificate has a @code{name}
 | 
				
			||||||
 | 
					and several @code{domains}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{email}
 | 
				
			||||||
 | 
					Mandatory email used for registration, recovery contact, and important
 | 
				
			||||||
 | 
					account notifications.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{rsa-key-size} (default: @code{2048})
 | 
				
			||||||
 | 
					Size of the RSA key.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@item @code{default-location} (default: @i{see below})
 | 
					@item @code{default-location} (default: @i{see below})
 | 
				
			||||||
The default @code{nginx-location-configuration}.  Because @code{certbot}
 | 
					The default @code{nginx-location-configuration}.  Because @code{certbot}
 | 
				
			||||||
needs to be able to serve challenges and responses, it needs to be able
 | 
					needs to be able to serve challenges and responses, it needs to be able
 | 
				
			||||||
to run a web server.  It does so by extending the @code{nginx} web
 | 
					to run a web server.  It does so by extending the @code{nginx} web
 | 
				
			||||||
service with an @code{nginx-server-configuration} listening on the
 | 
					service with an @code{nginx-server-configuration} listening on the
 | 
				
			||||||
@var{hosts} on port 80, and which has a
 | 
					@var{domains} on port 80, and which has a
 | 
				
			||||||
@code{nginx-location-configuration} for the @code{/.well-known/} URI
 | 
					@code{nginx-location-configuration} for the @code{/.well-known/} URI
 | 
				
			||||||
path subspace used by Let's Encrypt.  @xref{Web Services}, for more on
 | 
					path subspace used by Let's Encrypt.  @xref{Web Services}, for more on
 | 
				
			||||||
these nginx configuration data types.
 | 
					these nginx configuration data types.
 | 
				
			||||||
| 
						 | 
					@ -15758,19 +15812,44 @@ Requests to other URL paths will be matched by the
 | 
				
			||||||
@code{nginx-server-configuration}s.
 | 
					@code{nginx-server-configuration}s.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
By default, the @code{default-location} will issue a redirect from
 | 
					By default, the @code{default-location} will issue a redirect from
 | 
				
			||||||
@code{http://@var{host}/...} to @code{https://@var{host}/...}, leaving
 | 
					@code{http://@var{domain}/...} to @code{https://@var{domain}/...}, leaving
 | 
				
			||||||
you to define what to serve on your site via @code{https}.
 | 
					you to define what to serve on your site via @code{https}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Pass @code{#f} to not issue a default location.
 | 
					Pass @code{#f} to not issue a default location.
 | 
				
			||||||
@end table
 | 
					@end table
 | 
				
			||||||
@end deftp
 | 
					@end deftp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The public key and its signatures will be written to
 | 
					@deftp {Data Type} certificate-configuration
 | 
				
			||||||
@code{/etc/letsencrypt/live/@var{host}/fullchain.pem}, for each
 | 
					Data type representing the configuration of a certificate.
 | 
				
			||||||
@var{host} in the configuration.  The private key is written to
 | 
					This type has the following parameters:
 | 
				
			||||||
@code{/etc/letsencrypt/live/@var{host}/privkey.pem}.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@table @asis
 | 
				
			||||||
 | 
					@item @code{name} (default: @i{see below})
 | 
				
			||||||
 | 
					This name is used by Certbot for housekeeping and in file paths; it
 | 
				
			||||||
 | 
					doesn't affect the content of the certificate itself.  To see
 | 
				
			||||||
 | 
					certificate names, run @code{certbot certificates}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Its default is the first provided domain.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{domains} (default: @code{()})
 | 
				
			||||||
 | 
					The first domain provided will be the subject CN of the certificate, and
 | 
				
			||||||
 | 
					all domains will be Subject Alternative Names on the certificate.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@item @code{deploy-hook} (default: @code{#f})
 | 
				
			||||||
 | 
					Command to be run in a shell once for each successfully issued
 | 
				
			||||||
 | 
					certificate.  For this command, the shell variable
 | 
				
			||||||
 | 
					@code{$RENEWED_LINEAGE} will point to the config live subdirectory (for
 | 
				
			||||||
 | 
					example, @samp{"/etc/letsencrypt/live/example.com"}) containing the new
 | 
				
			||||||
 | 
					certificates and keys; the shell variable @code{$RENEWED_DOMAINS} will
 | 
				
			||||||
 | 
					contain a space-delimited list of renewed certificate domains (for
 | 
				
			||||||
 | 
					example, @samp{"example.com www.example.com"}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@end table
 | 
				
			||||||
 | 
					@end deftp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					For each @code{certificate-configuration}, the certificate is saved to
 | 
				
			||||||
 | 
					@code{/etc/letsencrypt/live/@var{name}/fullchain.pem} and the key is
 | 
				
			||||||
 | 
					saved to @code{/etc/letsencrypt/live/@var{name}/privkey.pem}.
 | 
				
			||||||
@node DNS Services
 | 
					@node DNS Services
 | 
				
			||||||
@subsubsection DNS Services
 | 
					@subsubsection DNS Services
 | 
				
			||||||
@cindex DNS (domain name system)
 | 
					@cindex DNS (domain name system)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
# GNU Guix --- Functional package management for GNU
 | 
					# GNU Guix --- Functional package management for GNU
 | 
				
			||||||
# Copyright © 2017 sharlatan <sharlatanus@gmail.com>
 | 
					# Copyright © 2017 sharlatan <sharlatanus@gmail.com>
 | 
				
			||||||
# Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 | 
					# Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 | 
				
			||||||
 | 
					# Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# This file is part of GNU Guix.
 | 
					# This file is part of GNU Guix.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
| 
						 | 
					@ -153,6 +154,9 @@ chk_sys_arch()
 | 
				
			||||||
        x86_64 | x86-64 | x64 | amd64)
 | 
					        x86_64 | x86-64 | x64 | amd64)
 | 
				
			||||||
            local arch=x86_64
 | 
					            local arch=x86_64
 | 
				
			||||||
            ;;
 | 
					            ;;
 | 
				
			||||||
 | 
					        aarch64)
 | 
				
			||||||
 | 
					            local arch=aarch64
 | 
				
			||||||
 | 
					            ;;
 | 
				
			||||||
        *)
 | 
					        *)
 | 
				
			||||||
            _err "${ERR}Unsupported CPU type: ${arch}"
 | 
					            _err "${ERR}Unsupported CPU type: ${arch}"
 | 
				
			||||||
            exit 1
 | 
					            exit 1
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										16
									
								
								gnu/local.mk
									
										
									
									
									
								
							
							
						
						
									
										16
									
								
								gnu/local.mk
									
										
									
									
									
								
							| 
						 | 
					@ -13,7 +13,7 @@
 | 
				
			||||||
# Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
					# Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
# Copyright © 2016, 2017 Jan Nieuwenhuizen <janneke@gnu.org>
 | 
					# Copyright © 2016, 2017 Jan Nieuwenhuizen <janneke@gnu.org>
 | 
				
			||||||
# Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					# Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
# Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 | 
					# Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 | 
				
			||||||
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
					# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
				
			||||||
# Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
 | 
					# Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
 | 
				
			||||||
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
 | 
					# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
 | 
				
			||||||
| 
						 | 
					@ -142,6 +142,7 @@ GNU_SYSTEM_MODULES =				\
 | 
				
			||||||
  %D%/packages/elixir.scm			\
 | 
					  %D%/packages/elixir.scm			\
 | 
				
			||||||
  %D%/packages/embedded.scm			\
 | 
					  %D%/packages/embedded.scm			\
 | 
				
			||||||
  %D%/packages/emacs.scm			\
 | 
					  %D%/packages/emacs.scm			\
 | 
				
			||||||
 | 
					  %D%/packages/emulators.scm			\
 | 
				
			||||||
  %D%/packages/enchant.scm			\
 | 
					  %D%/packages/enchant.scm			\
 | 
				
			||||||
  %D%/packages/engineering.scm			\
 | 
					  %D%/packages/engineering.scm			\
 | 
				
			||||||
  %D%/packages/enlightenment.scm		\
 | 
					  %D%/packages/enlightenment.scm		\
 | 
				
			||||||
| 
						 | 
					@ -248,6 +249,7 @@ GNU_SYSTEM_MODULES =				\
 | 
				
			||||||
  %D%/packages/libffcall.scm			\
 | 
					  %D%/packages/libffcall.scm			\
 | 
				
			||||||
  %D%/packages/libffi.scm			\
 | 
					  %D%/packages/libffi.scm			\
 | 
				
			||||||
  %D%/packages/libftdi.scm			\
 | 
					  %D%/packages/libftdi.scm			\
 | 
				
			||||||
 | 
					  %D%/packages/license.scm			\
 | 
				
			||||||
  %D%/packages/calendar.scm			\
 | 
					  %D%/packages/calendar.scm			\
 | 
				
			||||||
  %D%/packages/libidn.scm			\
 | 
					  %D%/packages/libidn.scm			\
 | 
				
			||||||
  %D%/packages/libphidget.scm			\
 | 
					  %D%/packages/libphidget.scm			\
 | 
				
			||||||
| 
						 | 
					@ -763,6 +765,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/heimdal-CVE-2017-11103.patch		\
 | 
					  %D%/packages/patches/heimdal-CVE-2017-11103.patch		\
 | 
				
			||||||
  %D%/packages/patches/hmmer-remove-cpu-specificity.patch	\
 | 
					  %D%/packages/patches/hmmer-remove-cpu-specificity.patch	\
 | 
				
			||||||
  %D%/packages/patches/higan-remove-march-native-flag.patch	\
 | 
					  %D%/packages/patches/higan-remove-march-native-flag.patch	\
 | 
				
			||||||
 | 
					  %D%/packages/patches/htop-fix-process-tree.patch		\
 | 
				
			||||||
  %D%/packages/patches/hubbub-sort-entities.patch		\
 | 
					  %D%/packages/patches/hubbub-sort-entities.patch		\
 | 
				
			||||||
  %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch        \
 | 
					  %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch        \
 | 
				
			||||||
  %D%/packages/patches/hwloc-tests-without-sysfs.patch		\
 | 
					  %D%/packages/patches/hwloc-tests-without-sysfs.patch		\
 | 
				
			||||||
| 
						 | 
					@ -801,9 +804,8 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch	\
 | 
					  %D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch	\
 | 
				
			||||||
  %D%/packages/patches/laby-make-install.patch			\
 | 
					  %D%/packages/patches/laby-make-install.patch			\
 | 
				
			||||||
  %D%/packages/patches/lcms-CVE-2016-10165.patch		\
 | 
					  %D%/packages/patches/lcms-CVE-2016-10165.patch		\
 | 
				
			||||||
  %D%/packages/patches/ldc-disable-tests.patch			\
 | 
					  %D%/packages/patches/ldc-bootstrap-disable-tests.patch	\
 | 
				
			||||||
  %D%/packages/patches/ldc-1.1.0-disable-dmd-tests.patch	\
 | 
					  %D%/packages/patches/ldc-1.7.0-disable-phobos-tests.patch	\
 | 
				
			||||||
  %D%/packages/patches/ldc-1.1.0-disable-phobos-tests.patch	\
 | 
					 | 
				
			||||||
  %D%/packages/patches/ledger-fix-uninitialized.patch		\
 | 
					  %D%/packages/patches/ledger-fix-uninitialized.patch		\
 | 
				
			||||||
  %D%/packages/patches/ledger-revert-boost-python-fix.patch	\
 | 
					  %D%/packages/patches/ledger-revert-boost-python-fix.patch	\
 | 
				
			||||||
  %D%/packages/patches/liba52-enable-pic.patch			\
 | 
					  %D%/packages/patches/liba52-enable-pic.patch			\
 | 
				
			||||||
| 
						 | 
					@ -948,7 +950,6 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/openssl-runpath.patch			\
 | 
					  %D%/packages/patches/openssl-runpath.patch			\
 | 
				
			||||||
  %D%/packages/patches/openssl-1.1.0-c-rehash-in.patch		\
 | 
					  %D%/packages/patches/openssl-1.1.0-c-rehash-in.patch		\
 | 
				
			||||||
  %D%/packages/patches/openssl-c-rehash-in.patch		\
 | 
					  %D%/packages/patches/openssl-c-rehash-in.patch		\
 | 
				
			||||||
  %D%/packages/patches/optipng-CVE-2017-1000229.patch		\
 | 
					 | 
				
			||||||
  %D%/packages/patches/orpheus-cast-errors-and-includes.patch	\
 | 
					  %D%/packages/patches/orpheus-cast-errors-and-includes.patch	\
 | 
				
			||||||
  %D%/packages/patches/osip-CVE-2017-7853.patch			\
 | 
					  %D%/packages/patches/osip-CVE-2017-7853.patch			\
 | 
				
			||||||
  %D%/packages/patches/ots-no-include-missing-file.patch	\
 | 
					  %D%/packages/patches/ots-no-include-missing-file.patch	\
 | 
				
			||||||
| 
						 | 
					@ -956,6 +957,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/p7zip-CVE-2016-9296.patch		\
 | 
					  %D%/packages/patches/p7zip-CVE-2016-9296.patch		\
 | 
				
			||||||
  %D%/packages/patches/p7zip-CVE-2017-17969.patch		\
 | 
					  %D%/packages/patches/p7zip-CVE-2017-17969.patch		\
 | 
				
			||||||
  %D%/packages/patches/p7zip-remove-unused-code.patch		\
 | 
					  %D%/packages/patches/p7zip-remove-unused-code.patch		\
 | 
				
			||||||
 | 
					  %D%/packages/patches/password-store-gnupg-compat.patch	\
 | 
				
			||||||
  %D%/packages/patches/patchelf-page-size.patch			\
 | 
					  %D%/packages/patches/patchelf-page-size.patch			\
 | 
				
			||||||
  %D%/packages/patches/patchelf-rework-for-arm.patch		\
 | 
					  %D%/packages/patches/patchelf-rework-for-arm.patch		\
 | 
				
			||||||
  %D%/packages/patches/patchutils-xfail-gendiff-tests.patch	\
 | 
					  %D%/packages/patches/patchutils-xfail-gendiff-tests.patch	\
 | 
				
			||||||
| 
						 | 
					@ -1044,8 +1046,6 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/python-unittest2-python3-compat.patch	\
 | 
					  %D%/packages/patches/python-unittest2-python3-compat.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-unittest2-remove-argparse.patch	\
 | 
					  %D%/packages/patches/python-unittest2-remove-argparse.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-waitress-fix-tests.patch		\
 | 
					  %D%/packages/patches/python-waitress-fix-tests.patch		\
 | 
				
			||||||
  %D%/packages/patches/qemu-CVE-2017-15038.patch		\
 | 
					 | 
				
			||||||
  %D%/packages/patches/qemu-CVE-2017-15289.patch		\
 | 
					 | 
				
			||||||
  %D%/packages/patches/qt4-ldflags.patch			\
 | 
					  %D%/packages/patches/qt4-ldflags.patch			\
 | 
				
			||||||
  %D%/packages/patches/qtbase-use-TZDIR.patch			\
 | 
					  %D%/packages/patches/qtbase-use-TZDIR.patch			\
 | 
				
			||||||
  %D%/packages/patches/qtscript-disable-tests.patch		\
 | 
					  %D%/packages/patches/qtscript-disable-tests.patch		\
 | 
				
			||||||
| 
						 | 
					@ -1141,6 +1141,8 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/vsearch-unbundle-cityhash.patch		\
 | 
					  %D%/packages/patches/vsearch-unbundle-cityhash.patch		\
 | 
				
			||||||
  %D%/packages/patches/vte-CVE-2012-2738-pt1.patch			\
 | 
					  %D%/packages/patches/vte-CVE-2012-2738-pt1.patch			\
 | 
				
			||||||
  %D%/packages/patches/vte-CVE-2012-2738-pt2.patch			\
 | 
					  %D%/packages/patches/vte-CVE-2012-2738-pt2.patch			\
 | 
				
			||||||
 | 
					  %D%/packages/patches/wavpack-CVE-2018-7253.patch		\
 | 
				
			||||||
 | 
					  %D%/packages/patches/wavpack-CVE-2018-7254.patch		\
 | 
				
			||||||
  %D%/packages/patches/weechat-python.patch			\
 | 
					  %D%/packages/patches/weechat-python.patch			\
 | 
				
			||||||
  %D%/packages/patches/wicd-bitrate-none-fix.patch		\
 | 
					  %D%/packages/patches/wicd-bitrate-none-fix.patch		\
 | 
				
			||||||
  %D%/packages/patches/wicd-get-selected-profile-fix.patch	\
 | 
					  %D%/packages/patches/wicd-get-selected-profile-fix.patch	\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -269,7 +269,8 @@ graphs and can export its output to different formats.")
 | 
				
			||||||
                  version "/htop-" version ".tar.gz"))
 | 
					                  version "/htop-" version ".tar.gz"))
 | 
				
			||||||
            (sha256
 | 
					            (sha256
 | 
				
			||||||
             (base32
 | 
					             (base32
 | 
				
			||||||
              "0j07z0xm2gj1vzvbgh4323k4db9mr7drd7gw95mmpqi61ncvwq1j"))))
 | 
					              "0j07z0xm2gj1vzvbgh4323k4db9mr7drd7gw95mmpqi61ncvwq1j"))
 | 
				
			||||||
 | 
					            (patches (search-patches "htop-fix-process-tree.patch"))))
 | 
				
			||||||
   (build-system gnu-build-system)
 | 
					   (build-system gnu-build-system)
 | 
				
			||||||
   (inputs
 | 
					   (inputs
 | 
				
			||||||
    `(("ncurses" ,ncurses)))
 | 
					    `(("ncurses" ,ncurses)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2377,6 +2377,8 @@ stretching and pitch scaling of audio.  This package contains the library.")
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "http://www.wavpack.com/"
 | 
					              (uri (string-append "http://www.wavpack.com/"
 | 
				
			||||||
                                  name "-" version ".tar.bz2"))
 | 
					                                  name "-" version ".tar.bz2"))
 | 
				
			||||||
 | 
					              (patches (search-patches "wavpack-CVE-2018-7253.patch"
 | 
				
			||||||
 | 
					                                       "wavpack-CVE-2018-7254.patch"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0i19c6krc0p9krwrqy9s5xahaafigqzxcn31piidmlaqadyn4f8r"))))
 | 
					                "0i19c6krc0p9krwrqy9s5xahaafigqzxcn31piidmlaqadyn4f8r"))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,7 +34,7 @@
 | 
				
			||||||
(define-public fio
 | 
					(define-public fio
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "fio")
 | 
					    (name "fio")
 | 
				
			||||||
    (version "3.4")
 | 
					    (version "3.5")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -42,7 +42,7 @@
 | 
				
			||||||
                       "fio-" version ".tar.bz2"))
 | 
					                       "fio-" version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "01dqvg5mgb4fh1jqqmi179k2rb517p4h4sr3mhlnd0alk1x12w8a"))))
 | 
					                "1rrzcrn07db4pffvi2q0d0k884bwcapx6r1rfv4yx9066snvx240"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:test-target "test"
 | 
					     '(#:test-target "test"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8111,7 +8111,7 @@ throughput genetic sequencing data sets using regression methods.")
 | 
				
			||||||
(define-public r-qtl
 | 
					(define-public r-qtl
 | 
				
			||||||
 (package
 | 
					 (package
 | 
				
			||||||
  (name "r-qtl")
 | 
					  (name "r-qtl")
 | 
				
			||||||
  (version "1.42-7")
 | 
					  (version "1.42-8")
 | 
				
			||||||
  (source
 | 
					  (source
 | 
				
			||||||
   (origin
 | 
					   (origin
 | 
				
			||||||
    (method url-fetch)
 | 
					    (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -8119,7 +8119,7 @@ throughput genetic sequencing data sets using regression methods.")
 | 
				
			||||||
                        version ".tar.gz"))
 | 
					                        version ".tar.gz"))
 | 
				
			||||||
    (sha256
 | 
					    (sha256
 | 
				
			||||||
     (base32
 | 
					     (base32
 | 
				
			||||||
      "0hxij8v4my5x4pf5fn5327g7m3n7vjkbzrl580vcmp81n3n3nmrx"))))
 | 
					      "1l528dwvfpdlr05imrrm4rq32axp6hld9nqm6mm43kn5n7z2f5k6"))))
 | 
				
			||||||
  (build-system r-build-system)
 | 
					  (build-system r-build-system)
 | 
				
			||||||
  (home-page "http://rqtl.org/")
 | 
					  (home-page "http://rqtl.org/")
 | 
				
			||||||
  (synopsis "R package for analyzing QTL experiments in genetics")
 | 
					  (synopsis "R package for analyzing QTL experiments in genetics")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -71,6 +71,22 @@
 | 
				
			||||||
     (base32
 | 
					     (base32
 | 
				
			||||||
      "0p2vhnc18cnbmb39vq4m7hzv4mhnm2l0a2s7gx3ar277fwng3hys"))))
 | 
					      "0p2vhnc18cnbmb39vq4m7hzv4mhnm2l0a2s7gx3ar277fwng3hys"))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; The GRUB test suite fails with later versions of Qemu, so we
 | 
				
			||||||
 | 
					;; keep it at 2.10 for now.  See
 | 
				
			||||||
 | 
					;; <https://lists.gnu.org/archive/html/bug-grub/2018-02/msg00004.html>.
 | 
				
			||||||
 | 
					;; TODO: When grub no longer needs this version, move to gnu/packages/debug.scm.
 | 
				
			||||||
 | 
					(define qemu-minimal-2.10
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (inherit qemu-minimal)
 | 
				
			||||||
 | 
					    (version "2.10.2")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method url-fetch)
 | 
				
			||||||
 | 
					              (uri (string-append "https://download.qemu.org/qemu-"
 | 
				
			||||||
 | 
					                                  version ".tar.xz"))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "17w21spvaxaidi2am5lpsln8yjpyp2zi3s3gc6nsxj5arlgamzgw"))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public grub
 | 
					(define-public grub
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "grub")
 | 
					    (name "grub")
 | 
				
			||||||
| 
						 | 
					@ -144,7 +160,7 @@
 | 
				
			||||||
       ;; Dependencies for the test suite.  The "real" QEMU is needed here,
 | 
					       ;; Dependencies for the test suite.  The "real" QEMU is needed here,
 | 
				
			||||||
       ;; because several targets are used.
 | 
					       ;; because several targets are used.
 | 
				
			||||||
       ("parted" ,parted)
 | 
					       ("parted" ,parted)
 | 
				
			||||||
       ("qemu" ,qemu-minimal)
 | 
					       ("qemu" ,qemu-minimal-2.10)
 | 
				
			||||||
       ("xorriso" ,xorriso)))
 | 
					       ("xorriso" ,xorriso)))
 | 
				
			||||||
    (home-page "https://www.gnu.org/software/grub/")
 | 
					    (home-page "https://www.gnu.org/software/grub/")
 | 
				
			||||||
    (synopsis "GRand Unified Boot loader")
 | 
					    (synopsis "GRand Unified Boot loader")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
 | 
					;;; Copyright © 2014 John Darrington <jmd@gnu.org>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -41,26 +42,26 @@
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:parallel-build? #f ; There are some nasty racy rules in the Makefile.
 | 
					     `(#:parallel-build? #f ; There are some nasty racy rules in the Makefile.
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (alist-cons-before
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
        'configure 'pre-conf
 | 
					         (add-before 'configure 'pre-conf
 | 
				
			||||||
        (lambda _
 | 
					           (lambda _
 | 
				
			||||||
          (substitute* (append '("common/env.c")
 | 
					             (substitute* (append '("common/env.c")
 | 
				
			||||||
                               (find-files "test" "\\.sh"))
 | 
					                                  (find-files "test" "\\.sh"))
 | 
				
			||||||
            (("/bin/sh") (which "sh")))
 | 
					               (("/bin/sh") (which "sh")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          ;; Guix's binutils (because it wants bit-reproducable builds) is
 | 
					             ;; Guix's binutils (because it wants bit-reproducable builds) is
 | 
				
			||||||
          ;; is configured with the  --enable-deterministic-archives flag.
 | 
					             ;; is configured with the  --enable-deterministic-archives flag.
 | 
				
			||||||
          ;; This means the timestamp of files appended to an ar archive
 | 
					             ;; This means the timestamp of files appended to an ar archive
 | 
				
			||||||
          ;; are automatically and silently mutated to 00:00 1 Jan 1970
 | 
					             ;; are automatically and silently mutated to 00:00 1 Jan 1970
 | 
				
			||||||
          ;; which plays havoc with this test, for which correct timestamps
 | 
					             ;; which plays havoc with this test, for which correct timestamps
 | 
				
			||||||
          ;; are very important. Adding the U flag undoes the effect of
 | 
					             ;; are very important. Adding the U flag undoes the effect of
 | 
				
			||||||
          ;; --enable-deterministic-archives and allows this test to work
 | 
					             ;; --enable-deterministic-archives and allows this test to work
 | 
				
			||||||
          ;; again.
 | 
					             ;; again.
 | 
				
			||||||
          (substitute* "test/00/t0077a.sh"
 | 
					             (substitute* "test/00/t0077a.sh"
 | 
				
			||||||
            (("ar qc") "ar qcU"))
 | 
					               (("ar qc") "ar qcU"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          (setenv "SH" (which "sh")))
 | 
					             (setenv "SH" (which "sh"))
 | 
				
			||||||
        %standard-phases)))
 | 
					             #t)))))
 | 
				
			||||||
    (native-inputs `(("bison" ,bison)
 | 
					    (native-inputs `(("bison" ,bison)
 | 
				
			||||||
                     ;; For building the documentation:
 | 
					                     ;; For building the documentation:
 | 
				
			||||||
                     ("groff" ,groff)
 | 
					                     ("groff" ,groff)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1109,14 +1109,14 @@ methods.")
 | 
				
			||||||
(define-public r-timedate
 | 
					(define-public r-timedate
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-timedate")
 | 
					    (name "r-timedate")
 | 
				
			||||||
    (version "3042.101")
 | 
					    (version "3043.102")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (cran-uri "timeDate" version))
 | 
					       (uri (cran-uri "timeDate" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0vcckaw1gqz3j4v69r9jn41vlmk5a5c7572xam1nl75ki5v4r3bc"))))
 | 
					         "0wvl5pq261rvbgly7vilk3x3m9xk3ly6il1i5scwdf6srl1vlz1p"))))
 | 
				
			||||||
    (properties `((upstream-name . "timeDate")))
 | 
					    (properties `((upstream-name . "timeDate")))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (home-page "https://www.rmetrics.org")
 | 
					    (home-page "https://www.rmetrics.org")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,6 +8,7 @@
 | 
				
			||||||
;;; Copyright © 2016, 2017 Eric Bavier <bavier@member.fsf.org>
 | 
					;;; Copyright © 2016, 2017 Eric Bavier <bavier@member.fsf.org>
 | 
				
			||||||
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
 | 
					;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
 | 
				
			||||||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -663,3 +664,49 @@ that are faster than MD5, SHA-1, SHA-2, and SHA-3, yet are at least as secure
 | 
				
			||||||
as the latest standard, SHA-3.  It is an improved version of the SHA-3 finalist
 | 
					as the latest standard, SHA-3.  It is an improved version of the SHA-3 finalist
 | 
				
			||||||
BLAKE.")
 | 
					BLAKE.")
 | 
				
			||||||
      (license license:public-domain))))
 | 
					      (license license:public-domain))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public rhash
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "rhash")
 | 
				
			||||||
 | 
					    (version "1.3.5")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://github.com/rhash/RHash/archive/v"
 | 
				
			||||||
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
 | 
					       (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "0bhz3xdl6r06k1bqigdjz42l31iqz2qdpg7zk316i7p2ra56iq4q"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:make-flags (list "CC=gcc"
 | 
				
			||||||
 | 
					                          (string-append "PREFIX=" %output))
 | 
				
			||||||
 | 
					       #:test-target "test"
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (replace 'configure
 | 
				
			||||||
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (substitute* "Makefile"
 | 
				
			||||||
 | 
					               (("\\$\\(DESTDIR\\)/etc")
 | 
				
			||||||
 | 
					                (string-append (assoc-ref outputs "out") "/etc")))
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
 | 
					         (add-after 'build 'build-library
 | 
				
			||||||
 | 
					           (lambda* (#:key make-flags #:allow-other-keys)
 | 
				
			||||||
 | 
					             (apply invoke "make" "lib-shared" make-flags)))
 | 
				
			||||||
 | 
					         (add-after 'install 'install-library
 | 
				
			||||||
 | 
					           (lambda* (#:key make-flags #:allow-other-keys)
 | 
				
			||||||
 | 
					             (apply invoke "make" "install-lib-shared" make-flags)
 | 
				
			||||||
 | 
					             (apply invoke
 | 
				
			||||||
 | 
					                    "make" "-C" "librhash" "install-headers"
 | 
				
			||||||
 | 
					                    "install-so-link" make-flags)))
 | 
				
			||||||
 | 
					         (add-after 'check 'check-library
 | 
				
			||||||
 | 
					           (lambda* (#:key make-flags #:allow-other-keys)
 | 
				
			||||||
 | 
					             (apply invoke "make" "test-shared-lib" make-flags))))))
 | 
				
			||||||
 | 
					    (home-page "https://sourceforge.net/projects/rhash/")
 | 
				
			||||||
 | 
					    (synopsis "Utility for computing hash sums")
 | 
				
			||||||
 | 
					    (description "RHash is a console utility for calculation and verification
 | 
				
			||||||
 | 
					of magnet links and a wide range of hash sums like CRC32, MD4, MD5, SHA1,
 | 
				
			||||||
 | 
					SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R
 | 
				
			||||||
 | 
					34.11-94, RIPEMD-160, HAS-160, EDON-R, Whirlpool and Snefru.")
 | 
				
			||||||
 | 
					    (license (license:non-copyleft "file://COPYING"))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -169,7 +169,7 @@ tools that process C/C++ code.")
 | 
				
			||||||
      (inputs
 | 
					      (inputs
 | 
				
			||||||
       `(("custom-qemu"
 | 
					       `(("custom-qemu"
 | 
				
			||||||
          ;; The afl-qemu tool builds qemu 2.10.0 with a few patches applied.
 | 
					          ;; The afl-qemu tool builds qemu 2.10.0 with a few patches applied.
 | 
				
			||||||
          ,(package (inherit qemu-minimal)
 | 
					          ,(package (inherit (@@ (gnu packages bootloaders) qemu-minimal-2.10))
 | 
				
			||||||
             (name "afl-qemu")
 | 
					             (name "afl-qemu")
 | 
				
			||||||
             (inputs
 | 
					             (inputs
 | 
				
			||||||
              `(("afl-src" ,source)
 | 
					              `(("afl-src" ,source)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,6 +4,7 @@
 | 
				
			||||||
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
 | 
					;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
 | 
				
			||||||
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
 | 
					;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
 | 
				
			||||||
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
 | 
					;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -74,7 +75,7 @@
 | 
				
			||||||
(define-public calibre
 | 
					(define-public calibre
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "calibre")
 | 
					    (name "calibre")
 | 
				
			||||||
    (version "3.11.1")
 | 
					    (version "3.17.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
      (origin
 | 
					      (origin
 | 
				
			||||||
        (method url-fetch)
 | 
					        (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -83,7 +84,7 @@
 | 
				
			||||||
                            version ".tar.xz"))
 | 
					                            version ".tar.xz"))
 | 
				
			||||||
        (sha256
 | 
					        (sha256
 | 
				
			||||||
         (base32
 | 
					         (base32
 | 
				
			||||||
          "0kwza7iyyyfhq476z5fk9962iyd0qpgmzm1k36nqcy8sfjbk8mrl"))
 | 
					          "1w6hw1s0d4daa4q2ykzhxdndiq61l8z7ls7rxh7k7p62ia0i5sxp"))
 | 
				
			||||||
        ;; Remove non-free or doubtful code, see
 | 
					        ;; Remove non-free or doubtful code, see
 | 
				
			||||||
        ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
 | 
					        ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
 | 
				
			||||||
        (modules '((guix build utils)))
 | 
					        (modules '((guix build utils)))
 | 
				
			||||||
| 
						 | 
					@ -175,7 +176,8 @@
 | 
				
			||||||
              (substitute* "setup/build_environment.py"
 | 
					              (substitute* "setup/build_environment.py"
 | 
				
			||||||
                (("sys.prefix") (string-append "'" pyqt "'")))
 | 
					                (("sys.prefix") (string-append "'" pyqt "'")))
 | 
				
			||||||
              (setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo"))
 | 
					              (setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo"))
 | 
				
			||||||
              (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib")))))
 | 
					              (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"))
 | 
				
			||||||
 | 
					              #t)))
 | 
				
			||||||
         (add-after 'install 'install-font-liberation
 | 
					         (add-after 'install 'install-font-liberation
 | 
				
			||||||
           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
					           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
             (for-each (lambda (file)
 | 
					             (for-each (lambda (file)
 | 
				
			||||||
| 
						 | 
					@ -194,11 +196,11 @@
 | 
				
			||||||
             #t)))))
 | 
					             #t)))))
 | 
				
			||||||
    (home-page "http://calibre-ebook.com/")
 | 
					    (home-page "http://calibre-ebook.com/")
 | 
				
			||||||
    (synopsis "E-book library management software")
 | 
					    (synopsis "E-book library management software")
 | 
				
			||||||
    (description "Calibre is an ebook library manager.  It can view, convert
 | 
					    (description "Calibre is an e-book library manager.  It can view, convert
 | 
				
			||||||
and catalog ebooks in most of the major ebook formats.  It can also talk
 | 
					and catalog e-books in most of the major e-book formats.  It can also talk
 | 
				
			||||||
to many ebook reader devices.  It can go out to the Internet and fetch
 | 
					to many e-book reader devices.  It can go out to the Internet and fetch
 | 
				
			||||||
metadata for books.  It can download newspapers and convert them into
 | 
					metadata for books.  It can download newspapers and convert them into
 | 
				
			||||||
ebooks for convenient reading.")
 | 
					e-books for convenient reading.")
 | 
				
			||||||
    ;; Calibre is largely GPL3+, but includes a number of components covered
 | 
					    ;; Calibre is largely GPL3+, but includes a number of components covered
 | 
				
			||||||
    ;; by other licenses. See COPYRIGHT for more details.
 | 
					    ;; by other licenses. See COPYRIGHT for more details.
 | 
				
			||||||
    (license (list license:gpl3+
 | 
					    (license (list license:gpl3+
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3844,6 +3844,26 @@ strings, and code folding.")
 | 
				
			||||||
in Emacs.")
 | 
					in Emacs.")
 | 
				
			||||||
    (license license:gpl3+)))
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public emacs-edit-indirect
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "emacs-edit-indirect")
 | 
				
			||||||
 | 
					    (version "0.1.4")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://github.com/Fanael/edit-indirect/archive/"
 | 
				
			||||||
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
 | 
					       (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "07kr58rd1p5j764wminsssazr73hy51yw8iqcsv5z2dwgj7msv71"))))
 | 
				
			||||||
 | 
					    (build-system emacs-build-system)
 | 
				
			||||||
 | 
					    (home-page "https://github.com/Fanael/edit-indirect")
 | 
				
			||||||
 | 
					    (synopsis "Edit regions in separate buffers")
 | 
				
			||||||
 | 
					    (description "This package allows you to edit regions in separate buffers,
 | 
				
			||||||
 | 
					like @code{org-edit-src-code} but for arbitrary regions.")
 | 
				
			||||||
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public emacs-projectile
 | 
					(define-public emacs-projectile
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "emacs-projectile")
 | 
					    (name "emacs-projectile")
 | 
				
			||||||
| 
						 | 
					@ -4266,6 +4286,52 @@ are pretty much the same (and SLIME served as the principle inspiration for
 | 
				
			||||||
CIDER).")
 | 
					CIDER).")
 | 
				
			||||||
    (license license:gpl3+)))
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; There hasn't been a tag or release since 2015, so we take the latest
 | 
				
			||||||
 | 
					;; commit.
 | 
				
			||||||
 | 
					(define-public emacs-sly
 | 
				
			||||||
 | 
					  (let ((commit "486bfbe95612bcdc0960c490207970a188e0fbb9")
 | 
				
			||||||
 | 
					        (revision "1"))
 | 
				
			||||||
 | 
					    (package
 | 
				
			||||||
 | 
					      (name "emacs-sly")
 | 
				
			||||||
 | 
					      (version (string-append "1.0.0-" revision "." (string-take commit 9)))
 | 
				
			||||||
 | 
					      (source
 | 
				
			||||||
 | 
					       (origin
 | 
				
			||||||
 | 
					         (method git-fetch)
 | 
				
			||||||
 | 
					         (uri (git-reference
 | 
				
			||||||
 | 
					               (url "https://github.com/joaotavora/sly.git")
 | 
				
			||||||
 | 
					               (commit commit)))
 | 
				
			||||||
 | 
					         (sha256
 | 
				
			||||||
 | 
					          (base32
 | 
				
			||||||
 | 
					           "0ib4q4k3h3qn88pymyjjmlmnpizdn1mfg5gpk5a715nqsgxlg09l"))))
 | 
				
			||||||
 | 
					      (build-system emacs-build-system)
 | 
				
			||||||
 | 
					      (arguments
 | 
				
			||||||
 | 
					       `(#:include (cons "^lib\\/" %default-include)
 | 
				
			||||||
 | 
					         #:phases
 | 
				
			||||||
 | 
					         ;; The package provides autoloads.
 | 
				
			||||||
 | 
					         (modify-phases %standard-phases
 | 
				
			||||||
 | 
					           (delete 'make-autoloads))))
 | 
				
			||||||
 | 
					      (home-page "https://github.com/joaotavora/sly")
 | 
				
			||||||
 | 
					      (synopsis "Sylvester the Cat's Common Lisp IDE")
 | 
				
			||||||
 | 
					      (description
 | 
				
			||||||
 | 
					       "SLY is Sylvester the Cat's Common Lisp IDE.  SLY is a fork of SLIME, and
 | 
				
			||||||
 | 
					contains the following improvements over it:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@enumerate
 | 
				
			||||||
 | 
					@item Completely redesigned REPL based on Emacs's own full-featured
 | 
				
			||||||
 | 
					  @code{comint.el}
 | 
				
			||||||
 | 
					@item Live code annotations via a new @code{sly-stickers} contrib
 | 
				
			||||||
 | 
					@item Consistent interactive button interface.  Everything can be copied to
 | 
				
			||||||
 | 
					  the REPL.
 | 
				
			||||||
 | 
					@item Multiple inspectors with independent history
 | 
				
			||||||
 | 
					@item Regexp-capable @code{M-x sly-apropos}
 | 
				
			||||||
 | 
					@item Contribs are first class SLY citizens and enabled by default
 | 
				
			||||||
 | 
					@item Use ASDF to loads contribs on demand.
 | 
				
			||||||
 | 
					@end enumerate
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SLY tracks SLIME's bugfixes and all its familar features (debugger, inspector,
 | 
				
			||||||
 | 
					xref, etc...) are still available, but with better integration.")
 | 
				
			||||||
 | 
					      (license license:gpl3+))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public emacs-lua-mode
 | 
					(define-public emacs-lua-mode
 | 
				
			||||||
  (let ((commit "652e299cb967fccca827dda381d61a9c144d97de")
 | 
					  (let ((commit "652e299cb967fccca827dda381d61a9c144d97de")
 | 
				
			||||||
        (revision "1"))
 | 
					        (revision "1"))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1111
									
								
								gnu/packages/emulators.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1111
									
								
								gnu/packages/emulators.scm
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
 | 
					;;; Copyright © 2013 John Darrington <jmd@gnu.org>
 | 
				
			||||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 | 
					;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 | 
				
			||||||
;;; Copyright © 2014, 2015, 2016 David Thompson <dthompson2@worcester.edu>
 | 
					;;; Copyright © 2014, 2016 David Thompson <dthompson2@worcester.edu>
 | 
				
			||||||
;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
 | 
					;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
 | 
				
			||||||
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
 | 
					;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
 | 
				
			||||||
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
 | 
					;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
 | 
				
			||||||
| 
						 | 
					@ -14,9 +14,7 @@
 | 
				
			||||||
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 | 
					;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 | 
				
			||||||
;;; Copyright © 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
 | 
					;;; Copyright © 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
 | 
				
			||||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 | 
					;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 | 
				
			||||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 | 
					 | 
				
			||||||
;;; Copyright © 2016, 2017 Rodger Fox <thylakoid@openmailbox.org>
 | 
					;;; Copyright © 2016, 2017 Rodger Fox <thylakoid@openmailbox.org>
 | 
				
			||||||
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
 | 
					 | 
				
			||||||
;;; Copyright © 2016, 2017, 2018 ng0 <ng0@n0.is>
 | 
					;;; Copyright © 2016, 2017, 2018 ng0 <ng0@n0.is>
 | 
				
			||||||
;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
 | 
					;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
 | 
				
			||||||
;;; Copyright © 2016, 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
 | 
					;;; Copyright © 2016, 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
 | 
				
			||||||
| 
						 | 
					@ -1619,69 +1617,6 @@ interactive fiction, also known as text adventures, which were implemented
 | 
				
			||||||
either by Infocom or created using the Inform compiler.")
 | 
					either by Infocom or created using the Inform compiler.")
 | 
				
			||||||
    (license license:bsd-3)))
 | 
					    (license license:bsd-3)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public retroarch
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "retroarch")
 | 
					 | 
				
			||||||
    (version "1.7.1")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append "https://github.com/libretro/RetroArch/archive/v"
 | 
					 | 
				
			||||||
                           version ".tar.gz"))
 | 
					 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32 "0fdribjfc5zz9brzhqcxw6m76kvyg13l67aiigszv4wsjd5j3gpz"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     '(#:tests? #f                      ; no tests
 | 
					 | 
				
			||||||
       #:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					 | 
				
			||||||
         (replace 'configure
 | 
					 | 
				
			||||||
           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
					 | 
				
			||||||
             (let* ((out (assoc-ref outputs "out"))
 | 
					 | 
				
			||||||
                    (etc (string-append out "/etc"))
 | 
					 | 
				
			||||||
                    (vulkan (assoc-ref inputs "vulkan-icd-loader")))
 | 
					 | 
				
			||||||
               ;; Hard-code the path to libvulkan.so.
 | 
					 | 
				
			||||||
               (substitute* "gfx/common/vulkan_common.c"
 | 
					 | 
				
			||||||
                 (("libvulkan.so") (string-append vulkan "/lib/libvulkan.so")))
 | 
					 | 
				
			||||||
               (substitute* "qb/qb.libs.sh"
 | 
					 | 
				
			||||||
                 (("/bin/true") (which "true")))
 | 
					 | 
				
			||||||
               ;; The configure script does not yet accept the extra arguments
 | 
					 | 
				
			||||||
               ;; (like ‘CONFIG_SHELL=’) passed by the default configure phase.
 | 
					 | 
				
			||||||
               (zero? (system*
 | 
					 | 
				
			||||||
                       "./configure"
 | 
					 | 
				
			||||||
                       (string-append "--prefix=" out)
 | 
					 | 
				
			||||||
                       (string-append "--global-config-dir=" etc)))))))))
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("alsa-lib" ,alsa-lib)
 | 
					 | 
				
			||||||
       ("ffmpeg" ,ffmpeg)
 | 
					 | 
				
			||||||
       ("freetype" ,freetype)
 | 
					 | 
				
			||||||
       ("libxinerama" ,libxinerama)
 | 
					 | 
				
			||||||
       ("libxkbcommon" ,libxkbcommon)
 | 
					 | 
				
			||||||
       ("libxml2" ,libxml2)
 | 
					 | 
				
			||||||
       ("libxv" ,libxv)
 | 
					 | 
				
			||||||
       ("mesa" ,mesa)
 | 
					 | 
				
			||||||
       ("openal" ,openal)
 | 
					 | 
				
			||||||
       ("pulseaudio" ,pulseaudio)
 | 
					 | 
				
			||||||
       ("python" ,python)
 | 
					 | 
				
			||||||
       ("sdl" ,sdl2)
 | 
					 | 
				
			||||||
       ("udev" ,eudev)
 | 
					 | 
				
			||||||
       ("vulkan-icd-loader" ,vulkan-icd-loader)
 | 
					 | 
				
			||||||
       ("wayland", wayland)
 | 
					 | 
				
			||||||
       ("zlib" ,zlib)))
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					 | 
				
			||||||
       ("which" ,which)))
 | 
					 | 
				
			||||||
    (home-page "https://www.libretro.com/")
 | 
					 | 
				
			||||||
    (synopsis "Reference frontend for the libretro API")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "Libretro is a simple but powerful development interface that allows for
 | 
					 | 
				
			||||||
the easy creation of emulators, games and multimedia applications that can plug
 | 
					 | 
				
			||||||
straight into any libretro-compatible frontend.  RetroArch is the official
 | 
					 | 
				
			||||||
reference frontend for the libretro API, currently used by most as a modular
 | 
					 | 
				
			||||||
multi-system game/emulator system.")
 | 
					 | 
				
			||||||
    (license license:gpl3+)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public gnugo
 | 
					(define-public gnugo
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "gnugo")
 | 
					    (name "gnugo")
 | 
				
			||||||
| 
						 | 
					@ -1922,48 +1857,6 @@ next campaign.")
 | 
				
			||||||
    (description "This package contains a dedicated server for @emph{The
 | 
					    (description "This package contains a dedicated server for @emph{The
 | 
				
			||||||
Battle for Wesnoth}.")))
 | 
					Battle for Wesnoth}.")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public dosbox
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "dosbox")
 | 
					 | 
				
			||||||
    (version "0.74.svn3947")
 | 
					 | 
				
			||||||
    (source (origin
 | 
					 | 
				
			||||||
              (method svn-fetch)
 | 
					 | 
				
			||||||
              (uri (svn-reference
 | 
					 | 
				
			||||||
                    (url "http://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk/")
 | 
					 | 
				
			||||||
                    (revision 3947)))
 | 
					 | 
				
			||||||
              (file-name (string-append name "-" version "-checkout"))
 | 
					 | 
				
			||||||
              ;; Use SVN head, since the last release (2010) is incompatible
 | 
					 | 
				
			||||||
              ;; with GCC 4.8+ (see
 | 
					 | 
				
			||||||
              ;; <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=624976>).
 | 
					 | 
				
			||||||
              (sha256
 | 
					 | 
				
			||||||
               (base32
 | 
					 | 
				
			||||||
                "1p918j6090d1nkvgq7ifvmn506zrdmyi32y7p3ms40d5ssqjg8fj"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     `(#:phases (modify-phases %standard-phases
 | 
					 | 
				
			||||||
                  (add-after
 | 
					 | 
				
			||||||
                   'unpack 'autogen.sh
 | 
					 | 
				
			||||||
                   (lambda _
 | 
					 | 
				
			||||||
                     (zero? (system* "sh" "autogen.sh")))))))
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					 | 
				
			||||||
     `(("autoconf" ,autoconf)
 | 
					 | 
				
			||||||
       ("automake" ,automake)))
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("sdl" ,sdl)
 | 
					 | 
				
			||||||
       ("libpng" ,libpng)
 | 
					 | 
				
			||||||
       ("zlib" ,zlib)
 | 
					 | 
				
			||||||
       ("alsa-lib" ,alsa-lib)
 | 
					 | 
				
			||||||
       ("glu" ,glu)
 | 
					 | 
				
			||||||
       ("mesa" ,mesa)))
 | 
					 | 
				
			||||||
    (home-page "http://www.dosbox.com")
 | 
					 | 
				
			||||||
    (synopsis "X86 emulator with CGA/EGA/VGA/etc. graphics and sound")
 | 
					 | 
				
			||||||
    (description "DOSBox is a DOS-emulator that uses the SDL library.  DOSBox
 | 
					 | 
				
			||||||
also emulates CPU:286/386 realmode/protected mode, Directory
 | 
					 | 
				
			||||||
FileSystem/XMS/EMS, Tandy/Hercules/CGA/EGA/VGA/VESA graphics, a
 | 
					 | 
				
			||||||
SoundBlaster/Gravis Ultra Sound card for excellent sound compatibility with
 | 
					 | 
				
			||||||
older games.")
 | 
					 | 
				
			||||||
    (license license:gpl2+)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public gamine
 | 
					(define-public gamine
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "gamine")
 | 
					    (name "gamine")
 | 
				
			||||||
| 
						 | 
					@ -2082,638 +1975,6 @@ world}, @uref{http://evolonline.org, Evol Online} and
 | 
				
			||||||
    ;; The rest is under GPL2+.
 | 
					    ;; The rest is under GPL2+.
 | 
				
			||||||
    (license (list license:gpl2+ license:zlib license:cc-by-sa4.0))))
 | 
					    (license (list license:gpl2+ license:zlib license:cc-by-sa4.0))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public mupen64plus-core
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "mupen64plus-core")
 | 
					 | 
				
			||||||
    (version "2.5")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://github.com/mupen64plus/mupen64plus-core/archive/"
 | 
					 | 
				
			||||||
             version ".tar.gz"))
 | 
					 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32 "0dg2hksm5qni2hcha93k7n4fqr92888p946f7phb0ndschzfh9kk"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					 | 
				
			||||||
       ("which" ,which)))
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("freetype" ,freetype)
 | 
					 | 
				
			||||||
       ("glu" ,glu)
 | 
					 | 
				
			||||||
       ("libpng" ,libpng)
 | 
					 | 
				
			||||||
       ("mesa" ,mesa)
 | 
					 | 
				
			||||||
       ("sdl2" ,sdl2)
 | 
					 | 
				
			||||||
       ("zlib" ,zlib)))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     '(#:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					 | 
				
			||||||
         ;; The mupen64plus build system has no configure phase.
 | 
					 | 
				
			||||||
         (delete 'configure)
 | 
					 | 
				
			||||||
         ;; Makefile is in a subdirectory.
 | 
					 | 
				
			||||||
         (add-before
 | 
					 | 
				
			||||||
          'build 'cd-to-project-dir
 | 
					 | 
				
			||||||
          (lambda _
 | 
					 | 
				
			||||||
            (chdir "projects/unix"))))
 | 
					 | 
				
			||||||
       #:make-flags (let ((out (assoc-ref %outputs "out")))
 | 
					 | 
				
			||||||
                      (list "all" (string-append "PREFIX=" out)))
 | 
					 | 
				
			||||||
       ;; There are no tests.
 | 
					 | 
				
			||||||
       #:tests? #f))
 | 
					 | 
				
			||||||
    ;; As per the Makefile (in projects/unix/Makefile):
 | 
					 | 
				
			||||||
    (supported-systems '("i686-linux" "x86_64-linux"))
 | 
					 | 
				
			||||||
    (home-page "http://www.mupen64plus.org/")
 | 
					 | 
				
			||||||
    (synopsis "Nintendo 64 emulator core library")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
 | 
					 | 
				
			||||||
which is capable of accurately playing many games.  This package contains the
 | 
					 | 
				
			||||||
core library.")
 | 
					 | 
				
			||||||
    (license license:gpl2+)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public mupen64plus-audio-sdl
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "mupen64plus-audio-sdl")
 | 
					 | 
				
			||||||
    (version "2.5")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://github.com/mupen64plus/mupen64plus-audio-sdl/archive/"
 | 
					 | 
				
			||||||
             version ".tar.gz"))
 | 
					 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32 "0ss6w92n2rpfnazhg9lbq0nvs3fqx93nliz3k3wjxdlx4dpi7h3a"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					 | 
				
			||||||
       ("which" ,which)))
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("mupen64plus-core" ,mupen64plus-core)
 | 
					 | 
				
			||||||
       ("sdl2" ,sdl2)))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     '(#:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					 | 
				
			||||||
         ;; The mupen64plus build system has no configure phase.
 | 
					 | 
				
			||||||
         (delete 'configure)
 | 
					 | 
				
			||||||
         ;; Makefile is in a subdirectory.
 | 
					 | 
				
			||||||
         (add-before
 | 
					 | 
				
			||||||
          'build 'cd-to-project-dir
 | 
					 | 
				
			||||||
          (lambda _
 | 
					 | 
				
			||||||
            (chdir "projects/unix"))))
 | 
					 | 
				
			||||||
       #:make-flags
 | 
					 | 
				
			||||||
       (let ((out (assoc-ref %outputs "out"))
 | 
					 | 
				
			||||||
             (m64p (assoc-ref %build-inputs "mupen64plus-core")))
 | 
					 | 
				
			||||||
         (list "all"
 | 
					 | 
				
			||||||
               (string-append "PREFIX=" out)
 | 
					 | 
				
			||||||
               (string-append "APIDIR=" m64p "/include/mupen64plus")))
 | 
					 | 
				
			||||||
       ;; There are no tests.
 | 
					 | 
				
			||||||
       #:tests? #f))
 | 
					 | 
				
			||||||
    (home-page "http://www.mupen64plus.org/")
 | 
					 | 
				
			||||||
    (synopsis "Mupen64Plus SDL input plugin")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
 | 
					 | 
				
			||||||
which is capable of accurately playing many games.  This package contains the
 | 
					 | 
				
			||||||
SDL audio plugin.")
 | 
					 | 
				
			||||||
    (license license:gpl2+)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public mupen64plus-input-sdl
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "mupen64plus-input-sdl")
 | 
					 | 
				
			||||||
    (version "2.5")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://github.com/mupen64plus/mupen64plus-input-sdl/archive/"
 | 
					 | 
				
			||||||
             version ".tar.gz"))
 | 
					 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32 "11sj5dbalp2nrlmki34vy7wy28vc175pnnkdk65p8599hnyq37ri"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					 | 
				
			||||||
     `(("which" ,which)))
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("mupen64plus-core" ,mupen64plus-core)
 | 
					 | 
				
			||||||
       ("sdl2" ,sdl2)))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     '(#:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					 | 
				
			||||||
         ;; The mupen64plus build system has no configure phase.
 | 
					 | 
				
			||||||
         (delete 'configure)
 | 
					 | 
				
			||||||
         ;; Makefile is in a subdirectory.
 | 
					 | 
				
			||||||
         (add-before
 | 
					 | 
				
			||||||
          'build 'cd-to-project-dir
 | 
					 | 
				
			||||||
          (lambda _
 | 
					 | 
				
			||||||
            (chdir "projects/unix"))))
 | 
					 | 
				
			||||||
       #:make-flags
 | 
					 | 
				
			||||||
       (let ((out (assoc-ref %outputs "out"))
 | 
					 | 
				
			||||||
             (m64p (assoc-ref %build-inputs "mupen64plus-core")))
 | 
					 | 
				
			||||||
         (list "all"
 | 
					 | 
				
			||||||
               (string-append "PREFIX=" out)
 | 
					 | 
				
			||||||
               (string-append "APIDIR=" m64p "/include/mupen64plus")))
 | 
					 | 
				
			||||||
       ;; There are no tests.
 | 
					 | 
				
			||||||
       #:tests? #f))
 | 
					 | 
				
			||||||
    (home-page "http://www.mupen64plus.org/")
 | 
					 | 
				
			||||||
    (synopsis "Mupen64Plus SDL input plugin")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
 | 
					 | 
				
			||||||
which is capable of accurately playing many games.  This package contains the
 | 
					 | 
				
			||||||
SDL input plugin.")
 | 
					 | 
				
			||||||
    (license license:gpl2+)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public mupen64plus-rsp-hle
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "mupen64plus-rsp-hle")
 | 
					 | 
				
			||||||
    (version "2.5")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://github.com/mupen64plus/mupen64plus-rsp-hle/archive/"
 | 
					 | 
				
			||||||
             version ".tar.gz"))
 | 
					 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32 "15h7mgz6xd2zjzm6l3f96sbs8kwr3xvbwzgikhnka79m6c69hsxv"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("mupen64plus-core" ,mupen64plus-core)))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     '(#:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					 | 
				
			||||||
         ;; The mupen64plus build system has no configure phase.
 | 
					 | 
				
			||||||
         (delete 'configure)
 | 
					 | 
				
			||||||
         ;; Makefile is in a subdirectory.
 | 
					 | 
				
			||||||
         (add-before
 | 
					 | 
				
			||||||
          'build 'cd-to-project-dir
 | 
					 | 
				
			||||||
          (lambda _
 | 
					 | 
				
			||||||
            (chdir "projects/unix"))))
 | 
					 | 
				
			||||||
       #:make-flags
 | 
					 | 
				
			||||||
       (let ((out (assoc-ref %outputs "out"))
 | 
					 | 
				
			||||||
             (m64p (assoc-ref %build-inputs "mupen64plus-core")))
 | 
					 | 
				
			||||||
         (list "all"
 | 
					 | 
				
			||||||
               (string-append "PREFIX=" out)
 | 
					 | 
				
			||||||
               (string-append "APIDIR=" m64p "/include/mupen64plus")))
 | 
					 | 
				
			||||||
       ;; There are no tests.
 | 
					 | 
				
			||||||
       #:tests? #f))
 | 
					 | 
				
			||||||
    (home-page "http://www.mupen64plus.org/")
 | 
					 | 
				
			||||||
    (synopsis "Mupen64Plus SDL input plugin")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
 | 
					 | 
				
			||||||
which is capable of accurately playing many games.  This package contains the
 | 
					 | 
				
			||||||
high-level emulation (HLE) RSP processor plugin.")
 | 
					 | 
				
			||||||
    (license license:gpl2+)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public mupen64plus-rsp-z64
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "mupen64plus-rsp-z64")
 | 
					 | 
				
			||||||
    (version "2.0.0")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://github.com/mupen64plus/mupen64plus-rsp-z64/archive/"
 | 
					 | 
				
			||||||
             version ".tar.gz"))
 | 
					 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32 "10jz1w2dhx5slhyk4m8mdqlpsd6cshchslr1fckb2ayzb1ls3ghi"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("mupen64plus-core" ,mupen64plus-core)))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     '(#:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					 | 
				
			||||||
         ;; The mupen64plus build system has no configure phase.
 | 
					 | 
				
			||||||
         (delete 'configure)
 | 
					 | 
				
			||||||
         ;; Makefile is in a subdirectory.
 | 
					 | 
				
			||||||
         (add-before
 | 
					 | 
				
			||||||
          'build 'cd-to-project-dir
 | 
					 | 
				
			||||||
          (lambda _
 | 
					 | 
				
			||||||
            (chdir "projects/unix"))))
 | 
					 | 
				
			||||||
       #:make-flags
 | 
					 | 
				
			||||||
       (let ((out (assoc-ref %outputs "out"))
 | 
					 | 
				
			||||||
             (m64p (assoc-ref %build-inputs "mupen64plus-core")))
 | 
					 | 
				
			||||||
         (list "all"
 | 
					 | 
				
			||||||
               (string-append "PREFIX=" out)
 | 
					 | 
				
			||||||
               (string-append "APIDIR=" m64p "/include/mupen64plus")))
 | 
					 | 
				
			||||||
       ;; There are no tests.
 | 
					 | 
				
			||||||
       #:tests? #f))
 | 
					 | 
				
			||||||
    (home-page "http://www.mupen64plus.org/")
 | 
					 | 
				
			||||||
    (synopsis "Mupen64Plus SDL input plugin")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
 | 
					 | 
				
			||||||
which is capable of accurately playing many games.  This package contains the
 | 
					 | 
				
			||||||
Z64 RSP processor plugin.")
 | 
					 | 
				
			||||||
    (license license:gpl2+)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public mupen64plus-video-arachnoid
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "mupen64plus-video-arachnoid")
 | 
					 | 
				
			||||||
    (version "2.0.0")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://github.com/mupen64plus/mupen64plus-video-arachnoid/archive/"
 | 
					 | 
				
			||||||
             version ".tar.gz"))
 | 
					 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32 "0jjwf144rihznm4lnqbhgigxw664v3v32wy94adaa6imk8z6gslh"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					 | 
				
			||||||
       ("which" ,which)))
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("mesa" ,mesa)
 | 
					 | 
				
			||||||
       ("mupen64plus-core" ,mupen64plus-core)))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     '(#:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					 | 
				
			||||||
         ;; The mupen64plus build system has no configure phase.
 | 
					 | 
				
			||||||
         (delete 'configure)
 | 
					 | 
				
			||||||
         ;; Makefile is in a subdirectory.
 | 
					 | 
				
			||||||
         (add-before
 | 
					 | 
				
			||||||
          'build 'cd-to-project-dir
 | 
					 | 
				
			||||||
          (lambda _
 | 
					 | 
				
			||||||
            (chdir "projects/unix"))))
 | 
					 | 
				
			||||||
       #:make-flags
 | 
					 | 
				
			||||||
       (let ((out (assoc-ref %outputs "out"))
 | 
					 | 
				
			||||||
             (m64p (assoc-ref %build-inputs "mupen64plus-core")))
 | 
					 | 
				
			||||||
         (list "all"
 | 
					 | 
				
			||||||
               (string-append "PREFIX=" out)
 | 
					 | 
				
			||||||
               (string-append "APIDIR=" m64p "/include/mupen64plus")))
 | 
					 | 
				
			||||||
       ;; There are no tests.
 | 
					 | 
				
			||||||
       #:tests? #f))
 | 
					 | 
				
			||||||
    (home-page "http://www.mupen64plus.org/")
 | 
					 | 
				
			||||||
    (synopsis "Mupen64Plus Rice Video plugin")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
 | 
					 | 
				
			||||||
which is capable of accurately playing many games.  This package contains the
 | 
					 | 
				
			||||||
Arachnoid video plugin.")
 | 
					 | 
				
			||||||
    (license license:gpl2+)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public mupen64plus-video-glide64
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "mupen64plus-video-glide64")
 | 
					 | 
				
			||||||
    (version "2.0.0")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://github.com/mupen64plus/mupen64plus-video-glide64/archive/"
 | 
					 | 
				
			||||||
             version ".tar.gz"))
 | 
					 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32 "1rm55dbf6xgsq1blbzs6swa2ajv0qkn38acbljj346abnk6s3dla"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					 | 
				
			||||||
       ("which" ,which)))
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("mesa" ,mesa)
 | 
					 | 
				
			||||||
       ("mupen64plus-core" ,mupen64plus-core)
 | 
					 | 
				
			||||||
       ("sdl2" ,sdl2)))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     '(#:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					 | 
				
			||||||
         ;; The mupen64plus build system has no configure phase.
 | 
					 | 
				
			||||||
         (delete 'configure)
 | 
					 | 
				
			||||||
         ;; Makefile is in a subdirectory.
 | 
					 | 
				
			||||||
         (add-before
 | 
					 | 
				
			||||||
          'build 'cd-to-project-dir
 | 
					 | 
				
			||||||
          (lambda _
 | 
					 | 
				
			||||||
            (chdir "projects/unix")))
 | 
					 | 
				
			||||||
         ;; XXX Should be unnecessary with the next release.
 | 
					 | 
				
			||||||
         (add-before
 | 
					 | 
				
			||||||
          'build 'use-sdl2
 | 
					 | 
				
			||||||
          (lambda _
 | 
					 | 
				
			||||||
            (substitute* "Makefile"
 | 
					 | 
				
			||||||
              (("SDL_CONFIG = (.*)sdl-config" all prefix)
 | 
					 | 
				
			||||||
               (string-append "SDL_CONFIG = " prefix "sdl2-config"))))))
 | 
					 | 
				
			||||||
       #:make-flags
 | 
					 | 
				
			||||||
       (let ((out (assoc-ref %outputs "out"))
 | 
					 | 
				
			||||||
             (m64p (assoc-ref %build-inputs "mupen64plus-core")))
 | 
					 | 
				
			||||||
         (list "all"
 | 
					 | 
				
			||||||
               (string-append "PREFIX=" out)
 | 
					 | 
				
			||||||
               (string-append "APIDIR=" m64p "/include/mupen64plus")))
 | 
					 | 
				
			||||||
       ;; There are no tests.
 | 
					 | 
				
			||||||
       #:tests? #f))
 | 
					 | 
				
			||||||
    (home-page "http://www.mupen64plus.org/")
 | 
					 | 
				
			||||||
    (synopsis "Mupen64Plus Rice Video plugin")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
 | 
					 | 
				
			||||||
which is capable of accurately playing many games.  This package contains the
 | 
					 | 
				
			||||||
Glide64 video plugin.")
 | 
					 | 
				
			||||||
    (license license:gpl2+)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public mupen64plus-video-glide64mk2
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "mupen64plus-video-glide64mk2")
 | 
					 | 
				
			||||||
    (version "2.5")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://github.com/mupen64plus/mupen64plus-video-glide64mk2/archive/"
 | 
					 | 
				
			||||||
             version ".tar.gz"))
 | 
					 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32 "1ihl4q293d6svba26b4mhapjcdg12p90gibz79b4mx423jlcxxj9"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					 | 
				
			||||||
       ("which" ,which)))
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("boost" ,boost)
 | 
					 | 
				
			||||||
       ("libpng" ,libpng)
 | 
					 | 
				
			||||||
       ("mesa" ,mesa)
 | 
					 | 
				
			||||||
       ("mupen64plus-core" ,mupen64plus-core)
 | 
					 | 
				
			||||||
       ("sdl2" ,sdl2)
 | 
					 | 
				
			||||||
       ("zlib" ,zlib)))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     '(#:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					 | 
				
			||||||
         ;; The mupen64plus build system has no configure phase.
 | 
					 | 
				
			||||||
         (delete 'configure)
 | 
					 | 
				
			||||||
         ;; Makefile is in a subdirectory.
 | 
					 | 
				
			||||||
         (add-before
 | 
					 | 
				
			||||||
          'build 'cd-to-project-dir
 | 
					 | 
				
			||||||
          (lambda _
 | 
					 | 
				
			||||||
            (chdir "projects/unix"))))
 | 
					 | 
				
			||||||
       #:make-flags
 | 
					 | 
				
			||||||
       (let ((out (assoc-ref %outputs "out"))
 | 
					 | 
				
			||||||
             (m64p (assoc-ref %build-inputs "mupen64plus-core")))
 | 
					 | 
				
			||||||
         (list "all"
 | 
					 | 
				
			||||||
               (string-append "PREFIX=" out)
 | 
					 | 
				
			||||||
               (string-append "APIDIR=" m64p "/include/mupen64plus")))
 | 
					 | 
				
			||||||
       ;; There are no tests.
 | 
					 | 
				
			||||||
       #:tests? #f))
 | 
					 | 
				
			||||||
    (home-page "http://www.mupen64plus.org/")
 | 
					 | 
				
			||||||
    (synopsis "Mupen64Plus Rice Video plugin")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
 | 
					 | 
				
			||||||
which is capable of accurately playing many games.  This package contains the
 | 
					 | 
				
			||||||
Glide64MK2 video plugin.")
 | 
					 | 
				
			||||||
    (license license:gpl2+)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public mupen64plus-video-rice
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "mupen64plus-video-rice")
 | 
					 | 
				
			||||||
    (version "2.5")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://github.com/mupen64plus/mupen64plus-video-rice/archive/"
 | 
					 | 
				
			||||||
             version ".tar.gz"))
 | 
					 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32 "0rd2scjmh285w61aj3mgx71whg5rqrjbry3cdgicczrnyvf8wdvk"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					 | 
				
			||||||
       ("which" ,which)))
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("libpng" ,libpng)
 | 
					 | 
				
			||||||
       ("mesa" ,mesa)
 | 
					 | 
				
			||||||
       ("mupen64plus-core" ,mupen64plus-core)
 | 
					 | 
				
			||||||
       ("sdl2" ,sdl2)))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     '(#:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					 | 
				
			||||||
         ;; The mupen64plus build system has no configure phase.
 | 
					 | 
				
			||||||
         (delete 'configure)
 | 
					 | 
				
			||||||
         ;; Makefile is in a subdirectory.
 | 
					 | 
				
			||||||
         (add-before
 | 
					 | 
				
			||||||
          'build 'cd-to-project-dir
 | 
					 | 
				
			||||||
          (lambda _
 | 
					 | 
				
			||||||
            (chdir "projects/unix"))))
 | 
					 | 
				
			||||||
       #:make-flags
 | 
					 | 
				
			||||||
       (let ((out (assoc-ref %outputs "out"))
 | 
					 | 
				
			||||||
             (m64p (assoc-ref %build-inputs "mupen64plus-core")))
 | 
					 | 
				
			||||||
         (list "all"
 | 
					 | 
				
			||||||
               (string-append "PREFIX=" out)
 | 
					 | 
				
			||||||
               (string-append "APIDIR=" m64p "/include/mupen64plus")))
 | 
					 | 
				
			||||||
       ;; There are no tests.
 | 
					 | 
				
			||||||
       #:tests? #f))
 | 
					 | 
				
			||||||
    (home-page "http://www.mupen64plus.org/")
 | 
					 | 
				
			||||||
    (synopsis "Mupen64Plus Rice Video plugin")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
 | 
					 | 
				
			||||||
which is capable of accurately playing many games.  This package contains the
 | 
					 | 
				
			||||||
Rice Video plugin.")
 | 
					 | 
				
			||||||
    (license license:gpl2+)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public mupen64plus-video-z64
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "mupen64plus-video-z64")
 | 
					 | 
				
			||||||
    (version "2.0.0")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://github.com/mupen64plus/mupen64plus-video-z64/archive/"
 | 
					 | 
				
			||||||
             version ".tar.gz"))
 | 
					 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32 "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					 | 
				
			||||||
       ("which" ,which)))
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("glew" ,glew)
 | 
					 | 
				
			||||||
       ("mupen64plus-core" ,mupen64plus-core)
 | 
					 | 
				
			||||||
       ("sdl2" ,sdl2)))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     '(#:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					 | 
				
			||||||
         ;; The mupen64plus build system has no configure phase.
 | 
					 | 
				
			||||||
         (delete 'configure)
 | 
					 | 
				
			||||||
         ;; Makefile is in a subdirectory.
 | 
					 | 
				
			||||||
         (add-before
 | 
					 | 
				
			||||||
          'build 'cd-to-project-dir
 | 
					 | 
				
			||||||
          (lambda _
 | 
					 | 
				
			||||||
            (chdir "projects/unix")))
 | 
					 | 
				
			||||||
         ;; XXX Should be unnecessary with the next release.
 | 
					 | 
				
			||||||
         (add-before
 | 
					 | 
				
			||||||
          'build 'use-sdl2
 | 
					 | 
				
			||||||
          (lambda _
 | 
					 | 
				
			||||||
            (substitute* "Makefile"
 | 
					 | 
				
			||||||
              (("SDL_CONFIG = (.*)sdl-config" all prefix)
 | 
					 | 
				
			||||||
               (string-append "SDL_CONFIG = " prefix "sdl2-config"))))))
 | 
					 | 
				
			||||||
       #:make-flags
 | 
					 | 
				
			||||||
       (let ((out (assoc-ref %outputs "out"))
 | 
					 | 
				
			||||||
             (m64p (assoc-ref %build-inputs "mupen64plus-core")))
 | 
					 | 
				
			||||||
         (list "all"
 | 
					 | 
				
			||||||
               (string-append "PREFIX=" out)
 | 
					 | 
				
			||||||
               (string-append "APIDIR=" m64p "/include/mupen64plus")))
 | 
					 | 
				
			||||||
       ;; There are no tests.
 | 
					 | 
				
			||||||
       #:tests? #f))
 | 
					 | 
				
			||||||
    (home-page "http://www.mupen64plus.org/")
 | 
					 | 
				
			||||||
    (synopsis "Mupen64Plus Z64 video plugin")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
 | 
					 | 
				
			||||||
which is capable of accurately playing many games.  This package contains the
 | 
					 | 
				
			||||||
Z64 video plugin.")
 | 
					 | 
				
			||||||
    (license license:gpl2+)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public mupen64plus-ui-console
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "mupen64plus-ui-console")
 | 
					 | 
				
			||||||
    (version "2.5")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://github.com/mupen64plus/mupen64plus-ui-console/archive/"
 | 
					 | 
				
			||||||
             version ".tar.gz"))
 | 
					 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32 "04qkpd8ic7xsgnqz7spl00wxdygf79m7d1k8rabbygjk5lg6p8z2"))
 | 
					 | 
				
			||||||
       (patches (search-patches "mupen64plus-ui-console-notice.patch"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					 | 
				
			||||||
       ("which" ,which)))
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("sdl2" ,sdl2)))
 | 
					 | 
				
			||||||
    ;; Mupen64Plus supports a single data directory and a single plugin
 | 
					 | 
				
			||||||
    ;; directory in its configuration, yet we need data and plugin files from
 | 
					 | 
				
			||||||
    ;; a variety of packages.  The best way to deal with this is to install
 | 
					 | 
				
			||||||
    ;; all packages from which data and plugin files are needed into one's
 | 
					 | 
				
			||||||
    ;; profile, and point the configuration there.  Hence, propagate the most
 | 
					 | 
				
			||||||
    ;; important packages here to save the user from the bother.  The patch
 | 
					 | 
				
			||||||
    ;; mupen64plus-ui-console-notice also gives users instructions on what
 | 
					 | 
				
			||||||
    ;; they need to do in order to point the configuration to their profile.
 | 
					 | 
				
			||||||
    (propagated-inputs
 | 
					 | 
				
			||||||
     `(("mupen64plus-core" ,mupen64plus-core)
 | 
					 | 
				
			||||||
       ("mupen64plus-audio-sdl" ,mupen64plus-audio-sdl)
 | 
					 | 
				
			||||||
       ("mupen64plus-input-sdl" ,mupen64plus-input-sdl)
 | 
					 | 
				
			||||||
       ("mupen64plus-rsp-hle" ,mupen64plus-rsp-hle)
 | 
					 | 
				
			||||||
       ("mupen64plus-video-glide64" ,mupen64plus-video-glide64)
 | 
					 | 
				
			||||||
       ("mupen64plus-video-glide64mk2" ,mupen64plus-video-glide64mk2)
 | 
					 | 
				
			||||||
       ("mupen64plus-video-rice" ,mupen64plus-video-rice)))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     '(#:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					 | 
				
			||||||
         ;; The mupen64plus build system has no configure phase.
 | 
					 | 
				
			||||||
         (delete 'configure)
 | 
					 | 
				
			||||||
         ;; Makefile is in a subdirectory.
 | 
					 | 
				
			||||||
         (add-before
 | 
					 | 
				
			||||||
          'build 'cd-to-project-dir
 | 
					 | 
				
			||||||
          (lambda _
 | 
					 | 
				
			||||||
            (chdir "projects/unix"))))
 | 
					 | 
				
			||||||
       #:make-flags
 | 
					 | 
				
			||||||
       (let ((out (assoc-ref %outputs "out"))
 | 
					 | 
				
			||||||
             (m64p (assoc-ref %build-inputs "mupen64plus-core")))
 | 
					 | 
				
			||||||
         (list "all"
 | 
					 | 
				
			||||||
               (string-append "PREFIX=" out)
 | 
					 | 
				
			||||||
               (string-append "APIDIR=" m64p "/include/mupen64plus")
 | 
					 | 
				
			||||||
               ;; Trailing slash matters here.
 | 
					 | 
				
			||||||
               (string-append "COREDIR=" m64p "/lib/")))
 | 
					 | 
				
			||||||
       ;; There are no tests.
 | 
					 | 
				
			||||||
       #:tests? #f))
 | 
					 | 
				
			||||||
    (home-page "http://www.mupen64plus.org/")
 | 
					 | 
				
			||||||
    (synopsis "Mupen64Plus SDL input plugin")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "Mupen64Plus is a cross-platform plugin-based Nintendo 64 (N64) emulator
 | 
					 | 
				
			||||||
which is capable of accurately playing many games.  This package contains the
 | 
					 | 
				
			||||||
command line user interface.  Installing this package is the easiest way
 | 
					 | 
				
			||||||
towards a working Mupen64Plus for casual users.")
 | 
					 | 
				
			||||||
    (license license:gpl2+)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public nestopia-ue
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "nestopia-ue")
 | 
					 | 
				
			||||||
    (version "1.47")
 | 
					 | 
				
			||||||
    (source (origin
 | 
					 | 
				
			||||||
              (method url-fetch)
 | 
					 | 
				
			||||||
              (uri (string-append
 | 
					 | 
				
			||||||
                    "https://github.com/rdanbrook/nestopia/archive/"
 | 
					 | 
				
			||||||
                    version ".tar.gz"))
 | 
					 | 
				
			||||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
              (sha256
 | 
					 | 
				
			||||||
               (base32
 | 
					 | 
				
			||||||
                "1dzrrjmvyqks64q5l5pfly80jb6qcsbj5b3dm40fijd5xnpbapci"))
 | 
					 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					 | 
				
			||||||
              (snippet
 | 
					 | 
				
			||||||
               '(begin
 | 
					 | 
				
			||||||
                  ;; We don't need libretro for the GNU/Linux build.
 | 
					 | 
				
			||||||
                  (delete-file-recursively "libretro")
 | 
					 | 
				
			||||||
                  ;; Use system zlib.
 | 
					 | 
				
			||||||
                  (delete-file-recursively "source/zlib")
 | 
					 | 
				
			||||||
                  (substitute* "source/core/NstZlib.cpp"
 | 
					 | 
				
			||||||
                    (("#include \"../zlib/zlib.h\"") "#include <zlib.h>"))))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					 | 
				
			||||||
     `(("pkg-config" ,pkg-config)))
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("ao" ,ao)
 | 
					 | 
				
			||||||
       ("glu" ,glu)
 | 
					 | 
				
			||||||
       ("gtk+" ,gtk+)
 | 
					 | 
				
			||||||
       ("libarchive" ,libarchive)
 | 
					 | 
				
			||||||
       ("mesa" ,mesa)
 | 
					 | 
				
			||||||
       ("sdl2" ,sdl2)
 | 
					 | 
				
			||||||
       ("zlib" ,zlib)))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     '(#:phases
 | 
					 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					 | 
				
			||||||
         ;; The Nestopia build system consists solely of a Makefile.
 | 
					 | 
				
			||||||
         (delete 'configure)
 | 
					 | 
				
			||||||
         (add-before 'build 'remove-xdg-desktop-menu-call
 | 
					 | 
				
			||||||
           (lambda _
 | 
					 | 
				
			||||||
             (substitute* "Makefile"
 | 
					 | 
				
			||||||
               (("xdg-desktop-menu install .*") ""))))
 | 
					 | 
				
			||||||
         (add-before 'build 'remove-gdkwayland-include
 | 
					 | 
				
			||||||
           (lambda _
 | 
					 | 
				
			||||||
             (substitute* "source/unix/gtkui/gtkui.h"
 | 
					 | 
				
			||||||
               (("#include <gdk/gdkwayland\\.h>") "")))))
 | 
					 | 
				
			||||||
       #:make-flags (let ((out (assoc-ref %outputs "out")))
 | 
					 | 
				
			||||||
                      (list "CC=gcc" "CXX=g++" (string-append "PREFIX=" out)))
 | 
					 | 
				
			||||||
       ;; There are no tests.
 | 
					 | 
				
			||||||
       #:tests? #f))
 | 
					 | 
				
			||||||
    (home-page "http://0ldsk00l.ca/nestopia/")
 | 
					 | 
				
			||||||
    (synopsis "Nintendo Entertainment System (NES/Famicom) emulator")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "Nestopia UE (Undead Edition) is a fork of the Nintendo Entertainment
 | 
					 | 
				
			||||||
System (NES/Famicom) emulator Nestopia, with enhancements from members of the
 | 
					 | 
				
			||||||
emulation community.  It provides highly accurate emulation.")
 | 
					 | 
				
			||||||
    (license license:gpl2+)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public emulation-station
 | 
					 | 
				
			||||||
  (let ((commit "646bede3d9ec0acf0ae378415edac136774a66c5"))
 | 
					 | 
				
			||||||
    (package
 | 
					 | 
				
			||||||
      (name "emulation-station")
 | 
					 | 
				
			||||||
      (version "2.0.1")
 | 
					 | 
				
			||||||
      (source (origin
 | 
					 | 
				
			||||||
                (method git-fetch) ; no tarball available
 | 
					 | 
				
			||||||
                (uri (git-reference
 | 
					 | 
				
			||||||
                      (url "https://github.com/Aloshi/EmulationStation.git")
 | 
					 | 
				
			||||||
                      (commit commit))) ; no version tag
 | 
					 | 
				
			||||||
                (file-name (string-append name "-" version "-checkout"))
 | 
					 | 
				
			||||||
                (sha256
 | 
					 | 
				
			||||||
                 (base32
 | 
					 | 
				
			||||||
                  "0cm0sq2wri2l9cvab1l0g02za59q7klj0h3p028vr96n6njj4w9v"))))
 | 
					 | 
				
			||||||
      (build-system cmake-build-system)
 | 
					 | 
				
			||||||
      (arguments
 | 
					 | 
				
			||||||
       '(#:tests? #f)) ; no tests
 | 
					 | 
				
			||||||
      (inputs
 | 
					 | 
				
			||||||
       `(("alsa-lib" ,alsa-lib)
 | 
					 | 
				
			||||||
         ("boost" ,boost)
 | 
					 | 
				
			||||||
         ("curl" ,curl)
 | 
					 | 
				
			||||||
         ("eigin" ,eigen)
 | 
					 | 
				
			||||||
         ("freeimage" ,freeimage)
 | 
					 | 
				
			||||||
         ("freetype" ,freetype)
 | 
					 | 
				
			||||||
         ("mesa" ,mesa)
 | 
					 | 
				
			||||||
         ("sdl2" ,sdl2)))
 | 
					 | 
				
			||||||
      (synopsis "Video game console emulator front-end")
 | 
					 | 
				
			||||||
      (description "EmulationStation provides a graphical front-end to a large
 | 
					 | 
				
			||||||
number of video game console emulators.  It features an interface that is
 | 
					 | 
				
			||||||
usable with any game controller that has at least 4 buttons, theming support,
 | 
					 | 
				
			||||||
and a game metadata scraper.")
 | 
					 | 
				
			||||||
      (home-page "http://www.emulationstation.org")
 | 
					 | 
				
			||||||
      (license license:expat))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define openttd-engine
 | 
					(define openttd-engine
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "openttd-engine")
 | 
					    (name "openttd-engine")
 | 
				
			||||||
| 
						 | 
					@ -3055,39 +2316,6 @@ players.")
 | 
				
			||||||
    (home-page "http://pio.sourceforge.net/")
 | 
					    (home-page "http://pio.sourceforge.net/")
 | 
				
			||||||
    (license license:gpl2+)))
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public desmume
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "desmume")
 | 
					 | 
				
			||||||
    (version "0.9.11")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "mirror://sourceforge/desmume/desmume/"
 | 
					 | 
				
			||||||
             version "/desmume-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32
 | 
					 | 
				
			||||||
         "15l8wdw3q61fniy3h93d84dnm6s4pyadvh95a0j6d580rjk4pcrs"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     ;; Enable support for WiFi and microphone.
 | 
					 | 
				
			||||||
     `(#:configure-flags '("--enable-wifi"
 | 
					 | 
				
			||||||
                           "--enable-openal")))
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					 | 
				
			||||||
       ("intltool" ,intltool)))
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("zlib" ,zlib)
 | 
					 | 
				
			||||||
       ("sdl" ,sdl)
 | 
					 | 
				
			||||||
       ("glib" ,glib)
 | 
					 | 
				
			||||||
       ("gtk+" ,gtk+-2)
 | 
					 | 
				
			||||||
       ("glu" ,glu)))
 | 
					 | 
				
			||||||
    (home-page "http://desmume.org/")
 | 
					 | 
				
			||||||
    (synopsis "Nintendo DS emulator")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "DeSmuME is an emulator for the Nintendo DS handheld gaming console.")
 | 
					 | 
				
			||||||
    (license license:gpl2)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public einstein
 | 
					(define-public einstein
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "einstein")
 | 
					    (name "einstein")
 | 
				
			||||||
| 
						 | 
					@ -3343,155 +2571,6 @@ Red Eclipse provides fast paced and accessible gameplay.")
 | 
				
			||||||
                     license:cc-by3.0
 | 
					                     license:cc-by3.0
 | 
				
			||||||
                     license:cc0)))))
 | 
					                     license:cc0)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public higan
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "higan")
 | 
					 | 
				
			||||||
    (version "106")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
     (origin
 | 
					 | 
				
			||||||
       (method url-fetch)
 | 
					 | 
				
			||||||
       (uri (string-append
 | 
					 | 
				
			||||||
             "https://gitlab.com/higan/higan/repository/archive.tar.gz?ref=v"
 | 
					 | 
				
			||||||
             version))
 | 
					 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32 "0y42pra0dxzlbkyzcp3r8a39pji2bj3p9fl40425f60af2igr4rw"))
 | 
					 | 
				
			||||||
       (patches (search-patches "higan-remove-march-native-flag.patch"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					 | 
				
			||||||
     `(("pkg-config" ,pkg-config)))
 | 
					 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("alsa-lib" ,alsa-lib)
 | 
					 | 
				
			||||||
       ("ao" ,ao)
 | 
					 | 
				
			||||||
       ("eudev" ,eudev)
 | 
					 | 
				
			||||||
       ("gtk+" ,gtk+-2)
 | 
					 | 
				
			||||||
       ("gtksourceview-2" ,gtksourceview-2)
 | 
					 | 
				
			||||||
       ("libxv" ,libxv)
 | 
					 | 
				
			||||||
       ("mesa" ,mesa)
 | 
					 | 
				
			||||||
       ("openal" ,openal)
 | 
					 | 
				
			||||||
       ("pulseaudio" ,pulseaudio)
 | 
					 | 
				
			||||||
       ("sdl" ,sdl)))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     '(#:phases
 | 
					 | 
				
			||||||
       (let ((build-phase (assoc-ref %standard-phases 'build))
 | 
					 | 
				
			||||||
             (install-phase (assoc-ref %standard-phases 'install)))
 | 
					 | 
				
			||||||
         (modify-phases %standard-phases
 | 
					 | 
				
			||||||
           ;; The higan build system has no configure phase.
 | 
					 | 
				
			||||||
           (delete 'configure)
 | 
					 | 
				
			||||||
           (add-before 'build 'chdir-to-higan
 | 
					 | 
				
			||||||
             (lambda _
 | 
					 | 
				
			||||||
               (chdir "higan")))
 | 
					 | 
				
			||||||
           (add-before 'install 'create-/share/applications
 | 
					 | 
				
			||||||
             (lambda* (#:key outputs #:allow-other-keys)
 | 
					 | 
				
			||||||
               (let ((out (assoc-ref outputs "out")))
 | 
					 | 
				
			||||||
                 ;; It seems the author forgot to do this in the Makefile.
 | 
					 | 
				
			||||||
                 (mkdir-p (string-append out "/share/applications")))))
 | 
					 | 
				
			||||||
           (add-after 'install 'chdir-to-icarus
 | 
					 | 
				
			||||||
             (lambda _
 | 
					 | 
				
			||||||
               (chdir "../icarus")))
 | 
					 | 
				
			||||||
           (add-after 'chdir-to-icarus 'build-icarus build-phase)
 | 
					 | 
				
			||||||
           (add-after 'build-icarus 'install-icarus install-phase)
 | 
					 | 
				
			||||||
           (add-after 'install-icarus 'wrap-higan-executable
 | 
					 | 
				
			||||||
             (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
					 | 
				
			||||||
               (let* ((out (assoc-ref outputs "out"))
 | 
					 | 
				
			||||||
                      (bin (string-append out "/bin"))
 | 
					 | 
				
			||||||
                      (higan (string-append bin "/higan"))
 | 
					 | 
				
			||||||
                      (higan-original (string-append higan "-original"))
 | 
					 | 
				
			||||||
                      (bash (string-append (assoc-ref inputs "bash")
 | 
					 | 
				
			||||||
                                           "/bin/bash"))
 | 
					 | 
				
			||||||
                      (coreutils (assoc-ref inputs "coreutils"))
 | 
					 | 
				
			||||||
                      (mkdir (string-append coreutils "/bin/mkdir"))
 | 
					 | 
				
			||||||
                      (cp (string-append coreutils "/bin/cp"))
 | 
					 | 
				
			||||||
                      (cp-r (string-append cp " -r --no-preserve=mode")))
 | 
					 | 
				
			||||||
                 ;; First, have the executable make sure ~/.local/share/higan
 | 
					 | 
				
			||||||
                 ;; contains up to date files.  Higan insists on looking there
 | 
					 | 
				
			||||||
                 ;; for these data files.
 | 
					 | 
				
			||||||
                 (rename-file higan higan-original)
 | 
					 | 
				
			||||||
                 (with-output-to-file higan
 | 
					 | 
				
			||||||
                   (lambda ()
 | 
					 | 
				
			||||||
                     (display
 | 
					 | 
				
			||||||
                      (string-append
 | 
					 | 
				
			||||||
                       "#!" bash "\n"
 | 
					 | 
				
			||||||
                       ;; higan doesn't respect $XDG_DATA_HOME
 | 
					 | 
				
			||||||
                       mkdir " -p ~/.local/share\n"
 | 
					 | 
				
			||||||
                       cp-r " " out "/share/higan ~/.local/share\n"
 | 
					 | 
				
			||||||
                       "exec " higan-original))))
 | 
					 | 
				
			||||||
                 (chmod higan #o555)
 | 
					 | 
				
			||||||
                 ;; Second, make sure higan will find icarus in PATH.
 | 
					 | 
				
			||||||
                 (wrap-program higan
 | 
					 | 
				
			||||||
                   `("PATH" ":" prefix (,bin))))))))
 | 
					 | 
				
			||||||
       #:make-flags
 | 
					 | 
				
			||||||
       (list "compiler=g++"
 | 
					 | 
				
			||||||
             (string-append "prefix=" (assoc-ref %outputs "out")))
 | 
					 | 
				
			||||||
       ;; There is no test suite.
 | 
					 | 
				
			||||||
       #:tests? #f))
 | 
					 | 
				
			||||||
    (home-page "http://byuu.org/emulation/higan/")
 | 
					 | 
				
			||||||
    (synopsis "Nintendo multi-system emulator")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "higan (formerly bsnes) is an emulator for multiple Nintendo video game
 | 
					 | 
				
			||||||
consoles, including the Nintendo Entertainment System (NES/Famicom), Super
 | 
					 | 
				
			||||||
Nintendo Entertainment System (SNES/Super Famicom), Game Boy, Game Boy
 | 
					 | 
				
			||||||
Color (GBC), and Game Boy Advance (GBA).  It also supports the subsystems
 | 
					 | 
				
			||||||
Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
 | 
					 | 
				
			||||||
    ;; As noted in these files among more:
 | 
					 | 
				
			||||||
    ;; - icarus/icarus.cpp
 | 
					 | 
				
			||||||
    ;; - higan/emulator/emulator.hpp
 | 
					 | 
				
			||||||
    (license license:gpl3)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public mgba
 | 
					 | 
				
			||||||
  (package
 | 
					 | 
				
			||||||
    (name "mgba")
 | 
					 | 
				
			||||||
    (version "0.6.1")
 | 
					 | 
				
			||||||
    (source (origin
 | 
					 | 
				
			||||||
              (method url-fetch)
 | 
					 | 
				
			||||||
              (uri (string-append "https://github.com/mgba-emu/mgba/archive/"
 | 
					 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					 | 
				
			||||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
              (sha256
 | 
					 | 
				
			||||||
               (base32
 | 
					 | 
				
			||||||
                "0xmq1q1j71hnpd49wm91cqq8w5zdhb921cm17jchp4qjmaqgwy3w"))
 | 
					 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					 | 
				
			||||||
              (snippet
 | 
					 | 
				
			||||||
               ;; Make sure we don't use the bundled software.
 | 
					 | 
				
			||||||
               '(for-each
 | 
					 | 
				
			||||||
                 (lambda (subdir)
 | 
					 | 
				
			||||||
                   (let ((lib-subdir (string-append "src/third-party/" subdir)))
 | 
					 | 
				
			||||||
                     (delete-file-recursively lib-subdir)))
 | 
					 | 
				
			||||||
                 '("libpng" "lzma" "sqlite3" "zlib")))))
 | 
					 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     `(#:tests? #f                      ;no "test" target
 | 
					 | 
				
			||||||
       #:configure-flags
 | 
					 | 
				
			||||||
       (list "-DUSE_LZMA=OFF"           ;do not use bundled LZMA
 | 
					 | 
				
			||||||
             "-DUSE_LIBZIP=OFF"         ;use "zlib" instead
 | 
					 | 
				
			||||||
             (string-append "-DCMAKE_INSTALL_LIBDIR="
 | 
					 | 
				
			||||||
                            (assoc-ref %outputs "out") "/lib"))))
 | 
					 | 
				
			||||||
    (native-inputs `(("pkg-config" ,pkg-config)))
 | 
					 | 
				
			||||||
    (inputs `(("ffmpeg" ,ffmpeg)
 | 
					 | 
				
			||||||
              ("imagemagick" ,imagemagick)
 | 
					 | 
				
			||||||
              ("libedit" ,libedit)
 | 
					 | 
				
			||||||
              ("libepoxy" ,libepoxy)
 | 
					 | 
				
			||||||
              ("libpng" ,libpng)
 | 
					 | 
				
			||||||
              ("mesa" ,mesa)
 | 
					 | 
				
			||||||
              ("minizip" ,minizip)
 | 
					 | 
				
			||||||
              ("ncurses" ,ncurses)
 | 
					 | 
				
			||||||
              ("qtbase" ,qtbase)
 | 
					 | 
				
			||||||
              ("qtmultimedia" ,qtmultimedia)
 | 
					 | 
				
			||||||
              ("qttools" ,qttools)
 | 
					 | 
				
			||||||
              ("sdl2" ,sdl2)
 | 
					 | 
				
			||||||
              ("sqlite" ,sqlite)
 | 
					 | 
				
			||||||
              ("zlib" ,zlib)))
 | 
					 | 
				
			||||||
    (home-page "https://mgba.io")
 | 
					 | 
				
			||||||
    (synopsis "Game Boy Advance emulator")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "mGBA is an emulator for running Game Boy Advance games.  It aims to be
 | 
					 | 
				
			||||||
faster and more accurate than many existing Game Boy Advance emulators, as
 | 
					 | 
				
			||||||
well as adding features that other emulators lack.  It also supports Game Boy
 | 
					 | 
				
			||||||
and Game Boy Color games.")
 | 
					 | 
				
			||||||
    ;; Code is mainly MPL 2.0. "blip_buf.c" is LGPL 2.1+ and "inih.c" is
 | 
					 | 
				
			||||||
    ;; BSD-3.
 | 
					 | 
				
			||||||
    (license (list license:mpl2.0 license:lgpl2.1+ license:bsd-3))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public grue-hunter
 | 
					(define-public grue-hunter
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "grue-hunter")
 | 
					    (name "grue-hunter")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 | 
					;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 | 
				
			||||||
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 | 
					;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 | 
				
			||||||
;;; Copyright © 2017 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 | 
					;;; Copyright © 2017, 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 | 
				
			||||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 | 
					;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 | 
				
			||||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 | 
					;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 | 
				
			||||||
| 
						 | 
					@ -43,6 +43,7 @@
 | 
				
			||||||
  #:use-module (gnu packages pkg-config)
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
  #:use-module (gnu packages python)
 | 
					  #:use-module (gnu packages python)
 | 
				
			||||||
  #:use-module (gnu packages webkit)
 | 
					  #:use-module (gnu packages webkit)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages wxwidgets)
 | 
				
			||||||
  #:use-module (gnu packages xml))
 | 
					  #:use-module (gnu packages xml))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public geos
 | 
					(define-public geos
 | 
				
			||||||
| 
						 | 
					@ -153,6 +154,36 @@ and driving.")
 | 
				
			||||||
    (home-page "https://wiki.gnome.org/Apps/Maps")
 | 
					    (home-page "https://wiki.gnome.org/Apps/Maps")
 | 
				
			||||||
    (license license:gpl2+)))
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public libgaiagraphics
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "libgaiagraphics")
 | 
				
			||||||
 | 
					    (version "0.5")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://www.gaia-gis.it/gaia-sins/libgaiagraphics-"
 | 
				
			||||||
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "076afqv417ag3hfvnif0qc7qscmnq1dsf6y431yygwgf34rjkayc"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("cairo" ,cairo)
 | 
				
			||||||
 | 
					       ("libpng" ,libpng)
 | 
				
			||||||
 | 
					       ("libjepeg-turbo" ,libjpeg-turbo)
 | 
				
			||||||
 | 
					       ("libtiff" ,libtiff)
 | 
				
			||||||
 | 
					       ("libgeotiff" ,libgeotiff)
 | 
				
			||||||
 | 
					       ("proj.4" ,proj.4)
 | 
				
			||||||
 | 
					       ("libxml2" ,libxml2)
 | 
				
			||||||
 | 
					       ("zlib" ,zlib)))
 | 
				
			||||||
 | 
					     (synopsis "Gaia common graphics support")
 | 
				
			||||||
 | 
					     (description "libgaiagraphics is a library supporting
 | 
				
			||||||
 | 
					 common-utility raster handling methods.")
 | 
				
			||||||
 | 
					    (home-page "https://www.gaia-gis.it/fossil/libgaiagraphics/index")
 | 
				
			||||||
 | 
					    (license license:lgpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public libgeotiff
 | 
					(define-public libgeotiff
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libgeotiff")
 | 
					    (name "libgeotiff")
 | 
				
			||||||
| 
						 | 
					@ -202,6 +233,54 @@ writing GeoTIFF information tags.")
 | 
				
			||||||
                   (license:non-copyleft "file://LICENSE"
 | 
					                   (license:non-copyleft "file://LICENSE"
 | 
				
			||||||
                                         "See LICENSE in the distribution.")))))
 | 
					                                         "See LICENSE in the distribution.")))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public libspatialite
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "libspatialite")
 | 
				
			||||||
 | 
					    (version "4.3.0a")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://www.gaia-gis.it/gaia-sins/libspatialite-"
 | 
				
			||||||
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "16d4lpl7xrm9zy4gphy6nwanpjp8wn9g4wq2i2kh8abnlhq01448"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("freexl" ,freexl)
 | 
				
			||||||
 | 
					       ("geos" ,geos)
 | 
				
			||||||
 | 
					       ("libxml2" ,libxml2)
 | 
				
			||||||
 | 
					       ("proj.4" ,proj.4)
 | 
				
			||||||
 | 
					       ("sqlite" ,sqlite)
 | 
				
			||||||
 | 
					       ("zlib" ,zlib)))
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         ;; 3 tests are failing, ignore them:
 | 
				
			||||||
 | 
					         (add-after 'unpack 'ignore-broken-tests
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (substitute* '("test/Makefile.in")
 | 
				
			||||||
 | 
					               (("\tcheck_sql_stm.*" all) "\tcheck_multithread$(EXEEXT) \\\n")
 | 
				
			||||||
 | 
					               (("(\tch.*) check_v.*ble2.*$" all vt1) (string-append vt1 " \\\n"))
 | 
				
			||||||
 | 
					               (("\tch.* (check_v.*ble4.*)$" all vt4) (string-append "\t" vt4)))
 | 
				
			||||||
 | 
					             #t)))))
 | 
				
			||||||
 | 
					    (synopsis "Extend SQLite to support Spatial SQL capabilities")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "SpatiaLite is a library intended to extend the SQLite core to support
 | 
				
			||||||
 | 
					fully fledged Spatial SQL capabilities.")
 | 
				
			||||||
 | 
					    (home-page "https://www.gaia-gis.it/fossil/libspatialite/index")
 | 
				
			||||||
 | 
					    ;; For the genuine libspatialite-sources holds:
 | 
				
			||||||
 | 
					    ;; Any of the licenses MPL1.1, GPL2+ or LGPL2.1+  may be picked.
 | 
				
			||||||
 | 
					    ;; Files under src/control_points are from GRASS
 | 
				
			||||||
 | 
					    ;; and are licensed under GPL2+ only.
 | 
				
			||||||
 | 
					    ;; src/md5.[ch]: Placed into the public domain by Alexander Peslyak.
 | 
				
			||||||
 | 
					    (license (list license:gpl2+
 | 
				
			||||||
 | 
					                   license:lgpl2.1+
 | 
				
			||||||
 | 
					                   license:mpl1.1
 | 
				
			||||||
 | 
					                   license:public-domain))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public proj.4
 | 
					(define-public proj.4
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "proj.4")
 | 
					    (name "proj.4")
 | 
				
			||||||
| 
						 | 
					@ -378,3 +457,36 @@ development.")
 | 
				
			||||||
    (synopsis "Python bindings for Mapnik")
 | 
					    (synopsis "Python bindings for Mapnik")
 | 
				
			||||||
    (description "This package provides Python bindings for Mapnik.")
 | 
					    (description "This package provides Python bindings for Mapnik.")
 | 
				
			||||||
    (license license:lgpl2.1+)))
 | 
					    (license license:lgpl2.1+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public spatialite-gui
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "spatialite-gui")
 | 
				
			||||||
 | 
					    (version "1.7.1")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://www.gaia-gis.it/gaia-sins/spatialite_gui-"
 | 
				
			||||||
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1r05dz9pyc8vsd2wbqxcsracpfbaamz470rcyp2myfpqwznv376b"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("freexl" ,freexl)
 | 
				
			||||||
 | 
					       ("geos" ,geos)
 | 
				
			||||||
 | 
					       ("libgaiagraphics" ,libgaiagraphics)
 | 
				
			||||||
 | 
					       ("libspatialite" ,libspatialite)
 | 
				
			||||||
 | 
					       ("libxml2" ,libxml2)
 | 
				
			||||||
 | 
					       ("proj.4" ,proj.4)
 | 
				
			||||||
 | 
					       ("sqlite" ,sqlite)
 | 
				
			||||||
 | 
					       ("wxwidgets" ,wxwidgets-2)
 | 
				
			||||||
 | 
					       ("zlib" ,zlib)))
 | 
				
			||||||
 | 
					    (synopsis "Graphical user interface for SpatiaLite")
 | 
				
			||||||
 | 
					    (description "Spatialite-gui provides a visual interface for viewing and
 | 
				
			||||||
 | 
					 maintaining a spatialite database.  You can easily see the structure of the
 | 
				
			||||||
 | 
					 tables and data contents using point and click functions, many of which
 | 
				
			||||||
 | 
					 construct common SQL queries, or craft your own SQL queries.")
 | 
				
			||||||
 | 
					    (home-page "https://www.gaia-gis.it/fossil/spatialite_gui/index")
 | 
				
			||||||
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -198,7 +198,7 @@ translated messages from the catalogs.  Nearly all GNU packages use Gettext.")
 | 
				
			||||||
       ("texlive" ,texlive-tiny) ;for tests
 | 
					       ("texlive" ,texlive-tiny) ;for tests
 | 
				
			||||||
       ("libxml2" ,libxml2)
 | 
					       ("libxml2" ,libxml2)
 | 
				
			||||||
       ("xsltproc" ,libxslt)))
 | 
					       ("xsltproc" ,libxslt)))
 | 
				
			||||||
    (home-page "http://po4a.alioth.debian.org/")
 | 
					    (home-page "https://po4a.org/")
 | 
				
			||||||
    (synopsis "Scripts to ease maintenance of translations")
 | 
					    (synopsis "Scripts to ease maintenance of translations")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "The po4a (PO for anything) project goal is to ease translations (and
 | 
					     "The po4a (PO for anything) project goal is to ease translations (and
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -428,14 +428,14 @@ from software emulation to complete hardware acceleration for modern GPUs.")
 | 
				
			||||||
(define (mesa-demos-source version)
 | 
					(define (mesa-demos-source version)
 | 
				
			||||||
  (origin
 | 
					  (origin
 | 
				
			||||||
    (method url-fetch)
 | 
					    (method url-fetch)
 | 
				
			||||||
    (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/demos/" version
 | 
					    (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/demos"
 | 
				
			||||||
                        "/mesa-demos-" version ".tar.bz2"))
 | 
					                        "/mesa-demos-" version ".tar.bz2"))
 | 
				
			||||||
    (sha256 (base32 "1vqb7s5m3fcg2csbiz45mha1pys2xx6rhw94fcyvapqdpm5iawy1"))))
 | 
					    (sha256 (base32 "0zgzbz55a14hz83gbmm0n9gpjnf5zadzi2kjjvkn6khql2a9rs81"))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public mesa-utils
 | 
					(define-public mesa-utils
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "mesa-utils")
 | 
					    (name "mesa-utils")
 | 
				
			||||||
    (version "8.3.0")
 | 
					    (version "8.4.0")
 | 
				
			||||||
    (source (mesa-demos-source version))
 | 
					    (source (mesa-demos-source version))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2449,7 +2449,7 @@ libxml to ease remote use of the RESTful API.")
 | 
				
			||||||
(define-public libsoup
 | 
					(define-public libsoup
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libsoup")
 | 
					    (name "libsoup")
 | 
				
			||||||
    (version "2.60.2")
 | 
					    (version "2.60.3")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://gnome/sources/libsoup/"
 | 
					              (uri (string-append "mirror://gnome/sources/libsoup/"
 | 
				
			||||||
| 
						 | 
					@ -2457,7 +2457,7 @@ libxml to ease remote use of the RESTful API.")
 | 
				
			||||||
                                  name "-" version ".tar.xz"))
 | 
					                                  name "-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "00fsy12mz9b55algq7c6gk4xj5j6a5z6dxcnq59fdqkji3hwyqvj"))))
 | 
					                "08lawrdkkzycvpb1h0wfiqfz6dgx77jp0wxp546lxgisy9icf38v"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (outputs '("out" "doc"))
 | 
					    (outputs '("out" "doc"))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -214,14 +214,14 @@ compatible to GNU Pth.")
 | 
				
			||||||
(define-public gnupg
 | 
					(define-public gnupg
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "gnupg")
 | 
					    (name "gnupg")
 | 
				
			||||||
    (version "2.2.4")
 | 
					    (version "2.2.5")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://gnupg/gnupg/gnupg-" version
 | 
					              (uri (string-append "mirror://gnupg/gnupg/gnupg-" version
 | 
				
			||||||
                                  ".tar.bz2"))
 | 
					                                  ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1v7j8v2ww1knknbrhw3svfrqkmf9ll58iq0dczbsdpqgg1j3w6j0"))))
 | 
					                "0mzgibq4dpxh3i9anmwg12xdjry28y83icafhx3j3djg5niqk89z"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)))
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10,7 +10,7 @@
 | 
				
			||||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 | 
					;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 | 
				
			||||||
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
 | 
					;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
 | 
				
			||||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
 | 
					;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
 | 
				
			||||||
;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
 | 
					;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
 | 
				
			||||||
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
 | 
					;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
 | 
				
			||||||
| 
						 | 
					@ -1091,29 +1091,28 @@ installed as @code{stb_image}.")
 | 
				
			||||||
(define-public optipng
 | 
					(define-public optipng
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "optipng")
 | 
					    (name "optipng")
 | 
				
			||||||
    (version "0.7.6")
 | 
					    (version "0.7.7")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "http://prdownloads.sourceforge.net/optipng/optipng-"
 | 
					       (uri (string-append "http://prdownloads.sourceforge.net/optipng/optipng-"
 | 
				
			||||||
                           version ".tar.gz"))
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
       (patches (search-patches "optipng-CVE-2017-1000229.patch"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "105yk5qykvhiahzag67gm36s2kplxf6qn5hay02md0nkrcgn6w28"))))
 | 
					         "0lj4clb851fzpaq446wgj0sfy922zs5l5misbpwv6w7qrqrz4cjg"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("zlib" ,zlib)))
 | 
					     `(("zlib" ,zlib)))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:phases
 | 
					     '(#:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         ;; configure script does not accept arguments CONFIG_SHELL and SHELL
 | 
					 | 
				
			||||||
         (replace 'configure
 | 
					         (replace 'configure
 | 
				
			||||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
             (zero? (system* "sh" "configure"
 | 
					             ;; configure script doesn't accept arguments CONFIG_SHELL and SHELL
 | 
				
			||||||
                             (string-append "--prefix=" (assoc-ref outputs "out")))))))))
 | 
					             (invoke "sh" "configure"
 | 
				
			||||||
    (synopsis "Optimizer that recompresses PNG image files to a
 | 
					                     (string-append "--prefix=" (assoc-ref outputs "out")))
 | 
				
			||||||
smaller size")
 | 
					             #t)))))
 | 
				
			||||||
 | 
					    (synopsis "Optimizer that recompresses PNG image files to a smaller size")
 | 
				
			||||||
    (description "OptiPNG is a PNG optimizer that recompresses image
 | 
					    (description "OptiPNG is a PNG optimizer that recompresses image
 | 
				
			||||||
files to a smaller size, without losing any information.  This program
 | 
					files to a smaller size, without losing any information.  This program
 | 
				
			||||||
also converts external formats (BMP, GIF, PNM and TIFF) to optimized
 | 
					also converts external formats (BMP, GIF, PNM and TIFF) to optimized
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -41,14 +41,14 @@
 | 
				
			||||||
(define-public rdmd
 | 
					(define-public rdmd
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "rdmd")
 | 
					    (name "rdmd")
 | 
				
			||||||
    (version "2.073.0")
 | 
					    (version "2.077.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
      (uri (string-append "https://github.com/dlang/tools/archive/v" version ".tar.gz"))
 | 
					      (uri (string-append "https://github.com/dlang/tools/archive/v" version ".tar.gz"))
 | 
				
			||||||
      (file-name (string-append name "-" version ".tar.gz"))
 | 
					      (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
       (base32
 | 
					       (base32
 | 
				
			||||||
        "01if3ivnb7g2myfhymp4d9346s4vmvcl82i1kxfs5iza45almh7v"))))
 | 
					        "0c8w373rv6iz3xfid94w40ncv2lr2ncxi662qsr4lda4aghczmq7"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:phases
 | 
					     '(#:phases
 | 
				
			||||||
| 
						 | 
					@ -58,7 +58,7 @@
 | 
				
			||||||
         (replace
 | 
					         (replace
 | 
				
			||||||
          'build
 | 
					          'build
 | 
				
			||||||
          (lambda _
 | 
					          (lambda _
 | 
				
			||||||
            (zero? (system* "ldc2" "rdmd.d"))))
 | 
					            (invoke "ldc2" "rdmd.d")))
 | 
				
			||||||
         (replace
 | 
					         (replace
 | 
				
			||||||
          'install
 | 
					          'install
 | 
				
			||||||
          (lambda* (#:key outputs #:allow-other-keys)
 | 
					          (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
| 
						 | 
					@ -77,7 +77,6 @@ and freshness without requiring additional information from the user.")
 | 
				
			||||||
    (license license:boost1.0)))
 | 
					    (license license:boost1.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public ldc-bootstrap
 | 
					(define-public ldc-bootstrap
 | 
				
			||||||
  (let ((runtime-version "0.17.3"))
 | 
					 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "ldc")
 | 
					      (name "ldc")
 | 
				
			||||||
      (version "0.17.4")
 | 
					      (version "0.17.4")
 | 
				
			||||||
| 
						 | 
					@ -92,6 +91,10 @@ and freshness without requiring additional information from the user.")
 | 
				
			||||||
                  "1kw0j378k6bh0k66dvx99bjq8ilp8bb24w3jrmibn8rhmqv0d5q8"))))
 | 
					                  "1kw0j378k6bh0k66dvx99bjq8ilp8bb24w3jrmibn8rhmqv0d5q8"))))
 | 
				
			||||||
      (build-system cmake-build-system)
 | 
					      (build-system cmake-build-system)
 | 
				
			||||||
      (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
 | 
					      (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
 | 
				
			||||||
 | 
					      (properties
 | 
				
			||||||
 | 
					       ;; Some of the tests take a very long time on ARMv7.  See
 | 
				
			||||||
 | 
					       ;; <https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00312.html>.
 | 
				
			||||||
 | 
					       `((max-silent-time . ,(* 3600 3))))
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
       `(#:phases
 | 
					       `(#:phases
 | 
				
			||||||
         (modify-phases %standard-phases
 | 
					         (modify-phases %standard-phases
 | 
				
			||||||
| 
						 | 
					@ -120,12 +123,15 @@ and freshness without requiring additional information from the user.")
 | 
				
			||||||
                 (("echo") (which "echo")))
 | 
					                 (("echo") (which "echo")))
 | 
				
			||||||
               (substitute* "runtime/phobos/std/datetime.d"
 | 
					               (substitute* "runtime/phobos/std/datetime.d"
 | 
				
			||||||
                 (("/usr/share/zoneinfo/")
 | 
					                 (("/usr/share/zoneinfo/")
 | 
				
			||||||
                  (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")))
 | 
					                  (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
 | 
				
			||||||
 | 
					                 (("tzName == \"[+]VERSION\"")
 | 
				
			||||||
 | 
					                  "(tzName == \"+VERSION\" || std.algorithm.endsWith(tzName, \"/leapseconds\"))"))
 | 
				
			||||||
               (substitute* "tests/d2/dmd-testsuite/Makefile"
 | 
					               (substitute* "tests/d2/dmd-testsuite/Makefile"
 | 
				
			||||||
                 (("/bin/bash") (which "bash")))
 | 
					                 (("/bin/bash") (which "bash")))
 | 
				
			||||||
               ;; FIXME: this test cannot be linked.
 | 
					               ;; FIXME: this test cannot be linked.
 | 
				
			||||||
               (delete-file "tests/d2/dmd-testsuite/runnable/cppa.d")
 | 
					               (delete-file "tests/d2/dmd-testsuite/runnable/cppa.d")
 | 
				
			||||||
               #t)))))
 | 
					               ;; the following two tests fail on i686
 | 
				
			||||||
 | 
					               (for-each delete-file '("tests/ir/attributes.d" "tests/ir/align.d")))))))
 | 
				
			||||||
      (inputs
 | 
					      (inputs
 | 
				
			||||||
       `(("libconfig" ,libconfig)
 | 
					       `(("libconfig" ,libconfig)
 | 
				
			||||||
         ("libedit" ,libedit)
 | 
					         ("libedit" ,libedit)
 | 
				
			||||||
| 
						 | 
					@ -142,59 +148,51 @@ and freshness without requiring additional information from the user.")
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append
 | 
					             (uri (string-append
 | 
				
			||||||
                   "https://github.com/ldc-developers/phobos/archive/ldc-v"
 | 
					                   "https://github.com/ldc-developers/phobos/archive/ldc-v"
 | 
				
			||||||
                   runtime-version ".tar.gz"))
 | 
					                   version ".tar.gz"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "0qywnvnp019mmmr74aw90ir9f03iz0hc7cgzna609agsar0b27jl"))
 | 
					               "16x36kp46mqiihxx7jvr1d3mv3b96yfmhinb9lzinh2m4clr85wz"))
 | 
				
			||||||
             (patches (search-patches "ldc-disable-tests.patch"))))
 | 
					             (patches (search-patches "ldc-bootstrap-disable-tests.patch"))))
 | 
				
			||||||
         ("druntime-src"
 | 
					         ("druntime-src"
 | 
				
			||||||
          ,(origin
 | 
					          ,(origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append
 | 
					             (uri (string-append
 | 
				
			||||||
                   "https://github.com/ldc-developers/druntime/archive/ldc-v"
 | 
					                   "https://github.com/ldc-developers/druntime/archive/ldc-v"
 | 
				
			||||||
                   runtime-version ".tar.gz"))
 | 
					                   version ".tar.gz"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "0z418n6x2fxac07sxpi4rl69069qiym4w6r9sjppn91q58qh8hjs"))))
 | 
					               "0iw2xxhcbsc5f1707dgdzhff528363l4faqdk513gaxs2dhfx8vx"))))
 | 
				
			||||||
         ("dmd-testsuite-src"
 | 
					         ("dmd-testsuite-src"
 | 
				
			||||||
          ,(origin
 | 
					          ,(origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append
 | 
					             (uri (string-append
 | 
				
			||||||
                   "https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v"
 | 
					                   "https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v"
 | 
				
			||||||
                   runtime-version ".tar.gz"))
 | 
					                   version ".tar.gz"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "196mkfax5y3yqm3gz7jhqhnkjwrvr2m4a8nc9k41l0511ldzsk9x"))))))
 | 
					               "0z6ch930wjkg2vlnqkbliwxxxifad6ydsdpwdxwnajkb2kaxsjx4"))))))
 | 
				
			||||||
 | 
					 | 
				
			||||||
      (properties
 | 
					 | 
				
			||||||
       ;; Some of the tests take a very long time on ARMv7.  See
 | 
					 | 
				
			||||||
       ;; <https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00312.html>.
 | 
					 | 
				
			||||||
       `((max-silent-time . ,(* 3600 3))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      (home-page "http://wiki.dlang.org/LDC")
 | 
					      (home-page "http://wiki.dlang.org/LDC")
 | 
				
			||||||
      (synopsis "LLVM compiler for the D programming language")
 | 
					      (synopsis "LLVM compiler for the D programming language")
 | 
				
			||||||
      (description
 | 
					      (description
 | 
				
			||||||
       "LDC is a compiler for the D programming language.  It is based on the
 | 
					       "LDC is a compiler for the D programming language.  It is based on
 | 
				
			||||||
latest DMD frontend and uses LLVM as backend.")
 | 
					the latest DMD compiler that was written in C and is used for
 | 
				
			||||||
 | 
					bootstrapping more recent compilers written in D.")
 | 
				
			||||||
      ;; Most of the code is released under BSD-3, except for code originally
 | 
					      ;; Most of the code is released under BSD-3, except for code originally
 | 
				
			||||||
      ;; written for GDC, which is released under GPLv2+, and the DMD frontend,
 | 
					      ;; written for GDC, which is released under GPLv2+, and the DMD frontend,
 | 
				
			||||||
      ;; which is released under the "Boost Software License version 1.0".
 | 
					      ;; which is released under the "Boost Software License version 1.0".
 | 
				
			||||||
      (license (list license:bsd-3
 | 
					      (license (list license:bsd-3
 | 
				
			||||||
                     license:gpl2+
 | 
					                     license:gpl2+
 | 
				
			||||||
                     license:boost1.0)))))
 | 
					                     license:boost1.0))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public ldc
 | 
					(define-public ldc
 | 
				
			||||||
  ;; The phobos, druntime and dmd-testsuite dependencies do not have a newer
 | 
					  ;; Phobos, druntime and dmd-testsuite library dependencies do
 | 
				
			||||||
  ;; release than 1.1.0-beta4, hence the need to make use of the older-version
 | 
					  ;; not always have a newer release than the compiler, hence we
 | 
				
			||||||
  ;; variable to hold this variable.
 | 
					  ;; retain this variable.
 | 
				
			||||||
  (let ((older-version "1.1.0"))
 | 
					  (let ((older-version "1.7.0"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (inherit ldc-bootstrap)
 | 
					      (inherit ldc-bootstrap)
 | 
				
			||||||
      (name "ldc")
 | 
					      (name "ldc")
 | 
				
			||||||
      (version "1.1.1")
 | 
					      (version "1.7.0")
 | 
				
			||||||
      ;; Beta version needed to compile various scientific tools that require
 | 
					 | 
				
			||||||
      ;; the newer beta versions, and won't compile successfully with the
 | 
					 | 
				
			||||||
      ;; older stable version.
 | 
					 | 
				
			||||||
      (source (origin
 | 
					      (source (origin
 | 
				
			||||||
                (method url-fetch)
 | 
					                (method url-fetch)
 | 
				
			||||||
                (uri (string-append
 | 
					                (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -203,7 +201,7 @@ latest DMD frontend and uses LLVM as backend.")
 | 
				
			||||||
                (file-name (string-append name "-" version ".tar.gz"))
 | 
					                (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
                (sha256
 | 
					                (sha256
 | 
				
			||||||
                 (base32
 | 
					                 (base32
 | 
				
			||||||
                  "0yjiwg8pnlm2286bwdkwasaqw6ys7lymrqvhh5xyb1adha1ndcav"))))
 | 
					                  "0rqchmlbhz1pd8ksl1vfhfd5s3cp9h9pqi4k4w2np9sq0zr7abwn"))))
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
       `(#:phases
 | 
					       `(#:phases
 | 
				
			||||||
         (modify-phases %standard-phases
 | 
					         (modify-phases %standard-phases
 | 
				
			||||||
| 
						 | 
					@ -217,20 +215,36 @@ latest DMD frontend and uses LLVM as backend.")
 | 
				
			||||||
                 (and (unpack "phobos-src" "runtime/phobos")
 | 
					                 (and (unpack "phobos-src" "runtime/phobos")
 | 
				
			||||||
                      (unpack "druntime-src" "runtime/druntime")
 | 
					                      (unpack "druntime-src" "runtime/druntime")
 | 
				
			||||||
                      (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")))))
 | 
					                      (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")))))
 | 
				
			||||||
           ;; The 'patch-dmd2 step in ldc causes the build to fail since
 | 
					 | 
				
			||||||
           ;; dmd2/root/port.c no longer exists.  Arguments needed to have
 | 
					 | 
				
			||||||
           ;; 'patch-dmd2 step removed, but retain everything else.
 | 
					 | 
				
			||||||
           (add-after 'unpack-submodule-sources 'patch-phobos
 | 
					           (add-after 'unpack-submodule-sources 'patch-phobos
 | 
				
			||||||
             (lambda* (#:key inputs #:allow-other-keys)
 | 
					             (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
               (substitute* "runtime/phobos/std/process.d"
 | 
					               (substitute* '("runtime/phobos/std/process.d"
 | 
				
			||||||
 | 
					                              "tests/linking/linker_switches.d")
 | 
				
			||||||
                 (("/bin/sh") (which "sh"))
 | 
					                 (("/bin/sh") (which "sh"))
 | 
				
			||||||
                 (("echo") (which "echo")))
 | 
					                 (("echo") (which "echo")))
 | 
				
			||||||
               (substitute* "runtime/phobos/std/datetime.d"
 | 
					 | 
				
			||||||
                 (("/usr/share/zoneinfo/")
 | 
					 | 
				
			||||||
                  (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")))
 | 
					 | 
				
			||||||
               (substitute* "tests/d2/dmd-testsuite/Makefile"
 | 
					               (substitute* "tests/d2/dmd-testsuite/Makefile"
 | 
				
			||||||
                 (("/bin/bash") (which "bash")))
 | 
					                            (("/bin/bash") (which "bash")))
 | 
				
			||||||
               #t)))))
 | 
					               ;; disable unittests in the following files. We are discussing with
 | 
				
			||||||
 | 
					               ;; upstream
 | 
				
			||||||
 | 
					               (substitute* '("runtime/phobos/std/net/curl.d"
 | 
				
			||||||
 | 
					                              "runtime/phobos/std/datetime/systime.d"
 | 
				
			||||||
 | 
					                              "runtime/phobos/std/datetime/timezone.d"
 | 
				
			||||||
 | 
					                              )
 | 
				
			||||||
 | 
					                 (("version(unittest)") "version(skipunittest)")
 | 
				
			||||||
 | 
					                 ((" unittest") " version(skipunittest) unittest"))
 | 
				
			||||||
 | 
					               ;; the following tests require a more recent LLVM
 | 
				
			||||||
 | 
					               (delete-file "tests/compilable/ctfe_math.d")
 | 
				
			||||||
 | 
					               (delete-file "tests/debuginfo/nested_gdb.d")
 | 
				
			||||||
 | 
					               (delete-file "tests/debuginfo/classtypes_gdb.d")
 | 
				
			||||||
 | 
					               ;; the following tests requires AVX instruction set in the CPU.
 | 
				
			||||||
 | 
					               (substitute* "tests/d2/dmd-testsuite/runnable/test_cdvecfill.d"
 | 
				
			||||||
 | 
					                (("^// DISABLED: ") "^// DISABLED: linux64 "))
 | 
				
			||||||
 | 
					               #t))
 | 
				
			||||||
 | 
					           (replace 'check
 | 
				
			||||||
 | 
					                    (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					                      ;; some tests call into gdb binary which needs SHELL and CC set
 | 
				
			||||||
 | 
					                      (setenv "SHELL" (which "sh"))
 | 
				
			||||||
 | 
					                      (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))
 | 
				
			||||||
 | 
					                      (invoke "make" "test" "-j" (number->string (parallel-job-count))))))))
 | 
				
			||||||
      (native-inputs
 | 
					      (native-inputs
 | 
				
			||||||
       `(("llvm" ,llvm)
 | 
					       `(("llvm" ,llvm)
 | 
				
			||||||
         ("clang" ,clang)
 | 
					         ("clang" ,clang)
 | 
				
			||||||
| 
						 | 
					@ -247,7 +261,7 @@ latest DMD frontend and uses LLVM as backend.")
 | 
				
			||||||
                   older-version ".tar.gz"))
 | 
					                   older-version ".tar.gz"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "0z5v55b9s1ppf0c2ivjq7sbmq688c37c92ihc3qwrbxnqvkkvrlk"))
 | 
					               "042hn3v0zk353r0h6yclq56z86hi437y969bckyb2qsnv00h60hi"))
 | 
				
			||||||
             ;; This patch deactivates some tests that depend on network access
 | 
					             ;; This patch deactivates some tests that depend on network access
 | 
				
			||||||
             ;; to pass.  It also deactivates some tests that have some reliance
 | 
					             ;; to pass.  It also deactivates some tests that have some reliance
 | 
				
			||||||
             ;; on timezone.
 | 
					             ;; on timezone.
 | 
				
			||||||
| 
						 | 
					@ -257,7 +271,7 @@ latest DMD frontend and uses LLVM as backend.")
 | 
				
			||||||
             ;; that is being pursued at
 | 
					             ;; that is being pursued at
 | 
				
			||||||
             ;; <https://forum.dlang.org/post/zmdbdgnzrxyvtpqafvyg@forum.dlang.org>.
 | 
					             ;; <https://forum.dlang.org/post/zmdbdgnzrxyvtpqafvyg@forum.dlang.org>.
 | 
				
			||||||
             ;; It also deactivates a test that requires /root
 | 
					             ;; It also deactivates a test that requires /root
 | 
				
			||||||
             (patches (search-patches "ldc-1.1.0-disable-phobos-tests.patch"))))
 | 
					             (patches (search-patches "ldc-1.7.0-disable-phobos-tests.patch"))))
 | 
				
			||||||
         ("druntime-src"
 | 
					         ("druntime-src"
 | 
				
			||||||
          ,(origin
 | 
					          ,(origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -266,7 +280,7 @@ latest DMD frontend and uses LLVM as backend.")
 | 
				
			||||||
                   older-version ".tar.gz"))
 | 
					                   older-version ".tar.gz"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "07qvrqj6vgakd6qr4x5f70w6zwkzd1li5x8i1b5ywnds1z5lnfp6"))))
 | 
					               "0pvabk70zw8c1gbmvy2i486bg22bn0l5nbacjz0qwmhf0w9y9ylh"))))
 | 
				
			||||||
         ("dmd-testsuite-src"
 | 
					         ("dmd-testsuite-src"
 | 
				
			||||||
          ,(origin
 | 
					          ,(origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -275,18 +289,12 @@ latest DMD frontend and uses LLVM as backend.")
 | 
				
			||||||
                   older-version ".tar.gz"))
 | 
					                   older-version ".tar.gz"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "12cak7yqmsgjlflx0dp6fwmwb9dac25amgi86n0bb95ard3547wy"))
 | 
					               "1i8j1raah7b26bprwkdick443ivdsihgi1l14sn9rh4a95rnrpd9")))))))))
 | 
				
			||||||
             ;; Remove the gdb tests that fails with a "Error: No such file or
 | 
					 | 
				
			||||||
             ;; directory" error, despite the files being present in the debug
 | 
					 | 
				
			||||||
             ;; files left with the --keep-failed flag to guix build.
 | 
					 | 
				
			||||||
             (patches (search-patches "ldc-1.1.0-disable-dmd-tests.patch")))))))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public ldc-beta ldc)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public dub
 | 
					(define-public dub
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "dub")
 | 
					    (name "dub")
 | 
				
			||||||
    (version "1.5.0")
 | 
					    (version "1.7.2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://github.com/dlang/dub/archive/"
 | 
					              (uri (string-append "https://github.com/dlang/dub/archive/"
 | 
				
			||||||
| 
						 | 
					@ -294,7 +302,7 @@ latest DMD frontend and uses LLVM as backend.")
 | 
				
			||||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
					              (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1p9pmzjsmd7v3jpilv0z0c8ar1ykvri6nn5fv95f8d2vriczj29m"))))
 | 
					                "1jvr1mmq8j77wnsrsg7x2xv8yfljqd6x8gn6yy7dd6h6y3cf408q"))))
 | 
				
			||||||
   (build-system gnu-build-system)
 | 
					   (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f ; it would have tested itself by installing some packages (vibe etc)
 | 
					     `(#:tests? #f ; it would have tested itself by installing some packages (vibe etc)
 | 
				
			||||||
| 
						 | 
					@ -303,7 +311,7 @@ latest DMD frontend and uses LLVM as backend.")
 | 
				
			||||||
         (delete 'configure)            ; no configure script
 | 
					         (delete 'configure)            ; no configure script
 | 
				
			||||||
         (replace 'build
 | 
					         (replace 'build
 | 
				
			||||||
           (lambda _
 | 
					           (lambda _
 | 
				
			||||||
             (zero? (system* "./build.sh"))))
 | 
					             (invoke "./build.sh")))
 | 
				
			||||||
         (replace 'install
 | 
					         (replace 'install
 | 
				
			||||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
             (let* ((out (assoc-ref outputs "out"))
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
| 
						 | 
					@ -317,10 +325,12 @@ latest DMD frontend and uses LLVM as backend.")
 | 
				
			||||||
    (home-page "https://code.dlang.org/getting_started")
 | 
					    (home-page "https://code.dlang.org/getting_started")
 | 
				
			||||||
    (synopsis "Package and build manager for D projects")
 | 
					    (synopsis "Package and build manager for D projects")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "DUB is a package and build manager for applications and libraries written
 | 
					     "DUB is a package and build manager for applications and
 | 
				
			||||||
in the D programming language.  It can automatically retrieve a project's
 | 
					libraries written in the D programming language.  It can
 | 
				
			||||||
dependencies and integrate them in the build process.
 | 
					automatically retrieve a project's dependencies and integrate
 | 
				
			||||||
 | 
					them in the build process.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The design emphasis is on maximum simplicity for simple projects, while
 | 
					The design emphasis is on maximum simplicity for simple projects,
 | 
				
			||||||
providing the opportunity to customize things when needed. ")
 | 
					while providing the opportunity to customize things when
 | 
				
			||||||
 | 
					needed.")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (license license:expat)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										160
									
								
								gnu/packages/license.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										160
									
								
								gnu/packages/license.scm
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,160 @@
 | 
				
			||||||
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; GNU Guix is free software; you can redistribute it and/or modify it
 | 
				
			||||||
 | 
					;;; under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					;;; the Free Software Foundation; either version 3 of the License, or (at
 | 
				
			||||||
 | 
					;;; your option) any later version.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; GNU Guix is distributed in the hope that it will be useful, but
 | 
				
			||||||
 | 
					;;; WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					;;; GNU General Public License for more details.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-module (gnu packages license)
 | 
				
			||||||
 | 
					  #:use-module (guix licenses)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages)
 | 
				
			||||||
 | 
					  #:use-module (guix packages)
 | 
				
			||||||
 | 
					  #:use-module (guix download)
 | 
				
			||||||
 | 
					  #:use-module (guix build-system perl)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages perl)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages perl-check))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; Please: Try to add new module packages in alphabetic order.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-regexp-pattern-license
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-regexp-pattern-license")
 | 
				
			||||||
 | 
					    (version "3.1.0")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/J/JO/JONASS/Regexp-Pattern-License-"
 | 
				
			||||||
 | 
					             "v" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1479ismcgq1mx712yhw0qswb4z75spc81f9k621vfpkji0smpyk2"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("perl-regexp-pattern" ,perl-regexp-pattern)
 | 
				
			||||||
 | 
					       ("perl-test-exception" ,perl-test-exception)))
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("perl-strictures" ,perl-strictures-2)))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/Regexp-Pattern-License/")
 | 
				
			||||||
 | 
					    (synopsis "Regular expressions for legal licenses")
 | 
				
			||||||
 | 
					    (description "Regexp::Pattern::License provides a hash of regular
 | 
				
			||||||
 | 
					expression patterns related to legal software licenses.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Regexp::Pattern is a convention for organizing reusable regex patterns.")
 | 
				
			||||||
 | 
					    (license gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-string-copyright
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-string-copyright")
 | 
				
			||||||
 | 
					    (version "0.003005")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/J/JO/JONASS/String-Copyright-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "12c6x4c10gr46ryc3dpwgfi6wggmgy4a1ls2hwhcpdm3wvzy5619"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("perl-number-range" ,perl-number-range)))
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("perl-exporter-tiny" ,perl-exporter-tiny)))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/String-Copyright/")
 | 
				
			||||||
 | 
					    (synopsis "Representation of text-based copyright statements")
 | 
				
			||||||
 | 
					    (description "String::Copyright Parses common styles of copyright
 | 
				
			||||||
 | 
					statements and serializes in normalized format.")
 | 
				
			||||||
 | 
					    (license gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-software-license
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-software-license")
 | 
				
			||||||
 | 
					    (version "0.103013")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/L/LE/LEONT/Software-License-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1wqgh7vdlc966amlrq0b2szz18lnrl9rfh8wlf7v0hqg74vxjh96"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("perl-try-tiny" ,perl-try-tiny)))
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("perl-data-section" ,perl-data-section)
 | 
				
			||||||
 | 
					       ("perl-text-template" ,perl-text-template)))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/Software-License/")
 | 
				
			||||||
 | 
					    (synopsis "Templated software licenses")
 | 
				
			||||||
 | 
					    (description "This package provides templated software licenses.")
 | 
				
			||||||
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public licensecheck
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "licensecheck")
 | 
				
			||||||
 | 
					    (version "3.0.33")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method url-fetch)
 | 
				
			||||||
 | 
					              (uri (string-append
 | 
				
			||||||
 | 
					                    "mirror://cpan/authors/id/J/JO/JONASS/App-Licensecheck-"
 | 
				
			||||||
 | 
					                    "v" version ".tar.gz"))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "0wydxb2jks1k3bxkcp7p0pazh5v3awbbcf6haplvwzkkayszhgs4"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("perl-regexp-pattern" ,perl-regexp-pattern)
 | 
				
			||||||
 | 
					       ("perl-software-license" ,perl-software-license)
 | 
				
			||||||
 | 
					       ("perl-test-requires" ,perl-test-requires)
 | 
				
			||||||
 | 
					       ("perl-test-roo" ,perl-test-roo)
 | 
				
			||||||
 | 
					       ("perl-test-script" ,perl-test-script)
 | 
				
			||||||
 | 
					       ("perl-universal-require" ,perl-universal-require)
 | 
				
			||||||
 | 
					       ("perl-number-range" ,perl-number-range)
 | 
				
			||||||
 | 
					       ("perl-sub-quote" ,perl-sub-quote)))
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("perl-getopt-long-descriptive" ,perl-getopt-long-descriptive)
 | 
				
			||||||
 | 
					       ("perl-moo" ,perl-moo-2)
 | 
				
			||||||
 | 
					       ("perl-namespace-clean" ,perl-namespace-clean)
 | 
				
			||||||
 | 
					       ("perl-path-iterator-rule" ,perl-path-iterator-rule)
 | 
				
			||||||
 | 
					       ("perl-path-tiny" ,perl-path-tiny)
 | 
				
			||||||
 | 
					       ("perl-pod-constants" ,perl-pod-constants)
 | 
				
			||||||
 | 
					       ("perl-regexp-pattern-license" ,perl-regexp-pattern-license)
 | 
				
			||||||
 | 
					       ("perl-sort-key" ,perl-sort-key)
 | 
				
			||||||
 | 
					       ("perl-strictures" ,perl-strictures-2)
 | 
				
			||||||
 | 
					       ("perl-string-copyright" ,perl-string-copyright)
 | 
				
			||||||
 | 
					       ("perl-string-escape" ,perl-string-escape)
 | 
				
			||||||
 | 
					       ("perl-try-tiny" ,perl-try-tiny)
 | 
				
			||||||
 | 
					       ("perl-module-runtime" ,perl-module-runtime)))
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-after 'install 'wrap-program
 | 
				
			||||||
 | 
					           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
 | 
					                    (perllib (string-append out "/lib/perl5/site_perl/"
 | 
				
			||||||
 | 
					                                            ,(package-version perl))))
 | 
				
			||||||
 | 
					               (wrap-program (string-append out "/bin/licensecheck")
 | 
				
			||||||
 | 
					                 `("PERL5LIB" ":"
 | 
				
			||||||
 | 
					                   prefix (,(string-append perllib ":" (getenv "PERL5LIB")))))
 | 
				
			||||||
 | 
					               #t))))))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/App-Licensecheck/")
 | 
				
			||||||
 | 
					    (synopsis "License checker for source files")
 | 
				
			||||||
 | 
					    (description "Licensecheck attempts to determine the license that applies
 | 
				
			||||||
 | 
					to each file passed to it, by searching the start of the file for text
 | 
				
			||||||
 | 
					belonging to various licenses.")
 | 
				
			||||||
 | 
					    (license (package-license perl))))
 | 
				
			||||||
| 
						 | 
					@ -383,8 +383,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.15.4")
 | 
					(define %linux-libre-version "4.15.5")
 | 
				
			||||||
(define %linux-libre-hash "0dg5b2vgp2ph0l63cxyq6bz05hvc90wab05f8y3a8731c9xsxmzq")
 | 
					(define %linux-libre-hash "1vrqya5zkhzl37fpj5v0v1igm7jf2gi13apkpak90l51xiw592cs")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public linux-libre
 | 
					(define-public linux-libre
 | 
				
			||||||
  (make-linux-libre %linux-libre-version
 | 
					  (make-linux-libre %linux-libre-version
 | 
				
			||||||
| 
						 | 
					@ -392,8 +392,8 @@ It has been modified to remove all non-free binary blobs.")
 | 
				
			||||||
                    %linux-compatible-systems
 | 
					                    %linux-compatible-systems
 | 
				
			||||||
                    #:configuration-file kernel-config))
 | 
					                    #:configuration-file kernel-config))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define %linux-libre-4.14-version "4.14.20")
 | 
					(define %linux-libre-4.14-version "4.14.21")
 | 
				
			||||||
(define %linux-libre-4.14-hash "1xc5g2kq3wpn6i61rpypnlb0f82f05b8jac2lg62rv4v46bsvfwv")
 | 
					(define %linux-libre-4.14-hash "07d27mph514jxxkzil4b3c848ywfd4r4js0wl5wsfy7a3j757278")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(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
 | 
				
			||||||
| 
						 | 
					@ -402,14 +402,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.82"
 | 
					  (make-linux-libre "4.9.83"
 | 
				
			||||||
                    "1x2hbn2kf7ikgdiqwj2d6d0s1pa1xh4xywliyj3rfsilanny2ipw"
 | 
					                    "09mw2r2fbn0g6xfhyxk0n54c7sg0vk9nlp7k2ca3v0v24n7lrfza"
 | 
				
			||||||
                    %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.116"
 | 
					  (make-linux-libre "4.4.117"
 | 
				
			||||||
                    "00y5xhgqiyf7ivivnphwvkjgszk8rzn4s8q3sgshswz3kdic55hj"
 | 
					                    "1mlq9npyriwj0wpj24zah55bkxil31l182ypbn6b3x4yvmr8lhz0"
 | 
				
			||||||
                    %intel-compatible-systems
 | 
					                    %intel-compatible-systems
 | 
				
			||||||
                    #:configuration-file kernel-config))
 | 
					                    #:configuration-file kernel-config))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1089,7 +1089,7 @@ external rate conversion.")
 | 
				
			||||||
(define-public iptables
 | 
					(define-public iptables
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "iptables")
 | 
					    (name "iptables")
 | 
				
			||||||
    (version "1.6.1")
 | 
					    (version "1.6.2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append
 | 
					             (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -1097,7 +1097,7 @@ external rate conversion.")
 | 
				
			||||||
                   version ".tar.bz2"))
 | 
					                   version ".tar.bz2"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "1x8c9y340x79djsq54bc1674ryv59jfphrk4f88i7qbvbnyxghhg"))))
 | 
					               "0crp0lvh5m2f15pr8cw97h8yb8zjj10x95zj06j46cr68vx2vl2m"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					     `(("pkg-config" ,pkg-config)
 | 
				
			||||||
| 
						 | 
					@ -1111,14 +1111,17 @@ external rate conversion.")
 | 
				
			||||||
       #:configure-flags ; add $libdir to the RUNPATH of executables
 | 
					       #:configure-flags ; add $libdir to the RUNPATH of executables
 | 
				
			||||||
       (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))))
 | 
					       (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))))
 | 
				
			||||||
    (home-page "https://www.netfilter.org/projects/iptables/index.html")
 | 
					    (home-page "https://www.netfilter.org/projects/iptables/index.html")
 | 
				
			||||||
    (synopsis "Program to configure the Linux IP packet filtering rules")
 | 
					    (synopsis "Programs to configure Linux IP packet filtering rules")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "iptables is the userspace command line program used to configure the
 | 
					     "@command{iptables} is the user-space command line program used to
 | 
				
			||||||
Linux 2.4.x and later IPv4 packet filtering ruleset (firewall).  It is targeted at
 | 
					configure the Linux 2.4.x and later IPv4 packet filtering ruleset
 | 
				
			||||||
system administrators.  Since Network Address Translation is also configured
 | 
					(@dfn{firewall}), including @dfn{NAT} (Network Address Translation).
 | 
				
			||||||
from the packet filter ruleset, iptables is used for this, too.  The iptables
 | 
					
 | 
				
			||||||
package also includes ip6tables.  ip6tables is used for configuring the IPv6
 | 
					This package also includes @command{ip6tables}, which is used to configure the
 | 
				
			||||||
packet filter.")
 | 
					IPv6 packet filter.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Both commands are targeted at system administrators.
 | 
				
			||||||
 | 
					")
 | 
				
			||||||
    (license license:gpl2+)))
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public ebtables
 | 
					(define-public ebtables
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -24,91 +25,81 @@
 | 
				
			||||||
  #:use-module (gnu packages ghostscript))
 | 
					  #:use-module (gnu packages ghostscript))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public lout
 | 
					(define-public lout
 | 
				
			||||||
  ;; This one is a bit tricky, because it doesn't follow the GNU Build System
 | 
					  (package
 | 
				
			||||||
  ;; rules.  Instead, it has a makefile that has to be patched to set the
 | 
					 | 
				
			||||||
  ;; prefix, etc., and it has no makefile rules to build its doc.
 | 
					 | 
				
			||||||
  (let ((configure-phase
 | 
					 | 
				
			||||||
         '(lambda* (#:key outputs #:allow-other-keys)
 | 
					 | 
				
			||||||
            (let ((out (assoc-ref outputs "out"))
 | 
					 | 
				
			||||||
                  (doc (assoc-ref outputs "doc")))
 | 
					 | 
				
			||||||
              (substitute* "makefile"
 | 
					 | 
				
			||||||
                (("^PREFIX[[:blank:]]*=.*$")
 | 
					 | 
				
			||||||
                 (string-append "PREFIX = " out "\n"))
 | 
					 | 
				
			||||||
                (("^LOUTLIBDIR[[:blank:]]*=.*$")
 | 
					 | 
				
			||||||
                 (string-append "LOUTLIBDIR = " out "/lib/lout\n"))
 | 
					 | 
				
			||||||
                (("^LOUTDOCDIR[[:blank:]]*=.*$")
 | 
					 | 
				
			||||||
                 (string-append "LOUTDOCDIR = " doc "/share/doc/lout\n"))
 | 
					 | 
				
			||||||
                (("^MANDIR[[:blank:]]*=.*$")
 | 
					 | 
				
			||||||
                 (string-append "MANDIR = " out "/man\n")))
 | 
					 | 
				
			||||||
              (mkdir out)
 | 
					 | 
				
			||||||
              (mkdir (string-append out "/bin"))
 | 
					 | 
				
			||||||
              (mkdir (string-append out "/lib"))
 | 
					 | 
				
			||||||
              (mkdir (string-append out "/man"))
 | 
					 | 
				
			||||||
              (mkdir-p (string-append doc "/share/doc/lout")))))
 | 
					 | 
				
			||||||
        (install-man-phase
 | 
					 | 
				
			||||||
         '(lambda* (#:key outputs #:allow-other-keys)
 | 
					 | 
				
			||||||
            (zero? (system* "make" "installman"))))
 | 
					 | 
				
			||||||
        (doc-phase
 | 
					 | 
				
			||||||
         '(lambda* (#:key outputs #:allow-other-keys)
 | 
					 | 
				
			||||||
            (define out
 | 
					 | 
				
			||||||
              (assoc-ref outputs "doc"))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            (setenv "PATH"
 | 
					 | 
				
			||||||
                    (string-append (assoc-ref outputs "out")
 | 
					 | 
				
			||||||
                                   "/bin:" (getenv "PATH")))
 | 
					 | 
				
			||||||
            (chdir "doc")
 | 
					 | 
				
			||||||
            (every (lambda (doc)
 | 
					 | 
				
			||||||
                     (format #t "doc: building `~a'...~%" doc)
 | 
					 | 
				
			||||||
                     (with-directory-excursion doc
 | 
					 | 
				
			||||||
                       (let ((file (string-append out "/share/doc/lout/"
 | 
					 | 
				
			||||||
                                                  doc ".ps")))
 | 
					 | 
				
			||||||
                         (and (or (file-exists? "outfile.ps")
 | 
					 | 
				
			||||||
                                  (zero? (system* "lout" "-r4" "-o"
 | 
					 | 
				
			||||||
                                                  "outfile.ps" "all")))
 | 
					 | 
				
			||||||
                              (begin
 | 
					 | 
				
			||||||
                                (copy-file "outfile.ps" file)
 | 
					 | 
				
			||||||
                                #t)
 | 
					 | 
				
			||||||
                              (zero? (system* "ps2pdf"
 | 
					 | 
				
			||||||
                                              "-dPDFSETTINGS=/prepress"
 | 
					 | 
				
			||||||
                                              "-sPAPERSIZE=a4"
 | 
					 | 
				
			||||||
                                              file
 | 
					 | 
				
			||||||
                                              (string-append out "/share/doc/lout/"
 | 
					 | 
				
			||||||
                                                             doc ".pdf")))))))
 | 
					 | 
				
			||||||
                   '("design" "expert" "slides" "user")))))
 | 
					 | 
				
			||||||
   (package
 | 
					 | 
				
			||||||
    (name "lout")
 | 
					    (name "lout")
 | 
				
			||||||
    (version "3.40")
 | 
					    (version "3.40")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
             (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
             (uri (string-append "mirror://savannah/lout/lout-"
 | 
					              (uri (string-append "mirror://savannah/lout/lout-"
 | 
				
			||||||
                                 version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
             (sha256
 | 
					              (sha256
 | 
				
			||||||
              (base32
 | 
					               (base32
 | 
				
			||||||
               "1gb8vb1wl7ikn269dd1c7ihqhkyrwk19jwx5kd0rdvbk6g7g25ix"))))
 | 
					                "1gb8vb1wl7ikn269dd1c7ihqhkyrwk19jwx5kd0rdvbk6g7g25ix"))))
 | 
				
			||||||
    (build-system gnu-build-system)               ; actually, just a makefile
 | 
					    (build-system gnu-build-system)     ; actually, just a makefile
 | 
				
			||||||
    (outputs '("out" "doc"))
 | 
					    (outputs '("out" "doc"))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("ghostscript" ,ghostscript)))
 | 
					     `(("ghostscript" ,ghostscript)))
 | 
				
			||||||
    (arguments `(#:modules ((guix build utils)
 | 
					    (arguments
 | 
				
			||||||
                            (guix build gnu-build-system)
 | 
					     `(#:modules ((guix build utils)
 | 
				
			||||||
                            (srfi srfi-1))        ; we need SRFI-1
 | 
					                  (guix build gnu-build-system)
 | 
				
			||||||
                 #:tests? #f                      ; no "check" target
 | 
					                  (srfi srfi-1))        ; we need SRFI-1
 | 
				
			||||||
 | 
					       #:tests? #f                      ; no "check" target
 | 
				
			||||||
                 ;; Customize the build phases.
 | 
					       #:phases
 | 
				
			||||||
                 #:phases (alist-replace
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
                           'configure ,configure-phase
 | 
					         ;; This package is a bit tricky, because it doesn't follow the GNU
 | 
				
			||||||
 | 
					         ;; Build System rules.  Instead, it has a makefile that has to be
 | 
				
			||||||
                           (alist-cons-after
 | 
					         ;; patched to set the prefix, etc., and it has no makefile rules to
 | 
				
			||||||
                            'install 'install-man-pages
 | 
					         ;; build its documentation.
 | 
				
			||||||
                            ,install-man-phase
 | 
					         (replace 'configure
 | 
				
			||||||
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
                            (alist-cons-after
 | 
					             (let ((out (assoc-ref outputs "out"))
 | 
				
			||||||
                             'install 'install-doc
 | 
					                   (doc (assoc-ref outputs "doc")))
 | 
				
			||||||
                             ,doc-phase
 | 
					               (substitute* "makefile"
 | 
				
			||||||
                             %standard-phases)))))
 | 
					                 (("^PREFIX[[:blank:]]*=.*$")
 | 
				
			||||||
 | 
					                  (string-append "PREFIX = " out "\n"))
 | 
				
			||||||
 | 
					                 (("^LOUTLIBDIR[[:blank:]]*=.*$")
 | 
				
			||||||
 | 
					                  (string-append "LOUTLIBDIR = " out "/lib/lout\n"))
 | 
				
			||||||
 | 
					                 (("^LOUTDOCDIR[[:blank:]]*=.*$")
 | 
				
			||||||
 | 
					                  (string-append "LOUTDOCDIR = " doc "/share/doc/lout\n"))
 | 
				
			||||||
 | 
					                 (("^MANDIR[[:blank:]]*=.*$")
 | 
				
			||||||
 | 
					                  (string-append "MANDIR = " out "/man\n")))
 | 
				
			||||||
 | 
					               (mkdir out)
 | 
				
			||||||
 | 
					               (mkdir (string-append out "/bin"))
 | 
				
			||||||
 | 
					               (mkdir (string-append out "/lib"))
 | 
				
			||||||
 | 
					               (mkdir (string-append out "/man"))
 | 
				
			||||||
 | 
					               (mkdir-p (string-append doc "/share/doc/lout"))
 | 
				
			||||||
 | 
					               #t)))
 | 
				
			||||||
 | 
					         (add-after 'install 'install-man-pages
 | 
				
			||||||
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (invoke "make" "installman")
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
 | 
					         (add-after 'install 'install-doc
 | 
				
			||||||
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (let ((out (assoc-ref outputs "doc")))
 | 
				
			||||||
 | 
					               (setenv "PATH"
 | 
				
			||||||
 | 
					                       (string-append (assoc-ref outputs "out")
 | 
				
			||||||
 | 
					                                      "/bin:" (getenv "PATH")))
 | 
				
			||||||
 | 
					               (with-directory-excursion "doc"
 | 
				
			||||||
 | 
					                 (every (lambda (doc)
 | 
				
			||||||
 | 
					                          (format #t "doc: building `~a'...~%" doc)
 | 
				
			||||||
 | 
					                          (with-directory-excursion doc
 | 
				
			||||||
 | 
					                            (let ((file (string-append out "/share/doc/lout/"
 | 
				
			||||||
 | 
					                                                       doc ".ps")))
 | 
				
			||||||
 | 
					                              (unless (file-exists? "outfile.ps")
 | 
				
			||||||
 | 
					                                (invoke "lout" "-r4" "-o"
 | 
				
			||||||
 | 
					                                        "outfile.ps" "all"))
 | 
				
			||||||
 | 
					                              (copy-file "outfile.ps" file)
 | 
				
			||||||
 | 
					                              (invoke "ps2pdf"
 | 
				
			||||||
 | 
					                                      "-dPDFSETTINGS=/prepress"
 | 
				
			||||||
 | 
					                                      "-sPAPERSIZE=a4"
 | 
				
			||||||
 | 
					                                      file
 | 
				
			||||||
 | 
					                                      (string-append out "/share/doc/lout/"
 | 
				
			||||||
 | 
					                                                     doc ".pdf")))))
 | 
				
			||||||
 | 
					                        '("design" "expert" "slides" "user")))
 | 
				
			||||||
 | 
					               #t))))))
 | 
				
			||||||
    (synopsis "Document layout system")
 | 
					    (synopsis "Document layout system")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
"The Lout document formatting system reads a high-level description of
 | 
					     "The Lout document formatting system reads a high-level description of
 | 
				
			||||||
a document similar in style to LaTeX and produces a PostScript or plain text
 | 
					a document similar in style to LaTeX and produces a PostScript or plain text
 | 
				
			||||||
output file.
 | 
					output file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -124,4 +115,4 @@ TeX macros because Lout is a high-level, purely functional language, the
 | 
				
			||||||
outcome of an eight-year research project that went back to the
 | 
					outcome of an eight-year research project that went back to the
 | 
				
			||||||
beginning.")
 | 
					beginning.")
 | 
				
			||||||
    (license gpl3+)
 | 
					    (license gpl3+)
 | 
				
			||||||
    (home-page "https://savannah.nongnu.org/projects/lout/"))))
 | 
					    (home-page "https://savannah.nongnu.org/projects/lout/")))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -907,7 +907,7 @@ and search library.")
 | 
				
			||||||
(define-public getmail
 | 
					(define-public getmail
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "getmail")
 | 
					    (name "getmail")
 | 
				
			||||||
    (version "5.4")
 | 
					    (version "5.5")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -915,7 +915,7 @@ and search library.")
 | 
				
			||||||
                           name "-" version ".tar.gz"))
 | 
					                           name "-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1iwss9z94p165gxr2yw7s9q12a0bn71fcdbikzkykr5s7xxnz2ds"))))
 | 
					         "0l43lbnrnyyrq8mlnw37saq6v0mh3nkirdq1dwnsrihykzjjwf70"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f ; no tests
 | 
					     `(#:tests? #f ; no tests
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3047,7 +3047,7 @@ specifications.")
 | 
				
			||||||
(define-public lpsolve
 | 
					(define-public lpsolve
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "lpsolve")
 | 
					    (name "lpsolve")
 | 
				
			||||||
    (version "5.5.2.0")
 | 
					    (version "5.5.2.5")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -3055,7 +3055,7 @@ specifications.")
 | 
				
			||||||
                          "/lp_solve_" version "_source.tar.gz"))
 | 
					                          "/lp_solve_" version "_source.tar.gz"))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
       (base32
 | 
					       (base32
 | 
				
			||||||
        "176c7f023mb6b8bfmv4rfqnrlw88lsg422ca74zjh19i2h5s69sq"))
 | 
					        "12pj1idjz31r7c2mb5w03vy1cmvycvbkx9z29s40qdmkp1i7q6i0"))
 | 
				
			||||||
      (modules '((guix build utils)))
 | 
					      (modules '((guix build utils)))
 | 
				
			||||||
      (snippet
 | 
					      (snippet
 | 
				
			||||||
       '(substitute* (list "lp_solve/ccc" "lpsolve55/ccc")
 | 
					       '(substitute* (list "lp_solve/ccc" "lpsolve55/ccc")
 | 
				
			||||||
| 
						 | 
					@ -3073,16 +3073,17 @@ specifications.")
 | 
				
			||||||
          (("isnan\\(0\\)") "isnan(0.)")))))
 | 
					          (("isnan\\(0\\)") "isnan(0.)")))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f ; no check target
 | 
					     `(#:tests? #f                      ; no check target
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (delete 'configure)
 | 
					         (delete 'configure)            ; no configure script
 | 
				
			||||||
         (replace 'build
 | 
					         (replace 'build
 | 
				
			||||||
           (lambda _
 | 
					           (lambda _
 | 
				
			||||||
             (and (with-directory-excursion "lpsolve55"
 | 
					             (with-directory-excursion "lpsolve55"
 | 
				
			||||||
                    (zero? (system* "bash" "ccc")))
 | 
					               (invoke "bash" "ccc"))
 | 
				
			||||||
                  (with-directory-excursion "lp_solve"
 | 
					             (with-directory-excursion "lp_solve"
 | 
				
			||||||
                    (zero? (system* "bash" "ccc"))))))
 | 
					               (invoke "bash" "ccc"))
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
         (replace 'install
 | 
					         (replace 'install
 | 
				
			||||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
             (let* ((out (assoc-ref outputs "out"))
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
| 
						 | 
					@ -3091,11 +3092,8 @@ specifications.")
 | 
				
			||||||
                    ;; This is where LibreOffice expects to find the header
 | 
					                    ;; This is where LibreOffice expects to find the header
 | 
				
			||||||
                    ;; files, and where they are installed by Debian.
 | 
					                    ;; files, and where they are installed by Debian.
 | 
				
			||||||
                    (include (string-append out "/include/lpsolve")))
 | 
					                    (include (string-append out "/include/lpsolve")))
 | 
				
			||||||
               (mkdir-p lib)
 | 
					               (install-file "lpsolve55/bin/ux64/liblpsolve55.a" lib)
 | 
				
			||||||
               (copy-file "lpsolve55/bin/ux64/liblpsolve55.a"
 | 
					               (install-file "lpsolve55/bin/ux64/liblpsolve55.so" lib)
 | 
				
			||||||
                          (string-append lib "/liblpsolve55.a"))
 | 
					 | 
				
			||||||
               (copy-file "lpsolve55/bin/ux64/liblpsolve55.so"
 | 
					 | 
				
			||||||
                          (string-append lib "/liblpsolve55.so"))
 | 
					 | 
				
			||||||
               (install-file "lp_solve/bin/ux64/lp_solve" bin)
 | 
					               (install-file "lp_solve/bin/ux64/lp_solve" bin)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
               ;; Install a subset of the header files as on Debian
 | 
					               ;; Install a subset of the header files as on Debian
 | 
				
			||||||
| 
						 | 
					@ -3437,14 +3435,14 @@ supports compressed MAT files, as well as newer (version 7.3) MAT files.")
 | 
				
			||||||
(define-public vc
 | 
					(define-public vc
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "vc")
 | 
					    (name "vc")
 | 
				
			||||||
    (version "1.2.0")
 | 
					    (version "1.3.3")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
      (origin (method url-fetch)
 | 
					      (origin (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://github.com/VcDevel/Vc/releases/"
 | 
					              (uri (string-append "https://github.com/VcDevel/Vc/releases/"
 | 
				
			||||||
                                  "download/" version "/Vc-" version ".tar.gz"))
 | 
					                                  "download/" version "/Vc-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1rh6dhqar3y07n4xqyml0sa0v48qv3ch9dc3yc2in855hlh4vnqi"))))
 | 
					                "1zmlpn32jzb38smp3j834llmbix3whsrbw0h397qxysbw792kih8"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:configure-flags
 | 
					     '(#:configure-flags
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
 | 
					;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
 | 
				
			||||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
 | 
					;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
 | 
				
			||||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 | 
					;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 | 
				
			||||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 | 
					;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
 | 
				
			||||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
| 
						 | 
					@ -56,16 +56,16 @@
 | 
				
			||||||
(define-public libmpdclient
 | 
					(define-public libmpdclient
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libmpdclient")
 | 
					    (name "libmpdclient")
 | 
				
			||||||
    (version "2.13")
 | 
					    (version "2.14")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri
 | 
					              (uri
 | 
				
			||||||
               (string-append "http://musicpd.org/download/libmpdclient/"
 | 
					               (string-append "https://musicpd.org/download/libmpdclient/"
 | 
				
			||||||
                              (car (string-split version #\.))
 | 
					                              (car (string-split version #\.))
 | 
				
			||||||
                              "/libmpdclient-" version ".tar.xz"))
 | 
					                              "/libmpdclient-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0pflbv2jzik7yxnacci1iqs0awy1i5ipwn67xk0hg9r0pi9bs5ai"))))
 | 
					                "0whk0qw0lsd3kaimdznz0c45bfym0p4885zf4b7pfc7y3dwy510a"))))
 | 
				
			||||||
    (build-system meson-build-system)
 | 
					    (build-system meson-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					     `(("pkg-config" ,pkg-config)
 | 
				
			||||||
| 
						 | 
					@ -88,16 +88,16 @@ interfacing MPD in the C, C++ & Objective C languages.")
 | 
				
			||||||
(define-public mpd
 | 
					(define-public mpd
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "mpd")
 | 
					    (name "mpd")
 | 
				
			||||||
    (version "0.20.15")
 | 
					    (version "0.20.17")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri
 | 
					              (uri
 | 
				
			||||||
               (string-append "http://musicpd.org/download/mpd/"
 | 
					               (string-append "https://musicpd.org/download/mpd/"
 | 
				
			||||||
                              (version-major+minor version)
 | 
					                              (version-major+minor version)
 | 
				
			||||||
                              "/mpd-" version ".tar.xz"))
 | 
					                              "/mpd-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0h7bm561i8p0bjp1hy8fsiy5zj7db24zyv6ypfihwf35wrklz766"))))
 | 
					                "1hfssmvp4wmy7zh4bl4zv2zqwiddsy77v69w9fh61pqrwbqfgc1c"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
| 
						 | 
					@ -162,17 +162,17 @@ protocol.")
 | 
				
			||||||
(define-public mpd-mpc
 | 
					(define-public mpd-mpc
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "mpd-mpc")
 | 
					    (name "mpd-mpc")
 | 
				
			||||||
    (version "0.28")
 | 
					    (version "0.29")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri
 | 
					              (uri
 | 
				
			||||||
               (string-append "http://www.musicpd.org/download/mpc/"
 | 
					               (string-append "https://www.musicpd.org/download/mpc/"
 | 
				
			||||||
                              (car (string-split version #\.))
 | 
					                              (car (string-split version #\.))
 | 
				
			||||||
                              "/mpc-" version ".tar.xz"))
 | 
					                              "/mpc-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0iy5mdffkk61255f62si7p8mhyhkib70zlr1i1iimj2xr037scx4"))))
 | 
					                "1lxr0z5i5yx4lcvy9nyxj6q32qlz473j3zm6va68zd1cj3ndmw82"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system meson-build-system)
 | 
				
			||||||
    (inputs `(("libmpdclient" ,libmpdclient)))
 | 
					    (inputs `(("libmpdclient" ,libmpdclient)))
 | 
				
			||||||
    (native-inputs `(("pkg-config" ,pkg-config)))
 | 
					    (native-inputs `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
    (synopsis "Music Player Daemon client")
 | 
					    (synopsis "Music Player Daemon client")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2016 Vincent Legoll <vincent.legoll@gmail.com>
 | 
					;;; Copyright © 2016 Vincent Legoll <vincent.legoll@gmail.com>
 | 
				
			||||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
 | 
					;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -27,14 +28,14 @@
 | 
				
			||||||
(define-public musl
 | 
					(define-public musl
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "musl")
 | 
					    (name "musl")
 | 
				
			||||||
    (version "1.1.18")
 | 
					    (version "1.1.19")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "http://www.musl-libc.org/releases/"
 | 
					              (uri (string-append "http://www.musl-libc.org/releases/"
 | 
				
			||||||
                                  name "-" version ".tar.gz"))
 | 
					                                  name "-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0651lnj5spckqjf83nz116s8qhhydgqdy3rkl4icbh5f05fyw5yh"))))
 | 
					                "1nf1wh44bhm8gdcfr75ayib29b99vpq62zmjymrq7f96h9bshnfv"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f  ; Musl has no tests
 | 
					     `(#:tests? #f  ; Musl has no tests
 | 
				
			||||||
| 
						 | 
					@ -43,7 +44,7 @@
 | 
				
			||||||
    (synopsis "Small C standard library")
 | 
					    (synopsis "Small C standard library")
 | 
				
			||||||
    (description "musl is a simple and lightweight C standard library.  It
 | 
					    (description "musl is a simple and lightweight C standard library.  It
 | 
				
			||||||
strives to be correct in the sense of standards-conformance and safety.")
 | 
					strives to be correct in the sense of standards-conformance and safety.")
 | 
				
			||||||
    (home-page "http://www.musl-libc.org")
 | 
					    (home-page "https://www.musl-libc.org")
 | 
				
			||||||
    ;; Musl as a whole is released under the Expat license.  Parts of it are
 | 
					    ;; Musl as a whole is released under the Expat license.  Parts of it are
 | 
				
			||||||
    ;; derived from various third-party projects that are released under
 | 
					    ;; derived from various third-party projects that are released under
 | 
				
			||||||
    ;; non-copyleft licenses.  See the COPYRIGHT file for details.
 | 
					    ;; non-copyleft licenses.  See the COPYRIGHT file for details.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1584,21 +1584,20 @@ displays the results in real time.")
 | 
				
			||||||
(define-public strongswan
 | 
					(define-public strongswan
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "strongswan")
 | 
					    (name "strongswan")
 | 
				
			||||||
    (version "5.6.1")
 | 
					    (version "5.6.2")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "https://download.strongswan.org/strongswan-"
 | 
					       (uri (string-append "https://download.strongswan.org/strongswan-"
 | 
				
			||||||
                           version ".tar.bz2"))
 | 
					                           version ".tar.bz2"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0lxbyiary8iapx3ysw40czrmxf983fhfzs5mvz2hk1j1mpc85hp0"))))
 | 
					        (base32 "14ifqay54brw2b2hbmm517bxw8bs9631d7jm4g139igkxcq0m9p0"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (add-before 'build 'adjust-to-environment
 | 
					         (add-before 'build 'patch-command-file-names
 | 
				
			||||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
					           (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
             ;; Adjust file names.
 | 
					 | 
				
			||||||
             (substitute* "src/libstrongswan/utils/process.c"
 | 
					             (substitute* "src/libstrongswan/utils/process.c"
 | 
				
			||||||
               (("/bin/sh")
 | 
					               (("/bin/sh")
 | 
				
			||||||
                (string-append (assoc-ref inputs "bash") "/bin/sh")))
 | 
					                (string-append (assoc-ref inputs "bash") "/bin/sh")))
 | 
				
			||||||
| 
						 | 
					@ -1607,8 +1606,9 @@ displays the results in real time.")
 | 
				
			||||||
               (("/bin/sh") (which "sh"))
 | 
					               (("/bin/sh") (which "sh"))
 | 
				
			||||||
               (("/bin/echo") (which "echo"))
 | 
					               (("/bin/echo") (which "echo"))
 | 
				
			||||||
               (("cat") (which "cat")))
 | 
					               (("cat") (which "cat")))
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
             ;; This is needed for tests.
 | 
					         (add-before 'check 'set-up-test-environment
 | 
				
			||||||
 | 
					           (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
             (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")
 | 
					             (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")
 | 
				
			||||||
                                            "/share/zoneinfo"))
 | 
					                                            "/share/zoneinfo"))
 | 
				
			||||||
             #t)))
 | 
					             #t)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -47,7 +47,7 @@
 | 
				
			||||||
(define-public parallel
 | 
					(define-public parallel
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "parallel")
 | 
					    (name "parallel")
 | 
				
			||||||
    (version "20180122")
 | 
					    (version "20180222")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -55,7 +55,7 @@
 | 
				
			||||||
                          version ".tar.bz2"))
 | 
					                          version ".tar.bz2"))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
       (base32
 | 
					       (base32
 | 
				
			||||||
        "1wkbppb4mc56grl6jsp803sf0hm7mg5ff7qmxalp7sd0vxqw41p9"))))
 | 
					        "1bwx1rcrqz04d8fajlllhrfkjqxg0mfvsd86wf6p067gmgdrf6g8"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,7 +8,7 @@
 | 
				
			||||||
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
 | 
					;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
 | 
				
			||||||
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 | 
					;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 | 
				
			||||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 | 
					;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 | 
				
			||||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 | 
					;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 | 
				
			||||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
 | 
					;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
 | 
				
			||||||
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
 | 
					;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
 | 
				
			||||||
| 
						 | 
					@ -342,7 +342,8 @@ any X11 window.")
 | 
				
			||||||
                              name "-" version ".tar.xz"))
 | 
					                              name "-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0scqkpll2q8jhzcgcsh9kqz0gwdpvynivqjmmbzax2irjfaiklpn"))))
 | 
					                "0scqkpll2q8jhzcgcsh9kqz0gwdpvynivqjmmbzax2irjfaiklpn"))
 | 
				
			||||||
 | 
					              (patches (search-patches "password-store-gnupg-compat.patch"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:phases
 | 
					     '(#:phases
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										99
									
								
								gnu/packages/patches/htop-fix-process-tree.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								gnu/packages/patches/htop-fix-process-tree.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,99 @@
 | 
				
			||||||
 | 
					From 2971a187551e062ffefdab965f55377b36cd94eb Mon Sep 17 00:00:00 2001
 | 
				
			||||||
 | 
					From: Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
 | 
					Date: Wed, 21 Feb 2018 06:00:50 +0100
 | 
				
			||||||
 | 
					Subject: [PATCH] Fix process tree
 | 
				
			||||||
 | 
					MIME-Version: 1.0
 | 
				
			||||||
 | 
					Content-Type: text/plain; charset=UTF-8
 | 
				
			||||||
 | 
					Content-Transfer-Encoding: 8bit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This manually reverts:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  commit 584a9bceab948590dabd189d234a86e6bf4ec3f4
 | 
				
			||||||
 | 
					  Author: wangqr <wangqr@wangqr.tk>
 | 
				
			||||||
 | 
					  Date:   Fri Sep 1 21:27:24 2017 +0800
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  Find roots when constructing process tree, fix #587
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					which breaks the process tree (‘t’) view in at least some cases.
 | 
				
			||||||
 | 
					I will investigate further...
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					 ProcessList.c | 63 +++++++++++++++++------------------------------------------
 | 
				
			||||||
 | 
					 1 file changed, 18 insertions(+), 45 deletions(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/ProcessList.c b/ProcessList.c
 | 
				
			||||||
 | 
					index 48b2d95..225253d 100644
 | 
				
			||||||
 | 
					--- a/ProcessList.c
 | 
				
			||||||
 | 
					+++ b/ProcessList.c
 | 
				
			||||||
 | 
					@@ -213,51 +213,24 @@ void ProcessList_sort(ProcessList* this) {
 | 
				
			||||||
 | 
					       // Restore settings
 | 
				
			||||||
 | 
					       this->settings->sortKey = sortKey;
 | 
				
			||||||
 | 
					       this->settings->direction = direction;
 | 
				
			||||||
 | 
					-      int vsize = Vector_size(this->processes);
 | 
				
			||||||
 | 
					-      // Find all processes whose parent is not visible
 | 
				
			||||||
 | 
					-      int size;
 | 
				
			||||||
 | 
					-      while ((size = Vector_size(this->processes))) {
 | 
				
			||||||
 | 
					-         int i;
 | 
				
			||||||
 | 
					-         for (i = 0; i < size; i++) {
 | 
				
			||||||
 | 
					-            Process* process = (Process*)(Vector_get(this->processes, i));
 | 
				
			||||||
 | 
					-            // Immediately consume not shown processes
 | 
				
			||||||
 | 
					-            if (!process->show) {
 | 
				
			||||||
 | 
					-               process = (Process*)(Vector_take(this->processes, i));
 | 
				
			||||||
 | 
					-               process->indent = 0;
 | 
				
			||||||
 | 
					-               Vector_add(this->processes2, process);
 | 
				
			||||||
 | 
					-               ProcessList_buildTree(this, process->pid, 0, 0, direction, false);
 | 
				
			||||||
 | 
					-               break;
 | 
				
			||||||
 | 
					-            }
 | 
				
			||||||
 | 
					-            pid_t ppid = process->tgid == process->pid ? process->ppid : process->tgid;
 | 
				
			||||||
 | 
					-            // Bisect the process vector to find parent
 | 
				
			||||||
 | 
					-            int l = 0, r = size;
 | 
				
			||||||
 | 
					-            // If PID corresponds with PPID (e.g. "kernel_task" (PID:0, PPID:0)
 | 
				
			||||||
 | 
					-            // on Mac OS X 10.11.6) cancel bisecting and regard this process as
 | 
				
			||||||
 | 
					-            // root.
 | 
				
			||||||
 | 
					-            if (process->pid == ppid)
 | 
				
			||||||
 | 
					-               r = 0;
 | 
				
			||||||
 | 
					-            while (l < r) {
 | 
				
			||||||
 | 
					-               int c = (l + r) / 2;
 | 
				
			||||||
 | 
					-               pid_t pid = ((Process*)(Vector_get(this->processes, c)))->pid;
 | 
				
			||||||
 | 
					-               if (ppid == pid) {
 | 
				
			||||||
 | 
					-                  break;
 | 
				
			||||||
 | 
					-               } else if (ppid < pid) {
 | 
				
			||||||
 | 
					-                  r = c;
 | 
				
			||||||
 | 
					-               } else {
 | 
				
			||||||
 | 
					-                  l = c + 1;
 | 
				
			||||||
 | 
					-               }
 | 
				
			||||||
 | 
					-            }
 | 
				
			||||||
 | 
					-            // If parent not found, then construct the tree with this root
 | 
				
			||||||
 | 
					-            if (l >= r) {
 | 
				
			||||||
 | 
					-               process = (Process*)(Vector_take(this->processes, i));
 | 
				
			||||||
 | 
					-               process->indent = 0;
 | 
				
			||||||
 | 
					-               Vector_add(this->processes2, process);
 | 
				
			||||||
 | 
					-               ProcessList_buildTree(this, process->pid, 0, 0, direction, process->showChildren);
 | 
				
			||||||
 | 
					-               break;
 | 
				
			||||||
 | 
					-            }
 | 
				
			||||||
 | 
					-         }
 | 
				
			||||||
 | 
					-         // There should be no loop in the process tree
 | 
				
			||||||
 | 
					-         assert(i < size);
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+      // Take PID 1 as root and add to the new listing
 | 
				
			||||||
 | 
					+       int vsize = Vector_size(this->processes);
 | 
				
			||||||
 | 
					+      Process* init = (Process*) (Vector_take(this->processes, 0));
 | 
				
			||||||
 | 
					+      if (!init) return;
 | 
				
			||||||
 | 
					+      // This assertion crashes on hardened kernels.
 | 
				
			||||||
 | 
					+      // I wonder how well tree view works on those systems.
 | 
				
			||||||
 | 
					+      // assert(init->pid == 1);
 | 
				
			||||||
 | 
					+      init->indent = 0;
 | 
				
			||||||
 | 
					+      Vector_add(this->processes2, init);
 | 
				
			||||||
 | 
					+      // Recursively empty list
 | 
				
			||||||
 | 
					+      ProcessList_buildTree(this, init->pid, 0, 0, direction, true);
 | 
				
			||||||
 | 
					+      // Add leftovers
 | 
				
			||||||
 | 
					+      while (Vector_size(this->processes)) {
 | 
				
			||||||
 | 
					+         Process* p = (Process*) (Vector_take(this->processes, 0));
 | 
				
			||||||
 | 
					+         p->indent = 0;
 | 
				
			||||||
 | 
					+         Vector_add(this->processes2, p);
 | 
				
			||||||
 | 
					+         ProcessList_buildTree(this, p->pid, 0, 0, direction, p->showChildren);
 | 
				
			||||||
 | 
					       }
 | 
				
			||||||
 | 
					       assert(Vector_size(this->processes2) == vsize); (void)vsize;
 | 
				
			||||||
 | 
					       assert(Vector_size(this->processes) == 0);
 | 
				
			||||||
 | 
					-- 
 | 
				
			||||||
 | 
					2.16.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,35 +0,0 @@
 | 
				
			||||||
This patch deactivates some tests that fail when ldc is built with the command:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
./pre-inst-env guix environment guix --pure -- ./pre-inst-env guix build ldc@1.1.0-beta6
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
When the --keep-failed flag is added to the build command above, and the tests
 | 
					 | 
				
			||||||
run in the resulting /tmp/guix-build-ldc-1.1.0-beta6.drv-* directory, the tests
 | 
					 | 
				
			||||||
pass.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
by Frederick M. Muriithi <fredmanglis@gmail.com>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff --git a/d_do_test.d b/d_do_test.d
 | 
					 | 
				
			||||||
index aa67169..8173759 100755
 | 
					 | 
				
			||||||
--- a/d_do_test.d
 | 
					 | 
				
			||||||
+++ b/d_do_test.d
 | 
					 | 
				
			||||||
@@ -645,8 +645,6 @@ int main(string[] args)
 | 
					 | 
				
			||||||
                     auto gdb_output = execute(fThisRun, command, true, result_path);
 | 
					 | 
				
			||||||
                     if (testArgs.gdbMatch !is null)
 | 
					 | 
				
			||||||
                     {
 | 
					 | 
				
			||||||
-                        enforce(match(gdb_output, regex(testArgs.gdbMatch)),
 | 
					 | 
				
			||||||
-                                "\nGDB regex: '"~testArgs.gdbMatch~"' didn't match output:\n----\n"~gdb_output~"\n----\n");
 | 
					 | 
				
			||||||
                     }
 | 
					 | 
				
			||||||
                 }
 | 
					 | 
				
			||||||
             }
 | 
					 | 
				
			||||||
diff --git a/runnable/gdb15729.sh b/runnable/gdb15729.sh
 | 
					 | 
				
			||||||
index 1d390e0..906b2b6 100755
 | 
					 | 
				
			||||||
--- a/runnable/gdb15729.sh
 | 
					 | 
				
			||||||
+++ b/runnable/gdb15729.sh
 | 
					 | 
				
			||||||
@@ -21,7 +21,6 @@ if [ $OS == "linux" ]; then
 | 
					 | 
				
			||||||
        echo RESULT=
 | 
					 | 
				
			||||||
        p s.val
 | 
					 | 
				
			||||||
 EOF
 | 
					 | 
				
			||||||
-    gdb ${dir}${SEP}gdb15729 --batch -x ${dir}${SEP}gdb15729.gdb | grep 'RESULT=.*1234' || exit 1
 | 
					 | 
				
			||||||
 fi
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 rm -f ${libname} ${dir}${SEP}{gdb15729${OBJ},gdb15729${EXE},gdb15729.gdb}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,414 +0,0 @@
 | 
				
			||||||
This patch deactivates failing tests that depend on network connectivity
 | 
					 | 
				
			||||||
to pass in curl.d and socket.d
 | 
					 | 
				
			||||||
It deactivates tests in path.d that assume /root
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
A thread was started on the ldc forum to pursue the possibility of a
 | 
					 | 
				
			||||||
version flag to deactivate tests conditionally. The thread is at
 | 
					 | 
				
			||||||
https://forum.dlang.org/post/zmdbdgnzrxyvtpqafvyg@forum.dlang.org
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
by Frederick M. Muriithi <fredmanglis@gmail.com>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff --git a/std/datetime.d b/std/datetime.d
 | 
					 | 
				
			||||||
index 4d4afb1..2c91a44 100644
 | 
					 | 
				
			||||||
--- a/std/datetime.d
 | 
					 | 
				
			||||||
+++ b/std/datetime.d
 | 
					 | 
				
			||||||
@@ -27306,8 +27306,8 @@ public:
 | 
					 | 
				
			||||||
         // leaving it commented out until I can sort it out.
 | 
					 | 
				
			||||||
         //assert(equal(tzNames, tzNames.uniq()));
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-        foreach(tzName; tzNames)
 | 
					 | 
				
			||||||
-            assertNotThrown!DateTimeException(testPZSuccess(tzName));
 | 
					 | 
				
			||||||
+        //foreach(tzName; tzNames)
 | 
					 | 
				
			||||||
+            //assertNotThrown!DateTimeException(testPZSuccess(tzName));
 | 
					 | 
				
			||||||
     }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
@@ -29178,8 +29178,8 @@ public:
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
         auto tzNames = getInstalledTZNames();
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-        foreach(tzName; tzNames)
 | 
					 | 
				
			||||||
-            assertNotThrown!DateTimeException(testPTZSuccess(tzName));
 | 
					 | 
				
			||||||
+        //foreach(tzName; tzNames)
 | 
					 | 
				
			||||||
+            //assertNotThrown!DateTimeException(testPTZSuccess(tzName));
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
         // No timezone directories on Android, just a single tzdata file
 | 
					 | 
				
			||||||
         version(Android) {} else
 | 
					 | 
				
			||||||
diff --git a/std/net/curl.d b/std/net/curl.d
 | 
					 | 
				
			||||||
index 9c6af66..5fccb38 100644
 | 
					 | 
				
			||||||
--- a/std/net/curl.d
 | 
					 | 
				
			||||||
+++ b/std/net/curl.d
 | 
					 | 
				
			||||||
@@ -419,7 +419,7 @@ void download(Conn = AutoProtocol)(const(char)[] url, string saveToPath, Conn co
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    static import std.file;
 | 
					 | 
				
			||||||
+    /*static import std.file;
 | 
					 | 
				
			||||||
     foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
     {
 | 
					 | 
				
			||||||
         testServer.handle((s) {
 | 
					 | 
				
			||||||
@@ -430,7 +430,7 @@ unittest
 | 
					 | 
				
			||||||
         scope (exit) std.file.remove(fn);
 | 
					 | 
				
			||||||
         download(host, fn);
 | 
					 | 
				
			||||||
         assert(std.file.readText(fn) == "Hello world");
 | 
					 | 
				
			||||||
-    }
 | 
					 | 
				
			||||||
+    }*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 /** Upload file from local files system using the HTTP or FTP protocol.
 | 
					 | 
				
			||||||
@@ -483,7 +483,7 @@ void upload(Conn = AutoProtocol)(string loadFromPath, const(char)[] url, Conn co
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    static import std.file;
 | 
					 | 
				
			||||||
+    /*static import std.file;
 | 
					 | 
				
			||||||
     foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
     {
 | 
					 | 
				
			||||||
         auto fn = std.file.deleteme;
 | 
					 | 
				
			||||||
@@ -496,7 +496,7 @@ unittest
 | 
					 | 
				
			||||||
             s.send(httpOK());
 | 
					 | 
				
			||||||
         });
 | 
					 | 
				
			||||||
         upload(fn, host ~ "/path");
 | 
					 | 
				
			||||||
-    }
 | 
					 | 
				
			||||||
+    }*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 /** HTTP/FTP get content.
 | 
					 | 
				
			||||||
@@ -551,7 +551,7 @@ T[] get(Conn = AutoProtocol, T = char)(const(char)[] url, Conn conn = Conn())
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
+    /*foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
     {
 | 
					 | 
				
			||||||
         testServer.handle((s) {
 | 
					 | 
				
			||||||
             assert(s.recvReq.hdrs.canFind("GET /path"));
 | 
					 | 
				
			||||||
@@ -559,7 +559,7 @@ unittest
 | 
					 | 
				
			||||||
         });
 | 
					 | 
				
			||||||
         auto res = get(host ~ "/path");
 | 
					 | 
				
			||||||
         assert(res == "GETRESPONSE");
 | 
					 | 
				
			||||||
-    }
 | 
					 | 
				
			||||||
+    }*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
@@ -598,7 +598,7 @@ if (is(T == char) || is(T == ubyte))
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
+    /*foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
     {
 | 
					 | 
				
			||||||
         testServer.handle((s) {
 | 
					 | 
				
			||||||
             auto req = s.recvReq;
 | 
					 | 
				
			||||||
@@ -608,12 +608,12 @@ unittest
 | 
					 | 
				
			||||||
         });
 | 
					 | 
				
			||||||
         auto res = post(host ~ "/path", "POSTBODY");
 | 
					 | 
				
			||||||
         assert(res == "POSTRESPONSE");
 | 
					 | 
				
			||||||
-    }
 | 
					 | 
				
			||||||
+    }*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    auto data = new ubyte[](256);
 | 
					 | 
				
			||||||
+    /*auto data = new ubyte[](256);
 | 
					 | 
				
			||||||
     foreach (i, ref ub; data)
 | 
					 | 
				
			||||||
         ub = cast(ubyte)i;
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
@@ -624,7 +624,7 @@ unittest
 | 
					 | 
				
			||||||
         s.send(httpOK(cast(ubyte[])[17, 27, 35, 41]));
 | 
					 | 
				
			||||||
     });
 | 
					 | 
				
			||||||
     auto res = post!ubyte(testServer.addr, data);
 | 
					 | 
				
			||||||
-    assert(res == cast(ubyte[])[17, 27, 35, 41]);
 | 
					 | 
				
			||||||
+    assert(res == cast(ubyte[])[17, 27, 35, 41]);*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
@@ -680,7 +680,7 @@ T[] put(Conn = AutoProtocol, T = char, PutUnit)(const(char)[] url, const(PutUnit
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
+    /*foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
     {
 | 
					 | 
				
			||||||
         testServer.handle((s) {
 | 
					 | 
				
			||||||
             auto req = s.recvReq;
 | 
					 | 
				
			||||||
@@ -690,7 +690,7 @@ unittest
 | 
					 | 
				
			||||||
         });
 | 
					 | 
				
			||||||
         auto res = put(host ~ "/path", "PUTBODY");
 | 
					 | 
				
			||||||
         assert(res == "PUTRESPONSE");
 | 
					 | 
				
			||||||
-    }
 | 
					 | 
				
			||||||
+    }*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
@@ -742,7 +742,7 @@ void del(Conn = AutoProtocol)(const(char)[] url, Conn conn = Conn())
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
+    /*foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
     {
 | 
					 | 
				
			||||||
         testServer.handle((s) {
 | 
					 | 
				
			||||||
             auto req = s.recvReq;
 | 
					 | 
				
			||||||
@@ -750,7 +750,7 @@ unittest
 | 
					 | 
				
			||||||
             s.send(httpOK());
 | 
					 | 
				
			||||||
         });
 | 
					 | 
				
			||||||
         del(host ~ "/path");
 | 
					 | 
				
			||||||
-    }
 | 
					 | 
				
			||||||
+    }*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
@@ -796,13 +796,13 @@ T[] options(T = char, OptionsUnit)(const(char)[] url,
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    testServer.handle((s) {
 | 
					 | 
				
			||||||
+    /*testServer.handle((s) {
 | 
					 | 
				
			||||||
         auto req = s.recvReq;
 | 
					 | 
				
			||||||
         assert(req.hdrs.canFind("OPTIONS /path"));
 | 
					 | 
				
			||||||
         s.send(httpOK("OPTIONSRESPONSE"));
 | 
					 | 
				
			||||||
     });
 | 
					 | 
				
			||||||
     auto res = options(testServer.addr ~ "/path");
 | 
					 | 
				
			||||||
-    assert(res == "OPTIONSRESPONSE");
 | 
					 | 
				
			||||||
+    assert(res == "OPTIONSRESPONSE");*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
@@ -836,13 +836,13 @@ T[] trace(T = char)(const(char)[] url, HTTP conn = HTTP())
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    testServer.handle((s) {
 | 
					 | 
				
			||||||
+    /*testServer.handle((s) {
 | 
					 | 
				
			||||||
         auto req = s.recvReq;
 | 
					 | 
				
			||||||
         assert(req.hdrs.canFind("TRACE /path"));
 | 
					 | 
				
			||||||
         s.send(httpOK("TRACERESPONSE"));
 | 
					 | 
				
			||||||
     });
 | 
					 | 
				
			||||||
     auto res = trace(testServer.addr ~ "/path");
 | 
					 | 
				
			||||||
-    assert(res == "TRACERESPONSE");
 | 
					 | 
				
			||||||
+    assert(res == "TRACERESPONSE");*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
@@ -875,13 +875,13 @@ T[] connect(T = char)(const(char)[] url, HTTP conn = HTTP())
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    testServer.handle((s) {
 | 
					 | 
				
			||||||
+    /*testServer.handle((s) {
 | 
					 | 
				
			||||||
         auto req = s.recvReq;
 | 
					 | 
				
			||||||
         assert(req.hdrs.canFind("CONNECT /path"));
 | 
					 | 
				
			||||||
         s.send(httpOK("CONNECTRESPONSE"));
 | 
					 | 
				
			||||||
     });
 | 
					 | 
				
			||||||
     auto res = connect(testServer.addr ~ "/path");
 | 
					 | 
				
			||||||
-    assert(res == "CONNECTRESPONSE");
 | 
					 | 
				
			||||||
+    assert(res == "CONNECTRESPONSE");*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
@@ -919,14 +919,14 @@ T[] patch(T = char, PatchUnit)(const(char)[] url, const(PatchUnit)[] patchData,
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    testServer.handle((s) {
 | 
					 | 
				
			||||||
+    /*testServer.handle((s) {
 | 
					 | 
				
			||||||
         auto req = s.recvReq;
 | 
					 | 
				
			||||||
         assert(req.hdrs.canFind("PATCH /path"));
 | 
					 | 
				
			||||||
         assert(req.bdy.canFind("PATCHBODY"));
 | 
					 | 
				
			||||||
         s.send(httpOK("PATCHRESPONSE"));
 | 
					 | 
				
			||||||
     });
 | 
					 | 
				
			||||||
     auto res = patch(testServer.addr ~ "/path", "PATCHBODY");
 | 
					 | 
				
			||||||
-    assert(res == "PATCHRESPONSE");
 | 
					 | 
				
			||||||
+    assert(res == "PATCHRESPONSE");*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
@@ -1031,19 +1031,19 @@ private auto _basicHTTP(T)(const(char)[] url, const(void)[] sendData, HTTP clien
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    testServer.handle((s) {
 | 
					 | 
				
			||||||
+    /*testServer.handle((s) {
 | 
					 | 
				
			||||||
         auto req = s.recvReq;
 | 
					 | 
				
			||||||
         assert(req.hdrs.canFind("GET /path"));
 | 
					 | 
				
			||||||
         s.send(httpNotFound());
 | 
					 | 
				
			||||||
     });
 | 
					 | 
				
			||||||
     auto e = collectException!CurlException(get(testServer.addr ~ "/path"));
 | 
					 | 
				
			||||||
-    assert(e.msg == "HTTP request returned status code 404 (Not Found)");
 | 
					 | 
				
			||||||
+    assert(e.msg == "HTTP request returned status code 404 (Not Found)");*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 // Bugzilla 14760 - content length must be reset after post
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    testServer.handle((s) {
 | 
					 | 
				
			||||||
+    /*testServer.handle((s) {
 | 
					 | 
				
			||||||
         auto req = s.recvReq;
 | 
					 | 
				
			||||||
         assert(req.hdrs.canFind("POST /"));
 | 
					 | 
				
			||||||
         assert(req.bdy.canFind("POSTBODY"));
 | 
					 | 
				
			||||||
@@ -1061,7 +1061,7 @@ unittest
 | 
					 | 
				
			||||||
     auto res = post(testServer.addr, "POSTBODY", http);
 | 
					 | 
				
			||||||
     assert(res == "POSTRESPONSE");
 | 
					 | 
				
			||||||
     res = trace(testServer.addr, http);
 | 
					 | 
				
			||||||
-    assert(res == "TRACERESPONSE");
 | 
					 | 
				
			||||||
+    assert(res == "TRACERESPONSE");*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 /*
 | 
					 | 
				
			||||||
@@ -1265,14 +1265,14 @@ if (isCurlConn!Conn && isSomeChar!Char && isSomeChar!Terminator)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
+    /*foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
     {
 | 
					 | 
				
			||||||
         testServer.handle((s) {
 | 
					 | 
				
			||||||
             auto req = s.recvReq;
 | 
					 | 
				
			||||||
             s.send(httpOK("Line1\nLine2\nLine3"));
 | 
					 | 
				
			||||||
         });
 | 
					 | 
				
			||||||
         assert(byLine(host).equal(["Line1", "Line2", "Line3"]));
 | 
					 | 
				
			||||||
-    }
 | 
					 | 
				
			||||||
+    }*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 /** HTTP/FTP fetch content as a range of chunks.
 | 
					 | 
				
			||||||
@@ -1337,14 +1337,14 @@ auto byChunk(Conn = AutoProtocol)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
+    /*foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
     {
 | 
					 | 
				
			||||||
         testServer.handle((s) {
 | 
					 | 
				
			||||||
             auto req = s.recvReq;
 | 
					 | 
				
			||||||
             s.send(httpOK(cast(ubyte[])[0, 1, 2, 3, 4, 5]));
 | 
					 | 
				
			||||||
         });
 | 
					 | 
				
			||||||
         assert(byChunk(host, 2).equal([[0, 1], [2, 3], [4, 5]]));
 | 
					 | 
				
			||||||
-    }
 | 
					 | 
				
			||||||
+    }*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 private T[] _getForRange(T,Conn)(const(char)[] url, Conn conn)
 | 
					 | 
				
			||||||
@@ -1629,14 +1629,14 @@ auto byLineAsync(Conn = AutoProtocol, Terminator = char, Char = char)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
+    /*foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
     {
 | 
					 | 
				
			||||||
         testServer.handle((s) {
 | 
					 | 
				
			||||||
             auto req = s.recvReq;
 | 
					 | 
				
			||||||
             s.send(httpOK("Line1\nLine2\nLine3"));
 | 
					 | 
				
			||||||
         });
 | 
					 | 
				
			||||||
         assert(byLineAsync(host).equal(["Line1", "Line2", "Line3"]));
 | 
					 | 
				
			||||||
-    }
 | 
					 | 
				
			||||||
+    }*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
@@ -1778,14 +1778,14 @@ auto byChunkAsync(Conn = AutoProtocol)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-    foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
+    /*foreach (host; [testServer.addr, "http://"~testServer.addr])
 | 
					 | 
				
			||||||
     {
 | 
					 | 
				
			||||||
         testServer.handle((s) {
 | 
					 | 
				
			||||||
             auto req = s.recvReq;
 | 
					 | 
				
			||||||
             s.send(httpOK(cast(ubyte[])[0, 1, 2, 3, 4, 5]));
 | 
					 | 
				
			||||||
         });
 | 
					 | 
				
			||||||
         assert(byChunkAsync(host, 2).equal([[0, 1], [2, 3], [4, 5]]));
 | 
					 | 
				
			||||||
-    }
 | 
					 | 
				
			||||||
+    }*/
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
@@ -2041,7 +2041,7 @@ private mixin template Protocol()
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     unittest
 | 
					 | 
				
			||||||
     {
 | 
					 | 
				
			||||||
-        testServer.handle((s) {
 | 
					 | 
				
			||||||
+        /*testServer.handle((s) {
 | 
					 | 
				
			||||||
             auto req = s.recvReq;
 | 
					 | 
				
			||||||
             assert(req.hdrs.canFind("GET /"));
 | 
					 | 
				
			||||||
             assert(req.hdrs.canFind("Basic dXNlcjpwYXNz"));
 | 
					 | 
				
			||||||
@@ -2051,7 +2051,7 @@ private mixin template Protocol()
 | 
					 | 
				
			||||||
         auto http = HTTP(testServer.addr);
 | 
					 | 
				
			||||||
         http.onReceive = (ubyte[] data) { return data.length; };
 | 
					 | 
				
			||||||
         http.setAuthentication("user", "pass");
 | 
					 | 
				
			||||||
-        http.perform();
 | 
					 | 
				
			||||||
+        http.perform();*/
 | 
					 | 
				
			||||||
     }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     /**
 | 
					 | 
				
			||||||
@@ -2959,7 +2959,7 @@ struct HTTP
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     unittest
 | 
					 | 
				
			||||||
     {
 | 
					 | 
				
			||||||
-        testServer.handle((s) {
 | 
					 | 
				
			||||||
+        /*testServer.handle((s) {
 | 
					 | 
				
			||||||
             auto req = s.recvReq!ubyte;
 | 
					 | 
				
			||||||
             assert(req.hdrs.canFind("POST /path"));
 | 
					 | 
				
			||||||
             assert(req.bdy.canFind(cast(ubyte[])[0, 1, 2, 3, 4]));
 | 
					 | 
				
			||||||
@@ -2975,7 +2975,7 @@ struct HTTP
 | 
					 | 
				
			||||||
         ubyte[] res;
 | 
					 | 
				
			||||||
         http.onReceive = (data) { res ~= data; return data.length; };
 | 
					 | 
				
			||||||
         http.perform();
 | 
					 | 
				
			||||||
-        assert(res == cast(ubyte[])[17, 27, 35, 41]);
 | 
					 | 
				
			||||||
+        assert(res == cast(ubyte[])[17, 27, 35, 41]);*/
 | 
					 | 
				
			||||||
     }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     /**
 | 
					 | 
				
			||||||
diff --git a/std/path.d b/std/path.d
 | 
					 | 
				
			||||||
index 60c844f..0598104 100644
 | 
					 | 
				
			||||||
--- a/std/path.d
 | 
					 | 
				
			||||||
+++ b/std/path.d
 | 
					 | 
				
			||||||
@@ -3953,8 +3953,10 @@ unittest
 | 
					 | 
				
			||||||
         }
 | 
					 | 
				
			||||||
         else
 | 
					 | 
				
			||||||
         {
 | 
					 | 
				
			||||||
+/*
 | 
					 | 
				
			||||||
             assert(expandTilde("~root") == "/root", expandTilde("~root"));
 | 
					 | 
				
			||||||
             assert(expandTilde("~root/") == "/root/", expandTilde("~root/"));
 | 
					 | 
				
			||||||
+*/
 | 
					 | 
				
			||||||
         }
 | 
					 | 
				
			||||||
         assert(expandTilde("~Idontexist/hey") == "~Idontexist/hey");
 | 
					 | 
				
			||||||
     }
 | 
					 | 
				
			||||||
diff --git a/std/socket.d b/std/socket.d
 | 
					 | 
				
			||||||
index 7f5a3c3..e68b881 100644
 | 
					 | 
				
			||||||
--- a/std/socket.d
 | 
					 | 
				
			||||||
+++ b/std/socket.d
 | 
					 | 
				
			||||||
@@ -481,15 +481,15 @@ unittest
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
     softUnittest({
 | 
					 | 
				
			||||||
         Protocol proto = new Protocol;
 | 
					 | 
				
			||||||
-        assert(proto.getProtocolByType(ProtocolType.TCP));
 | 
					 | 
				
			||||||
+        //assert(proto.getProtocolByType(ProtocolType.TCP));
 | 
					 | 
				
			||||||
         //writeln("About protocol TCP:");
 | 
					 | 
				
			||||||
         //writefln("\tName: %s", proto.name);
 | 
					 | 
				
			||||||
         // foreach(string s; proto.aliases)
 | 
					 | 
				
			||||||
         // {
 | 
					 | 
				
			||||||
         //      writefln("\tAlias: %s", s);
 | 
					 | 
				
			||||||
         // }
 | 
					 | 
				
			||||||
-        assert(proto.name == "tcp");
 | 
					 | 
				
			||||||
-        assert(proto.aliases.length == 1 && proto.aliases[0] == "TCP");
 | 
					 | 
				
			||||||
+        //assert(proto.name == "tcp");
 | 
					 | 
				
			||||||
+        //assert(proto.aliases.length == 1 && proto.aliases[0] == "TCP");
 | 
					 | 
				
			||||||
     });
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
@@ -832,9 +832,9 @@ unittest
 | 
					 | 
				
			||||||
     InternetHost ih = new InternetHost;
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     ih.getHostByAddr(0x7F_00_00_01);
 | 
					 | 
				
			||||||
-    assert(ih.addrList[0] == 0x7F_00_00_01);
 | 
					 | 
				
			||||||
+    //assert(ih.addrList[0] == 0x7F_00_00_01);
 | 
					 | 
				
			||||||
     ih.getHostByAddr("127.0.0.1");
 | 
					 | 
				
			||||||
-    assert(ih.addrList[0] == 0x7F_00_00_01);
 | 
					 | 
				
			||||||
+    //assert(ih.addrList[0] == 0x7F_00_00_01);
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
     softUnittest({
 | 
					 | 
				
			||||||
         if (!ih.getHostByName("www.digitalmars.com"))
 | 
					 | 
				
			||||||
							
								
								
									
										88
									
								
								gnu/packages/patches/ldc-1.7.0-disable-phobos-tests.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								gnu/packages/patches/ldc-1.7.0-disable-phobos-tests.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,88 @@
 | 
				
			||||||
 | 
					diff --git a/std/path.d b/std/path.d
 | 
				
			||||||
 | 
					index a9f0bd8..f47d103 100644
 | 
				
			||||||
 | 
					--- a/std/path.d
 | 
				
			||||||
 | 
					+++ b/std/path.d
 | 
				
			||||||
 | 
					@@ -4041,7 +4041,7 @@ version(unittest) import std.process : environment;
 | 
				
			||||||
 | 
					         else version (Android)
 | 
				
			||||||
 | 
					         {
 | 
				
			||||||
 | 
					         }
 | 
				
			||||||
 | 
					-        else
 | 
				
			||||||
 | 
					+        else version (HasRoot)
 | 
				
			||||||
 | 
					         {
 | 
				
			||||||
 | 
					             assert(expandTilde("~root") == "/root", expandTilde("~root"));
 | 
				
			||||||
 | 
					             assert(expandTilde("~root/") == "/root/", expandTilde("~root/"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/std/process.d b/std/process.d
 | 
				
			||||||
 | 
					index df83296..d921cdb 100644
 | 
				
			||||||
 | 
					--- a/std/process.d
 | 
				
			||||||
 | 
					+++ b/std/process.d
 | 
				
			||||||
 | 
					@@ -1171,7 +1171,7 @@ version (Posix) @system unittest
 | 
				
			||||||
 | 
					     assert(exists(buildPath(directory, "bar")));
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-@system unittest // Specifying a bad working directory.
 | 
				
			||||||
 | 
					+@system version(skipunittest) unittest // Specifying a bad working directory.
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					     import std.exception : assertThrown;
 | 
				
			||||||
 | 
					     TestScript prog = "/bin/echo";
 | 
				
			||||||
 | 
					diff --git a/std/socket.d b/std/socket.d
 | 
				
			||||||
 | 
					index 8a261d5..c1b87b6 100644
 | 
				
			||||||
 | 
					--- a/std/socket.d
 | 
				
			||||||
 | 
					+++ b/std/socket.d
 | 
				
			||||||
 | 
					@@ -484,7 +484,7 @@ class Protocol
 | 
				
			||||||
 | 
					 // Skip this test on Android because getprotobyname/number are
 | 
				
			||||||
 | 
					 // unimplemented in bionic.
 | 
				
			||||||
 | 
					 version(CRuntime_Bionic) {} else
 | 
				
			||||||
 | 
					-@safe unittest
 | 
				
			||||||
 | 
					+@safe version(hasNetwork) unittest
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					     softUnittest({
 | 
				
			||||||
 | 
					         Protocol proto = new Protocol;
 | 
				
			||||||
 | 
					@@ -804,7 +804,7 @@ class InternetHost
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 ///
 | 
				
			||||||
 | 
					-@safe unittest
 | 
				
			||||||
 | 
					+@safe version(hasNetwork) unittest
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					     InternetHost ih = new InternetHost;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@@ -959,7 +959,7 @@ AddressInfo[] getAddressInfo(T...)(in char[] node, T options)
 | 
				
			||||||
 | 
					     return () @trusted { return getAddressInfoImpl(node, service, &hints); }();
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-@system unittest
 | 
				
			||||||
 | 
					+@system version(hasNetwork) unittest
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					     struct Oops
 | 
				
			||||||
 | 
					     {
 | 
				
			||||||
 | 
					@@ -1010,7 +1010,7 @@ private AddressInfo[] getAddressInfoImpl(in char[] node, in char[] service, addr
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-@safe unittest
 | 
				
			||||||
 | 
					+@safe version(hasNetwork) unittest
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
 | 
					     softUnittest({
 | 
				
			||||||
 | 
					         if (getaddrinfoPointer)
 | 
				
			||||||
 | 
					diff --git a/std/stdio.d b/std/stdio.d
 | 
				
			||||||
 | 
					index 10106a5..4b0590e 100644
 | 
				
			||||||
 | 
					--- a/std/stdio.d
 | 
				
			||||||
 | 
					+++ b/std/stdio.d
 | 
				
			||||||
 | 
					@@ -1426,8 +1426,7 @@ Removes the lock over the specified file segment.
 | 
				
			||||||
 | 
					         g.unlock();
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-    version(Posix)
 | 
				
			||||||
 | 
					-    @system unittest
 | 
				
			||||||
 | 
					+    @system version(skip) unittest
 | 
				
			||||||
 | 
					     {
 | 
				
			||||||
 | 
					         static import std.file;
 | 
				
			||||||
 | 
					         auto deleteme = testFilename();
 | 
				
			||||||
 | 
					@@ -1483,7 +1482,6 @@ Removes the lock over the specified file segment.
 | 
				
			||||||
 | 
					         f.unlock();
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					 /**
 | 
				
			||||||
 | 
					 Writes its arguments in text format to the file.
 | 
				
			||||||
| 
						 | 
					@ -4,8 +4,8 @@ two others use networking.  Not bad out of almost 700 tests!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
by Pjotr Prins <pjotr.guix@thebird.nl>
 | 
					by Pjotr Prins <pjotr.guix@thebird.nl>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--- a/std/datetime.d.orig	2016-11-24 01:13:52.584495545 +0100
 | 
					--- a/std/datetime.d.orig      2016-11-24 01:13:52.584495545 +0100
 | 
				
			||||||
+++ b/std/datetime.d	2016-11-24 01:17:09.655306728 +0100
 | 
					+++ b/std/datetime.d   2016-11-24 01:17:09.655306728 +0100
 | 
				
			||||||
@@ -28081,22 +28081,24 @@
 | 
					@@ -28081,22 +28081,24 @@
 | 
				
			||||||
         import std.range : retro;
 | 
					         import std.range : retro;
 | 
				
			||||||
         import std.format : format;
 | 
					         import std.format : format;
 | 
				
			||||||
| 
						 | 
					@ -70,5 +70,3 @@ index b85d1c9..7fbf346 100644
 | 
				
			||||||
     });
 | 
					     });
 | 
				
			||||||
+    */
 | 
					+    */
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,22 +0,0 @@
 | 
				
			||||||
Fix CVE-2017-1000229:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
https://security-tracker.debian.org/tracker/CVE-2017-1000229
 | 
					 | 
				
			||||||
https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-1000229.html
 | 
					 | 
				
			||||||
https://nvd.nist.gov/vuln/detail/CVE-2017-1000229
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Patch copied from upstream bug tracker:
 | 
					 | 
				
			||||||
https://sourceforge.net/p/optipng/bugs/65/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff --git a/src/minitiff/tiffread.c b/src/minitiff/tiffread.c
 | 
					 | 
				
			||||||
index b4910ec..5f9b376 100644
 | 
					 | 
				
			||||||
--- a/src/minitiff/tiffread.c
 | 
					 | 
				
			||||||
+++ b/src/minitiff/tiffread.c
 | 
					 | 
				
			||||||
@@ -350,6 +350,8 @@ minitiff_read_info(struct minitiff_info *tiff_ptr, FILE *fp)
 | 
					 | 
				
			||||||
         count = tiff_ptr->strip_offsets_count;
 | 
					 | 
				
			||||||
         if (count == 0 || count > tiff_ptr->height)
 | 
					 | 
				
			||||||
             goto err_invalid;
 | 
					 | 
				
			||||||
+        if (count > (size_t)-1 / sizeof(long))
 | 
					 | 
				
			||||||
+            goto err_memory;
 | 
					 | 
				
			||||||
         tiff_ptr->strip_offsets = (long *)malloc(count * sizeof(long));
 | 
					 | 
				
			||||||
         if (tiff_ptr->strip_offsets == NULL)
 | 
					 | 
				
			||||||
             goto err_memory;
 | 
					 | 
				
			||||||
							
								
								
									
										28
									
								
								gnu/packages/patches/password-store-gnupg-compat.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								gnu/packages/patches/password-store-gnupg-compat.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,28 @@
 | 
				
			||||||
 | 
					Copied from upstream mailing list:
 | 
				
			||||||
 | 
					https://lists.zx2c4.com/pipermail/password-store/2018-February/003216.html.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					From 9b0c86159d754cc88dd3642564eed527153dfb7f Mon Sep 17 00:00:00 2001
 | 
				
			||||||
 | 
					From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= <clement@lassieur.org>
 | 
				
			||||||
 | 
					Date: Sat, 24 Feb 2018 12:05:46 +0100
 | 
				
			||||||
 | 
					Subject: [PATCH] tests: fix compatibility with GnuPG 2.2.5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					 tests/t0300-reencryption.sh | 2 +-
 | 
				
			||||||
 | 
					 1 file changed, 1 insertion(+), 1 deletion(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/tests/t0300-reencryption.sh b/tests/t0300-reencryption.sh
 | 
				
			||||||
 | 
					index 6d5811d..6d15364 100755
 | 
				
			||||||
 | 
					--- a/tests/t0300-reencryption.sh
 | 
				
			||||||
 | 
					+++ b/tests/t0300-reencryption.sh
 | 
				
			||||||
 | 
					@@ -10,7 +10,7 @@ canonicalize_gpg_keys() {
 | 
				
			||||||
 | 
					 	$GPG --list-keys --with-colons "$@" | sed -n 's/sub:[^:]*:[^:]*:[^:]*:\([^:]*\):[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[a-zA-Z]*e[a-zA-Z]*:.*/\1/p' | LC_ALL=C sort -u
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 gpg_keys_from_encrypted_file() {
 | 
				
			||||||
 | 
					-	$GPG -v --no-secmem-warning --no-permission-warning --decrypt --list-only --keyid-format long "$1" 2>&1 | cut -d ' ' -f 5 | LC_ALL=C sort -u
 | 
				
			||||||
 | 
					+	$GPG -v --no-secmem-warning --no-permission-warning --decrypt --list-only --keyid-format long "$1" 2>&1 | grep "public key is" | cut -d ' ' -f 5 | LC_ALL=C sort -u
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 gpg_keys_from_group() {
 | 
				
			||||||
 | 
					 	local output="$($GPG --list-config --with-colons | sed -n "s/^cfg:group:$1:\\(.*\\)/\\1/p" | head -n 1)"
 | 
				
			||||||
 | 
					-- 
 | 
				
			||||||
 | 
					2.16.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,51 +0,0 @@
 | 
				
			||||||
Fix CVE-2017-15038:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15038
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Patch copied from upstream source repository:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=7bd92756303f2158a68d5166264dc30139b813b6
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
From 7bd92756303f2158a68d5166264dc30139b813b6 Mon Sep 17 00:00:00 2001
 | 
					 | 
				
			||||||
From: Prasad J Pandit <pjp@fedoraproject.org>
 | 
					 | 
				
			||||||
Date: Mon, 16 Oct 2017 14:21:59 +0200
 | 
					 | 
				
			||||||
Subject: [PATCH] 9pfs: use g_malloc0 to allocate space for xattr
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
9p back-end first queries the size of an extended attribute,
 | 
					 | 
				
			||||||
allocates space for it via g_malloc() and then retrieves its
 | 
					 | 
				
			||||||
value into allocated buffer. Race between querying attribute
 | 
					 | 
				
			||||||
size and retrieving its could lead to memory bytes disclosure.
 | 
					 | 
				
			||||||
Use g_malloc0() to avoid it.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Reported-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
 | 
					 | 
				
			||||||
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
 | 
					 | 
				
			||||||
Signed-off-by: Greg Kurz <groug@kaod.org>
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 hw/9pfs/9p.c | 4 ++--
 | 
					 | 
				
			||||||
 1 file changed, 2 insertions(+), 2 deletions(-)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
 | 
					 | 
				
			||||||
index 23ac7bb532..f8bbac251d 100644
 | 
					 | 
				
			||||||
--- a/hw/9pfs/9p.c
 | 
					 | 
				
			||||||
+++ b/hw/9pfs/9p.c
 | 
					 | 
				
			||||||
@@ -3234,7 +3234,7 @@ static void coroutine_fn v9fs_xattrwalk(void *opaque)
 | 
					 | 
				
			||||||
         xattr_fidp->fid_type = P9_FID_XATTR;
 | 
					 | 
				
			||||||
         xattr_fidp->fs.xattr.xattrwalk_fid = true;
 | 
					 | 
				
			||||||
         if (size) {
 | 
					 | 
				
			||||||
-            xattr_fidp->fs.xattr.value = g_malloc(size);
 | 
					 | 
				
			||||||
+            xattr_fidp->fs.xattr.value = g_malloc0(size);
 | 
					 | 
				
			||||||
             err = v9fs_co_llistxattr(pdu, &xattr_fidp->path,
 | 
					 | 
				
			||||||
                                      xattr_fidp->fs.xattr.value,
 | 
					 | 
				
			||||||
                                      xattr_fidp->fs.xattr.len);
 | 
					 | 
				
			||||||
@@ -3267,7 +3267,7 @@ static void coroutine_fn v9fs_xattrwalk(void *opaque)
 | 
					 | 
				
			||||||
         xattr_fidp->fid_type = P9_FID_XATTR;
 | 
					 | 
				
			||||||
         xattr_fidp->fs.xattr.xattrwalk_fid = true;
 | 
					 | 
				
			||||||
         if (size) {
 | 
					 | 
				
			||||||
-            xattr_fidp->fs.xattr.value = g_malloc(size);
 | 
					 | 
				
			||||||
+            xattr_fidp->fs.xattr.value = g_malloc0(size);
 | 
					 | 
				
			||||||
             err = v9fs_co_lgetxattr(pdu, &xattr_fidp->path,
 | 
					 | 
				
			||||||
                                     &name, xattr_fidp->fs.xattr.value,
 | 
					 | 
				
			||||||
                                     xattr_fidp->fs.xattr.len);
 | 
					 | 
				
			||||||
-- 
 | 
					 | 
				
			||||||
2.15.0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,66 +0,0 @@
 | 
				
			||||||
Fix CVE-2017-15289:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-15289
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Patch copied from upstream source repository:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=eb38e1bc3740725ca29a535351de94107ec58d51 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
From eb38e1bc3740725ca29a535351de94107ec58d51 Mon Sep 17 00:00:00 2001
 | 
					 | 
				
			||||||
From: Gerd Hoffmann <kraxel@redhat.com>
 | 
					 | 
				
			||||||
Date: Wed, 11 Oct 2017 10:43:14 +0200
 | 
					 | 
				
			||||||
Subject: [PATCH] cirrus: fix oob access in mode4and5 write functions
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Move dst calculation into the loop, so we apply the mask on each
 | 
					 | 
				
			||||||
interation and will not overflow vga memory.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Cc: Prasad J Pandit <pjp@fedoraproject.org>
 | 
					 | 
				
			||||||
Reported-by: Niu Guoxiang <niuguoxiang@huawei.com>
 | 
					 | 
				
			||||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
 | 
					 | 
				
			||||||
Message-id: 20171011084314.21752-1-kraxel@redhat.com
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 hw/display/cirrus_vga.c | 6 ++----
 | 
					 | 
				
			||||||
 1 file changed, 2 insertions(+), 4 deletions(-)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
diff --git a/hw/display/cirrus_vga.c b/hw/display/cirrus_vga.c
 | 
					 | 
				
			||||||
index b4d579857a..bc32bf1e39 100644
 | 
					 | 
				
			||||||
--- a/hw/display/cirrus_vga.c
 | 
					 | 
				
			||||||
+++ b/hw/display/cirrus_vga.c
 | 
					 | 
				
			||||||
@@ -2038,15 +2038,14 @@ static void cirrus_mem_writeb_mode4and5_8bpp(CirrusVGAState * s,
 | 
					 | 
				
			||||||
     unsigned val = mem_value;
 | 
					 | 
				
			||||||
     uint8_t *dst;
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-    dst = s->vga.vram_ptr + (offset &= s->cirrus_addr_mask);
 | 
					 | 
				
			||||||
     for (x = 0; x < 8; x++) {
 | 
					 | 
				
			||||||
+        dst = s->vga.vram_ptr + ((offset + x) & s->cirrus_addr_mask);
 | 
					 | 
				
			||||||
 	if (val & 0x80) {
 | 
					 | 
				
			||||||
 	    *dst = s->cirrus_shadow_gr1;
 | 
					 | 
				
			||||||
 	} else if (mode == 5) {
 | 
					 | 
				
			||||||
 	    *dst = s->cirrus_shadow_gr0;
 | 
					 | 
				
			||||||
 	}
 | 
					 | 
				
			||||||
 	val <<= 1;
 | 
					 | 
				
			||||||
-	dst++;
 | 
					 | 
				
			||||||
     }
 | 
					 | 
				
			||||||
     memory_region_set_dirty(&s->vga.vram, offset, 8);
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
@@ -2060,8 +2059,8 @@ static void cirrus_mem_writeb_mode4and5_16bpp(CirrusVGAState * s,
 | 
					 | 
				
			||||||
     unsigned val = mem_value;
 | 
					 | 
				
			||||||
     uint8_t *dst;
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-    dst = s->vga.vram_ptr + (offset &= s->cirrus_addr_mask);
 | 
					 | 
				
			||||||
     for (x = 0; x < 8; x++) {
 | 
					 | 
				
			||||||
+        dst = s->vga.vram_ptr + ((offset + 2 * x) & s->cirrus_addr_mask & ~1);
 | 
					 | 
				
			||||||
 	if (val & 0x80) {
 | 
					 | 
				
			||||||
 	    *dst = s->cirrus_shadow_gr1;
 | 
					 | 
				
			||||||
 	    *(dst + 1) = s->vga.gr[0x11];
 | 
					 | 
				
			||||||
@@ -2070,7 +2069,6 @@ static void cirrus_mem_writeb_mode4and5_16bpp(CirrusVGAState * s,
 | 
					 | 
				
			||||||
 	    *(dst + 1) = s->vga.gr[0x10];
 | 
					 | 
				
			||||||
 	}
 | 
					 | 
				
			||||||
 	val <<= 1;
 | 
					 | 
				
			||||||
-	dst += 2;
 | 
					 | 
				
			||||||
     }
 | 
					 | 
				
			||||||
     memory_region_set_dirty(&s->vga.vram, offset, 16);
 | 
					 | 
				
			||||||
 }
 | 
					 | 
				
			||||||
-- 
 | 
					 | 
				
			||||||
2.15.0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
							
								
								
									
										29
									
								
								gnu/packages/patches/wavpack-CVE-2018-7253.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								gnu/packages/patches/wavpack-CVE-2018-7253.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,29 @@
 | 
				
			||||||
 | 
					Fix CVE-2018-7253:
 | 
				
			||||||
 | 
					https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7253
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Copied from upstream:
 | 
				
			||||||
 | 
					https://github.com/dbry/WavPack/commit/36a24c7881427d2e1e4dc1cef58f19eee0d13aec
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/cli/dsdiff.c b/cli/dsdiff.c
 | 
				
			||||||
 | 
					index 410dc1c..c016df9 100644
 | 
				
			||||||
 | 
					--- a/cli/dsdiff.c
 | 
				
			||||||
 | 
					+++ b/cli/dsdiff.c
 | 
				
			||||||
 | 
					@@ -153,7 +153,17 @@ int ParseDsdiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa
 | 
				
			||||||
 | 
					                 error_line ("dsdiff file version = 0x%08x", version);
 | 
				
			||||||
 | 
					         }
 | 
				
			||||||
 | 
					         else if (!strncmp (dff_chunk_header.ckID, "PROP", 4)) {
 | 
				
			||||||
 | 
					-            char *prop_chunk = malloc ((size_t) dff_chunk_header.ckDataSize);
 | 
				
			||||||
 | 
					+            char *prop_chunk;
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+            if (dff_chunk_header.ckDataSize < 4 || dff_chunk_header.ckDataSize > 1024) {
 | 
				
			||||||
 | 
					+                error_line ("%s is not a valid .DFF file!", infilename);
 | 
				
			||||||
 | 
					+                return WAVPACK_SOFT_ERROR;
 | 
				
			||||||
 | 
					+            }
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+            if (debug_logging_mode)
 | 
				
			||||||
 | 
					+                error_line ("got PROP chunk of %d bytes total", (int) dff_chunk_header.ckDataSize);
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+            prop_chunk = malloc ((size_t) dff_chunk_header.ckDataSize);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					             if (!DoReadFile (infile, prop_chunk, (uint32_t) dff_chunk_header.ckDataSize, &bcount) ||
 | 
				
			||||||
 | 
					                 bcount != dff_chunk_header.ckDataSize) {
 | 
				
			||||||
							
								
								
									
										62
									
								
								gnu/packages/patches/wavpack-CVE-2018-7254.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								gnu/packages/patches/wavpack-CVE-2018-7254.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,62 @@
 | 
				
			||||||
 | 
					Fix CVE-2018-7254:
 | 
				
			||||||
 | 
					https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7254
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Copied from upstream:
 | 
				
			||||||
 | 
					https://github.com/dbry/WavPack/commit/8e3fe45a7bac31d9a3b558ae0079e2d92a04799e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/cli/caff.c b/cli/caff.c
 | 
				
			||||||
 | 
					index ae57c4b..6248a71 100644
 | 
				
			||||||
 | 
					--- a/cli/caff.c
 | 
				
			||||||
 | 
					+++ b/cli/caff.c
 | 
				
			||||||
 | 
					@@ -89,8 +89,8 @@ typedef struct
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 #define CAFChannelDescriptionFormat "LLLLL"
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-static const char TMH_full [] = { 1,2,3,13,9,10,5,6,12,14,15,16,17,9,4,18,7,8,19,20,21 };
 | 
				
			||||||
 | 
					-static const char TMH_std [] = { 1,2,3,11,8,9,5,6,10,12,13,14,15,7,4,16 };
 | 
				
			||||||
 | 
					+static const char TMH_full [] = { 1,2,3,13,9,10,5,6,12,14,15,16,17,9,4,18,7,8,19,20,21,0 };
 | 
				
			||||||
 | 
					+static const char TMH_std [] = { 1,2,3,11,8,9,5,6,10,12,13,14,15,7,4,16,0 };
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 static struct {
 | 
				
			||||||
 | 
					     uint32_t mChannelLayoutTag;     // Core Audio layout, 100 - 146 in high word, num channels in low word
 | 
				
			||||||
 | 
					@@ -274,10 +274,19 @@ int ParseCaffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack
 | 
				
			||||||
 | 
					             }
 | 
				
			||||||
 | 
					         }
 | 
				
			||||||
 | 
					         else if (!strncmp (caf_chunk_header.mChunkType, "chan", 4)) {
 | 
				
			||||||
 | 
					-            CAFChannelLayout *caf_channel_layout = malloc ((size_t) caf_chunk_header.mChunkSize);
 | 
				
			||||||
 | 
					+            CAFChannelLayout *caf_channel_layout;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-            if (caf_chunk_header.mChunkSize < sizeof (CAFChannelLayout) ||
 | 
				
			||||||
 | 
					-                !DoReadFile (infile, caf_channel_layout, (uint32_t) caf_chunk_header.mChunkSize, &bcount) ||
 | 
				
			||||||
 | 
					+            if (caf_chunk_header.mChunkSize < sizeof (CAFChannelLayout) || caf_chunk_header.mChunkSize > 1024) {
 | 
				
			||||||
 | 
					+                error_line ("this .CAF file has an invalid 'chan' chunk!");
 | 
				
			||||||
 | 
					+                return WAVPACK_SOFT_ERROR;
 | 
				
			||||||
 | 
					+            }
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+            if (debug_logging_mode)
 | 
				
			||||||
 | 
					+                error_line ("'chan' chunk is %d bytes", (int) caf_chunk_header.mChunkSize);
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+            caf_channel_layout = malloc ((size_t) caf_chunk_header.mChunkSize);
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+            if (!DoReadFile (infile, caf_channel_layout, (uint32_t) caf_chunk_header.mChunkSize, &bcount) ||
 | 
				
			||||||
 | 
					                 bcount != caf_chunk_header.mChunkSize) {
 | 
				
			||||||
 | 
					                     error_line ("%s is not a valid .CAF file!", infilename);
 | 
				
			||||||
 | 
					                     free (caf_channel_layout);
 | 
				
			||||||
 | 
					@@ -495,8 +504,15 @@ int ParseCaffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack
 | 
				
			||||||
 | 
					         }
 | 
				
			||||||
 | 
					         else {          // just copy unknown chunks to output file
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-            int bytes_to_copy = (uint32_t) caf_chunk_header.mChunkSize;
 | 
				
			||||||
 | 
					-            char *buff = malloc (bytes_to_copy);
 | 
				
			||||||
 | 
					+            uint32_t bytes_to_copy = (uint32_t) caf_chunk_header.mChunkSize;
 | 
				
			||||||
 | 
					+            char *buff;
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+            if (caf_chunk_header.mChunkSize < 0 || caf_chunk_header.mChunkSize > 1048576) {
 | 
				
			||||||
 | 
					+                error_line ("%s is not a valid .CAF file!", infilename);
 | 
				
			||||||
 | 
					+                return WAVPACK_SOFT_ERROR;
 | 
				
			||||||
 | 
					+            }
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+            buff = malloc (bytes_to_copy);
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					             if (debug_logging_mode)
 | 
				
			||||||
 | 
					                 error_line ("extra unknown chunk \"%c%c%c%c\" of %d bytes",
 | 
				
			||||||
| 
						 | 
					@ -11,6 +11,7 @@
 | 
				
			||||||
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
 | 
					;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
 | 
				
			||||||
;;; Copyright © 2017 Petter <petter@mykolab.ch>
 | 
					;;; Copyright © 2017 Petter <petter@mykolab.ch>
 | 
				
			||||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -409,6 +410,28 @@ exception based code.  It is built with Test::Builder and plays happily with
 | 
				
			||||||
Test::More and friends.")
 | 
					Test::More and friends.")
 | 
				
			||||||
    (license perl-license)))
 | 
					    (license perl-license)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-test-failwarnings
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-test-failwarnings")
 | 
				
			||||||
 | 
					    (version "0.008")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "0vx9chcp5x8m0chq574p9fnfckh5gl94j7904rh9v17n568fyd6s"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("perl-capture-tiny" ,perl-capture-tiny)))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/Test-FailWarnings/")
 | 
				
			||||||
 | 
					    (synopsis "Add test failures if warnings are caught")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "Test::FailWarnings adds test failures if warnings are caught.")
 | 
				
			||||||
 | 
					    (license asl2.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-test-fatal
 | 
					(define-public perl-test-fatal
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-test-fatal")
 | 
					    (name "perl-test-fatal")
 | 
				
			||||||
| 
						 | 
					@ -456,6 +479,28 @@ testing exception-throwing code with about the same amount of typing.")
 | 
				
			||||||
for testing.")
 | 
					for testing.")
 | 
				
			||||||
    (license perl-license)))
 | 
					    (license perl-license)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-test-filename
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-test-filename")
 | 
				
			||||||
 | 
					    (version "0.03")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Filename-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1gpw4mjw68gnby8s4cifvbz6g2923xsc189jkw9d27i8qv20qiba"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("perl-path-tiny" ,perl-path-tiny)))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/Test-Filename/")
 | 
				
			||||||
 | 
					    (synopsis "Portable filename comparison")
 | 
				
			||||||
 | 
					    (description "Test::Filename provides functions to convert all path
 | 
				
			||||||
 | 
					separators automatically.")
 | 
				
			||||||
 | 
					    (license asl2.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-test-files
 | 
					(define-public perl-test-files
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-test-files")
 | 
					    (name "perl-test-files")
 | 
				
			||||||
| 
						 | 
					@ -928,6 +973,34 @@ cannot connect to the specified hosts and ports, the exception is caught and
 | 
				
			||||||
reported, and the tests skipped.")
 | 
					reported, and the tests skipped.")
 | 
				
			||||||
    (license perl-license)))
 | 
					    (license perl-license)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-test-roo
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-test-roo")
 | 
				
			||||||
 | 
					    (version "1.004")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Roo-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1mnym49j1lj7gzylma5b6nr4vp75rmgz2v71904v01xmxhy9l4i1"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("perl-capture-tiny" ,perl-capture-tiny)))
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("perl-indirect" ,perl-indirect)
 | 
				
			||||||
 | 
					       ("perl-moo" ,perl-moo)
 | 
				
			||||||
 | 
					       ("perl-moox-types-mooselike" ,perl-moox-types-mooselike)
 | 
				
			||||||
 | 
					       ("perl-multidimensional" ,perl-multidimensional)
 | 
				
			||||||
 | 
					       ("perl-strictures" ,perl-strictures)
 | 
				
			||||||
 | 
					       ("perl-sub-install" ,perl-sub-install)))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/Test-Roo/")
 | 
				
			||||||
 | 
					    (synopsis "Composable, reusable tests with roles and Moo")
 | 
				
			||||||
 | 
					    (description "Test::Roo provides composable, reusable tests with roles.")
 | 
				
			||||||
 | 
					    (license asl2.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-test-script
 | 
					(define-public perl-test-script
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-test-script")
 | 
					    (name "perl-test-script")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,6 +18,7 @@
 | 
				
			||||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 | 
					;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 | 
				
			||||||
;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
 | 
					;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -35,6 +36,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 perl)
 | 
					(define-module (gnu packages perl)
 | 
				
			||||||
 | 
					  #:use-module (srfi srfi-1)
 | 
				
			||||||
  #:use-module (guix licenses)
 | 
					  #:use-module (guix licenses)
 | 
				
			||||||
  #:use-module (gnu packages)
 | 
					  #:use-module (gnu packages)
 | 
				
			||||||
  #:use-module (guix packages)
 | 
					  #:use-module (guix packages)
 | 
				
			||||||
| 
						 | 
					@ -343,6 +345,31 @@ autovivification for some constructs and optionally throws a warning or an
 | 
				
			||||||
error when it would have happened.")
 | 
					error when it would have happened.")
 | 
				
			||||||
    (license (package-license perl))))
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-bareword-filehandles
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-bareword-filehandles")
 | 
				
			||||||
 | 
					    (version "0.005")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/I/IL/ILMARI/bareword-filehandles-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "0fdirls2pg7d6ymvlzzz59q3dy6hgh08k0qpr2mw51w127s8rav6"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check)
 | 
				
			||||||
 | 
					       ("perl-extutils-depends" ,perl-extutils-depends)))
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check)
 | 
				
			||||||
 | 
					       ("perl-lexical-sealrequirehints" ,perl-lexical-sealrequirehints)))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/bareword-filehandles/")
 | 
				
			||||||
 | 
					    (synopsis "Disables bareword filehandles")
 | 
				
			||||||
 | 
					    (description "This module disables bareword filehandles.")
 | 
				
			||||||
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-base
 | 
					(define-public perl-base
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-base")
 | 
					    (name "perl-base")
 | 
				
			||||||
| 
						 | 
					@ -409,6 +436,27 @@ all known commands are checked.")
 | 
				
			||||||
compiling the surrounding scope.")
 | 
					compiling the surrounding scope.")
 | 
				
			||||||
    (license (package-license perl))))
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-b-hooks-op-check
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-b-hooks-op-check")
 | 
				
			||||||
 | 
					    (version "0.22")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-OP-Check-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1kfdv25gn6yik8jrwik4ajp99gi44s6idcvyyrzhiycyynzd3df7"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("perl-extutils-depends" ,perl-extutils-depends)))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/B-Hooks-OP-Check/")
 | 
				
			||||||
 | 
					    (synopsis "Wrap OP check callbacks")
 | 
				
			||||||
 | 
					    (description "This module allows you to wrap OP check callbacks.")
 | 
				
			||||||
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-b-keywords
 | 
					(define-public perl-b-keywords
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-b-keywords")
 | 
					    (name "perl-b-keywords")
 | 
				
			||||||
| 
						 | 
					@ -1812,6 +1860,32 @@ an \"unless\" regular expression.  If the text in question matches the
 | 
				
			||||||
like split on newlines unless newlines are embedded in quotes.")
 | 
					like split on newlines unless newlines are embedded in quotes.")
 | 
				
			||||||
    (license (package-license perl))))
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-data-section
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-data-section")
 | 
				
			||||||
 | 
					    (version "0.200007")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/R/RJ/RJBS/Data-Section-"
 | 
				
			||||||
 | 
					             version
 | 
				
			||||||
 | 
					             ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1pmlxca0a8sv2jjwvhwgqavq6iwys6kf457lby4anjp3f1dpx4yd"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("perl-test-failwarnings" ,perl-test-failwarnings)))
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("perl-mro-compat" ,perl-mro-compat)
 | 
				
			||||||
 | 
					       ("perl-sub-exporter" ,perl-sub-exporter)))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/Data-Section/")
 | 
				
			||||||
 | 
					    (synopsis "Read multiple hunks of data out of your DATA section")
 | 
				
			||||||
 | 
					    (description "This package provides a Perl library to read multiple hunks
 | 
				
			||||||
 | 
					of data out of your DATA section.")
 | 
				
			||||||
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-data-stag
 | 
					(define-public perl-data-stag
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-data-stag")
 | 
					    (name "perl-data-stag")
 | 
				
			||||||
| 
						 | 
					@ -3003,6 +3077,30 @@ and alternative installers with the `installler` option.  But it's written in
 | 
				
			||||||
only about 40% as many lines of code and with zero non-core dependencies.")
 | 
					only about 40% as many lines of code and with zero non-core dependencies.")
 | 
				
			||||||
    (license (package-license perl))))
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-extutils-depends
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-extutils-depends")
 | 
				
			||||||
 | 
					    (version "0.405")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-Depends-"
 | 
				
			||||||
 | 
					             version
 | 
				
			||||||
 | 
					             ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "0b4ab9qmcihsfs2ajhn5qzg7nhazr68v3r0zvb7076smswd41mla"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("perl-test-number-delta"
 | 
				
			||||||
 | 
					        ,perl-test-number-delta)))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/ExtUtils-Depends/")
 | 
				
			||||||
 | 
					    (synopsis "Easily build XS extensions that depend on XS extensions")
 | 
				
			||||||
 | 
					    (description "ExtUtils::Depends builds XS extensions that depend on XS
 | 
				
			||||||
 | 
					extensions")
 | 
				
			||||||
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-extutils-installpaths
 | 
					(define-public perl-extutils-installpaths
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-extutils-installpaths")
 | 
					    (name "perl-extutils-installpaths")
 | 
				
			||||||
| 
						 | 
					@ -3857,6 +3955,26 @@ dependencies for CPAN distributions.  These dependencies get bundled into the
 | 
				
			||||||
inc directory within a distribution and are used by Makefile.PL or Build.PL.")
 | 
					inc directory within a distribution and are used by Makefile.PL or Build.PL.")
 | 
				
			||||||
    (license asl2.0)))
 | 
					    (license asl2.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-indirect
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-indirect")
 | 
				
			||||||
 | 
					    (version "0.38")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/V/VP/VPIT/indirect-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "13k5a8p903m8x3pcv9qqkzvnb8gpgq36cr3dvn3lk1ngsi9w5ydy"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/indirect/")
 | 
				
			||||||
 | 
					    (synopsis "Lexically warn about using the indirect method call syntax")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "Indirect warns about using the indirect method call syntax.")
 | 
				
			||||||
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-io-captureoutput
 | 
					(define-public perl-io-captureoutput
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-io-captureoutput")
 | 
					    (name "perl-io-captureoutput")
 | 
				
			||||||
| 
						 | 
					@ -4175,6 +4293,29 @@ either uses the first module it finds or throws an error.")
 | 
				
			||||||
versa.")
 | 
					versa.")
 | 
				
			||||||
    (license (package-license perl))))
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-lexical-sealrequirehints
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-lexical-sealrequirehints")
 | 
				
			||||||
 | 
					    (version "0.011")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Lexical-SealRequireHints-"
 | 
				
			||||||
 | 
					             version
 | 
				
			||||||
 | 
					             ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "0fh1arpr0hsj7skbn97yfvbk22pfcrpcvcfs15p5ss7g338qx4cy"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("perl-module-build" ,perl-module-build)))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/Lexical-SealRequireHints/")
 | 
				
			||||||
 | 
					    (synopsis "Prevent leakage of lexical hints")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "Lexical::SealRequireHints prevents leakage of lexical hints")
 | 
				
			||||||
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-log-any
 | 
					(define-public perl-log-any
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-log-any")
 | 
					    (name "perl-log-any")
 | 
				
			||||||
| 
						 | 
					@ -4980,6 +5121,37 @@ that avoids the details of Perl's object system.  Moo contains a subset of
 | 
				
			||||||
Moose and is optimised for rapid startup.")
 | 
					Moose and is optimised for rapid startup.")
 | 
				
			||||||
    (license (package-license perl))))
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; Some packages don't yet work with this newer version of ‘Moo’.
 | 
				
			||||||
 | 
					(define-public perl-moo-2
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (inherit perl-moo)
 | 
				
			||||||
 | 
					    (name "perl-moo-2")
 | 
				
			||||||
 | 
					    (version "2.003004")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
 | 
				
			||||||
 | 
					                           "Moo-" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1qciprcgb4661g2g4ks0fxkx5gbjvn7h9yfg0nzflqz9z0jvdfzq"))))
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("perl-role-tiny" ,perl-role-tiny-2)
 | 
				
			||||||
 | 
					       ("perl-sub-name" ,perl-sub-name)
 | 
				
			||||||
 | 
					       ("perl-sub-quote" ,perl-sub-quote)
 | 
				
			||||||
 | 
					       ("perl-strictures" ,perl-strictures-2)
 | 
				
			||||||
 | 
					       ,@(alist-delete "perl-strictures"
 | 
				
			||||||
 | 
					                       (alist-delete "perl-role-tiny"
 | 
				
			||||||
 | 
					                                     (package-propagated-inputs perl-moo)))))
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-before 'configure 'set-perl-search-path
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             ;; Use perl-strictures for testing.
 | 
				
			||||||
 | 
					             (setenv "MOO_FATAL_WARNINGS" "=1")
 | 
				
			||||||
 | 
					             #t)))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-moose
 | 
					(define-public perl-moose
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-moose")
 | 
					    (name "perl-moose")
 | 
				
			||||||
| 
						 | 
					@ -5853,6 +6025,32 @@ Certificate Authority certificates in a form that can be consumed by modules
 | 
				
			||||||
and libraries based on OpenSSL.")
 | 
					and libraries based on OpenSSL.")
 | 
				
			||||||
    (license mpl2.0)))
 | 
					    (license mpl2.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-multidimensional
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-multidimensional")
 | 
				
			||||||
 | 
					    (version "0.013")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/I/IL/ILMARI/multidimensional-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "02p5zv68i39hnkmzzxsk1fi7xy56pfcsslrd7yqwzhq74czcw81x"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check)
 | 
				
			||||||
 | 
					       ("perl-extutils-depends" ,perl-extutils-depends)))
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check)
 | 
				
			||||||
 | 
					       ("perl-lexical-sealrequirehints" ,perl-lexical-sealrequirehints)))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/multidimensional/")
 | 
				
			||||||
 | 
					    (synopsis "Disable multidimensional array emulation")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "Multidimensional disables multidimensional array emulation.")
 | 
				
			||||||
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-mro-compat
 | 
					(define-public perl-mro-compat
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-mro-compat")
 | 
					    (name "perl-mro-compat")
 | 
				
			||||||
| 
						 | 
					@ -6025,6 +6223,26 @@ collector daemon in use at Etsy.com.")
 | 
				
			||||||
subroutine, which you can call with a value to be tested against.")
 | 
					subroutine, which you can call with a value to be tested against.")
 | 
				
			||||||
    (license (package-license perl))))
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-number-range
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-number-range")
 | 
				
			||||||
 | 
					    (version "0.12")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/L/LA/LARRYSH/Number-Range-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "0999xvs3w2xprs14q4shqndjf2m6mzvhzdljgr61ddjaqhd84gj3"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/Number-Range/")
 | 
				
			||||||
 | 
					    (synopsis "Perl extension defining ranges of numbers")
 | 
				
			||||||
 | 
					    (description "Number::Range is an object-oriented interface to test if a
 | 
				
			||||||
 | 
					number exists in a given range, and to be able to manipulate the range.")
 | 
				
			||||||
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-object-signature
 | 
					(define-public perl-object-signature
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-object-signature")
 | 
					    (name "perl-object-signature")
 | 
				
			||||||
| 
						 | 
					@ -6626,6 +6844,20 @@ and @code{deserialize_regexp}.")
 | 
				
			||||||
    (description "Role::Tiny is a minimalist role composition tool.")
 | 
					    (description "Role::Tiny is a minimalist role composition tool.")
 | 
				
			||||||
    (license (package-license perl))))
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; Some packages don't yet work with this newer version of ‘Role::Tiny’.
 | 
				
			||||||
 | 
					(define-public perl-role-tiny-2
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (inherit perl-role-tiny)
 | 
				
			||||||
 | 
					    (version "2.000006")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
 | 
				
			||||||
 | 
					                           "Role-Tiny-" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "10p3sc639c0nj56bb77a2wg8samyyl8sqpliv3n8c0jaj2642wyc"))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-safe-isa
 | 
					(define-public perl-safe-isa
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-safe-isa")
 | 
					    (name "perl-safe-isa")
 | 
				
			||||||
| 
						 | 
					@ -6865,6 +7097,20 @@ on the length of the size.")
 | 
				
			||||||
run from within a source-controlled directory.")
 | 
					run from within a source-controlled directory.")
 | 
				
			||||||
    (license (package-license perl))))
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; Some packages don't yet work with this newer version of ‘strictures’.
 | 
				
			||||||
 | 
					(define-public perl-strictures-2
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (inherit perl-strictures)
 | 
				
			||||||
 | 
					    (version "2.000003")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
 | 
				
			||||||
 | 
					                           "strictures-" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "08mgvf1d2651gsg3jgjfs13878ndqa4ji8vfsda9f7jjd84ymy17"))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-string-camelcase
 | 
					(define-public perl-string-camelcase
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-string-camelcase")
 | 
					    (name "perl-string-camelcase")
 | 
				
			||||||
| 
						 | 
					@ -6894,6 +7140,28 @@ run from within a source-controlled directory.")
 | 
				
			||||||
CamelCase and back again.")
 | 
					CamelCase and back again.")
 | 
				
			||||||
    (license (package-license perl))))
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-string-escape
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-string-escape")
 | 
				
			||||||
 | 
					    (version "2010.002")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/E/EV/EVO/String-Escape-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "12ls7f7847i4qcikkp3skwraqvjphjiv2zxfhl5d49326f5myr7x"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/String-Escape/")
 | 
				
			||||||
 | 
					    (synopsis "Backslash escapes, quoted phrase, word elision, etc.")
 | 
				
			||||||
 | 
					    (description "This module provides a flexible calling interface to some
 | 
				
			||||||
 | 
					frequently-performed string conversion functions, including applying and
 | 
				
			||||||
 | 
					expanding standard C/Unix-style backslash escapes like \n and \t, wrapping and
 | 
				
			||||||
 | 
					removing double-quotes, and truncating to fit within a desired length.")
 | 
				
			||||||
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-string-rewriteprefix
 | 
					(define-public perl-string-rewriteprefix
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-string-rewriteprefix")
 | 
					    (name "perl-string-rewriteprefix")
 | 
				
			||||||
| 
						 | 
					@ -7069,6 +7337,30 @@ specification is omitted in the name, then the current package is used.  The
 | 
				
			||||||
return value is the sub.")
 | 
					return value is the sub.")
 | 
				
			||||||
    (license (package-license perl))))
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-sub-quote
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-sub-quote")
 | 
				
			||||||
 | 
					    (version "2.004000")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/H/HA/HAARG/Sub-Quote-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1zrh3apxsw1ks25zkh9dcn00656rsvq4mimqz3w8p37s2c1m4qaq"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("perl-test-fatal" ,perl-test-fatal)))
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("perl-sub-name" ,perl-sub-name)))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/Sub-Quote/")
 | 
				
			||||||
 | 
					    (synopsis "Efficient generation of subroutines via string eval")
 | 
				
			||||||
 | 
					    (description "Sub::Quote provides an efficient generation of subroutines
 | 
				
			||||||
 | 
					via string eval.")
 | 
				
			||||||
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-sub-uplevel
 | 
					(define-public perl-sub-uplevel
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-sub-uplevel")
 | 
					    (name "perl-sub-uplevel")
 | 
				
			||||||
| 
						 | 
					@ -8331,6 +8623,27 @@ UNIVERSAL::can() as a function, which it is not.")
 | 
				
			||||||
UNIVERSAL::isa as a function.")
 | 
					UNIVERSAL::isa as a function.")
 | 
				
			||||||
    (license (package-license perl))))
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-universal-require
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-universal-require")
 | 
				
			||||||
 | 
					    (version "0.18")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/N/NE/NEILB/UNIVERSAL-require-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1v9qdg80ng6dzyzs7cn8sb6mn8ym042i32lcnpd478b7g6l3d9xj"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/UNIVERSAL-require/")
 | 
				
			||||||
 | 
					    (synopsis "Require modules from a variable")
 | 
				
			||||||
 | 
					    (description "This module lets you require other modules where the module
 | 
				
			||||||
 | 
					name is in a variable, something you can't do with the @code{require}
 | 
				
			||||||
 | 
					built-in.")
 | 
				
			||||||
 | 
					    (license (package-license perl))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public perl-variable-magic
 | 
					(define-public perl-variable-magic
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-variable-magic")
 | 
					    (name "perl-variable-magic")
 | 
				
			||||||
| 
						 | 
					@ -8817,3 +9130,101 @@ till 5pm\" and \"on the second Tuesday of the month\" and \"between 4pm and
 | 
				
			||||||
4:15pm\" and \"in the first half of each minute\" and \"in January of
 | 
					4:15pm\" and \"in the first half of each minute\" and \"in January of
 | 
				
			||||||
1998\".")
 | 
					1998\".")
 | 
				
			||||||
    (license perl-license)))
 | 
					    (license perl-license)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-path-iterator-rule
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-path-iterator-rule")
 | 
				
			||||||
 | 
					    (version "1.012")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Iterator-Rule-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1z76avwvwgv4bw28kzx79mmb4449s5l345sn0wljq3dbf4wqigd1"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("perl-file-pushd" ,perl-file-pushd)
 | 
				
			||||||
 | 
					       ("perl-path-tiny" ,perl-path-tiny)
 | 
				
			||||||
 | 
					       ("perl-test-deep" ,perl-test-deep)
 | 
				
			||||||
 | 
					       ("perl-test-filename" ,perl-test-filename)))
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     `(("perl-number-compare" ,perl-number-compare)
 | 
				
			||||||
 | 
					       ("perl-text-glob" ,perl-text-glob)
 | 
				
			||||||
 | 
					       ("perl-try-tiny" ,perl-try-tiny)))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/Path-Iterator-Rule/")
 | 
				
			||||||
 | 
					    (synopsis "Iterative, recursive file finder")
 | 
				
			||||||
 | 
					    (description "Path::Iterator::Rule iterates over files and directories to
 | 
				
			||||||
 | 
					identify ones matching a user-defined set of rules.  The API is based heavily
 | 
				
			||||||
 | 
					on File::Find::Rule, but with more explicit distinction between matching rules
 | 
				
			||||||
 | 
					and options that influence how directories are searched.  A
 | 
				
			||||||
 | 
					Path::Iterator::Rule object is a collection of rules (match criteria) with
 | 
				
			||||||
 | 
					methods to add additional criteria.  Options that control directory traversal
 | 
				
			||||||
 | 
					are given as arguments to the method that generates an iterator.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A summary of features for comparison to other file finding modules:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@itemize
 | 
				
			||||||
 | 
					@item provides many helper methods for specifying rules
 | 
				
			||||||
 | 
					@item offers (lazy) iterator and flattened list interfaces
 | 
				
			||||||
 | 
					@item custom rules implemented with callbacks
 | 
				
			||||||
 | 
					@item breadth-first (default) or pre- or post-order depth-first searching
 | 
				
			||||||
 | 
					@item follows symlinks (by default, but can be disabled)
 | 
				
			||||||
 | 
					@item directories visited only once (no infinite loop; can be disabled)
 | 
				
			||||||
 | 
					@item doesn't chdir during operation
 | 
				
			||||||
 | 
					@item provides an API for extensions
 | 
				
			||||||
 | 
					@end itemize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					As a convenience, the PIR module is an empty subclass of this one that is less
 | 
				
			||||||
 | 
					arduous to type for one-liners.")
 | 
				
			||||||
 | 
					    (license asl2.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-pod-constants
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-pod-constants")
 | 
				
			||||||
 | 
					    (version "0.19")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/M/MG/MGV/Pod-Constants-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1njgr2zly9nrwvfrjhgk9dqq48as1pmbb2rs4bh3irvla75v7azg"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/Pod-Constants/")
 | 
				
			||||||
 | 
					    (synopsis "Include constants from POD")
 | 
				
			||||||
 | 
					    (description "This module allows you to specify those constants that
 | 
				
			||||||
 | 
					should be documented in your POD, and pull them out a run time in a fairly
 | 
				
			||||||
 | 
					arbitrary fashion.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pod::Constants uses Pod::Parser to do the parsing of the source file.  It has
 | 
				
			||||||
 | 
					to open the source file it is called from, and does so directly either by
 | 
				
			||||||
 | 
					lookup in %INC or by assuming it is $0 if the caller is @code{main}
 | 
				
			||||||
 | 
					(or it can't find %INC{caller()}).")
 | 
				
			||||||
 | 
					    (license artistic2.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public perl-regexp-pattern
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "perl-regexp-pattern")
 | 
				
			||||||
 | 
					    (version "0.1.4")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append
 | 
				
			||||||
 | 
					             "mirror://cpan/authors/id/P/PE/PERLANCAR/Regexp-Pattern-"
 | 
				
			||||||
 | 
					             version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "0rwpl6dxd1yl2ng3d4jdy68jz3mggmdl35rphrw1x619sm1aa876"))))
 | 
				
			||||||
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("perl-test-exception" ,perl-test-exception)))
 | 
				
			||||||
 | 
					    (home-page "http://search.cpan.org/dist/Regexp-Pattern/")
 | 
				
			||||||
 | 
					    (synopsis "Collection of regexp patterns")
 | 
				
			||||||
 | 
					    (description "Regexp::Pattern is a convention for organizing reusable
 | 
				
			||||||
 | 
					regexp patterns in modules.")
 | 
				
			||||||
 | 
					    (license (package-license perl))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
 | 
					;;; Copyright © 2015 David Thompson <davet@gnu.org>
 | 
				
			||||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2016 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.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -30,7 +31,7 @@
 | 
				
			||||||
(define-public pumpa
 | 
					(define-public pumpa
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "pumpa")
 | 
					    (name "pumpa")
 | 
				
			||||||
    (version "0.9.2")
 | 
					    (version "0.9.3")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch) ; no source tarballs
 | 
					              (method git-fetch) ; no source tarballs
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -38,7 +39,7 @@
 | 
				
			||||||
                    (commit (string-append "v" version))))
 | 
					                    (commit (string-append "v" version))))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "09www29s4ldvd6apr73w7r4nmq93rcl2d182fylwgfcnncbvpy8s"))
 | 
					                "14072vis539zjgryjr5a77j2cprxii5znyg3p01qbb11lijk9nj7"))
 | 
				
			||||||
              (file-name (string-append name "-" version "-checkout"))))
 | 
					              (file-name (string-append name "-" version "-checkout"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					@ -57,7 +58,7 @@
 | 
				
			||||||
             ;; Run qmake with proper installation prefix.
 | 
					             ;; Run qmake with proper installation prefix.
 | 
				
			||||||
             (let ((prefix (string-append "PREFIX="
 | 
					             (let ((prefix (string-append "PREFIX="
 | 
				
			||||||
                                          (assoc-ref outputs "out"))))
 | 
					                                          (assoc-ref outputs "out"))))
 | 
				
			||||||
               (zero? (system* "qmake" prefix)))
 | 
					               (invoke "qmake" prefix))
 | 
				
			||||||
             #t)))))
 | 
					             #t)))))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("aspell" ,aspell)
 | 
					     `(("aspell" ,aspell)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12756,14 +12756,14 @@ and other tools.")
 | 
				
			||||||
(define-public bpython
 | 
					(define-public bpython
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "bpython")
 | 
					    (name "bpython")
 | 
				
			||||||
    (version "0.17")
 | 
					    (version "0.17.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (pypi-uri "bpython" version))
 | 
					       (uri (pypi-uri "bpython" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1mbah208jhd7bsfaa17fwpi55f7fvif0ghjwgrjmpmx8w1vqab9l"))))
 | 
					         "0bxhxi5zxdkrf8b4gwn0d363kdz3qnypjwhm1aydki53ph8ca1w9"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -303,14 +303,14 @@ destructors.  It is the core memory allocator used in Samba.")
 | 
				
			||||||
(define-public tevent
 | 
					(define-public tevent
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "tevent")
 | 
					    (name "tevent")
 | 
				
			||||||
    (version "0.9.35")
 | 
					    (version "0.9.36")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://www.samba.org/ftp/tevent/tevent-"
 | 
					              (uri (string-append "https://www.samba.org/ftp/tevent/tevent-"
 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1s8nbkmqz8dzdlsd6qynhvyl05pw93r151f3i2kgjfpbck9ak8r5"))))
 | 
					                "0k1v4vnlzpf7h3p4khaw8a7damrc68g136bf2xzys08nzpinnaxx"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:phases
 | 
					     '(#:phases
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,7 +8,7 @@
 | 
				
			||||||
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
 | 
					;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
 | 
				
			||||||
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
 | 
					;;; Copyright © 2017 John Darrington <jmd@gnu.org>
 | 
				
			||||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 | 
					;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 | 
				
			||||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -90,37 +90,37 @@
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (replace 'unpack
 | 
					         (replace 'unpack
 | 
				
			||||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
					           (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
             (and (zero? (system* "tar" "xzvf"
 | 
					             (invoke "tar" "xzvf"
 | 
				
			||||||
                                  (assoc-ref inputs "source")))
 | 
					                     (assoc-ref inputs "source"))
 | 
				
			||||||
                  (chdir ,(mit-scheme-source-directory (%current-system)
 | 
					             (chdir ,(mit-scheme-source-directory (%current-system)
 | 
				
			||||||
                                                       version))
 | 
					                                                  version))
 | 
				
			||||||
                  (begin
 | 
					             ;; Delete these dangling symlinks since they break
 | 
				
			||||||
                    ;; Delete these dangling symlinks since they break
 | 
					             ;; `patch-shebangs'.
 | 
				
			||||||
                    ;; `patch-shebangs'.
 | 
					             (for-each delete-file
 | 
				
			||||||
                    (for-each delete-file
 | 
					                       (append '("src/lib/shim-config.scm")
 | 
				
			||||||
                              (append '("src/lib/shim-config.scm")
 | 
					                               (find-files "src/lib/lib" "\\.so$")
 | 
				
			||||||
                                      (find-files "src/lib/lib" "\\.so$")
 | 
					                               (find-files "src/lib" "^liarc-")
 | 
				
			||||||
                                      (find-files "src/lib" "^liarc-")
 | 
					                               (find-files "src/compiler" "^make\\.")))
 | 
				
			||||||
                                      (find-files "src/compiler" "^make\\.")))
 | 
					             (chdir "src")
 | 
				
			||||||
                    (chdir "src")
 | 
					             #t))
 | 
				
			||||||
                    #t))))
 | 
					 | 
				
			||||||
         (replace 'build
 | 
					         (replace 'build
 | 
				
			||||||
           (lambda* (#:key system outputs #:allow-other-keys)
 | 
					           (lambda* (#:key system outputs #:allow-other-keys)
 | 
				
			||||||
             (let ((out (assoc-ref outputs "out")))
 | 
					             (let ((out (assoc-ref outputs "out")))
 | 
				
			||||||
               (if (or (string-prefix? "x86_64" system)
 | 
					               (if (or (string-prefix? "x86_64" system)
 | 
				
			||||||
                       (string-prefix? "i686" system))
 | 
					                       (string-prefix? "i686" system))
 | 
				
			||||||
                   (zero? (system* "make" "compile-microcode"))
 | 
					                   (invoke "make" "compile-microcode")
 | 
				
			||||||
                   (zero? (system* "./etc/make-liarc.sh"
 | 
					                   (invoke "./etc/make-liarc.sh"
 | 
				
			||||||
                                   (string-append "--prefix=" out)))))))
 | 
					                           (string-append "--prefix=" out)))
 | 
				
			||||||
 | 
					               #t)))
 | 
				
			||||||
         (add-after 'configure 'configure-doc
 | 
					         (add-after 'configure 'configure-doc
 | 
				
			||||||
           (lambda* (#:key outputs inputs #:allow-other-keys)
 | 
					           (lambda* (#:key outputs inputs #:allow-other-keys)
 | 
				
			||||||
             (with-directory-excursion "../doc"
 | 
					             (with-directory-excursion "../doc"
 | 
				
			||||||
               (let* ((out (assoc-ref outputs "out"))
 | 
					               (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
                      (bash (assoc-ref inputs "bash"))
 | 
					                      (bash (assoc-ref inputs "bash"))
 | 
				
			||||||
                      (bin/sh (string-append bash "/bin/sh")))
 | 
					                      (bin/sh (string-append bash "/bin/sh")))
 | 
				
			||||||
                 (system* bin/sh "./configure"
 | 
					                 (invoke bin/sh "./configure"
 | 
				
			||||||
                          (string-append "--prefix=" out)
 | 
					                         (string-append "--prefix=" out)
 | 
				
			||||||
                          (string-append "SHELL=" bin/sh))
 | 
					                         (string-append "SHELL=" bin/sh))
 | 
				
			||||||
                 (substitute* '("Makefile" "make-common")
 | 
					                 (substitute* '("Makefile" "make-common")
 | 
				
			||||||
                   (("/lib/mit-scheme/doc")
 | 
					                   (("/lib/mit-scheme/doc")
 | 
				
			||||||
                    (string-append "/share/doc/" ,name "-" ,version)))
 | 
					                    (string-append "/share/doc/" ,name "-" ,version)))
 | 
				
			||||||
| 
						 | 
					@ -128,7 +128,8 @@
 | 
				
			||||||
         (add-after 'build 'build-doc
 | 
					         (add-after 'build 'build-doc
 | 
				
			||||||
           (lambda* _
 | 
					           (lambda* _
 | 
				
			||||||
             (with-directory-excursion "../doc"
 | 
					             (with-directory-excursion "../doc"
 | 
				
			||||||
               (zero? (system* "make")))))
 | 
					               (invoke "make"))
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
         (add-after 'install 'install-doc
 | 
					         (add-after 'install 'install-doc
 | 
				
			||||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
             (let* ((out (assoc-ref outputs "out"))
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
| 
						 | 
					@ -138,7 +139,7 @@
 | 
				
			||||||
                     (string-append doc "/share/doc/" ,name "-" ,version)))
 | 
					                     (string-append doc "/share/doc/" ,name "-" ,version)))
 | 
				
			||||||
               (with-directory-excursion "../doc"
 | 
					               (with-directory-excursion "../doc"
 | 
				
			||||||
                 (for-each (lambda (target)
 | 
					                 (for-each (lambda (target)
 | 
				
			||||||
                             (system* "make" target))
 | 
					                             (invoke "make" target))
 | 
				
			||||||
                           '("install-config" "install-info-gz" "install-man"
 | 
					                           '("install-config" "install-info-gz" "install-man"
 | 
				
			||||||
                             "install-html" "install-pdf")))
 | 
					                             "install-html" "install-pdf")))
 | 
				
			||||||
               (mkdir-p new-doc/mit-scheme-dir)
 | 
					               (mkdir-p new-doc/mit-scheme-dir)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -46,15 +46,15 @@
 | 
				
			||||||
(define-public ccid
 | 
					(define-public ccid
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ccid")
 | 
					    (name "ccid")
 | 
				
			||||||
    (version "1.4.28")
 | 
					    (version "1.4.29")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
                    "https://alioth.debian.org/frs/download.php/file/4230/"
 | 
					                    "https://alioth.debian.org/frs/download.php/file/4238/"
 | 
				
			||||||
                    "ccid-" version ".tar.bz2"))
 | 
					                    "ccid-" version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1q5dz1l049m3hmr370adhrqicdkldrr3l98svi02p5cxbnn3cn47"))))
 | 
					                "0kdqmbma6sclsrbxy9w85h7cs0v11if4nc2r9v09613k8pl2lhx5"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags (list (string-append "--enable-usbdropdir=" %output
 | 
					     `(#:configure-flags (list (string-append "--enable-usbdropdir=" %output
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
;;; Copyright © 2015 Claes Wallin <claes.wallin@greatsinodevelopment.com>
 | 
					;;; Copyright © 2015 Claes Wallin <claes.wallin@greatsinodevelopment.com>
 | 
				
			||||||
;;; Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr>
 | 
					;;; Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr>
 | 
				
			||||||
;;; Copyright © 2017 Z. Ren <zren@dlut.edu.cn>
 | 
					;;; Copyright © 2017 Z. Ren <zren@dlut.edu.cn>
 | 
				
			||||||
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -28,7 +29,7 @@
 | 
				
			||||||
(define-public skalibs
 | 
					(define-public skalibs
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "skalibs")
 | 
					    (name "skalibs")
 | 
				
			||||||
    (version "2.3.10.0")
 | 
					    (version "2.6.3.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -36,11 +37,10 @@
 | 
				
			||||||
                          version ".tar.gz"))
 | 
					                          version ".tar.gz"))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
       (base32
 | 
					       (base32
 | 
				
			||||||
        "0i7af224kl1crxgml09wx0x6q8ab79vnyrllfwv2lnq585wi9mg4"))))
 | 
					        "108c4vslsfy57892ybbksscrjd4bx444hzzcq2g5wdg2sh0cl245"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:configure-flags '("--enable-force-devr") ; do not analyze /dev/random
 | 
					     '(#:tests? #f ; no tests exist
 | 
				
			||||||
       #:tests? #f ; no tests exist
 | 
					 | 
				
			||||||
       #:phases (modify-phases %standard-phases
 | 
					       #:phases (modify-phases %standard-phases
 | 
				
			||||||
                  (add-after 'unpack 'reproducible
 | 
					                  (add-after 'unpack 'reproducible
 | 
				
			||||||
                    (lambda _
 | 
					                    (lambda _
 | 
				
			||||||
| 
						 | 
					@ -50,7 +50,7 @@
 | 
				
			||||||
                        (("\\$\\(wildcard src/lib\\*/\\*.c\\)")
 | 
					                        (("\\$\\(wildcard src/lib\\*/\\*.c\\)")
 | 
				
			||||||
                         "$(sort $(wildcard src/lib*/*.c))"))
 | 
					                         "$(sort $(wildcard src/lib*/*.c))"))
 | 
				
			||||||
                      #t)))))
 | 
					                      #t)))))
 | 
				
			||||||
    (home-page "http://skarnet.org/software/skalibs/")
 | 
					    (home-page "https://skarnet.org/software/skalibs/")
 | 
				
			||||||
    (synopsis "Platform abstraction libraries for skarnet.org software")
 | 
					    (synopsis "Platform abstraction libraries for skarnet.org software")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "This package provides lightweight C libraries isolating the developer
 | 
					     "This package provides lightweight C libraries isolating the developer
 | 
				
			||||||
| 
						 | 
					@ -62,7 +62,7 @@ and file system operations.  It is used by all skarnet.org software.")
 | 
				
			||||||
(define-public execline
 | 
					(define-public execline
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "execline")
 | 
					    (name "execline")
 | 
				
			||||||
    (version "2.1.5.0")
 | 
					    (version "2.3.0.4")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -70,7 +70,7 @@ and file system operations.  It is used by all skarnet.org software.")
 | 
				
			||||||
                          version ".tar.gz"))
 | 
					                          version ".tar.gz"))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
       (base32
 | 
					       (base32
 | 
				
			||||||
        "0hhirdmyh3sj9qagkis7addmmdvyic717wkb6ym3n63kvfk0adla"))))
 | 
					        "0jx60wjz3yj3r1wircbvd15in275pi7ggw69pbs9djhcyb48zfz4"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs `(("skalibs" ,skalibs)))
 | 
					    (inputs `(("skalibs" ,skalibs)))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					@ -90,7 +90,7 @@ and file system operations.  It is used by all skarnet.org software.")
 | 
				
			||||||
                      (wrap-program (string-append bin "/execlineb")
 | 
					                      (wrap-program (string-append bin "/execlineb")
 | 
				
			||||||
                        `("PATH" ":" prefix (,bin)))))))
 | 
					                        `("PATH" ":" prefix (,bin)))))))
 | 
				
			||||||
       #:tests? #f)) ; No tests exist.
 | 
					       #:tests? #f)) ; No tests exist.
 | 
				
			||||||
    (home-page "http://skarnet.org/software/execline/")
 | 
					    (home-page "https://skarnet.org/software/execline/")
 | 
				
			||||||
    (license isc)
 | 
					    (license isc)
 | 
				
			||||||
    (synopsis "Non-interactive shell-like language with minimal overhead")
 | 
					    (synopsis "Non-interactive shell-like language with minimal overhead")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -105,7 +105,7 @@ complexity.")))
 | 
				
			||||||
(define-public s6
 | 
					(define-public s6
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "s6")
 | 
					   (name "s6")
 | 
				
			||||||
   (version "2.3.0.0")
 | 
					   (version "2.7.0.0")
 | 
				
			||||||
   (source
 | 
					   (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
     (method url-fetch)
 | 
					     (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -113,7 +113,7 @@ complexity.")))
 | 
				
			||||||
                         version ".tar.gz"))
 | 
					                         version ".tar.gz"))
 | 
				
			||||||
     (sha256
 | 
					     (sha256
 | 
				
			||||||
      (base32
 | 
					      (base32
 | 
				
			||||||
       "1rp8i228zxzbia1799pdav1kkzdk96fax9bcfyf2gilkdm3s1ja9"))))
 | 
					       "04vfviw00zvvb1mdpl78zdgzd7j491f1lahhqrkkq9vk5kwcn5v6"))))
 | 
				
			||||||
   (build-system gnu-build-system)
 | 
					   (build-system gnu-build-system)
 | 
				
			||||||
   (inputs `(("skalibs" ,skalibs)
 | 
					   (inputs `(("skalibs" ,skalibs)
 | 
				
			||||||
             ("execline" ,execline)))
 | 
					             ("execline" ,execline)))
 | 
				
			||||||
| 
						 | 
					@ -129,7 +129,7 @@ complexity.")))
 | 
				
			||||||
                                       (assoc-ref %build-inputs "skalibs")
 | 
					                                       (assoc-ref %build-inputs "skalibs")
 | 
				
			||||||
                                       "/lib/skalibs/sysdeps"))
 | 
					                                       "/lib/skalibs/sysdeps"))
 | 
				
			||||||
      #:tests? #f))
 | 
					      #:tests? #f))
 | 
				
			||||||
   (home-page "http://skarnet.org/software/s6")
 | 
					   (home-page "https://skarnet.org/software/s6")
 | 
				
			||||||
   (license isc)
 | 
					   (license isc)
 | 
				
			||||||
   (synopsis "Small suite of programs for process supervision")
 | 
					   (synopsis "Small suite of programs for process supervision")
 | 
				
			||||||
   (description
 | 
					   (description
 | 
				
			||||||
| 
						 | 
					@ -144,7 +144,7 @@ functionality with a very small amount of code.")))
 | 
				
			||||||
(define-public s6-dns
 | 
					(define-public s6-dns
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "s6-dns")
 | 
					   (name "s6-dns")
 | 
				
			||||||
   (version "2.0.1.0")
 | 
					   (version "2.3.0.0")
 | 
				
			||||||
   (source
 | 
					   (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
     (method url-fetch)
 | 
					     (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -152,7 +152,7 @@ functionality with a very small amount of code.")))
 | 
				
			||||||
                         version ".tar.gz"))
 | 
					                         version ".tar.gz"))
 | 
				
			||||||
     (sha256
 | 
					     (sha256
 | 
				
			||||||
      (base32
 | 
					      (base32
 | 
				
			||||||
       "1ji47iy8czx4jmi763dxd6lgjbnp4vqqgcijh46ym65l0a97z04w"))))
 | 
					       "0h47ldxvh9cny91r0pjxq7zr5iqpqf1j50p3ip42f6bl90z5ha58"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs `(("skalibs" ,skalibs)))
 | 
					    (inputs `(("skalibs" ,skalibs)))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					@ -164,7 +164,7 @@ functionality with a very small amount of code.")))
 | 
				
			||||||
                                         (assoc-ref %build-inputs "skalibs")
 | 
					                                         (assoc-ref %build-inputs "skalibs")
 | 
				
			||||||
                                         "/lib/skalibs/sysdeps"))
 | 
					                                         "/lib/skalibs/sysdeps"))
 | 
				
			||||||
       #:tests? #f))
 | 
					       #:tests? #f))
 | 
				
			||||||
    (home-page "http://skarnet.org/software/s6-dns")
 | 
					    (home-page "https://skarnet.org/software/s6-dns")
 | 
				
			||||||
    (license isc)
 | 
					    (license isc)
 | 
				
			||||||
    (synopsis "Suite of DNS client programs")
 | 
					    (synopsis "Suite of DNS client programs")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -174,7 +174,7 @@ as an alternative to the BIND, djbdns or other DNS clients.")))
 | 
				
			||||||
(define-public s6-networking
 | 
					(define-public s6-networking
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "s6-networking")
 | 
					   (name "s6-networking")
 | 
				
			||||||
   (version "2.1.1.0")
 | 
					   (version "2.3.0.2")
 | 
				
			||||||
   (source
 | 
					   (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
     (method url-fetch)
 | 
					     (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -182,7 +182,7 @@ as an alternative to the BIND, djbdns or other DNS clients.")))
 | 
				
			||||||
                         version ".tar.gz"))
 | 
					                         version ".tar.gz"))
 | 
				
			||||||
     (sha256
 | 
					     (sha256
 | 
				
			||||||
      (base32
 | 
					      (base32
 | 
				
			||||||
       "0r8gfv0l2k449nacjy919gqlgn25q7fjxaqra5r37k7kiikkgqfw"))))
 | 
					       "06j8fpldn187cmbjqp191hd65ka3ys19vj3jm3kcvkmvd9snh6fq"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs `(("skalibs" ,skalibs)
 | 
					    (inputs `(("skalibs" ,skalibs)
 | 
				
			||||||
              ("execline" ,execline)
 | 
					              ("execline" ,execline)
 | 
				
			||||||
| 
						 | 
					@ -206,7 +206,7 @@ as an alternative to the BIND, djbdns or other DNS clients.")))
 | 
				
			||||||
                                         (assoc-ref %build-inputs "skalibs")
 | 
					                                         (assoc-ref %build-inputs "skalibs")
 | 
				
			||||||
                                         "/lib/skalibs/sysdeps"))
 | 
					                                         "/lib/skalibs/sysdeps"))
 | 
				
			||||||
       #:tests? #f))
 | 
					       #:tests? #f))
 | 
				
			||||||
    (home-page "http://skarnet.org/software/s6-networking")
 | 
					    (home-page "https://skarnet.org/software/s6-networking")
 | 
				
			||||||
    (license isc)
 | 
					    (license isc)
 | 
				
			||||||
    (synopsis "Suite of network utilities for Unix systems")
 | 
					    (synopsis "Suite of network utilities for Unix systems")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -218,7 +218,7 @@ clock synchronization.")))
 | 
				
			||||||
(define-public s6-rc
 | 
					(define-public s6-rc
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "s6-rc")
 | 
					   (name "s6-rc")
 | 
				
			||||||
   (version "0.0.3.0")
 | 
					   (version "0.4.0.0")
 | 
				
			||||||
   (source
 | 
					   (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
     (method url-fetch)
 | 
					     (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -226,7 +226,7 @@ clock synchronization.")))
 | 
				
			||||||
                         version ".tar.gz"))
 | 
					                         version ".tar.gz"))
 | 
				
			||||||
     (sha256
 | 
					     (sha256
 | 
				
			||||||
      (base32
 | 
					      (base32
 | 
				
			||||||
       "0bl94lbaphbpaaj4wbb86xqgp5bcgrf3m7p80mimw1qsjrvlxfay"))))
 | 
					       "1fkg9635cvrf6gw055y346a3n634dy2xiwbypawi68flfprfgf4n"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs `(("skalibs" ,skalibs)
 | 
					    (inputs `(("skalibs" ,skalibs)
 | 
				
			||||||
              ("execline" ,execline)
 | 
					              ("execline" ,execline)
 | 
				
			||||||
| 
						 | 
					@ -246,7 +246,7 @@ clock synchronization.")))
 | 
				
			||||||
                                         (assoc-ref %build-inputs "skalibs")
 | 
					                                         (assoc-ref %build-inputs "skalibs")
 | 
				
			||||||
                                         "/lib/skalibs/sysdeps"))
 | 
					                                         "/lib/skalibs/sysdeps"))
 | 
				
			||||||
       #:tests? #f))
 | 
					       #:tests? #f))
 | 
				
			||||||
    (home-page "http://skarnet.org/software/s6-rc")
 | 
					    (home-page "https://skarnet.org/software/s6-rc")
 | 
				
			||||||
    (license isc)
 | 
					    (license isc)
 | 
				
			||||||
    (synopsis "Service manager for s6-based systems")
 | 
					    (synopsis "Service manager for s6-based systems")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -260,7 +260,7 @@ environment.")))
 | 
				
			||||||
(define-public s6-portable-utils
 | 
					(define-public s6-portable-utils
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "s6-portable-utils")
 | 
					   (name "s6-portable-utils")
 | 
				
			||||||
   (version "2.0.6.0")
 | 
					   (version "2.2.1.1")
 | 
				
			||||||
   (source
 | 
					   (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
     (method url-fetch)
 | 
					     (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -269,7 +269,7 @@ environment.")))
 | 
				
			||||||
           version ".tar.gz"))
 | 
					           version ".tar.gz"))
 | 
				
			||||||
     (sha256
 | 
					     (sha256
 | 
				
			||||||
      (base32
 | 
					      (base32
 | 
				
			||||||
       "0jwxj0ma4zd1h6i3i98nsp0miidr54phap7dqwf6c8vafq9psfr3"))))
 | 
					       "0ca5iiq3n6isj64jb81xpwjzjx1q8jg145nnnn91ra2qqk93kqka"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs `(("skalibs" ,skalibs)))
 | 
					    (inputs `(("skalibs" ,skalibs)))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					@ -281,7 +281,7 @@ environment.")))
 | 
				
			||||||
                                         (assoc-ref %build-inputs "skalibs")
 | 
					                                         (assoc-ref %build-inputs "skalibs")
 | 
				
			||||||
                                         "/lib/skalibs/sysdeps"))
 | 
					                                         "/lib/skalibs/sysdeps"))
 | 
				
			||||||
       #:tests? #f))
 | 
					       #:tests? #f))
 | 
				
			||||||
    (home-page "http://skarnet.org/software/s6-portable-utils")
 | 
					    (home-page "https://skarnet.org/software/s6-portable-utils")
 | 
				
			||||||
    (license isc)
 | 
					    (license isc)
 | 
				
			||||||
    (synopsis "Tiny command-line Unix utilities")
 | 
					    (synopsis "Tiny command-line Unix utilities")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -290,10 +290,48 @@ performing well-known tasks such as @command{cut} and @command{grep}, but
 | 
				
			||||||
optimized for simplicity and small size.  They were designed for embedded
 | 
					optimized for simplicity and small size.  They were designed for embedded
 | 
				
			||||||
systems and other constrained environments, but they work everywhere.")))
 | 
					systems and other constrained environments, but they work everywhere.")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public s6-linux-init
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					   (name "s6-linux-init")
 | 
				
			||||||
 | 
					   (version "0.3.1.1")
 | 
				
			||||||
 | 
					   (source
 | 
				
			||||||
 | 
					    (origin
 | 
				
			||||||
 | 
					     (method url-fetch)
 | 
				
			||||||
 | 
					     (uri (string-append
 | 
				
			||||||
 | 
					           "http://skarnet.org/software/s6-linux-init/s6-linux-init-"
 | 
				
			||||||
 | 
					           version ".tar.gz"))
 | 
				
			||||||
 | 
					     (sha256
 | 
				
			||||||
 | 
					      (base32
 | 
				
			||||||
 | 
					       "0yfxrjqlbb6kac4gcn78phxbwp5sj9jmc1vxpsrbql62mfjyiqly"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("skalibs" ,skalibs)))
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     '(#:configure-flags
 | 
				
			||||||
 | 
					       (list
 | 
				
			||||||
 | 
					        (string-append "--with-lib="
 | 
				
			||||||
 | 
					                       (assoc-ref %build-inputs "skalibs")
 | 
				
			||||||
 | 
					                       "/lib/skalibs")
 | 
				
			||||||
 | 
					        (string-append "--with-sysdeps="
 | 
				
			||||||
 | 
					                       (assoc-ref %build-inputs "skalibs")
 | 
				
			||||||
 | 
					                       "/lib/skalibs/sysdeps"))
 | 
				
			||||||
 | 
					       #:tests? #f))
 | 
				
			||||||
 | 
					    (home-page "https://skarnet.org/software/s6-linux-init")
 | 
				
			||||||
 | 
					    (license isc)
 | 
				
			||||||
 | 
					    (synopsis "Minimalistic tools to create an s6-based init system on Linux")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     " s6-linux-init is a set of minimalistic tools to create a s6-based init
 | 
				
			||||||
 | 
					system, including an @command{/sbin/init} binary, on a Linux kernel.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					It is meant to automate creation of scripts revolving around the use of other
 | 
				
			||||||
 | 
					skarnet.org tools, especially s6, in order to provide a complete booting
 | 
				
			||||||
 | 
					environment with integrated supervision and logging without having to hand-craft
 | 
				
			||||||
 | 
					all the details. ")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public s6-linux-utils
 | 
					(define-public s6-linux-utils
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "s6-linux-utils")
 | 
					   (name "s6-linux-utils")
 | 
				
			||||||
   (version "2.1.0.0")
 | 
					   (version "2.4.0.2")
 | 
				
			||||||
   (source
 | 
					   (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
     (method url-fetch)
 | 
					     (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -302,7 +340,7 @@ systems and other constrained environments, but they work everywhere.")))
 | 
				
			||||||
           version ".tar.gz"))
 | 
					           version ".tar.gz"))
 | 
				
			||||||
     (sha256
 | 
					     (sha256
 | 
				
			||||||
      (base32
 | 
					      (base32
 | 
				
			||||||
       "1bby751blynb7p8wd3npjm71lf10ysmfvqrd3dqrhhajpa2bl8rm"))))
 | 
					       "0245rmk7wfyyfsi4g7f0niprwlvqlwkbyjxflb8kkbvhwfdavqip"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs `(("skalibs" ,skalibs)))
 | 
					    (inputs `(("skalibs" ,skalibs)))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					@ -314,7 +352,7 @@ systems and other constrained environments, but they work everywhere.")))
 | 
				
			||||||
                                         (assoc-ref %build-inputs "skalibs")
 | 
					                                         (assoc-ref %build-inputs "skalibs")
 | 
				
			||||||
                                         "/lib/skalibs/sysdeps"))
 | 
					                                         "/lib/skalibs/sysdeps"))
 | 
				
			||||||
       #:tests? #f))
 | 
					       #:tests? #f))
 | 
				
			||||||
    (home-page "http://skarnet.org/software/s6-linux-utils")
 | 
					    (home-page "https://skarnet.org/software/s6-linux-utils")
 | 
				
			||||||
    (license isc)
 | 
					    (license isc)
 | 
				
			||||||
    (synopsis "Set of minimalistic Linux-specific system utilities")
 | 
					    (synopsis "Set of minimalistic Linux-specific system utilities")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,16 +37,14 @@
 | 
				
			||||||
(define-public slang
 | 
					(define-public slang
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "slang")
 | 
					    (name "slang")
 | 
				
			||||||
    (version "2.3.0")
 | 
					    (version "2.3.1a")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append "http://www.jedsoft.org/releases/slang/slang-"
 | 
				
			||||||
                    "http://www.jedsoft.org/releases/slang/slang-"
 | 
					                                  version ".tar.bz2"))
 | 
				
			||||||
                    version
 | 
					 | 
				
			||||||
                    ".tar.gz"))
 | 
					 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0aqd2cjabj6nhd4r3dc4vhqif2bf3dmqnrn2gj0xm4gqyfd177jy"))
 | 
					                "0dlcy0hn0j6cj9qj5x6hpb0axifnvzzmv5jqq0wq14fygw0c7w2l"))
 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
              (snippet
 | 
					              (snippet
 | 
				
			||||||
               '(begin
 | 
					               '(begin
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -965,16 +965,17 @@ transliteration, concatenation, date-time formatting and parsing, etc.")
 | 
				
			||||||
(define-public r-stringr
 | 
					(define-public r-stringr
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-stringr")
 | 
					    (name "r-stringr")
 | 
				
			||||||
    (version "1.2.0")
 | 
					    (version "1.3.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (cran-uri "stringr" version))
 | 
					       (uri (cran-uri "stringr" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "16hj2rmv8x03lp6cp2jk0k2plibvbggf444kp05przdvd03v7l31"))))
 | 
					        (base32 "07dvfbkhv8gk6l32j43jvxpmqlhqp0mdby406h5a3bsc6k94ic13"))))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     `(("r-magrittr" ,r-magrittr)
 | 
					     `(("r-glue" ,r-glue)
 | 
				
			||||||
 | 
					       ("r-magrittr" ,r-magrittr)
 | 
				
			||||||
       ("r-stringi" ,r-stringi)))
 | 
					       ("r-stringi" ,r-stringi)))
 | 
				
			||||||
    (home-page "https://github.com/hadley/stringr")
 | 
					    (home-page "https://github.com/hadley/stringr")
 | 
				
			||||||
    (synopsis "Simple, consistent wrappers for common string operations")
 | 
					    (synopsis "Simple, consistent wrappers for common string operations")
 | 
				
			||||||
| 
						 | 
					@ -1347,13 +1348,13 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.")
 | 
				
			||||||
(define-public r-knitr
 | 
					(define-public r-knitr
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-knitr")
 | 
					    (name "r-knitr")
 | 
				
			||||||
    (version "1.19")
 | 
					    (version "1.20")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (cran-uri "knitr" version))
 | 
					              (uri (cran-uri "knitr" version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1gyj9bw90h4h9rc9k1iqrnzirm2f8mj45zi8bkjc6rp610vlh63j"))))
 | 
					                "1408dm25cxahk2clff8hlajaqdj5v1gs40nm3q6rf0ghd82hj93v"))))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     `(("r-evaluate" ,r-evaluate)
 | 
					     `(("r-evaluate" ,r-evaluate)
 | 
				
			||||||
| 
						 | 
					@ -1549,13 +1550,13 @@ defined in different packages.")
 | 
				
			||||||
(define-public r-rlang
 | 
					(define-public r-rlang
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-rlang")
 | 
					    (name "r-rlang")
 | 
				
			||||||
    (version "0.1.6")
 | 
					    (version "0.2.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (cran-uri "rlang" version))
 | 
					              (uri (cran-uri "rlang" version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1x62assn8m7cd0q75r809gxsdqmxmd2br1xz53ykzhrfz3j768kp"))))
 | 
					                "0f87fhw5pj6s2zjdxnpnd7pwn78czdz71b0xhm5adqg1p38sfwj8"))))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (home-page "http://rlang.tidyverse.org")
 | 
					    (home-page "http://rlang.tidyverse.org")
 | 
				
			||||||
    (synopsis "Functions for base types, core R and Tidyverse features")
 | 
					    (synopsis "Functions for base types, core R and Tidyverse features")
 | 
				
			||||||
| 
						 | 
					@ -1627,14 +1628,14 @@ database.")
 | 
				
			||||||
(define-public r-dbplyr
 | 
					(define-public r-dbplyr
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-dbplyr")
 | 
					    (name "r-dbplyr")
 | 
				
			||||||
    (version "1.2.0")
 | 
					    (version "1.2.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (cran-uri "dbplyr" version))
 | 
					       (uri (cran-uri "dbplyr" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "17br61mhssi2pm6v8604f89ykglng3qp9ymfzmhw10cary6zm982"))))
 | 
					         "1nwrls9c3kc9q7405jp6b9sh23642sz13yw55iikgw134shffj5k"))))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     `(("r-assertthat" ,r-assertthat)
 | 
					     `(("r-assertthat" ,r-assertthat)
 | 
				
			||||||
| 
						 | 
					@ -2330,13 +2331,13 @@ informative error messages when it's not available.")
 | 
				
			||||||
(define-public r-devtools
 | 
					(define-public r-devtools
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-devtools")
 | 
					    (name "r-devtools")
 | 
				
			||||||
    (version "1.13.4")
 | 
					    (version "1.13.5")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (cran-uri "devtools" version))
 | 
					              (uri (cran-uri "devtools" version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1az1qf50vyhm4w6k2a6wqw3pqc8jv2iqzdhs36cg079hx9swm0mb"))))
 | 
					                "1x3wsk7dh3yakii61kbfvafx9yz66h40ixiwfkf03dnp2n24hngs"))))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     `(("r-digest" ,r-digest)
 | 
					     `(("r-digest" ,r-digest)
 | 
				
			||||||
| 
						 | 
					@ -2747,18 +2748,21 @@ ldap, and also supports cookies, redirects, authentication, etc.")
 | 
				
			||||||
(define-public r-xml
 | 
					(define-public r-xml
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-xml")
 | 
					    (name "r-xml")
 | 
				
			||||||
    (version "3.98-1.9")
 | 
					    (version "3.98-1.10")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (cran-uri "XML" version))
 | 
					              (uri (cran-uri "XML" version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1hzkdkgs0nzmfg9wm7kyh1j9i0i2g7925whzlihqvg9grdlh3dx3"))))
 | 
					                "1faza9bbllp67lf1yv1sllxc3iv8llz52m9diazhq322iqbh97m1"))))
 | 
				
			||||||
    (properties
 | 
					    (properties
 | 
				
			||||||
     `((upstream-name . "XML")))
 | 
					     `((upstream-name . "XML")))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("libxml2" ,libxml2)))
 | 
					     `(("libxml2" ,libxml2)
 | 
				
			||||||
 | 
					       ("zlib" ,zlib)))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
    (home-page "http://www.omegahat.org/RSXML")
 | 
					    (home-page "http://www.omegahat.org/RSXML")
 | 
				
			||||||
    (synopsis "Tools for parsing and generating XML within R")
 | 
					    (synopsis "Tools for parsing and generating XML within R")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -5407,18 +5411,19 @@ and the corresponding decision threshold.")
 | 
				
			||||||
(define-public r-forcats
 | 
					(define-public r-forcats
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-forcats")
 | 
					    (name "r-forcats")
 | 
				
			||||||
    (version "0.2.0")
 | 
					    (version "0.3.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (cran-uri "forcats" version))
 | 
					       (uri (cran-uri "forcats" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1mvwkynvvgz2vi8dyz11x7xrp53kadjawjcja34hwk1d89qf7g5m"))))
 | 
					         "0mxn1hng43zdjh1v8shd80hrszrqahcpaqxs1s1sif0qxh84d0cm"))))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     `(("r-magrittr" ,r-magrittr)
 | 
					     `(("r-magrittr" ,r-magrittr)
 | 
				
			||||||
       ("r-tibble" ,r-tibble)))
 | 
					       ("r-tibble" ,r-tibble)
 | 
				
			||||||
 | 
					       ("r-rlang" ,r-rlang)))
 | 
				
			||||||
    (home-page "http://forcats.tidyverse.org")
 | 
					    (home-page "http://forcats.tidyverse.org")
 | 
				
			||||||
    (synopsis "Tools for working with factors")
 | 
					    (synopsis "Tools for working with factors")
 | 
				
			||||||
    (description "This package provides helpers for reordering factor
 | 
					    (description "This package provides helpers for reordering factor
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -787,7 +787,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.6.0")
 | 
					    (version "2.7.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -797,7 +797,7 @@ then ported to the GNU / Linux environment.")
 | 
				
			||||||
                           version "-apache.tgz"))
 | 
					                           version "-apache.tgz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "11wnj34rfqxjggmdgf042i49lr6civgbqwv2p7p8bn6k2919vg4r"))))
 | 
					         "1vsmgxnw7dpvma51896n63yaf9sncmf885ax2jfcg89ssin6vdmf"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags
 | 
					     `(#:configure-flags
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,14 +29,14 @@
 | 
				
			||||||
(define-public miniupnpc
 | 
					(define-public miniupnpc
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "miniupnpc")
 | 
					    (name "miniupnpc")
 | 
				
			||||||
    (version "2.0.20180203")
 | 
					    (version "2.0.20180222")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "https://miniupnp.tuxfamily.org/files/"
 | 
					       (uri (string-append "https://miniupnp.tuxfamily.org/files/"
 | 
				
			||||||
                           name "-" version ".tar.gz"))
 | 
					                           name "-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1dr0qaf2qz49aawgsnv7l41rda5yvdk3qfz2hd5cv9iwav3sipch"))))
 | 
					        (base32 "0xavcrifk8v8gwig3mj0kjkm7rvw1kbsxcs4jxrrzl39cil48yaq"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("python" ,python-2)))
 | 
					     `(("python" ,python-2)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -636,35 +636,30 @@ default) of the repository.")
 | 
				
			||||||
(define-public shflags
 | 
					(define-public shflags
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "shflags")
 | 
					    (name "shflags")
 | 
				
			||||||
    (version "1.2.0")
 | 
					    (version "1.2.3")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://github.com/kward/shflags/archive/v"
 | 
					              (uri (string-append "https://github.com/kward/shflags/archive/v"
 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
 | 
					              (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0zxw12haylaq60a335xlqcs4afw2zrgwqymmpw0m21r51w6irdmr"))))
 | 
					                "1h9xfrwwdhzflipfwdcgcc3y7zapdslnyk1rg5y8jm7k144rfrs4"))))
 | 
				
			||||||
    (build-system trivial-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs `(("tar" ,tar)
 | 
					    (native-inputs `(("tar" ,tar)
 | 
				
			||||||
                     ("gzip" ,gzip)))
 | 
					                     ("gzip" ,gzip)))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:modules ((guix build utils))
 | 
					     `(#:tests? #f                      ; no tests
 | 
				
			||||||
       #:builder (begin
 | 
					       #:phases
 | 
				
			||||||
                   (use-modules (guix build utils))
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
                   (let* ((source (assoc-ref %build-inputs "source"))
 | 
					         (delete 'configure)            ; nothing to configure
 | 
				
			||||||
                          (tar    (assoc-ref %build-inputs "tar"))
 | 
					         (delete 'build)                ; nothing to build
 | 
				
			||||||
                          (gzip   (assoc-ref %build-inputs "gzip"))
 | 
					         (replace 'install
 | 
				
			||||||
                          (output (assoc-ref %outputs "out"))
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
                          (srcdir (string-append output "/src")))
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
                     (begin
 | 
					                    (src (string-append out "/src")))
 | 
				
			||||||
                       (setenv "PATH" (string-append gzip "/bin"))
 | 
					               (install-file "shflags" src)
 | 
				
			||||||
                       (system* (string-append tar "/bin/tar") "xzf"
 | 
					               #t))))))
 | 
				
			||||||
                                source)
 | 
					 | 
				
			||||||
                       (chdir ,(string-append name "-" version))
 | 
					 | 
				
			||||||
                       (mkdir-p srcdir)
 | 
					 | 
				
			||||||
                       (copy-file "src/shflags"
 | 
					 | 
				
			||||||
                                  (string-append srcdir "/shflags"))
 | 
					 | 
				
			||||||
                       #t)))))
 | 
					 | 
				
			||||||
    (home-page "https://github.com/kward/shflags")
 | 
					    (home-page "https://github.com/kward/shflags")
 | 
				
			||||||
    (synopsis "Command-line flags library for shell scripts")
 | 
					    (synopsis "Command-line flags library for shell scripts")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -245,18 +245,18 @@ television and DVD.  It is also known as AC-3.")
 | 
				
			||||||
(define-public libx264
 | 
					(define-public libx264
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libx264")
 | 
					    (name "libx264")
 | 
				
			||||||
    (version "20170316-2245")
 | 
					    (version "20180219-2245")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://download.videolan.org/pub/x264/snapshots/"
 | 
					              (uri (string-append "https://download.videolan.org/pub/x264/snapshots/"
 | 
				
			||||||
                                  "x264-snapshot-" version ".tar.bz2"))
 | 
					                                  "x264-snapshot-" version "-stable.tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1s1nnvl3axz38sv4g09skijl6k9mbbngbb1nsh26w4dr2w2gyzad"))))
 | 
					                "1x0cg8l30wp84mr7q0ddp06jclm0kjrszazrx87d4k7js3qxjy8m"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					     `(("pkg-config" ,pkg-config)
 | 
				
			||||||
       ("yasm" ,yasm)))
 | 
					       ("nasm" ,nasm)))
 | 
				
			||||||
    ;; TODO: Add gpac input
 | 
					    ;; TODO: Add gpac input
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f  ;no check target
 | 
					     `(#:tests? #f  ;no check target
 | 
				
			||||||
| 
						 | 
					@ -1275,7 +1275,7 @@ other site that youtube-dl supports.")
 | 
				
			||||||
(define-public you-get
 | 
					(define-public you-get
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "you-get")
 | 
					    (name "you-get")
 | 
				
			||||||
    (version "0.4.1011")
 | 
					    (version "0.4.1025")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -1284,7 +1284,7 @@ other site that youtube-dl supports.")
 | 
				
			||||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
					              (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0cdbh5w0chw3dlrwizm91l6sgkkzy7p6h0072dai4xbw5zgld31k"))))
 | 
					                "10103jw1gzar85jlajzl9wslk08vw21n26hkhfcz5bvkm9lxxs2c"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ffmpeg" ,ffmpeg)))             ; for multi-part and >=1080p videos
 | 
					     `(("ffmpeg" ,ffmpeg)))             ; for multi-part and >=1080p videos
 | 
				
			||||||
| 
						 | 
					@ -1737,7 +1737,12 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
 | 
				
			||||||
              (file-name (string-append name "-" version ".tar.gz"))
 | 
					              (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "10m3ry0b2pvqx3bk34qh5dq337nn8pkc2gzfyhsj4nv9abskln47"))))
 | 
					                "10m3ry0b2pvqx3bk34qh5dq337nn8pkc2gzfyhsj4nv9abskln47"))
 | 
				
			||||||
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
 | 
					              (snippet
 | 
				
			||||||
 | 
					               ;; As of glibc 2.26, <xlocale.h> no longer is.
 | 
				
			||||||
 | 
					               '(substitute* "src/framework/mlt_property.h"
 | 
				
			||||||
 | 
					                  (("xlocale\\.h") "locale.h")))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f ; no tests
 | 
					     `(#:tests? #f ; no tests
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -82,16 +82,14 @@
 | 
				
			||||||
(define-public qemu
 | 
					(define-public qemu
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "qemu")
 | 
					    (name "qemu")
 | 
				
			||||||
    (version "2.10.2")
 | 
					    (version "2.11.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append "https://download.qemu.org/qemu-"
 | 
					             (uri (string-append "https://download.qemu.org/qemu-"
 | 
				
			||||||
                                 version ".tar.xz"))
 | 
					                                 version ".tar.xz"))
 | 
				
			||||||
             (patches (search-patches "qemu-CVE-2017-15038.patch"
 | 
					 | 
				
			||||||
                                      "qemu-CVE-2017-15289.patch"))
 | 
					 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "17w21spvaxaidi2am5lpsln8yjpyp2zi3s3gc6nsxj5arlgamzgw"))))
 | 
					               "11l6cs6mib16rgdrnqrhkqs033fjik316gkgfz3asbmxz38lalca"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(;; Running tests in parallel can occasionally lead to failures, like:
 | 
					     '(;; Running tests in parallel can occasionally lead to failures, like:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -158,7 +158,7 @@ interpretation of the specifications for these languages.")
 | 
				
			||||||
(define-public vulkan-icd-loader
 | 
					(define-public vulkan-icd-loader
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "vulkan-icd-loader")
 | 
					    (name "vulkan-icd-loader")
 | 
				
			||||||
    (version "1.0.65.2")
 | 
					    (version "1.0.68.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -167,11 +167,20 @@ interpretation of the specifications for these languages.")
 | 
				
			||||||
             "archive/sdk-" version ".tar.gz"))
 | 
					             "archive/sdk-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1ivvmb977n2xp95v3sryhflvryy3mxrcwrd1hnr2dmri40vg1sl8"))))
 | 
					         "1n5gry5zxpwi7330fmi06snalra8hkbbw68gnwbp531kd5ycyinh"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f ;FIXME: 23/39 tests fail.  Try "tests/run_all_tests.sh".
 | 
					     `(#:tests? #f ;FIXME: 23/39 tests fail.  Try "tests/run_all_tests.sh".
 | 
				
			||||||
       #:configure-flags (list (string-append "-DCMAKE_INSTALL_LIBDIR="
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-after 'unpack 'remove-spirv-tools-commit-id
 | 
				
			||||||
 | 
					           (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             ;; Remove lines trying to build in a git commit id.
 | 
				
			||||||
 | 
					             (substitute* "CMakeLists.txt" ((".*spirv_tools_commit_id.h.*") ""))
 | 
				
			||||||
 | 
					             #t)))
 | 
				
			||||||
 | 
					       #:configure-flags (list
 | 
				
			||||||
 | 
					                          "-DBUILD_LAYERS=OFF" ; FIXME: Fails to build.
 | 
				
			||||||
 | 
					                          (string-append "-DCMAKE_INSTALL_LIBDIR="
 | 
				
			||||||
                                              (assoc-ref %outputs "out") "/lib"))))
 | 
					                                              (assoc-ref %outputs "out") "/lib"))))
 | 
				
			||||||
    (inputs `(("glslang" ,glslang)
 | 
					    (inputs `(("glslang" ,glslang)
 | 
				
			||||||
              ("libxcb" ,libxcb)
 | 
					              ("libxcb" ,libxcb)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -182,14 +182,14 @@ Interface} specification.")
 | 
				
			||||||
    (name "nginx")
 | 
					    (name "nginx")
 | 
				
			||||||
    ;; Consider updating the nginx-documentation package if the nginx package is
 | 
					    ;; Consider updating the nginx-documentation package if the nginx package is
 | 
				
			||||||
    ;; updated.
 | 
					    ;; updated.
 | 
				
			||||||
    (version "1.13.8")
 | 
					    (version "1.13.9")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://nginx.org/download/nginx-"
 | 
					              (uri (string-append "https://nginx.org/download/nginx-"
 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1ib4hkngj9z7pl73lnn96d85m7v2wwb56nkypwx7d6pm3z1vc444"))))
 | 
					                "0hpsyxpxj89p5vrzv9p1hp7xjbnj5c1w6fdy626ycvsiay4a3bjz"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs `(("openssl" ,openssl)
 | 
					    (inputs `(("openssl" ,openssl)
 | 
				
			||||||
              ("pcre" ,pcre)
 | 
					              ("pcre" ,pcre)
 | 
				
			||||||
| 
						 | 
					@ -5654,14 +5654,14 @@ encoder/decoder based on the draft-12 specification for UBJSON.")
 | 
				
			||||||
(define-public java-tomcat
 | 
					(define-public java-tomcat
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "java-tomcat")
 | 
					    (name "java-tomcat")
 | 
				
			||||||
    (version "8.5.23")
 | 
					    (version "8.5.28")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://apache/tomcat/tomcat-8/v"
 | 
					              (uri (string-append "mirror://apache/tomcat/tomcat-8/v"
 | 
				
			||||||
                                  version "/src/apache-tomcat-" version "-src.tar.gz"))
 | 
					                                  version "/src/apache-tomcat-" version "-src.tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1m6b1dikib46kbgz9gf0p6svi00nsw62b9kgjzn6sda151skbbza"))))
 | 
					                "0q2bc3sajrmcx3z3vhhwp78y47ryc2ky8ssbdmfk24zvqdb76hvl"))))
 | 
				
			||||||
    (build-system ant-build-system)
 | 
					    (build-system ant-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("java-eclipse-jdt-core" ,java-eclipse-jdt-core)))
 | 
					     `(("java-eclipse-jdt-core" ,java-eclipse-jdt-core)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,7 @@
 | 
				
			||||||
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
 | 
					;;; Copyright © 2016 Al McElrath <hello@yrns.org>
 | 
				
			||||||
;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
 | 
					;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
 | 
				
			||||||
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
 | 
					;;; Copyright © 2016, 2017, 2018 ng0 <ng0@crash.cx>
 | 
				
			||||||
;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
 | 
					;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
 | 
				
			||||||
;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net>
 | 
					;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net>
 | 
				
			||||||
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
 | 
					;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
 | 
				
			||||||
| 
						 | 
					@ -46,6 +46,7 @@
 | 
				
			||||||
  #:use-module (gnu packages haskell-check)
 | 
					  #:use-module (gnu packages haskell-check)
 | 
				
			||||||
  #:use-module (gnu packages haskell-web)
 | 
					  #:use-module (gnu packages haskell-web)
 | 
				
			||||||
  #:use-module (gnu packages autotools)
 | 
					  #:use-module (gnu packages autotools)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages bison)
 | 
				
			||||||
  #:use-module (gnu packages gawk)
 | 
					  #:use-module (gnu packages gawk)
 | 
				
			||||||
  #:use-module (gnu packages base)
 | 
					  #:use-module (gnu packages base)
 | 
				
			||||||
  #:use-module (gnu packages pkg-config)
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
| 
						 | 
					@ -915,3 +916,55 @@ It is inspired by Xmonad and dwm.  Its major features include:
 | 
				
			||||||
@end itemize\n")
 | 
					@end itemize\n")
 | 
				
			||||||
    (home-page "https://github.com/conformal/spectrwm")
 | 
					    (home-page "https://github.com/conformal/spectrwm")
 | 
				
			||||||
    (license license:isc)))
 | 
					    (license license:isc)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public cwm
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "cwm")
 | 
				
			||||||
 | 
					    (version "6.2")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "http://chneukirchen.org/releases/cwm-"
 | 
				
			||||||
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1b8k2hjxpb0bzqjh2wj6mn2nf2360zacf8z19sw2rw5lxvmfy89x"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:make-flags (list "CC=gcc"
 | 
				
			||||||
 | 
					                          (string-append "PREFIX=" %output))
 | 
				
			||||||
 | 
					       #:tests? #f
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (delete 'configure)
 | 
				
			||||||
 | 
					         (add-after 'build 'install-xsession
 | 
				
			||||||
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             ;; Add a .desktop file to xsessions.
 | 
				
			||||||
 | 
					             (let* ((output (assoc-ref outputs "out"))
 | 
				
			||||||
 | 
					                    (xsessions (string-append output "/share/xsessions")))
 | 
				
			||||||
 | 
					               (mkdir-p xsessions)
 | 
				
			||||||
 | 
					               (with-output-to-file
 | 
				
			||||||
 | 
					                   (string-append xsessions "/cwm.desktop")
 | 
				
			||||||
 | 
					                 (lambda _
 | 
				
			||||||
 | 
					                   (format #t
 | 
				
			||||||
 | 
					                           "[Desktop Entry]~@
 | 
				
			||||||
 | 
					                     Name=cwm~@
 | 
				
			||||||
 | 
					                     Comment=OpenBSD Calm Window Manager fork~@
 | 
				
			||||||
 | 
					                     Exec=~a/bin/cwm~@
 | 
				
			||||||
 | 
					                     TryExec=~@*~a/bin/cwm~@
 | 
				
			||||||
 | 
					                     Icon=~@
 | 
				
			||||||
 | 
					                     Type=Application~%"
 | 
				
			||||||
 | 
					                           output)))
 | 
				
			||||||
 | 
					               #t))))))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("libxft" ,libxft)
 | 
				
			||||||
 | 
					       ("libxrandr" ,libxrandr)
 | 
				
			||||||
 | 
					       ("libxinerama" ,libxinerama)))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("pkg-config" ,pkg-config)
 | 
				
			||||||
 | 
					       ("bison" ,bison)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/chneukirchen/cwm")
 | 
				
			||||||
 | 
					    (synopsis "OpenBSD fork of the calmwm window manager")
 | 
				
			||||||
 | 
					    (description "Cwm is a stacking window manager for X11.  It is an OpenBSD
 | 
				
			||||||
 | 
					project derived from the original Calm Window Manager.")
 | 
				
			||||||
 | 
					    (license license:isc)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -97,6 +97,34 @@ a graphical user interface.  It has language bindings for Python, Perl, Ruby
 | 
				
			||||||
and many other languages.")
 | 
					and many other languages.")
 | 
				
			||||||
    (license (list l:lgpl2.0+ (l:fsf-free "file://doc/license.txt")))))
 | 
					    (license (list l:lgpl2.0+ (l:fsf-free "file://doc/license.txt")))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public wxwidgets-2
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (inherit wxwidgets)
 | 
				
			||||||
 | 
					    (version "2.8.12")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://github.com/wxWidgets/wxWidgets/"
 | 
				
			||||||
 | 
					                           "releases/download/v" version
 | 
				
			||||||
 | 
					                           "/wxGTK-" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "1gjs9vfga60mk4j4ngiwsk9h6c7j22pw26m3asxr1jwvqbr8kkqk"))))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("gtk" ,gtk+-2)
 | 
				
			||||||
 | 
					       ("libjpeg" ,libjpeg)
 | 
				
			||||||
 | 
					       ("libtiff" ,libtiff)
 | 
				
			||||||
 | 
					       ("libmspack" ,libmspack)
 | 
				
			||||||
 | 
					       ("sdl" ,sdl)
 | 
				
			||||||
 | 
					       ("unixodbc" ,unixodbc)))
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:configure-flags
 | 
				
			||||||
 | 
					       '("--enable-unicode" "--with-regex=sys" "--with-sdl")
 | 
				
			||||||
 | 
					       #:make-flags
 | 
				
			||||||
 | 
					       (list (string-append "LDFLAGS=-Wl,-rpath="
 | 
				
			||||||
 | 
					                            (assoc-ref %outputs "out") "/lib"))
 | 
				
			||||||
 | 
					       ;; No 'check' target.
 | 
				
			||||||
 | 
					       #:tests? #f))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public wxwidgets-gtk2
 | 
					(define-public wxwidgets-gtk2
 | 
				
			||||||
  (package (inherit wxwidgets)
 | 
					  (package (inherit wxwidgets)
 | 
				
			||||||
           (inputs `(("gtk+" ,gtk+-2)
 | 
					           (inputs `(("gtk+" ,gtk+-2)
 | 
				
			||||||
| 
						 | 
					@ -126,6 +154,14 @@ and many other languages.")
 | 
				
			||||||
              ((#:configure-flags flags)
 | 
					              ((#:configure-flags flags)
 | 
				
			||||||
               `(cons "--enable-mediactrl" ,flags))))))
 | 
					               `(cons "--enable-mediactrl" ,flags))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public wxwidgets-gtk2-3.1
 | 
				
			||||||
 | 
					  (package (inherit wxwidgets-3.1)
 | 
				
			||||||
 | 
					           (inputs `(("gtk+" ,gtk+-2)
 | 
				
			||||||
 | 
					                     ,@(alist-delete
 | 
				
			||||||
 | 
					                        "gtk+"
 | 
				
			||||||
 | 
					                        (package-inputs wxwidgets-3.1))))
 | 
				
			||||||
 | 
					           (name "wxwidgets-gtk2")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public python2-wxpython
 | 
					(define-public python2-wxpython
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python2-wxpython")
 | 
					    (name "python2-wxpython")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4771,14 +4771,14 @@ common definitions and porting layer.")
 | 
				
			||||||
(define-public xorgproto
 | 
					(define-public xorgproto
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "xorgproto")
 | 
					    (name "xorgproto")
 | 
				
			||||||
    (version "2018.2")
 | 
					    (version "2018.3")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://xorg/individual/proto/"
 | 
					              (uri (string-append "mirror://xorg/individual/proto/"
 | 
				
			||||||
                                  name "-" version ".tar.bz2"))
 | 
					                                  name "-" version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0r3fk48vp24hk4viw4fjpyh0y7rdg13p5faxc0vicdyqcn5w02cp"))))
 | 
					                "1rdhw28n1gp7yylwia41jhih66gfx75nxgrmi2ggglzvzqhwr0x8"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     ;; To get util-macros in (almost?) all package inputs.
 | 
					     ;; To get util-macros in (almost?) all package inputs.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
 | 
					;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
 | 
				
			||||||
;;; Copyright © 2016 Sou Bunnbu <iyzsong@member.fsf.org>
 | 
					;;; Copyright © 2016 Sou Bunnbu <iyzsong@member.fsf.org>
 | 
				
			||||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 | 
					;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,8 @@
 | 
				
			||||||
  #:use-module (ice-9 match)
 | 
					  #:use-module (ice-9 match)
 | 
				
			||||||
  #:export (certbot-service-type
 | 
					  #:export (certbot-service-type
 | 
				
			||||||
            certbot-configuration
 | 
					            certbot-configuration
 | 
				
			||||||
            certbot-configuration?))
 | 
					            certbot-configuration?
 | 
				
			||||||
 | 
					            certificate-configuration))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;; Commentary:
 | 
					;;; Commentary:
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -41,6 +42,16 @@
 | 
				
			||||||
;;; Code:
 | 
					;;; Code:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-record-type* <certificate-configuration>
 | 
				
			||||||
 | 
					  certificate-configuration make-certificate-configuration
 | 
				
			||||||
 | 
					  certificate-configuration?
 | 
				
			||||||
 | 
					  (name                certificate-configuration-name
 | 
				
			||||||
 | 
					                       (default #f))
 | 
				
			||||||
 | 
					  (domains             certificate-configuration-domains
 | 
				
			||||||
 | 
					                       (default '()))
 | 
				
			||||||
 | 
					  (deploy-hook         certificate-configuration-deploy-hook
 | 
				
			||||||
 | 
					                       (default #f)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-record-type* <certbot-configuration>
 | 
					(define-record-type* <certbot-configuration>
 | 
				
			||||||
  certbot-configuration make-certbot-configuration
 | 
					  certbot-configuration make-certbot-configuration
 | 
				
			||||||
  certbot-configuration?
 | 
					  certbot-configuration?
 | 
				
			||||||
| 
						 | 
					@ -48,8 +59,11 @@
 | 
				
			||||||
                       (default certbot))
 | 
					                       (default certbot))
 | 
				
			||||||
  (webroot             certbot-configuration-webroot
 | 
					  (webroot             certbot-configuration-webroot
 | 
				
			||||||
                       (default "/var/www"))
 | 
					                       (default "/var/www"))
 | 
				
			||||||
  (hosts               certbot-configuration-hosts
 | 
					  (certificates        certbot-configuration-certificates
 | 
				
			||||||
                       (default '()))
 | 
					                       (default '()))
 | 
				
			||||||
 | 
					  (email               certbot-configuration-email)
 | 
				
			||||||
 | 
					  (rsa-key-size        certbot-configuration-rsa-key-size
 | 
				
			||||||
 | 
					                       (default #f))
 | 
				
			||||||
  (default-location    certbot-configuration-default-location
 | 
					  (default-location    certbot-configuration-default-location
 | 
				
			||||||
                       (default
 | 
					                       (default
 | 
				
			||||||
                         (nginx-location-configuration
 | 
					                         (nginx-location-configuration
 | 
				
			||||||
| 
						 | 
					@ -57,59 +71,75 @@
 | 
				
			||||||
                          (body
 | 
					                          (body
 | 
				
			||||||
                           (list "return 301 https://$host$request_uri;"))))))
 | 
					                           (list "return 301 https://$host$request_uri;"))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define certbot-renewal-jobs
 | 
					(define certbot-command
 | 
				
			||||||
  (match-lambda
 | 
					  (match-lambda
 | 
				
			||||||
    (($ <certbot-configuration> package webroot hosts default-location)
 | 
					    (($ <certbot-configuration> package webroot certificates email
 | 
				
			||||||
     (match hosts
 | 
					                                rsa-key-size default-location)
 | 
				
			||||||
       ;; Avoid pinging certbot if we have no hosts.
 | 
					     (let* ((certbot (file-append package "/bin/certbot"))
 | 
				
			||||||
       (() '())
 | 
					            (rsa-key-size (and rsa-key-size (number->string rsa-key-size)))
 | 
				
			||||||
       (_
 | 
					            (commands
 | 
				
			||||||
        (list
 | 
					             (map
 | 
				
			||||||
         ;; Attempt to renew the certificates twice a week.
 | 
					              (match-lambda
 | 
				
			||||||
         #~(job (lambda (now)
 | 
					                (($ <certificate-configuration> custom-name domains
 | 
				
			||||||
                  (next-day-from (next-hour-from now '(3))
 | 
					                                                deploy-hook)
 | 
				
			||||||
                                 '(2 5)))
 | 
					                 (let ((name (or custom-name (car domains))))
 | 
				
			||||||
                (string-append #$package "/bin/certbot renew"
 | 
					                   (append
 | 
				
			||||||
                               (string-concatenate
 | 
					                    (list name certbot "certonly" "-n" "--agree-tos"
 | 
				
			||||||
                                (map (lambda (host)
 | 
					                          "-m" email
 | 
				
			||||||
                                       (string-append " -d " host))
 | 
					                          "--webroot" "-w" webroot
 | 
				
			||||||
                                     '#$hosts))))))))))
 | 
					                          "--cert-name" name
 | 
				
			||||||
 | 
					                          "-d" (string-join domains ","))
 | 
				
			||||||
 | 
					                    (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '())
 | 
				
			||||||
 | 
					                    (if deploy-hook `("--deploy-hook" ,deploy-hook) '())))))
 | 
				
			||||||
 | 
					              certificates)))
 | 
				
			||||||
 | 
					       (program-file
 | 
				
			||||||
 | 
					        "certbot-command"
 | 
				
			||||||
 | 
					        #~(begin
 | 
				
			||||||
 | 
					            (use-modules (ice-9 match))
 | 
				
			||||||
 | 
					            (let ((code 0))
 | 
				
			||||||
 | 
					              (for-each
 | 
				
			||||||
 | 
					               (match-lambda
 | 
				
			||||||
 | 
					                 ((name . command)
 | 
				
			||||||
 | 
					                  (begin
 | 
				
			||||||
 | 
					                    (format #t "Acquiring or renewing certificate: ~a~%" name)
 | 
				
			||||||
 | 
					                    (set! code (or (apply system* command) code)))))
 | 
				
			||||||
 | 
					               '#$commands) code)))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define certbot-activation
 | 
					(define (certbot-renewal-jobs config)
 | 
				
			||||||
  (match-lambda
 | 
					  (list
 | 
				
			||||||
    (($ <certbot-configuration> package webroot hosts default-location)
 | 
					   ;; Attempt to renew the certificates twice per day, at a random minute
 | 
				
			||||||
 | 
					   ;; within the hour.  See https://certbot.eff.org/all-instructions/.
 | 
				
			||||||
 | 
					   #~(job '(next-minute-from (next-hour '(0 12)) (list (random 60)))
 | 
				
			||||||
 | 
					          #$(certbot-command config))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define (certbot-activation config)
 | 
				
			||||||
 | 
					  (match config
 | 
				
			||||||
 | 
					    (($ <certbot-configuration> package webroot certificates email
 | 
				
			||||||
 | 
					                                rsa-key-size default-location)
 | 
				
			||||||
     (with-imported-modules '((guix build utils))
 | 
					     (with-imported-modules '((guix build utils))
 | 
				
			||||||
       #~(begin
 | 
					       #~(begin
 | 
				
			||||||
	   (use-modules (guix build utils))
 | 
					           (use-modules (guix build utils))
 | 
				
			||||||
	   (mkdir-p #$webroot)
 | 
					           (mkdir-p #$webroot)
 | 
				
			||||||
           (for-each
 | 
					           (zero? (system* #$(certbot-command config))))))))
 | 
				
			||||||
            (lambda (host)
 | 
					 | 
				
			||||||
              (unless (file-exists? (in-vicinity "/etc/letsencrypt/live" host))
 | 
					 | 
				
			||||||
                (unless (zero? (system*
 | 
					 | 
				
			||||||
                                (string-append #$certbot "/bin/certbot")
 | 
					 | 
				
			||||||
                                "certonly" "--webroot" "-w" #$webroot
 | 
					 | 
				
			||||||
                                "-d" host))
 | 
					 | 
				
			||||||
                  (error "failed to acquire cert for host" host))))
 | 
					 | 
				
			||||||
            '#$hosts))))))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define certbot-nginx-server-configurations
 | 
					(define certbot-nginx-server-configurations
 | 
				
			||||||
  (match-lambda
 | 
					  (match-lambda
 | 
				
			||||||
    (($ <certbot-configuration> package webroot hosts default-location)
 | 
					    (($ <certbot-configuration> package webroot certificates email
 | 
				
			||||||
     (map
 | 
					                                rsa-key-size default-location)
 | 
				
			||||||
      (lambda (host)
 | 
					     (list
 | 
				
			||||||
        (nginx-server-configuration
 | 
					      (nginx-server-configuration
 | 
				
			||||||
         (listen '("80"))
 | 
					       (listen '("80" "[::]:80"))
 | 
				
			||||||
         (ssl-certificate #f)
 | 
					       (ssl-certificate #f)
 | 
				
			||||||
         (ssl-certificate-key #f)
 | 
					       (ssl-certificate-key #f)
 | 
				
			||||||
         (server-name (list host))
 | 
					       (server-name
 | 
				
			||||||
         (locations
 | 
					        (apply append (map certificate-configuration-domains certificates)))
 | 
				
			||||||
          (filter identity
 | 
					       (locations
 | 
				
			||||||
                  (list
 | 
					        (filter identity
 | 
				
			||||||
                   (nginx-location-configuration
 | 
					                (list
 | 
				
			||||||
                    (uri "/.well-known")
 | 
					                 (nginx-location-configuration
 | 
				
			||||||
                    (body (list (list "root " webroot ";"))))
 | 
					                  (uri "/.well-known")
 | 
				
			||||||
                   default-location)))))
 | 
					                  (body (list (list "root " webroot ";"))))
 | 
				
			||||||
      hosts))))
 | 
					                 default-location))))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define certbot-service-type
 | 
					(define certbot-service-type
 | 
				
			||||||
  (service-type (name 'certbot)
 | 
					  (service-type (name 'certbot)
 | 
				
			||||||
| 
						 | 
					@ -121,12 +151,13 @@
 | 
				
			||||||
                       (service-extension mcron-service-type
 | 
					                       (service-extension mcron-service-type
 | 
				
			||||||
                                          certbot-renewal-jobs)))
 | 
					                                          certbot-renewal-jobs)))
 | 
				
			||||||
                (compose concatenate)
 | 
					                (compose concatenate)
 | 
				
			||||||
                (extend (lambda (config additional-hosts)
 | 
					                (extend (lambda (config additional-certificates)
 | 
				
			||||||
                          (certbot-configuration
 | 
					                          (certbot-configuration
 | 
				
			||||||
                           (inherit config)
 | 
					                           (inherit config)
 | 
				
			||||||
                           (hosts (append (certbot-configuration-hosts config)
 | 
					                           (certificates
 | 
				
			||||||
                                          additional-hosts)))))
 | 
					                            (append
 | 
				
			||||||
                (default-value (certbot-configuration))
 | 
					                             (certbot-configuration-certificates config)
 | 
				
			||||||
 | 
					                             additional-certificates)))))
 | 
				
			||||||
                (description
 | 
					                (description
 | 
				
			||||||
                 "Automatically renew @url{https://letsencrypt.org, Let's
 | 
					                 "Automatically renew @url{https://letsencrypt.org, Let's
 | 
				
			||||||
Encrypt} HTTPS certificates by adjusting the nginx web server configuration
 | 
					Encrypt} HTTPS certificates by adjusting the nginx web server configuration
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -437,7 +437,9 @@ desktop session from the system or user profile will be used."
 | 
				
			||||||
  (auto-login-session slim-configuration-auto-login-session
 | 
					  (auto-login-session slim-configuration-auto-login-session
 | 
				
			||||||
                      (default #f))
 | 
					                      (default #f))
 | 
				
			||||||
  (startx slim-configuration-startx
 | 
					  (startx slim-configuration-startx
 | 
				
			||||||
          (default (xorg-start-command))))
 | 
					          (default (xorg-start-command)))
 | 
				
			||||||
 | 
					  (sessreg slim-configuration-sessreg
 | 
				
			||||||
 | 
					           (default sessreg)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (slim-pam-service config)
 | 
					(define (slim-pam-service config)
 | 
				
			||||||
  "Return a PAM service for @command{slim}."
 | 
					  "Return a PAM service for @command{slim}."
 | 
				
			||||||
| 
						 | 
					@ -454,7 +456,8 @@ desktop session from the system or user profile will be used."
 | 
				
			||||||
          (xauth   (slim-configuration-xauth config))
 | 
					          (xauth   (slim-configuration-xauth config))
 | 
				
			||||||
          (startx  (slim-configuration-startx config))
 | 
					          (startx  (slim-configuration-startx config))
 | 
				
			||||||
          (shepherd   (slim-configuration-shepherd config))
 | 
					          (shepherd   (slim-configuration-shepherd config))
 | 
				
			||||||
          (theme-name (slim-configuration-theme-name config)))
 | 
					          (theme-name (slim-configuration-theme-name config))
 | 
				
			||||||
 | 
					          (sessreg (slim-configuration-sessreg config)))
 | 
				
			||||||
      (mixed-text-file "slim.cfg"  "
 | 
					      (mixed-text-file "slim.cfg"  "
 | 
				
			||||||
default_path /run/current-system/profile/bin
 | 
					default_path /run/current-system/profile/bin
 | 
				
			||||||
default_xserver " startx "
 | 
					default_xserver " startx "
 | 
				
			||||||
| 
						 | 
					@ -467,6 +470,8 @@ authfile /var/run/slim.auth
 | 
				
			||||||
login_cmd  exec " xinitrc " %session
 | 
					login_cmd  exec " xinitrc " %session
 | 
				
			||||||
sessiondir /run/current-system/profile/share/xsessions
 | 
					sessiondir /run/current-system/profile/share/xsessions
 | 
				
			||||||
session_msg session (F1 to change):
 | 
					session_msg session (F1 to change):
 | 
				
			||||||
 | 
					sessionstart_cmd " sessreg "/bin/sessreg -a -l $DISPLAY %user
 | 
				
			||||||
 | 
					sessionstop_cmd " sessreg "/bin/sessreg -d -l $DISPLAY %user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
halt_cmd " shepherd "/sbin/halt
 | 
					halt_cmd " shepherd "/sbin/halt
 | 
				
			||||||
reboot_cmd " shepherd "/sbin/reboot\n"
 | 
					reboot_cmd " shepherd "/sbin/reboot\n"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org>
 | 
					;;; Copyright © 2014, 2015, 2018 David Thompson <davet@gnu.org>
 | 
				
			||||||
;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
| 
						 | 
					@ -141,6 +141,8 @@ COMMAND or an interactive shell in that environment.\n"))
 | 
				
			||||||
  (display (G_ "
 | 
					  (display (G_ "
 | 
				
			||||||
  -l, --load=FILE        create environment for the package that the code within
 | 
					  -l, --load=FILE        create environment for the package that the code within
 | 
				
			||||||
                         FILE evaluates to"))
 | 
					                         FILE evaluates to"))
 | 
				
			||||||
 | 
					  (display (G_ "
 | 
				
			||||||
 | 
					  -m, --manifest=FILE    create environment with the manifest from FILE"))
 | 
				
			||||||
  (display (G_ "
 | 
					  (display (G_ "
 | 
				
			||||||
      --ad-hoc           include all specified packages in the environment instead
 | 
					      --ad-hoc           include all specified packages in the environment instead
 | 
				
			||||||
                         of only their inputs"))
 | 
					                         of only their inputs"))
 | 
				
			||||||
| 
						 | 
					@ -220,6 +222,11 @@ COMMAND or an interactive shell in that environment.\n"))
 | 
				
			||||||
                   (alist-cons 'expression
 | 
					                   (alist-cons 'expression
 | 
				
			||||||
                               (tag-package-arg result arg)
 | 
					                               (tag-package-arg result arg)
 | 
				
			||||||
                               result)))
 | 
					                               result)))
 | 
				
			||||||
 | 
					         (option '(#\m "manifest") #t #f
 | 
				
			||||||
 | 
					                 (lambda (opt name arg result)
 | 
				
			||||||
 | 
					                   (alist-cons 'manifest
 | 
				
			||||||
 | 
					                               arg
 | 
				
			||||||
 | 
					                               result)))
 | 
				
			||||||
         (option '("ad-hoc") #f #f
 | 
					         (option '("ad-hoc") #f #f
 | 
				
			||||||
                 (lambda (opt name arg result)
 | 
					                 (lambda (opt name arg result)
 | 
				
			||||||
                   (alist-cons 'ad-hoc? #t result)))
 | 
					                   (alist-cons 'ad-hoc? #t result)))
 | 
				
			||||||
| 
						 | 
					@ -286,6 +293,16 @@ packages."
 | 
				
			||||||
      (((? package-or-package+output?) ...) ; many packages
 | 
					      (((? package-or-package+output?) ...) ; many packages
 | 
				
			||||||
       (map (cut package->output <> mode) packages))))
 | 
					       (map (cut package->output <> mode) packages))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (define (manifest->outputs manifest)
 | 
				
			||||||
 | 
					    (map (lambda (entry)
 | 
				
			||||||
 | 
					           (cons 'ad-hoc-package ; manifests are implicitly ad-hoc
 | 
				
			||||||
 | 
					                 (if (package? (manifest-entry-item entry))
 | 
				
			||||||
 | 
					                     (list (manifest-entry-item entry)
 | 
				
			||||||
 | 
					                           (manifest-entry-output entry))
 | 
				
			||||||
 | 
					                     ;; Direct store paths have no output.
 | 
				
			||||||
 | 
					                     (list (manifest-entry-item entry)))))
 | 
				
			||||||
 | 
					         (manifest-entries manifest)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (compact
 | 
					  (compact
 | 
				
			||||||
   (append-map (match-lambda
 | 
					   (append-map (match-lambda
 | 
				
			||||||
                 (('package mode (? string? spec))
 | 
					                 (('package mode (? string? spec))
 | 
				
			||||||
| 
						 | 
					@ -299,6 +316,9 @@ packages."
 | 
				
			||||||
                  ;; Add all the outputs of the package defined in FILE.
 | 
					                  ;; Add all the outputs of the package defined in FILE.
 | 
				
			||||||
                  (let ((module (make-user-module '())))
 | 
					                  (let ((module (make-user-module '())))
 | 
				
			||||||
                    (packages->outputs (load* file module) mode)))
 | 
					                    (packages->outputs (load* file module) mode)))
 | 
				
			||||||
 | 
					                 (('manifest . file)
 | 
				
			||||||
 | 
					                  (let ((module (make-user-module '())))
 | 
				
			||||||
 | 
					                    (manifest->outputs (load* file module))))
 | 
				
			||||||
                 (_ '(#f)))
 | 
					                 (_ '(#f)))
 | 
				
			||||||
               opts)))
 | 
					               opts)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -62,6 +62,15 @@ fi
 | 
				
			||||||
guix environment --bootstrap --ad-hoc guile-bootstrap --pure \
 | 
					guix environment --bootstrap --ad-hoc guile-bootstrap --pure \
 | 
				
			||||||
     -- "$SHELL" -c 'test -f "$GUIX_ENVIRONMENT/bin/guile"'
 | 
					     -- "$SHELL" -c 'test -f "$GUIX_ENVIRONMENT/bin/guile"'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Make sure 'GUIX_ENVIRONMENT' points to the profile when building from a
 | 
				
			||||||
 | 
					# manifest.
 | 
				
			||||||
 | 
					echo "(use-modules (guix profiles) (gnu packages bootstrap))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(packages->manifest (list %bootstrap-guile))
 | 
				
			||||||
 | 
					" > $tmpdir/manifest.scm
 | 
				
			||||||
 | 
					guix environment --bootstrap --manifest=$tmpdir/manifest.scm --pure \
 | 
				
			||||||
 | 
					     -- "$SHELL" -c 'test -f "$GUIX_ENVIRONMENT/bin/guile"'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Make sure '-r' works as expected.
 | 
					# Make sure '-r' works as expected.
 | 
				
			||||||
rm -f "$gcroot"
 | 
					rm -f "$gcroot"
 | 
				
			||||||
expected="`guix environment --bootstrap --ad-hoc guile-bootstrap \
 | 
					expected="`guix environment --bootstrap --ad-hoc guile-bootstrap \
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue