Merge branch 'master' into core-updates
This commit is contained in:
		
						commit
						4193095e18
					
				
					 371 changed files with 20643 additions and 9734 deletions
				
			
		| 
						 | 
					@ -89,6 +89,10 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   (eval . (put 'with-database 'scheme-indent-function 2))
 | 
					   (eval . (put 'with-database 'scheme-indent-function 2))
 | 
				
			||||||
   (eval . (put 'call-with-transaction 'scheme-indent-function 2))
 | 
					   (eval . (put 'call-with-transaction 'scheme-indent-function 2))
 | 
				
			||||||
 | 
					   (eval . (put 'with-statement 'scheme-indent-function 3))
 | 
				
			||||||
 | 
					   (eval . (put 'call-with-retrying-transaction 'scheme-indent-function 2))
 | 
				
			||||||
 | 
					   (eval . (put 'call-with-savepoint 'scheme-indent-function 1))
 | 
				
			||||||
 | 
					   (eval . (put 'call-with-retrying-savepoint 'scheme-indent-function 1))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   (eval . (put 'call-with-container 'scheme-indent-function 1))
 | 
					   (eval . (put 'call-with-container 'scheme-indent-function 1))
 | 
				
			||||||
   (eval . (put 'container-excursion 'scheme-indent-function 1))
 | 
					   (eval . (put 'container-excursion 'scheme-indent-function 1))
 | 
				
			||||||
| 
						 | 
					@ -96,6 +100,10 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   (eval . (put 'call-with-progress-reporter 'scheme-indent-function 1))
 | 
					   (eval . (put 'call-with-progress-reporter 'scheme-indent-function 1))
 | 
				
			||||||
   (eval . (put 'with-temporary-git-repository 'scheme-indent-function 2))
 | 
					   (eval . (put 'with-temporary-git-repository 'scheme-indent-function 2))
 | 
				
			||||||
 | 
					   (eval . (put 'with-environment-variables 'scheme-indent-function 1))
 | 
				
			||||||
 | 
					   (eval . (put 'with-fresh-gnupg-setup 'scheme-indent-function 1))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   (eval . (put 'with-paginated-output-port 'scheme-indent-function 1))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   ;; This notably allows '(' in Paredit to not insert a space when the
 | 
					   ;; This notably allows '(' in Paredit to not insert a space when the
 | 
				
			||||||
   ;; preceding symbol is one of these.
 | 
					   ;; preceding symbol is one of these.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										28
									
								
								Makefile.am
									
										
									
									
									
								
							
							
						
						
									
										28
									
								
								Makefile.am
									
										
									
									
									
								
							| 
						 | 
					@ -7,7 +7,7 @@
 | 
				
			||||||
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
					# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
				
			||||||
# Copyright © 2017 Leo Famulari <leo@famulari.name>
 | 
					# Copyright © 2017 Leo Famulari <leo@famulari.name>
 | 
				
			||||||
# Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
 | 
					# Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
 | 
				
			||||||
# Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
 | 
					# Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
				
			||||||
# Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
 | 
					# Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
 | 
				
			||||||
# Copyright © 2018 Nikita <nikita@n0.is>
 | 
					# Copyright © 2018 Nikita <nikita@n0.is>
 | 
				
			||||||
# Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
 | 
					# Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
 | 
				
			||||||
| 
						 | 
					@ -104,6 +104,7 @@ MODULES =					\
 | 
				
			||||||
  guix/lint.scm				\
 | 
					  guix/lint.scm				\
 | 
				
			||||||
  guix/glob.scm					\
 | 
					  guix/glob.scm					\
 | 
				
			||||||
  guix/git.scm					\
 | 
					  guix/git.scm					\
 | 
				
			||||||
 | 
					  guix/git-authenticate.scm			\
 | 
				
			||||||
  guix/graph.scm				\
 | 
					  guix/graph.scm				\
 | 
				
			||||||
  guix/cache.scm				\
 | 
					  guix/cache.scm				\
 | 
				
			||||||
  guix/cve.scm					\
 | 
					  guix/cve.scm					\
 | 
				
			||||||
| 
						 | 
					@ -318,7 +319,8 @@ MODULES += $(STORE_MODULES)
 | 
				
			||||||
dist_noinst_DATA =				\
 | 
					dist_noinst_DATA =				\
 | 
				
			||||||
  guix/tests.scm				\
 | 
					  guix/tests.scm				\
 | 
				
			||||||
  guix/tests/http.scm				\
 | 
					  guix/tests/http.scm				\
 | 
				
			||||||
  guix/tests/git.scm
 | 
					  guix/tests/git.scm				\
 | 
				
			||||||
 | 
					  guix/tests/gnupg.scm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Auxiliary files for packages.
 | 
					# Auxiliary files for packages.
 | 
				
			||||||
AUX_FILES =						\
 | 
					AUX_FILES =						\
 | 
				
			||||||
| 
						 | 
					@ -346,6 +348,7 @@ AUX_FILES =						\
 | 
				
			||||||
EXAMPLES =					\
 | 
					EXAMPLES =					\
 | 
				
			||||||
  gnu/system/examples/asus-c201.tmpl		\
 | 
					  gnu/system/examples/asus-c201.tmpl		\
 | 
				
			||||||
  gnu/system/examples/bare-bones.tmpl		\
 | 
					  gnu/system/examples/bare-bones.tmpl		\
 | 
				
			||||||
 | 
					  gnu/system/examples/bare-hurd.tmpl		\
 | 
				
			||||||
  gnu/system/examples/beaglebone-black.tmpl	\
 | 
					  gnu/system/examples/beaglebone-black.tmpl	\
 | 
				
			||||||
  gnu/system/examples/desktop.tmpl		\
 | 
					  gnu/system/examples/desktop.tmpl		\
 | 
				
			||||||
  gnu/system/examples/lightweight-desktop.tmpl	\
 | 
					  gnu/system/examples/lightweight-desktop.tmpl	\
 | 
				
			||||||
| 
						 | 
					@ -403,6 +406,7 @@ SCM_TESTS =					\
 | 
				
			||||||
  tests/gem.scm				\
 | 
					  tests/gem.scm				\
 | 
				
			||||||
  tests/gexp.scm				\
 | 
					  tests/gexp.scm				\
 | 
				
			||||||
  tests/git.scm					\
 | 
					  tests/git.scm					\
 | 
				
			||||||
 | 
					  tests/git-authenticate.scm			\
 | 
				
			||||||
  tests/glob.scm				\
 | 
					  tests/glob.scm				\
 | 
				
			||||||
  tests/gnu-maintenance.scm			\
 | 
					  tests/gnu-maintenance.scm			\
 | 
				
			||||||
  tests/grafts.scm				\
 | 
					  tests/grafts.scm				\
 | 
				
			||||||
| 
						 | 
					@ -557,6 +561,7 @@ EXTRA_DIST +=						\
 | 
				
			||||||
  build-aux/cuirass/guix-modular.scm			\
 | 
					  build-aux/cuirass/guix-modular.scm			\
 | 
				
			||||||
  build-aux/cuirass/hydra-to-cuirass.scm		\
 | 
					  build-aux/cuirass/hydra-to-cuirass.scm		\
 | 
				
			||||||
  build-aux/check-final-inputs-self-contained.scm	\
 | 
					  build-aux/check-final-inputs-self-contained.scm	\
 | 
				
			||||||
 | 
					  build-aux/check-channel-news.scm			\
 | 
				
			||||||
  build-aux/compile-as-derivation.scm			\
 | 
					  build-aux/compile-as-derivation.scm			\
 | 
				
			||||||
  build-aux/generate-authors.scm			\
 | 
					  build-aux/generate-authors.scm			\
 | 
				
			||||||
  build-aux/git-authenticate.scm			\
 | 
					  build-aux/git-authenticate.scm			\
 | 
				
			||||||
| 
						 | 
					@ -574,6 +579,8 @@ EXTRA_DIST +=						\
 | 
				
			||||||
  tests/dsa.key						\
 | 
					  tests/dsa.key						\
 | 
				
			||||||
  tests/ed25519.key					\
 | 
					  tests/ed25519.key					\
 | 
				
			||||||
  tests/ed25519.sec					\
 | 
					  tests/ed25519.sec					\
 | 
				
			||||||
 | 
					  tests/ed25519bis.key					\
 | 
				
			||||||
 | 
					  tests/ed25519bis.sec					\
 | 
				
			||||||
  build-aux/config.rpath				\
 | 
					  build-aux/config.rpath				\
 | 
				
			||||||
  bootstrap						\
 | 
					  bootstrap						\
 | 
				
			||||||
  doc/build.scm						\
 | 
					  doc/build.scm						\
 | 
				
			||||||
| 
						 | 
					@ -626,17 +633,17 @@ $(guix_install_go_files): install-nobase_dist_guilemoduleDATA
 | 
				
			||||||
install-data-hook:
 | 
					install-data-hook:
 | 
				
			||||||
	touch "$(DESTDIR)$(guileobjectdir)/guix/config.go"
 | 
						touch "$(DESTDIR)$(guileobjectdir)/guix/config.go"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Commit corresponding to the 'v1.0.1' tag.
 | 
					# Commit corresponding to the 'v1.0.0' tag.
 | 
				
			||||||
commit_v1_0_1 = d68de958b60426798ed62797ff7c96c327a672ac
 | 
					commit_v1_0_0 = 6298c3ffd9654d3231a6f25390b056483e8f407c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Authenticate the current Git checkout by checking signatures on every commit
 | 
					# Authenticate the current Git checkout by checking signatures on every commit
 | 
				
			||||||
# starting from $(commit_v1_0_1).
 | 
					# starting from $(commit_v1_0_0).
 | 
				
			||||||
authenticate:
 | 
					authenticate: guix/openpgp.go guix/git-authenticate.go guix/git.go
 | 
				
			||||||
	$(AM_V_at)echo "Authenticating Git checkout..." ;	\
 | 
						$(AM_V_at)echo "Authenticating Git checkout..." ;	\
 | 
				
			||||||
	"$(top_builddir)/pre-inst-env" $(GUILE)			\
 | 
						"$(top_builddir)/pre-inst-env" $(GUILE)			\
 | 
				
			||||||
	  --no-auto-compile -e git-authenticate			\
 | 
						  --no-auto-compile -e git-authenticate			\
 | 
				
			||||||
	  "$(top_srcdir)/build-aux/git-authenticate.scm"	\
 | 
						  "$(top_srcdir)/build-aux/git-authenticate.scm"	\
 | 
				
			||||||
	  "$(commit_v1_0_1)"
 | 
						  "$(commit_v1_0_0)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Assuming Guix is already installed and the daemon is up and running, this
 | 
					# Assuming Guix is already installed and the daemon is up and running, this
 | 
				
			||||||
# rule builds from $(srcdir), creating and building derivations.
 | 
					# rule builds from $(srcdir), creating and building derivations.
 | 
				
			||||||
| 
						 | 
					@ -885,6 +892,11 @@ assert-final-inputs-self-contained: $(GOBJECTS)
 | 
				
			||||||
	$(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)"			\
 | 
						$(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)"			\
 | 
				
			||||||
	  "$(top_srcdir)/build-aux/check-final-inputs-self-contained.scm"
 | 
						  "$(top_srcdir)/build-aux/check-final-inputs-self-contained.scm"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Validate channel news.
 | 
				
			||||||
 | 
					check-channel-news: $(GOBJECTS)
 | 
				
			||||||
 | 
						$(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)"	\
 | 
				
			||||||
 | 
						  "$(top_srcdir)/build-aux/check-channel-news.scm"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Compute the Hydra jobs and write them in the target file.
 | 
					# Compute the Hydra jobs and write them in the target file.
 | 
				
			||||||
hydra-jobs.scm: $(GOBJECTS)
 | 
					hydra-jobs.scm: $(GOBJECTS)
 | 
				
			||||||
	$(AM_V_at)$(MKDIR_P) "`dirname "$@"`"
 | 
						$(AM_V_at)$(MKDIR_P) "`dirname "$@"`"
 | 
				
			||||||
| 
						 | 
					@ -904,7 +916,7 @@ cuirass-jobs.scm: $(GOBJECTS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version
 | 
					.PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version
 | 
				
			||||||
.PHONY: assert-no-store-file-names assert-binaries-available
 | 
					.PHONY: assert-no-store-file-names assert-binaries-available
 | 
				
			||||||
.PHONY: assert-final-inputs-self-contained
 | 
					.PHONY: assert-final-inputs-self-contained check-channel-news
 | 
				
			||||||
.PHONY: clean-go make-go as-derivation authenticate
 | 
					.PHONY: clean-go make-go as-derivation authenticate
 | 
				
			||||||
.PHONY: update-guix-package update-NEWS release
 | 
					.PHONY: update-guix-package update-NEWS release
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										25
									
								
								README
									
										
									
									
									
								
							
							
						
						
									
										25
									
								
								README
									
										
									
									
									
								
							| 
						 | 
					@ -18,27 +18,12 @@ Guix is based on the [[https://nixos.org/nix/][Nix]] package manager.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Requirements
 | 
					* Requirements
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GNU Guix currently depends on the following packages:
 | 
					If you are building Guix from source, please see the manual for build
 | 
				
			||||||
 | 
					instructions and requirements, either by running:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [[https://gnu.org/software/guile/][GNU Guile 2.2.x]]
 | 
					  info -f doc/guix.info "Requirements"
 | 
				
			||||||
  - [[https://notabug.org/cwebber/guile-gcrypt][Guile-Gcrypt]] 0.1.0 or later
 | 
					 | 
				
			||||||
  - [[https://www.gnu.org/software/make/][GNU Make]]
 | 
					 | 
				
			||||||
  - [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled
 | 
					 | 
				
			||||||
  - [[https://notabug.org/guile-sqlite3/guile-sqlite3][Guile-SQLite3]], version 0.1.0 or later
 | 
					 | 
				
			||||||
  - [[https://gitlab.com/guile-git/guile-git][Guile-Git]]
 | 
					 | 
				
			||||||
  - [[http://www.zlib.net/][zlib]]
 | 
					 | 
				
			||||||
  - [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]]
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Unless `--disable-daemon' was passed, the following packages are needed:
 | 
					or by checking the [[https://guix.gnu.org/manual/en/html_node/Requirements.html][web copy of the manual]].
 | 
				
			||||||
 | 
					 | 
				
			||||||
  - [[https://gnupg.org/][GNU libgcrypt]]
 | 
					 | 
				
			||||||
  - [[https://sqlite.org/][SQLite 3]]
 | 
					 | 
				
			||||||
  - [[https://gcc.gnu.org][GCC's g++]]
 | 
					 | 
				
			||||||
  - optionally [[http://www.bzip.org][libbz2]]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
When `--disable-daemon' was passed, you instead need the following:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - [[https://nixos.org/nix/][Nix]]
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Installation
 | 
					* Installation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -46,7 +31,7 @@ See the manual for the installation instructions, either by running
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  info -f doc/guix.info "Installation"
 | 
					  info -f doc/guix.info "Installation"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
or by checking the [[https://www.gnu.org/software/guix/manual/guix.html#Installation][web copy of the manual]].
 | 
					or by checking the [[https://guix.gnu.org/manual/en/html_node/Installation.html][web copy of the manual]].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For information on installation from a Git checkout, please see the section
 | 
					For information on installation from a Git checkout, please see the section
 | 
				
			||||||
"Building from Git" in the manual.
 | 
					"Building from Git" in the manual.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										82
									
								
								build-aux/check-channel-news.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								build-aux/check-channel-news.scm
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,82 @@
 | 
				
			||||||
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; GNU Guix is free software; you can redistribute it and/or modify it
 | 
				
			||||||
 | 
					;;; under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					;;; the Free Software Foundation; either version 3 of the License, or (at
 | 
				
			||||||
 | 
					;;; your option) any later version.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; GNU Guix is distributed in the hope that it will be useful, but
 | 
				
			||||||
 | 
					;;; WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					;;; GNU General Public License for more details.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; Validate 'etc/news.scm'.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(use-modules (git)
 | 
				
			||||||
 | 
					             (guix git)
 | 
				
			||||||
 | 
					             (guix ui)
 | 
				
			||||||
 | 
					             (guix channels)
 | 
				
			||||||
 | 
					             (srfi srfi-26)
 | 
				
			||||||
 | 
					             (ice-9 match))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; XXX: These two things are currently private.
 | 
				
			||||||
 | 
					(define read-channel-news (@@ (guix channels) read-channel-news))
 | 
				
			||||||
 | 
					(define channel-news-entries (cut struct-ref <> 0))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define (all-the-news directory)
 | 
				
			||||||
 | 
					  "Return the <channel-news> read from DIRECTORY, a checkout of the 'guix'
 | 
				
			||||||
 | 
					channel."
 | 
				
			||||||
 | 
					  (call-with-input-file (string-append directory "/etc/news.scm")
 | 
				
			||||||
 | 
					    read-channel-news))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define (validate-texinfo str type language)
 | 
				
			||||||
 | 
					  "Parse STR as a Texinfo fragment and raise an error if that fails."
 | 
				
			||||||
 | 
					  (catch #t
 | 
				
			||||||
 | 
					    (lambda ()
 | 
				
			||||||
 | 
					      (texi->plain-text str))
 | 
				
			||||||
 | 
					    (lambda (key . args)
 | 
				
			||||||
 | 
					      (print-exception (current-error-port) #f key args)
 | 
				
			||||||
 | 
					      (report-error (G_ "the Texinfo snippet below is invalid (~a, ~a):~%")
 | 
				
			||||||
 | 
					                    type language)
 | 
				
			||||||
 | 
					      (display str (current-error-port))
 | 
				
			||||||
 | 
					      (exit 1))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define (validate-news-entry repository entry)
 | 
				
			||||||
 | 
					  "Validate ENTRY, a <channel-news-entry>, making sure it refers to an
 | 
				
			||||||
 | 
					existent commit of REPOSITORY and contains only valid Texinfo."
 | 
				
			||||||
 | 
					  (catch 'git-error
 | 
				
			||||||
 | 
					    (lambda ()
 | 
				
			||||||
 | 
					      (let ((commit (commit-lookup repository
 | 
				
			||||||
 | 
					                                   (string->oid
 | 
				
			||||||
 | 
					                                    (channel-news-entry-commit entry)))))
 | 
				
			||||||
 | 
					        (for-each (match-lambda
 | 
				
			||||||
 | 
					                    ((language . title)
 | 
				
			||||||
 | 
					                     (validate-texinfo title 'title language)))
 | 
				
			||||||
 | 
					                  (channel-news-entry-title entry))
 | 
				
			||||||
 | 
					        (for-each (match-lambda
 | 
				
			||||||
 | 
					                    ((language . body)
 | 
				
			||||||
 | 
					                     (validate-texinfo body 'body language)))
 | 
				
			||||||
 | 
					                  (channel-news-entry-body entry))))
 | 
				
			||||||
 | 
					    (lambda (key error . rest)
 | 
				
			||||||
 | 
					      (if (= GIT_ENOTFOUND (git-error-code error))
 | 
				
			||||||
 | 
					          (leave (G_ "commit '~a' of entry '~a' does not exist~%")
 | 
				
			||||||
 | 
					                 (channel-news-entry-commit entry)
 | 
				
			||||||
 | 
					                 (channel-news-entry-title entry))
 | 
				
			||||||
 | 
					          (apply throw key error rest)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(let* ((this-directory (dirname (current-filename)))
 | 
				
			||||||
 | 
					       (top-directory  (string-append this-directory "/.."))
 | 
				
			||||||
 | 
					       (entries        (channel-news-entries (all-the-news top-directory))))
 | 
				
			||||||
 | 
					  (with-repository top-directory repository
 | 
				
			||||||
 | 
					    (for-each (cut validate-news-entry repository <>)
 | 
				
			||||||
 | 
					              entries)
 | 
				
			||||||
 | 
					    (info (G_ "All ~a channel news entries are valid.~%")
 | 
				
			||||||
 | 
					          (length entries))))
 | 
				
			||||||
| 
						 | 
					@ -22,32 +22,28 @@
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(use-modules (git)
 | 
					(use-modules (git)
 | 
				
			||||||
             (guix git)
 | 
					 | 
				
			||||||
             (guix openpgp)
 | 
					 | 
				
			||||||
             (guix base16)
 | 
					             (guix base16)
 | 
				
			||||||
             ((guix utils)
 | 
					             (guix git)
 | 
				
			||||||
              #:select (cache-directory with-atomic-file-output))
 | 
					             (guix git-authenticate)
 | 
				
			||||||
             ((guix build utils) #:select (mkdir-p))
 | 
					 | 
				
			||||||
             (guix i18n)
 | 
					             (guix i18n)
 | 
				
			||||||
 | 
					             ((guix openpgp)
 | 
				
			||||||
 | 
					              #:select (openpgp-public-key-fingerprint
 | 
				
			||||||
 | 
					                        openpgp-format-fingerprint))
 | 
				
			||||||
             (guix progress)
 | 
					             (guix progress)
 | 
				
			||||||
             (srfi srfi-1)
 | 
					             (srfi srfi-1)
 | 
				
			||||||
             (srfi srfi-11)
 | 
					 | 
				
			||||||
             (srfi srfi-26)
 | 
					             (srfi srfi-26)
 | 
				
			||||||
             (srfi srfi-34)
 | 
					 | 
				
			||||||
             (srfi srfi-35)
 | 
					 | 
				
			||||||
             (rnrs bytevectors)
 | 
					 | 
				
			||||||
             (rnrs io ports)
 | 
					 | 
				
			||||||
             (ice-9 match)
 | 
					             (ice-9 match)
 | 
				
			||||||
             (ice-9 format)
 | 
					             (ice-9 format)
 | 
				
			||||||
             (ice-9 pretty-print))
 | 
					             (ice-9 pretty-print))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define %committers
 | 
					(define %historical-committers
 | 
				
			||||||
  ;; List of committers.  These are the user names found on
 | 
					  ;; List of "historical" committers---people once authorized committers
 | 
				
			||||||
 | 
					  ;; before the '.guix-authorizations' file was created.
 | 
				
			||||||
 | 
					  ;;
 | 
				
			||||||
 | 
					  ;; These are the user names found on
 | 
				
			||||||
  ;; <https://savannah.gnu.org/project/memberlist.php?group=guix> along with
 | 
					  ;; <https://savannah.gnu.org/project/memberlist.php?group=guix> along with
 | 
				
			||||||
  ;; the fingerprint of the signing (sub)key.
 | 
					  ;; the fingerprint of the signing (sub)key.
 | 
				
			||||||
  ;;
 | 
					 | 
				
			||||||
  ;; TODO: Replace this statically-defined list by an in-repo list.
 | 
					 | 
				
			||||||
  '(("andreas"
 | 
					  '(("andreas"
 | 
				
			||||||
     "AD17 A21E F8AE D8F1 CC02  DBD9 F7D5 C9BF 765C 61E3")
 | 
					     "AD17 A21E F8AE D8F1 CC02  DBD9 F7D5 C9BF 765C 61E3")
 | 
				
			||||||
    ("ajgrf"
 | 
					    ("ajgrf"
 | 
				
			||||||
| 
						 | 
					@ -214,13 +210,13 @@
 | 
				
			||||||
    ("wingo"
 | 
					    ("wingo"
 | 
				
			||||||
     "FF47 8FB2 64DE 32EC 2967  25A3 DDC0 F535 8812 F8F2")))
 | 
					     "FF47 8FB2 64DE 32EC 2967  25A3 DDC0 F535 8812 F8F2")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define %authorized-signing-keys
 | 
					(define %historical-authorized-signing-keys
 | 
				
			||||||
  ;; Fingerprint of authorized signing keys.
 | 
					  ;; Fingerprint of historically authorized signing keys.
 | 
				
			||||||
  (map (match-lambda
 | 
					  (map (match-lambda
 | 
				
			||||||
         ((name fingerprint)
 | 
					         ((name fingerprint)
 | 
				
			||||||
          (base16-string->bytevector
 | 
					          (base16-string->bytevector
 | 
				
			||||||
           (string-downcase (string-filter char-set:graphic fingerprint)))))
 | 
					           (string-downcase (string-filter char-set:graphic fingerprint)))))
 | 
				
			||||||
       %committers))
 | 
					       %historical-committers))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define %commits-with-bad-signature
 | 
					(define %commits-with-bad-signature
 | 
				
			||||||
  ;; Commits with a known-bad signature.
 | 
					  ;; Commits with a known-bad signature.
 | 
				
			||||||
| 
						 | 
					@ -230,195 +226,9 @@
 | 
				
			||||||
  ;; Commits lacking a signature.
 | 
					  ;; Commits lacking a signature.
 | 
				
			||||||
  '())
 | 
					  '())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (commit-signing-key repo commit-id keyring)
 | 
					 | 
				
			||||||
  "Return the OpenPGP key that signed COMMIT-ID (an OID).  Raise an exception
 | 
					 | 
				
			||||||
if the commit is unsigned, has an invalid signature, or if its signing key is
 | 
					 | 
				
			||||||
not in KEYRING."
 | 
					 | 
				
			||||||
  (let-values (((signature signed-data)
 | 
					 | 
				
			||||||
                (catch 'git-error
 | 
					 | 
				
			||||||
                  (lambda ()
 | 
					 | 
				
			||||||
                    (commit-extract-signature repo commit-id))
 | 
					 | 
				
			||||||
                  (lambda _
 | 
					 | 
				
			||||||
                    (values #f #f)))))
 | 
					 | 
				
			||||||
    (unless signature
 | 
					 | 
				
			||||||
      (raise (condition
 | 
					 | 
				
			||||||
              (&message
 | 
					 | 
				
			||||||
               (message (format #f (G_ "commit ~a lacks a signature")
 | 
					 | 
				
			||||||
                                commit-id))))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    (let ((signature (string->openpgp-packet signature)))
 | 
					 | 
				
			||||||
      (with-fluids ((%default-port-encoding "UTF-8"))
 | 
					 | 
				
			||||||
        (let-values (((status data)
 | 
					 | 
				
			||||||
                      (verify-openpgp-signature signature keyring
 | 
					 | 
				
			||||||
                                                (open-input-string signed-data))))
 | 
					 | 
				
			||||||
          (match status
 | 
					 | 
				
			||||||
            ('bad-signature
 | 
					 | 
				
			||||||
             ;; There's a signature but it's invalid.
 | 
					 | 
				
			||||||
             (raise (condition
 | 
					 | 
				
			||||||
                     (&message
 | 
					 | 
				
			||||||
                      (message (format #f (G_ "signature verification failed \
 | 
					 | 
				
			||||||
for commit ~a")
 | 
					 | 
				
			||||||
                                       (oid->string commit-id)))))))
 | 
					 | 
				
			||||||
            ('missing-key
 | 
					 | 
				
			||||||
             (raise (condition
 | 
					 | 
				
			||||||
                     (&message
 | 
					 | 
				
			||||||
                      (message (format #f (G_ "could not authenticate \
 | 
					 | 
				
			||||||
commit ~a: key ~a is missing")
 | 
					 | 
				
			||||||
                                       (oid->string commit-id)
 | 
					 | 
				
			||||||
                                       data))))))
 | 
					 | 
				
			||||||
            ('good-signature data)))))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define (read-authorizations port)
 | 
					 | 
				
			||||||
  "Read authorizations in the '.guix-authorizations' format from PORT, and
 | 
					 | 
				
			||||||
return a list of authorized fingerprints."
 | 
					 | 
				
			||||||
  (match (read port)
 | 
					 | 
				
			||||||
    (('authorizations ('version 0)
 | 
					 | 
				
			||||||
                      (((? string? fingerprints) _ ...) ...)
 | 
					 | 
				
			||||||
                      _ ...)
 | 
					 | 
				
			||||||
     (map (lambda (fingerprint)
 | 
					 | 
				
			||||||
            (base16-string->bytevector
 | 
					 | 
				
			||||||
             (string-downcase (string-filter char-set:graphic fingerprint))))
 | 
					 | 
				
			||||||
          fingerprints))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define* (commit-authorized-keys repository commit
 | 
					 | 
				
			||||||
                                 #:optional (default-authorizations '()))
 | 
					 | 
				
			||||||
  "Return the list of OpenPGP fingerprints authorized to sign COMMIT, based on
 | 
					 | 
				
			||||||
authorizations listed in its parent commits.  If one of the parent commits
 | 
					 | 
				
			||||||
does not specify anything, fall back to DEFAULT-AUTHORIZATIONS."
 | 
					 | 
				
			||||||
  (define (commit-authorizations commit)
 | 
					 | 
				
			||||||
    (catch 'git-error
 | 
					 | 
				
			||||||
      (lambda ()
 | 
					 | 
				
			||||||
        (let* ((tree  (commit-tree commit))
 | 
					 | 
				
			||||||
               (entry (tree-entry-bypath tree ".guix-authorizations"))
 | 
					 | 
				
			||||||
               (blob  (blob-lookup repository (tree-entry-id entry))))
 | 
					 | 
				
			||||||
          (read-authorizations
 | 
					 | 
				
			||||||
           (open-bytevector-input-port (blob-content blob)))))
 | 
					 | 
				
			||||||
      (lambda (key error)
 | 
					 | 
				
			||||||
        (if (= (git-error-code error) GIT_ENOTFOUND)
 | 
					 | 
				
			||||||
            default-authorizations
 | 
					 | 
				
			||||||
            (throw key error)))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  (apply lset-intersection bytevector=?
 | 
					 | 
				
			||||||
         (map commit-authorizations (commit-parents commit))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define (authenticate-commit repository commit keyring)
 | 
					 | 
				
			||||||
  "Authenticate COMMIT from REPOSITORY and return the signing key fingerprint.
 | 
					 | 
				
			||||||
Raise an error when authentication fails."
 | 
					 | 
				
			||||||
  (define id
 | 
					 | 
				
			||||||
    (commit-id commit))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  (define signing-key
 | 
					 | 
				
			||||||
    (commit-signing-key repository id keyring))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  (unless (member (openpgp-public-key-fingerprint signing-key)
 | 
					 | 
				
			||||||
                  (commit-authorized-keys repository commit
 | 
					 | 
				
			||||||
                                          %authorized-signing-keys))
 | 
					 | 
				
			||||||
    (raise (condition
 | 
					 | 
				
			||||||
            (&message
 | 
					 | 
				
			||||||
             (message (format #f (G_ "commit ~a not signed by an authorized \
 | 
					 | 
				
			||||||
key: ~a")
 | 
					 | 
				
			||||||
                              (oid->string id)
 | 
					 | 
				
			||||||
                              (openpgp-format-fingerprint
 | 
					 | 
				
			||||||
                               (openpgp-public-key-fingerprint
 | 
					 | 
				
			||||||
                                signing-key))))))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  signing-key)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define (load-keyring-from-blob repository oid keyring)
 | 
					 | 
				
			||||||
  "Augment KEYRING with the keyring available in the blob at OID, which may or
 | 
					 | 
				
			||||||
may not be ASCII-armored."
 | 
					 | 
				
			||||||
  (let* ((blob (blob-lookup repository oid))
 | 
					 | 
				
			||||||
         (port (open-bytevector-input-port (blob-content blob))))
 | 
					 | 
				
			||||||
    (get-openpgp-keyring (if (port-ascii-armored? port)
 | 
					 | 
				
			||||||
                             (open-bytevector-input-port (read-radix-64 port))
 | 
					 | 
				
			||||||
                             port)
 | 
					 | 
				
			||||||
                         keyring)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define (load-keyring-from-reference repository reference)
 | 
					 | 
				
			||||||
  "Load the '.key' files from the tree at REFERENCE in REPOSITORY and return
 | 
					 | 
				
			||||||
an OpenPGP keyring."
 | 
					 | 
				
			||||||
  (let* ((reference (branch-lookup repository
 | 
					 | 
				
			||||||
                                   (string-append "origin/" reference)
 | 
					 | 
				
			||||||
                                   BRANCH-REMOTE))
 | 
					 | 
				
			||||||
         (target    (reference-target reference))
 | 
					 | 
				
			||||||
         (commit    (commit-lookup repository target))
 | 
					 | 
				
			||||||
         (tree      (commit-tree commit)))
 | 
					 | 
				
			||||||
    (fold (lambda (name keyring)
 | 
					 | 
				
			||||||
            (if (string-suffix? ".key" name)
 | 
					 | 
				
			||||||
                (let ((entry (tree-entry-bypath tree name)))
 | 
					 | 
				
			||||||
                  (load-keyring-from-blob repository
 | 
					 | 
				
			||||||
                                          (tree-entry-id entry)
 | 
					 | 
				
			||||||
                                          keyring))
 | 
					 | 
				
			||||||
                keyring))
 | 
					 | 
				
			||||||
          %empty-keyring
 | 
					 | 
				
			||||||
          (tree-list tree))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define* (authenticate-commits repository commits
 | 
					 | 
				
			||||||
                               #:key
 | 
					 | 
				
			||||||
                               (keyring-reference "keyring")
 | 
					 | 
				
			||||||
                               (report-progress (const #t)))
 | 
					 | 
				
			||||||
  "Authenticate COMMITS, a list of commit objects, calling REPORT-PROGRESS for
 | 
					 | 
				
			||||||
each of them.  Return an alist showing the number of occurrences of each key.
 | 
					 | 
				
			||||||
The OpenPGP keyring is loaded from KEYRING-REFERENCE in REPOSITORY."
 | 
					 | 
				
			||||||
  (define keyring
 | 
					 | 
				
			||||||
    (load-keyring-from-reference repository keyring-reference))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  (fold (lambda (commit stats)
 | 
					 | 
				
			||||||
          (report-progress)
 | 
					 | 
				
			||||||
          (let ((signer (authenticate-commit repository commit keyring)))
 | 
					 | 
				
			||||||
            (match (assq signer stats)
 | 
					 | 
				
			||||||
              (#f          (cons `(,signer . 1) stats))
 | 
					 | 
				
			||||||
              ((_ . count) (cons `(,signer . ,(+ count 1))
 | 
					 | 
				
			||||||
                                 (alist-delete signer stats))))))
 | 
					 | 
				
			||||||
        '()
 | 
					 | 
				
			||||||
        commits))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define commit-short-id
 | 
					(define commit-short-id
 | 
				
			||||||
  (compose (cut string-take <> 7) oid->string commit-id))
 | 
					  (compose (cut string-take <> 7) oid->string commit-id))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
;;;
 | 
					 | 
				
			||||||
;;; Caching.
 | 
					 | 
				
			||||||
;;;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define (authenticated-commit-cache-file)
 | 
					 | 
				
			||||||
  "Return the name of the file that contains the cache of
 | 
					 | 
				
			||||||
previously-authenticated commits."
 | 
					 | 
				
			||||||
  (string-append (cache-directory) "/authentication/channels/guix"))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define (previously-authenticated-commits)
 | 
					 | 
				
			||||||
  "Return the previously-authenticated commits as a list of commit IDs (hex
 | 
					 | 
				
			||||||
strings)."
 | 
					 | 
				
			||||||
  (catch 'system-error
 | 
					 | 
				
			||||||
    (lambda ()
 | 
					 | 
				
			||||||
      (call-with-input-file (authenticated-commit-cache-file)
 | 
					 | 
				
			||||||
        read))
 | 
					 | 
				
			||||||
    (lambda args
 | 
					 | 
				
			||||||
      (if (= ENOENT (system-error-errno args))
 | 
					 | 
				
			||||||
          '()
 | 
					 | 
				
			||||||
          (apply throw args)))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define (cache-authenticated-commit commit-id)
 | 
					 | 
				
			||||||
  "Record in ~/.cache COMMIT-ID and its closure as authenticated (only
 | 
					 | 
				
			||||||
COMMIT-ID is written to cache, though)."
 | 
					 | 
				
			||||||
  (define %max-cache-length
 | 
					 | 
				
			||||||
    ;; Maximum number of commits in cache.
 | 
					 | 
				
			||||||
    200)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  (let ((lst  (delete-duplicates
 | 
					 | 
				
			||||||
               (cons commit-id (previously-authenticated-commits))))
 | 
					 | 
				
			||||||
        (file (authenticated-commit-cache-file)))
 | 
					 | 
				
			||||||
    (mkdir-p (dirname file))
 | 
					 | 
				
			||||||
    (with-atomic-file-output file
 | 
					 | 
				
			||||||
      (lambda (port)
 | 
					 | 
				
			||||||
        (let ((lst (if (> (length lst) %max-cache-length)
 | 
					 | 
				
			||||||
                       (take lst %max-cache-length) ;truncate
 | 
					 | 
				
			||||||
                       lst)))
 | 
					 | 
				
			||||||
          (chmod port #o600)
 | 
					 | 
				
			||||||
          (display ";; List of previously-authenticated commits.\n\n"
 | 
					 | 
				
			||||||
                   port)
 | 
					 | 
				
			||||||
          (pretty-print lst port))))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; Entry point.
 | 
					;;; Entry point.
 | 
				
			||||||
| 
						 | 
					@ -461,6 +271,8 @@ COMMIT-ID is written to cache, though)."
 | 
				
			||||||
       (let ((stats (call-with-progress-reporter reporter
 | 
					       (let ((stats (call-with-progress-reporter reporter
 | 
				
			||||||
                      (lambda (report)
 | 
					                      (lambda (report)
 | 
				
			||||||
                        (authenticate-commits repository commits
 | 
					                        (authenticate-commits repository commits
 | 
				
			||||||
 | 
					                                              #:default-authorizations
 | 
				
			||||||
 | 
					                                              %historical-authorized-signing-keys
 | 
				
			||||||
                                              #:report-progress report)))))
 | 
					                                              #:report-progress report)))))
 | 
				
			||||||
         (cache-authenticated-commit (oid->string (commit-id end-commit)))
 | 
					         (cache-authenticated-commit (oid->string (commit-id end-commit)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -112,7 +112,8 @@ COMMIT."
 | 
				
			||||||
                                      #:select? version-controlled?))
 | 
					                                      #:select? version-controlled?))
 | 
				
			||||||
              (hash     (query-path-hash store source))
 | 
					              (hash     (query-path-hash store source))
 | 
				
			||||||
              (location (package-definition-location))
 | 
					              (location (package-definition-location))
 | 
				
			||||||
              (old-hash (origin-sha256 (package-source guix))))
 | 
					              (old-hash (content-hash-value
 | 
				
			||||||
 | 
					                          (origin-hash (package-source guix)))))
 | 
				
			||||||
         (edit-expression location
 | 
					         (edit-expression location
 | 
				
			||||||
                          (update-definition commit hash
 | 
					                          (update-definition commit hash
 | 
				
			||||||
                                             #:old-hash old-hash
 | 
					                                             #:old-hash old-hash
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -136,9 +136,9 @@ if test "x$guix_cv_have_recent_guile_sqlite3" != "xyes"; then
 | 
				
			||||||
  AC_MSG_ERROR([A recent Guile-SQLite3 could not be found; please install it.])
 | 
					  AC_MSG_ERROR([A recent Guile-SQLite3 could not be found; please install it.])
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GUILE_MODULE_AVAILABLE([have_guile_gcrypt], [(gcrypt hash)])
 | 
					GUIX_CHECK_GUILE_GCRYPT
 | 
				
			||||||
if test "x$have_guile_gcrypt" != "xyes"; then
 | 
					if test "x$guix_cv_have_recent_guile_gcrypt" != "xyes"; then
 | 
				
			||||||
  AC_MSG_ERROR([Guile-Gcrypt could not be found; please install it.])
 | 
					  AC_MSG_ERROR([A recent Guile-Gcrypt could not be found; please install it.])
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dnl Guile-newt is used by the graphical installer.
 | 
					dnl Guile-newt is used by the graphical installer.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -141,7 +141,7 @@ as well as images, OS examples, and translations."
 | 
				
			||||||
                            (date->string date "~B ~Y")
 | 
					                            (date->string date "~B ~Y")
 | 
				
			||||||
                            version version))))))
 | 
					                            version version))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          (install-file #$(file-append* documentation "/htmlxref.cnf")
 | 
					          (install-file #$(file-append documentation "/htmlxref.cnf")
 | 
				
			||||||
                        #$output)
 | 
					                        #$output)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          (for-each (lambda (texi)
 | 
					          (for-each (lambda (texi)
 | 
				
			||||||
| 
						 | 
					@ -182,11 +182,12 @@ content=\"width=device-width, initial-scale=1\" />"))
 | 
				
			||||||
  ;; Guile-Lib with a hotfix for (htmlprag).
 | 
					  ;; Guile-Lib with a hotfix for (htmlprag).
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (inherit guile-lib)
 | 
					    (inherit guile-lib)
 | 
				
			||||||
    (source (origin
 | 
					    (arguments
 | 
				
			||||||
              (inherit (package-source guile-lib))
 | 
					     (substitute-keyword-arguments (package-arguments guile-lib)
 | 
				
			||||||
              (modules '(( guix build utils)))
 | 
					       ((#:phases phases '%standard-phases)
 | 
				
			||||||
              (snippet
 | 
					        `(modify-phases ,phases
 | 
				
			||||||
               '(begin
 | 
					           (add-before 'build 'fix-htmlprag
 | 
				
			||||||
 | 
					             (lambda _
 | 
				
			||||||
               ;; When parsing
 | 
					               ;; When parsing
 | 
				
			||||||
               ;; "<body><blockquote><p>foo</p>\n</blockquote></body>",
 | 
					               ;; "<body><blockquote><p>foo</p>\n</blockquote></body>",
 | 
				
			||||||
               ;; 'html->shtml' would mistakenly close 'blockquote' right
 | 
					               ;; 'html->shtml' would mistakenly close 'blockquote' right
 | 
				
			||||||
| 
						 | 
					@ -195,11 +196,7 @@ content=\"width=device-width, initial-scale=1\" />"))
 | 
				
			||||||
               (substitute* "src/htmlprag.scm"
 | 
					               (substitute* "src/htmlprag.scm"
 | 
				
			||||||
                 (("^[[:blank:]]*\\(p[[:blank:]]+\\. \\(body td th\\)\\).*")
 | 
					                 (("^[[:blank:]]*\\(p[[:blank:]]+\\. \\(body td th\\)\\).*")
 | 
				
			||||||
                  ""))
 | 
					                  ""))
 | 
				
			||||||
                  #t))))
 | 
					               #t))
 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     (substitute-keyword-arguments (package-arguments guile-lib)
 | 
					 | 
				
			||||||
       ((#:phases phases '%standard-phases)
 | 
					 | 
				
			||||||
        `(modify-phases ,phases
 | 
					 | 
				
			||||||
           (add-before 'check 'skip-known-failure
 | 
					           (add-before 'check 'skip-known-failure
 | 
				
			||||||
             (lambda _
 | 
					             (lambda _
 | 
				
			||||||
               ;; XXX: The above change causes one test failure among
 | 
					               ;; XXX: The above change causes one test failure among
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -501,7 +501,7 @@ It is a good idea to strip commit identifiers in the @code{version}
 | 
				
			||||||
field to, say, 7 digits.  It avoids an aesthetic annoyance (assuming
 | 
					field to, say, 7 digits.  It avoids an aesthetic annoyance (assuming
 | 
				
			||||||
aesthetics have a role to play here) as well as problems related to OS
 | 
					aesthetics have a role to play here) as well as problems related to OS
 | 
				
			||||||
limits such as the maximum shebang length (127 bytes for the Linux
 | 
					limits such as the maximum shebang length (127 bytes for the Linux
 | 
				
			||||||
kernel.)  It is best to use the full commit identifiers in
 | 
					kernel).  It is best to use the full commit identifiers in
 | 
				
			||||||
@code{origin}s, though, to avoid ambiguities.  A typical package
 | 
					@code{origin}s, though, to avoid ambiguities.  A typical package
 | 
				
			||||||
definition may look like this:
 | 
					definition may look like this:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -938,7 +938,7 @@ your @code{operating-system} configuration:
 | 
				
			||||||
@lisp
 | 
					@lisp
 | 
				
			||||||
(service qemu-binfmt-service-type
 | 
					(service qemu-binfmt-service-type
 | 
				
			||||||
 (qemu-binfmt-configuration
 | 
					 (qemu-binfmt-configuration
 | 
				
			||||||
   (platforms (lookup-qemu-platforms "arm" "aarch64" "mips64el"))
 | 
					   (platforms (lookup-qemu-platforms "arm" "aarch64"))
 | 
				
			||||||
   (guix-support? #t)))
 | 
					   (guix-support? #t)))
 | 
				
			||||||
@end lisp
 | 
					@end lisp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -951,7 +951,6 @@ commands, respectively:
 | 
				
			||||||
@example
 | 
					@example
 | 
				
			||||||
guix build --system=armhf-linux --rounds=2 hello
 | 
					guix build --system=armhf-linux --rounds=2 hello
 | 
				
			||||||
guix build --system=aarch64-linux --rounds=2 hello
 | 
					guix build --system=aarch64-linux --rounds=2 hello
 | 
				
			||||||
guix build --system=mips64el-linux --rounds=2 hello
 | 
					 | 
				
			||||||
@end example
 | 
					@end example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@item
 | 
					@item
 | 
				
			||||||
| 
						 | 
					@ -1278,6 +1277,14 @@ When pushing a commit on behalf of somebody else, please add a
 | 
				
			||||||
with @command{git am --signoff}.  This improves tracking of who did
 | 
					with @command{git am --signoff}.  This improves tracking of who did
 | 
				
			||||||
what.
 | 
					what.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					When adding channel news entries (@pxref{Channels, Writing Channel
 | 
				
			||||||
 | 
					News}), make sure they are well-formed by running the following command
 | 
				
			||||||
 | 
					right before pushing:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@example
 | 
				
			||||||
 | 
					make check-channel-news
 | 
				
			||||||
 | 
					@end example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For anything else, please post to @email{guix-patches@@gnu.org} and
 | 
					For anything else, please post to @email{guix-patches@@gnu.org} and
 | 
				
			||||||
leave time for a review, without committing anything (@pxref{Submitting
 | 
					leave time for a review, without committing anything (@pxref{Submitting
 | 
				
			||||||
Patches}).  If you didn’t receive any reply after two weeks, and if
 | 
					Patches}).  If you didn’t receive any reply after two weeks, and if
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,6 +14,7 @@ Copyright @copyright{} 2019 Pierre Neidhardt@*
 | 
				
			||||||
Copyright @copyright{} 2020 Oleg Pykhalov@*
 | 
					Copyright @copyright{} 2020 Oleg Pykhalov@*
 | 
				
			||||||
Copyright @copyright{} 2020 Matthew Brooks@*
 | 
					Copyright @copyright{} 2020 Matthew Brooks@*
 | 
				
			||||||
Copyright @copyright{} 2020 Marcin Karpezo@*
 | 
					Copyright @copyright{} 2020 Marcin Karpezo@*
 | 
				
			||||||
 | 
					Copyright @copyright{} 2020 Brice Waegeneire@*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Permission is granted to copy, distribute and/or modify this document
 | 
					Permission is granted to copy, distribute and/or modify this document
 | 
				
			||||||
under the terms of the GNU Free Documentation License, Version 1.3 or
 | 
					under the terms of the GNU Free Documentation License, Version 1.3 or
 | 
				
			||||||
| 
						 | 
					@ -1323,8 +1324,10 @@ reference.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@menu
 | 
					@menu
 | 
				
			||||||
* Customizing the Kernel::       Creating and using a custom Linux kernel on Guix System.
 | 
					* Customizing the Kernel::       Creating and using a custom Linux kernel on Guix System.
 | 
				
			||||||
 | 
					* Connecting to Wireguard VPN::  Connecting to a Wireguard VPN.
 | 
				
			||||||
* Customizing a Window Manager:: Handle customization of a Window manager on Guix System.
 | 
					* Customizing a Window Manager:: Handle customization of a Window manager on Guix System.
 | 
				
			||||||
* Setting up a bind mount:: Setting up a bind mount in the file-systems definition.
 | 
					* Setting up a bind mount:: Setting up a bind mount in the file-systems definition.
 | 
				
			||||||
 | 
					* Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor.
 | 
				
			||||||
@end menu
 | 
					@end menu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@node Customizing the Kernel
 | 
					@node Customizing the Kernel
 | 
				
			||||||
| 
						 | 
					@ -1567,6 +1570,83 @@ likely that you'll need to modify the initrd on a machine using a custom
 | 
				
			||||||
kernel, since certain modules which are expected to be built may not be
 | 
					kernel, since certain modules which are expected to be built may not be
 | 
				
			||||||
available for inclusion into the initrd.
 | 
					available for inclusion into the initrd.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@node Connecting to Wireguard VPN
 | 
				
			||||||
 | 
					@section Connecting to Wireguard VPN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To connect to a Wireguard VPN server you need the kernel module to be
 | 
				
			||||||
 | 
					loaded in memory and a package providing networking tools that support
 | 
				
			||||||
 | 
					it (e.g.  @code{wireguard-tools} or @code{network-manager}).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Here is a configuration example for Linux-Libre < 5.6, where the module
 | 
				
			||||||
 | 
					is out of tree and need to be loaded manually---following revisions of
 | 
				
			||||||
 | 
					the kernel have it built-in and so don't need such configuration:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@lisp
 | 
				
			||||||
 | 
					(use-modules (gnu))
 | 
				
			||||||
 | 
					(use-service-modules desktop)
 | 
				
			||||||
 | 
					(use-package-modules vpn)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(operating-system
 | 
				
			||||||
 | 
					  ;; …
 | 
				
			||||||
 | 
					  (services (cons (simple-service 'wireguard-module
 | 
				
			||||||
 | 
					                                  kernel-module-loader-service-type
 | 
				
			||||||
 | 
					                                  '("wireguard"))
 | 
				
			||||||
 | 
					                  %desktop-services))
 | 
				
			||||||
 | 
					  (packages (cons wireguard-tools %base-packages))
 | 
				
			||||||
 | 
					  (kernel-loadable-modules (list wireguard-linux-compat)))
 | 
				
			||||||
 | 
					@end lisp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					After reconfiguring and restarting your system you can either use
 | 
				
			||||||
 | 
					Wireguard tools or NetworkManager to connect to a VPN server.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@subsection Using Wireguard tools
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To test your Wireguard setup it is convenient to use @command{wg-quick}.
 | 
				
			||||||
 | 
					Just give it a configuration file @command{wg-quick up ./wg0.conf}; or
 | 
				
			||||||
 | 
					put that file in @file{/etc/wireguard} and run @command{wg-quick up wg0}
 | 
				
			||||||
 | 
					instead.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@quotation Note
 | 
				
			||||||
 | 
					Be warned that the author described this command as a: “[…] very quick
 | 
				
			||||||
 | 
					and dirty bash script […]”.
 | 
				
			||||||
 | 
					@end quotation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@subsection Using NetworkManager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Thanks to NetworkManager support for Wireguard we can connect to our VPN
 | 
				
			||||||
 | 
					using @command{nmcli} command.  Up to this point this guide assumes that
 | 
				
			||||||
 | 
					you're using Network Manager service provided by
 | 
				
			||||||
 | 
					@code{%desktop-services}.  Ortherwise you need to adjust your services
 | 
				
			||||||
 | 
					list to load @code{network-manager-service-type} and reconfigure your
 | 
				
			||||||
 | 
					Guix system.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To import your VPN configuration execute nmcli import command:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@example shell
 | 
				
			||||||
 | 
					# nmcli connection import type wireguard file wg0.conf
 | 
				
			||||||
 | 
					Connection 'wg0' (edbee261-aa5a-42db-b032-6c7757c60fde) successfully added
 | 
				
			||||||
 | 
					@end example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This will create a configuration file in
 | 
				
			||||||
 | 
					@file{/etc/NetworkManager/wg0.nmconnection}.  Next connect to the
 | 
				
			||||||
 | 
					Wireguard server:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@example shell
 | 
				
			||||||
 | 
					$ nmcli connection up wg0
 | 
				
			||||||
 | 
					Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)
 | 
				
			||||||
 | 
					@end example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					By default NetworkManager will connect automatically on system boot.  To
 | 
				
			||||||
 | 
					change that behaviour you need to edit your config:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@example shell
 | 
				
			||||||
 | 
					# nmcli connection modify wg0 connection.autoconnect no
 | 
				
			||||||
 | 
					@end example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					For more specific information about NetworkManager and wireguard
 | 
				
			||||||
 | 
					@uref{https://blogs.gnome.org/thaller/2019/03/15/wireguard-in-networkmanager/,see
 | 
				
			||||||
 | 
					this post by thaller}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@node Customizing a Window Manager
 | 
					@node Customizing a Window Manager
 | 
				
			||||||
@section Customizing a Window Manager
 | 
					@section Customizing a Window Manager
 | 
				
			||||||
@cindex wm
 | 
					@cindex wm
 | 
				
			||||||
| 
						 | 
					@ -1617,6 +1697,47 @@ Then you need to add the following code to a StumpWM configuration file
 | 
				
			||||||
(set-font (make-instance 'xft:font :family "DejaVu Sans Mono" :subfamily "Book" :size 11))
 | 
					(set-font (make-instance 'xft:font :family "DejaVu Sans Mono" :subfamily "Book" :size 11))
 | 
				
			||||||
@end lisp
 | 
					@end lisp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@node Session lock
 | 
				
			||||||
 | 
					@subsection Session lock
 | 
				
			||||||
 | 
					@cindex sessionlock
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Depending on your environment, locking the screen of your session might come built in
 | 
				
			||||||
 | 
					or it might be something you have to set up yourself. If you use a desktop environment
 | 
				
			||||||
 | 
					like GNOME or KDE, it's usually built in. If you use a plain window manager like
 | 
				
			||||||
 | 
					StumpWM or EXWM, you might have to set it up yourself.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@node Xorg
 | 
				
			||||||
 | 
					@subsubsection Xorg
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you use Xorg, you can use the utility
 | 
				
			||||||
 | 
					@uref{https://www.mankier.com/1/xss-lock, xss-lock} to lock the screen of your session.
 | 
				
			||||||
 | 
					xss-lock is triggered by DPMS which since Xorg 1.8 is auto-detected and enabled if
 | 
				
			||||||
 | 
					ACPI is also enabled at kernel runtime.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To use xss-lock, you can simple execute it and put it into the background before
 | 
				
			||||||
 | 
					you start your window manager from e.g. your @file{~/.xsession}:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@example
 | 
				
			||||||
 | 
					xss-lock -- slock &
 | 
				
			||||||
 | 
					exec stumpwm
 | 
				
			||||||
 | 
					@end example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					In this example, xss-lock uses @code{slock} to do the actual locking of the screen when
 | 
				
			||||||
 | 
					it determines it's appropriate, like when you suspend your device.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					For slock to be allowed to be a screen locker for the graphical session, it needs to
 | 
				
			||||||
 | 
					be made setuid-root so it can authenticate users, and it needs a PAM service. This
 | 
				
			||||||
 | 
					can be achieved by adding the following service to your @file{config.scm}:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@lisp
 | 
				
			||||||
 | 
					(screen-locker-service slock)
 | 
				
			||||||
 | 
					@end lisp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you manually lock your screen, e.g. by directly calling slock when you want to lock
 | 
				
			||||||
 | 
					your screen but not suspend it, it's a good idea to notify xss-lock about this so no
 | 
				
			||||||
 | 
					confusion occurs. This can be done by executing @code{xset s activate} immediately
 | 
				
			||||||
 | 
					before you execute slock.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@node Setting up a bind mount
 | 
					@node Setting up a bind mount
 | 
				
			||||||
@section Setting up a bind mount
 | 
					@section Setting up a bind mount
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1666,6 +1787,62 @@ mount itself.
 | 
				
			||||||
                ))
 | 
					                ))
 | 
				
			||||||
@end lisp
 | 
					@end lisp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@node Getting substitutes from Tor
 | 
				
			||||||
 | 
					@section Getting substitutes from Tor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Guix daemon can use a HTTP proxy to get substitutes, here we are
 | 
				
			||||||
 | 
					configuring it to get them via Tor.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@quotation Warning
 | 
				
			||||||
 | 
					@emph{Not all} Guix daemon's traffic will go through Tor!  Only
 | 
				
			||||||
 | 
					HTTP/HTTPS will get proxied; FTP, Git protocol, SSH, etc connections
 | 
				
			||||||
 | 
					will still go through the clearnet.  Again, this configuration isn't
 | 
				
			||||||
 | 
					foolproof some of your traffic won't get routed by Tor at all.  Use it
 | 
				
			||||||
 | 
					at your own risk.
 | 
				
			||||||
 | 
					@end quotation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Guix's substitute server is available as a Onion service, if you want
 | 
				
			||||||
 | 
					to use it to get your substitutes from Tor configure your system as
 | 
				
			||||||
 | 
					follow:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@lisp
 | 
				
			||||||
 | 
					(use-modules (gnu))
 | 
				
			||||||
 | 
					(use-service-module base networking)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(operating-system
 | 
				
			||||||
 | 
					  …
 | 
				
			||||||
 | 
					  (services
 | 
				
			||||||
 | 
					    (cons
 | 
				
			||||||
 | 
					      (service tor-service-type
 | 
				
			||||||
 | 
					              (tor-configuration
 | 
				
			||||||
 | 
					                (config-file (plain-file "tor-config"
 | 
				
			||||||
 | 
					                                         "HTTPTunnelPort 127.0.0.1:9250"))))
 | 
				
			||||||
 | 
					      (modify-services %base-services
 | 
				
			||||||
 | 
					        (guix-service-type
 | 
				
			||||||
 | 
					          config => (guix-configuration
 | 
				
			||||||
 | 
					                      (inherit config)
 | 
				
			||||||
 | 
					                      ;; ci.guix.gnu.org's Onion service
 | 
				
			||||||
 | 
					                      (substitute-urls "https://bp7o7ckwlewr4slm.onion")
 | 
				
			||||||
 | 
					                      (http-proxy "http://localhost:9250")))))))
 | 
				
			||||||
 | 
					@end lisp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This will keep a tor process running that provides a HTTP CONNECT tunnel
 | 
				
			||||||
 | 
					which will be used by @command{guix-daemon}.  The daemon can use other
 | 
				
			||||||
 | 
					protocols than HTTP(S) to get remote resources, request using those
 | 
				
			||||||
 | 
					protocols won't go through Tor since we are only setting a HTTP tunnel
 | 
				
			||||||
 | 
					here.  Note that @code{substitutes-urls} is using HTTPS and not HTTP or
 | 
				
			||||||
 | 
					it won't work, that's a limitation of Tor's tunnel; you may want to use
 | 
				
			||||||
 | 
					@command{privoxy} instead to avoid such limitations.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you don't want to always get substitutes through Tor but using it just
 | 
				
			||||||
 | 
					some of the times, then skip the @code{guix-configuration}.  When you
 | 
				
			||||||
 | 
					want to get a substitute from the Tor tunnel run:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@example
 | 
				
			||||||
 | 
					sudo herd set-http-proxy guix-daemon http://localhost:9250
 | 
				
			||||||
 | 
					guix build --substitute-urls=https://bp7o7ckwlewr4slm.onion …
 | 
				
			||||||
 | 
					@end example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@c *********************************************************************
 | 
					@c *********************************************************************
 | 
				
			||||||
@node Advanced package management
 | 
					@node Advanced package management
 | 
				
			||||||
@chapter Advanced package management
 | 
					@chapter Advanced package management
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										603
									
								
								doc/guix.texi
									
										
									
									
									
								
							
							
						
						
									
										603
									
								
								doc/guix.texi
									
										
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										114
									
								
								doc/images/gcc-core-mesboot0-graph.dot
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										114
									
								
								doc/images/gcc-core-mesboot0-graph.dot
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,114 @@
 | 
				
			||||||
 | 
					digraph "Guix package" {
 | 
				
			||||||
 | 
					  "139781154519456" [label = "gcc-core-mesboot0@2.95.3", shape = box, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781154519456" -> "139781154519632" [color = darkgoldenrod];
 | 
				
			||||||
 | 
					  "139781154519456" -> "139781154520688" [color = darkgoldenrod];
 | 
				
			||||||
 | 
					  "139781154519456" -> "139781034971312" [color = darkgoldenrod];
 | 
				
			||||||
 | 
					  "139781154519456" -> "139781154520160" [color = darkgoldenrod];
 | 
				
			||||||
 | 
					  "139781154519456" -> "139781034971664" [color = darkgoldenrod];
 | 
				
			||||||
 | 
					  "139781154519456" -> "139781154519984" [color = darkgoldenrod];
 | 
				
			||||||
 | 
					  "139781154519456" -> "139781154519808" [color = darkgoldenrod];
 | 
				
			||||||
 | 
					  "139781154519456" -> "139781154520512" [color = darkgoldenrod];
 | 
				
			||||||
 | 
					  "139781154519456" -> "139781034971488" [color = darkgoldenrod];
 | 
				
			||||||
 | 
					  "139781154519456" -> "139781034972896" [color = darkgoldenrod];
 | 
				
			||||||
 | 
					  "139781154519456" -> "139781034972368" [color = darkgoldenrod];
 | 
				
			||||||
 | 
					  "139781154519456" -> "139781034973072" [color = darkgoldenrod];
 | 
				
			||||||
 | 
					  "139781154519456" -> "139781131267872" [color = darkgoldenrod];
 | 
				
			||||||
 | 
					  "139781154519632" [label = "binutils-mesboot0@2.14", shape = box, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781154519632" -> "139781154520688" [color = peachpuff4];
 | 
				
			||||||
 | 
					  "139781154519632" -> "139781034971312" [color = peachpuff4];
 | 
				
			||||||
 | 
					  "139781154519632" -> "139781154520160" [color = peachpuff4];
 | 
				
			||||||
 | 
					  "139781154519632" -> "139781034971664" [color = peachpuff4];
 | 
				
			||||||
 | 
					  "139781154519632" -> "139781154519984" [color = peachpuff4];
 | 
				
			||||||
 | 
					  "139781154519632" -> "139781154519808" [color = peachpuff4];
 | 
				
			||||||
 | 
					  "139781154519632" -> "139781154520512" [color = peachpuff4];
 | 
				
			||||||
 | 
					  "139781154519632" -> "139781034971488" [color = peachpuff4];
 | 
				
			||||||
 | 
					  "139781154519632" -> "139781034972896" [color = peachpuff4];
 | 
				
			||||||
 | 
					  "139781154519632" -> "139781034972368" [color = peachpuff4];
 | 
				
			||||||
 | 
					  "139781154519632" -> "139781034973072" [color = peachpuff4];
 | 
				
			||||||
 | 
					  "139781154519632" -> "139781131267872" [color = peachpuff4];
 | 
				
			||||||
 | 
					  "139781154520688" [label = "bash-mesboot0@2.05b", shape = box, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781154520688" -> "139781034971488" [color = magenta];
 | 
				
			||||||
 | 
					  "139781154520688" -> "139781034971840" [color = magenta];
 | 
				
			||||||
 | 
					  "139781154520688" -> "139781034972896" [color = magenta];
 | 
				
			||||||
 | 
					  "139781154520688" -> "139781034972368" [color = magenta];
 | 
				
			||||||
 | 
					  "139781154520688" -> "139781034973072" [color = magenta];
 | 
				
			||||||
 | 
					  "139781154520688" -> "139781131267872" [color = magenta];
 | 
				
			||||||
 | 
					  "139781034971488" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781034971488" -> "139781034971840" [color = dimgrey];
 | 
				
			||||||
 | 
					  "139781034971488" -> "139781034972896" [color = dimgrey];
 | 
				
			||||||
 | 
					  "139781034971488" -> "139781034972368" [color = dimgrey];
 | 
				
			||||||
 | 
					  "139781034971488" -> "139781034973072" [color = dimgrey];
 | 
				
			||||||
 | 
					  "139781034971488" -> "139781131267872" [color = dimgrey];
 | 
				
			||||||
 | 
					  "139781034971840" [label = "tcc-boot0@0.9.26-1103-g6e62e0e", shape = box, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781034971840" -> "139781034972016" [color = magenta];
 | 
				
			||||||
 | 
					  "139781034971840" -> "139781131266816" [color = magenta];
 | 
				
			||||||
 | 
					  "139781034971840" -> "139781034972896" [color = magenta];
 | 
				
			||||||
 | 
					  "139781034971840" -> "139781034972368" [color = magenta];
 | 
				
			||||||
 | 
					  "139781034971840" -> "139781034973072" [color = magenta];
 | 
				
			||||||
 | 
					  "139781034971840" -> "139781131267872" [color = magenta];
 | 
				
			||||||
 | 
					  "139781034972016" [label = "mes-boot@0.22", shape = box, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781034972016" -> "139781034972192" [color = cyan3];
 | 
				
			||||||
 | 
					  "139781034972016" -> "139781131266816" [color = cyan3];
 | 
				
			||||||
 | 
					  "139781034972016" -> "139781034972896" [color = cyan3];
 | 
				
			||||||
 | 
					  "139781034972016" -> "139781034972368" [color = cyan3];
 | 
				
			||||||
 | 
					  "139781034972016" -> "139781034973072" [color = cyan3];
 | 
				
			||||||
 | 
					  "139781034972016" -> "139781131267872" [color = cyan3];
 | 
				
			||||||
 | 
					  "139781034972192" [label = "bootstrap-mes-rewired@0.19", shape = ellipse, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781034972192" -> "139781131266640" [color = darkseagreen];
 | 
				
			||||||
 | 
					  "139781034972192" -> "139781034972896" [color = darkseagreen];
 | 
				
			||||||
 | 
					  "139781131266640" [label = "bootstrap-mes@0", shape = ellipse, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781034972896" [label = "gash-boot@0.2.0", shape = box, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781034972896" -> "139781034973072" [color = darkviolet];
 | 
				
			||||||
 | 
					  "139781034972896" -> "139781131267872" [color = darkviolet];
 | 
				
			||||||
 | 
					  "139781034973072" [label = "bootar@1", shape = box, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781034973072" -> "139781131267872" [color = darkviolet];
 | 
				
			||||||
 | 
					  "139781131267872" [label = "guile-bootstrap@2.0", shape = ellipse, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781131266816" [label = "bootstrap-mescc-tools@0.5.2", shape = ellipse, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781034972368" [label = "gash-utils-boot@0.1.0", shape = box, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781034972368" -> "139781034973072" [color = darkseagreen];
 | 
				
			||||||
 | 
					  "139781034972368" -> "139781034972896" [color = darkseagreen];
 | 
				
			||||||
 | 
					  "139781034972368" -> "139781131267872" [color = darkseagreen];
 | 
				
			||||||
 | 
					  "139781034971312" [label = "bzip2-mesboot@1.0.8", shape = box, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781034971312" -> "139781034971488" [color = cyan3];
 | 
				
			||||||
 | 
					  "139781034971312" -> "139781034971840" [color = cyan3];
 | 
				
			||||||
 | 
					  "139781034971312" -> "139781034972896" [color = cyan3];
 | 
				
			||||||
 | 
					  "139781034971312" -> "139781034972368" [color = cyan3];
 | 
				
			||||||
 | 
					  "139781034971312" -> "139781034973072" [color = cyan3];
 | 
				
			||||||
 | 
					  "139781034971312" -> "139781131267872" [color = cyan3];
 | 
				
			||||||
 | 
					  "139781154520160" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781154520160" -> "139781034971488" [color = red];
 | 
				
			||||||
 | 
					  "139781154520160" -> "139781034971840" [color = red];
 | 
				
			||||||
 | 
					  "139781154520160" -> "139781034972896" [color = red];
 | 
				
			||||||
 | 
					  "139781154520160" -> "139781034972368" [color = red];
 | 
				
			||||||
 | 
					  "139781154520160" -> "139781034973072" [color = red];
 | 
				
			||||||
 | 
					  "139781154520160" -> "139781131267872" [color = red];
 | 
				
			||||||
 | 
					  "139781034971664" [label = "gzip-mesboot@1.2.4", shape = box, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781034971664" -> "139781034971840" [color = red];
 | 
				
			||||||
 | 
					  "139781034971664" -> "139781034972896" [color = red];
 | 
				
			||||||
 | 
					  "139781034971664" -> "139781034972368" [color = red];
 | 
				
			||||||
 | 
					  "139781034971664" -> "139781034973072" [color = red];
 | 
				
			||||||
 | 
					  "139781034971664" -> "139781131267872" [color = red];
 | 
				
			||||||
 | 
					  "139781154519984" [label = "patch-mesboot@2.5.9", shape = box, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781154519984" -> "139781034971488" [color = blue];
 | 
				
			||||||
 | 
					  "139781154519984" -> "139781034971840" [color = blue];
 | 
				
			||||||
 | 
					  "139781154519984" -> "139781034972896" [color = blue];
 | 
				
			||||||
 | 
					  "139781154519984" -> "139781034972368" [color = blue];
 | 
				
			||||||
 | 
					  "139781154519984" -> "139781034973072" [color = blue];
 | 
				
			||||||
 | 
					  "139781154519984" -> "139781131267872" [color = blue];
 | 
				
			||||||
 | 
					  "139781154519808" [label = "sed-mesboot0@1.18", shape = box, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781154519808" -> "139781034971488" [color = red];
 | 
				
			||||||
 | 
					  "139781154519808" -> "139781034971840" [color = red];
 | 
				
			||||||
 | 
					  "139781154519808" -> "139781034972896" [color = red];
 | 
				
			||||||
 | 
					  "139781154519808" -> "139781034972368" [color = red];
 | 
				
			||||||
 | 
					  "139781154519808" -> "139781034973072" [color = red];
 | 
				
			||||||
 | 
					  "139781154519808" -> "139781131267872" [color = red];
 | 
				
			||||||
 | 
					  "139781154520512" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
 | 
				
			||||||
 | 
					  "139781154520512" -> "139781034971312" [color = darkviolet];
 | 
				
			||||||
 | 
					  "139781154520512" -> "139781034971488" [color = darkviolet];
 | 
				
			||||||
 | 
					  "139781154520512" -> "139781034971840" [color = darkviolet];
 | 
				
			||||||
 | 
					  "139781154520512" -> "139781034972896" [color = darkviolet];
 | 
				
			||||||
 | 
					  "139781154520512" -> "139781034972368" [color = darkviolet];
 | 
				
			||||||
 | 
					  "139781154520512" -> "139781034973072" [color = darkviolet];
 | 
				
			||||||
 | 
					  "139781154520512" -> "139781131267872" [color = darkviolet];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,123 +0,0 @@
 | 
				
			||||||
digraph "Guix bag" {
 | 
					 | 
				
			||||||
  "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" [label = "gcc-mesboot@4.9.4", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = darkviolet];
 | 
					 | 
				
			||||||
  "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" [color = darkviolet];
 | 
					 | 
				
			||||||
  "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = darkviolet];
 | 
					 | 
				
			||||||
  "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" [color = darkviolet];
 | 
					 | 
				
			||||||
  "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkviolet];
 | 
					 | 
				
			||||||
  "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkviolet];
 | 
					 | 
				
			||||||
  "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkviolet];
 | 
					 | 
				
			||||||
  "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkviolet];
 | 
					 | 
				
			||||||
  "/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = darkviolet];
 | 
					 | 
				
			||||||
  "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [label = "binutils-mesboot@2.20.1a", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = peachpuff4];
 | 
					 | 
				
			||||||
  "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
 | 
					 | 
				
			||||||
  "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
 | 
					 | 
				
			||||||
  "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = peachpuff4];
 | 
					 | 
				
			||||||
  "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = peachpuff4];
 | 
					 | 
				
			||||||
  "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" -> "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [color = cyan3];
 | 
					 | 
				
			||||||
  "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" -> "/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" [color = cyan3];
 | 
					 | 
				
			||||||
  "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = cyan3];
 | 
					 | 
				
			||||||
  "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [label = "mes-boot@0.18", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = darkviolet];
 | 
					 | 
				
			||||||
  "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkviolet];
 | 
					 | 
				
			||||||
  "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" -> "/gnu/store/viccpx5izm9z0ci5nvib0xkdrsfqixlr-bootstrap-mes-0.drv" [color = darkviolet];
 | 
					 | 
				
			||||||
  "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [label = "bootstrap-mescc-tools@0.5.2", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [label = "bootstrap-binaries@0", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/viccpx5izm9z0ci5nvib0xkdrsfqixlr-bootstrap-mes-0.drv" [label = "bootstrap-mes@0", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" [label = "tcc-boot0@0.9.26-5.c7b3f59", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/viccpx5izm9z0ci5nvib0xkdrsfqixlr-bootstrap-mes-0.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [color = peachpuff4];
 | 
					 | 
				
			||||||
  "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = peachpuff4];
 | 
					 | 
				
			||||||
  "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
 | 
					 | 
				
			||||||
  "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
 | 
					 | 
				
			||||||
  "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = peachpuff4];
 | 
					 | 
				
			||||||
  "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = darkgoldenrod];
 | 
					 | 
				
			||||||
  "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkgoldenrod];
 | 
					 | 
				
			||||||
  "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkgoldenrod];
 | 
					 | 
				
			||||||
  "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [label = "glibc-mesboot0@2.2.5", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" [label = "gcc-core-mesboot@2.95.3", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = dimgrey];
 | 
					 | 
				
			||||||
  "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [label = "mesboot-headers@0.18", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = cyan3];
 | 
					 | 
				
			||||||
  "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = cyan3];
 | 
					 | 
				
			||||||
  "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap@0", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [label = "gcc-mesboot0@2.95.3", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" [label = "gcc-mesboot1-wrapper@4.7.4", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
 | 
					 | 
				
			||||||
  "/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" [color = red];
 | 
					 | 
				
			||||||
  "/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = red];
 | 
					 | 
				
			||||||
  "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" [label = "glibc-mesboot@2.16.0", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = blue];
 | 
					 | 
				
			||||||
  "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = blue];
 | 
					 | 
				
			||||||
  "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" [color = blue];
 | 
					 | 
				
			||||||
  "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = blue];
 | 
					 | 
				
			||||||
  "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
 | 
					 | 
				
			||||||
  "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
 | 
					 | 
				
			||||||
  "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = blue];
 | 
					 | 
				
			||||||
  "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = blue];
 | 
					 | 
				
			||||||
  "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = blue];
 | 
					 | 
				
			||||||
  "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" [label = "glibc-headers-mesboot@2.16.0", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = red];
 | 
					 | 
				
			||||||
  "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = red];
 | 
					 | 
				
			||||||
  "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = red];
 | 
					 | 
				
			||||||
  "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [color = red];
 | 
					 | 
				
			||||||
  "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
 | 
					 | 
				
			||||||
  "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
 | 
					 | 
				
			||||||
  "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = red];
 | 
					 | 
				
			||||||
  "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = red];
 | 
					 | 
				
			||||||
  "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = red];
 | 
					 | 
				
			||||||
  "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [label = "gcc-mesboot1@4.7.4", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = darkseagreen];
 | 
					 | 
				
			||||||
  "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [label = "make-mesboot@3.82", shape = box, fontname = Helvetica];
 | 
					 | 
				
			||||||
  "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = magenta];
 | 
					 | 
				
			||||||
  "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = magenta];
 | 
					 | 
				
			||||||
  "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [color = magenta];
 | 
					 | 
				
			||||||
  "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = magenta];
 | 
					 | 
				
			||||||
  "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = magenta];
 | 
					 | 
				
			||||||
  "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = magenta];
 | 
					 | 
				
			||||||
  "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = magenta];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -39,7 +39,7 @@ DOT_FILES =					\
 | 
				
			||||||
  %D%/images/bootstrap-packages.dot		\
 | 
					  %D%/images/bootstrap-packages.dot		\
 | 
				
			||||||
  %D%/images/coreutils-graph.dot		\
 | 
					  %D%/images/coreutils-graph.dot		\
 | 
				
			||||||
  %D%/images/coreutils-bag-graph.dot		\
 | 
					  %D%/images/coreutils-bag-graph.dot		\
 | 
				
			||||||
  %D%/images/gcc-mesboot-bag-graph.dot		\
 | 
					  %D%/images/gcc-core-mesboot0-graph.dot	\
 | 
				
			||||||
  %D%/images/service-graph.dot			\
 | 
					  %D%/images/service-graph.dot			\
 | 
				
			||||||
  %D%/images/shepherd-graph.dot
 | 
					  %D%/images/shepherd-graph.dot
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
# GNU Guix --- Functional package management for GNU
 | 
					# GNU Guix --- Functional package management for GNU
 | 
				
			||||||
# Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 | 
					# Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# This file is part of GNU Guix.
 | 
					# This file is part of GNU Guix.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
| 
						 | 
					@ -115,6 +115,24 @@ _guix_is_dash_m ()
 | 
				
			||||||
	     esac }
 | 
						     esac }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_guix_is_dash_C ()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    [ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-C" ] \
 | 
				
			||||||
 | 
						|| { case "${COMP_WORDS[$COMP_CWORD]}" in
 | 
				
			||||||
 | 
							 --channels=*)  true;;
 | 
				
			||||||
 | 
							 *)             false;;
 | 
				
			||||||
 | 
						     esac }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_guix_is_dash_p ()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    [ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-p" ] \
 | 
				
			||||||
 | 
						|| { case "${COMP_WORDS[$COMP_CWORD]}" in
 | 
				
			||||||
 | 
							 --profile=*)   true;;
 | 
				
			||||||
 | 
							 *)             false;;
 | 
				
			||||||
 | 
						     esac }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_guix_complete_file ()
 | 
					_guix_complete_file ()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    # Let Readline complete file names.
 | 
					    # Let Readline complete file names.
 | 
				
			||||||
| 
						 | 
					@ -130,6 +148,17 @@ _guix_complete_pid ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
declare _guix_subcommands
 | 
					declare _guix_subcommands
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_guix_complete_subcommand ()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    if [ -z "$_guix_subcommands" ]
 | 
				
			||||||
 | 
					    then
 | 
				
			||||||
 | 
						# Cache the list of subcommands to speed things up.
 | 
				
			||||||
 | 
						_guix_subcommands="$(guix --help 2> /dev/null \
 | 
				
			||||||
 | 
					                                     | grep '^  ' | cut -c 2-)"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    COMPREPLY=($(compgen -W "$_guix_subcommands" -- "$word_at_point"))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_guix_complete ()
 | 
					_guix_complete ()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    local word_count=${#COMP_WORDS[*]}
 | 
					    local word_count=${#COMP_WORDS[*]}
 | 
				
			||||||
| 
						 | 
					@ -147,13 +176,7 @@ _guix_complete ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    case $COMP_CWORD in
 | 
					    case $COMP_CWORD in
 | 
				
			||||||
	1)
 | 
						1)
 | 
				
			||||||
	    if [ -z "$_guix_subcommands" ]
 | 
						    _guix_complete_subcommand
 | 
				
			||||||
	    then
 | 
					 | 
				
			||||||
		# Cache the list of subcommands to speed things up.
 | 
					 | 
				
			||||||
		_guix_subcommands="$(guix --help 2> /dev/null \
 | 
					 | 
				
			||||||
                                     | grep '^  ' | cut -c 2-)"
 | 
					 | 
				
			||||||
	    fi
 | 
					 | 
				
			||||||
	    COMPREPLY=($(compgen -W "$_guix_subcommands" -- "$word_at_point"))
 | 
					 | 
				
			||||||
	    ;;
 | 
						    ;;
 | 
				
			||||||
	*)
 | 
						*)
 | 
				
			||||||
	    if _guix_is_command "package"
 | 
						    if _guix_is_command "package"
 | 
				
			||||||
| 
						 | 
					@ -169,13 +192,28 @@ _guix_complete ()
 | 
				
			||||||
		fi
 | 
							fi
 | 
				
			||||||
	    elif _guix_is_command "install"
 | 
						    elif _guix_is_command "install"
 | 
				
			||||||
	    then
 | 
						    then
 | 
				
			||||||
 | 
					                if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p
 | 
				
			||||||
 | 
					                then
 | 
				
			||||||
 | 
					                    _guix_complete_file
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
		    _guix_complete_available_package "$word_at_point"
 | 
							    _guix_complete_available_package "$word_at_point"
 | 
				
			||||||
 | 
							fi
 | 
				
			||||||
	    elif _guix_is_command "remove"
 | 
						    elif _guix_is_command "remove"
 | 
				
			||||||
	    then
 | 
						    then
 | 
				
			||||||
 | 
					                if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p
 | 
				
			||||||
 | 
					                then
 | 
				
			||||||
 | 
					                    _guix_complete_file
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
		    _guix_complete_installed_package "$word_at_point"
 | 
							    _guix_complete_installed_package "$word_at_point"
 | 
				
			||||||
 | 
							fi
 | 
				
			||||||
	    elif _guix_is_command "upgrade"
 | 
						    elif _guix_is_command "upgrade"
 | 
				
			||||||
	    then
 | 
						    then
 | 
				
			||||||
 | 
					                if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p
 | 
				
			||||||
 | 
					                then
 | 
				
			||||||
 | 
					                    _guix_complete_file
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
		    _guix_complete_installed_package "$word_at_point"
 | 
							    _guix_complete_installed_package "$word_at_point"
 | 
				
			||||||
 | 
							fi
 | 
				
			||||||
            elif _guix_is_command "build"
 | 
					            elif _guix_is_command "build"
 | 
				
			||||||
            then
 | 
					            then
 | 
				
			||||||
                if _guix_is_dash_L || _guix_is_dash_m
 | 
					                if _guix_is_dash_L || _guix_is_dash_m
 | 
				
			||||||
| 
						 | 
					@ -193,6 +231,20 @@ _guix_complete ()
 | 
				
			||||||
		    2) _guix_complete_subcommand;;
 | 
							    2) _guix_complete_subcommand;;
 | 
				
			||||||
		    *) _guix_complete_file;; # TODO: restrict to *.scm
 | 
							    *) _guix_complete_file;; # TODO: restrict to *.scm
 | 
				
			||||||
		esac
 | 
							esac
 | 
				
			||||||
 | 
					            elif _guix_is_command "pull"
 | 
				
			||||||
 | 
					            then
 | 
				
			||||||
 | 
					                if _guix_is_dash_C || _guix_is_dash_p
 | 
				
			||||||
 | 
					                then
 | 
				
			||||||
 | 
					                    _guix_complete_file
 | 
				
			||||||
 | 
					                fi
 | 
				
			||||||
 | 
					            elif _guix_is_command "time-machine"
 | 
				
			||||||
 | 
					            then
 | 
				
			||||||
 | 
					                if _guix_is_dash_C
 | 
				
			||||||
 | 
					                then
 | 
				
			||||||
 | 
					                    _guix_complete_file
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
							    _guix_complete_subcommand
 | 
				
			||||||
 | 
					                fi
 | 
				
			||||||
	    elif _guix_is_command "container"
 | 
						    elif _guix_is_command "container"
 | 
				
			||||||
	    then
 | 
						    then
 | 
				
			||||||
		case $COMP_CWORD in
 | 
							case $COMP_CWORD in
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,8 @@
 | 
				
			||||||
#!/bin/sh
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# This hook script prevents the user from pushing to Savannah if any of the new
 | 
					# This hook script prevents the user from pushing to Savannah if any of the new
 | 
				
			||||||
# commits' OpenPGP signatures cannot be verified.
 | 
					# commits' OpenPGP signatures cannot be verified, or if a commit is signed
 | 
				
			||||||
 | 
					# with an unauthorized key.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Called by "git push" after it has checked the remote status, but before
 | 
					# Called by "git push" after it has checked the remote status, but before
 | 
				
			||||||
# anything has been pushed.  If this script exits with a non-zero status nothing
 | 
					# anything has been pushed.  If this script exits with a non-zero status nothing
 | 
				
			||||||
| 
						 | 
					@ -19,51 +20,13 @@
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
#   <local ref> <local sha1> <remote ref> <remote sha1>
 | 
					#   <local ref> <local sha1> <remote ref> <remote sha1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
z40=0000000000000000000000000000000000000000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Only use the hook when pushing to Savannah.
 | 
					# Only use the hook when pushing to Savannah.
 | 
				
			||||||
case "$2" in
 | 
					case "$2" in
 | 
				
			||||||
*git.sv.gnu.org*)
 | 
					    *.gnu.org*)
 | 
				
			||||||
	break
 | 
						exec make authenticate check-channel-news
 | 
				
			||||||
 | 
						exit 127
 | 
				
			||||||
	;;
 | 
						;;
 | 
				
			||||||
    *)
 | 
					    *)
 | 
				
			||||||
	exit 0
 | 
						exit 0
 | 
				
			||||||
	;;
 | 
						;;
 | 
				
			||||||
esac
 | 
					esac
 | 
				
			||||||
 | 
					 | 
				
			||||||
while read local_ref local_sha remote_ref remote_sha
 | 
					 | 
				
			||||||
do
 | 
					 | 
				
			||||||
	if [ "$local_sha" = $z40 ]
 | 
					 | 
				
			||||||
	then
 | 
					 | 
				
			||||||
		# Handle delete
 | 
					 | 
				
			||||||
		:
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
		if [ "$remote_sha" = $z40 ]
 | 
					 | 
				
			||||||
		then
 | 
					 | 
				
			||||||
			# We are pushing a new branch. To prevent wasting too
 | 
					 | 
				
			||||||
			# much time for this relatively rare case, we examine
 | 
					 | 
				
			||||||
			# all commits since the first signed commit, rather than
 | 
					 | 
				
			||||||
			# the full history. This check *will* fail, and the user
 | 
					 | 
				
			||||||
			# will need to temporarily disable the hook to push the
 | 
					 | 
				
			||||||
			# new branch.
 | 
					 | 
				
			||||||
			range="e3d0fcbf7e55e8cbe8d0a1c5a24d73f341d7243b..$local_sha"
 | 
					 | 
				
			||||||
		else
 | 
					 | 
				
			||||||
			# Update to existing branch, examine new commits
 | 
					 | 
				
			||||||
			range="$remote_sha..$local_sha"
 | 
					 | 
				
			||||||
		fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		# Verify the signatures of all commits being pushed.
 | 
					 | 
				
			||||||
		ret=0
 | 
					 | 
				
			||||||
		for commit in $(git rev-list $range)
 | 
					 | 
				
			||||||
		do
 | 
					 | 
				
			||||||
			if ! git verify-commit $commit >/dev/null 2>&1
 | 
					 | 
				
			||||||
			then
 | 
					 | 
				
			||||||
				printf "%s failed signature check\n" $commit
 | 
					 | 
				
			||||||
				ret=1
 | 
					 | 
				
			||||||
			fi
 | 
					 | 
				
			||||||
		done
 | 
					 | 
				
			||||||
		exit $ret
 | 
					 | 
				
			||||||
	fi
 | 
					 | 
				
			||||||
done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
exit 0
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -48,6 +48,7 @@ REQUIRE=(
 | 
				
			||||||
    "groupadd"
 | 
					    "groupadd"
 | 
				
			||||||
    "tail"
 | 
					    "tail"
 | 
				
			||||||
    "tr"
 | 
					    "tr"
 | 
				
			||||||
 | 
					    "xz"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PAS=$'[ \033[32;1mPASS\033[0m ] '
 | 
					PAS=$'[ \033[32;1mPASS\033[0m ] '
 | 
				
			||||||
| 
						 | 
					@ -141,7 +142,7 @@ chk_init_sys()
 | 
				
			||||||
        _msg "${INF}init system is: upstart"
 | 
					        _msg "${INF}init system is: upstart"
 | 
				
			||||||
        INIT_SYS="upstart"
 | 
					        INIT_SYS="upstart"
 | 
				
			||||||
        return 0
 | 
					        return 0
 | 
				
			||||||
    elif [[ $(systemctl) =~ -\.mount ]]; then
 | 
					    elif [[ $(systemctl 2>/dev/null) =~ -\.mount ]]; then
 | 
				
			||||||
        _msg "${INF}init system is: systemd"
 | 
					        _msg "${INF}init system is: systemd"
 | 
				
			||||||
        INIT_SYS="systemd"
 | 
					        INIT_SYS="systemd"
 | 
				
			||||||
        return 0
 | 
					        return 0
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										30
									
								
								etc/news.scm
									
										
									
									
									
								
							
							
						
						
									
										30
									
								
								etc/news.scm
									
										
									
									
									
								
							| 
						 | 
					@ -1,8 +1,10 @@
 | 
				
			||||||
;; GNU Guix news, for use by 'guix pull'.
 | 
					;; GNU Guix news, for use by 'guix pull'.
 | 
				
			||||||
;;
 | 
					;;
 | 
				
			||||||
;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 | 
					;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
 | 
					;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
					;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
				
			||||||
;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
					;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
				
			||||||
 | 
					;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
				
			||||||
;;
 | 
					;;
 | 
				
			||||||
;; Copying and distribution of this file, with or without modification, are
 | 
					;; Copying and distribution of this file, with or without modification, are
 | 
				
			||||||
;; permitted in any medium without royalty provided the copyright notice and
 | 
					;; permitted in any medium without royalty provided the copyright notice and
 | 
				
			||||||
| 
						 | 
					@ -11,6 +13,34 @@
 | 
				
			||||||
(channel-news
 | 
					(channel-news
 | 
				
			||||||
 (version 0)
 | 
					 (version 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 (entry (commit "b460ba7992a0b4af2ddb5927dcf062784539ef7b")
 | 
				
			||||||
 | 
					        (title (en "Add support to boot from a Btrfs subvolume")
 | 
				
			||||||
 | 
					               (de "Unterstützung für Systemstart von einem
 | 
				
			||||||
 | 
					Btrfs-Unterlaufwerk hinzugefügt")
 | 
				
			||||||
 | 
					               (fr "Ajout du support pour démarrer depuis un sous-volume Btrfs")
 | 
				
			||||||
 | 
					               (nl "Nieuwe ondersteuning voor het opstarten vanaf een Btrfs-subvolume"))
 | 
				
			||||||
 | 
					        (body
 | 
				
			||||||
 | 
					         (en "The generation of the GRUB configuration file produced from an
 | 
				
			||||||
 | 
					operating system declaration now takes into account the use of a Btrfs
 | 
				
			||||||
 | 
					subvolume for the partition holding @file{/gnu/store}.  Run the command
 | 
				
			||||||
 | 
					@command{info \"(guix) Btrfs file system\"} for more information and
 | 
				
			||||||
 | 
					examples.")
 | 
				
			||||||
 | 
					         (de "Für die Erzeugung einer GRUB-Konfigurationsdatei aus einer
 | 
				
			||||||
 | 
					Betriebssystemdeklaration kann jetzt ein Btrfs-Unterlaufwerk („Subvolume“) für
 | 
				
			||||||
 | 
					die Partition mit @file{/gnu/store} angegeben werden.  Führen Sie
 | 
				
			||||||
 | 
					@command{info \"(guix) Btrfs file system\"} aus, wenn Sie mehr Informationen
 | 
				
			||||||
 | 
					und Beispiele sehen möchten.")
 | 
				
			||||||
 | 
					         (fr "La génération du fichier de configuration de GRUB produite à
 | 
				
			||||||
 | 
					partir de la déclaration d'un @code{operating-system} tient maintenant compte
 | 
				
			||||||
 | 
					de l'utilisation d'un sous-volume Btrfs pour la partition contenant
 | 
				
			||||||
 | 
					@file{/gnu/store}.  Exécutez la commande @command{info\"(guix) Btrfs file
 | 
				
			||||||
 | 
					system\"} pour des exemples et plus d'information.")
 | 
				
			||||||
 | 
					         (nl "Het opmaken van het GRUB-configuratiebestand op basis van
 | 
				
			||||||
 | 
					een @code{operating-system}-declaratie houdt nu rekening met het gebruik van
 | 
				
			||||||
 | 
					een Btrfs-subvolume voor de partitie die @file{/gnu/store} bevat.  Voer
 | 
				
			||||||
 | 
					@command{info \"(guix) Btrfs file system\"} uit voor meer informatie en
 | 
				
			||||||
 | 
					voorbeelden.")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 (entry (commit "6456232164890dbf5aa20394ee24637feb4b7b9e")
 | 
					 (entry (commit "6456232164890dbf5aa20394ee24637feb4b7b9e")
 | 
				
			||||||
        (title (en "@command{guix pack -RR} introduces a new execution
 | 
					        (title (en "@command{guix pack -RR} introduces a new execution
 | 
				
			||||||
engine")
 | 
					engine")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,8 +1,9 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2017 David Craven <david@craven.ch>
 | 
					;;; Copyright © 2017 David Craven <david@craven.ch>
 | 
				
			||||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
					;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
				
			||||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 | 
					;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 | 
				
			||||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -33,6 +34,9 @@
 | 
				
			||||||
            menu-entry-linux-arguments
 | 
					            menu-entry-linux-arguments
 | 
				
			||||||
            menu-entry-initrd
 | 
					            menu-entry-initrd
 | 
				
			||||||
            menu-entry-device-mount-point
 | 
					            menu-entry-device-mount-point
 | 
				
			||||||
 | 
					            menu-entry-multiboot-kernel
 | 
				
			||||||
 | 
					            menu-entry-multiboot-arguments
 | 
				
			||||||
 | 
					            menu-entry-multiboot-modules
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            menu-entry->sexp
 | 
					            menu-entry->sexp
 | 
				
			||||||
            sexp->menu-entry
 | 
					            sexp->menu-entry
 | 
				
			||||||
| 
						 | 
					@ -42,6 +46,7 @@
 | 
				
			||||||
            bootloader-name
 | 
					            bootloader-name
 | 
				
			||||||
            bootloader-package
 | 
					            bootloader-package
 | 
				
			||||||
            bootloader-installer
 | 
					            bootloader-installer
 | 
				
			||||||
 | 
					            bootloader-disk-image-installer
 | 
				
			||||||
            bootloader-configuration-file
 | 
					            bootloader-configuration-file
 | 
				
			||||||
            bootloader-configuration-file-generator
 | 
					            bootloader-configuration-file-generator
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -76,22 +81,41 @@
 | 
				
			||||||
                   (default #f))
 | 
					                   (default #f))
 | 
				
			||||||
  (device-mount-point menu-entry-device-mount-point
 | 
					  (device-mount-point menu-entry-device-mount-point
 | 
				
			||||||
                   (default #f))
 | 
					                   (default #f))
 | 
				
			||||||
  (linux           menu-entry-linux)
 | 
					  (linux           menu-entry-linux
 | 
				
			||||||
 | 
					                   (default #f))
 | 
				
			||||||
  (linux-arguments menu-entry-linux-arguments
 | 
					  (linux-arguments menu-entry-linux-arguments
 | 
				
			||||||
                   (default '()))          ; list of string-valued gexps
 | 
					                   (default '()))          ; list of string-valued gexps
 | 
				
			||||||
  (initrd          menu-entry-initrd))     ; file name of the initrd as a gexp
 | 
					  (initrd          menu-entry-initrd       ; file name of the initrd as a gexp
 | 
				
			||||||
 | 
					                   (default #f))
 | 
				
			||||||
 | 
					  (multiboot-kernel menu-entry-multiboot-kernel
 | 
				
			||||||
 | 
					                    (default #f))
 | 
				
			||||||
 | 
					  (multiboot-arguments menu-entry-multiboot-arguments
 | 
				
			||||||
 | 
					                       (default '()))      ; list of string-valued gexps
 | 
				
			||||||
 | 
					  (multiboot-modules menu-entry-multiboot-modules
 | 
				
			||||||
 | 
					                     (default '())))       ; list of multiboot commands, where
 | 
				
			||||||
 | 
					                                           ; a command is a list of <string>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (menu-entry->sexp entry)
 | 
					(define (menu-entry->sexp entry)
 | 
				
			||||||
  "Return ENTRY serialized as an sexp."
 | 
					  "Return ENTRY serialized as an sexp."
 | 
				
			||||||
  (match entry
 | 
					  (match entry
 | 
				
			||||||
    (($ <menu-entry> label device mount-point linux linux-arguments initrd)
 | 
					    (($ <menu-entry> label device mount-point linux linux-arguments initrd #f
 | 
				
			||||||
 | 
					                     ())
 | 
				
			||||||
     `(menu-entry (version 0)
 | 
					     `(menu-entry (version 0)
 | 
				
			||||||
                  (label ,label)
 | 
					                  (label ,label)
 | 
				
			||||||
                  (device ,device)
 | 
					                  (device ,device)
 | 
				
			||||||
                  (device-mount-point ,mount-point)
 | 
					                  (device-mount-point ,mount-point)
 | 
				
			||||||
                  (linux ,linux)
 | 
					                  (linux ,linux)
 | 
				
			||||||
                  (linux-arguments ,linux-arguments)
 | 
					                  (linux-arguments ,linux-arguments)
 | 
				
			||||||
                  (initrd ,initrd)))))
 | 
					                  (initrd ,initrd)))
 | 
				
			||||||
 | 
					    (($ <menu-entry> label device mount-point #f () #f
 | 
				
			||||||
 | 
					                     multiboot-kernel multiboot-arguments multiboot-modules)
 | 
				
			||||||
 | 
					     `(menu-entry (version 0)
 | 
				
			||||||
 | 
					                  (label ,label)
 | 
				
			||||||
 | 
					                  (device ,device)
 | 
				
			||||||
 | 
					                  (device-mount-point ,mount-point)
 | 
				
			||||||
 | 
					                  (multiboot-kernel ,multiboot-kernel)
 | 
				
			||||||
 | 
					                  (multiboot-arguments ,multiboot-arguments)
 | 
				
			||||||
 | 
					                  (multiboot-modules ,multiboot-modules)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (sexp->menu-entry sexp)
 | 
					(define (sexp->menu-entry sexp)
 | 
				
			||||||
  "Turn SEXP, an sexp as returned by 'menu-entry->sexp', into a <menu-entry>
 | 
					  "Turn SEXP, an sexp as returned by 'menu-entry->sexp', into a <menu-entry>
 | 
				
			||||||
| 
						 | 
					@ -108,7 +132,20 @@ record."
 | 
				
			||||||
      (device-mount-point mount-point)
 | 
					      (device-mount-point mount-point)
 | 
				
			||||||
      (linux linux)
 | 
					      (linux linux)
 | 
				
			||||||
      (linux-arguments linux-arguments)
 | 
					      (linux-arguments linux-arguments)
 | 
				
			||||||
      (initrd initrd)))))
 | 
					      (initrd initrd)))
 | 
				
			||||||
 | 
					    (('menu-entry ('version 0)
 | 
				
			||||||
 | 
					                  ('label label) ('device device)
 | 
				
			||||||
 | 
					                  ('device-mount-point mount-point)
 | 
				
			||||||
 | 
					                  ('multiboot-kernel multiboot-kernel)
 | 
				
			||||||
 | 
					                  ('multiboot-arguments multiboot-arguments)
 | 
				
			||||||
 | 
					                  ('multiboot-modules multiboot-modules) _ ...)
 | 
				
			||||||
 | 
					     (menu-entry
 | 
				
			||||||
 | 
					      (label label)
 | 
				
			||||||
 | 
					      (device device)
 | 
				
			||||||
 | 
					      (device-mount-point mount-point)
 | 
				
			||||||
 | 
					      (multiboot-kernel multiboot-kernel)
 | 
				
			||||||
 | 
					      (multiboot-arguments multiboot-arguments)
 | 
				
			||||||
 | 
					      (multiboot-modules multiboot-modules)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -125,6 +162,8 @@ record."
 | 
				
			||||||
  (name                            bootloader-name)
 | 
					  (name                            bootloader-name)
 | 
				
			||||||
  (package                         bootloader-package)
 | 
					  (package                         bootloader-package)
 | 
				
			||||||
  (installer                       bootloader-installer)
 | 
					  (installer                       bootloader-installer)
 | 
				
			||||||
 | 
					  (disk-image-installer            bootloader-disk-image-installer
 | 
				
			||||||
 | 
					                                   (default #f))
 | 
				
			||||||
  (configuration-file              bootloader-configuration-file)
 | 
					  (configuration-file              bootloader-configuration-file)
 | 
				
			||||||
  (configuration-file-generator    bootloader-configuration-file-generator))
 | 
					  (configuration-file-generator    bootloader-configuration-file-generator))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -82,7 +82,8 @@
 | 
				
			||||||
(define* (depthcharge-configuration-file config entries
 | 
					(define* (depthcharge-configuration-file config entries
 | 
				
			||||||
                                         #:key
 | 
					                                         #:key
 | 
				
			||||||
                                         (system (%current-system))
 | 
					                                         (system (%current-system))
 | 
				
			||||||
                                         (old-entries '()))
 | 
					                                         (old-entries '())
 | 
				
			||||||
 | 
					                                         #:allow-other-keys)
 | 
				
			||||||
  (match entries
 | 
					  (match entries
 | 
				
			||||||
    ((entry)
 | 
					    ((entry)
 | 
				
			||||||
     (let ((kernel (menu-entry-linux entry))
 | 
					     (let ((kernel (menu-entry-linux entry))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -28,7 +28,8 @@
 | 
				
			||||||
(define* (extlinux-configuration-file config entries
 | 
					(define* (extlinux-configuration-file config entries
 | 
				
			||||||
                                      #:key
 | 
					                                      #:key
 | 
				
			||||||
                                      (system (%current-system))
 | 
					                                      (system (%current-system))
 | 
				
			||||||
                                      (old-entries '()))
 | 
					                                      (old-entries '())
 | 
				
			||||||
 | 
					                                      #:allow-other-keys)
 | 
				
			||||||
  "Return the U-Boot configuration file corresponding to CONFIG, a
 | 
					  "Return the U-Boot configuration file corresponding to CONFIG, a
 | 
				
			||||||
<u-boot-configuration> object, and where the store is available at STORE-FS, a
 | 
					<u-boot-configuration> object, and where the store is available at STORE-FS, a
 | 
				
			||||||
<file-system> object.  OLD-ENTRIES is taken to be a list of menu entries
 | 
					<file-system> object.  OLD-ENTRIES is taken to be a list of menu entries
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,9 +2,10 @@
 | 
				
			||||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
 | 
					;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
 | 
				
			||||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 | 
					;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 | 
				
			||||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
					;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
				
			||||||
;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
					;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
				
			||||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
					;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Stefan <stefan-guix@vodafonemail.de>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -37,19 +38,13 @@
 | 
				
			||||||
  #:use-module (ice-9 regex)
 | 
					  #:use-module (ice-9 regex)
 | 
				
			||||||
  #:use-module (srfi srfi-1)
 | 
					  #:use-module (srfi srfi-1)
 | 
				
			||||||
  #:use-module (srfi srfi-2)
 | 
					  #:use-module (srfi srfi-2)
 | 
				
			||||||
  #:export (grub-image
 | 
					  #:export (grub-theme
 | 
				
			||||||
            grub-image?
 | 
					 | 
				
			||||||
            grub-image-aspect-ratio
 | 
					 | 
				
			||||||
            grub-image-file
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            grub-theme
 | 
					 | 
				
			||||||
            grub-theme?
 | 
					            grub-theme?
 | 
				
			||||||
            grub-theme-images
 | 
					            grub-theme-image
 | 
				
			||||||
 | 
					            grub-theme-resolution
 | 
				
			||||||
            grub-theme-color-normal
 | 
					            grub-theme-color-normal
 | 
				
			||||||
            grub-theme-color-highlight
 | 
					            grub-theme-color-highlight
 | 
				
			||||||
 | 
					            grub-theme-gfxmode
 | 
				
			||||||
            %background-image
 | 
					 | 
				
			||||||
            %default-theme
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            grub-bootloader
 | 
					            grub-bootloader
 | 
				
			||||||
            grub-efi-bootloader
 | 
					            grub-efi-bootloader
 | 
				
			||||||
| 
						 | 
					@ -64,119 +59,102 @@
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; Code:
 | 
					;;; Code:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define* (normalize-file file mount-point store-directory-prefix)
 | 
				
			||||||
 | 
					  "Strip MOUNT-POINT and prepend STORE-DIRECTORY-PREFIX, if any, to FILE, a
 | 
				
			||||||
 | 
					G-expression or other lowerable object denoting a file name."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (define (strip-mount-point mount-point file)
 | 
					  (define (strip-mount-point mount-point file)
 | 
				
			||||||
  "Strip MOUNT-POINT from FILE, which is a gexp or other lowerable object
 | 
					    (if mount-point
 | 
				
			||||||
denoting a file name."
 | 
					 | 
				
			||||||
  (match mount-point
 | 
					 | 
				
			||||||
    ((? string? mount-point)
 | 
					 | 
				
			||||||
        (if (string=? mount-point "/")
 | 
					        (if (string=? mount-point "/")
 | 
				
			||||||
            file
 | 
					            file
 | 
				
			||||||
            #~(let ((file #$file))
 | 
					            #~(let ((file #$file))
 | 
				
			||||||
                (if (string-prefix? #$mount-point file)
 | 
					                (if (string-prefix? #$mount-point file)
 | 
				
			||||||
                    (substring #$file #$(string-length mount-point))
 | 
					                    (substring #$file #$(string-length mount-point))
 | 
				
			||||||
                 file))))
 | 
					                    file)))
 | 
				
			||||||
    (#f file)))
 | 
					        file))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (define (prepend-store-directory-prefix store-directory-prefix file)
 | 
				
			||||||
 | 
					    (if store-directory-prefix
 | 
				
			||||||
 | 
					        #~(string-append #$store-directory-prefix #$file)
 | 
				
			||||||
 | 
					        file))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (prepend-store-directory-prefix store-directory-prefix
 | 
				
			||||||
 | 
					                                  (strip-mount-point mount-point file)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-record-type* <grub-image>
 | 
					 | 
				
			||||||
  grub-image make-grub-image
 | 
					 | 
				
			||||||
  grub-image?
 | 
					 | 
				
			||||||
  (aspect-ratio    grub-image-aspect-ratio        ;rational number
 | 
					 | 
				
			||||||
                   (default 4/3))
 | 
					 | 
				
			||||||
  (file            grub-image-file))              ;file-valued gexp (SVG)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-record-type* <grub-theme>
 | 
					(define-record-type* <grub-theme>
 | 
				
			||||||
 | 
					  ;; Default theme contributed by Felipe López.
 | 
				
			||||||
  grub-theme make-grub-theme
 | 
					  grub-theme make-grub-theme
 | 
				
			||||||
  grub-theme?
 | 
					  grub-theme?
 | 
				
			||||||
  (images          grub-theme-images
 | 
					  (image           grub-theme-image
 | 
				
			||||||
                   (default '()))                 ;list of <grub-image>
 | 
					                   (default (file-append %artwork-repository
 | 
				
			||||||
 | 
					                                         "/grub/GuixSD-fully-black-4-3.svg")))
 | 
				
			||||||
 | 
					  (resolution      grub-theme-resolution
 | 
				
			||||||
 | 
					                   (default '(1024 . 768)))
 | 
				
			||||||
  (color-normal    grub-theme-color-normal
 | 
					  (color-normal    grub-theme-color-normal
 | 
				
			||||||
                   (default '((fg . cyan) (bg . blue))))
 | 
					                   (default '((fg . light-gray) (bg . black))))
 | 
				
			||||||
  (color-highlight grub-theme-color-highlight
 | 
					  (color-highlight grub-theme-color-highlight
 | 
				
			||||||
                   (default '((fg . white) (bg . blue))))
 | 
					                   (default '((fg . yellow) (bg . black))))
 | 
				
			||||||
  (gfxmode         grub-gfxmode
 | 
					  (gfxmode         grub-theme-gfxmode
 | 
				
			||||||
                   (default '("auto"))))          ;list of string
 | 
					                   (default '("auto"))))          ;list of string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define %background-image
 | 
					 | 
				
			||||||
  (grub-image
 | 
					 | 
				
			||||||
   (aspect-ratio 4/3)
 | 
					 | 
				
			||||||
   (file (file-append %artwork-repository
 | 
					 | 
				
			||||||
                      "/grub/GuixSD-fully-black-4-3.svg"))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define %default-theme
 | 
					 | 
				
			||||||
  ;; Default theme contributed by Felipe López.
 | 
					 | 
				
			||||||
  (grub-theme
 | 
					 | 
				
			||||||
   (images (list %background-image))
 | 
					 | 
				
			||||||
   (color-highlight '((fg . yellow) (bg . black)))
 | 
					 | 
				
			||||||
   (color-normal    '((fg . light-gray) (bg . black))))) ;XXX: #x303030
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; Background image & themes.
 | 
					;;; Background image & themes.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (bootloader-theme config)
 | 
					(define (bootloader-theme config)
 | 
				
			||||||
  "Return user defined theme in CONFIG if defined or %default-theme
 | 
					  "Return user defined theme in CONFIG if defined or a default theme
 | 
				
			||||||
otherwise."
 | 
					otherwise."
 | 
				
			||||||
  (or (bootloader-configuration-theme config) %default-theme))
 | 
					  (or (bootloader-configuration-theme config) (grub-theme)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define* (svg->png svg #:key width height)
 | 
					(define* (image->png image #:key width height)
 | 
				
			||||||
  "Build a PNG of HEIGHT x WIDTH from SVG."
 | 
					  "Build a PNG of HEIGHT x WIDTH from IMAGE if its file suffix is \".svg\".
 | 
				
			||||||
 | 
					Otherwise the picture in IMAGE is just copied."
 | 
				
			||||||
  (computed-file "grub-image.png"
 | 
					  (computed-file "grub-image.png"
 | 
				
			||||||
                 (with-imported-modules '((gnu build svg))
 | 
					                 (with-imported-modules '((gnu build svg))
 | 
				
			||||||
                   (with-extensions (list guile-rsvg guile-cairo)
 | 
					                   (with-extensions (list guile-rsvg guile-cairo)
 | 
				
			||||||
                     #~(begin
 | 
					                     #~(if (string-suffix? ".svg" #+image)
 | 
				
			||||||
 | 
					                           (begin
 | 
				
			||||||
                             (use-modules (gnu build svg))
 | 
					                             (use-modules (gnu build svg))
 | 
				
			||||||
                         (svg->png #+svg #$output
 | 
					                             (svg->png #+image #$output
 | 
				
			||||||
                                       #:width #$width
 | 
					                                       #:width #$width
 | 
				
			||||||
                                   #:height #$height))))))
 | 
					                                       #:height #$height))
 | 
				
			||||||
 | 
					                           (copy-file #+image #$output))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define* (grub-background-image config #:key (width 1024) (height 768))
 | 
					(define* (grub-background-image config)
 | 
				
			||||||
  "Return the GRUB background image defined in CONFIG with a ratio of
 | 
					  "Return the GRUB background image defined in CONFIG or #f if none was found.
 | 
				
			||||||
WIDTH/HEIGHT, or #f if none was found."
 | 
					If the suffix of the image file is \".svg\", then it is converted into a PNG
 | 
				
			||||||
  (let* ((ratio (/ width height))
 | 
					file with the resolution provided in CONFIG."
 | 
				
			||||||
         (image (find (lambda (image)
 | 
					  (let* ((theme (bootloader-theme config))
 | 
				
			||||||
                        (= (grub-image-aspect-ratio image) ratio))
 | 
					         (image (grub-theme-image theme)))
 | 
				
			||||||
                      (grub-theme-images
 | 
					 | 
				
			||||||
                       (bootloader-theme config)))))
 | 
					 | 
				
			||||||
    (and image
 | 
					    (and image
 | 
				
			||||||
         (svg->png (grub-image-file image)
 | 
					         (match (grub-theme-resolution theme)
 | 
				
			||||||
                   #:width width #:height height))))
 | 
					           (((? number? width) . (? number? height))
 | 
				
			||||||
 | 
					            (image->png image #:width width #:height height))
 | 
				
			||||||
 | 
					           (_ #f)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define* (eye-candy config store-device store-mount-point
 | 
					(define* (eye-candy config store-device store-mount-point
 | 
				
			||||||
                    #:key system port)
 | 
					                    #:key store-directory-prefix port)
 | 
				
			||||||
  "Return a gexp that writes to PORT (a port-valued gexp) the
 | 
					  "Return a gexp that writes to PORT (a port-valued gexp) the 'grub.cfg' part
 | 
				
			||||||
'grub.cfg' part concerned with graphics mode, background images, colors, and
 | 
					concerned with graphics mode, background images, colors, and all that.
 | 
				
			||||||
all that.  STORE-DEVICE designates the device holding the store, and
 | 
					STORE-DEVICE designates the device holding the store, and STORE-MOUNT-POINT is
 | 
				
			||||||
STORE-MOUNT-POINT is its mount point; these are used to determine where the
 | 
					its mount point; these are used to determine where the background image and
 | 
				
			||||||
background image and fonts must be searched for.  SYSTEM must be the target
 | 
					fonts must be searched for.  STORE-DIRECTORY-PREFIX is a directory prefix to
 | 
				
			||||||
system string---e.g., \"x86_64-linux\"."
 | 
					prepend to any store file name."
 | 
				
			||||||
  (define setup-gfxterm-body
 | 
					 | 
				
			||||||
    (let ((gfxmode
 | 
					 | 
				
			||||||
           (or (and-let* ((theme (bootloader-configuration-theme config))
 | 
					 | 
				
			||||||
                          (gfxmode (grub-gfxmode theme)))
 | 
					 | 
				
			||||||
                 (string-join gfxmode ";"))
 | 
					 | 
				
			||||||
               "auto")))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      ;; Intel and EFI systems need to be switched into graphics mode, whereas
 | 
					 | 
				
			||||||
      ;; most other modern architectures have no other mode and therefore
 | 
					 | 
				
			||||||
      ;; don't need to be switched.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      ;; XXX: Do we really need to restrict to x86 systems?  We could imitate
 | 
					 | 
				
			||||||
      ;; what the GRUB default configuration does and decide based on whether
 | 
					 | 
				
			||||||
      ;; a user provided 'gfxterm' in the terminal-outputs field of their
 | 
					 | 
				
			||||||
      ;; bootloader-configuration record.
 | 
					 | 
				
			||||||
      (if (string-match "^(x86_64|i[3-6]86)-" system)
 | 
					 | 
				
			||||||
          (format #f "
 | 
					 | 
				
			||||||
  set gfxmode=~a
 | 
					 | 
				
			||||||
  insmod all_video
 | 
					 | 
				
			||||||
  insmod gfxterm~%" gfxmode)
 | 
					 | 
				
			||||||
          "")))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  (define (setup-gfxterm config font-file)
 | 
					  (define (setup-gfxterm config font-file)
 | 
				
			||||||
    (if (memq 'gfxterm (bootloader-configuration-terminal-outputs config))
 | 
					    (if (memq 'gfxterm (bootloader-configuration-terminal-outputs config))
 | 
				
			||||||
        #~(format #f "if loadfont ~a; then
 | 
					        #~(format #f "
 | 
				
			||||||
  setup_gfxterm
 | 
					if loadfont ~a; then
 | 
				
			||||||
fi~%" #+font-file)
 | 
					  set gfxmode=~a
 | 
				
			||||||
 | 
					  insmod all_video
 | 
				
			||||||
 | 
					  insmod gfxterm
 | 
				
			||||||
 | 
					fi~%"
 | 
				
			||||||
 | 
					                  #+font-file
 | 
				
			||||||
 | 
					                  #$(string-join
 | 
				
			||||||
 | 
					                     (grub-theme-gfxmode (bootloader-theme config))
 | 
				
			||||||
 | 
					                     ";"))
 | 
				
			||||||
        ""))
 | 
					        ""))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (define (theme-colors type)
 | 
					  (define (theme-colors type)
 | 
				
			||||||
| 
						 | 
					@ -186,16 +164,17 @@ fi~%" #+font-file)
 | 
				
			||||||
                     (symbol->string (assoc-ref colors 'bg)))))
 | 
					                     (symbol->string (assoc-ref colors 'bg)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (define font-file
 | 
					  (define font-file
 | 
				
			||||||
    (strip-mount-point store-mount-point
 | 
					    (normalize-file (file-append grub "/share/grub/unicode.pf2")
 | 
				
			||||||
                       (file-append grub "/share/grub/unicode.pf2")))
 | 
					                    store-mount-point
 | 
				
			||||||
 | 
					                    store-directory-prefix))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (define image
 | 
					  (define image
 | 
				
			||||||
    (grub-background-image config))
 | 
					    (normalize-file (grub-background-image config)
 | 
				
			||||||
 | 
					                    store-mount-point
 | 
				
			||||||
 | 
					                    store-directory-prefix))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (and image
 | 
					  (and image
 | 
				
			||||||
       #~(format #$port "
 | 
					       #~(format #$port "
 | 
				
			||||||
function setup_gfxterm {~a}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Set 'root' to the partition that contains /gnu/store.
 | 
					# Set 'root' to the partition that contains /gnu/store.
 | 
				
			||||||
~a
 | 
					~a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -210,12 +189,11 @@ else
 | 
				
			||||||
  set menu_color_normal=cyan/blue
 | 
					  set menu_color_normal=cyan/blue
 | 
				
			||||||
  set menu_color_highlight=white/blue
 | 
					  set menu_color_highlight=white/blue
 | 
				
			||||||
fi~%"
 | 
					fi~%"
 | 
				
			||||||
                 #$setup-gfxterm-body
 | 
					 | 
				
			||||||
                 #$(grub-root-search store-device font-file)
 | 
					                 #$(grub-root-search store-device font-file)
 | 
				
			||||||
                 #$(setup-gfxterm config font-file)
 | 
					                 #$(setup-gfxterm config font-file)
 | 
				
			||||||
                 #$(grub-setup-io config)
 | 
					                 #$(grub-setup-io config)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                 #$(strip-mount-point store-mount-point image)
 | 
					                 #$image
 | 
				
			||||||
                 #$(theme-colors grub-theme-color-normal)
 | 
					                 #$(theme-colors grub-theme-color-normal)
 | 
				
			||||||
                 #$(theme-colors grub-theme-color-highlight))))
 | 
					                 #$(theme-colors grub-theme-color-highlight))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -323,52 +301,84 @@ code."
 | 
				
			||||||
(define* (grub-configuration-file config entries
 | 
					(define* (grub-configuration-file config entries
 | 
				
			||||||
                                  #:key
 | 
					                                  #:key
 | 
				
			||||||
                                  (system (%current-system))
 | 
					                                  (system (%current-system))
 | 
				
			||||||
                                  (old-entries '()))
 | 
					                                  (old-entries '())
 | 
				
			||||||
 | 
					                                  store-directory-prefix)
 | 
				
			||||||
  "Return the GRUB configuration file corresponding to CONFIG, a
 | 
					  "Return the GRUB configuration file corresponding to CONFIG, a
 | 
				
			||||||
<bootloader-configuration> object, and where the store is available at
 | 
					<bootloader-configuration> object, and where the store is available at
 | 
				
			||||||
STORE-FS, a <file-system> object.  OLD-ENTRIES is taken to be a list of menu
 | 
					STORE-FS, a <file-system> object.  OLD-ENTRIES is taken to be a list of menu
 | 
				
			||||||
entries corresponding to old generations of the system."
 | 
					entries corresponding to old generations of the system.
 | 
				
			||||||
 | 
					STORE-DIRECTORY-PREFIX may be used to specify a store prefix, as is required
 | 
				
			||||||
 | 
					when booting a root file system on a Btrfs subvolume."
 | 
				
			||||||
  (define all-entries
 | 
					  (define all-entries
 | 
				
			||||||
    (append entries (bootloader-configuration-menu-entries config)))
 | 
					    (append entries (bootloader-configuration-menu-entries config)))
 | 
				
			||||||
  (define (menu-entry->gexp entry)
 | 
					  (define (menu-entry->gexp entry)
 | 
				
			||||||
    (let ((device (menu-entry-device entry))
 | 
					    (let ((label (menu-entry-label entry))
 | 
				
			||||||
          (device-mount-point (menu-entry-device-mount-point entry))
 | 
					          (linux (menu-entry-linux entry))
 | 
				
			||||||
          (label (menu-entry-label entry))
 | 
					          (device (menu-entry-device entry))
 | 
				
			||||||
          (kernel (menu-entry-linux entry))
 | 
					          (device-mount-point (menu-entry-device-mount-point entry)))
 | 
				
			||||||
          (arguments (menu-entry-linux-arguments entry))
 | 
					      (if linux
 | 
				
			||||||
          (initrd (menu-entry-initrd entry)))
 | 
					          (let ((arguments (menu-entry-linux-arguments entry))
 | 
				
			||||||
 | 
					                (linux (normalize-file linux
 | 
				
			||||||
 | 
					                                       device-mount-point
 | 
				
			||||||
 | 
					                                       store-directory-prefix))
 | 
				
			||||||
 | 
					                (initrd (normalize-file (menu-entry-initrd entry)
 | 
				
			||||||
 | 
					                                        device-mount-point
 | 
				
			||||||
 | 
					                                        store-directory-prefix)))
 | 
				
			||||||
         ;; Here DEVICE is the store and DEVICE-MOUNT-POINT is its mount point.
 | 
					         ;; Here DEVICE is the store and DEVICE-MOUNT-POINT is its mount point.
 | 
				
			||||||
      ;; Use the right file names for KERNEL and INITRD in case
 | 
					         ;; Use the right file names for LINUX and INITRD in case
 | 
				
			||||||
         ;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a
 | 
					         ;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a
 | 
				
			||||||
         ;; separate partition.
 | 
					         ;; separate partition.
 | 
				
			||||||
      (let ((kernel  (strip-mount-point device-mount-point kernel))
 | 
					
 | 
				
			||||||
            (initrd  (strip-mount-point device-mount-point initrd)))
 | 
					         ;; When BTRFS-SUBVOLUME-FILE-NAME is defined, prepend it the linux and
 | 
				
			||||||
 | 
					         ;; initrd paths, to allow booting from a Btrfs subvolume.
 | 
				
			||||||
         #~(format port "menuentry ~s {
 | 
					         #~(format port "menuentry ~s {
 | 
				
			||||||
  ~a
 | 
					  ~a
 | 
				
			||||||
  linux ~a ~a
 | 
					  linux ~a ~a
 | 
				
			||||||
  initrd ~a
 | 
					  initrd ~a
 | 
				
			||||||
}~%"
 | 
					}~%"
 | 
				
			||||||
                   #$label
 | 
					                   #$label
 | 
				
			||||||
                  #$(grub-root-search device kernel)
 | 
					                   #$(grub-root-search device linux)
 | 
				
			||||||
                  #$kernel (string-join (list #$@arguments))
 | 
					                   #$linux (string-join (list #$@arguments))
 | 
				
			||||||
                  #$initrd))))
 | 
					                   #$initrd))
 | 
				
			||||||
  (define sugar
 | 
					          (let ((kernel (menu-entry-multiboot-kernel entry))
 | 
				
			||||||
 | 
					                (arguments (menu-entry-multiboot-arguments entry))
 | 
				
			||||||
 | 
					                (modules (menu-entry-multiboot-modules entry))
 | 
				
			||||||
 | 
					                (root-index 1))            ; XXX EFI will need root-index 2
 | 
				
			||||||
 | 
					        #~(format port "
 | 
				
			||||||
 | 
					menuentry ~s {
 | 
				
			||||||
 | 
					  multiboot ~a root=device:hd0s~a~a~a
 | 
				
			||||||
 | 
					}~%"
 | 
				
			||||||
 | 
					                  #$label
 | 
				
			||||||
 | 
					                  #$kernel
 | 
				
			||||||
 | 
					                  #$root-index (string-join (list #$@arguments) " " 'prefix)
 | 
				
			||||||
 | 
					                  (string-join (map string-join '#$modules)
 | 
				
			||||||
 | 
					                               "\n  module " 'prefix))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (define (sugar)
 | 
				
			||||||
 | 
					    (let* ((entry (first all-entries))
 | 
				
			||||||
 | 
					           (device (menu-entry-device entry))
 | 
				
			||||||
 | 
					           (mount-point (menu-entry-device-mount-point entry)))
 | 
				
			||||||
      (eye-candy config
 | 
					      (eye-candy config
 | 
				
			||||||
               (menu-entry-device (first all-entries))
 | 
					                 device
 | 
				
			||||||
               (menu-entry-device-mount-point (first all-entries))
 | 
					                 mount-point
 | 
				
			||||||
               #:system system
 | 
					                 #:store-directory-prefix store-directory-prefix
 | 
				
			||||||
               #:port #~port))
 | 
					                 #:port #~port)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (define keyboard-layout-config
 | 
					  (define keyboard-layout-config
 | 
				
			||||||
    (let ((layout (bootloader-configuration-keyboard-layout config))
 | 
					    (let* ((layout (bootloader-configuration-keyboard-layout config))
 | 
				
			||||||
           (grub   (bootloader-package
 | 
					           (grub   (bootloader-package
 | 
				
			||||||
                   (bootloader-configuration-bootloader config))))
 | 
					                    (bootloader-configuration-bootloader config)))
 | 
				
			||||||
      #~(let ((keymap #$(and layout
 | 
					           (keymap* (and layout
 | 
				
			||||||
                             (keyboard-layout-file layout #:grub grub))))
 | 
					                         (keyboard-layout-file layout #:grub grub)))
 | 
				
			||||||
          (when keymap
 | 
					           (keymap (and keymap*
 | 
				
			||||||
 | 
					                        (if store-directory-prefix
 | 
				
			||||||
 | 
					                            #~(string-append #$store-directory-prefix
 | 
				
			||||||
 | 
					                                             #$keymap*)
 | 
				
			||||||
 | 
					                            keymap*))))
 | 
				
			||||||
 | 
					      #~(when #$keymap
 | 
				
			||||||
          (format port "\
 | 
					          (format port "\
 | 
				
			||||||
insmod keylayouts
 | 
					insmod keylayouts
 | 
				
			||||||
keymap ~a~%" keymap)))))
 | 
					keymap ~a~%" #$keymap))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (define builder
 | 
					  (define builder
 | 
				
			||||||
    #~(call-with-output-file #$output
 | 
					    #~(call-with-output-file #$output
 | 
				
			||||||
| 
						 | 
					@ -377,7 +387,7 @@ keymap ~a~%" keymap)))))
 | 
				
			||||||
                  "# This file was generated from your Guix configuration.  Any changes
 | 
					                  "# This file was generated from your Guix configuration.  Any changes
 | 
				
			||||||
# will be lost upon reconfiguration.
 | 
					# will be lost upon reconfiguration.
 | 
				
			||||||
")
 | 
					")
 | 
				
			||||||
          #$sugar
 | 
					          #$(sugar)
 | 
				
			||||||
          #$keyboard-layout-config
 | 
					          #$keyboard-layout-config
 | 
				
			||||||
          (format port "
 | 
					          (format port "
 | 
				
			||||||
set default=~a
 | 
					set default=~a
 | 
				
			||||||
| 
						 | 
					@ -413,18 +423,65 @@ fi~%"))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define install-grub
 | 
					(define install-grub
 | 
				
			||||||
  #~(lambda (bootloader device mount-point)
 | 
					  #~(lambda (bootloader device mount-point)
 | 
				
			||||||
      ;; Install GRUB on DEVICE which is mounted at MOUNT-POINT.
 | 
					 | 
				
			||||||
      (let ((grub (string-append bootloader "/sbin/grub-install"))
 | 
					      (let ((grub (string-append bootloader "/sbin/grub-install"))
 | 
				
			||||||
            (install-dir (string-append mount-point "/boot")))
 | 
					            (install-dir (string-append mount-point "/boot")))
 | 
				
			||||||
        ;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or
 | 
					        ;; Install GRUB on DEVICE which is mounted at MOUNT-POINT. If DEVICE
 | 
				
			||||||
        ;; root partition.
 | 
					        ;; is #f, then we populate the disk-image rooted at MOUNT-POINT.
 | 
				
			||||||
 | 
					        (if device
 | 
				
			||||||
 | 
					            (begin
 | 
				
			||||||
 | 
					              ;; Tell 'grub-install' that there might be a LUKS-encrypted
 | 
				
			||||||
 | 
					              ;; /boot or root partition.
 | 
				
			||||||
              (setenv "GRUB_ENABLE_CRYPTODISK" "y")
 | 
					              (setenv "GRUB_ENABLE_CRYPTODISK" "y")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              ;; Hide potentially confusing messages from the user, such as
 | 
					              ;; Hide potentially confusing messages from the user, such as
 | 
				
			||||||
              ;; "Installing for i386-pc platform."
 | 
					              ;; "Installing for i386-pc platform."
 | 
				
			||||||
              (invoke/quiet grub "--no-floppy" "--target=i386-pc"
 | 
					              (invoke/quiet grub "--no-floppy" "--target=i386-pc"
 | 
				
			||||||
                            "--boot-directory" install-dir
 | 
					                            "--boot-directory" install-dir
 | 
				
			||||||
                      device))))
 | 
					                            device))
 | 
				
			||||||
 | 
					            ;; When creating a disk-image, only install GRUB modules.
 | 
				
			||||||
 | 
					            (copy-recursively (string-append bootloader "/lib/")
 | 
				
			||||||
 | 
					                              install-dir)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define install-grub-disk-image
 | 
				
			||||||
 | 
					  #~(lambda (bootloader root-index image)
 | 
				
			||||||
 | 
					      ;; Install GRUB on the given IMAGE. The root partition index is
 | 
				
			||||||
 | 
					      ;; ROOT-INDEX.
 | 
				
			||||||
 | 
					      (let ((grub-mkimage
 | 
				
			||||||
 | 
					             (string-append bootloader "/bin/grub-mkimage"))
 | 
				
			||||||
 | 
					            (modules '("biosdisk" "part_msdos" "fat" "ext2"))
 | 
				
			||||||
 | 
					            (grub-bios-setup
 | 
				
			||||||
 | 
					             (string-append bootloader "/sbin/grub-bios-setup"))
 | 
				
			||||||
 | 
					            (root-device (format #f "hd0,msdos~a" root-index))
 | 
				
			||||||
 | 
					            (boot-img (string-append bootloader "/lib/grub/i386-pc/boot.img"))
 | 
				
			||||||
 | 
					            (device-map "device.map"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ;; Create a minimal, standalone GRUB image that will be written
 | 
				
			||||||
 | 
					        ;; directly in the MBR-GAP (space between the end of the MBR and the
 | 
				
			||||||
 | 
					        ;; first partition).
 | 
				
			||||||
 | 
					        (apply invoke grub-mkimage
 | 
				
			||||||
 | 
					               "-O" "i386-pc"
 | 
				
			||||||
 | 
					               "-o" "core.img"
 | 
				
			||||||
 | 
					               "-p" (format #f "(~a)/boot/grub" root-device)
 | 
				
			||||||
 | 
					               modules)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ;; Create a device mapping file.
 | 
				
			||||||
 | 
					        (call-with-output-file device-map
 | 
				
			||||||
 | 
					          (lambda (port)
 | 
				
			||||||
 | 
					            (format port "(hd0) ~a~%" image)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ;; Copy the default boot.img, that will be written on the MBR sector
 | 
				
			||||||
 | 
					        ;; by GRUB-BIOS-SETUP.
 | 
				
			||||||
 | 
					        (copy-file boot-img "boot.img")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ;; Install both the "boot.img" and the "core.img" files on the given
 | 
				
			||||||
 | 
					        ;; IMAGE. On boot, the MBR sector will execute the minimal GRUB
 | 
				
			||||||
 | 
					        ;; written in the MBR-GAP. GRUB configuration and missing modules will
 | 
				
			||||||
 | 
					        ;; be read from ROOT-DEVICE.
 | 
				
			||||||
 | 
					        (invoke grub-bios-setup
 | 
				
			||||||
 | 
					                "-m" device-map
 | 
				
			||||||
 | 
					                "-r" root-device
 | 
				
			||||||
 | 
					                "-d" "."
 | 
				
			||||||
 | 
					                image))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define install-grub-efi
 | 
					(define install-grub-efi
 | 
				
			||||||
  #~(lambda (bootloader efi-dir mount-point)
 | 
					  #~(lambda (bootloader efi-dir mount-point)
 | 
				
			||||||
| 
						 | 
					@ -455,21 +512,20 @@ fi~%"))))
 | 
				
			||||||
   (name 'grub)
 | 
					   (name 'grub)
 | 
				
			||||||
   (package grub)
 | 
					   (package grub)
 | 
				
			||||||
   (installer install-grub)
 | 
					   (installer install-grub)
 | 
				
			||||||
 | 
					   (disk-image-installer install-grub-disk-image)
 | 
				
			||||||
   (configuration-file "/boot/grub/grub.cfg")
 | 
					   (configuration-file "/boot/grub/grub.cfg")
 | 
				
			||||||
   (configuration-file-generator grub-configuration-file)))
 | 
					   (configuration-file-generator grub-configuration-file)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define grub-minimal-bootloader
 | 
					(define* grub-minimal-bootloader
 | 
				
			||||||
  (bootloader
 | 
					  (bootloader
 | 
				
			||||||
   (name 'grub)
 | 
					   (inherit grub-bootloader)
 | 
				
			||||||
   (package grub-minimal)
 | 
					   (package grub-minimal)))
 | 
				
			||||||
   (installer install-grub)
 | 
					 | 
				
			||||||
   (configuration-file "/boot/grub/grub.cfg")
 | 
					 | 
				
			||||||
   (configuration-file-generator grub-configuration-file)))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define* grub-efi-bootloader
 | 
					(define* grub-efi-bootloader
 | 
				
			||||||
  (bootloader
 | 
					  (bootloader
 | 
				
			||||||
   (inherit grub-bootloader)
 | 
					   (inherit grub-bootloader)
 | 
				
			||||||
   (installer install-grub-efi)
 | 
					   (installer install-grub-efi)
 | 
				
			||||||
 | 
					   (disk-image-installer #f)
 | 
				
			||||||
   (name 'grub-efi)
 | 
					   (name 'grub-efi)
 | 
				
			||||||
   (package grub-efi)))
 | 
					   (package grub-efi)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -320,7 +320,9 @@ improvement."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (boot-time-system)
 | 
					(define (boot-time-system)
 | 
				
			||||||
  "Return the '--system' argument passed on the kernel command line."
 | 
					  "Return the '--system' argument passed on the kernel command line."
 | 
				
			||||||
  (find-long-option "--system" (linux-command-line)))
 | 
					  (find-long-option "--system" (if (string-contains %host-type "linux-gnu")
 | 
				
			||||||
 | 
					                                   (linux-command-line)
 | 
				
			||||||
 | 
					                                   (command-line))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define* (activate-current-system
 | 
					(define* (activate-current-system
 | 
				
			||||||
          #:optional (system (or (getenv "GUIX_NEW_SYSTEM")
 | 
					          #:optional (system (or (getenv "GUIX_NEW_SYSTEM")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -661,8 +661,10 @@ were found."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (match spec
 | 
					  (match spec
 | 
				
			||||||
    ((? string?)
 | 
					    ((? string?)
 | 
				
			||||||
 | 
					     (if (string-contains spec ":/")
 | 
				
			||||||
 | 
					         spec                  ; do not resolve NFS devices
 | 
				
			||||||
         ;; Nothing to do, but wait until SPEC shows up.
 | 
					         ;; Nothing to do, but wait until SPEC shows up.
 | 
				
			||||||
     (resolve identity spec identity))
 | 
					         (resolve identity spec identity)))
 | 
				
			||||||
    ((? file-system-label?)
 | 
					    ((? file-system-label?)
 | 
				
			||||||
     ;; Resolve the label.
 | 
					     ;; Resolve the label.
 | 
				
			||||||
     (resolve find-partition-by-label
 | 
					     (resolve find-partition-by-label
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										205
									
								
								gnu/build/hurd-boot.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										205
									
								
								gnu/build/hurd-boot.scm
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,205 @@
 | 
				
			||||||
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; GNU Guix is free software; you can redistribute it and/or modify it
 | 
				
			||||||
 | 
					;;; under the terms of the GNU General Public License as published by
 | 
				
			||||||
 | 
					;;; the Free Software Foundation; either version 3 of the License, or (at
 | 
				
			||||||
 | 
					;;; your option) any later version.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; GNU Guix is distributed in the hope that it will be useful, but
 | 
				
			||||||
 | 
					;;; WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
				
			||||||
 | 
					;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
				
			||||||
 | 
					;;; GNU General Public License for more details.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; You should have received a copy of the GNU General Public License
 | 
				
			||||||
 | 
					;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-module (gnu build hurd-boot)
 | 
				
			||||||
 | 
					  #:use-module (system repl error-handling)
 | 
				
			||||||
 | 
					  #:autoload   (system repl repl) (start-repl)
 | 
				
			||||||
 | 
					  #:use-module (srfi srfi-1)
 | 
				
			||||||
 | 
					  #:use-module (srfi srfi-26)
 | 
				
			||||||
 | 
					  #:use-module (ice-9 match)
 | 
				
			||||||
 | 
					  #:use-module (guix build utils)
 | 
				
			||||||
 | 
					  #:use-module ((guix build syscalls)
 | 
				
			||||||
 | 
					                #:hide (file-system-type))
 | 
				
			||||||
 | 
					  #:export (make-hurd-device-nodes
 | 
				
			||||||
 | 
					            boot-hurd-system))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;;; Commentary:
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; Utility procedures useful to boot a Hurd system.
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; Code:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; XXX FIXME c&p from linux-boot.scm
 | 
				
			||||||
 | 
					(define (find-long-option option arguments)
 | 
				
			||||||
 | 
					  "Find OPTION among ARGUMENTS, where OPTION is something like \"--load\".
 | 
				
			||||||
 | 
					Return the value associated with OPTION, or #f on failure."
 | 
				
			||||||
 | 
					  (let ((opt (string-append option "=")))
 | 
				
			||||||
 | 
					    (and=> (find (cut string-prefix? opt <>)
 | 
				
			||||||
 | 
					                 arguments)
 | 
				
			||||||
 | 
					           (lambda (arg)
 | 
				
			||||||
 | 
					             (substring arg (+ 1 (string-index arg #\=)))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; XXX FIXME c&p from guix/utils.scm
 | 
				
			||||||
 | 
					(define (readlink* file)
 | 
				
			||||||
 | 
					  "Call 'readlink' until the result is not a symlink."
 | 
				
			||||||
 | 
					  (define %max-symlink-depth 50)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (let loop ((file  file)
 | 
				
			||||||
 | 
					             (depth 0))
 | 
				
			||||||
 | 
					    (define (absolute target)
 | 
				
			||||||
 | 
					      (if (absolute-file-name? target)
 | 
				
			||||||
 | 
					          target
 | 
				
			||||||
 | 
					          (string-append (dirname file) "/" target)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    (if (>= depth %max-symlink-depth)
 | 
				
			||||||
 | 
					        file
 | 
				
			||||||
 | 
					        (call-with-values
 | 
				
			||||||
 | 
					            (lambda ()
 | 
				
			||||||
 | 
					              (catch 'system-error
 | 
				
			||||||
 | 
					                (lambda ()
 | 
				
			||||||
 | 
					                  (values #t (readlink file)))
 | 
				
			||||||
 | 
					                (lambda args
 | 
				
			||||||
 | 
					                  (let ((errno (system-error-errno args)))
 | 
				
			||||||
 | 
					                    (if (or (= errno EINVAL))
 | 
				
			||||||
 | 
					                        (values #f file)
 | 
				
			||||||
 | 
					                        (apply throw args))))))
 | 
				
			||||||
 | 
					          (lambda (success? target)
 | 
				
			||||||
 | 
					            (if success?
 | 
				
			||||||
 | 
					                (loop (absolute target) (+ depth 1))
 | 
				
			||||||
 | 
					                file))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define* (make-hurd-device-nodes #:optional (root "/"))
 | 
				
			||||||
 | 
					  "Make some of the nodes needed on GNU/Hurd."
 | 
				
			||||||
 | 
					  (define (scope dir)
 | 
				
			||||||
 | 
					    (string-append root (if (string-suffix? "/" root) "" "/") dir))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (mkdir (scope "dev"))
 | 
				
			||||||
 | 
					  (for-each (lambda (file)
 | 
				
			||||||
 | 
					              (call-with-output-file (scope file)
 | 
				
			||||||
 | 
					                (lambda (port)
 | 
				
			||||||
 | 
					                  (display file port)   ;avoid hard-linking
 | 
				
			||||||
 | 
					                  (chmod port #o666))))
 | 
				
			||||||
 | 
					            '("dev/null"
 | 
				
			||||||
 | 
					              "dev/zero"
 | 
				
			||||||
 | 
					              "dev/full"
 | 
				
			||||||
 | 
					              "dev/random"
 | 
				
			||||||
 | 
					              "dev/urandom"))
 | 
				
			||||||
 | 
					  ;; Don't create /dev/console, /dev/vcs, etc.: they are created by
 | 
				
			||||||
 | 
					  ;; console-run on first boot.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (mkdir (scope "servers"))
 | 
				
			||||||
 | 
					  (for-each (lambda (file)
 | 
				
			||||||
 | 
					              (call-with-output-file (scope (string-append "servers/" file))
 | 
				
			||||||
 | 
					                (lambda (port)
 | 
				
			||||||
 | 
					                  (display file port)   ;avoid hard-linking
 | 
				
			||||||
 | 
					                  (chmod port #o444))))
 | 
				
			||||||
 | 
					            '("startup"
 | 
				
			||||||
 | 
					              "exec"
 | 
				
			||||||
 | 
					              "proc"
 | 
				
			||||||
 | 
					              "password"
 | 
				
			||||||
 | 
					              "default-pager"
 | 
				
			||||||
 | 
					              "crash-dump-core"
 | 
				
			||||||
 | 
					              "kill"
 | 
				
			||||||
 | 
					              "suspend"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (mkdir (scope "servers/socket"))
 | 
				
			||||||
 | 
					  ;; Don't create /servers/socket/1 & co: runsystem does that on first boot.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ;; TODO: Set the 'gnu.translator' extended attribute for passive translator
 | 
				
			||||||
 | 
					  ;; settings?
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define* (boot-hurd-system #:key (on-error 'debug))
 | 
				
			||||||
 | 
					  "This procedure is meant to be called from an early RC script.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Install the relevant passive translators on the first boot.  Then, run system
 | 
				
			||||||
 | 
					activation by using the kernel command-line options '--system' and '--load';
 | 
				
			||||||
 | 
					starting the Shepherd.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					XXX TODO: see linux-boot.scm:boot-system.
 | 
				
			||||||
 | 
					XXX TODO: add proper file-system checking, mounting
 | 
				
			||||||
 | 
					XXX TODO: move bits to (new?) (hurd?) (activation?) services
 | 
				
			||||||
 | 
					XXX TODO: use settrans/setxattr instead of MAKEDEV
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					"
 | 
				
			||||||
 | 
					  (define translators
 | 
				
			||||||
 | 
					    '(("/servers/crash-dump-core" ("/hurd/crash" "--dump-core"))
 | 
				
			||||||
 | 
					      ("/servers/crash-kill" ("/hurd/crash" "--kill"))
 | 
				
			||||||
 | 
					      ("/servers/crash-suspend" ("/hurd/crash" "--suspend"))
 | 
				
			||||||
 | 
					      ("/servers/password" ("/hurd/password"))
 | 
				
			||||||
 | 
					      ("/servers/socket/1" ("/hurd/pflocal"))
 | 
				
			||||||
 | 
					      ("/servers/socket/2" ("/hurd/pfinet" "--interface" "eth0"
 | 
				
			||||||
 | 
					                            "--address" "10.0.2.15" ;the default QEMU guest IP
 | 
				
			||||||
 | 
					                            "--netmask" "255.255.255.0"
 | 
				
			||||||
 | 
					                            "--gateway" "10.0.2.2"
 | 
				
			||||||
 | 
					                            "--ipv6" "/servers/socket/16"))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (display "Welcome, this is GNU's early boot Guile.\n")
 | 
				
			||||||
 | 
					  (display "Use '--repl' for an initrd REPL.\n\n")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (call-with-error-handling
 | 
				
			||||||
 | 
					   (lambda ()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     (define (translated? node)
 | 
				
			||||||
 | 
					       ;; Return true if a translator is installed on NODE.
 | 
				
			||||||
 | 
					       (with-output-to-port (%make-void-port "w")
 | 
				
			||||||
 | 
					         (lambda ()
 | 
				
			||||||
 | 
					           (with-error-to-port (%make-void-port "w")
 | 
				
			||||||
 | 
					             (lambda ()
 | 
				
			||||||
 | 
					               (zero? (system* "showtrans" "--silent" node)))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     (let* ((args    (command-line))
 | 
				
			||||||
 | 
					            (system  (find-long-option "--system" args))
 | 
				
			||||||
 | 
					            (to-load (find-long-option "--load" args)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       (format #t "Creating essential servers...\n")
 | 
				
			||||||
 | 
					       (setenv "PATH" (string-append system "/profile/bin"
 | 
				
			||||||
 | 
					                                     ":" system "/profile/sbin"))
 | 
				
			||||||
 | 
					       (for-each (match-lambda
 | 
				
			||||||
 | 
					                   ((node command)
 | 
				
			||||||
 | 
					                    (unless (translated? node)
 | 
				
			||||||
 | 
					                      (mkdir-p (dirname node))
 | 
				
			||||||
 | 
					                      (apply invoke "settrans" "--create" node command))))
 | 
				
			||||||
 | 
					                 translators)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       (format #t "Creating essential device nodes...\n")
 | 
				
			||||||
 | 
					       (with-directory-excursion "/dev"
 | 
				
			||||||
 | 
					         (invoke "MAKEDEV" "--devdir=/dev" "std")
 | 
				
			||||||
 | 
					         (invoke "MAKEDEV" "--devdir=/dev" "vcs")
 | 
				
			||||||
 | 
					         (invoke "MAKEDEV" "--devdir=/dev" "tty1""tty2" "tty3" "tty4" "tty5" "tty6")
 | 
				
			||||||
 | 
					         (invoke "MAKEDEV" "--devdir=/dev" "ptyp0" "ptyp1" "ptyp2")
 | 
				
			||||||
 | 
					         (invoke "MAKEDEV" "--devdir=/dev" "console"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       (false-if-exception (delete-file "/hurd"))
 | 
				
			||||||
 | 
					       (let ((hurd/hurd (readlink* (string-append system "/profile/hurd"))))
 | 
				
			||||||
 | 
					         (symlink hurd/hurd "/hurd"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       (format #t "Starting pager...\n")
 | 
				
			||||||
 | 
					       (unless (zero? (system* "/hurd/mach-defpager"))
 | 
				
			||||||
 | 
					         (format #t "FAILED...Good luck!\n"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       (cond ((member "--repl" args)
 | 
				
			||||||
 | 
					              (format #t "Starting repl...\n")
 | 
				
			||||||
 | 
					              (start-repl))
 | 
				
			||||||
 | 
					             (to-load
 | 
				
			||||||
 | 
					              (format #t "loading '~a'...\n" to-load)
 | 
				
			||||||
 | 
					              (primitive-load to-load)
 | 
				
			||||||
 | 
					              (format (current-error-port)
 | 
				
			||||||
 | 
					                      "boot program '~a' terminated, rebooting~%"
 | 
				
			||||||
 | 
					                      to-load)
 | 
				
			||||||
 | 
					              (sleep 2)
 | 
				
			||||||
 | 
					              (reboot))
 | 
				
			||||||
 | 
					             (else
 | 
				
			||||||
 | 
					              (display "no boot file passed via '--load'\n")
 | 
				
			||||||
 | 
					              (display "entering a warm and cozy REPL\n")
 | 
				
			||||||
 | 
					              (start-repl)))))
 | 
				
			||||||
 | 
					   #:on-error on-error))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;;; hurd-boot.scm ends here
 | 
				
			||||||
| 
						 | 
					@ -47,9 +47,10 @@
 | 
				
			||||||
  "Take SEXP, a tuple as returned by 'partition->gexp', and turn it into a
 | 
					  "Take SEXP, a tuple as returned by 'partition->gexp', and turn it into a
 | 
				
			||||||
<partition> record."
 | 
					<partition> record."
 | 
				
			||||||
  (match sexp
 | 
					  (match sexp
 | 
				
			||||||
    ((size file-system label uuid)
 | 
					    ((size file-system file-system-options label uuid)
 | 
				
			||||||
     (partition (size size)
 | 
					     (partition (size size)
 | 
				
			||||||
                (file-system file-system)
 | 
					                (file-system file-system)
 | 
				
			||||||
 | 
					                (file-system-options file-system-options)
 | 
				
			||||||
                (label label)
 | 
					                (label label)
 | 
				
			||||||
                (uuid uuid)))))
 | 
					                (uuid uuid)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -63,25 +64,30 @@
 | 
				
			||||||
take the partition metadata size into account, take a 25% margin."
 | 
					take the partition metadata size into account, take a 25% margin."
 | 
				
			||||||
  (* 1.25 (file-size root)))
 | 
					  (* 1.25 (file-size root)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define* (make-ext4-image partition target root
 | 
					(define* (make-ext-image partition target root
 | 
				
			||||||
                         #:key
 | 
					                         #:key
 | 
				
			||||||
                         (owner-uid 0)
 | 
					                         (owner-uid 0)
 | 
				
			||||||
                         (owner-gid 0))
 | 
					                         (owner-gid 0))
 | 
				
			||||||
  "Handle the creation of EXT4 partition images. See 'make-partition-image'."
 | 
					  "Handle the creation of EXT2/3/4 partition images. See
 | 
				
			||||||
 | 
					'make-partition-image'."
 | 
				
			||||||
  (let ((size (partition-size partition))
 | 
					  (let ((size (partition-size partition))
 | 
				
			||||||
 | 
					        (fs (partition-file-system partition))
 | 
				
			||||||
 | 
					        (fs-options (partition-file-system-options partition))
 | 
				
			||||||
        (label (partition-label partition))
 | 
					        (label (partition-label partition))
 | 
				
			||||||
        (uuid (partition-uuid partition))
 | 
					        (uuid (partition-uuid partition))
 | 
				
			||||||
        (options "lazy_itable_init=1,lazy_journal_init=1"))
 | 
					        (journal-options "lazy_itable_init=1,lazy_journal_init=1"))
 | 
				
			||||||
    (invoke "mke2fs" "-t" "ext4" "-d" root
 | 
					    (apply invoke
 | 
				
			||||||
            "-L" label "-U" (uuid->string uuid)
 | 
					           `("mke2fs" "-t" ,fs "-d" ,root
 | 
				
			||||||
            "-E" (format #f "root_owner=~a:~a,~a"
 | 
					             "-L" ,label "-U" ,(uuid->string uuid)
 | 
				
			||||||
                         owner-uid owner-gid options)
 | 
					             "-E" ,(format #f "root_owner=~a:~a,~a"
 | 
				
			||||||
            target
 | 
					                           owner-uid owner-gid journal-options)
 | 
				
			||||||
            (format #f "~ak"
 | 
					             ,@fs-options
 | 
				
			||||||
 | 
					             ,target
 | 
				
			||||||
 | 
					             ,(format #f "~ak"
 | 
				
			||||||
                      (size-in-kib
 | 
					                      (size-in-kib
 | 
				
			||||||
                       (if (eq? size 'guess)
 | 
					                       (if (eq? size 'guess)
 | 
				
			||||||
                           (estimate-partition-size root)
 | 
					                           (estimate-partition-size root)
 | 
				
			||||||
                         size))))))
 | 
					                           size)))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define* (make-vfat-image partition target root)
 | 
					(define* (make-vfat-image partition target root)
 | 
				
			||||||
  "Handle the creation of VFAT partition images.  See 'make-partition-image'."
 | 
					  "Handle the creation of VFAT partition images.  See 'make-partition-image'."
 | 
				
			||||||
| 
						 | 
					@ -105,8 +111,8 @@ ROOT directory to populate the image."
 | 
				
			||||||
  (let* ((partition (sexp->partition partition-sexp))
 | 
					  (let* ((partition (sexp->partition partition-sexp))
 | 
				
			||||||
         (type (partition-file-system partition)))
 | 
					         (type (partition-file-system partition)))
 | 
				
			||||||
    (cond
 | 
					    (cond
 | 
				
			||||||
     ((string=? type "ext4")
 | 
					     ((string-prefix? "ext" type)
 | 
				
			||||||
      (make-ext4-image partition target root))
 | 
					      (make-ext-image partition target root))
 | 
				
			||||||
     ((string=? type "vfat")
 | 
					     ((string=? type "vfat")
 | 
				
			||||||
      (make-vfat-image partition target root))
 | 
					      (make-vfat-image partition target root))
 | 
				
			||||||
     (else
 | 
					     (else
 | 
				
			||||||
| 
						 | 
					@ -140,19 +146,22 @@ deduplicates files common to CLOSURE and the rest of PREFIX."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define* (initialize-efi-partition root
 | 
					(define* (initialize-efi-partition root
 | 
				
			||||||
                                   #:key
 | 
					                                   #:key
 | 
				
			||||||
                                   bootloader-package
 | 
					                                   grub-efi
 | 
				
			||||||
                                   #:allow-other-keys)
 | 
					                                   #:allow-other-keys)
 | 
				
			||||||
  "Install in ROOT directory, an EFI loader using BOOTLOADER-PACKAGE."
 | 
					  "Install in ROOT directory, an EFI loader using GRUB-EFI."
 | 
				
			||||||
  (install-efi-loader bootloader-package root))
 | 
					  (install-efi-loader grub-efi root))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define* (initialize-root-partition root
 | 
					(define* (initialize-root-partition root
 | 
				
			||||||
                                    #:key
 | 
					                                    #:key
 | 
				
			||||||
                                    bootcfg
 | 
					                                    bootcfg
 | 
				
			||||||
                                    bootcfg-location
 | 
					                                    bootcfg-location
 | 
				
			||||||
 | 
					                                    bootloader-package
 | 
				
			||||||
 | 
					                                    bootloader-installer
 | 
				
			||||||
                                    (deduplicate? #t)
 | 
					                                    (deduplicate? #t)
 | 
				
			||||||
                                    references-graphs
 | 
					                                    references-graphs
 | 
				
			||||||
                                    (register-closures? #t)
 | 
					                                    (register-closures? #t)
 | 
				
			||||||
                                    system-directory
 | 
					                                    system-directory
 | 
				
			||||||
 | 
					                                    make-device-nodes
 | 
				
			||||||
                                    #:allow-other-keys)
 | 
					                                    #:allow-other-keys)
 | 
				
			||||||
  "Initialize the given ROOT directory. Use BOOTCFG and BOOTCFG-LOCATION to
 | 
					  "Initialize the given ROOT directory. Use BOOTCFG and BOOTCFG-LOCATION to
 | 
				
			||||||
install the bootloader configuration.
 | 
					install the bootloader configuration.
 | 
				
			||||||
| 
						 | 
					@ -164,6 +173,10 @@ of the directory of the 'system' derivation."
 | 
				
			||||||
  (populate-root-file-system system-directory root)
 | 
					  (populate-root-file-system system-directory root)
 | 
				
			||||||
  (populate-store references-graphs root)
 | 
					  (populate-store references-graphs root)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ;; Populate /dev.
 | 
				
			||||||
 | 
					  (when make-device-nodes
 | 
				
			||||||
 | 
					    (make-device-nodes root))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (when register-closures?
 | 
					  (when register-closures?
 | 
				
			||||||
    (for-each (lambda (closure)
 | 
					    (for-each (lambda (closure)
 | 
				
			||||||
                (register-closure root
 | 
					                (register-closure root
 | 
				
			||||||
| 
						 | 
					@ -172,6 +185,9 @@ of the directory of the 'system' derivation."
 | 
				
			||||||
                                  #:deduplicate? deduplicate?))
 | 
					                                  #:deduplicate? deduplicate?))
 | 
				
			||||||
              references-graphs))
 | 
					              references-graphs))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (when bootloader-installer
 | 
				
			||||||
 | 
					    (display "installing bootloader...\n")
 | 
				
			||||||
 | 
					    (bootloader-installer bootloader-package #f root))
 | 
				
			||||||
  (when bootcfg
 | 
					  (when bootcfg
 | 
				
			||||||
    (install-boot-config bootcfg bootcfg-location root)))
 | 
					    (install-boot-config bootcfg bootcfg-location root)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -40,7 +40,6 @@
 | 
				
			||||||
            find-long-option
 | 
					            find-long-option
 | 
				
			||||||
            find-long-options
 | 
					            find-long-options
 | 
				
			||||||
            make-essential-device-nodes
 | 
					            make-essential-device-nodes
 | 
				
			||||||
            make-hurd-device-nodes
 | 
					 | 
				
			||||||
            make-static-device-nodes
 | 
					            make-static-device-nodes
 | 
				
			||||||
            configure-qemu-networking
 | 
					            configure-qemu-networking
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -324,36 +323,6 @@ one specific hardware device. These we have to create."
 | 
				
			||||||
  ;; File systems in user space (FUSE).
 | 
					  ;; File systems in user space (FUSE).
 | 
				
			||||||
  (mknod (scope "dev/fuse") 'char-special #o666 (device-number 10 229)))
 | 
					  (mknod (scope "dev/fuse") 'char-special #o666 (device-number 10 229)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define* (make-hurd-device-nodes #:optional (root "/"))
 | 
					 | 
				
			||||||
  "Make some of the nodes needed on GNU/Hurd."
 | 
					 | 
				
			||||||
  (define (scope dir)
 | 
					 | 
				
			||||||
    (string-append root
 | 
					 | 
				
			||||||
                   (if (string-suffix? "/" root)
 | 
					 | 
				
			||||||
                       ""
 | 
					 | 
				
			||||||
                       "/")
 | 
					 | 
				
			||||||
                   dir))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  (mkdir (scope "dev"))
 | 
					 | 
				
			||||||
  (for-each (lambda (file)
 | 
					 | 
				
			||||||
              (call-with-output-file (scope file)
 | 
					 | 
				
			||||||
                (lambda (port)
 | 
					 | 
				
			||||||
                  (chmod port #o666))))
 | 
					 | 
				
			||||||
            '("dev/null"
 | 
					 | 
				
			||||||
              "dev/zero"
 | 
					 | 
				
			||||||
              "dev/full"
 | 
					 | 
				
			||||||
              "dev/random"
 | 
					 | 
				
			||||||
              "dev/urandom"))
 | 
					 | 
				
			||||||
  ;; Don't create /dev/console, /dev/vcs, etc.: they are created by
 | 
					 | 
				
			||||||
  ;; console-run on first boot.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  (mkdir (scope "servers"))
 | 
					 | 
				
			||||||
  (mkdir (scope "servers/socket"))
 | 
					 | 
				
			||||||
  ;; Don't create /servers/socket/1 & co: runsystem does that on first boot.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  ;; TODO: Set the 'gnu.translator' extended attribute for passive translator
 | 
					 | 
				
			||||||
  ;; settings?
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define %host-qemu-ipv4-address
 | 
					(define %host-qemu-ipv4-address
 | 
				
			||||||
  (inet-pton AF_INET "10.0.2.10"))
 | 
					  (inet-pton AF_INET "10.0.2.10"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -498,25 +467,13 @@ upon error."
 | 
				
			||||||
  (define (root-mount-point? fs)
 | 
					  (define (root-mount-point? fs)
 | 
				
			||||||
    (string=? (file-system-mount-point fs) "/"))
 | 
					    (string=? (file-system-mount-point fs) "/"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (define root-fs-type
 | 
					  (define (device-string->file-system-device device-string)
 | 
				
			||||||
    (or (any (lambda (fs)
 | 
					    ;; The "--root=SPEC" kernel command-line option always provides a
 | 
				
			||||||
               (and (root-mount-point? fs)
 | 
					    ;; string, but the string can represent a device, a UUID, or a
 | 
				
			||||||
                    (file-system-type fs)))
 | 
					    ;; label.  So check for all three.
 | 
				
			||||||
             mounts)
 | 
					    (cond ((string-prefix? "/" device-string) device-string)
 | 
				
			||||||
        "ext4"))
 | 
					          ((uuid device-string) => identity)
 | 
				
			||||||
 | 
					          (else (file-system-label device-string))))
 | 
				
			||||||
  (define root-fs-flags
 | 
					 | 
				
			||||||
    (mount-flags->bit-mask (or (any (lambda (fs)
 | 
					 | 
				
			||||||
                                      (and (root-mount-point? fs)
 | 
					 | 
				
			||||||
                                           (file-system-flags fs)))
 | 
					 | 
				
			||||||
                                    mounts)
 | 
					 | 
				
			||||||
                               '())))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  (define root-fs-options
 | 
					 | 
				
			||||||
    (any (lambda (fs)
 | 
					 | 
				
			||||||
           (and (root-mount-point? fs)
 | 
					 | 
				
			||||||
                (file-system-options fs)))
 | 
					 | 
				
			||||||
         mounts))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (display "Welcome, this is GNU's early boot Guile.\n")
 | 
					  (display "Welcome, this is GNU's early boot Guile.\n")
 | 
				
			||||||
  (display "Use '--repl' for an initrd REPL.\n\n")
 | 
					  (display "Use '--repl' for an initrd REPL.\n\n")
 | 
				
			||||||
| 
						 | 
					@ -526,7 +483,21 @@ upon error."
 | 
				
			||||||
      (mount-essential-file-systems)
 | 
					      (mount-essential-file-systems)
 | 
				
			||||||
      (let* ((args    (linux-command-line))
 | 
					      (let* ((args    (linux-command-line))
 | 
				
			||||||
             (to-load (find-long-option "--load" args))
 | 
					             (to-load (find-long-option "--load" args))
 | 
				
			||||||
             (root    (find-long-option "--root" args)))
 | 
					             (root-fs (find root-mount-point? mounts))
 | 
				
			||||||
 | 
					             (root-fs-type (or (and=> root-fs file-system-type)
 | 
				
			||||||
 | 
					                               "ext4"))
 | 
				
			||||||
 | 
					             (root-fs-device (and=> root-fs file-system-device))
 | 
				
			||||||
 | 
					             (root-fs-flags (mount-flags->bit-mask
 | 
				
			||||||
 | 
					                             (or (and=> root-fs file-system-flags)
 | 
				
			||||||
 | 
					                                 '())))
 | 
				
			||||||
 | 
					             (root-options (if root-fs
 | 
				
			||||||
 | 
					                               (file-system-options root-fs)
 | 
				
			||||||
 | 
					                               #f))
 | 
				
			||||||
 | 
					             ;; --root takes precedence over the 'device' field of the root
 | 
				
			||||||
 | 
					             ;; <file-system> record.
 | 
				
			||||||
 | 
					             (root-device (or (and=> (find-long-option "--root" args)
 | 
				
			||||||
 | 
					                                     device-string->file-system-device)
 | 
				
			||||||
 | 
					                              root-fs-device)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        (when (member "--repl" args)
 | 
					        (when (member "--repl" args)
 | 
				
			||||||
          (start-repl))
 | 
					          (start-repl))
 | 
				
			||||||
| 
						 | 
					@ -561,21 +532,12 @@ upon error."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        (setenv "EXT2FS_NO_MTAB_OK" "1")
 | 
					        (setenv "EXT2FS_NO_MTAB_OK" "1")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        (if root
 | 
					        (if root-device
 | 
				
			||||||
            ;; The "--root=SPEC" kernel command-line option always provides a
 | 
					            (mount-root-file-system (canonicalize-device-spec root-device)
 | 
				
			||||||
            ;; string, but the string can represent a device, a UUID, or a
 | 
					 | 
				
			||||||
            ;; label.  So check for all three.
 | 
					 | 
				
			||||||
            (let ((device-spec (cond ((string-prefix? "/" root) root)
 | 
					 | 
				
			||||||
                                     ((uuid root) => identity)
 | 
					 | 
				
			||||||
                                     ((string-contains root ":/") #f) ; nfs
 | 
					 | 
				
			||||||
                                     (else (file-system-label root)))))
 | 
					 | 
				
			||||||
              (mount-root-file-system (if device-spec
 | 
					 | 
				
			||||||
                                          (canonicalize-device-spec device-spec)
 | 
					 | 
				
			||||||
                                          root)
 | 
					 | 
				
			||||||
                                    root-fs-type
 | 
					                                    root-fs-type
 | 
				
			||||||
                                    #:volatile-root? volatile-root?
 | 
					                                    #:volatile-root? volatile-root?
 | 
				
			||||||
                                    #:flags root-fs-flags
 | 
					                                    #:flags root-fs-flags
 | 
				
			||||||
                                      #:options root-fs-options))
 | 
					                                    #:options root-options)
 | 
				
			||||||
            (mount "none" "/root" "tmpfs"))
 | 
					            (mount "none" "/root" "tmpfs"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ;; Mount the specified file systems.
 | 
					        ;; Mount the specified file systems.
 | 
				
			||||||
| 
						 | 
					@ -602,4 +564,4 @@ upon error."
 | 
				
			||||||
              (start-repl)))))
 | 
					              (start-repl)))))
 | 
				
			||||||
    #:on-error on-error))
 | 
					    #:on-error on-error))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;; linux-initrd.scm ends here
 | 
					;;; linux-boot.scm ends here
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -21,6 +21,7 @@
 | 
				
			||||||
  #:use-module (gnu build linux-container)
 | 
					  #:use-module (gnu build linux-container)
 | 
				
			||||||
  #:use-module (guix build utils)
 | 
					  #:use-module (guix build utils)
 | 
				
			||||||
  #:use-module (srfi srfi-1)
 | 
					  #:use-module (srfi srfi-1)
 | 
				
			||||||
 | 
					  #:use-module (srfi srfi-26)
 | 
				
			||||||
  #:use-module (ice-9 match)
 | 
					  #:use-module (ice-9 match)
 | 
				
			||||||
  #:export (make-forkexec-constructor/container))
 | 
					  #:export (make-forkexec-constructor/container))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -91,7 +92,10 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;; XXX: Lazy-bind the Shepherd to avoid a compile-time dependency.
 | 
					;; XXX: Lazy-bind the Shepherd to avoid a compile-time dependency.
 | 
				
			||||||
(module-autoload! (current-module)
 | 
					(module-autoload! (current-module)
 | 
				
			||||||
                  '(shepherd service) '(read-pid-file exec-command))
 | 
					                  '(shepherd service)
 | 
				
			||||||
 | 
					                  '(read-pid-file exec-command %precious-signals))
 | 
				
			||||||
 | 
					(module-autoload! (current-module)
 | 
				
			||||||
 | 
					                  '(shepherd system) '(unblock-signals))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define* (read-pid-file/container pid pid-file #:key (max-delay 5))
 | 
					(define* (read-pid-file/container pid pid-file #:key (max-delay 5))
 | 
				
			||||||
  "Read PID-FILE in the container namespaces of PID, which exists in a
 | 
					  "Read PID-FILE in the container namespaces of PID, which exists in a
 | 
				
			||||||
| 
						 | 
					@ -101,7 +105,8 @@ separate mount and PID name space.  Return the \"outer\" PID. "
 | 
				
			||||||
             (read-pid-file pid-file
 | 
					             (read-pid-file pid-file
 | 
				
			||||||
                            #:max-delay max-delay)))
 | 
					                            #:max-delay max-delay)))
 | 
				
			||||||
    (#f
 | 
					    (#f
 | 
				
			||||||
     (catch-system-error (kill pid SIGTERM))
 | 
					     ;; Send SIGTERM to the whole process group.
 | 
				
			||||||
 | 
					     (catch-system-error (kill (- pid) SIGTERM))
 | 
				
			||||||
     #f)
 | 
					     #f)
 | 
				
			||||||
    ((? integer? container-pid)
 | 
					    ((? integer? container-pid)
 | 
				
			||||||
     ;; XXX: When COMMAND is started in a separate PID namespace, its
 | 
					     ;; XXX: When COMMAND is started in a separate PID namespace, its
 | 
				
			||||||
| 
						 | 
					@ -158,6 +163,14 @@ namespace, in addition to essential bind-mounts such /proc."
 | 
				
			||||||
    (let ((pid (run-container container-directory
 | 
					    (let ((pid (run-container container-directory
 | 
				
			||||||
                              mounts namespaces 1
 | 
					                              mounts namespaces 1
 | 
				
			||||||
                              (lambda ()
 | 
					                              (lambda ()
 | 
				
			||||||
 | 
					                                ;; First restore the default handlers.
 | 
				
			||||||
 | 
					                                (for-each (cut sigaction <> SIG_DFL)
 | 
				
			||||||
 | 
					                                          %precious-signals)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                ;; Unblock any signals that have been blocked
 | 
				
			||||||
 | 
					                                ;; by the parent process.
 | 
				
			||||||
 | 
					                                (unblock-signals %precious-signals)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                (mkdir-p "/var/run")
 | 
					                                (mkdir-p "/var/run")
 | 
				
			||||||
                                (clean-up pid-file)
 | 
					                                (clean-up pid-file)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -84,8 +84,6 @@
 | 
				
			||||||
                           linux initrd
 | 
					                           linux initrd
 | 
				
			||||||
                           make-disk-image?
 | 
					                           make-disk-image?
 | 
				
			||||||
                           single-file-output?
 | 
					                           single-file-output?
 | 
				
			||||||
                           target-arm32?
 | 
					 | 
				
			||||||
                           target-aarch64?
 | 
					 | 
				
			||||||
                           (disk-image-size (* 100 (expt 2 20)))
 | 
					                           (disk-image-size (* 100 (expt 2 20)))
 | 
				
			||||||
                           (disk-image-format "qcow2")
 | 
					                           (disk-image-format "qcow2")
 | 
				
			||||||
                           (references-graphs '()))
 | 
					                           (references-graphs '()))
 | 
				
			||||||
| 
						 | 
					@ -101,7 +99,14 @@ access it via /dev/hda.
 | 
				
			||||||
REFERENCES-GRAPHS can specify a list of reference-graph files as produced by
 | 
					REFERENCES-GRAPHS can specify a list of reference-graph files as produced by
 | 
				
			||||||
the #:references-graphs parameter of 'derivation'."
 | 
					the #:references-graphs parameter of 'derivation'."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (define target-arm? (or target-arm32? target-aarch64?))
 | 
					  (define target-arm32?
 | 
				
			||||||
 | 
					    (string-prefix? "arm-" %host-type))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (define target-aarch64?
 | 
				
			||||||
 | 
					    (string-prefix? "aarch64-" %host-type))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  (define target-arm?
 | 
				
			||||||
 | 
					    (or target-arm32? target-aarch64?))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (define arch-specific-flags
 | 
					  (define arch-specific-flags
 | 
				
			||||||
    `(;; On ARM, a machine has to be specified. Use "virt" machine to avoid
 | 
					    `(;; On ARM, a machine has to be specified. Use "virt" machine to avoid
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -219,19 +219,21 @@ system.")
 | 
				
			||||||
                   (run-with-store store
 | 
					                   (run-with-store store
 | 
				
			||||||
                     (mbegin %store-monad
 | 
					                     (mbegin %store-monad
 | 
				
			||||||
                       (set-guile-for-build (default-guile))
 | 
					                       (set-guile-for-build (default-guile))
 | 
				
			||||||
 | 
					                       (lower-object
 | 
				
			||||||
                        (system-image
 | 
					                        (system-image
 | 
				
			||||||
                         (image
 | 
					                         (image
 | 
				
			||||||
                          (inherit efi-disk-image)
 | 
					                          (inherit efi-disk-image)
 | 
				
			||||||
                          (size (* 1500 MiB))
 | 
					                          (size (* 1500 MiB))
 | 
				
			||||||
                         (operating-system installation-os))))))
 | 
					                          (operating-system installation-os)))))))
 | 
				
			||||||
            (->job 'iso9660-image
 | 
					            (->job 'iso9660-image
 | 
				
			||||||
                   (run-with-store store
 | 
					                   (run-with-store store
 | 
				
			||||||
                     (mbegin %store-monad
 | 
					                     (mbegin %store-monad
 | 
				
			||||||
                       (set-guile-for-build (default-guile))
 | 
					                       (set-guile-for-build (default-guile))
 | 
				
			||||||
 | 
					                       (lower-object
 | 
				
			||||||
                        (system-image
 | 
					                        (system-image
 | 
				
			||||||
                         (image
 | 
					                         (image
 | 
				
			||||||
                          (inherit iso9660-image)
 | 
					                          (inherit iso9660-image)
 | 
				
			||||||
                         (operating-system installation-os)))))))
 | 
					                          (operating-system installation-os))))))))
 | 
				
			||||||
      '()))
 | 
					      '()))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define channel-build-system
 | 
					(define channel-build-system
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,7 +22,9 @@
 | 
				
			||||||
            partition?
 | 
					            partition?
 | 
				
			||||||
            partition-device
 | 
					            partition-device
 | 
				
			||||||
            partition-size
 | 
					            partition-size
 | 
				
			||||||
 | 
					            partition-offset
 | 
				
			||||||
            partition-file-system
 | 
					            partition-file-system
 | 
				
			||||||
 | 
					            partition-file-system-options
 | 
				
			||||||
            partition-label
 | 
					            partition-label
 | 
				
			||||||
            partition-uuid
 | 
					            partition-uuid
 | 
				
			||||||
            partition-flags
 | 
					            partition-flags
 | 
				
			||||||
| 
						 | 
					@ -31,6 +33,7 @@
 | 
				
			||||||
            image
 | 
					            image
 | 
				
			||||||
            image-name
 | 
					            image-name
 | 
				
			||||||
            image-format
 | 
					            image-format
 | 
				
			||||||
 | 
					            image-target
 | 
				
			||||||
            image-size
 | 
					            image-size
 | 
				
			||||||
            image-operating-system
 | 
					            image-operating-system
 | 
				
			||||||
            image-partitions
 | 
					            image-partitions
 | 
				
			||||||
| 
						 | 
					@ -47,7 +50,10 @@
 | 
				
			||||||
  partition?
 | 
					  partition?
 | 
				
			||||||
  (device               partition-device (default #f))
 | 
					  (device               partition-device (default #f))
 | 
				
			||||||
  (size                 partition-size)
 | 
					  (size                 partition-size)
 | 
				
			||||||
 | 
					  (offset               partition-offset (default 0))
 | 
				
			||||||
  (file-system          partition-file-system (default "ext4"))
 | 
					  (file-system          partition-file-system (default "ext4"))
 | 
				
			||||||
 | 
					  (file-system-options  partition-file-system-options
 | 
				
			||||||
 | 
					                        (default '()))
 | 
				
			||||||
  (label                partition-label (default #f))
 | 
					  (label                partition-label (default #f))
 | 
				
			||||||
  (uuid                 partition-uuid (default #f))
 | 
					  (uuid                 partition-uuid (default #f))
 | 
				
			||||||
  (flags                partition-flags (default '()))
 | 
					  (flags                partition-flags (default '()))
 | 
				
			||||||
| 
						 | 
					@ -62,6 +68,8 @@
 | 
				
			||||||
  image make-image
 | 
					  image make-image
 | 
				
			||||||
  image?
 | 
					  image?
 | 
				
			||||||
  (format             image-format) ;symbol
 | 
					  (format             image-format) ;symbol
 | 
				
			||||||
 | 
					  (target             image-target
 | 
				
			||||||
 | 
					                      (default #f))
 | 
				
			||||||
  (size               image-size  ;size in bytes as integer
 | 
					  (size               image-size  ;size in bytes as integer
 | 
				
			||||||
                      (default 'guess))
 | 
					                      (default 'guess))
 | 
				
			||||||
  (operating-system   image-operating-system  ;<operating-system>
 | 
					  (operating-system   image-operating-system  ;<operating-system>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -127,8 +127,8 @@ USERS."
 | 
				
			||||||
                   (lambda (port)
 | 
					                   (lambda (port)
 | 
				
			||||||
                     (match (string-tokenize (read-string port) %not-nul)
 | 
					                     (match (string-tokenize (read-string port) %not-nul)
 | 
				
			||||||
                       ((argv0 _ ...)
 | 
					                       ((argv0 _ ...)
 | 
				
			||||||
                        (unless (member (pk (basename argv0)) spare)
 | 
					                        (unless (member (basename argv0) spare)
 | 
				
			||||||
                          (syslog "Killing process ~a~%" pid)
 | 
					                          (syslog "Killing process ~a (~a)~%" pid argv0)
 | 
				
			||||||
                          (kill pid SIGKILL)))
 | 
					                          (kill pid SIGKILL)))
 | 
				
			||||||
                       (_ #f))))))
 | 
					                       (_ #f))))))
 | 
				
			||||||
              pids)))
 | 
					              pids)))
 | 
				
			||||||
| 
						 | 
					@ -146,6 +146,8 @@ be much appreciated."
 | 
				
			||||||
  (catch #t
 | 
					  (catch #t
 | 
				
			||||||
    (lambda ()
 | 
					    (lambda ()
 | 
				
			||||||
      (let ((tmp-dir "/remove"))
 | 
					      (let ((tmp-dir "/remove"))
 | 
				
			||||||
 | 
					        (syslog "Unmounting cow-store.~%")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        (mkdir-p tmp-dir)
 | 
					        (mkdir-p tmp-dir)
 | 
				
			||||||
        (mount (%store-directory) tmp-dir "" MS_MOVE)
 | 
					        (mount (%store-directory) tmp-dir "" MS_MOVE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -153,6 +155,8 @@ be much appreciated."
 | 
				
			||||||
        ;; restart it.
 | 
					        ;; restart it.
 | 
				
			||||||
        (restart-service 'guix-daemon)
 | 
					        (restart-service 'guix-daemon)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        (syslog "Killing cow users.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ;; Kill all processes started while the cow-store was active (logins
 | 
					        ;; Kill all processes started while the cow-store was active (logins
 | 
				
			||||||
        ;; on other TTYs for instance).
 | 
					        ;; on other TTYs for instance).
 | 
				
			||||||
        (kill-cow-users tmp-dir)
 | 
					        (kill-cow-users tmp-dir)
 | 
				
			||||||
| 
						 | 
					@ -160,6 +164,7 @@ be much appreciated."
 | 
				
			||||||
        ;; Try to umount the store overlay. Some process such as udevd
 | 
					        ;; Try to umount the store overlay. Some process such as udevd
 | 
				
			||||||
        ;; workers might still be active, so do some retries.
 | 
					        ;; workers might still be active, so do some retries.
 | 
				
			||||||
        (let loop ((try 5))
 | 
					        (let loop ((try 5))
 | 
				
			||||||
 | 
					          (syslog "Umount try ~a~%" (- 5 try))
 | 
				
			||||||
          (sleep 1)
 | 
					          (sleep 1)
 | 
				
			||||||
          (let ((umounted? (false-if-exception (umount tmp-dir))))
 | 
					          (let ((umounted? (false-if-exception (umount tmp-dir))))
 | 
				
			||||||
            (if (and (not umounted?) (> try 0))
 | 
					            (if (and (not umounted?) (> try 0))
 | 
				
			||||||
| 
						 | 
					@ -203,7 +208,18 @@ or #f.  Return #t on success and #f on failure."
 | 
				
			||||||
      (lambda ()
 | 
					      (lambda ()
 | 
				
			||||||
        (start-service 'cow-store (list (%installer-target-dir))))
 | 
					        (start-service 'cow-store (list (%installer-target-dir))))
 | 
				
			||||||
      (lambda ()
 | 
					      (lambda ()
 | 
				
			||||||
        (run-command install-command #:locale locale))
 | 
					        ;; If there are any connected clients, assume that we are running
 | 
				
			||||||
 | 
					        ;; installation tests. In that case, dump the standard and error
 | 
				
			||||||
 | 
					        ;; outputs to syslog.
 | 
				
			||||||
 | 
					        (if (not (null? (current-clients)))
 | 
				
			||||||
 | 
					            (with-output-to-file "/dev/console"
 | 
				
			||||||
 | 
					              (lambda ()
 | 
				
			||||||
 | 
					                (with-error-to-file "/dev/console"
 | 
				
			||||||
 | 
					                  (lambda ()
 | 
				
			||||||
 | 
					                    (setvbuf (current-output-port) 'none)
 | 
				
			||||||
 | 
					                    (setvbuf (current-error-port) 'none)
 | 
				
			||||||
 | 
					                    (run-command install-command #:locale locale)))))
 | 
				
			||||||
 | 
					            (run-command install-command #:locale locale)))
 | 
				
			||||||
      (lambda ()
 | 
					      (lambda ()
 | 
				
			||||||
        (stop-service 'cow-store)
 | 
					        (stop-service 'cow-store)
 | 
				
			||||||
        ;; Remove the store overlay created at cow-store service start.
 | 
					        ;; Remove the store overlay created at cow-store service start.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										58
									
								
								gnu/local.mk
									
										
									
									
									
								
							
							
						
						
									
										58
									
								
								gnu/local.mk
									
										
									
									
									
								
							| 
						 | 
					@ -19,7 +19,7 @@
 | 
				
			||||||
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
 | 
					# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
 | 
				
			||||||
# Copyright © 2018, 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com>
 | 
					# Copyright © 2018, 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com>
 | 
				
			||||||
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
 | 
					# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
 | 
				
			||||||
# Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
					# Copyright © 2018, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
				
			||||||
# Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
 | 
					# Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
 | 
				
			||||||
# Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
 | 
					# Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
 | 
				
			||||||
# Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 | 
					# Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 | 
				
			||||||
| 
						 | 
					@ -157,6 +157,7 @@ GNU_SYSTEM_MODULES =				\
 | 
				
			||||||
  %D%/packages/debian.scm			\
 | 
					  %D%/packages/debian.scm			\
 | 
				
			||||||
  %D%/packages/debug.scm			\
 | 
					  %D%/packages/debug.scm			\
 | 
				
			||||||
  %D%/packages/dejagnu.scm			\
 | 
					  %D%/packages/dejagnu.scm			\
 | 
				
			||||||
 | 
					  %D%/packages/dhall.scm			\
 | 
				
			||||||
  %D%/packages/dico.scm				\
 | 
					  %D%/packages/dico.scm				\
 | 
				
			||||||
  %D%/packages/dictionaries.scm			\
 | 
					  %D%/packages/dictionaries.scm			\
 | 
				
			||||||
  %D%/packages/diffoscope.scm			\
 | 
					  %D%/packages/diffoscope.scm			\
 | 
				
			||||||
| 
						 | 
					@ -394,6 +395,7 @@ GNU_SYSTEM_MODULES =				\
 | 
				
			||||||
  %D%/packages/nvi.scm				\
 | 
					  %D%/packages/nvi.scm				\
 | 
				
			||||||
  %D%/packages/ocaml.scm			\
 | 
					  %D%/packages/ocaml.scm			\
 | 
				
			||||||
  %D%/packages/ocr.scm				\
 | 
					  %D%/packages/ocr.scm				\
 | 
				
			||||||
 | 
					  %D%/packages/openkinect.scm			\
 | 
				
			||||||
  %D%/packages/onc-rpc.scm			\
 | 
					  %D%/packages/onc-rpc.scm			\
 | 
				
			||||||
  %D%/packages/opencl.scm			\
 | 
					  %D%/packages/opencl.scm			\
 | 
				
			||||||
  %D%/packages/openbox.scm			\
 | 
					  %D%/packages/openbox.scm			\
 | 
				
			||||||
| 
						 | 
					@ -403,6 +405,7 @@ GNU_SYSTEM_MODULES =				\
 | 
				
			||||||
  %D%/packages/orpheus.scm			\
 | 
					  %D%/packages/orpheus.scm			\
 | 
				
			||||||
  %D%/packages/ots.scm				\
 | 
					  %D%/packages/ots.scm				\
 | 
				
			||||||
  %D%/packages/package-management.scm		\
 | 
					  %D%/packages/package-management.scm		\
 | 
				
			||||||
 | 
					  %D%/packages/pantheon.scm			\
 | 
				
			||||||
  %D%/packages/parallel.scm			\
 | 
					  %D%/packages/parallel.scm			\
 | 
				
			||||||
  %D%/packages/password-utils.scm		\
 | 
					  %D%/packages/password-utils.scm		\
 | 
				
			||||||
  %D%/packages/patchutils.scm			\
 | 
					  %D%/packages/patchutils.scm			\
 | 
				
			||||||
| 
						 | 
					@ -410,6 +413,7 @@ GNU_SYSTEM_MODULES =				\
 | 
				
			||||||
  %D%/packages/pcre.scm				\
 | 
					  %D%/packages/pcre.scm				\
 | 
				
			||||||
  %D%/packages/pdf.scm				\
 | 
					  %D%/packages/pdf.scm				\
 | 
				
			||||||
  %D%/packages/pem.scm				\
 | 
					  %D%/packages/pem.scm				\
 | 
				
			||||||
 | 
					  %D%/packages/pep.scm				\
 | 
				
			||||||
  %D%/packages/perl.scm				\
 | 
					  %D%/packages/perl.scm				\
 | 
				
			||||||
  %D%/packages/perl-check.scm			\
 | 
					  %D%/packages/perl-check.scm			\
 | 
				
			||||||
  %D%/packages/perl-compression.scm		\
 | 
					  %D%/packages/perl-compression.scm		\
 | 
				
			||||||
| 
						 | 
					@ -579,6 +583,7 @@ GNU_SYSTEM_MODULES =				\
 | 
				
			||||||
  %D%/services/games.scm			\
 | 
					  %D%/services/games.scm			\
 | 
				
			||||||
  %D%/services/getmail.scm				\
 | 
					  %D%/services/getmail.scm				\
 | 
				
			||||||
  %D%/services/guix.scm			\
 | 
					  %D%/services/guix.scm			\
 | 
				
			||||||
 | 
					  %D%/services/hurd.scm				\
 | 
				
			||||||
  %D%/services/kerberos.scm			\
 | 
					  %D%/services/kerberos.scm			\
 | 
				
			||||||
  %D%/services/linux.scm			\
 | 
					  %D%/services/linux.scm			\
 | 
				
			||||||
  %D%/services/lirc.scm				\
 | 
					  %D%/services/lirc.scm				\
 | 
				
			||||||
| 
						 | 
					@ -634,6 +639,7 @@ GNU_SYSTEM_MODULES =				\
 | 
				
			||||||
  %D%/build/cross-toolchain.scm			\
 | 
					  %D%/build/cross-toolchain.scm			\
 | 
				
			||||||
  %D%/build/image.scm				\
 | 
					  %D%/build/image.scm				\
 | 
				
			||||||
  %D%/build/file-systems.scm			\
 | 
					  %D%/build/file-systems.scm			\
 | 
				
			||||||
 | 
					  %D%/build/hurd-boot.scm			\
 | 
				
			||||||
  %D%/build/install.scm				\
 | 
					  %D%/build/install.scm				\
 | 
				
			||||||
  %D%/build/linux-boot.scm			\
 | 
					  %D%/build/linux-boot.scm			\
 | 
				
			||||||
  %D%/build/linux-container.scm			\
 | 
					  %D%/build/linux-container.scm			\
 | 
				
			||||||
| 
						 | 
					@ -745,6 +751,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/akonadi-not-relocatable.patch		\
 | 
					  %D%/packages/patches/akonadi-not-relocatable.patch		\
 | 
				
			||||||
  %D%/packages/patches/akonadi-timestamps.patch		\
 | 
					  %D%/packages/patches/akonadi-timestamps.patch		\
 | 
				
			||||||
  %D%/packages/patches/allegro-mesa-18.2.5-and-later.patch	\
 | 
					  %D%/packages/patches/allegro-mesa-18.2.5-and-later.patch	\
 | 
				
			||||||
 | 
					  %D%/packages/patches/alsa-modular-synth-fix-vocoder.patch	\
 | 
				
			||||||
  %D%/packages/patches/amule-crypto-6.patch			\
 | 
					  %D%/packages/patches/amule-crypto-6.patch			\
 | 
				
			||||||
  %D%/packages/patches/anki-mpv-args.patch			\
 | 
					  %D%/packages/patches/anki-mpv-args.patch			\
 | 
				
			||||||
  %D%/packages/patches/antiword-CVE-2014-8123.patch			\
 | 
					  %D%/packages/patches/antiword-CVE-2014-8123.patch			\
 | 
				
			||||||
| 
						 | 
					@ -798,11 +805,9 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/bitcoin-core-python-compat.patch		\
 | 
					  %D%/packages/patches/bitcoin-core-python-compat.patch		\
 | 
				
			||||||
  %D%/packages/patches/blender-2.79-newer-ffmpeg.patch		\
 | 
					  %D%/packages/patches/blender-2.79-newer-ffmpeg.patch		\
 | 
				
			||||||
  %D%/packages/patches/blender-2.79-python-3.7-fix.patch	\
 | 
					  %D%/packages/patches/blender-2.79-python-3.7-fix.patch	\
 | 
				
			||||||
  %D%/packages/patches/bluez-CVE-2020-0556.patch		\
 | 
					  %D%/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch \
 | 
				
			||||||
  %D%/packages/patches/byobu-writable-status.patch		\
 | 
					  %D%/packages/patches/byobu-writable-status.patch		\
 | 
				
			||||||
  %D%/packages/patches/calibre-msgpack-compat.patch		\
 | 
					 | 
				
			||||||
  %D%/packages/patches/calibre-no-updates-dialog.patch		\
 | 
					  %D%/packages/patches/calibre-no-updates-dialog.patch		\
 | 
				
			||||||
  %D%/packages/patches/calibre-remove-test-bs4.patch		\
 | 
					 | 
				
			||||||
  %D%/packages/patches/calibre-remove-test-sqlite.patch		\
 | 
					  %D%/packages/patches/calibre-remove-test-sqlite.patch		\
 | 
				
			||||||
  %D%/packages/patches/calibre-remove-test-unrar.patch		\
 | 
					  %D%/packages/patches/calibre-remove-test-unrar.patch		\
 | 
				
			||||||
  %D%/packages/patches/casync-renameat2-declaration.patch	\
 | 
					  %D%/packages/patches/casync-renameat2-declaration.patch	\
 | 
				
			||||||
| 
						 | 
					@ -849,16 +854,15 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/cvs-CVE-2017-12836.patch		\
 | 
					  %D%/packages/patches/cvs-CVE-2017-12836.patch		\
 | 
				
			||||||
  %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch		\
 | 
					  %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch		\
 | 
				
			||||||
  %D%/packages/patches/date-output-pkg-config-files.patch	\
 | 
					  %D%/packages/patches/date-output-pkg-config-files.patch	\
 | 
				
			||||||
  %D%/packages/patches/darkice-workaround-fpermissive-error.patch	\
 | 
					 | 
				
			||||||
  %D%/packages/patches/datefudge-gettimeofday.patch		\
 | 
					  %D%/packages/patches/datefudge-gettimeofday.patch		\
 | 
				
			||||||
  %D%/packages/patches/dbacl-include-locale.h.patch		\
 | 
					  %D%/packages/patches/dbacl-include-locale.h.patch		\
 | 
				
			||||||
  %D%/packages/patches/dbus-helper-search-path.patch		\
 | 
					  %D%/packages/patches/dbus-helper-search-path.patch		\
 | 
				
			||||||
 | 
					  %D%/packages/patches/dbus-CVE-2020-12049.patch		\
 | 
				
			||||||
  %D%/packages/patches/dbus-c++-gcc-compat.patch		\
 | 
					  %D%/packages/patches/dbus-c++-gcc-compat.patch		\
 | 
				
			||||||
  %D%/packages/patches/dbus-c++-threading-mutex.patch		\
 | 
					  %D%/packages/patches/dbus-c++-threading-mutex.patch		\
 | 
				
			||||||
  %D%/packages/patches/dconf-meson-0.52.patch			\
 | 
					  %D%/packages/patches/dconf-meson-0.52.patch			\
 | 
				
			||||||
  %D%/packages/patches/debops-constants-for-external-program-names.patch \
 | 
					  %D%/packages/patches/debops-constants-for-external-program-names.patch \
 | 
				
			||||||
  %D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \
 | 
					  %D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \
 | 
				
			||||||
  %D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch	\
 | 
					 | 
				
			||||||
  %D%/packages/patches/desmume-gcc6-fixes.patch			\
 | 
					  %D%/packages/patches/desmume-gcc6-fixes.patch			\
 | 
				
			||||||
  %D%/packages/patches/desmume-gcc7-fixes.patch			\
 | 
					  %D%/packages/patches/desmume-gcc7-fixes.patch			\
 | 
				
			||||||
  %D%/packages/patches/dfu-programmer-fix-libusb.patch		\
 | 
					  %D%/packages/patches/dfu-programmer-fix-libusb.patch		\
 | 
				
			||||||
| 
						 | 
					@ -886,13 +890,12 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/emacs-fix-scheme-indent-function.patch	\
 | 
					  %D%/packages/patches/emacs-fix-scheme-indent-function.patch	\
 | 
				
			||||||
  %D%/packages/patches/emacs-json-reformat-fix-tests.patch	\
 | 
					  %D%/packages/patches/emacs-json-reformat-fix-tests.patch	\
 | 
				
			||||||
  %D%/packages/patches/emacs-highlight-stages-add-gexp.patch	\
 | 
					  %D%/packages/patches/emacs-highlight-stages-add-gexp.patch	\
 | 
				
			||||||
  %D%/packages/patches/emacs-magit-log-format-author-margin.patch	\
 | 
					  %D%/packages/patches/emacs-libgit-use-system-libgit2.patch    \
 | 
				
			||||||
  %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch	\
 | 
					  %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch	\
 | 
				
			||||||
  %D%/packages/patches/emacs-source-date-epoch.patch		\
 | 
					  %D%/packages/patches/emacs-source-date-epoch.patch		\
 | 
				
			||||||
  %D%/packages/patches/emacs-telega-test-env.patch		\
 | 
					  %D%/packages/patches/emacs-telega-test-env.patch		\
 | 
				
			||||||
  %D%/packages/patches/emacs-undohist-ignored.patch	\
 | 
					  %D%/packages/patches/emacs-undohist-ignored.patch	\
 | 
				
			||||||
  %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch	\
 | 
					  %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch	\
 | 
				
			||||||
  %D%/packages/patches/emacs-zones-called-interactively.patch	\
 | 
					 | 
				
			||||||
  %D%/packages/patches/enjarify-setup-py.patch			\
 | 
					  %D%/packages/patches/enjarify-setup-py.patch			\
 | 
				
			||||||
  %D%/packages/patches/enlightenment-fix-setuid-path.patch	\
 | 
					  %D%/packages/patches/enlightenment-fix-setuid-path.patch	\
 | 
				
			||||||
  %D%/packages/patches/erlang-man-path.patch			\
 | 
					  %D%/packages/patches/erlang-man-path.patch			\
 | 
				
			||||||
| 
						 | 
					@ -900,6 +903,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/evilwm-lost-focus-bug.patch		\
 | 
					  %D%/packages/patches/evilwm-lost-focus-bug.patch		\
 | 
				
			||||||
  %D%/packages/patches/evolution-data-server-locales.patch	\
 | 
					  %D%/packages/patches/evolution-data-server-locales.patch	\
 | 
				
			||||||
  %D%/packages/patches/evolution-data-server-libical-compat.patch	\
 | 
					  %D%/packages/patches/evolution-data-server-libical-compat.patch	\
 | 
				
			||||||
 | 
					  %D%/packages/patches/exercism-disable-self-update.patch	\
 | 
				
			||||||
  %D%/packages/patches/exiv2-CVE-2017-14860.patch		\
 | 
					  %D%/packages/patches/exiv2-CVE-2017-14860.patch		\
 | 
				
			||||||
  %D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch	\
 | 
					  %D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch	\
 | 
				
			||||||
  %D%/packages/patches/extempore-unbundle-external-dependencies.patch	\
 | 
					  %D%/packages/patches/extempore-unbundle-external-dependencies.patch	\
 | 
				
			||||||
| 
						 | 
					@ -977,7 +981,6 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/ghostscript-no-header-id.patch		\
 | 
					  %D%/packages/patches/ghostscript-no-header-id.patch		\
 | 
				
			||||||
  %D%/packages/patches/ghostscript-no-header-uuid.patch		\
 | 
					  %D%/packages/patches/ghostscript-no-header-uuid.patch		\
 | 
				
			||||||
  %D%/packages/patches/ghostscript-no-header-creationdate.patch \
 | 
					  %D%/packages/patches/ghostscript-no-header-creationdate.patch \
 | 
				
			||||||
  %D%/packages/patches/git-annex-S3v4.patch			\
 | 
					 | 
				
			||||||
  %D%/packages/patches/glib-tests-timer.patch			\
 | 
					  %D%/packages/patches/glib-tests-timer.patch			\
 | 
				
			||||||
  %D%/packages/patches/glibc-CVE-2015-5180.patch		\
 | 
					  %D%/packages/patches/glibc-CVE-2015-5180.patch		\
 | 
				
			||||||
  %D%/packages/patches/glibc-CVE-2015-7547.patch		\
 | 
					  %D%/packages/patches/glibc-CVE-2015-7547.patch		\
 | 
				
			||||||
| 
						 | 
					@ -1041,6 +1044,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/gromacs-tinyxml2.patch			\
 | 
					  %D%/packages/patches/gromacs-tinyxml2.patch			\
 | 
				
			||||||
  %D%/packages/patches/groovy-add-exceptionutilsgenerator.patch	\
 | 
					  %D%/packages/patches/groovy-add-exceptionutilsgenerator.patch	\
 | 
				
			||||||
  %D%/packages/patches/grub-efi-fat-serial-number.patch		\
 | 
					  %D%/packages/patches/grub-efi-fat-serial-number.patch		\
 | 
				
			||||||
 | 
					  %D%/packages/patches/grub-setup-root.patch			\
 | 
				
			||||||
  %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
 | 
					  %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
 | 
				
			||||||
  %D%/packages/patches/gspell-dash-test.patch			\
 | 
					  %D%/packages/patches/gspell-dash-test.patch			\
 | 
				
			||||||
  %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
 | 
					  %D%/packages/patches/guile-1.8-cpp-4.5.patch			\
 | 
				
			||||||
| 
						 | 
					@ -1051,11 +1055,11 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/guile-3.0-relocatable.patch		\
 | 
					  %D%/packages/patches/guile-3.0-relocatable.patch		\
 | 
				
			||||||
  %D%/packages/patches/guile-linux-syscalls.patch		\
 | 
					  %D%/packages/patches/guile-linux-syscalls.patch		\
 | 
				
			||||||
  %D%/packages/patches/guile-3.0-linux-syscalls.patch		\
 | 
					  %D%/packages/patches/guile-3.0-linux-syscalls.patch		\
 | 
				
			||||||
 | 
					  %D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \
 | 
				
			||||||
  %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch	\
 | 
					  %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch	\
 | 
				
			||||||
  %D%/packages/patches/guile-present-coding.patch		\
 | 
					  %D%/packages/patches/guile-present-coding.patch		\
 | 
				
			||||||
  %D%/packages/patches/guile-rsvg-pkgconfig.patch		\
 | 
					  %D%/packages/patches/guile-rsvg-pkgconfig.patch		\
 | 
				
			||||||
  %D%/packages/patches/guile-emacs-fix-configure.patch		\
 | 
					  %D%/packages/patches/guile-emacs-fix-configure.patch		\
 | 
				
			||||||
  %D%/packages/patches/guile-sqlite3-fix-cross-compilation.patch \
 | 
					 | 
				
			||||||
  %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch	\
 | 
					  %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch	\
 | 
				
			||||||
  %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
 | 
					  %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
 | 
				
			||||||
  %D%/packages/patches/gtk2-theme-paths.patch			\
 | 
					  %D%/packages/patches/gtk2-theme-paths.patch			\
 | 
				
			||||||
| 
						 | 
					@ -1065,8 +1069,6 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/gtksourceview-2-add-default-directory.patch \
 | 
					  %D%/packages/patches/gtksourceview-2-add-default-directory.patch \
 | 
				
			||||||
  %D%/packages/patches/gzdoom-search-in-installed-share.patch	\
 | 
					  %D%/packages/patches/gzdoom-search-in-installed-share.patch	\
 | 
				
			||||||
  %D%/packages/patches/gzdoom-find-system-libgme.patch	\
 | 
					  %D%/packages/patches/gzdoom-find-system-libgme.patch	\
 | 
				
			||||||
  %D%/packages/patches/haskell-mode-unused-variables.patch	\
 | 
					 | 
				
			||||||
  %D%/packages/patches/haskell-mode-make-check.patch		\
 | 
					 | 
				
			||||||
  %D%/packages/patches/hdf4-architectures.patch 		\
 | 
					  %D%/packages/patches/hdf4-architectures.patch 		\
 | 
				
			||||||
  %D%/packages/patches/hdf4-reproducibility.patch 		\
 | 
					  %D%/packages/patches/hdf4-reproducibility.patch 		\
 | 
				
			||||||
  %D%/packages/patches/hdf4-shared-fortran.patch 		\
 | 
					  %D%/packages/patches/hdf4-shared-fortran.patch 		\
 | 
				
			||||||
| 
						 | 
					@ -1080,8 +1082,10 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/hdf-eos5-remove-gctp.patch		\
 | 
					  %D%/packages/patches/hdf-eos5-remove-gctp.patch		\
 | 
				
			||||||
  %D%/packages/patches/hdf-eos5-fix-szip.patch			\
 | 
					  %D%/packages/patches/hdf-eos5-fix-szip.patch			\
 | 
				
			||||||
  %D%/packages/patches/hdf-eos5-fortrantests.patch		\
 | 
					  %D%/packages/patches/hdf-eos5-fortrantests.patch		\
 | 
				
			||||||
 | 
					  %D%/packages/patches/http-parser-fix-assertion-on-armhf.patch	\
 | 
				
			||||||
  %D%/packages/patches/hubbub-sort-entities.patch		\
 | 
					  %D%/packages/patches/hubbub-sort-entities.patch		\
 | 
				
			||||||
  %D%/packages/patches/hurd-cross.patch				\
 | 
					  %D%/packages/patches/hurd-cross.patch				\
 | 
				
			||||||
 | 
					  %D%/packages/patches/hurd-xattr.patch				\
 | 
				
			||||||
  %D%/packages/patches/hplip-remove-imageprocessor.patch	\
 | 
					  %D%/packages/patches/hplip-remove-imageprocessor.patch	\
 | 
				
			||||||
  %D%/packages/patches/hydra-disable-darcs-test.patch		\
 | 
					  %D%/packages/patches/hydra-disable-darcs-test.patch		\
 | 
				
			||||||
  %D%/packages/patches/icecat-makeicecat.patch			\
 | 
					  %D%/packages/patches/icecat-makeicecat.patch			\
 | 
				
			||||||
| 
						 | 
					@ -1105,6 +1109,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch	\
 | 
					  %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch	\
 | 
				
			||||||
  %D%/packages/patches/java-commons-collections-fix-java8.patch \
 | 
					  %D%/packages/patches/java-commons-collections-fix-java8.patch \
 | 
				
			||||||
  %D%/packages/patches/java-jeromq-fix-tests.patch		\
 | 
					  %D%/packages/patches/java-jeromq-fix-tests.patch		\
 | 
				
			||||||
 | 
					  %D%/packages/patches/java-openjfx-build-jdk_version.patch     \
 | 
				
			||||||
  %D%/packages/patches/java-powermock-fix-java-files.patch		\
 | 
					  %D%/packages/patches/java-powermock-fix-java-files.patch		\
 | 
				
			||||||
  %D%/packages/patches/java-simple-xml-fix-tests.patch		\
 | 
					  %D%/packages/patches/java-simple-xml-fix-tests.patch		\
 | 
				
			||||||
  %D%/packages/patches/java-svg-salamander-Fix-non-det.patch	\
 | 
					  %D%/packages/patches/java-svg-salamander-Fix-non-det.patch	\
 | 
				
			||||||
| 
						 | 
					@ -1116,12 +1121,9 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/jsoncpp-fix-inverted-case.patch		\
 | 
					  %D%/packages/patches/jsoncpp-fix-inverted-case.patch		\
 | 
				
			||||||
  %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch	\
 | 
					  %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch	\
 | 
				
			||||||
  %D%/packages/patches/kdbusaddons-kinit-file-name.patch	\
 | 
					  %D%/packages/patches/kdbusaddons-kinit-file-name.patch	\
 | 
				
			||||||
  %D%/packages/patches/libffi-3.3-powerpc-fixes.patch		\
 | 
					 | 
				
			||||||
  %D%/packages/patches/libnftnl-dont-check-NFTNL_FLOWTABLE_SIZE.patch	\
 | 
					 | 
				
			||||||
  %D%/packages/patches/libvirt-create-machine-cgroup.patch	\
 | 
					  %D%/packages/patches/libvirt-create-machine-cgroup.patch	\
 | 
				
			||||||
  %D%/packages/patches/libziparchive-add-includes.patch		\
 | 
					  %D%/packages/patches/libziparchive-add-includes.patch		\
 | 
				
			||||||
  %D%/packages/patches/localed-xorg-keyboard.patch		\
 | 
					  %D%/packages/patches/localed-xorg-keyboard.patch		\
 | 
				
			||||||
  %D%/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch \
 | 
					 | 
				
			||||||
  %D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \
 | 
					  %D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \
 | 
				
			||||||
  %D%/packages/patches/kiki-level-selection-crash.patch		\
 | 
					  %D%/packages/patches/kiki-level-selection-crash.patch		\
 | 
				
			||||||
  %D%/packages/patches/kiki-makefile.patch			\
 | 
					  %D%/packages/patches/kiki-makefile.patch			\
 | 
				
			||||||
| 
						 | 
					@ -1136,8 +1138,6 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/kpackage-allow-external-paths.patch	\
 | 
					  %D%/packages/patches/kpackage-allow-external-paths.patch	\
 | 
				
			||||||
  %D%/packages/patches/kmplayer-aarch64.patch			\
 | 
					  %D%/packages/patches/kmplayer-aarch64.patch			\
 | 
				
			||||||
  %D%/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch	\
 | 
					  %D%/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch	\
 | 
				
			||||||
  %D%/packages/patches/kpmcore-fix-tests.patch			\
 | 
					 | 
				
			||||||
  %D%/packages/patches/kpmcore-remove-broken-test.patch		\
 | 
					 | 
				
			||||||
  %D%/packages/patches/kobodeluxe-paths.patch			\
 | 
					  %D%/packages/patches/kobodeluxe-paths.patch			\
 | 
				
			||||||
  %D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch	\
 | 
					  %D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch	\
 | 
				
			||||||
  %D%/packages/patches/kobodeluxe-const-charp-conversion.patch	\
 | 
					  %D%/packages/patches/kobodeluxe-const-charp-conversion.patch	\
 | 
				
			||||||
| 
						 | 
					@ -1158,6 +1158,9 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/ldc-disable-phobos-tests.patch		\
 | 
					  %D%/packages/patches/ldc-disable-phobos-tests.patch		\
 | 
				
			||||||
  %D%/packages/patches/leela-zero-gtest.patch			\
 | 
					  %D%/packages/patches/leela-zero-gtest.patch			\
 | 
				
			||||||
  %D%/packages/patches/less-hurd-path-max.patch			\
 | 
					  %D%/packages/patches/less-hurd-path-max.patch			\
 | 
				
			||||||
 | 
					  %D%/packages/patches/lib2geom-enable-assertions.patch		\
 | 
				
			||||||
 | 
					  %D%/packages/patches/lib2geom-link-tests-against-glib.patch	\
 | 
				
			||||||
 | 
					  %D%/packages/patches/lib2geom-use-system-googletest.patch	\
 | 
				
			||||||
  %D%/packages/patches/liba52-enable-pic.patch			\
 | 
					  %D%/packages/patches/liba52-enable-pic.patch			\
 | 
				
			||||||
  %D%/packages/patches/liba52-link-with-libm.patch		\
 | 
					  %D%/packages/patches/liba52-link-with-libm.patch		\
 | 
				
			||||||
  %D%/packages/patches/liba52-set-soname.patch			\
 | 
					  %D%/packages/patches/liba52-set-soname.patch			\
 | 
				
			||||||
| 
						 | 
					@ -1166,10 +1169,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/libbase-use-own-logging.patch		\
 | 
					  %D%/packages/patches/libbase-use-own-logging.patch		\
 | 
				
			||||||
  %D%/packages/patches/libbonobo-activation-test-race.patch	\
 | 
					  %D%/packages/patches/libbonobo-activation-test-race.patch	\
 | 
				
			||||||
  %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
 | 
					  %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
 | 
				
			||||||
  %D%/packages/patches/libdrm-symbol-check.patch		\
 | 
					  %D%/packages/patches/libdrm-realpath-virtio.patch		\
 | 
				
			||||||
  %D%/packages/patches/libexif-CVE-2016-6328.patch		\
 | 
					 | 
				
			||||||
  %D%/packages/patches/libexif-CVE-2017-7544.patch		\
 | 
					 | 
				
			||||||
  %D%/packages/patches/libexif-CVE-2018-20030.patch		\
 | 
					 | 
				
			||||||
  %D%/packages/patches/libextractor-exiv2.patch			\
 | 
					  %D%/packages/patches/libextractor-exiv2.patch			\
 | 
				
			||||||
  %D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch		\
 | 
					  %D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch		\
 | 
				
			||||||
  %D%/packages/patches/libgit2-mtime-0.patch			\
 | 
					  %D%/packages/patches/libgit2-mtime-0.patch			\
 | 
				
			||||||
| 
						 | 
					@ -1237,7 +1237,6 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/luit-posix.patch				\
 | 
					  %D%/packages/patches/luit-posix.patch				\
 | 
				
			||||||
  %D%/packages/patches/luminance-hdr-qt-printer.patch		\
 | 
					  %D%/packages/patches/luminance-hdr-qt-printer.patch		\
 | 
				
			||||||
  %D%/packages/patches/lvm2-static-link.patch			\
 | 
					  %D%/packages/patches/lvm2-static-link.patch			\
 | 
				
			||||||
  %D%/packages/patches/lxsession-use-gapplication.patch         \
 | 
					 | 
				
			||||||
  %D%/packages/patches/make-impure-dirs.patch			\
 | 
					  %D%/packages/patches/make-impure-dirs.patch			\
 | 
				
			||||||
  %D%/packages/patches/mariadb-client-test-32bit.patch		\
 | 
					  %D%/packages/patches/mariadb-client-test-32bit.patch		\
 | 
				
			||||||
  %D%/packages/patches/mars-install.patch			\
 | 
					  %D%/packages/patches/mars-install.patch			\
 | 
				
			||||||
| 
						 | 
					@ -1295,7 +1294,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/netsurf-y2038-tests.patch		\
 | 
					  %D%/packages/patches/netsurf-y2038-tests.patch		\
 | 
				
			||||||
  %D%/packages/patches/netsurf-longer-test-timeout.patch	\
 | 
					  %D%/packages/patches/netsurf-longer-test-timeout.patch	\
 | 
				
			||||||
  %D%/packages/patches/ngircd-handle-zombies.patch		\
 | 
					  %D%/packages/patches/ngircd-handle-zombies.patch		\
 | 
				
			||||||
  %D%/packages/patches/nm-plugin-path.patch			\
 | 
					  %D%/packages/patches/network-manager-plugin-path.patch	\
 | 
				
			||||||
  %D%/packages/patches/nsis-env-passthru.patch			\
 | 
					  %D%/packages/patches/nsis-env-passthru.patch			\
 | 
				
			||||||
  %D%/packages/patches/nss-increase-test-timeout.patch		\
 | 
					  %D%/packages/patches/nss-increase-test-timeout.patch		\
 | 
				
			||||||
  %D%/packages/patches/nss-pkgconfig.patch			\
 | 
					  %D%/packages/patches/nss-pkgconfig.patch			\
 | 
				
			||||||
| 
						 | 
					@ -1325,6 +1324,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/openocd-nrf52.patch			\
 | 
					  %D%/packages/patches/openocd-nrf52.patch			\
 | 
				
			||||||
  %D%/packages/patches/openssh-hurd.patch			\
 | 
					  %D%/packages/patches/openssh-hurd.patch			\
 | 
				
			||||||
  %D%/packages/patches/openresolv-restartcmd-guix.patch	\
 | 
					  %D%/packages/patches/openresolv-restartcmd-guix.patch	\
 | 
				
			||||||
 | 
					  %D%/packages/patches/openscad-parser-boost-1.72.patch	\
 | 
				
			||||||
  %D%/packages/patches/openssl-runpath.patch			\
 | 
					  %D%/packages/patches/openssl-runpath.patch			\
 | 
				
			||||||
  %D%/packages/patches/openssl-1.1-c-rehash-in.patch		\
 | 
					  %D%/packages/patches/openssl-1.1-c-rehash-in.patch		\
 | 
				
			||||||
  %D%/packages/patches/openssl-c-rehash-in.patch		\
 | 
					  %D%/packages/patches/openssl-c-rehash-in.patch		\
 | 
				
			||||||
| 
						 | 
					@ -1363,6 +1363,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/perl-www-curl-remove-symbol.patch	\
 | 
					  %D%/packages/patches/perl-www-curl-remove-symbol.patch	\
 | 
				
			||||||
  %D%/packages/patches/picprog-non-intel-support.patch		\
 | 
					  %D%/packages/patches/picprog-non-intel-support.patch		\
 | 
				
			||||||
  %D%/packages/patches/pidgin-add-search-path.patch		\
 | 
					  %D%/packages/patches/pidgin-add-search-path.patch		\
 | 
				
			||||||
 | 
					  %D%/packages/patches/pidgin-libnm.patch			\
 | 
				
			||||||
  %D%/packages/patches/pinball-const-fix.patch			\
 | 
					  %D%/packages/patches/pinball-const-fix.patch			\
 | 
				
			||||||
  %D%/packages/patches/pinball-cstddef.patch			\
 | 
					  %D%/packages/patches/pinball-cstddef.patch			\
 | 
				
			||||||
  %D%/packages/patches/pinball-missing-separators.patch		\
 | 
					  %D%/packages/patches/pinball-missing-separators.patch		\
 | 
				
			||||||
| 
						 | 
					@ -1376,7 +1377,6 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/plink-endian-detection.patch		\
 | 
					  %D%/packages/patches/plink-endian-detection.patch		\
 | 
				
			||||||
  %D%/packages/patches/plib-CVE-2011-4620.patch		\
 | 
					  %D%/packages/patches/plib-CVE-2011-4620.patch		\
 | 
				
			||||||
  %D%/packages/patches/plib-CVE-2012-4552.patch		\
 | 
					  %D%/packages/patches/plib-CVE-2012-4552.patch		\
 | 
				
			||||||
  %D%/packages/patches/plotutils-libpng-jmpbuf.patch		\
 | 
					 | 
				
			||||||
  %D%/packages/patches/podofo-cmake-3.12.patch			\
 | 
					  %D%/packages/patches/podofo-cmake-3.12.patch			\
 | 
				
			||||||
  %D%/packages/patches/portaudio-audacity-compat.patch		\
 | 
					  %D%/packages/patches/portaudio-audacity-compat.patch		\
 | 
				
			||||||
  %D%/packages/patches/portmidi-modular-build.patch		\
 | 
					  %D%/packages/patches/portmidi-modular-build.patch		\
 | 
				
			||||||
| 
						 | 
					@ -1397,7 +1397,6 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/pygpgme-disable-problematic-tests.patch  \
 | 
					  %D%/packages/patches/pygpgme-disable-problematic-tests.patch  \
 | 
				
			||||||
  %D%/packages/patches/pyqt-configure.patch			\
 | 
					  %D%/packages/patches/pyqt-configure.patch			\
 | 
				
			||||||
  %D%/packages/patches/pyqt-public-sip.patch			\
 | 
					  %D%/packages/patches/pyqt-public-sip.patch			\
 | 
				
			||||||
  %D%/packages/patches/pyqt-unbundled-qt.patch			\
 | 
					 | 
				
			||||||
  %D%/packages/patches/python-2-deterministic-build-info.patch	\
 | 
					  %D%/packages/patches/python-2-deterministic-build-info.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-2.7-adjust-tests.patch		\
 | 
					  %D%/packages/patches/python-2.7-adjust-tests.patch		\
 | 
				
			||||||
  %D%/packages/patches/python-2.7-search-paths.patch		\
 | 
					  %D%/packages/patches/python-2.7-search-paths.patch		\
 | 
				
			||||||
| 
						 | 
					@ -1411,6 +1410,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/python-CVE-2018-14647.patch		\
 | 
					  %D%/packages/patches/python-CVE-2018-14647.patch		\
 | 
				
			||||||
  %D%/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch	\
 | 
					  %D%/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-alembic-exceptions-cause.patch	\
 | 
					  %D%/packages/patches/python-alembic-exceptions-cause.patch	\
 | 
				
			||||||
 | 
					  %D%/packages/patches/python-argcomplete-1.11.1-fish31.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-axolotl-AES-fix.patch		\
 | 
					  %D%/packages/patches/python-axolotl-AES-fix.patch		\
 | 
				
			||||||
  %D%/packages/patches/python-cairocffi-dlopen-path.patch	\
 | 
					  %D%/packages/patches/python-cairocffi-dlopen-path.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-cross-compile.patch		\
 | 
					  %D%/packages/patches/python-cross-compile.patch		\
 | 
				
			||||||
| 
						 | 
					@ -1434,17 +1434,18 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
 | 
					  %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
 | 
				
			||||||
  %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch	\
 | 
					  %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-robotframework-honor-source-date-epoch.patch \
 | 
					  %D%/packages/patches/python-robotframework-honor-source-date-epoch.patch \
 | 
				
			||||||
 | 
					  %D%/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-slugify-depend-on-unidecode.patch	\
 | 
					  %D%/packages/patches/python-slugify-depend-on-unidecode.patch	\
 | 
				
			||||||
  %D%/packages/patches/python2-subprocess32-disable-input-test.patch	\
 | 
					  %D%/packages/patches/python2-subprocess32-disable-input-test.patch	\
 | 
				
			||||||
  %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/pypy3-7.3.1-fix-tests.patch		\
 | 
				
			||||||
  %D%/packages/patches/qemu-glibc-2.27.patch 			\
 | 
					  %D%/packages/patches/qemu-glibc-2.27.patch 			\
 | 
				
			||||||
  %D%/packages/patches/qrcodegen-cpp-make-install.patch		\
 | 
					  %D%/packages/patches/qrcodegen-cpp-make-install.patch		\
 | 
				
			||||||
  %D%/packages/patches/qt4-ldflags.patch			\
 | 
					  %D%/packages/patches/qt4-ldflags.patch			\
 | 
				
			||||||
  %D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch	\
 | 
					  %D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch	\
 | 
				
			||||||
  %D%/packages/patches/qtbase-use-TZDIR.patch			\
 | 
					  %D%/packages/patches/qtbase-use-TZDIR.patch			\
 | 
				
			||||||
  %D%/packages/patches/qtbase-QTBUG-81715.patch			\
 | 
					 | 
				
			||||||
  %D%/packages/patches/qtscript-disable-tests.patch		\
 | 
					  %D%/packages/patches/qtscript-disable-tests.patch		\
 | 
				
			||||||
  %D%/packages/patches/quagga-reproducible-build.patch          \
 | 
					  %D%/packages/patches/quagga-reproducible-build.patch          \
 | 
				
			||||||
  %D%/packages/patches/quickswitch-fix-dmenu-check.patch	\
 | 
					  %D%/packages/patches/quickswitch-fix-dmenu-check.patch	\
 | 
				
			||||||
| 
						 | 
					@ -1467,6 +1468,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/racket-store-checksum-override.patch	\
 | 
					  %D%/packages/patches/racket-store-checksum-override.patch	\
 | 
				
			||||||
  %D%/packages/patches/retroarch-disable-online-updater.patch	\
 | 
					  %D%/packages/patches/retroarch-disable-online-updater.patch	\
 | 
				
			||||||
  %D%/packages/patches/ruby-rack-ignore-failing-test.patch	\
 | 
					  %D%/packages/patches/ruby-rack-ignore-failing-test.patch	\
 | 
				
			||||||
 | 
					  %D%/packages/patches/ruby-sanitize-system-libxml.patch	\
 | 
				
			||||||
  %D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
 | 
					  %D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
 | 
				
			||||||
  %D%/packages/patches/runc-CVE-2019-5736.patch			\
 | 
					  %D%/packages/patches/runc-CVE-2019-5736.patch			\
 | 
				
			||||||
  %D%/packages/patches/rust-1.19-mrustc.patch			\
 | 
					  %D%/packages/patches/rust-1.19-mrustc.patch			\
 | 
				
			||||||
| 
						 | 
					@ -1533,10 +1535,12 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/tipp10-fix-compiling.patch		\
 | 
					  %D%/packages/patches/tipp10-fix-compiling.patch		\
 | 
				
			||||||
  %D%/packages/patches/tipp10-remove-license-code.patch		\
 | 
					  %D%/packages/patches/tipp10-remove-license-code.patch		\
 | 
				
			||||||
  %D%/packages/patches/tk-find-library.patch			\
 | 
					  %D%/packages/patches/tk-find-library.patch			\
 | 
				
			||||||
 | 
					  %D%/packages/patches/transmission-CVE-2018-10756.patch	\
 | 
				
			||||||
  %D%/packages/patches/ttf2eot-cstddef.patch			\
 | 
					  %D%/packages/patches/ttf2eot-cstddef.patch			\
 | 
				
			||||||
  %D%/packages/patches/ttfautohint-source-date-epoch.patch	\
 | 
					  %D%/packages/patches/ttfautohint-source-date-epoch.patch	\
 | 
				
			||||||
  %D%/packages/patches/tomb-fix-errors-on-open.patch		\
 | 
					  %D%/packages/patches/tomb-fix-errors-on-open.patch		\
 | 
				
			||||||
  %D%/packages/patches/tuxpaint-stamps-path.patch		\
 | 
					  %D%/packages/patches/tuxpaint-stamps-path.patch		\
 | 
				
			||||||
 | 
					  %D%/packages/patches/twinkle-bcg729.patch			\
 | 
				
			||||||
  %D%/packages/patches/u-boot-riscv64-fix-extlinux.patch	\
 | 
					  %D%/packages/patches/u-boot-riscv64-fix-extlinux.patch	\
 | 
				
			||||||
  %D%/packages/patches/u-boot-DT-for-Pinebook-Pro.patch		\
 | 
					  %D%/packages/patches/u-boot-DT-for-Pinebook-Pro.patch		\
 | 
				
			||||||
  %D%/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch	\
 | 
					  %D%/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch	\
 | 
				
			||||||
| 
						 | 
					@ -1579,7 +1583,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch	\
 | 
					  %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch	\
 | 
				
			||||||
  %D%/packages/patches/weasyprint-library-paths.patch		\
 | 
					  %D%/packages/patches/weasyprint-library-paths.patch		\
 | 
				
			||||||
  %D%/packages/patches/webkitgtk-share-store.patch		\
 | 
					  %D%/packages/patches/webkitgtk-share-store.patch		\
 | 
				
			||||||
  %D%/packages/patches/websocketpp-fix-for-boost-1.70.patch	\
 | 
					  %D%/packages/patches/websocketpp-fix-for-cmake-3.15.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	\
 | 
				
			||||||
  %D%/packages/patches/wicd-urwid-1.3.patch			\
 | 
					  %D%/packages/patches/wicd-urwid-1.3.patch			\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,6 +34,7 @@
 | 
				
			||||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
					;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
				
			||||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 | 
					;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 | 
				
			||||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 | 
					;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -58,6 +59,7 @@
 | 
				
			||||||
  #:use-module (guix build-system meson)
 | 
					  #:use-module (guix build-system meson)
 | 
				
			||||||
  #:use-module (guix build-system perl)
 | 
					  #:use-module (guix build-system perl)
 | 
				
			||||||
  #:use-module (guix build-system python)
 | 
					  #:use-module (guix build-system python)
 | 
				
			||||||
 | 
					  #:use-module (guix build-system ruby)
 | 
				
			||||||
  #:use-module (guix build-system trivial)
 | 
					  #:use-module (guix build-system trivial)
 | 
				
			||||||
  #:use-module (guix download)
 | 
					  #:use-module (guix download)
 | 
				
			||||||
  #:use-module (guix git-download)
 | 
					  #:use-module (guix git-download)
 | 
				
			||||||
| 
						 | 
					@ -121,6 +123,7 @@
 | 
				
			||||||
  #:use-module (gnu packages python-xyz)
 | 
					  #:use-module (gnu packages python-xyz)
 | 
				
			||||||
  #:use-module (gnu packages qt)
 | 
					  #:use-module (gnu packages qt)
 | 
				
			||||||
  #:use-module (gnu packages readline)
 | 
					  #:use-module (gnu packages readline)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages ruby)
 | 
				
			||||||
  #:use-module (gnu packages sphinx)
 | 
					  #:use-module (gnu packages sphinx)
 | 
				
			||||||
  #:use-module (gnu packages tcl)
 | 
					  #:use-module (gnu packages tcl)
 | 
				
			||||||
  #:use-module (gnu packages terminals)
 | 
					  #:use-module (gnu packages terminals)
 | 
				
			||||||
| 
						 | 
					@ -210,7 +213,7 @@ usual file attributes can be checked for inconsistencies.")
 | 
				
			||||||
(define-public progress
 | 
					(define-public progress
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "progress")
 | 
					    (name "progress")
 | 
				
			||||||
    (version "0.14")
 | 
					    (version "0.15")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -218,7 +221,7 @@ usual file attributes can be checked for inconsistencies.")
 | 
				
			||||||
             (url "https://github.com/Xfennec/progress.git")
 | 
					             (url "https://github.com/Xfennec/progress.git")
 | 
				
			||||||
             (commit (string-append "v" version))))
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1lk2v4b767klib93an4g3f7z5qrv9kdk9jf7545vw1immc4kamrl"))
 | 
					        (base32 "1cnb4ixlhshn139mj5sr42k5m6gjjbyqvkn1324c47niwrgp7dqm"))
 | 
				
			||||||
       (file-name (git-file-name name version))))
 | 
					       (file-name (git-file-name name version))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
| 
						 | 
					@ -228,8 +231,14 @@ usual file attributes can be checked for inconsistencies.")
 | 
				
			||||||
     `(("ncurses" ,ncurses)))
 | 
					     `(("ncurses" ,ncurses)))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f                      ; no test suite
 | 
					     `(#:tests? #f                      ; no test suite
 | 
				
			||||||
       #:make-flags (list "CC=gcc"
 | 
					       #:make-flags
 | 
				
			||||||
                          (string-append "PREFIX=" (assoc-ref %outputs "out")))
 | 
					       (let ((target ,(%current-target-system)))
 | 
				
			||||||
 | 
					         (list ,(string-append "CC=" (cc-for-target))
 | 
				
			||||||
 | 
					               (string-append "PKG_CONFIG="
 | 
				
			||||||
 | 
					                              (if target
 | 
				
			||||||
 | 
					                                  (string-append target "-pkg-config")
 | 
				
			||||||
 | 
					                                  "pkg-config"))
 | 
				
			||||||
 | 
					               (string-append "PREFIX=" (assoc-ref %outputs "out"))))
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (delete 'configure))))         ; no configure script
 | 
					         (delete 'configure))))         ; no configure script
 | 
				
			||||||
| 
						 | 
					@ -244,14 +253,14 @@ and provides a \"top-like\" mode (monitoring).")
 | 
				
			||||||
(define-public shepherd
 | 
					(define-public shepherd
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "shepherd")
 | 
					    (name "shepherd")
 | 
				
			||||||
    (version "0.8.0")
 | 
					    (version "0.8.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://gnu/shepherd/shepherd-"
 | 
					              (uri (string-append "mirror://gnu/shepherd/shepherd-"
 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "02lbc8z5gd8v8wfi4yh1zww8mk03w0zcwnmk4l4p3vpjlvlb63ll"))))
 | 
					                "0x9zr0x3xvk4qkb6jnda451d5iyrl06cz1bjzjsm0lxvjj3fabyk"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:configure-flags '("--localstatedir=/var")))
 | 
					     '(#:configure-flags '("--localstatedir=/var")))
 | 
				
			||||||
| 
						 | 
					@ -429,6 +438,71 @@ services.")
 | 
				
			||||||
graphs and can export its output to different formats.")
 | 
					graphs and can export its output to different formats.")
 | 
				
			||||||
   (license license:bsd-3)))
 | 
					   (license license:bsd-3)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public facter
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "facter")
 | 
				
			||||||
 | 
					    (version "4.0.26")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method git-fetch)
 | 
				
			||||||
 | 
					              (uri (git-reference
 | 
				
			||||||
 | 
					                    (url "https://github.com/puppetlabs/facter-ng")
 | 
				
			||||||
 | 
					                    (commit version)))
 | 
				
			||||||
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "0bab3by926gavbhkvp0in82vim575ybj8z6av3b12jdvla1s9rmz"))))
 | 
				
			||||||
 | 
					    (build-system ruby-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:phases (modify-phases %standard-phases
 | 
				
			||||||
 | 
					                  (add-after 'unpack 'delete-facter-ng-gemspec
 | 
				
			||||||
 | 
					                    (lambda _
 | 
				
			||||||
 | 
					                      ;; XXX: ruby-build-system incorrectly finds
 | 
				
			||||||
 | 
					                      ;; facter-ng.gemspec from this directory and tries to
 | 
				
			||||||
 | 
					                      ;; build that instead of the proper facter.gemspec.
 | 
				
			||||||
 | 
					                      ;; Just delete it as a workaround, as it appears to
 | 
				
			||||||
 | 
					                      ;; only exist for backwards-compatibility after the
 | 
				
			||||||
 | 
					                      ;; facter-ng->facter rename.
 | 
				
			||||||
 | 
					                      (delete-file "agent/facter-ng.gemspec")
 | 
				
			||||||
 | 
					                      #t))
 | 
				
			||||||
 | 
					                  (add-after 'unpack 'embed-iproute-reference
 | 
				
			||||||
 | 
					                    (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
 | 
					                      (let ((iproute (assoc-ref inputs "iproute")))
 | 
				
			||||||
 | 
					                        ;; Provide an absolute reference to the 'ip' executable
 | 
				
			||||||
 | 
					                        ;; to avoid propagating it.
 | 
				
			||||||
 | 
					                        (substitute* "lib/resolvers/networking_linux_resolver.rb"
 | 
				
			||||||
 | 
					                          (("execute\\('ip")
 | 
				
			||||||
 | 
					                           (string-append "execute('" iproute "/sbin/ip")))
 | 
				
			||||||
 | 
					                        #t)))
 | 
				
			||||||
 | 
					                  (delete 'check)
 | 
				
			||||||
 | 
					                  (add-after 'wrap 'check
 | 
				
			||||||
 | 
					                    (lambda* (#:key tests? outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					                      ;; XXX: The test suite wants to run Bundler and
 | 
				
			||||||
 | 
					                      ;; complains that the gemspec is invalid.  For now
 | 
				
			||||||
 | 
					                      ;; just make sure that we can run the wrapped
 | 
				
			||||||
 | 
					                      ;; executable directly.
 | 
				
			||||||
 | 
					                      (if tests?
 | 
				
			||||||
 | 
					                          (invoke (string-append (assoc-ref outputs "out")
 | 
				
			||||||
 | 
					                                                 "/bin/facter")
 | 
				
			||||||
 | 
					                                  ;; Many facts depend on /sys, /etc/os-release,
 | 
				
			||||||
 | 
					                                  ;; etc, so we only run a small sample.
 | 
				
			||||||
 | 
					                                  "facterversion" "architecture"
 | 
				
			||||||
 | 
					                                  "kernel" "kernelversion")
 | 
				
			||||||
 | 
					                          (format #t "tests disabled~%"))
 | 
				
			||||||
 | 
					                      #t)))))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("iproute" ,iproute)
 | 
				
			||||||
 | 
					       ("ruby-hocon" ,ruby-hocon)
 | 
				
			||||||
 | 
					       ("ruby-sys-filesystem" ,ruby-sys-filesystem)
 | 
				
			||||||
 | 
					       ("ruby-thor" ,ruby-thor)))
 | 
				
			||||||
 | 
					    (synopsis "Collect and display system facts")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "Facter is a tool that gathers basic facts about nodes (systems) such
 | 
				
			||||||
 | 
					as hardware details, network settings, OS type and version, and more.  These
 | 
				
			||||||
 | 
					facts can be collected on the command line with the @command{facter} command
 | 
				
			||||||
 | 
					or via the @code{facter} Ruby library.")
 | 
				
			||||||
 | 
					    (home-page "https://github.com/puppetlabs/facter-ng")
 | 
				
			||||||
 | 
					    (license license:expat)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public htop
 | 
					(define-public htop
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "htop")
 | 
					    (name "htop")
 | 
				
			||||||
| 
						 | 
					@ -718,7 +792,7 @@ would need and has several interesting built-in capabilities.")
 | 
				
			||||||
(define-public netcat-openbsd
 | 
					(define-public netcat-openbsd
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "netcat-openbsd")
 | 
					    (name "netcat-openbsd")
 | 
				
			||||||
    (version "1.206-1")
 | 
					    (version "1.217-1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -727,14 +801,12 @@ would need and has several interesting built-in capabilities.")
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "08r3mmck3s5pbvwyq19wp5g8jqcxza3cm8nkc6jm7rqn4jdydc4z"))))
 | 
					                "0kcvi3pav2fdx5c22psjv5dggk4cmrqiaq2cklhqngsk4a7vrjan"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f                      ; no test suite
 | 
					     `(#:tests? #f                      ; no test suite
 | 
				
			||||||
       #:make-flags
 | 
					       #:make-flags
 | 
				
			||||||
       (list "CC=gcc"
 | 
					       (list "CC=gcc")
 | 
				
			||||||
             (string-append "CFLAGS=-I" (assoc-ref %build-inputs "libbsd") "/include")
 | 
					 | 
				
			||||||
             "LDFLAGS=-lbsd")
 | 
					 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (delete 'configure)
 | 
					         (delete 'configure)
 | 
				
			||||||
| 
						 | 
					@ -1309,6 +1381,7 @@ system administrator.")
 | 
				
			||||||
                  (delete-file-recursively "lib/zlib")
 | 
					                  (delete-file-recursively "lib/zlib")
 | 
				
			||||||
                  #t))))
 | 
					                  #t))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (outputs (list "out" "python"))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags
 | 
					     `(#:configure-flags
 | 
				
			||||||
       (list (string-append "--docdir=" (assoc-ref %outputs "out")
 | 
					       (list (string-append "--docdir=" (assoc-ref %outputs "out")
 | 
				
			||||||
| 
						 | 
					@ -1366,7 +1439,22 @@ system administrator.")
 | 
				
			||||||
             (substitute* "plugins/sudoers/Makefile.in"
 | 
					             (substitute* "plugins/sudoers/Makefile.in"
 | 
				
			||||||
               (("^pre-install:" match)
 | 
					               (("^pre-install:" match)
 | 
				
			||||||
                (string-append match "\ndisabled-" match)))
 | 
					                (string-append match "\ndisabled-" match)))
 | 
				
			||||||
             #t)))
 | 
					             #t))
 | 
				
			||||||
 | 
					         (add-after 'install 'separate-python-output
 | 
				
			||||||
 | 
					           (lambda* (#:key target outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (let ((out        (assoc-ref outputs "out"))
 | 
				
			||||||
 | 
					                   (out:python (assoc-ref outputs "python")))
 | 
				
			||||||
 | 
					               (if target
 | 
				
			||||||
 | 
					                   (mkdir-p (string-append out:python "/empty"))
 | 
				
			||||||
 | 
					                   (for-each
 | 
				
			||||||
 | 
					                    (lambda (file)
 | 
				
			||||||
 | 
					                      (let ((old (string-append out "/" file))
 | 
				
			||||||
 | 
					                            (new (string-append out:python "/" file)))
 | 
				
			||||||
 | 
					                        (mkdir-p (dirname new))
 | 
				
			||||||
 | 
					                        (rename-file old new)))
 | 
				
			||||||
 | 
					                    (list "libexec/sudo/python_plugin.so"
 | 
				
			||||||
 | 
					                          "libexec/sudo/python_plugin.la")))
 | 
				
			||||||
 | 
					               #t))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
       ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
 | 
					       ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
 | 
				
			||||||
       ;; the chroot's /etc/passwd doesn't have it.  Turn off the tests.
 | 
					       ;; the chroot's /etc/passwd doesn't have it.  Turn off the tests.
 | 
				
			||||||
| 
						 | 
					@ -1391,6 +1479,54 @@ commands and their arguments.")
 | 
				
			||||||
    ;; See <http://www.sudo.ws/sudo/license.html>.
 | 
					    ;; See <http://www.sudo.ws/sudo/license.html>.
 | 
				
			||||||
    (license license:x11)))
 | 
					    (license license:x11)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public opendoas
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "opendoas")
 | 
				
			||||||
 | 
					    (version "6.6.1")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method git-fetch)
 | 
				
			||||||
 | 
					              (uri (git-reference
 | 
				
			||||||
 | 
					                    (url "https://github.com/Duncaen/OpenDoas.git")
 | 
				
			||||||
 | 
					                    (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "07kkc5729p654jrgfsc8zyhiwicgmq38yacmwfvay2b3gmy728zn"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (replace 'configure
 | 
				
			||||||
 | 
					           ;; The configure script doesn't accept most of the default flags.
 | 
				
			||||||
 | 
					           (lambda* (#:key configure-flags #:allow-other-keys)
 | 
				
			||||||
 | 
					             ;; The configure script can only be told which compiler to use
 | 
				
			||||||
 | 
					             ;; through environment variables.
 | 
				
			||||||
 | 
					             (setenv "CC" ,(cc-for-target))
 | 
				
			||||||
 | 
					             (apply invoke "./configure" configure-flags)))
 | 
				
			||||||
 | 
					         (add-before 'install 'fix-makefile
 | 
				
			||||||
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (substitute* "bsd.prog.mk"
 | 
				
			||||||
 | 
					               (("^\tchown.*$") ""))
 | 
				
			||||||
 | 
					             #t)))
 | 
				
			||||||
 | 
					       #:configure-flags
 | 
				
			||||||
 | 
					       (list (string-append "--prefix=" (assoc-ref %outputs "out"))
 | 
				
			||||||
 | 
					             ;; Nothing is done with this value (yet?) but it's supported.
 | 
				
			||||||
 | 
					             ;; (string-append "--target=" (or ,(%current-target-system) ""))
 | 
				
			||||||
 | 
					             "--with-timestamp")
 | 
				
			||||||
 | 
					       ;; Compiler choice is not carried over from the configure script.
 | 
				
			||||||
 | 
					       #:make-flags
 | 
				
			||||||
 | 
					       (list (string-append "CC=" ,(cc-for-target)))
 | 
				
			||||||
 | 
					       #:tests? #f))                 ; no test suite
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("bison" ,bison)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/Duncaen/OpenDoas")
 | 
				
			||||||
 | 
					    (synopsis "Portable version of OpenBSD's doas command")
 | 
				
			||||||
 | 
					    (description "Doas is a minimal replacement for the venerable sudo.  It was
 | 
				
			||||||
 | 
					initially written by Ted Unangst of the OpenBSD project to provide 95% of the
 | 
				
			||||||
 | 
					features of sudo with a fraction of the codebase.")
 | 
				
			||||||
 | 
					    (license (list license:bsd-3        ; libbsd/*
 | 
				
			||||||
 | 
					                   license:isc))))      ; everything else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public wpa-supplicant-minimal
 | 
					(define-public wpa-supplicant-minimal
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "wpa-supplicant-minimal")
 | 
					    (name "wpa-supplicant-minimal")
 | 
				
			||||||
| 
						 | 
					@ -1691,7 +1827,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
 | 
				
			||||||
(define-public acpica
 | 
					(define-public acpica
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "acpica")
 | 
					    (name "acpica")
 | 
				
			||||||
    (version "20200430")
 | 
					    (version "20200528")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -1699,7 +1835,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
 | 
				
			||||||
                    version ".tar.gz"))
 | 
					                    version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1hiaz9lrmjzdbi5zl0ajfflja41cixzx2j76iyx02qbjlmy9cfjc"))))
 | 
					                "01ajxnz9dpnvdbib7yv20dw21a1yyfgwiw3whg0xi57cf4app2md"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs `(("flex" ,flex)
 | 
					    (native-inputs `(("flex" ,flex)
 | 
				
			||||||
                     ("bison" ,bison)))
 | 
					                     ("bison" ,bison)))
 | 
				
			||||||
| 
						 | 
					@ -2027,13 +2163,13 @@ of supported upstream metrics systems simultaneously.")
 | 
				
			||||||
(define-public ansible
 | 
					(define-public ansible
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ansible")
 | 
					    (name "ansible")
 | 
				
			||||||
    (version "2.9.6")
 | 
					    (version "2.9.9")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (pypi-uri "ansible" version))
 | 
					       (uri (pypi-uri "ansible" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1jfbp1i3nl4yvqwd5ssy43dz3pq2x03mn875vb8r56gqh43kmksr"))))
 | 
					        (base32 "1l99vwkl48iwr8ffd1ihqia995mz8h8hwk4akm4w0cgiifp88gg8"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("python-bcrypt" ,python-bcrypt)
 | 
					     `(("python-bcrypt" ,python-bcrypt)
 | 
				
			||||||
| 
						 | 
					@ -2629,13 +2765,13 @@ a new command using the matched rule, and runs it.")
 | 
				
			||||||
(define-public di
 | 
					(define-public di
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "di")
 | 
					    (name "di")
 | 
				
			||||||
    (version "4.47.3")
 | 
					    (version "4.48")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
 | 
					       (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0m4npba50sf5s61g5z3xd2r7937zwja941f2h3f081xi24c2hfck"))))
 | 
					        (base32 "0crvvfsxh8ryc0j19a2x52i9zacvggm8zi6j3kzygkcwnpz4km8r"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f                      ; obscure test failures
 | 
					     `(#:tests? #f                      ; obscure test failures
 | 
				
			||||||
| 
						 | 
					@ -2644,7 +2780,7 @@ a new command using the matched rule, and runs it.")
 | 
				
			||||||
         (delete 'configure)            ; no configure script
 | 
					         (delete 'configure)            ; no configure script
 | 
				
			||||||
         (add-before 'build 'setup-environment
 | 
					         (add-before 'build 'setup-environment
 | 
				
			||||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
             (setenv "CC" "gcc")
 | 
					             (setenv "CC" ,(cc-for-target))
 | 
				
			||||||
             (setenv "prefix" (assoc-ref outputs "out"))
 | 
					             (setenv "prefix" (assoc-ref outputs "out"))
 | 
				
			||||||
             #t)))
 | 
					             #t)))
 | 
				
			||||||
       #:make-flags (list "--environment-overrides")))
 | 
					       #:make-flags (list "--environment-overrides")))
 | 
				
			||||||
| 
						 | 
					@ -3118,14 +3254,14 @@ everyone's screenshots nowadays.")
 | 
				
			||||||
(define-public nnn
 | 
					(define-public nnn
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "nnn")
 | 
					    (name "nnn")
 | 
				
			||||||
    (version "2.8.1")
 | 
					    (version "3.2")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "https://github.com/jarun/nnn/releases/download/v"
 | 
					       (uri (string-append "https://github.com/jarun/nnn/releases/download/v"
 | 
				
			||||||
                           version "/nnn-v" version ".tar.gz"))
 | 
					                           version "/nnn-v" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1g47bndxld875d0xb3pgmlw223mz47p1xcvwym861y6l4zkgiyp0"))))
 | 
					        (base32 "1zflz7yj5wzdnl0728g8qrld2z6dqn7sblbmkjvyqlv1fwjd1fsf"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("ncurses" ,ncurses)
 | 
					     `(("ncurses" ,ncurses)
 | 
				
			||||||
| 
						 | 
					@ -3336,7 +3472,7 @@ Python loading in HPC environments.")
 | 
				
			||||||
  (let ((real-name "inxi"))
 | 
					  (let ((real-name "inxi"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "inxi-minimal")
 | 
					      (name "inxi-minimal")
 | 
				
			||||||
      (version "3.0.38-1")
 | 
					      (version "3.1.01-1")
 | 
				
			||||||
      (source
 | 
					      (source
 | 
				
			||||||
       (origin
 | 
					       (origin
 | 
				
			||||||
         (method git-fetch)
 | 
					         (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -3345,7 +3481,7 @@ Python loading in HPC environments.")
 | 
				
			||||||
               (commit version)))
 | 
					               (commit version)))
 | 
				
			||||||
         (file-name (git-file-name real-name version))
 | 
					         (file-name (git-file-name real-name version))
 | 
				
			||||||
         (sha256
 | 
					         (sha256
 | 
				
			||||||
          (base32 "1qw3sxgd3ly916bzzl3873s3flngwd3vh57slw0shsj7ivz8bfnm"))))
 | 
					          (base32 "0r204w0r06ibdr4dck7yw2nmvj7xq68bjr7xwwiy7liqdml0n0yc"))))
 | 
				
			||||||
      (build-system trivial-build-system)
 | 
					      (build-system trivial-build-system)
 | 
				
			||||||
      (inputs
 | 
					      (inputs
 | 
				
			||||||
       `(("bash" ,bash-minimal)
 | 
					       `(("bash" ,bash-minimal)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;; Copyright © 2015, 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2015, 2016, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 | 
					;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 | 
				
			||||||
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
 | 
					;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -25,22 +25,23 @@
 | 
				
			||||||
  #:use-module (guix download)
 | 
					  #:use-module (guix download)
 | 
				
			||||||
  #:use-module (guix build-system cmake)
 | 
					  #:use-module (guix build-system cmake)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages m4)
 | 
				
			||||||
  #:use-module (gnu packages pkg-config))
 | 
					  #:use-module (gnu packages pkg-config))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public adns
 | 
					(define-public adns
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "adns")
 | 
					    (name "adns")
 | 
				
			||||||
    (version "1.5.1")
 | 
					    (version "1.6.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (list (string-append "mirror://gnu/adns/adns-"
 | 
					              (uri (list (string-append "mirror://gnu/adns/adns-"
 | 
				
			||||||
                                        version ".tar.gz")
 | 
					                                        version ".tar.gz")
 | 
				
			||||||
                         (string-append
 | 
					                         (string-append
 | 
				
			||||||
                          "http://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-"
 | 
					                           "https://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-"
 | 
				
			||||||
                           version ".tar.gz")))
 | 
					                           version ".tar.gz")))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1ssfh94ck6kn98nf2yy6743srpgqgd167va5ja3bwx42igqjc42v"))))
 | 
					                "1pi0xl07pav4zm2jrbrfpv43s1r1q1y12awgak8k7q41m5jp4hpv"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     ;; Make sure the programs under bin/ fine libadns.so.
 | 
					     ;; Make sure the programs under bin/ fine libadns.so.
 | 
				
			||||||
| 
						 | 
					@ -50,6 +51,8 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
       ;; XXX: Tests expect real name resolution to work.
 | 
					       ;; XXX: Tests expect real name resolution to work.
 | 
				
			||||||
       #:tests? #f))
 | 
					       #:tests? #f))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("m4" ,m4)))
 | 
				
			||||||
    (home-page "https://www.gnu.org/software/adns/")
 | 
					    (home-page "https://www.gnu.org/software/adns/")
 | 
				
			||||||
    (synopsis "Asynchronous DNS client library and utilities")
 | 
					    (synopsis "Asynchronous DNS client library and utilities")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -609,7 +609,7 @@ matrices, and polynomials over the integers and over finite fields.")
 | 
				
			||||||
(define-public singular
 | 
					(define-public singular
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "singular")
 | 
					   (name "singular")
 | 
				
			||||||
   (version "4.1.2p1")
 | 
					   (version "4.1.3p2")
 | 
				
			||||||
   (source
 | 
					   (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -623,7 +623,7 @@ matrices, and polynomials over the integers and over finite fields.")
 | 
				
			||||||
                        #\.) "-")
 | 
					                        #\.) "-")
 | 
				
			||||||
                      "/singular-" version ".tar.gz"))
 | 
					                      "/singular-" version ".tar.gz"))
 | 
				
			||||||
             (sha256 (base32
 | 
					             (sha256 (base32
 | 
				
			||||||
                      "0kvd55353fiqyq1msmi0kka66n5h0aqs7m3km60r01b1w2f8085m"))))
 | 
					                      "1524yrni7gh0hir5ckridq671q5s6avfjdsdyahj51kzdl3wcypf"))))
 | 
				
			||||||
   (build-system gnu-build-system)
 | 
					   (build-system gnu-build-system)
 | 
				
			||||||
   (native-inputs
 | 
					   (native-inputs
 | 
				
			||||||
    `(("doxygen" ,doxygen)
 | 
					    `(("doxygen" ,doxygen)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
 | 
					;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
 | 
				
			||||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
 | 
					;;; Copyright © 2016 John Darrington <jmd@gnu.org>
 | 
				
			||||||
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
| 
						 | 
					@ -111,7 +111,7 @@ dictionaries, including personal ones.")
 | 
				
			||||||
              (uri (string-append "mirror://gnu/aspell/dict/" dict-name
 | 
					              (uri (string-append "mirror://gnu/aspell/dict/" dict-name
 | 
				
			||||||
                                  "/" prefix dict-name "-"
 | 
					                                  "/" prefix dict-name "-"
 | 
				
			||||||
                                  version ".tar.bz2"))
 | 
					                                  version ".tar.bz2"))
 | 
				
			||||||
              (sha256 sha256)))
 | 
					              (hash (content-hash sha256))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
| 
						 | 
					@ -163,7 +163,7 @@ dictionaries, including personal ones.")
 | 
				
			||||||
         (method url-fetch)
 | 
					         (method url-fetch)
 | 
				
			||||||
         (uri (string-append "https://www.softcatala.org/pub/softcatala/aspell/"
 | 
					         (uri (string-append "https://www.softcatala.org/pub/softcatala/aspell/"
 | 
				
			||||||
                             version "/aspell6-ca-" version ".tar.bz2"))
 | 
					                             version "/aspell6-ca-" version ".tar.bz2"))
 | 
				
			||||||
         (sha256 sha256)))
 | 
					         (hash (content-hash sha256))))
 | 
				
			||||||
      (home-page "https://www.softcatala.org/pub/softcatala/aspell/"))))
 | 
					      (home-page "https://www.softcatala.org/pub/softcatala/aspell/"))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public aspell-dict-de
 | 
					(define-public aspell-dict-de
 | 
				
			||||||
| 
						 | 
					@ -264,7 +264,7 @@ dictionaries, including personal ones.")
 | 
				
			||||||
         (uri (string-append "mirror://sourceforge/linguistico/"
 | 
					         (uri (string-append "mirror://sourceforge/linguistico/"
 | 
				
			||||||
                             "Dizionario%20italiano%20per%20Aspell/" version "/"
 | 
					                             "Dizionario%20italiano%20per%20Aspell/" version "/"
 | 
				
			||||||
                             "aspell6-it-" version ".tar.bz2"))
 | 
					                             "aspell6-it-" version ".tar.bz2"))
 | 
				
			||||||
         (sha256 sha256)))
 | 
					         (hash (content-hash sha256))))
 | 
				
			||||||
       (home-page
 | 
					       (home-page
 | 
				
			||||||
        "http://linguistico.sourceforge.net/pages/dizionario_italiano.html"))))
 | 
					        "http://linguistico.sourceforge.net/pages/dizionario_italiano.html"))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -149,14 +149,14 @@ to the clients.")
 | 
				
			||||||
(define-public fasm
 | 
					(define-public fasm
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "fasm")
 | 
					    (name "fasm")
 | 
				
			||||||
    (version "1.73.22")
 | 
					    (version "1.73.24")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "https://flatassembler.net/fasm-"
 | 
					       (uri (string-append "https://flatassembler.net/fasm-"
 | 
				
			||||||
                           version ".tgz"))
 | 
					                           version ".tgz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1pb0rcfdsb0h89khjjrbikz5wjdllavj3ajim0rcyh7x12xr1hw5"))))
 | 
					        (base32 "142vxhs8mh8isvlzq7ir0asmqda410phzxmk9gk9b43dldskkj7k"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f                      ; no tests exist
 | 
					     `(#:tests? #f                      ; no tests exist
 | 
				
			||||||
| 
						 | 
					@ -347,14 +347,14 @@ Supported architectures are:
 | 
				
			||||||
(define-public xa
 | 
					(define-public xa
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "xa")
 | 
					    (name "xa")
 | 
				
			||||||
    (version "2.3.10")
 | 
					    (version "2.3.11")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://www.floodgap.com/retrotech/xa"
 | 
					              (uri (string-append "https://www.floodgap.com/retrotech/xa"
 | 
				
			||||||
                                  "/dists/xa-" version ".tar.gz"))
 | 
					                                  "/dists/xa-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0y5sd247g11jfk5msxy91hz2nhpy7smj125dzfyfhjsjnqk5nyw6"))))
 | 
					                "0b81r7mvzqxgnbbmhixcnrf9nc72v1nqaw19k67221g3k561dwij"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f   ; TODO: custom test harness, not sure how it works
 | 
					     `(#:tests? #f   ; TODO: custom test harness, not sure how it works
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
 | 
					;;; Copyright © 2016 John Darrington <jmd@gnu.org>
 | 
				
			||||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2019 by Amar Singh <nly@disroot.org>
 | 
					;;; Copyright © 2019 by Amar Singh <nly@disroot.org>
 | 
				
			||||||
;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
 | 
					;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
 | 
				
			||||||
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
 | 
					;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
 | 
				
			||||||
| 
						 | 
					@ -128,7 +128,7 @@ header.")
 | 
				
			||||||
(define-public gnuastro
 | 
					(define-public gnuastro
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "gnuastro")
 | 
					    (name "gnuastro")
 | 
				
			||||||
    (version "0.11")
 | 
					    (version "0.12")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -136,7 +136,10 @@ header.")
 | 
				
			||||||
                           version ".tar.lz"))
 | 
					                           version ".tar.lz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0c1yc2qb7vrqad96savfn06rn01izlfz0va738signv93qqj5k3v"))))
 | 
					         "0ypk1c72q778cixfa52vjxzbd5m4qc6hfjgnipy16sfa7mnspmyf"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     '(#:configure-flags '("--disable-static")))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("cfitsio" ,cfitsio)
 | 
					     `(("cfitsio" ,cfitsio)
 | 
				
			||||||
       ("gsl" ,gsl)
 | 
					       ("gsl" ,gsl)
 | 
				
			||||||
| 
						 | 
					@ -147,7 +150,6 @@ header.")
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("libtool" ,libtool)
 | 
					     `(("libtool" ,libtool)
 | 
				
			||||||
       ("lzip" ,lzip)))
 | 
					       ("lzip" ,lzip)))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					 | 
				
			||||||
    (home-page "https://www.gnu.org/software/gnuastro/")
 | 
					    (home-page "https://www.gnu.org/software/gnuastro/")
 | 
				
			||||||
    (synopsis "Astronomy utilities")
 | 
					    (synopsis "Astronomy utilities")
 | 
				
			||||||
    (description "The GNU Astronomy Utilities (Gnuastro) is a suite of
 | 
					    (description "The GNU Astronomy Utilities (Gnuastro) is a suite of
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -175,7 +175,9 @@ implementation of Adaptive Multi Rate Narrowband and Wideband
 | 
				
			||||||
                                  "/" version "/ams-" version ".tar.bz2"))
 | 
					                                  "/" version "/ams-" version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0"))))
 | 
					                "1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0"))
 | 
				
			||||||
 | 
					              (patches
 | 
				
			||||||
 | 
					               (search-patches "alsa-modular-synth-fix-vocoder.patch"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags
 | 
					     `(#:configure-flags
 | 
				
			||||||
| 
						 | 
					@ -183,6 +185,17 @@ implementation of Adaptive Multi Rate Narrowband and Wideband
 | 
				
			||||||
         "CXXFLAGS=-std=gnu++11")
 | 
					         "CXXFLAGS=-std=gnu++11")
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-after 'set-paths 'hide-default-gcc
 | 
				
			||||||
 | 
					           (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (let ((gcc (assoc-ref inputs "gcc")))
 | 
				
			||||||
 | 
					               ;; Remove the default GCC from CPLUS_INCLUDE_PATH to prevent
 | 
				
			||||||
 | 
					               ;; conflicts with the GCC 5 input.
 | 
				
			||||||
 | 
					               (setenv "CPLUS_INCLUDE_PATH"
 | 
				
			||||||
 | 
					                       (string-join
 | 
				
			||||||
 | 
					                        (delete (string-append gcc "/include/c++")
 | 
				
			||||||
 | 
					                                (string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
 | 
				
			||||||
 | 
					                        ":"))
 | 
				
			||||||
 | 
					               #t)))
 | 
				
			||||||
         ;; Insert an extra space between linker flags.
 | 
					         ;; Insert an extra space between linker flags.
 | 
				
			||||||
         (add-before 'configure 'add-missing-space
 | 
					         (add-before 'configure 'add-missing-space
 | 
				
			||||||
           (lambda _
 | 
					           (lambda _
 | 
				
			||||||
| 
						 | 
					@ -203,7 +216,7 @@ implementation of Adaptive Multi Rate Narrowband and Wideband
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					     `(("pkg-config" ,pkg-config)
 | 
				
			||||||
       ("qttools" ,qttools)
 | 
					       ("qttools" ,qttools)
 | 
				
			||||||
       ("gcc" ,gcc-5)))
 | 
					       ("gcc@5" ,gcc-5)))
 | 
				
			||||||
    (home-page "http://alsamodular.sourceforge.net/")
 | 
					    (home-page "http://alsamodular.sourceforge.net/")
 | 
				
			||||||
    (synopsis "Realtime modular synthesizer and effect processor")
 | 
					    (synopsis "Realtime modular synthesizer and effect processor")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -851,30 +864,30 @@ emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.")
 | 
				
			||||||
(define-public csound
 | 
					(define-public csound
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "csound")
 | 
					    (name "csound")
 | 
				
			||||||
    (version "6.13.0")
 | 
					    (version "6.14.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
       (uri (git-reference
 | 
					       (uri (git-reference
 | 
				
			||||||
             (url "https://github.com/csound/csound.git")
 | 
					             (url "https://github.com/csound/csound.git")
 | 
				
			||||||
             (commit version)))
 | 
					             (commit version)))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
               (base32
 | 
					        (base32 "1sr9knfhbm2m0wpkjq2l5n471vnl51wy4p6j4m95zqybimzb4s2j"))))
 | 
				
			||||||
                "14822ybqyp31z18gky2y9zadr9dkbhabg97y139py73w7v3af1bh"))))
 | 
					 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (inputs
 | 
					 | 
				
			||||||
     `(("alsa-lib" ,alsa-lib)
 | 
					 | 
				
			||||||
       ("boost" ,boost)
 | 
					 | 
				
			||||||
       ("pulseaudio" ,pulseaudio)
 | 
					 | 
				
			||||||
       ("libsndfile" ,libsndfile)
 | 
					 | 
				
			||||||
       ("liblo" ,liblo)
 | 
					 | 
				
			||||||
       ("ladspa" ,ladspa)
 | 
					 | 
				
			||||||
       ("jack" ,jack-1)
 | 
					 | 
				
			||||||
       ("gettext" ,gettext-minimal)))
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("bison" ,bison)
 | 
					     `(("bison" ,bison)
 | 
				
			||||||
       ("flex" ,flex)
 | 
					       ("flex" ,flex)
 | 
				
			||||||
 | 
					       ("gettext" ,gettext-minimal)
 | 
				
			||||||
       ("zlib" ,zlib)))
 | 
					       ("zlib" ,zlib)))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("alsa-lib" ,alsa-lib)
 | 
				
			||||||
 | 
					       ("boost" ,boost)
 | 
				
			||||||
 | 
					       ("jack" ,jack-1)
 | 
				
			||||||
 | 
					       ("ladspa" ,ladspa)
 | 
				
			||||||
 | 
					       ("liblo" ,liblo)
 | 
				
			||||||
 | 
					       ("libsndfile" ,libsndfile)
 | 
				
			||||||
 | 
					       ("pulseaudio" ,pulseaudio)))
 | 
				
			||||||
    (home-page "https://csound.com/")
 | 
					    (home-page "https://csound.com/")
 | 
				
			||||||
    (synopsis "Sound and music computing system")
 | 
					    (synopsis "Sound and music computing system")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -1242,7 +1255,7 @@ follower.")
 | 
				
			||||||
(define-public fluidsynth
 | 
					(define-public fluidsynth
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "fluidsynth")
 | 
					    (name "fluidsynth")
 | 
				
			||||||
    (version "2.1.2")
 | 
					    (version "2.1.3")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -1251,7 +1264,7 @@ follower.")
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0pf8hjn15isf772nz8qcqja700aay8nhdwmr24djkj42c7chf96j"))))
 | 
					                "0dv6jprz2bzasvk91x2rv2pqyyvxkc72s4r6vsqw723a3kqa5bhc"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:tests? #f                      ; no check target
 | 
					     '(#:tests? #f                      ; no check target
 | 
				
			||||||
| 
						 | 
					@ -1961,14 +1974,14 @@ included are the command line utilities @code{send_osc} and @code{dump_osc}.")
 | 
				
			||||||
(define-public lilv
 | 
					(define-public lilv
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "lilv")
 | 
					    (name "lilv")
 | 
				
			||||||
    (version "0.24.6")
 | 
					    (version "0.24.8")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append "https://download.drobilla.net/lilv-"
 | 
					             (uri (string-append "https://download.drobilla.net/lilv-"
 | 
				
			||||||
                                 version ".tar.bz2"))
 | 
					                                 version ".tar.bz2"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "1p3hafsxgs5d4za7n66lf5nz74qssfqpmk520cm7iq2njvvlqm2z"))))
 | 
					               "0063i5zgf3d3accwmyx651hw0wh5ik7kji2hvfkcdbl1qia3dp6a"))))
 | 
				
			||||||
    (build-system waf-build-system)
 | 
					    (build-system waf-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f                      ; no check target
 | 
					     `(#:tests? #f                      ; no check target
 | 
				
			||||||
| 
						 | 
					@ -2191,7 +2204,7 @@ buffers, and audio capture.")
 | 
				
			||||||
(define-public patchage
 | 
					(define-public patchage
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "patchage")
 | 
					    (name "patchage")
 | 
				
			||||||
    (version "1.0.0")
 | 
					    (version "1.0.2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://download.drobilla.net/patchage-"
 | 
					              (uri (string-append "https://download.drobilla.net/patchage-"
 | 
				
			||||||
| 
						 | 
					@ -2199,7 +2212,7 @@ buffers, and audio capture.")
 | 
				
			||||||
                                  ".tar.bz2"))
 | 
					                                  ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb"))))
 | 
					                "0dk3fiac10m83mwss3026yz7ygc47c2iw924cwwnh2fyydc9bsy6"))))
 | 
				
			||||||
    (build-system waf-build-system)
 | 
					    (build-system waf-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f                      ; no check target
 | 
					     `(#:tests? #f                      ; no check target
 | 
				
			||||||
| 
						 | 
					@ -3373,17 +3386,18 @@ with support for HD extensions.")
 | 
				
			||||||
(define-public bs1770gain
 | 
					(define-public bs1770gain
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "bs1770gain")
 | 
					    (name "bs1770gain")
 | 
				
			||||||
    (version "0.6.7")
 | 
					    (version "0.7.0")
 | 
				
			||||||
 | 
					    (home-page "https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "mirror://sourceforge/bs1770gain/bs1770gain/"
 | 
					       (uri (string-append "mirror://sourceforge/bs1770gain/bs1770gain/"
 | 
				
			||||||
                           version "/bs1770gain-" version ".tar.gz"))
 | 
					                           version "/bs1770gain-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "13hsbqj1dkpz1gbclnjxv50kr7b4gcjai6c1l38g01433h217qjc"))
 | 
					        (base32 "0a2dcaxvxy5m3a5sb1lhplsymvz3ypaiidc5xn9qy01h53zvyvkp"))
 | 
				
			||||||
       (modules '((guix build utils)))
 | 
					       (modules '((guix build utils)))
 | 
				
			||||||
       (snippet
 | 
					       (snippet
 | 
				
			||||||
        '(begin
 | 
					        `(begin
 | 
				
			||||||
           ;; XXX
 | 
					           ;; XXX
 | 
				
			||||||
           (substitute* (find-files "." "\\.[ch]$")
 | 
					           (substitute* (find-files "." "\\.[ch]$")
 | 
				
			||||||
             (("^ \\* N..o.*") ""))
 | 
					             (("^ \\* N..o.*") ""))
 | 
				
			||||||
| 
						 | 
					@ -3395,12 +3409,11 @@ with support for HD extensions.")
 | 
				
			||||||
                              "configure.ac"
 | 
					                              "configure.ac"
 | 
				
			||||||
                              "configure")
 | 
					                              "configure")
 | 
				
			||||||
             (("https?://bs1770gain[^/]*/")
 | 
					             (("https?://bs1770gain[^/]*/")
 | 
				
			||||||
              "https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html"))
 | 
					              ,home-page))
 | 
				
			||||||
           #t))))
 | 
					           #t))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs `(("ffmpeg" ,ffmpeg)
 | 
					    (inputs `(("ffmpeg" ,ffmpeg)
 | 
				
			||||||
              ("sox" ,sox)))
 | 
					              ("sox" ,sox)))
 | 
				
			||||||
    (home-page "https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html")
 | 
					 | 
				
			||||||
    (synopsis "Tool to adjust loudness of media files")
 | 
					    (synopsis "Tool to adjust loudness of media files")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "BS1770GAIN is a loudness scanner compliant with ITU-R BS.1770 and its
 | 
					     "BS1770GAIN is a loudness scanner compliant with ITU-R BS.1770 and its
 | 
				
			||||||
| 
						 | 
					@ -3573,14 +3586,14 @@ on the ALSA software PCM plugin.")
 | 
				
			||||||
(define-public snd
 | 
					(define-public snd
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "snd")
 | 
					    (name "snd")
 | 
				
			||||||
    (version "19.9")
 | 
					    (version "20.4")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
 | 
					              (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
 | 
				
			||||||
                                  "snd-" version ".tar.gz"))
 | 
					                                  "snd-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "13s8fahpsjygjdrcwmprcrz23ny3klaj2rh2xzdv3bfs69gxvhys"))))
 | 
					                "0irdizlng2s3akmxdbfxcbd93bbjz9543nh7fisszim6v0ks59d9"))))
 | 
				
			||||||
    (build-system glib-or-gtk-build-system)
 | 
					    (build-system glib-or-gtk-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f                      ; no tests
 | 
					     `(#:tests? #f                      ; no tests
 | 
				
			||||||
| 
						 | 
					@ -3930,15 +3943,15 @@ other Gnaural instances, allowing synchronous sessions between many users.")
 | 
				
			||||||
(define-public darkice
 | 
					(define-public darkice
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "darkice")
 | 
					    (name "darkice")
 | 
				
			||||||
    (version "1.3")
 | 
					    (version "1.4")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://sourceforge/darkice/darkice/"
 | 
					              (uri (string-append "https://github.com/rafael2k/darkice/releases/"
 | 
				
			||||||
                                  version "/darkice-" version ".tar.gz"))
 | 
					                                  "download/v" version "/darkice-"
 | 
				
			||||||
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32 "1rlxds7ssq7nk2in4s46xws7xy9ylxsqgcz85hxjgh17lsm0y39c"))
 | 
					               (base32
 | 
				
			||||||
              (patches
 | 
					                "05yq7lggxygrkd76yiqby3msrgdn082p0qlvmzzv9xbw8hmyra76"))))
 | 
				
			||||||
               (search-patches "darkice-workaround-fpermissive-error.patch"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs `(("pkg-config" ,pkg-config)))
 | 
					    (native-inputs `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
    (inputs `(("lame" ,lame)
 | 
					    (inputs `(("lame" ,lame)
 | 
				
			||||||
| 
						 | 
					@ -3988,7 +4001,7 @@ stream to one or more IceCast and/or ShoutCast servers.")
 | 
				
			||||||
(define-public redkite
 | 
					(define-public redkite
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "redkite")
 | 
					    (name "redkite")
 | 
				
			||||||
    (version "0.8.0")
 | 
					    (version "0.8.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -3997,8 +4010,7 @@ stream to one or more IceCast and/or ShoutCast servers.")
 | 
				
			||||||
             (commit (string-append "v" version))))
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "17kv2jc4jvn3sdicz3sf8dnf25wbvv7ijzkr0mm0sbrrjz6vrwz0"))))
 | 
				
			||||||
         "1747w1kg8y9jbl11xi018d85dm38xk7843pz26sh0k5fdv87a10q"))))
 | 
					 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f))                    ;no tests included
 | 
					     `(#:tests? #f))                    ;no tests included
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,6 +16,7 @@
 | 
				
			||||||
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
 | 
					;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
 | 
				
			||||||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
					;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
				
			||||||
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
					;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -562,14 +563,13 @@ detection, and lossless compression.")
 | 
				
			||||||
(define-public borg
 | 
					(define-public borg
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "borg")
 | 
					    (name "borg")
 | 
				
			||||||
    (version "1.1.11")
 | 
					    (version "1.1.13")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (pypi-uri "borgbackup" version))
 | 
					       (uri (pypi-uri "borgbackup" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "089q3flmwbz7dc28zlscwylf64kgck3jf1n6lqpwww8hlrk8cjhn"))
 | 
				
			||||||
         "190gjzx83b6p64nqj840x382dgz9gfv0gm7wj585lnkrpa90j29n"))
 | 
					 | 
				
			||||||
       (modules '((guix build utils)))
 | 
					       (modules '((guix build utils)))
 | 
				
			||||||
       (snippet
 | 
					       (snippet
 | 
				
			||||||
        '(begin
 | 
					        '(begin
 | 
				
			||||||
| 
						 | 
					@ -652,7 +652,8 @@ detection, and lossless compression.")
 | 
				
			||||||
                        ;; These tests assume the kernel supports FUSE.
 | 
					                        ;; These tests assume the kernel supports FUSE.
 | 
				
			||||||
                        "and not test_fuse "
 | 
					                        "and not test_fuse "
 | 
				
			||||||
                        "and not test_fuse_allow_damaged_files "
 | 
					                        "and not test_fuse_allow_damaged_files "
 | 
				
			||||||
                        "and not test_mount_hardlinks")))))
 | 
					                        "and not test_mount_hardlinks "
 | 
				
			||||||
 | 
					                        "and not test_readonly_mount ")))))
 | 
				
			||||||
         (add-after 'install 'install-doc
 | 
					         (add-after 'install 'install-doc
 | 
				
			||||||
           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
					           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
             (let* ((out (assoc-ref outputs "out"))
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
| 
						 | 
					@ -736,14 +737,14 @@ changes are stored.")
 | 
				
			||||||
(define-public wimlib
 | 
					(define-public wimlib
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "wimlib")
 | 
					    (name "wimlib")
 | 
				
			||||||
    (version "1.13.1")
 | 
					    (version "1.13.2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://wimlib.net/downloads/"
 | 
					              (uri (string-append "https://wimlib.net/downloads/"
 | 
				
			||||||
                                  "wimlib-" version ".tar.gz"))
 | 
					                                  "wimlib-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0pxgrpr3dr81rcf2jh71aiiq3v4anc5sj1nld18f2vhvbijbrx27"))))
 | 
					                "0id9ym3hzij4kpdrk0sz3ijxp5r0z1md5jch83pml9hdy1zbx5bj"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)))
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
| 
						 | 
					@ -1026,17 +1027,53 @@ stored previously can be read back in full at any time.  The program
 | 
				
			||||||
is format-agnostic, so you can feed virtually any files to it.")
 | 
					is format-agnostic, so you can feed virtually any files to it.")
 | 
				
			||||||
    (license license:gpl2+)))
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public dump
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "dump")
 | 
				
			||||||
 | 
					    (version "0.4b46")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "mirror://sourceforge/dump/dump/"
 | 
				
			||||||
 | 
					                           version "/dump-" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "15rg5y15ak0ppqlhcih78layvg7cwp6hc16p3c58xs8svlkxjqc0"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:configure-flags
 | 
				
			||||||
 | 
					       `("--sysconfdir=/etc"
 | 
				
			||||||
 | 
					         "--disable-readline"
 | 
				
			||||||
 | 
					         "--disable-rmt")))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("openssl" ,openssl-1.0)
 | 
				
			||||||
 | 
					       ("zlib" ,zlib)
 | 
				
			||||||
 | 
					       ("util-linux" ,util-linux "lib")
 | 
				
			||||||
 | 
					       ("e2fsprogs" ,e2fsprogs)))
 | 
				
			||||||
 | 
					    (home-page "https://dump.sourceforge.io/")
 | 
				
			||||||
 | 
					    (synopsis "Ext2/3/4 filesystem dump/restore utilities")
 | 
				
			||||||
 | 
					    (description "Dump examines files in a filesystem, determines which ones
 | 
				
			||||||
 | 
					need to be backed up, and copies those files to a specified disk, tape or
 | 
				
			||||||
 | 
					other storage medium.  Subsequent incremental backups can then be layered on
 | 
				
			||||||
 | 
					top of the full backup.  The restore command performs the inverse function of
 | 
				
			||||||
 | 
					dump; it can restore a full backup of a filesystem.  Single files and
 | 
				
			||||||
 | 
					directory subtrees may also be restored from full or partial backups in
 | 
				
			||||||
 | 
					interractive mode.")
 | 
				
			||||||
 | 
					    (license license:bsd-3)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public burp
 | 
					(define-public burp
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "burp")
 | 
					    (name "burp")
 | 
				
			||||||
    (version "2.3.24")
 | 
					    (version "2.3.28")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://sourceforge/burp/burp-" version
 | 
					              (uri (string-append "mirror://sourceforge/burp/burp-" version
 | 
				
			||||||
                                  "/burp-" version ".tar.bz2"))
 | 
					                                  "/burp-" version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0dmahqx8ldqdrx9b47r7ag3m801n7h3kclcqja1cc1jzhfhfq27w"))))
 | 
					                "18f8cjsb87skabvz4cl5pdln35qmim7x686js1xzpld6wyl9kv2k"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1351,7 +1351,7 @@ command.")
 | 
				
			||||||
(define-public tzdata
 | 
					(define-public tzdata
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "tzdata")
 | 
					    (name "tzdata")
 | 
				
			||||||
    (version "2019c")
 | 
					    (version "2020a")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append
 | 
					             (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -1359,7 +1359,7 @@ command.")
 | 
				
			||||||
                   version ".tar.gz"))
 | 
					                   version ".tar.gz"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr"))))
 | 
					               "18lrp0zh8m931jjlrv8lvjas4ka5dfkzdbwnbw5lwd2dlbn62wal"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:tests? #f
 | 
					     '(#:tests? #f
 | 
				
			||||||
| 
						 | 
					@ -1409,7 +1409,7 @@ command.")
 | 
				
			||||||
                                version ".tar.gz"))
 | 
					                                version ".tar.gz"))
 | 
				
			||||||
                          (sha256
 | 
					                          (sha256
 | 
				
			||||||
                           (base32
 | 
					                           (base32
 | 
				
			||||||
                            "1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn"))))))
 | 
					                            "0sfnlqw1p93r7klny69rwr94fh22mz632h52phgzfgg01q9gfakx"))))))
 | 
				
			||||||
    (home-page "https://www.iana.org/time-zones")
 | 
					    (home-page "https://www.iana.org/time-zones")
 | 
				
			||||||
    (synopsis "Database of current and historical time zones")
 | 
					    (synopsis "Database of current and historical time zones")
 | 
				
			||||||
    (description "The Time Zone Database (often called tz or zoneinfo)
 | 
					    (description "The Time Zone Database (often called tz or zoneinfo)
 | 
				
			||||||
| 
						 | 
					@ -1426,7 +1426,26 @@ and daylight-saving rules.")
 | 
				
			||||||
;;; package.
 | 
					;;; package.
 | 
				
			||||||
(define-public tzdata-for-tests
 | 
					(define-public tzdata-for-tests
 | 
				
			||||||
  (hidden-package
 | 
					  (hidden-package
 | 
				
			||||||
   (package/inherit tzdata)))
 | 
					   (package
 | 
				
			||||||
 | 
					     (inherit tzdata)
 | 
				
			||||||
 | 
					     (version "2019c")
 | 
				
			||||||
 | 
					     (source (origin
 | 
				
			||||||
 | 
					               (method url-fetch)
 | 
				
			||||||
 | 
					               (uri (string-append
 | 
				
			||||||
 | 
					                     "https://data.iana.org/time-zones/releases/tzdata"
 | 
				
			||||||
 | 
					                     version ".tar.gz"))
 | 
				
			||||||
 | 
					               (sha256
 | 
				
			||||||
 | 
					                (base32
 | 
				
			||||||
 | 
					                 "0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr"))))
 | 
				
			||||||
 | 
					     (inputs
 | 
				
			||||||
 | 
					      `(("tzcode" ,(origin
 | 
				
			||||||
 | 
					                     (method url-fetch)
 | 
				
			||||||
 | 
					                     (uri (string-append
 | 
				
			||||||
 | 
					                           "https://data.iana.org/time-zones/releases/tzcode"
 | 
				
			||||||
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
 | 
					                     (sha256
 | 
				
			||||||
 | 
					                      (base32
 | 
				
			||||||
 | 
					                       "1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn")))))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public libiconv
 | 
					(define-public libiconv
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
 | 
					;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
 | 
				
			||||||
;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
 | 
					;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
 | 
				
			||||||
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
| 
						 | 
					@ -38,8 +38,11 @@
 | 
				
			||||||
  #:use-module (guix store)
 | 
					  #:use-module (guix store)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
  #:autoload   (guix gnupg) (gnupg-verify*)
 | 
					  #:autoload   (guix gnupg) (gnupg-verify*)
 | 
				
			||||||
  #:autoload   (gcrypt hash) (port-sha256)
 | 
					 | 
				
			||||||
  #:autoload   (guix base32) (bytevector->nix-base32-string)
 | 
					  #:autoload   (guix base32) (bytevector->nix-base32-string)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ;; See <https://bugs.gnu.org/41457> for why not #:autoload here.
 | 
				
			||||||
 | 
					  #:use-module ((gcrypt hash) #:select (port-sha256))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  #:use-module (srfi srfi-1)
 | 
					  #:use-module (srfi srfi-1)
 | 
				
			||||||
  #:use-module (srfi srfi-26)
 | 
					  #:use-module (srfi srfi-26)
 | 
				
			||||||
  #:use-module (ice-9 format))
 | 
					  #:use-module (ice-9 format))
 | 
				
			||||||
| 
						 | 
					@ -48,12 +51,12 @@
 | 
				
			||||||
  "Return the URL of Bash patch number SEQNO."
 | 
					  "Return the URL of Bash patch number SEQNO."
 | 
				
			||||||
  (format #f "mirror://gnu/bash/bash-5.0-patches/bash50-~3,'0d" seqno))
 | 
					  (format #f "mirror://gnu/bash/bash-5.0-patches/bash50-~3,'0d" seqno))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (bash-patch seqno sha256)
 | 
					(define (bash-patch seqno sha256-bv)
 | 
				
			||||||
  "Return the origin of Bash patch SEQNO, with expected hash SHA256"
 | 
					  "Return the origin of Bash patch SEQNO, with expected hash SHA256-BV."
 | 
				
			||||||
  (origin
 | 
					  (origin
 | 
				
			||||||
    (method url-fetch)
 | 
					    (method url-fetch)
 | 
				
			||||||
    (uri (patch-url seqno))
 | 
					    (uri (patch-url seqno))
 | 
				
			||||||
    (sha256 sha256)))
 | 
					    (sha256 sha256-bv)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-syntax-rule (patch-series (seqno hash) ...)
 | 
					(define-syntax-rule (patch-series (seqno hash) ...)
 | 
				
			||||||
  (list (bash-patch seqno (base32 hash))
 | 
					  (list (bash-patch seqno (base32 hash))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -46,14 +46,14 @@
 | 
				
			||||||
(define-public fio
 | 
					(define-public fio
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "fio")
 | 
					    (name "fio")
 | 
				
			||||||
    (version "3.19")
 | 
					    (version "3.20")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://brick.kernel.dk/snaps/"
 | 
					              (uri (string-append "https://brick.kernel.dk/snaps/"
 | 
				
			||||||
                                  "fio-" version ".tar.bz2"))
 | 
					                                  "fio-" version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "01nc7igmcc6hda32d1y8vidd9x9pdlxvf3i1pwrzvmi6xvmbfvab"))))
 | 
					                "1mwqafn81a9pxy2kw9rl4p3r2brhg2ckwrcwzy0q4gffxgn3k9c7"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:test-target "test"
 | 
					     '(#:test-target "test"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -73,6 +73,7 @@
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
                    "https://github.com/transmission/transmission-releases/raw/"
 | 
					                    "https://github.com/transmission/transmission-releases/raw/"
 | 
				
			||||||
                    "master/transmission-" version ".tar.xz"))
 | 
					                    "master/transmission-" version ".tar.xz"))
 | 
				
			||||||
 | 
					              (patches (search-patches "transmission-CVE-2018-10756.patch"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0zbbj7rlm6m7vb64x68a64cwmijhsrwx9l63hbwqs7zr9742qi1m"))))
 | 
					                "0zbbj7rlm6m7vb64x68a64cwmijhsrwx9l63hbwqs7zr9742qi1m"))))
 | 
				
			||||||
| 
						 | 
					@ -314,15 +315,15 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
 | 
				
			||||||
(define-public uget
 | 
					(define-public uget
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "uget")
 | 
					    (name "uget")
 | 
				
			||||||
    (version "2.0.8")
 | 
					    (version "2.2.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "mirror://sourceforge/urlget/"
 | 
					       (uri (string-append "mirror://sourceforge/urlget/"
 | 
				
			||||||
                           "uget%20%28stable%29/" version "/uget-"
 | 
					                           "uget%20%28stable%29/" version "/uget-"
 | 
				
			||||||
                           version ".tar.gz"))
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
               (base32
 | 
					        (base32 "0rg2mr2cndxvnjib8zm5dp7y2hgbvnqkz2j2jmg0xlzfh9d34b2m"))))
 | 
				
			||||||
                "0919cf7lfk1djdl003cahqjvafdliv7v2l8r5wg95n4isqggdk75"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("curl" ,curl)
 | 
					     `(("curl" ,curl)
 | 
				
			||||||
| 
						 | 
					@ -336,7 +337,7 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("intltool" ,intltool)
 | 
					     `(("intltool" ,intltool)
 | 
				
			||||||
       ("pkg-config" ,pkg-config)))
 | 
					       ("pkg-config" ,pkg-config)))
 | 
				
			||||||
    (home-page "http://ugetdm.com/")
 | 
					    (home-page "https://ugetdm.com/")
 | 
				
			||||||
    (synopsis "Universal download manager with GTK+ interface")
 | 
					    (synopsis "Universal download manager with GTK+ interface")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "uGet is portable download manager with GTK+ interface supporting
 | 
					     "uGet is portable download manager with GTK+ interface supporting
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,6 +13,7 @@
 | 
				
			||||||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
					;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
				
			||||||
;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org>
 | 
					;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org>
 | 
				
			||||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 | 
					;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -241,12 +242,40 @@ across a broad spectrum of applications.")
 | 
				
			||||||
    (arguments (substitute-keyword-arguments (package-arguments boost)
 | 
					    (arguments (substitute-keyword-arguments (package-arguments boost)
 | 
				
			||||||
      ((#:phases phases)
 | 
					      ((#:phases phases)
 | 
				
			||||||
       `(modify-phases ,phases
 | 
					       `(modify-phases ,phases
 | 
				
			||||||
          ;; This was removed after boost-1.67.
 | 
					          (replace 'configure
 | 
				
			||||||
          (add-before 'configure 'more-bin-sh-patching
 | 
					            (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
            (lambda _
 | 
					              (let ((icu (assoc-ref inputs "icu4c"))
 | 
				
			||||||
              (substitute* "tools/build/doc/bjam.qbk"
 | 
					                    (out (assoc-ref outputs "out")))
 | 
				
			||||||
                (("/bin/sh") (which "sh")))))
 | 
					                (substitute* (append
 | 
				
			||||||
          (delete 'provide-libboost_python)))))
 | 
					                               (find-files "tools/build/src/engine/" "execunix\\.c.*")
 | 
				
			||||||
 | 
					                               '("libs/config/configure"
 | 
				
			||||||
 | 
					                                 "libs/spirit/classic/phoenix/test/runtest.sh"
 | 
				
			||||||
 | 
					                                 "tools/build/doc/bjam.qbk"
 | 
				
			||||||
 | 
					                                 "tools/build/src/engine/Jambase"))
 | 
				
			||||||
 | 
					                  (("/bin/sh") (which "sh")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                (setenv "SHELL" (which "sh"))
 | 
				
			||||||
 | 
					                (setenv "CONFIG_SHELL" (which "sh"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                ,@(if (%current-target-system)
 | 
				
			||||||
 | 
					                    `((call-with-output-file "user-config.jam"
 | 
				
			||||||
 | 
					                        (lambda (port)
 | 
				
			||||||
 | 
					                          (format port
 | 
				
			||||||
 | 
					                                  "using gcc : cross : ~a-c++ ;"
 | 
				
			||||||
 | 
					                                  ,(%current-target-system)))))
 | 
				
			||||||
 | 
					                    '())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                (invoke "./bootstrap.sh"
 | 
				
			||||||
 | 
					                        (string-append "--prefix=" out)
 | 
				
			||||||
 | 
					                        ;; Auto-detection looks for ICU only in traditional
 | 
				
			||||||
 | 
					                        ;; install locations.
 | 
				
			||||||
 | 
					                        (string-append "--with-icu=" icu)
 | 
				
			||||||
 | 
					                        "--with-toolset=gcc"))))
 | 
				
			||||||
 | 
					          (delete 'provide-libboost_python)))
 | 
				
			||||||
 | 
					      ((#:make-flags make-flags)
 | 
				
			||||||
 | 
					       `(cons* "--without-python" ,make-flags))))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     (alist-delete "python" (package-native-inputs boost)))
 | 
				
			||||||
    (properties '((hidden? . #t)))))
 | 
					    (properties '((hidden? . #t)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public boost-sync
 | 
					(define-public boost-sync
 | 
				
			||||||
| 
						 | 
					@ -293,7 +322,7 @@ Boost.Thread.")
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1nayaqshhzr1n6jj43bpvvay36d5gn075h0b95psii5x8ingszdk"))))
 | 
					                "13i5j43nggb46i6qpaf7gk53i7zp7pimphl7sydyfqz2m9yx5cdy"))))
 | 
				
			||||||
    (build-system trivial-build-system)
 | 
					    (build-system trivial-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:modules ((guix build utils))
 | 
					     `(#:modules ((guix build utils))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,7 +7,7 @@
 | 
				
			||||||
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org>
 | 
					;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org>
 | 
				
			||||||
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
 | 
					;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
 | 
				
			||||||
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;; Copyright © 2019 nee <nee@cock.li>
 | 
					;;; Copyright © 2019 nee <nee@cock.li>
 | 
				
			||||||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
					;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
				
			||||||
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 | 
					;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 | 
				
			||||||
| 
						 | 
					@ -96,6 +96,7 @@
 | 
				
			||||||
               "0zgp5m3hmc9jh8wpjx6czzkh5id2y8n1k823x2mjvm2sk6b28ag5"))
 | 
					               "0zgp5m3hmc9jh8wpjx6czzkh5id2y8n1k823x2mjvm2sk6b28ag5"))
 | 
				
			||||||
             (patches (search-patches
 | 
					             (patches (search-patches
 | 
				
			||||||
                       "grub-efi-fat-serial-number.patch"
 | 
					                       "grub-efi-fat-serial-number.patch"
 | 
				
			||||||
 | 
					                       "grub-setup-root.patch"
 | 
				
			||||||
                       "grub-verifiers-Blocklist-fallout-cleanup.patch"))))
 | 
					                       "grub-verifiers-Blocklist-fallout-cleanup.patch"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					@ -1016,7 +1017,8 @@ tools, and more.")
 | 
				
			||||||
                  (guix build utils)
 | 
					                  (guix build utils)
 | 
				
			||||||
                  (ice-9 regex)         ; for string-match
 | 
					                  (ice-9 regex)         ; for string-match
 | 
				
			||||||
                  (srfi srfi-26))       ; for cut
 | 
					                  (srfi srfi-26))       ; for cut
 | 
				
			||||||
       #:make-flags (list "CC=gcc")
 | 
					       #:make-flags
 | 
				
			||||||
 | 
					       (list ,(string-append "CC=" (cc-for-target)))
 | 
				
			||||||
       #:tests? #f                      ; no tests
 | 
					       #:tests? #f                      ; no tests
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,9 +1,10 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;; Copyright © 2014, 2015, 2018, 2019 Mark H Weaver <mhw@netris.org>
 | 
					;;; Copyright © 2014, 2015, 2018, 2019 Mark H Weaver <mhw@netris.org>
 | 
				
			||||||
;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2018, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
					;;; Copyright © 2018, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
				
			||||||
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
 | 
					;;; Copyright © 2019 Carl Dong <contact@carldong.me>
 | 
				
			||||||
 | 
					;;; Copyright © 2019 Léo Le Bouter <lle-bout@zaclys.net>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -151,14 +152,14 @@ built for SYSTEM."
 | 
				
			||||||
                   (format #f (G_ "could not find bootstrap binary '~a' \
 | 
					                   (format #f (G_ "could not find bootstrap binary '~a' \
 | 
				
			||||||
for system '~a'")
 | 
					for system '~a'")
 | 
				
			||||||
                           program system))))))
 | 
					                           program system))))))
 | 
				
			||||||
        ((sha256)
 | 
					        ((bv)
 | 
				
			||||||
         (origin
 | 
					         (origin
 | 
				
			||||||
           (method url-fetch/executable)
 | 
					           (method url-fetch/executable)
 | 
				
			||||||
           (uri (map (cute string-append <>
 | 
					           (uri (map (cute string-append <>
 | 
				
			||||||
                           (bootstrap-executable-file-name system program))
 | 
					                           (bootstrap-executable-file-name system program))
 | 
				
			||||||
                     %bootstrap-executable-base-urls))
 | 
					                     %bootstrap-executable-base-urls))
 | 
				
			||||||
           (file-name program)
 | 
					           (file-name program)
 | 
				
			||||||
           (sha256 sha256)))))))
 | 
					           (hash (content-hash bv sha256))))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -285,6 +286,7 @@ or false to signal an error."
 | 
				
			||||||
        ((string=? system "i686-gnu") "/lib/ld.so.1")
 | 
					        ((string=? system "i686-gnu") "/lib/ld.so.1")
 | 
				
			||||||
        ((string=? system "aarch64-linux") "/lib/ld-linux-aarch64.so.1")
 | 
					        ((string=? system "aarch64-linux") "/lib/ld-linux-aarch64.so.1")
 | 
				
			||||||
        ((string=? system "powerpc-linux") "/lib/ld.so.1")
 | 
					        ((string=? system "powerpc-linux") "/lib/ld.so.1")
 | 
				
			||||||
 | 
					        ((string=? system "powerpc64-linux") "/lib/ld64.so.1")
 | 
				
			||||||
        ((string=? system "powerpc64le-linux") "/lib/ld64.so.2")
 | 
					        ((string=? system "powerpc64le-linux") "/lib/ld64.so.2")
 | 
				
			||||||
        ((string=? system "alpha-linux") "/lib/ld-linux.so.2")
 | 
					        ((string=? system "alpha-linux") "/lib/ld-linux.so.2")
 | 
				
			||||||
        ((string=? system "s390x-linux") "/lib/ld64.so.1")
 | 
					        ((string=? system "s390x-linux") "/lib/ld64.so.1")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,6 +9,7 @@
 | 
				
			||||||
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
 | 
					;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
 | 
				
			||||||
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 | 
					;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 | 
				
			||||||
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
 | 
					;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -33,12 +34,14 @@
 | 
				
			||||||
  #:use-module (guix git-download)
 | 
					  #:use-module (guix git-download)
 | 
				
			||||||
  #:use-module (guix build-system cmake)
 | 
					  #:use-module (guix build-system cmake)
 | 
				
			||||||
  #:use-module (gnu packages)
 | 
					  #:use-module (gnu packages)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages check)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
  #:use-module (gnu packages lua)
 | 
					  #:use-module (gnu packages lua)
 | 
				
			||||||
  #:use-module (gnu packages package-management)
 | 
					  #:use-module (gnu packages package-management)
 | 
				
			||||||
  #:use-module (gnu packages python)
 | 
					  #:use-module (gnu packages python)
 | 
				
			||||||
  #:use-module (gnu packages python-crypto)
 | 
					  #:use-module (gnu packages python-crypto)
 | 
				
			||||||
  #:use-module (gnu packages python-web)
 | 
					  #:use-module (gnu packages python-web)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages python-xyz)
 | 
				
			||||||
  #:use-module (gnu packages ninja)
 | 
					  #:use-module (gnu packages ninja)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
  #:use-module (guix build-system python))
 | 
					  #:use-module (guix build-system python))
 | 
				
			||||||
| 
						 | 
					@ -310,3 +313,38 @@ Service.  It allows you to checkout, commit, perform reviews etc.  The vast
 | 
				
			||||||
majority of the OBS functionality is available via commands and the rest can
 | 
					majority of the OBS functionality is available via commands and the rest can
 | 
				
			||||||
be reached via direct API calls.")
 | 
					be reached via direct API calls.")
 | 
				
			||||||
    (license license:gpl2+)))
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public compiledb
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "compiledb")
 | 
				
			||||||
 | 
					    (version "0.10.1")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					      (origin
 | 
				
			||||||
 | 
					        (method url-fetch)
 | 
				
			||||||
 | 
					        (uri (pypi-uri "compiledb" version))
 | 
				
			||||||
 | 
					        (sha256
 | 
				
			||||||
 | 
					          (base32 "0vlngsdxfakyl8b7rnvn8h3l216lhbrrydr04yhy6kd03zflgfq6"))))
 | 
				
			||||||
 | 
					    (build-system python-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-after 'unpack 'no-compat-shim-dependency
 | 
				
			||||||
 | 
					           ;; shutilwhich is only needed for python 3.3 and earlier
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (substitute* "setup.py" (("^ *'shutilwhich'\n") ""))
 | 
				
			||||||
 | 
					             (substitute* "compiledb/compiler.py" (("shutilwhich") "shutil")))))))
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					      `(("python-bashlex" ,python-bashlex)
 | 
				
			||||||
 | 
					        ("python-click" ,python-click)))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					      `(("python-pytest" ,python-pytest)))
 | 
				
			||||||
 | 
					    (home-page
 | 
				
			||||||
 | 
					      "https://github.com/nickdiego/compiledb")
 | 
				
			||||||
 | 
					    (synopsis
 | 
				
			||||||
 | 
					      "Generate Clang JSON Compilation Database files for make-based build systems")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "@code{compiledb} provides a @code{make} python wrapper script which,
 | 
				
			||||||
 | 
					besides executing the make build command, updates the JSON compilation
 | 
				
			||||||
 | 
					database file corresponding to that build, resulting in a command-line
 | 
				
			||||||
 | 
					interface similar to Bear.")
 | 
				
			||||||
 | 
					    (license license:gpl3)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
;;; 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 © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -32,7 +32,7 @@
 | 
				
			||||||
(define-public busybox
 | 
					(define-public busybox
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "busybox")
 | 
					    (name "busybox")
 | 
				
			||||||
    (version "1.29.3")
 | 
					    (version "1.31.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -40,11 +40,18 @@
 | 
				
			||||||
                    version ".tar.bz2"))
 | 
					                    version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1dzg45vgy2w1xcd3p6h8d76ykhabbvk1h0lf8yb24ikrwlv8cr4p"))))
 | 
					                "1659aabzp8w4hayr4z8kcpbk2z1q2wqhw7i1yb0l72b45ykl1yfh"))
 | 
				
			||||||
 | 
					              (patches
 | 
				
			||||||
 | 
					               (search-patches
 | 
				
			||||||
 | 
					                "busybox-1.31.1-fix-build-with-glibc-2.31.patch"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:phases
 | 
					     '(#:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-before 'configure 'disable-timestamps
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (setenv "KCONFIG_NOTIMESTAMP" "1")
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
         (add-before 'configure 'disable-taskset
 | 
					         (add-before 'configure 'disable-taskset
 | 
				
			||||||
           ;; This feature fails its tests in the build environment,
 | 
					           ;; This feature fails its tests in the build environment,
 | 
				
			||||||
           ;; was default 'n' until after 1.26.2.
 | 
					           ;; was default 'n' until after 1.26.2.
 | 
				
			||||||
| 
						 | 
					@ -75,6 +82,9 @@
 | 
				
			||||||
             (substitute* "testsuite/date/date-works-1"
 | 
					             (substitute* "testsuite/date/date-works-1"
 | 
				
			||||||
               (("/bin/date") (which "date")))
 | 
					               (("/bin/date") (which "date")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					             (substitute* "testsuite/start-stop-daemon.tests"
 | 
				
			||||||
 | 
					              (("/bin/false") (which "false")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
             ;; The pidof tests assume that pid 1 is called "init" but that is not
 | 
					             ;; The pidof tests assume that pid 1 is called "init" but that is not
 | 
				
			||||||
             ;; true in guix build environment
 | 
					             ;; true in guix build environment
 | 
				
			||||||
             (substitute* "testsuite/pidof.tests"
 | 
					             (substitute* "testsuite/pidof.tests"
 | 
				
			||||||
| 
						 | 
					@ -113,7 +123,7 @@ any small or embedded system.")
 | 
				
			||||||
(define-public toybox
 | 
					(define-public toybox
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "toybox")
 | 
					    (name "toybox")
 | 
				
			||||||
    (version "0.8.2")
 | 
					    (version "0.8.3")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -121,7 +131,7 @@ any small or embedded system.")
 | 
				
			||||||
                    version ".tar.gz"))
 | 
					                    version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1mgya8zxgf30i5w3rhsb3n70kwlhifxbajh6wqdsz6rf8kx609ws"))))
 | 
					                "00aw9d809wj1bqlb2fsssdgz7rj0363ya14py0gfdm0rkp98zcpa"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:phases
 | 
					     '(#:phases
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,6 +7,8 @@
 | 
				
			||||||
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
 | 
					;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
 | 
				
			||||||
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
 | 
					;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
 | 
				
			||||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
					;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
 | 
				
			||||||
 | 
					;;; Copyright @ 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -40,6 +42,7 @@
 | 
				
			||||||
  #:use-module (gnu packages multiprecision)
 | 
					  #:use-module (gnu packages multiprecision)
 | 
				
			||||||
  #:use-module (gnu packages pcre)
 | 
					  #:use-module (gnu packages pcre)
 | 
				
			||||||
  #:use-module (gnu packages python)
 | 
					  #:use-module (gnu packages python)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages python-xyz)
 | 
				
			||||||
  #:use-module (gnu packages autotools)
 | 
					  #:use-module (gnu packages autotools)
 | 
				
			||||||
  #:use-module (gnu packages gettext)
 | 
					  #:use-module (gnu packages gettext)
 | 
				
			||||||
  #:use-module (gnu packages pkg-config)
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
| 
						 | 
					@ -235,15 +238,14 @@ whose behaviour is inconsistent across *NIX flavours.")
 | 
				
			||||||
(define-public libhx
 | 
					(define-public libhx
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libhx")
 | 
					    (name "libhx")
 | 
				
			||||||
    (version "3.24")
 | 
					    (version "3.25")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "mirror://sourceforge/libhx/libHX/"
 | 
					       (uri (string-append "mirror://sourceforge/libhx/libHX/"
 | 
				
			||||||
                           "libHX-" version ".tar.xz"))
 | 
					                           "libHX-" version ".tar.xz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "12avn16f8aqb0cq6jplz0sv7rh6f07m85dwc8dasnnwsvijwbpbj"))))
 | 
				
			||||||
         "0i8v2464p830c15myknvvs6bhxaf663lrqgga95l94ygfynkw6x5"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (home-page "http://libhx.sourceforge.net")
 | 
					    (home-page "http://libhx.sourceforge.net")
 | 
				
			||||||
    (synopsis "C library with common data structures and functions")
 | 
					    (synopsis "C library with common data structures and functions")
 | 
				
			||||||
| 
						 | 
					@ -254,6 +256,57 @@ string formatting and autoresizing, option and config file parsing, type
 | 
				
			||||||
checking casts and more.")
 | 
					checking casts and more.")
 | 
				
			||||||
    (license license:lgpl2.1+)))
 | 
					    (license license:lgpl2.1+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public packcc
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "packcc")
 | 
				
			||||||
 | 
					    ;; We need a few fixes on top of the latest release to prevent test
 | 
				
			||||||
 | 
					    ;; failures in Universal Ctags.
 | 
				
			||||||
 | 
					    (version "1.2.5-19-g58d1b9d")
 | 
				
			||||||
 | 
					    (home-page "https://github.com/enechaev/packcc")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method git-fetch)
 | 
				
			||||||
 | 
					              (uri (git-reference
 | 
				
			||||||
 | 
					                    (url home-page)
 | 
				
			||||||
 | 
					                    (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "0biyv835jlk43fvmmd3p8jafs7k2iw9qlaj37hvsl604ai6rd5aj"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     '(#:tests? #f                      ;no tests
 | 
				
			||||||
 | 
					       #:make-flags '("-DUSE_SYSTEM_STRNLEN=1")
 | 
				
			||||||
 | 
					       #:phases (modify-phases %standard-phases
 | 
				
			||||||
 | 
					                  ;; The project consists of a single source file and has
 | 
				
			||||||
 | 
					                  ;; no actual build system, so we need to do it manually.
 | 
				
			||||||
 | 
					                  (delete 'configure)
 | 
				
			||||||
 | 
					                  (replace 'build
 | 
				
			||||||
 | 
					                    (lambda* (#:key make-flags #:allow-other-keys)
 | 
				
			||||||
 | 
					                      (apply invoke "gcc" "-o" "packcc" "packcc.c"
 | 
				
			||||||
 | 
					                                      make-flags)))
 | 
				
			||||||
 | 
					                  (replace 'install
 | 
				
			||||||
 | 
					                    (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					                      (let ((out (assoc-ref outputs "out")))
 | 
				
			||||||
 | 
					                        (install-file "packcc" (string-append out "/bin"))
 | 
				
			||||||
 | 
					                        (install-file "README.md"
 | 
				
			||||||
 | 
					                                      (string-append out "/share/doc/packcc"))
 | 
				
			||||||
 | 
					                        #t))))))
 | 
				
			||||||
 | 
					    (synopsis "Packrat parser generator for C")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "PackCC is a packrat parser generator for the C programming language.
 | 
				
			||||||
 | 
					Its main features are:
 | 
				
			||||||
 | 
					@itemize
 | 
				
			||||||
 | 
					@item Generates a parser in C from a grammar described in a PEG.
 | 
				
			||||||
 | 
					@item Gives your parser great efficiency by packrat parsing.
 | 
				
			||||||
 | 
					@item Supports direct and indirect left-recursive grammar rules.
 | 
				
			||||||
 | 
					@end itemize
 | 
				
			||||||
 | 
					The grammar of your parser can be described in a @acronym{PEG, Parsing
 | 
				
			||||||
 | 
					Expression Grammar}.  The PEG is a top-down parsing language, and is similar
 | 
				
			||||||
 | 
					to the regular-expression grammar.  The PEG does not require tokenization to
 | 
				
			||||||
 | 
					be a separate step, and tokenization rules can be written in the same way as
 | 
				
			||||||
 | 
					any other grammar rules.")
 | 
				
			||||||
 | 
					    (license license:expat)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public sparse
 | 
					(define-public sparse
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "sparse")
 | 
					    (name "sparse")
 | 
				
			||||||
| 
						 | 
					@ -288,3 +341,98 @@ address space pointers point to, or what locks a function acquires or
 | 
				
			||||||
releases.")
 | 
					releases.")
 | 
				
			||||||
    (home-page "https://sparse.wiki.kernel.org/index.php/Main_Page")
 | 
					    (home-page "https://sparse.wiki.kernel.org/index.php/Main_Page")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (license license:expat)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public libestr
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "libestr")
 | 
				
			||||||
 | 
					    (version "0.1.11")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method git-fetch)
 | 
				
			||||||
 | 
					       (uri (git-reference
 | 
				
			||||||
 | 
					             (url "https://github.com/rsyslog/libestr.git")
 | 
				
			||||||
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1ca4rj90c0dn7kqpbcchkflxjw88a7rxcnwbr0gply4a28i01nd8"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         ;; autogen.sh calls configure at the end of the script.
 | 
				
			||||||
 | 
					         (replace 'bootstrap
 | 
				
			||||||
 | 
					           (lambda _ (invoke "autoreconf" "-vfi"))))))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("autoconf" ,autoconf)
 | 
				
			||||||
 | 
					       ("automake" ,automake)
 | 
				
			||||||
 | 
					       ("pkg-config" ,pkg-config)
 | 
				
			||||||
 | 
					       ("libtool" ,libtool)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/rsyslog/libestr")
 | 
				
			||||||
 | 
					    (synopsis "Helper functions for handling strings")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "This C library contains some essential string manipulation functions and
 | 
				
			||||||
 | 
					more, like escaping special characters.")
 | 
				
			||||||
 | 
					    (license license:lgpl2.1+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public libfastjson
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "libfastjson")
 | 
				
			||||||
 | 
					    (version "0.99.8")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method git-fetch)
 | 
				
			||||||
 | 
					       (uri (git-reference
 | 
				
			||||||
 | 
					             (url "https://github.com/rsyslog/libfastjson.git")
 | 
				
			||||||
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "0qhs0g9slj3p0v2z4s3cnsx44msrlb4k78ljg7714qiziqbrbwyl"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("autoconf" ,autoconf)
 | 
				
			||||||
 | 
					       ("automake" ,automake)
 | 
				
			||||||
 | 
					       ("libtool" ,libtool)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/rsyslog/libfastjson")
 | 
				
			||||||
 | 
					    (synopsis "Fast JSON library for C")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "libfastjson is a fork from json-c aiming to provide: a small library
 | 
				
			||||||
 | 
					with essential JSON handling functions, sufficiently good JSON support (not
 | 
				
			||||||
 | 
					100% standards compliant), and very fast processing.")
 | 
				
			||||||
 | 
					    (license license:expat)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public liblogging
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "liblogging")
 | 
				
			||||||
 | 
					    (version "1.0.6")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method git-fetch)
 | 
				
			||||||
 | 
					       (uri (git-reference
 | 
				
			||||||
 | 
					             (url "https://github.com/rsyslog/liblogging.git")
 | 
				
			||||||
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1l32m0y65svf5vxsgw935jnqs6842rcqr56dmzwqvr00yfrjhjkp"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         ;; autogen.sh calls configure at the end of the script.
 | 
				
			||||||
 | 
					         (replace 'bootstrap
 | 
				
			||||||
 | 
					           (lambda _ (invoke "autoreconf" "-vfi"))))))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("autoconf" ,autoconf)
 | 
				
			||||||
 | 
					       ("automake" ,automake)
 | 
				
			||||||
 | 
					       ("pkg-config" ,pkg-config)
 | 
				
			||||||
 | 
					       ("libtool" ,libtool)
 | 
				
			||||||
 | 
					       ;; For rst2man.py
 | 
				
			||||||
 | 
					       ("python-docutils" ,python-docutils)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/rsyslog/liblogging")
 | 
				
			||||||
 | 
					    (synopsis "Easy to use and lightweight signal-safe logging library")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "Liblogging is an easy to use library for logging.  It offers an enhanced
 | 
				
			||||||
 | 
					replacement for the syslog() call, but retains its ease of use.")
 | 
				
			||||||
 | 
					    (license license:bsd-2)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -110,7 +110,7 @@ the <tz.h> library for handling time zones and leap seconds.")
 | 
				
			||||||
(define-public libical
 | 
					(define-public libical
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libical")
 | 
					    (name "libical")
 | 
				
			||||||
    (version "3.0.7")
 | 
					    (version "3.0.8")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -118,22 +118,7 @@ the <tz.h> library for handling time zones and leap seconds.")
 | 
				
			||||||
                    version "/libical-" version ".tar.gz"))
 | 
					                    version "/libical-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1z33wzaazbd7drl6qbh1750whd78xl2cg0gjnxyya9m83vgndgha"))
 | 
					                "0vr8s7hn8204lyc4ys5bs3j5qss4lmc9ffly2m1a59avyz5cmzh9"))))
 | 
				
			||||||
              (patches
 | 
					 | 
				
			||||||
               ;; Add a patch slated for 3.0.8 which preserves backwards-
 | 
					 | 
				
			||||||
               ;; compatibility in the icalattach_new_from_data() function,
 | 
					 | 
				
			||||||
               ;; which accidentally changed in 3.0.7 and could break some uses.
 | 
					 | 
				
			||||||
               ;; https://gitlab.gnome.org/GNOME/evolution-data-server/issues/185
 | 
					 | 
				
			||||||
               ;; http://lists.infradead.org/pipermail/libical-devel/2020-January/000907.html
 | 
					 | 
				
			||||||
               (list (origin
 | 
					 | 
				
			||||||
                       (method url-fetch)
 | 
					 | 
				
			||||||
                       (uri (string-append
 | 
					 | 
				
			||||||
                             "https://github.com/libical/libical/commit/"
 | 
					 | 
				
			||||||
                             "ae394010c889e4c185160da5e81527849f9de350.patch"))
 | 
					 | 
				
			||||||
                       (file-name "libical-3.0.7-preserve-icalattach-api.patch")
 | 
					 | 
				
			||||||
                       (sha256
 | 
					 | 
				
			||||||
                        (base32
 | 
					 | 
				
			||||||
                         "0v8qcxn8a6sh78grzxd61j9478928dx38l5mf8mkdrbxv47vmvvp")))))))
 | 
					 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:tests? #f ; test suite appears broken
 | 
					     '(#:tests? #f ; test suite appears broken
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2014, 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
 | 
					;;; Copyright © 2014, 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
 | 
				
			||||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -30,14 +30,14 @@
 | 
				
			||||||
(define-public ccache
 | 
					(define-public ccache
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ccache")
 | 
					    (name "ccache")
 | 
				
			||||||
    (version "3.7.7")
 | 
					    (version "3.7.9")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "https://github.com/ccache/ccache/releases/download/v"
 | 
					       (uri (string-append "https://github.com/ccache/ccache/releases/download/v"
 | 
				
			||||||
                           version "/ccache-" version ".tar.xz"))
 | 
					                           version "/ccache-" version ".tar.xz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1kcqii3hr1008gj6jgfsjibwh2ryhsplc9z99m18xwa2zvbddhdp"))))
 | 
					        (base32 "0jzl9idnjd9jq64qd8kny7gfd0ydvz5kyq2yslmigfdz8dsxm4zq"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs `(("perl" ,perl)     ; for test/run
 | 
					    (native-inputs `(("perl" ,perl)     ; for test/run
 | 
				
			||||||
                     ("which" ,(@ (gnu packages base) which))))
 | 
					                     ("which" ,(@ (gnu packages base) which))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -686,7 +686,7 @@ information is written to standard error.")
 | 
				
			||||||
(define-public asunder
 | 
					(define-public asunder
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "asunder")
 | 
					    (name "asunder")
 | 
				
			||||||
    (version "2.9.5")
 | 
					    (version "2.9.6")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri
 | 
					              (uri
 | 
				
			||||||
| 
						 | 
					@ -695,7 +695,7 @@ information is written to standard error.")
 | 
				
			||||||
                              ".tar.bz2"))
 | 
					                              ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "069x6az2r3wlb2hd07iz0hxpxwknw7s9h7pyhnkmzv1pw9ci3kk4"))))
 | 
					                "1ycnd82lh7qy1pcbngd4b41s16j9hnm2kyfrncg4cwr3bfk7yg7a"))))
 | 
				
			||||||
    (build-system glib-or-gtk-build-system)
 | 
					    (build-system glib-or-gtk-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:out-of-source? #f
 | 
					     '(#:out-of-source? #f
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -76,7 +76,7 @@
 | 
				
			||||||
(define-public nss-certs
 | 
					(define-public nss-certs
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "nss-certs")
 | 
					    (name "nss-certs")
 | 
				
			||||||
    (version "3.50")
 | 
					    (version "3.52.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (let ((version-with-underscores
 | 
					              (uri (let ((version-with-underscores
 | 
				
			||||||
| 
						 | 
					@ -87,7 +87,7 @@
 | 
				
			||||||
                      "nss-" version ".tar.gz")))
 | 
					                      "nss-" version ".tar.gz")))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "19rv0vp9nmvn6dy29qsv8f4v7wn5kizrpm59vbszahsjfwcz6p8q"))))
 | 
					                "0y4jb9095f7bbgw7d7kvzm4c3g4p5i6y68fwhb8wlkpb7b1imj5w"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (outputs '("out"))
 | 
					    (outputs '("out"))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -105,8 +105,8 @@ source code editors and IDEs.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;; Some packages require this older version.  Removed once no longer needed.
 | 
					;; Some packages require this older version.  Removed once no longer needed.
 | 
				
			||||||
(define-public check-0.12
 | 
					(define-public check-0.12
 | 
				
			||||||
  (package/inherit
 | 
					  (package
 | 
				
			||||||
   check
 | 
					   (inherit check)
 | 
				
			||||||
   (version "0.12.0")
 | 
					   (version "0.12.0")
 | 
				
			||||||
   (source (origin
 | 
					   (source (origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -396,7 +396,7 @@ and it supports a very flexible form of test discovery.")
 | 
				
			||||||
(define-public doctest
 | 
					(define-public doctest
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "doctest")
 | 
					    (name "doctest")
 | 
				
			||||||
    (version "2.3.7")
 | 
					    (version "2.3.8")
 | 
				
			||||||
    (home-page "https://github.com/onqtam/doctest")
 | 
					    (home-page "https://github.com/onqtam/doctest")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -404,7 +404,7 @@ and it supports a very flexible form of test discovery.")
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "134lx7pjnglrl4wdmyr9dz3rjb6d4ir6rvapg00gp52n44dbhnrq"))))
 | 
					                "16w907750jnp98vdzkn72lzwy1zyryaqvfi80lbdp398pj23rq65"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (synopsis "C++ test framework")
 | 
					    (synopsis "C++ test framework")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -584,14 +584,13 @@ but it works for any C/C++ project.")
 | 
				
			||||||
(define-public python-parameterized
 | 
					(define-public python-parameterized
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-parameterized")
 | 
					    (name "python-parameterized")
 | 
				
			||||||
    (version "0.7.3")
 | 
					    (version "0.7.4")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (pypi-uri "parameterized" version))
 | 
					       (uri (pypi-uri "parameterized" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "1444fdz5bj0k10nmhxv0bv2gfrfisi7hfzqdndb0pvhf4g3qq3qr"))))
 | 
				
			||||||
         "0g1q6n7fkanjv7i1djzw62f46xf573jvza7afabh3baqjqxy7rpd"))))
 | 
					 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:phases (modify-phases %standard-phases
 | 
					     '(#:phases (modify-phases %standard-phases
 | 
				
			||||||
| 
						 | 
					@ -1703,14 +1702,13 @@ normally the case.")
 | 
				
			||||||
(define-public python-pytest-sugar
 | 
					(define-public python-pytest-sugar
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-pytest-sugar")
 | 
					    (name "python-pytest-sugar")
 | 
				
			||||||
    (version "0.9.2")
 | 
					    (version "0.9.3")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (pypi-uri "pytest-sugar" version))
 | 
					       (uri (pypi-uri "pytest-sugar" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "1i0hv3h49zvl62jbiyjag84carbrp3zprqzxffdr291nxavvac0n"))))
 | 
				
			||||||
         "1asq7yc4g8bx2sn7yy974mhc9ywvaihasjab4inkirdwn9s7mn7w"))))
 | 
					 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     `(("python-packaging" ,python-packaging)
 | 
					     `(("python-packaging" ,python-packaging)
 | 
				
			||||||
| 
						 | 
					@ -1888,12 +1886,10 @@ unit tests and failing them if the unit test module does not exercise all
 | 
				
			||||||
statements in the module it tests.")
 | 
					statements in the module it tests.")
 | 
				
			||||||
    (license license:gpl3+)))
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;; Further releases, up to 2.4.3, have failing unit tests. See:
 | 
					 | 
				
			||||||
;; https://github.com/PyCQA/pylint/issues/3198.
 | 
					 | 
				
			||||||
(define-public python-pylint
 | 
					(define-public python-pylint
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-pylint")
 | 
					    (name "python-pylint")
 | 
				
			||||||
    (version "2.3.1")
 | 
					    (version "2.5.3")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -1902,9 +1898,11 @@ statements in the module it tests.")
 | 
				
			||||||
             (commit (string-append "pylint-" version))))
 | 
					             (commit (string-append "pylint-" version))))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "04cgbh2z1mygar63plzziyz34yg6bdr4i0g63jp256fgnqwb1bi3"))))
 | 
				
			||||||
         "17vvzbcqmkhr4icq5p3737nbiiyj1y3g1pa08n9mb1bsnvxmqq0z"))))
 | 
					 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
 | 
					    ;; FIXME: Tests are failing since version 2.4.3, see:
 | 
				
			||||||
 | 
					    ;; https://github.com/PyCQA/pylint/issues/3198.
 | 
				
			||||||
 | 
					    (arguments '(#:tests? #f))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("python-pytest" ,python-pytest)
 | 
					     `(("python-pytest" ,python-pytest)
 | 
				
			||||||
       ("python-pytest-runner" ,python-pytest-runner)
 | 
					       ("python-pytest-runner" ,python-pytest-runner)
 | 
				
			||||||
| 
						 | 
					@ -1913,7 +1911,8 @@ statements in the module it tests.")
 | 
				
			||||||
     `(("python-astroid" ,python-astroid)
 | 
					     `(("python-astroid" ,python-astroid)
 | 
				
			||||||
       ("python-isort" ,python-isort)
 | 
					       ("python-isort" ,python-isort)
 | 
				
			||||||
       ("python-mccabe" ,python-mccabe)
 | 
					       ("python-mccabe" ,python-mccabe)
 | 
				
			||||||
       ("python-six" ,python-six)))
 | 
					       ("python-six" ,python-six)
 | 
				
			||||||
 | 
					       ("python-toml" ,python-toml)))
 | 
				
			||||||
    (home-page "https://github.com/PyCQA/pylint")
 | 
					    (home-page "https://github.com/PyCQA/pylint")
 | 
				
			||||||
    (synopsis "Python source code analyzer which looks for coding standard
 | 
					    (synopsis "Python source code analyzer which looks for coding standard
 | 
				
			||||||
errors")
 | 
					errors")
 | 
				
			||||||
| 
						 | 
					@ -1946,7 +1945,7 @@ possible to write plugins to add your own checks.")
 | 
				
			||||||
                 (base32
 | 
					                 (base32
 | 
				
			||||||
                  "02a89d8a47s7nfiv1ady3j0sg2sbyja3np145brarfp5x9qxz9x2"))))
 | 
					                  "02a89d8a47s7nfiv1ady3j0sg2sbyja3np145brarfp5x9qxz9x2"))))
 | 
				
			||||||
             (arguments
 | 
					             (arguments
 | 
				
			||||||
              `(,@(package-arguments pylint)
 | 
					              `(,@(strip-keyword-arguments '(#:tests?) (package-arguments pylint))
 | 
				
			||||||
                #:phases
 | 
					                #:phases
 | 
				
			||||||
                (modify-phases %standard-phases
 | 
					                (modify-phases %standard-phases
 | 
				
			||||||
                  (replace 'check
 | 
					                  (replace 'check
 | 
				
			||||||
| 
						 | 
					@ -2519,7 +2518,7 @@ provides a simple way to achieve this.")
 | 
				
			||||||
(define-public umockdev
 | 
					(define-public umockdev
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "umockdev")
 | 
					    (name "umockdev")
 | 
				
			||||||
    (version "0.13.2")
 | 
					    (version "0.14.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://github.com/martinpitt/umockdev/"
 | 
					              (uri (string-append "https://github.com/martinpitt/umockdev/"
 | 
				
			||||||
| 
						 | 
					@ -2527,7 +2526,7 @@ provides a simple way to achieve this.")
 | 
				
			||||||
                                  "umockdev-" version ".tar.xz"))
 | 
					                                  "umockdev-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "095v3abc321s584sga04y16lcmdzsdi88h24wcrm78v7vq484g74"))))
 | 
					                "1g78jcrvb7yyh0q5kv5409wjqf8nlfqnw1rknm3a247mcx317dpz"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
| 
						 | 
					@ -2539,6 +2538,7 @@ provides a simple way to achieve this.")
 | 
				
			||||||
             #t)))))
 | 
					             #t)))))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("vala" ,vala)
 | 
					     `(("vala" ,vala)
 | 
				
			||||||
 | 
					       ("gobject-introspection" ,gobject-introspection)
 | 
				
			||||||
       ("gtk-doc" ,gtk-doc)
 | 
					       ("gtk-doc" ,gtk-doc)
 | 
				
			||||||
       ("pkg-config" ,pkg-config)
 | 
					       ("pkg-config" ,pkg-config)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
 | 
					;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
 | 
				
			||||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
 | 
					;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
 | 
				
			||||||
;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org>
 | 
					;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org>
 | 
				
			||||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
					;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
				
			||||||
;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
 | 
					;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
 | 
				
			||||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 | 
					;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -47,8 +47,8 @@
 | 
				
			||||||
  #:use-module (guix build-system gnu))
 | 
					  #:use-module (guix build-system gnu))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public cuirass
 | 
					(define-public cuirass
 | 
				
			||||||
  (let ((commit "9559fd18d4b89bf797216fbe187f2b26b0a2d165")
 | 
					  (let ((commit "2280ae18eb25aa7034636c58bf288c9bd5a8fa3b")
 | 
				
			||||||
        (revision "30"))
 | 
					        (revision "31"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "cuirass")
 | 
					      (name "cuirass")
 | 
				
			||||||
      (version (git-version "0.0.1" revision commit))
 | 
					      (version (git-version "0.0.1" revision commit))
 | 
				
			||||||
| 
						 | 
					@ -60,7 +60,7 @@
 | 
				
			||||||
                (file-name (git-file-name name version))
 | 
					                (file-name (git-file-name name version))
 | 
				
			||||||
                (sha256
 | 
					                (sha256
 | 
				
			||||||
                 (base32
 | 
					                 (base32
 | 
				
			||||||
                  "026cpcws8mb483mywwx2znpy9i7lw5n3lyqa9k6d87kxmw59060c"))))
 | 
					                  "1gbmpwgiwy740d936b052gfivzw52pgrny7j7lbl56wi9wnawkc9"))))
 | 
				
			||||||
      (build-system gnu-build-system)
 | 
					      (build-system gnu-build-system)
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
       '(#:modules ((guix build utils)
 | 
					       '(#:modules ((guix build utils)
 | 
				
			||||||
| 
						 | 
					@ -123,7 +123,7 @@
 | 
				
			||||||
       `(("guile" ,guile-3.0)
 | 
					       `(("guile" ,guile-3.0)
 | 
				
			||||||
         ("guile-fibers" ,guile-fibers)
 | 
					         ("guile-fibers" ,guile-fibers)
 | 
				
			||||||
         ("guile-gcrypt" ,guile-gcrypt)
 | 
					         ("guile-gcrypt" ,guile-gcrypt)
 | 
				
			||||||
         ("guile-json" ,guile-json-3)
 | 
					         ("guile-json" ,guile-json-4)
 | 
				
			||||||
         ("guile-sqlite3" ,guile-sqlite3)
 | 
					         ("guile-sqlite3" ,guile-sqlite3)
 | 
				
			||||||
         ("guile-git" ,guile-git)
 | 
					         ("guile-git" ,guile-git)
 | 
				
			||||||
         ;; FIXME: this is propagated by "guile-git", but it needs to be among
 | 
					         ;; FIXME: this is propagated by "guile-git", but it needs to be among
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
;;; Copyright © 2013, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2013, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 | 
					;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 | 
				
			||||||
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
 | 
					;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
 | 
				
			||||||
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 | 
					;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 | 
				
			||||||
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
 | 
					;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
 | 
				
			||||||
| 
						 | 
					@ -13,6 +13,7 @@
 | 
				
			||||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 | 
					;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 | 
				
			||||||
;;; Copyright © 2019 Hartmut Goebel <h.goebel@goebel-consult.de>
 | 
					;;; Copyright © 2019 Hartmut Goebel <h.goebel@goebel-consult.de>
 | 
				
			||||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
					;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -43,11 +44,16 @@
 | 
				
			||||||
  #:use-module (gnu packages autotools)
 | 
					  #:use-module (gnu packages autotools)
 | 
				
			||||||
  #:use-module (gnu packages base)
 | 
					  #:use-module (gnu packages base)
 | 
				
			||||||
  #:use-module (gnu packages bash)
 | 
					  #:use-module (gnu packages bash)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages c)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
  #:use-module (gnu packages cpp)
 | 
					  #:use-module (gnu packages cpp)
 | 
				
			||||||
  #:use-module (gnu packages emacs)
 | 
					  #:use-module (gnu packages emacs)
 | 
				
			||||||
  #:use-module (gnu packages gcc)
 | 
					  #:use-module (gnu packages gcc)
 | 
				
			||||||
  #:use-module (gnu packages graphviz)
 | 
					  #:use-module (gnu packages graphviz)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages llvm)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages linux)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages lua)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages ncurses)
 | 
				
			||||||
  #:use-module (gnu packages pcre)
 | 
					  #:use-module (gnu packages pcre)
 | 
				
			||||||
  #:use-module (gnu packages perl)
 | 
					  #:use-module (gnu packages perl)
 | 
				
			||||||
  #:use-module (gnu packages perl-compression)
 | 
					  #:use-module (gnu packages perl-compression)
 | 
				
			||||||
| 
						 | 
					@ -55,9 +61,8 @@
 | 
				
			||||||
  #:use-module (gnu packages python)
 | 
					  #:use-module (gnu packages python)
 | 
				
			||||||
  #:use-module (gnu packages sqlite)
 | 
					  #:use-module (gnu packages sqlite)
 | 
				
			||||||
  #:use-module (gnu packages texinfo)
 | 
					  #:use-module (gnu packages texinfo)
 | 
				
			||||||
  #:use-module (gnu packages ncurses)
 | 
					  #:use-module (gnu packages web)
 | 
				
			||||||
  #:use-module (gnu packages llvm)
 | 
					  #:use-module (gnu packages xml))
 | 
				
			||||||
  #:use-module (gnu packages lua))
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;; Tools to deal with source code: metrics, cross-references, etc.
 | 
					;;; Tools to deal with source code: metrics, cross-references, etc.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -135,18 +140,26 @@ highlighting your own code that seemed comprehensible when you wrote it.")
 | 
				
			||||||
       (list (string-append "--with-ncurses="
 | 
					       (list (string-append "--with-ncurses="
 | 
				
			||||||
                            (assoc-ref %build-inputs "ncurses"))
 | 
					                            (assoc-ref %build-inputs "ncurses"))
 | 
				
			||||||
             (string-append "--with-sqlite3="
 | 
					             (string-append "--with-sqlite3="
 | 
				
			||||||
                            (assoc-ref %build-inputs "sqlite")))
 | 
					                            (assoc-ref %build-inputs "sqlite"))
 | 
				
			||||||
 | 
					             "--disable-static")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
        (add-after 'install 'post-install
 | 
					        (add-after 'install 'post-install
 | 
				
			||||||
          (lambda* (#:key outputs #:allow-other-keys)
 | 
					          (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
            ;; Install the Emacs Lisp file in the right place.
 | 
					            ;; Install the plugin files in the right place.
 | 
				
			||||||
            (let* ((out  (assoc-ref outputs "out"))
 | 
					            (let* ((out  (assoc-ref outputs "out"))
 | 
				
			||||||
                   (data (string-append out "/share/gtags"))
 | 
					                   (data (string-append out "/share/gtags"))
 | 
				
			||||||
 | 
					                   (vim  (string-append out "/share/vim/vimfiles/plugin"))
 | 
				
			||||||
                   (lisp (string-append out "/share/emacs/site-lisp")))
 | 
					                   (lisp (string-append out "/share/emacs/site-lisp")))
 | 
				
			||||||
              (install-file (string-append data "/gtags.el") lisp)
 | 
					              (mkdir-p lisp)
 | 
				
			||||||
              (delete-file (string-append data "/gtags.el"))
 | 
					              (mkdir-p vim)
 | 
				
			||||||
 | 
					              (rename-file (string-append data "/gtags.el")
 | 
				
			||||||
 | 
					                           (string-append lisp "/gtags.el"))
 | 
				
			||||||
 | 
					              (rename-file (string-append data "/gtags.vim")
 | 
				
			||||||
 | 
					                           (string-append vim "/gtags.vim"))
 | 
				
			||||||
 | 
					              (rename-file (string-append data "/gtags-cscope.vim")
 | 
				
			||||||
 | 
					                           (string-append vim "/gtags-cscope.vim"))
 | 
				
			||||||
              #t))))))
 | 
					              #t))))))
 | 
				
			||||||
    (home-page "https://www.gnu.org/software/global/")
 | 
					    (home-page "https://www.gnu.org/software/global/")
 | 
				
			||||||
    (synopsis "Cross-environment source code tag system")
 | 
					    (synopsis "Cross-environment source code tag system")
 | 
				
			||||||
| 
						 | 
					@ -217,7 +230,7 @@ COCOMO model or user-provided parameters.")
 | 
				
			||||||
(define-public cloc
 | 
					(define-public cloc
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "cloc")
 | 
					    (name "cloc")
 | 
				
			||||||
    (version "1.84")
 | 
					    (version "1.86")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -226,7 +239,7 @@ COCOMO model or user-provided parameters.")
 | 
				
			||||||
             (commit version)))
 | 
					             (commit version)))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "14xikdwcr6pcnkk2i43zrsj88z8b3mrv0svbnbvxvarw1id83pnn"))))
 | 
					        (base32 "082gj2b3x11bilz8c572dd60vn6n0fhld5zhi7wk7g1wy9wlgm9w"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("coreutils" ,coreutils)
 | 
					     `(("coreutils" ,coreutils)
 | 
				
			||||||
| 
						 | 
					@ -321,6 +334,83 @@ features that are not supported by the standard @code{stdio} implementation.")
 | 
				
			||||||
    (license (license:non-copyleft
 | 
					    (license (license:non-copyleft
 | 
				
			||||||
              "http://sourceforge.net/p/ctrio/git/ci/master/tree/README"))))
 | 
					              "http://sourceforge.net/p/ctrio/git/ci/master/tree/README"))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public universal-ctags
 | 
				
			||||||
 | 
					  ;; The project is unable to decide whether to use 1.0 or 6.0 as the
 | 
				
			||||||
 | 
					  ;; first public release version (it started as a fork of another ctags
 | 
				
			||||||
 | 
					  ;; project that was on version 5.8), and five years later have been
 | 
				
			||||||
 | 
					  ;; unable to tag a release.  Thus, we just take the master branch.
 | 
				
			||||||
 | 
					  (let ((commit "0c78c0c4a68030df0d025c90bad291108b5e7107")
 | 
				
			||||||
 | 
					        (revision "0"))
 | 
				
			||||||
 | 
					    (package
 | 
				
			||||||
 | 
					      (name "universal-ctags")
 | 
				
			||||||
 | 
					      (version (git-version "0.0.0" revision commit))
 | 
				
			||||||
 | 
					      (source
 | 
				
			||||||
 | 
					       (origin
 | 
				
			||||||
 | 
					         (method git-fetch)
 | 
				
			||||||
 | 
					         (uri (git-reference
 | 
				
			||||||
 | 
					               (url "https://github.com/universal-ctags/ctags")
 | 
				
			||||||
 | 
					               (commit commit)))
 | 
				
			||||||
 | 
					         (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					         (sha256
 | 
				
			||||||
 | 
					          (base32
 | 
				
			||||||
 | 
					           "0lnxc3kwi6srw0015m16vyjfdc7pdr9d1qzxjsbfv3c69ag87jhc"))
 | 
				
			||||||
 | 
					         (modules '((guix build utils)))
 | 
				
			||||||
 | 
					         (snippet
 | 
				
			||||||
 | 
					          '(begin
 | 
				
			||||||
 | 
					             ;; Remove the bundled PackCC and associated build rules.
 | 
				
			||||||
 | 
					             (substitute* "Makefile.am"
 | 
				
			||||||
 | 
					               (("\\$\\(packcc_verbose\\)\\$\\(PACKCC\\)")
 | 
				
			||||||
 | 
					                "packcc")
 | 
				
			||||||
 | 
					               (("\\$\\(PEG_SRCS\\) \\$\\(PEG_HEADS\\): packcc\\$\\(EXEEXT\\)")
 | 
				
			||||||
 | 
					                "$(PEG_SRCS) $(PEG_HEADS):")
 | 
				
			||||||
 | 
					               (("noinst_PROGRAMS \\+= packcc")
 | 
				
			||||||
 | 
					                ""))
 | 
				
			||||||
 | 
					             (delete-file-recursively "misc/packcc")
 | 
				
			||||||
 | 
					             #t))))
 | 
				
			||||||
 | 
					      (build-system gnu-build-system)
 | 
				
			||||||
 | 
					      (arguments
 | 
				
			||||||
 | 
					       '(#:phases (modify-phases %standard-phases
 | 
				
			||||||
 | 
					                    (add-after 'unpack 'make-files-writable
 | 
				
			||||||
 | 
					                      (lambda _
 | 
				
			||||||
 | 
					                        (for-each make-file-writable (find-files "."))
 | 
				
			||||||
 | 
					                        #t))
 | 
				
			||||||
 | 
					                    (add-before 'bootstrap 'patch-optlib2c
 | 
				
			||||||
 | 
					                      (lambda _
 | 
				
			||||||
 | 
					                        ;; The autogen.sh script calls out to optlib2c to
 | 
				
			||||||
 | 
					                        ;; generate translations, so we can not wait for the
 | 
				
			||||||
 | 
					                        ;; patch-source-shebangs phase.
 | 
				
			||||||
 | 
					                        (patch-shebang "misc/optlib2c")
 | 
				
			||||||
 | 
					                        #t))
 | 
				
			||||||
 | 
					                    (add-before 'check 'patch-tests
 | 
				
			||||||
 | 
					                      (lambda _
 | 
				
			||||||
 | 
					                        (substitute* "misc/units"
 | 
				
			||||||
 | 
					                          (("SHELL=/bin/sh")
 | 
				
			||||||
 | 
					                           (string-append "SHELL=" (which "sh"))))
 | 
				
			||||||
 | 
					                        (substitute* "Tmain/utils.sh"
 | 
				
			||||||
 | 
					                          (("/bin/echo") (which "echo")))
 | 
				
			||||||
 | 
					                        #t)))))
 | 
				
			||||||
 | 
					      (native-inputs
 | 
				
			||||||
 | 
					       `(("autoconf" ,autoconf)
 | 
				
			||||||
 | 
					         ("automake" ,automake)
 | 
				
			||||||
 | 
					         ("packcc" ,packcc)
 | 
				
			||||||
 | 
					         ("perl" ,perl)
 | 
				
			||||||
 | 
					         ("pkg-config" ,pkg-config)))
 | 
				
			||||||
 | 
					      (inputs
 | 
				
			||||||
 | 
					       `(("jansson" ,jansson)
 | 
				
			||||||
 | 
					         ("libseccomp" ,libseccomp)
 | 
				
			||||||
 | 
					         ("libxml2" ,libxml2)
 | 
				
			||||||
 | 
					         ("libyaml" ,libyaml)))
 | 
				
			||||||
 | 
					      (home-page "https://ctags.io/")
 | 
				
			||||||
 | 
					      (synopsis "Generate tag files for source code")
 | 
				
			||||||
 | 
					      (description
 | 
				
			||||||
 | 
					       "Universal Ctags generates an index (or tag) file of language objects
 | 
				
			||||||
 | 
					found in source files for many popular programming languages.  This index
 | 
				
			||||||
 | 
					makes it easy for text editors and other tools to locate the indexed items.
 | 
				
			||||||
 | 
					Universal Ctags improves on traditional ctags because of its multilanguage
 | 
				
			||||||
 | 
					support, its ability for the user to define new languages searched by regular
 | 
				
			||||||
 | 
					expressions, and its ability to generate emacs-style TAGS files.")
 | 
				
			||||||
 | 
					      (license license:gpl2+))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public withershins
 | 
					(define-public withershins
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "withershins")
 | 
					    (name "withershins")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,7 +7,7 @@
 | 
				
			||||||
;;; Copyright © 2015, 2016, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
 | 
					;;; Copyright © 2015, 2016, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
 | 
				
			||||||
;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name>
 | 
					;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name>
 | 
				
			||||||
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
 | 
					;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
 | 
				
			||||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
 | 
					;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
 | 
				
			||||||
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
 | 
					;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
 | 
				
			||||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
| 
						 | 
					@ -875,7 +875,8 @@ extract such file systems.")
 | 
				
			||||||
                      (symlink "pigz" (string-append bin  "/unpigz"))
 | 
					                      (symlink "pigz" (string-append bin  "/unpigz"))
 | 
				
			||||||
                      (install-file "pigz.1" man)
 | 
					                      (install-file "pigz.1" man)
 | 
				
			||||||
                      #t))))
 | 
					                      #t))))
 | 
				
			||||||
       #:make-flags (list "CC=gcc")
 | 
					       #:make-flags
 | 
				
			||||||
 | 
					       (list ,(string-append "CC=" (cc-for-target)))
 | 
				
			||||||
       #:test-target "tests"))
 | 
					       #:test-target "tests"))
 | 
				
			||||||
    (inputs `(("zlib" ,zlib)))
 | 
					    (inputs `(("zlib" ,zlib)))
 | 
				
			||||||
    (home-page "https://zlib.net/pigz/")
 | 
					    (home-page "https://zlib.net/pigz/")
 | 
				
			||||||
| 
						 | 
					@ -1682,7 +1683,7 @@ of archives.")
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags
 | 
					     `(#:configure-flags
 | 
				
			||||||
       (list "CC=gcc")))
 | 
					       (list ,(string-append "CC=" (cc-for-target)))))
 | 
				
			||||||
    (home-page "https://www.nongnu.org/lzip/lunzip.html")
 | 
					    (home-page "https://www.nongnu.org/lzip/lunzip.html")
 | 
				
			||||||
    (synopsis "Small, stand-alone lzip decompressor")
 | 
					    (synopsis "Small, stand-alone lzip decompressor")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -1709,7 +1710,7 @@ Lunzip is intended to be fully compatible with the regular lzip package.")
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags
 | 
					     `(#:configure-flags
 | 
				
			||||||
       (list "CC=gcc")))
 | 
					       (list ,(string-append "CC=" (cc-for-target)))))
 | 
				
			||||||
    (home-page "https://www.nongnu.org/lzip/clzip.html")
 | 
					    (home-page "https://www.nongnu.org/lzip/clzip.html")
 | 
				
			||||||
    (synopsis "Small, stand-alone lzip compressor and decompressor")
 | 
					    (synopsis "Small, stand-alone lzip compressor and decompressor")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -1939,7 +1940,7 @@ download times, and other distribution and storage costs.")
 | 
				
			||||||
(define-public quazip
 | 
					(define-public quazip
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "quazip")
 | 
					    (name "quazip")
 | 
				
			||||||
    (version "0.9")
 | 
					    (version "0.9.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -1948,7 +1949,7 @@ download times, and other distribution and storage costs.")
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0psvf3d9akyyx3bckc9325nmbp97xiagf8la4vhca5xn2f430fbn"))))
 | 
					                "11icgwv2xyxhd1hm1add51xv54zwkcqkg85d1xqlgiigvbm196iq"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f))                    ;no test
 | 
					     `(#:tests? #f))                    ;no test
 | 
				
			||||||
| 
						 | 
					@ -2098,7 +2099,7 @@ file compression algorithm.")
 | 
				
			||||||
(define-public xarchiver
 | 
					(define-public xarchiver
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "xarchiver")
 | 
					    (name "xarchiver")
 | 
				
			||||||
    (version "0.5.4.14")
 | 
					    (version "0.5.4.15")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -2107,7 +2108,7 @@ file compression algorithm.")
 | 
				
			||||||
             (commit version)))
 | 
					             (commit version)))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1iklwgykgymrwcc5p1cdbh91v0ih1m58s3w9ndl5kyd44bwlb7px"))))
 | 
					        (base32 "0a3y54r5zp2c0cqm77r07qrl1vh200wvqmbhm35diy22fvkq5mwc"))))
 | 
				
			||||||
    (build-system glib-or-gtk-build-system)
 | 
					    (build-system glib-or-gtk-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("gettext" ,gettext-minimal)
 | 
					     `(("gettext" ,gettext-minimal)
 | 
				
			||||||
| 
						 | 
					@ -2115,7 +2116,7 @@ file compression algorithm.")
 | 
				
			||||||
       ("libxslt" ,libxslt)
 | 
					       ("libxslt" ,libxslt)
 | 
				
			||||||
       ("pkg-config" ,pkg-config)))
 | 
					       ("pkg-config" ,pkg-config)))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("adwaita-icon-theme" ,adwaita-icon-theme) ; Hard-coded theme
 | 
					     `(("adwaita-icon-theme" ,adwaita-icon-theme) ; hard-coded theme
 | 
				
			||||||
       ("gtk+" ,gtk+)))
 | 
					       ("gtk+" ,gtk+)))
 | 
				
			||||||
    (home-page "https://github.com/ib/xarchiver")
 | 
					    (home-page "https://github.com/ib/xarchiver")
 | 
				
			||||||
    (synopsis "Graphical front-end for archive operations")
 | 
					    (synopsis "Graphical front-end for archive operations")
 | 
				
			||||||
| 
						 | 
					@ -2204,11 +2205,8 @@ computations.")
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f                      ; no check target
 | 
					     `(#:tests? #f                      ; no check target
 | 
				
			||||||
       #:make-flags
 | 
					       #:make-flags
 | 
				
			||||||
       (let ((target ,(%current-target-system)))
 | 
					       (list (string-append "CC=" ,(cc-for-target))
 | 
				
			||||||
         (list (string-append "CC=" (if target
 | 
					             (string-append "DESTDIR=" (assoc-ref %outputs "out")))
 | 
				
			||||||
                                        (string-append target "-gcc")
 | 
					 | 
				
			||||||
                                        "gcc"))
 | 
					 | 
				
			||||||
               (string-append "DESTDIR=" (assoc-ref %outputs "out"))))
 | 
					 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (replace 'configure
 | 
					         (replace 'configure
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -297,7 +297,7 @@ tools (containers, algorithms) used by other QuantStack packages.")
 | 
				
			||||||
(define-public ccls
 | 
					(define-public ccls
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ccls")
 | 
					    (name "ccls")
 | 
				
			||||||
    (version "0.20190823.5")
 | 
					    (version "0.20190823.6")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -305,11 +305,11 @@ tools (containers, algorithms) used by other QuantStack packages.")
 | 
				
			||||||
             (url "https://github.com/MaskRay/ccls")
 | 
					             (url "https://github.com/MaskRay/ccls")
 | 
				
			||||||
             (commit version)))
 | 
					             (commit version)))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0b2pkpzn576b92zcxpwchpkyw2fww6s69818rx4g9z34kzm35zy5"))
 | 
					        (base32 "11h5nwk4qqshf3i8yr4bxpnvmidrhkzd0zxhf1xqv8cv6r08k47f"))
 | 
				
			||||||
       (file-name (git-file-name name version))))
 | 
					       (file-name (git-file-name name version))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:tests? #f)) ; no check target.
 | 
					     '(#:tests? #f))                    ; no check target
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("rapidjson" ,rapidjson)))
 | 
					     `(("rapidjson" ,rapidjson)))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
| 
						 | 
					@ -458,7 +458,7 @@ point and then, after each tween step, plugging back the result.")
 | 
				
			||||||
(define-public abseil-cpp
 | 
					(define-public abseil-cpp
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "abseil-cpp")
 | 
					    (name "abseil-cpp")
 | 
				
			||||||
    (version "20200225.1")
 | 
					    (version "20200225.2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -467,7 +467,7 @@ point and then, after each tween step, plugging back the result.")
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "035bffayslawc19q2gmlkr6n6r7k7mvriaq7352rv6gyzaplr98w"))))
 | 
					                "0dwxg54pv6ihphbia0iw65r64whd7v8nm4wwhcz219642cgpv54y"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
 | 
					     `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -3,7 +3,7 @@
 | 
				
			||||||
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
					;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
				
			||||||
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
 | 
					;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
 | 
				
			||||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;; Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
 | 
					;;; Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
 | 
				
			||||||
;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
 | 
					;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
 | 
				
			||||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 | 
					;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 | 
				
			||||||
| 
						 | 
					@ -18967,14 +18967,14 @@ rust.")
 | 
				
			||||||
(define-public rust-rpassword-4
 | 
					(define-public rust-rpassword-4
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "rust-rpassword")
 | 
					    (name "rust-rpassword")
 | 
				
			||||||
    (version "4.0.3")
 | 
					    (version "4.0.5")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (crate-uri "rpassword" version))
 | 
					       (uri (crate-uri "rpassword" version))
 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					       (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0jnl8wzmdazkpzqs0vsw0n0vm0v4b8chqifd6s84nl9w2ybhx7ym"))))
 | 
					        (base32 "17z99xazhhbaczw0ib1vnnq450j0zacdn8b2zcbdir68sdbicdwr"))))
 | 
				
			||||||
    (build-system cargo-build-system)
 | 
					    (build-system cargo-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:cargo-inputs
 | 
					     `(#:cargo-inputs
 | 
				
			||||||
| 
						 | 
					@ -20380,7 +20380,7 @@ proven statistical guarantees.")
 | 
				
			||||||
(define-public rust-serde-bytes-0.11
 | 
					(define-public rust-serde-bytes-0.11
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "rust-serde-bytes")
 | 
					    (name "rust-serde-bytes")
 | 
				
			||||||
    (version "0.11.3")
 | 
					    (version "0.11.5")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -20388,8 +20388,7 @@ proven statistical guarantees.")
 | 
				
			||||||
       (file-name
 | 
					       (file-name
 | 
				
			||||||
        (string-append name "-" version ".tar.gz"))
 | 
					        (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "1fcb6sw8wkrj4ylm118wkb31hw124nkjnqyhbgqnd8w85zfhgbhn"))))
 | 
				
			||||||
         "1bl45kf3c71xclv7wzk5525nswm4bgsnjd3s1s15f4k2a8whfnij"))))
 | 
					 | 
				
			||||||
    (build-system cargo-build-system)
 | 
					    (build-system cargo-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:skip-build? #t
 | 
					     `(#:skip-build? #t
 | 
				
			||||||
| 
						 | 
					@ -20400,8 +20399,7 @@ proven statistical guarantees.")
 | 
				
			||||||
        ("rust-serde-derive" ,rust-serde-derive-1.0)
 | 
					        ("rust-serde-derive" ,rust-serde-derive-1.0)
 | 
				
			||||||
        ("rust-serde-test" ,rust-serde-test-1.0))))
 | 
					        ("rust-serde-test" ,rust-serde-test-1.0))))
 | 
				
			||||||
    (home-page "https://github.com/serde-rs/bytes")
 | 
					    (home-page "https://github.com/serde-rs/bytes")
 | 
				
			||||||
    (synopsis
 | 
					    (synopsis "Handle integer arrays and vectors for Serde")
 | 
				
			||||||
     "Handle of integer arrays and vectors for Serde")
 | 
					 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.")
 | 
					     "Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.")
 | 
				
			||||||
    (license (list license:expat license:asl2.0))))
 | 
					    (license (list license:expat license:asl2.0))))
 | 
				
			||||||
| 
						 | 
					@ -23747,14 +23745,14 @@ in Rust.")
 | 
				
			||||||
(define-public rust-tokio-0.2
 | 
					(define-public rust-tokio-0.2
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "rust-tokio")
 | 
					    (name "rust-tokio")
 | 
				
			||||||
    (version "0.2.18")
 | 
					    (version "0.2.21")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (crate-uri "tokio" version))
 | 
					       (uri (crate-uri "tokio" version))
 | 
				
			||||||
       (file-name (string-append name "-" version ".tar.gz"))
 | 
					       (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "04v7rfkrlr8cx30ygy0n45skf6pdbif0zisn9a5xrdnjfb81dvrl"))))
 | 
					        (base32 "0n1dxsjv9fxv3kmr3nh4n8v8pqckwgdlls942msysavhp4kzm6fh"))))
 | 
				
			||||||
    (build-system cargo-build-system)
 | 
					    (build-system cargo-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:skip-build? #t
 | 
					     `(#:skip-build? #t
 | 
				
			||||||
| 
						 | 
					@ -25681,15 +25679,14 @@ designed for reexporting.")
 | 
				
			||||||
(define-public rust-version-check-0.9
 | 
					(define-public rust-version-check-0.9
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "rust-version-check")
 | 
					    (name "rust-version-check")
 | 
				
			||||||
    (version "0.9.1")
 | 
					    (version "0.9.2")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
      (origin
 | 
					      (origin
 | 
				
			||||||
        (method url-fetch)
 | 
					        (method url-fetch)
 | 
				
			||||||
        (uri (crate-uri "version_check" version))
 | 
					        (uri (crate-uri "version_check" version))
 | 
				
			||||||
        (file-name (string-append name "-" version ".crate"))
 | 
					        (file-name (string-append name "-" version ".crate"))
 | 
				
			||||||
        (sha256
 | 
					        (sha256
 | 
				
			||||||
         (base32
 | 
					         (base32 "1vbaqdf802qinsq8q20w8w0qn2pv0rkq5p73ijcblrwxcvjp5adm"))))
 | 
				
			||||||
          "1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7"))))
 | 
					 | 
				
			||||||
    (build-system cargo-build-system)
 | 
					    (build-system cargo-build-system)
 | 
				
			||||||
    (home-page "https://github.com/SergioBenitez/version_check")
 | 
					    (home-page "https://github.com/SergioBenitez/version_check")
 | 
				
			||||||
    (synopsis "Check that the installed rustc meets some version requirements")
 | 
					    (synopsis "Check that the installed rustc meets some version requirements")
 | 
				
			||||||
| 
						 | 
					@ -27435,7 +27432,7 @@ to XDG Base Directory specification")
 | 
				
			||||||
(define-public rust-xml-rs-0.8
 | 
					(define-public rust-xml-rs-0.8
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "rust-xml-rs")
 | 
					    (name "rust-xml-rs")
 | 
				
			||||||
    (version "0.8.1")
 | 
					    (version "0.8.3")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -27444,7 +27441,14 @@ to XDG Base Directory specification")
 | 
				
			||||||
        (string-append name "-" version ".tar.gz"))
 | 
					        (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0c905wsmk995xypxljpxzq6vv660r1pzgyrpsfiz13kw3hf0dzcs"))))
 | 
					         "12ndxyhzxw2zdr76ql8nfdwb2vwhvdkrxwk4pbjafqfglmjv0zdh"))
 | 
				
			||||||
 | 
					       (modules '((guix build utils)))
 | 
				
			||||||
 | 
					       (snippet
 | 
				
			||||||
 | 
					        '(begin
 | 
				
			||||||
 | 
					           ;; 'doctest' isn't stable until rust-1.40
 | 
				
			||||||
 | 
					           (substitute* "src/lib.rs"
 | 
				
			||||||
 | 
					             (("\\(doctest") "(test"))
 | 
				
			||||||
 | 
					           #t))))
 | 
				
			||||||
    (build-system cargo-build-system)
 | 
					    (build-system cargo-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:cargo-development-inputs
 | 
					     `(#:cargo-development-inputs
 | 
				
			||||||
| 
						 | 
					@ -27478,22 +27482,20 @@ to XDG Base Directory specification")
 | 
				
			||||||
(define-public rust-yaml-rust-0.4
 | 
					(define-public rust-yaml-rust-0.4
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "rust-yaml-rust")
 | 
					    (name "rust-yaml-rust")
 | 
				
			||||||
    (version "0.4.3")
 | 
					    (version "0.4.4")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (crate-uri "yaml-rust" version))
 | 
					       (uri (crate-uri "yaml-rust" version))
 | 
				
			||||||
       (file-name
 | 
					       (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
        (string-append name "-" version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "038byay0dxsz6isckviz4qshfpyjqmyvda7pq96i6d53y4ickw1r"))))
 | 
				
			||||||
         "0ka3qhqc5lvk3hz14wmsj32jhmh44blcbfrx5hfxli2gg38kv4k5"))))
 | 
					 | 
				
			||||||
    (build-system cargo-build-system)
 | 
					    (build-system cargo-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:cargo-inputs
 | 
					     `(#:cargo-inputs
 | 
				
			||||||
       (("rust-linked-hash-map" ,rust-linked-hash-map-0.5))
 | 
					       (("rust-linked-hash-map" ,rust-linked-hash-map-0.5))
 | 
				
			||||||
       #:cargo-development-inputs
 | 
					       #:cargo-development-inputs
 | 
				
			||||||
       (("rust-quickcheck" ,rust-quickcheck-0.7))))
 | 
					       (("rust-quickcheck" ,rust-quickcheck-0.9))))
 | 
				
			||||||
    (home-page "https://chyh1990.github.io/yaml-rust/")
 | 
					    (home-page "https://chyh1990.github.io/yaml-rust/")
 | 
				
			||||||
    (synopsis "The missing YAML 1.2 parser for rust")
 | 
					    (synopsis "The missing YAML 1.2 parser for rust")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1031,7 +1031,7 @@ quickly by using all your CPU cores and hardware acceleration.")
 | 
				
			||||||
(define-public minisign
 | 
					(define-public minisign
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "minisign")
 | 
					    (name "minisign")
 | 
				
			||||||
    (version "0.8")
 | 
					    (version "0.9")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -1039,8 +1039,7 @@ quickly by using all your CPU cores and hardware acceleration.")
 | 
				
			||||||
        (string-append "https://github.com/jedisct1/minisign/releases/download/"
 | 
					        (string-append "https://github.com/jedisct1/minisign/releases/download/"
 | 
				
			||||||
                       version "/minisign-" version ".tar.gz"))
 | 
					                       version "/minisign-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "1h9cfvvm6lqq33b2wdar1x3w4k7zyrscavllyb0l5dmcdabq60r2"))))
 | 
				
			||||||
         "10hhgwxf9rcdlr00shrkcyxndrc22dh5lj8k5z27xg3nc0jba3hk"))))
 | 
					 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     ; No test suite
 | 
					     ; No test suite
 | 
				
			||||||
| 
						 | 
					@ -1064,7 +1063,7 @@ Trusted comments are signed, thus verified, before being displayed.")
 | 
				
			||||||
(define-public libolm
 | 
					(define-public libolm
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libolm")
 | 
					    (name "libolm")
 | 
				
			||||||
    (version "3.1.4")
 | 
					    (version "3.1.5")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -1072,7 +1071,7 @@ Trusted comments are signed, thus verified, before being displayed.")
 | 
				
			||||||
                    (commit version)))
 | 
					                    (commit version)))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "06s7rw4a9vn35wzz7chxn54mp0sjgbpv2bzz9lq0g4hnzw33cjbi"))
 | 
					                "030g0jmmvhx2dh32k708sz6cdd5q1wz48i4gigh6dclqk10w28lm"))
 | 
				
			||||||
              (file-name (git-file-name name version))))
 | 
					              (file-name (git-file-name name version))))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -58,7 +58,7 @@
 | 
				
			||||||
    `(("pkg-config" ,pkg-config)))
 | 
					    `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
   (inputs
 | 
					   (inputs
 | 
				
			||||||
    `(("argon2" ,argon2)
 | 
					    `(("argon2" ,argon2)
 | 
				
			||||||
      ("json-c" ,json-c)
 | 
					      ("json-c" ,json-c-0.13)   ;XXX update this for cryptsetup >= 2.3
 | 
				
			||||||
      ("libgcrypt" ,libgcrypt)
 | 
					      ("libgcrypt" ,libgcrypt)
 | 
				
			||||||
      ("lvm2" ,lvm2)                    ; device-mapper
 | 
					      ("lvm2" ,lvm2)                    ; device-mapper
 | 
				
			||||||
      ("popt" ,popt)
 | 
					      ("popt" ,popt)
 | 
				
			||||||
| 
						 | 
					@ -138,7 +138,7 @@ files).  This assumes LIBRARY uses Libtool."
 | 
				
			||||||
              (inherit (static-library libgcrypt))
 | 
					              (inherit (static-library libgcrypt))
 | 
				
			||||||
              (propagated-inputs
 | 
					              (propagated-inputs
 | 
				
			||||||
               `(("libgpg-error-host" ,(static-library libgpg-error)))))))
 | 
					               `(("libgpg-error-host" ,(static-library libgpg-error)))))))
 | 
				
			||||||
       `(("json-c" ,json-c)
 | 
					       `(("json-c" ,json-c-0.13)
 | 
				
			||||||
         ("libgcrypt" ,libgcrypt-static)
 | 
					         ("libgcrypt" ,libgcrypt-static)
 | 
				
			||||||
         ("lvm2" ,lvm2-static)
 | 
					         ("lvm2" ,lvm2-static)
 | 
				
			||||||
         ("util-linux" ,util-linux "static")
 | 
					         ("util-linux" ,util-linux "static")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -125,12 +125,6 @@
 | 
				
			||||||
                          (("/usr/local/lib/cups/filter")
 | 
					                          (("/usr/local/lib/cups/filter")
 | 
				
			||||||
                           (string-append out "/lib/cups/filter")))
 | 
					                           (string-append out "/lib/cups/filter")))
 | 
				
			||||||
                        #t)))
 | 
					                        #t)))
 | 
				
			||||||
                  (add-after 'unpack 'patch-for-poppler
 | 
					 | 
				
			||||||
                    (lambda _
 | 
					 | 
				
			||||||
                      (substitute* "filter/pdf.cxx"
 | 
					 | 
				
			||||||
                        (("GooString \\*field_name;" m)
 | 
					 | 
				
			||||||
                         (string-append "const " m)))
 | 
					 | 
				
			||||||
                      #t))
 | 
					 | 
				
			||||||
                  (add-after 'install 'wrap-filters
 | 
					                  (add-after 'install 'wrap-filters
 | 
				
			||||||
                    (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
					                    (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
                      ;; Some filters expect to find 'gs' in $PATH.  We cannot
 | 
					                      ;; Some filters expect to find 'gs' in $PATH.  We cannot
 | 
				
			||||||
| 
						 | 
					@ -250,7 +244,7 @@ device-specific programs to convert and print many types of files.")
 | 
				
			||||||
    (license license:asl2.0)))
 | 
					    (license license:asl2.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public cups
 | 
					(define-public cups
 | 
				
			||||||
  (package (inherit cups-minimal)
 | 
					  (package/inherit cups-minimal
 | 
				
			||||||
    (name "cups")
 | 
					    (name "cups")
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(;; Three tests fail:
 | 
					     `(;; Three tests fail:
 | 
				
			||||||
| 
						 | 
					@ -421,14 +415,14 @@ should only be used as part of the Guix cups-pk-helper service.")
 | 
				
			||||||
(define-public hplip
 | 
					(define-public hplip
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "hplip")
 | 
					    (name "hplip")
 | 
				
			||||||
    (version "3.20.3")
 | 
					    (version "3.20.5")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://sourceforge/hplip/hplip/" version
 | 
					              (uri (string-append "mirror://sourceforge/hplip/hplip/" version
 | 
				
			||||||
                                  "/hplip-" version ".tar.gz"))
 | 
					                                  "/hplip-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0sh6cg7yjc11x1cm4477iaslj9n8ksghs85hqwgfbk7m5b2pw2a1"))
 | 
					                "0nj79r61fzddwwzf8kcc0qkp4y9qx46v15iarz6h6y3v91wbsjq0"))
 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
              (patches (search-patches "hplip-remove-imageprocessor.patch"))
 | 
					              (patches (search-patches "hplip-remove-imageprocessor.patch"))
 | 
				
			||||||
              (snippet
 | 
					              (snippet
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,14 +26,13 @@
 | 
				
			||||||
(define-public ropgadget
 | 
					(define-public ropgadget
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ropgadget")
 | 
					    (name "ropgadget")
 | 
				
			||||||
    (version "6.2")
 | 
					    (version "6.3")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (pypi-uri "ROPGadget" version))
 | 
					       (uri (pypi-uri "ROPGadget" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "0v34w88if3p4vn46aby24msfnxj6znmkf4848n4d24jnykxcsqk9"))))
 | 
				
			||||||
         "0idiicgpijar9l9kqmfdh865c2mkfgxg0q7lpz77jc09l6q0afjh"))))
 | 
					 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     `(("python-capstone" ,python-capstone)))
 | 
					     `(("python-capstone" ,python-capstone)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -88,7 +88,9 @@
 | 
				
			||||||
  #:use-module (gnu packages language)
 | 
					  #:use-module (gnu packages language)
 | 
				
			||||||
  #:use-module (gnu packages libevent)
 | 
					  #:use-module (gnu packages libevent)
 | 
				
			||||||
  #:use-module (gnu packages linux)
 | 
					  #:use-module (gnu packages linux)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages logging)
 | 
				
			||||||
  #:use-module (gnu packages man)
 | 
					  #:use-module (gnu packages man)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages maths)
 | 
				
			||||||
  #:use-module (gnu packages ncurses)
 | 
					  #:use-module (gnu packages ncurses)
 | 
				
			||||||
  #:use-module (gnu packages onc-rpc)
 | 
					  #:use-module (gnu packages onc-rpc)
 | 
				
			||||||
  #:use-module (gnu packages parallel)
 | 
					  #:use-module (gnu packages parallel)
 | 
				
			||||||
| 
						 | 
					@ -98,6 +100,7 @@
 | 
				
			||||||
  #:use-module (gnu packages perl-web)
 | 
					  #:use-module (gnu packages perl-web)
 | 
				
			||||||
  #:use-module (gnu packages pkg-config)
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
  #:use-module (gnu packages popt)
 | 
					  #:use-module (gnu packages popt)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages protobuf)
 | 
				
			||||||
  #:use-module (gnu packages python)
 | 
					  #:use-module (gnu packages python)
 | 
				
			||||||
  #:use-module (gnu packages python-crypto)
 | 
					  #:use-module (gnu packages python-crypto)
 | 
				
			||||||
  #:use-module (gnu packages python-web)
 | 
					  #:use-module (gnu packages python-web)
 | 
				
			||||||
| 
						 | 
					@ -105,6 +108,8 @@
 | 
				
			||||||
  #:use-module (gnu packages python-xyz)
 | 
					  #:use-module (gnu packages python-xyz)
 | 
				
			||||||
  #:use-module (gnu packages rdf)
 | 
					  #:use-module (gnu packages rdf)
 | 
				
			||||||
  #:use-module (gnu packages readline)
 | 
					  #:use-module (gnu packages readline)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages regex)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages rpc)
 | 
				
			||||||
  #:use-module (gnu packages ruby)
 | 
					  #:use-module (gnu packages ruby)
 | 
				
			||||||
  #:use-module (gnu packages serialization)
 | 
					  #:use-module (gnu packages serialization)
 | 
				
			||||||
  #:use-module (gnu packages sphinx)
 | 
					  #:use-module (gnu packages sphinx)
 | 
				
			||||||
| 
						 | 
					@ -679,7 +684,7 @@ Language.")
 | 
				
			||||||
(define-public mariadb
 | 
					(define-public mariadb
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "mariadb")
 | 
					    (name "mariadb")
 | 
				
			||||||
    (version "10.1.44")
 | 
					    (version "10.1.45")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://downloads.mariadb.com/MariaDB"
 | 
					              (uri (string-append "https://downloads.mariadb.com/MariaDB"
 | 
				
			||||||
| 
						 | 
					@ -687,7 +692,7 @@ Language.")
 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0fah6d50hldq0farxwr8mj3jnniwdz0d1wsha07nx37fc79h7wi1"))
 | 
					                "1mfs0x4c0z7d306n128dxdawk3llk25vxif5zwl20fv1z5qhz3wx"))
 | 
				
			||||||
              (patches (search-patches "mariadb-client-test-32bit.patch"))
 | 
					              (patches (search-patches "mariadb-client-test-32bit.patch"))
 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
              (snippet
 | 
					              (snippet
 | 
				
			||||||
| 
						 | 
					@ -933,7 +938,7 @@ as a drop-in replacement of MySQL.")
 | 
				
			||||||
(define-public mariadb-connector-c
 | 
					(define-public mariadb-connector-c
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "mariadb-connector-c")
 | 
					    (name "mariadb-connector-c")
 | 
				
			||||||
    (version "3.1.6")
 | 
					    (version "3.1.8")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -942,13 +947,12 @@ as a drop-in replacement of MySQL.")
 | 
				
			||||||
                    version "-src.tar.gz"))
 | 
					                    version "-src.tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "083724f5daaqyzdcx508caz6fk2hs89jff85zg28ih43vxkvnrnj"))))
 | 
					                "0yrzhsxmjiwkhchagx8dymzhvxl3k5h40wn9wpicqjvgjb9k8523"))))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("openssl" ,openssl)))
 | 
					     `(("openssl" ,openssl)))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     ;; No tests.
 | 
					     '(#:tests? #f))                    ; no tests
 | 
				
			||||||
     '(#:tests? #f))
 | 
					 | 
				
			||||||
    (home-page "https://mariadb.com/kb/en/mariadb-connector-c/")
 | 
					    (home-page "https://mariadb.com/kb/en/mariadb-connector-c/")
 | 
				
			||||||
    (synopsis "Client library to connect to MySQL or MariaDB")
 | 
					    (synopsis "Client library to connect to MySQL or MariaDB")
 | 
				
			||||||
    (description "The MariaDB Connector/C is used to connect applications
 | 
					    (description "The MariaDB Connector/C is used to connect applications
 | 
				
			||||||
| 
						 | 
					@ -959,14 +963,14 @@ developed in C/C++ to MariaDB and MySQL databases.")
 | 
				
			||||||
(define-public postgresql
 | 
					(define-public postgresql
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "postgresql")
 | 
					    (name "postgresql")
 | 
				
			||||||
    (version "10.12")
 | 
					    (version "10.13")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://ftp.postgresql.org/pub/source/v"
 | 
					              (uri (string-append "https://ftp.postgresql.org/pub/source/v"
 | 
				
			||||||
                                  version "/postgresql-" version ".tar.bz2"))
 | 
					                                  version "/postgresql-" version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1rsab4zf4rx7pvvhlwhb04kb95aiad9cwazc4ksbvg2gij47z3rq"))
 | 
					                "1qal0yp7a90yzya7hl56gsmw5fvacplrdhpn7h9gnbyr1i2iyw2d"))
 | 
				
			||||||
              (patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
 | 
					              (patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					@ -1143,7 +1147,7 @@ including field and record folding.")))
 | 
				
			||||||
(define-public rocksdb
 | 
					(define-public rocksdb
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "rocksdb")
 | 
					    (name "rocksdb")
 | 
				
			||||||
    (version "6.8.1")
 | 
					    (version "6.10.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -1152,7 +1156,7 @@ including field and record folding.")))
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0i6qglyrcqwxnrvq67zm7ln79a4sj8mzgij9h0nz5zkxax8v1zg1"))
 | 
					                "0rp8q73dx5f1nkcf2qp6fljm4dpj281y6cqckqgv976kvwvqdgz1"))
 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
              (snippet
 | 
					              (snippet
 | 
				
			||||||
               '(begin
 | 
					               '(begin
 | 
				
			||||||
| 
						 | 
					@ -1459,7 +1463,7 @@ extremely small.")
 | 
				
			||||||
(define-public perl-dbi
 | 
					(define-public perl-dbi
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-dbi")
 | 
					    (name "perl-dbi")
 | 
				
			||||||
    (version "1.642")
 | 
					    (version "1.643")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -1467,7 +1471,7 @@ extremely small.")
 | 
				
			||||||
                    version ".tar.gz"))
 | 
					                    version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0pbzqazrx7pnw4nbyaf27in4b6yddkirbd2ws7mnqa2n7812a81z"))))
 | 
					                "1yinx39960y241vf2sknxj0dfz82a5m9gvklq5rw78k0nlyrjawa"))))
 | 
				
			||||||
    (build-system perl-build-system)
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
    (synopsis "Database independent interface for Perl")
 | 
					    (synopsis "Database independent interface for Perl")
 | 
				
			||||||
    (description "This package provides an database interface for Perl.")
 | 
					    (description "This package provides an database interface for Perl.")
 | 
				
			||||||
| 
						 | 
					@ -1703,7 +1707,7 @@ columns, primary keys, unique constraints and relationships.")
 | 
				
			||||||
(define-public perl-dbd-sqlite
 | 
					(define-public perl-dbd-sqlite
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-dbd-sqlite")
 | 
					    (name "perl-dbd-sqlite")
 | 
				
			||||||
    (version "1.62")
 | 
					    (version "1.64")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -1711,7 +1715,7 @@ columns, primary keys, unique constraints and relationships.")
 | 
				
			||||||
                    version ".tar.gz"))
 | 
					                    version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0p78ri1q6xpc1i98i6mlriv8n66iz8r5r11dlsknjm4y58rfz0mx"))))
 | 
					                "00gz5aw3xrr92lf9nfk0dhmy7a8jzmxhznddd9b0a8w4a1xqzbpl"))))
 | 
				
			||||||
    (build-system perl-build-system)
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
    (inputs `(("sqlite" ,sqlite)))
 | 
					    (inputs `(("sqlite" ,sqlite)))
 | 
				
			||||||
    (propagated-inputs `(("perl-dbi" ,perl-dbi)))
 | 
					    (propagated-inputs `(("perl-dbi" ,perl-dbi)))
 | 
				
			||||||
| 
						 | 
					@ -1749,14 +1753,14 @@ libmysqlclient.  It will fill an aray with long options, ready to be parsed by
 | 
				
			||||||
(define-public perl-sql-abstract
 | 
					(define-public perl-sql-abstract
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "perl-sql-abstract")
 | 
					    (name "perl-sql-abstract")
 | 
				
			||||||
    (version "1.86")
 | 
					    (version "1.87")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
 | 
					       (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
 | 
				
			||||||
                           "SQL-Abstract-" version ".tar.gz"))
 | 
					                           "SQL-Abstract-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1pwcm8hwxcgidyyrak37lx69d85q728jxsb0b14jz93gbvdgg9z7"))))
 | 
					        (base32 "0jhw91b23wc9bkfwcgvka4x5ddxk58m9bcp5ay7a3vx77nla09p9"))))
 | 
				
			||||||
    (build-system perl-build-system)
 | 
					    (build-system perl-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("perl-module-install" ,perl-module-install)
 | 
					     `(("perl-module-install" ,perl-module-install)
 | 
				
			||||||
| 
						 | 
					@ -2049,17 +2053,14 @@ database.")
 | 
				
			||||||
(define-public perl-db-file
 | 
					(define-public perl-db-file
 | 
				
			||||||
 (package
 | 
					 (package
 | 
				
			||||||
  (name "perl-db-file")
 | 
					  (name "perl-db-file")
 | 
				
			||||||
  (version "1.852")
 | 
					  (version "1.853")
 | 
				
			||||||
  (source
 | 
					  (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
      (uri (string-append
 | 
					      (uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/DB_File-"
 | 
				
			||||||
             "mirror://cpan/authors/id/P/PM/PMQS/DB_File-"
 | 
					                          version ".tar.gz"))
 | 
				
			||||||
             version
 | 
					 | 
				
			||||||
             ".tar.gz"))
 | 
					 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "1y967si45vj0skip1hnhicbv9da29fv6qcfwnsbnvj06n36mkj6h"))))
 | 
				
			||||||
          "14c30xyqx9c1hxw40bqbzls41al8gmklxv5jbk2kknmn4dsrbdrs"))))
 | 
					 | 
				
			||||||
  (build-system perl-build-system)
 | 
					  (build-system perl-build-system)
 | 
				
			||||||
  (inputs `(("bdb" ,bdb)))
 | 
					  (inputs `(("bdb" ,bdb)))
 | 
				
			||||||
  (native-inputs `(("perl-test-pod" ,perl-test-pod)))
 | 
					  (native-inputs `(("perl-test-pod" ,perl-test-pod)))
 | 
				
			||||||
| 
						 | 
					@ -2081,16 +2082,16 @@ database.")
 | 
				
			||||||
(define-public lmdb
 | 
					(define-public lmdb
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "lmdb")
 | 
					    (name "lmdb")
 | 
				
			||||||
    (version "0.9.24")
 | 
					    (version "0.9.25")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
       (uri (git-reference
 | 
					       (uri (git-reference
 | 
				
			||||||
             (url "https://github.com/LMDB/lmdb.git")
 | 
					             (url "https://git.openldap.org/openldap/openldap.git")
 | 
				
			||||||
             (commit (string-append "LMDB_" version))))
 | 
					             (commit (string-append "LMDB_" version))))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "088q6m8fvr12w43s461h7cvpg5hj8csaqj6n9pci150dz7bk5lxm"))))
 | 
					        (base32 "0i60zlca8r6fib23gdgl4c80gxpx24772ggpvz94yr7zaai4k11w"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:test-target "test"
 | 
					     `(#:test-target "test"
 | 
				
			||||||
| 
						 | 
					@ -2102,7 +2103,7 @@ database.")
 | 
				
			||||||
             (substitute* "Makefile"
 | 
					             (substitute* "Makefile"
 | 
				
			||||||
               (("/usr/local") (assoc-ref outputs "out")))
 | 
					               (("/usr/local") (assoc-ref outputs "out")))
 | 
				
			||||||
            #t)))))
 | 
					            #t)))))
 | 
				
			||||||
    (home-page "https://symas.com/products/lightning-memory-mapped-database")
 | 
					    (home-page "https://symas.com/lmdb/")
 | 
				
			||||||
    (synopsis "Lightning Memory-Mapped Database library")
 | 
					    (synopsis "Lightning Memory-Mapped Database library")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "The @dfn{Lightning Memory-Mapped Database} (LMDB) is a high-performance
 | 
					     "The @dfn{Lightning Memory-Mapped Database} (LMDB) is a high-performance
 | 
				
			||||||
| 
						 | 
					@ -2182,14 +2183,14 @@ on another machine, accessed via TCP/IP.")
 | 
				
			||||||
(define-public python-peewee
 | 
					(define-public python-peewee
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-peewee")
 | 
					    (name "python-peewee")
 | 
				
			||||||
    (version "2.10.2")
 | 
					    (version "3.9.6")
 | 
				
			||||||
      (source
 | 
					      (source
 | 
				
			||||||
        (origin
 | 
					        (origin
 | 
				
			||||||
        (method url-fetch)
 | 
					        (method url-fetch)
 | 
				
			||||||
        (uri (pypi-uri "peewee" version))
 | 
					        (uri (pypi-uri "peewee" version))
 | 
				
			||||||
        (sha256
 | 
					        (sha256
 | 
				
			||||||
         (base32
 | 
					         (base32
 | 
				
			||||||
          "10f2mrd5hw6rjklrzaix2lsxlgc8vx3xak54arcy6yd791zhchi3"))))
 | 
					          "1j4sh946k0736m7pd54z0y6i2hjhgg3kdllx1pwq8xkzzcgrx1xw"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f)) ; Fails to import test data
 | 
					     `(#:tests? #f)) ; Fails to import test data
 | 
				
			||||||
| 
						 | 
					@ -2382,13 +2383,13 @@ etc., and an SQL engine for performing simple SQL queries.")
 | 
				
			||||||
(define-public python-lmdb
 | 
					(define-public python-lmdb
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-lmdb")
 | 
					    (name "python-lmdb")
 | 
				
			||||||
    (version "0.95")
 | 
					    (version "0.98")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (pypi-uri "lmdb" version))
 | 
					              (uri (pypi-uri "lmdb" version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0nx9f193gzl33r1lbqhb96h1igya7pz8wmahr8m9x5zgc05hal91"))
 | 
					                "027pgbdhhdcbwj53vrzr6a60gjhmz4s75gl3180fd4q8pwlbq986"))
 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
              (snippet
 | 
					              (snippet
 | 
				
			||||||
               ;; Delete bundled lmdb source files.
 | 
					               ;; Delete bundled lmdb source files.
 | 
				
			||||||
| 
						 | 
					@ -2424,9 +2425,6 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.")
 | 
				
			||||||
           ;; but not actually needed on platforms currently supported by Guix.
 | 
					           ;; but not actually needed on platforms currently supported by Guix.
 | 
				
			||||||
           license:bsd-3))))
 | 
					           license:bsd-3))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public python2-lmdb
 | 
					 | 
				
			||||||
  (package-with-python2 python-lmdb))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public python-orator
 | 
					(define-public python-orator
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-orator")
 | 
					    (name "python-orator")
 | 
				
			||||||
| 
						 | 
					@ -3223,10 +3221,12 @@ Monitor read/write activity on a mongo server
 | 
				
			||||||
@end table")
 | 
					@end table")
 | 
				
			||||||
    (license license:asl2.0)))
 | 
					    (license license:asl2.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; There are many wrappers for this in other languages. When touching, please
 | 
				
			||||||
 | 
					;; be sure to ensure all dependencies continue to build.
 | 
				
			||||||
(define-public apache-arrow
 | 
					(define-public apache-arrow
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "apache-arrow")
 | 
					    (name "apache-arrow")
 | 
				
			||||||
    (version "0.10.0")
 | 
					    (version "0.17.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -3236,7 +3236,7 @@ Monitor read/write activity on a mongo server
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
          "04xkp922b8qrrnpvv9ixxnvk7151n1plzx6aqdff6frn9651zvxs"))))
 | 
					         "02r6yx3yhywzikd3b0vfkjgddhfiriyx2vpm3jf5880wq59x798a"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f
 | 
					     `(#:tests? #f
 | 
				
			||||||
| 
						 | 
					@ -3249,40 +3249,91 @@ Monitor read/write activity on a mongo server
 | 
				
			||||||
             (setenv "BOOST_ROOT" (assoc-ref %build-inputs "boost"))
 | 
					             (setenv "BOOST_ROOT" (assoc-ref %build-inputs "boost"))
 | 
				
			||||||
             (setenv "BROTLI_HOME" (assoc-ref %build-inputs "brotli"))
 | 
					             (setenv "BROTLI_HOME" (assoc-ref %build-inputs "brotli"))
 | 
				
			||||||
             (setenv "FLATBUFFERS_HOME" (assoc-ref %build-inputs "flatbuffers"))
 | 
					             (setenv "FLATBUFFERS_HOME" (assoc-ref %build-inputs "flatbuffers"))
 | 
				
			||||||
             (setenv "JEMALLOC_HOME" (assoc-ref %build-inputs "jemalloc"))
 | 
					 | 
				
			||||||
             (setenv "RAPIDJSON_HOME" (assoc-ref %build-inputs "rapidjson"))
 | 
					             (setenv "RAPIDJSON_HOME" (assoc-ref %build-inputs "rapidjson"))
 | 
				
			||||||
             #t)))
 | 
					             #t)))
 | 
				
			||||||
       #:build-type "Release"
 | 
					       #:build-type "Release"
 | 
				
			||||||
       #:configure-flags
 | 
					       #:configure-flags
 | 
				
			||||||
       (list "-DARROW_PYTHON=ON"
 | 
					       (list "-DARROW_PYTHON=ON"
 | 
				
			||||||
 | 
					             "-DARROW_GLOG=ON"
 | 
				
			||||||
 | 
					             ;; Parquet options
 | 
				
			||||||
 | 
					             "-DARROW_PARQUET=ON"
 | 
				
			||||||
 | 
					             "-DPARQUET_BUILD_EXECUTABLES=ON"
 | 
				
			||||||
 | 
					             ;; The maintainers disallow using system versions of
 | 
				
			||||||
 | 
					             ;; jemalloc:
 | 
				
			||||||
 | 
					             ;; https://issues.apache.org/jira/browse/ARROW-3507. This
 | 
				
			||||||
 | 
					             ;; is unfortunate because jemalloc increases performance:
 | 
				
			||||||
 | 
					             ;; https://arrow.apache.org/blog/2018/07/20/jemalloc/.
 | 
				
			||||||
 | 
					             "-DARROW_JEMALLOC=OFF"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
             ;; Install to PREFIX/lib (the default is
 | 
					             ;; The CMake option ARROW_DEPENDENCY_SOURCE is a global
 | 
				
			||||||
             ;; PREFIX/lib64).
 | 
					             ;; option that instructs the build system how to resolve
 | 
				
			||||||
             (string-append "-DCMAKE_INSTALL_LIBDIR="
 | 
					             ;; each dependency. SYSTEM = Finding the dependency in
 | 
				
			||||||
                            (assoc-ref %outputs "out")
 | 
					             ;; system paths using CMake's built-in find_package
 | 
				
			||||||
 | 
					             ;; function, or using pkg-config for packages that do not
 | 
				
			||||||
 | 
					             ;; have this feature
 | 
				
			||||||
 | 
					             "-DARROW_DEPENDENCY_SOURCE=SYSTEM"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					             ;; Split output into its component packages.
 | 
				
			||||||
 | 
					             (string-append "-DCMAKE_INSTALL_PREFIX="
 | 
				
			||||||
 | 
					                            (assoc-ref %outputs "lib"))
 | 
				
			||||||
 | 
					             (string-append "-DCMAKE_INSTALL_RPATH="
 | 
				
			||||||
 | 
					                            (assoc-ref %outputs "lib")
 | 
				
			||||||
                            "/lib")
 | 
					                            "/lib")
 | 
				
			||||||
 | 
					             (string-append "-DCMAKE_INSTALL_BINDIR="
 | 
				
			||||||
 | 
					                            (assoc-ref %outputs "out")
 | 
				
			||||||
 | 
					                            "/bin")
 | 
				
			||||||
 | 
					             (string-append "-DCMAKE_INSTALL_INCLUDEDIR="
 | 
				
			||||||
 | 
					                            (assoc-ref %outputs "include")
 | 
				
			||||||
 | 
					                            "/share/include")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
             ;; XXX These Guix package offer static
 | 
					
 | 
				
			||||||
             ;; libraries that are not position independent,
 | 
					             "-DARROW_WITH_SNAPPY=ON"
 | 
				
			||||||
             ;; and ld fails to link them into the arrow .so
 | 
					             "-DARROW_WITH_ZLIB=ON"
 | 
				
			||||||
             "-DARROW_WITH_SNAPPY=OFF"
 | 
					             "-DARROW_WITH_ZSTD=ON"
 | 
				
			||||||
             "-DARROW_WITH_ZLIB=OFF"
 | 
					             "-DARROW_WITH_LZ4=ON"
 | 
				
			||||||
             "-DARROW_WITH_ZSTD=OFF"
 | 
					             "-DARROW_COMPUTE=ON"
 | 
				
			||||||
             "-DARROW_WITH_LZ4=OFF"
 | 
					             "-DARROW_CSV=ON"
 | 
				
			||||||
 | 
					             "-DARROW_DATASET=ON"
 | 
				
			||||||
 | 
					             "-DARROW_FILESYSTEM=ON"
 | 
				
			||||||
 | 
					             "-DARROW_HDFS=ON"
 | 
				
			||||||
 | 
					             "-DARROW_JSON=ON"
 | 
				
			||||||
 | 
					             ;; Arrow Python C++ integration library (required for
 | 
				
			||||||
 | 
					             ;; building pyarrow). This library must be built against
 | 
				
			||||||
 | 
					             ;; the same Python version for which you are building
 | 
				
			||||||
 | 
					             ;; pyarrow. NumPy must also be installed. Enabling this
 | 
				
			||||||
 | 
					             ;; option also enables ARROW_COMPUTE, ARROW_CSV,
 | 
				
			||||||
 | 
					             ;; ARROW_DATASET, ARROW_FILESYSTEM, ARROW_HDFS, and
 | 
				
			||||||
 | 
					             ;; ARROW_JSON.
 | 
				
			||||||
 | 
					             "-DARROW_PYTHON=ON"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
             ;; Building the tests forces on all the
 | 
					             ;; Building the tests forces on all the
 | 
				
			||||||
             ;; optional features and the use of static
 | 
					             ;; optional features and the use of static
 | 
				
			||||||
             ;; libraries.
 | 
					             ;; libraries.
 | 
				
			||||||
             "-DARROW_BUILD_TESTS=OFF"
 | 
					             "-DARROW_BUILD_TESTS=OFF"
 | 
				
			||||||
 | 
					             "-DBENCHMARK_ENABLE_GTEST_TESTS=OFF"
 | 
				
			||||||
 | 
					             ;;"-DBENCHMARK_ENABLE_TESTING=OFF"
 | 
				
			||||||
             "-DARROW_BUILD_STATIC=OFF")))
 | 
					             "-DARROW_BUILD_STATIC=OFF")))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("boost" ,boost)
 | 
					     `(("boost" ,boost)
 | 
				
			||||||
       ("rapidjson" ,rapidjson)
 | 
					 | 
				
			||||||
       ("brotli" ,google-brotli)
 | 
					       ("brotli" ,google-brotli)
 | 
				
			||||||
       ("flatbuffers" ,flatbuffers)
 | 
					       ("double-conversion" ,double-conversion)
 | 
				
			||||||
       ("jemalloc" ,jemalloc)
 | 
					       ("snappy" ,snappy)
 | 
				
			||||||
 | 
					       ("gflags" ,gflags)
 | 
				
			||||||
 | 
					       ("glog" ,glog)
 | 
				
			||||||
 | 
					       ("apache-thrift" ,apache-thrift "lib")
 | 
				
			||||||
 | 
					       ("protobuf" ,protobuf)
 | 
				
			||||||
 | 
					       ("rapidjson" ,rapidjson)
 | 
				
			||||||
 | 
					       ("zlib" ,zlib)
 | 
				
			||||||
 | 
					       ("bzip2" ,bzip2)
 | 
				
			||||||
 | 
					       ("lz4" ,lz4)
 | 
				
			||||||
 | 
					       ("zstd" ,zstd "lib")
 | 
				
			||||||
 | 
					       ("re2" ,re2)
 | 
				
			||||||
 | 
					       ("grpc" ,grpc)
 | 
				
			||||||
       ("python-3" ,python)
 | 
					       ("python-3" ,python)
 | 
				
			||||||
       ("python-numpy" ,python-numpy)))
 | 
					       ("python-numpy" ,python-numpy)))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
 | 
					    (outputs '("out" "lib" "include"))
 | 
				
			||||||
    (home-page "https://arrow.apache.org/")
 | 
					    (home-page "https://arrow.apache.org/")
 | 
				
			||||||
    (synopsis "Columnar in-memory analytics")
 | 
					    (synopsis "Columnar in-memory analytics")
 | 
				
			||||||
    (description "Apache Arrow is a columnar in-memory analytics layer
 | 
					    (description "Apache Arrow is a columnar in-memory analytics layer
 | 
				
			||||||
| 
						 | 
					@ -3294,18 +3345,8 @@ algorithm implementations.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public python-pyarrow
 | 
					(define-public python-pyarrow
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
 | 
					    (inherit apache-arrow)
 | 
				
			||||||
    (name "python-pyarrow")
 | 
					    (name "python-pyarrow")
 | 
				
			||||||
    (version "0.10.0")
 | 
					 | 
				
			||||||
    (source
 | 
					 | 
				
			||||||
      (origin
 | 
					 | 
				
			||||||
       (method git-fetch)
 | 
					 | 
				
			||||||
       (uri (git-reference
 | 
					 | 
				
			||||||
             (url "https://github.com/apache/arrow")
 | 
					 | 
				
			||||||
             (commit (string-append "apache-arrow-" version))))
 | 
					 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					 | 
				
			||||||
       (sha256
 | 
					 | 
				
			||||||
        (base32
 | 
					 | 
				
			||||||
         "04xkp922b8qrrnpvv9ixxnvk7151n1plzx6aqdff6frn9651zvxs"))))
 | 
					 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:tests? #f          ; XXX There are no tests in the "python" directory
 | 
					     '(#:tests? #f          ; XXX There are no tests in the "python" directory
 | 
				
			||||||
| 
						 | 
					@ -3314,26 +3355,29 @@ algorithm implementations.")
 | 
				
			||||||
         (delete 'build) ; XXX the build is performed again during the install phase
 | 
					         (delete 'build) ; XXX the build is performed again during the install phase
 | 
				
			||||||
         (add-after 'unpack 'enter-source-directory
 | 
					         (add-after 'unpack 'enter-source-directory
 | 
				
			||||||
           (lambda _ (chdir "python") #t))
 | 
					           (lambda _ (chdir "python") #t))
 | 
				
			||||||
         (add-after 'unpack 'set-env
 | 
					         (add-after 'unpack 'make-git-checkout-writable
 | 
				
			||||||
           (lambda _
 | 
					           (lambda _
 | 
				
			||||||
             (setenv "ARROW_HOME" (assoc-ref %build-inputs "apache-arrow"))
 | 
					             (for-each make-file-writable (find-files "."))
 | 
				
			||||||
             #t)))))
 | 
					             #t)))))
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     `(("apache-arrow" ,apache-arrow)
 | 
					     `(("apache-arrow" ,apache-arrow "lib")
 | 
				
			||||||
       ("python-numpy" ,python-numpy)
 | 
					       ("python-numpy" ,python-numpy)
 | 
				
			||||||
       ("python-pandas" ,python-pandas)
 | 
					       ("python-pandas" ,python-pandas)
 | 
				
			||||||
       ("python-six" ,python-six)))
 | 
					       ("python-six" ,python-six)))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("cmake" ,cmake-minimal)
 | 
					     `(("cmake" ,cmake-minimal)
 | 
				
			||||||
 | 
					       ("pkg-config" ,pkg-config)
 | 
				
			||||||
       ("python-cython" ,python-cython)
 | 
					       ("python-cython" ,python-cython)
 | 
				
			||||||
       ("python-pytest" ,python-pytest)
 | 
					       ("python-pytest" ,python-pytest)
 | 
				
			||||||
       ("python-pytest-runner" ,python-pytest-runner)
 | 
					       ("python-pytest-runner" ,python-pytest-runner)
 | 
				
			||||||
       ("python-setuptools-scm" ,python-setuptools-scm)))
 | 
					       ("python-setuptools-scm" ,python-setuptools-scm)))
 | 
				
			||||||
 | 
					    (outputs '("out"))
 | 
				
			||||||
    (home-page "https://arrow.apache.org/docs/python/")
 | 
					    (home-page "https://arrow.apache.org/docs/python/")
 | 
				
			||||||
    (synopsis "Python bindings for Apache Arrow")
 | 
					    (synopsis "Python bindings for Apache Arrow")
 | 
				
			||||||
    (description "This library provides a Pythonic API wrapper for the reference
 | 
					    (description
 | 
				
			||||||
Arrow C++ implementation, along with tools for interoperability with pandas,
 | 
					     "This library provides a Pythonic API wrapper for the reference Arrow C++
 | 
				
			||||||
NumPy, and other traditional Python scientific computing packages.")
 | 
					implementation, along with tools for interoperability with pandas, NumPy, and
 | 
				
			||||||
 | 
					other traditional Python scientific computing packages.")
 | 
				
			||||||
    (license license:asl2.0)))
 | 
					    (license license:asl2.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public python2-pyarrow
 | 
					(define-public python2-pyarrow
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,6 +5,7 @@
 | 
				
			||||||
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
 | 
					;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
 | 
				
			||||||
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
 | 
					;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
 | 
				
			||||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 | 
					;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -43,6 +44,7 @@
 | 
				
			||||||
  #:use-module (gnu packages gtk)
 | 
					  #:use-module (gnu packages gtk)
 | 
				
			||||||
  #:use-module (gnu packages golang)
 | 
					  #:use-module (gnu packages golang)
 | 
				
			||||||
  #:use-module (gnu packages image)
 | 
					  #:use-module (gnu packages image)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages libusb)
 | 
				
			||||||
  #:use-module (gnu packages linux)
 | 
					  #:use-module (gnu packages linux)
 | 
				
			||||||
  #:use-module (gnu packages llvm)
 | 
					  #:use-module (gnu packages llvm)
 | 
				
			||||||
  #:use-module (gnu packages ncurses)
 | 
					  #:use-module (gnu packages ncurses)
 | 
				
			||||||
| 
						 | 
					@ -596,3 +598,37 @@ GDB with very efficient reverse-execution, which in combination with standard
 | 
				
			||||||
GDB/x86 features like hardware data watchpoints, makes debugging much more
 | 
					GDB/x86 features like hardware data watchpoints, makes debugging much more
 | 
				
			||||||
fun.")
 | 
					fun.")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (license license:expat)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public mspdebug
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "mspdebug")
 | 
				
			||||||
 | 
					    (version "0.25")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method git-fetch)
 | 
				
			||||||
 | 
					              (uri (git-reference
 | 
				
			||||||
 | 
					                    (url "https://github.com/dlbeer/mspdebug.git")
 | 
				
			||||||
 | 
					                    (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32 "0prgwb5vx6fd4bj12ss1bbb6axj2kjyriyjxqrzd58s5jyyy8d3c"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:tests? #f                         ; no test suite
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (delete 'configure))              ; no configure script
 | 
				
			||||||
 | 
					       #:make-flags
 | 
				
			||||||
 | 
					       (list (string-append "CC=" ,(cc-for-target))
 | 
				
			||||||
 | 
					             "INSTALL=install"
 | 
				
			||||||
 | 
					             (string-append "PREFIX=" %output))))
 | 
				
			||||||
 | 
					  (inputs
 | 
				
			||||||
 | 
					     `(("libusb-compat" ,libusb-compat)
 | 
				
			||||||
 | 
					       ("readline" ,readline)))
 | 
				
			||||||
 | 
					    (synopsis "Debugging tool for MSP430 MCUs")
 | 
				
			||||||
 | 
					    (description "MspDebug supports FET430UIF, eZ430, RF2500 and Olimex
 | 
				
			||||||
 | 
					MSP430-JTAG-TINY programmers, as well as many other compatible
 | 
				
			||||||
 | 
					devices.  It can be used as a proxy for gdb or as an independent
 | 
				
			||||||
 | 
					debugger with support for programming, disassembly and reverse
 | 
				
			||||||
 | 
					engineering.")
 | 
				
			||||||
 | 
					    (home-page "https://github.com/dlbeer/mspdebug")
 | 
				
			||||||
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										143
									
								
								gnu/packages/dhall.scm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										143
									
								
								gnu/packages/dhall.scm
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,143 @@
 | 
				
			||||||
 | 
					;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
 | 
					;;;
 | 
				
			||||||
 | 
					;;; 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 dhall)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages haskell-xyz)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages haskell-check)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages haskell-crypto)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages haskell-web)
 | 
				
			||||||
 | 
					  #:use-module (guix download)
 | 
				
			||||||
 | 
					  #:use-module (guix build-system haskell)
 | 
				
			||||||
 | 
					  #:use-module ((guix licenses) #:prefix license:)
 | 
				
			||||||
 | 
					  #:use-module (guix packages))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public dhall
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "dhall")
 | 
				
			||||||
 | 
					    (version "1.32.0")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://hackage.haskell.org/package/dhall/dhall-"
 | 
				
			||||||
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "1imj0bh5365pdizvjbw2wqz0g9hakigf1zm4fr6379qdchxpp90p"))))
 | 
				
			||||||
 | 
					    (build-system haskell-build-system)
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("ghc-aeson" ,ghc-aeson)
 | 
				
			||||||
 | 
					       ("ghc-aeson-pretty" ,ghc-aeson-pretty)
 | 
				
			||||||
 | 
					       ("ghc-ansi-terminal" ,ghc-ansi-terminal)
 | 
				
			||||||
 | 
					       ("ghc-atomic-write" ,ghc-atomic-write-0.2.0.7)
 | 
				
			||||||
 | 
					       ("ghc-case-insensitive" ,ghc-case-insensitive)
 | 
				
			||||||
 | 
					       ("ghc-cborg" ,ghc-cborg)
 | 
				
			||||||
 | 
					       ("ghc-cborg-json" ,ghc-cborg-json)
 | 
				
			||||||
 | 
					       ("ghc-contravariant" ,ghc-contravariant)
 | 
				
			||||||
 | 
					       ("ghc-data-fix" ,ghc-data-fix)
 | 
				
			||||||
 | 
					       ("ghc-diff" ,ghc-diff)
 | 
				
			||||||
 | 
					       ("ghc-dotgen" ,ghc-dotgen)
 | 
				
			||||||
 | 
					       ("ghc-either" ,ghc-either)
 | 
				
			||||||
 | 
					       ("ghc-exceptions" ,ghc-exceptions)
 | 
				
			||||||
 | 
					       ("ghc-half" ,ghc-half)
 | 
				
			||||||
 | 
					       ("ghc-hashable" ,ghc-hashable)
 | 
				
			||||||
 | 
					       ("ghc-lens-family-core" ,ghc-lens-family-core)
 | 
				
			||||||
 | 
					       ("ghc-megaparsec" ,ghc-megaparsec)
 | 
				
			||||||
 | 
					       ("ghc-memory" ,ghc-memory)
 | 
				
			||||||
 | 
					       ("ghc-network-uri" ,ghc-network-uri)
 | 
				
			||||||
 | 
					       ("ghc-optparse-applicative" ,ghc-optparse-applicative)
 | 
				
			||||||
 | 
					       ("ghc-parsers" ,ghc-parsers)
 | 
				
			||||||
 | 
					       ("ghc-parser-combinators" ,ghc-parser-combinators)
 | 
				
			||||||
 | 
					       ("ghc-prettyprinter" ,ghc-prettyprinter-1.6)
 | 
				
			||||||
 | 
					       ("ghc-prettyprinter-ansi-terminal" ,ghc-prettyprinter-ansi-terminal)
 | 
				
			||||||
 | 
					       ("ghc-pretty-simple" ,ghc-pretty-simple)
 | 
				
			||||||
 | 
					       ("ghc-profunctors" ,ghc-profunctors)
 | 
				
			||||||
 | 
					       ("ghc-repline" ,ghc-repline-0.3)
 | 
				
			||||||
 | 
					       ("ghc-serialise" ,ghc-serialise)
 | 
				
			||||||
 | 
					       ("ghc-scientific" ,ghc-scientific)
 | 
				
			||||||
 | 
					       ("ghc-text-manipulate" ,ghc-text-manipulate)
 | 
				
			||||||
 | 
					       ("ghc-th-lift-instances" ,ghc-th-lift-instances)
 | 
				
			||||||
 | 
					       ("ghc-transformers-compat" ,ghc-transformers-compat)
 | 
				
			||||||
 | 
					       ("ghc-unordered-containers" ,ghc-unordered-containers)
 | 
				
			||||||
 | 
					       ("ghc-uri-encode" ,ghc-uri-encode)
 | 
				
			||||||
 | 
					       ("ghc-vector" ,ghc-vector)
 | 
				
			||||||
 | 
					       ("ghc-cryptonite" ,ghc-cryptonite)
 | 
				
			||||||
 | 
					       ("ghc-http-types" ,ghc-http-types)
 | 
				
			||||||
 | 
					       ("ghc-http-client" ,ghc-http-client)
 | 
				
			||||||
 | 
					       ("ghc-http-client-tls" ,ghc-http-client-tls)))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("ghc-foldl" ,ghc-foldl)
 | 
				
			||||||
 | 
					       ("ghc-generic-random" ,ghc-generic-random-1.3.0.1)
 | 
				
			||||||
 | 
					       ("ghc-quickcheck" ,ghc-quickcheck)
 | 
				
			||||||
 | 
					       ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
 | 
				
			||||||
 | 
					       ("ghc-semigroups" ,ghc-semigroups)
 | 
				
			||||||
 | 
					       ("ghc-special-values" ,ghc-special-values)
 | 
				
			||||||
 | 
					       ("ghc-spoon" ,ghc-spoon)
 | 
				
			||||||
 | 
					       ("ghc-tasty" ,ghc-tasty)
 | 
				
			||||||
 | 
					       ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
 | 
				
			||||||
 | 
					       ("ghc-tasty-hunit" ,ghc-tasty-hunit)
 | 
				
			||||||
 | 
					       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
 | 
				
			||||||
 | 
					       ("ghc-turtle" ,ghc-turtle)
 | 
				
			||||||
 | 
					       ("ghc-mockery" ,ghc-mockery)
 | 
				
			||||||
 | 
					       ("ghc-doctest" ,ghc-doctest)))
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-after 'unpack 'remove-network-tests
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (with-directory-excursion "dhall-lang/tests"
 | 
				
			||||||
 | 
					               (for-each
 | 
				
			||||||
 | 
					                delete-file
 | 
				
			||||||
 | 
					                '("import/failure/referentiallyInsane.dhall"
 | 
				
			||||||
 | 
					                  "import/success/customHeadersA.dhall"
 | 
				
			||||||
 | 
					                  "import/success/noHeaderForwardingA.dhall"
 | 
				
			||||||
 | 
					                  "import/success/unit/RemoteAsTextA.dhall"
 | 
				
			||||||
 | 
					                  "import/success/unit/SimpleRemoteA.dhall"
 | 
				
			||||||
 | 
					                  "import/success/unit/asLocation/RemoteChain1A.dhall"
 | 
				
			||||||
 | 
					                  "import/success/unit/asLocation/RemoteChain2A.dhall"
 | 
				
			||||||
 | 
					                  "import/success/unit/asLocation/RemoteChain3A.dhall"
 | 
				
			||||||
 | 
					                  "import/success/unit/asLocation/RemoteChainEnvA.dhall"
 | 
				
			||||||
 | 
					                  "import/success/unit/asLocation/RemoteChainMissingA.dhall"
 | 
				
			||||||
 | 
					                  "type-inference/success/CacheImportsA.dhall"
 | 
				
			||||||
 | 
					                  "type-inference/success/CacheImportsCanonicalizeA.dhall")))
 | 
				
			||||||
 | 
					             (substitute* "src/Dhall/Tutorial.hs"
 | 
				
			||||||
 | 
					               (((string-append
 | 
				
			||||||
 | 
					                  "-- >>> input auto "
 | 
				
			||||||
 | 
					                  "\"https://raw.githubusercontent.com/dhall-lang"
 | 
				
			||||||
 | 
					                  "/dhall-haskell/18e4e9a18dc53271146df3ccf5b4177c3552236b/"
 | 
				
			||||||
 | 
					                  "examples/True\" :: IO Bool"))
 | 
				
			||||||
 | 
					                "")
 | 
				
			||||||
 | 
					               (((string-append
 | 
				
			||||||
 | 
					                  "-- >>> input auto "
 | 
				
			||||||
 | 
					                  "\"False == "
 | 
				
			||||||
 | 
					                  "https://raw.githubusercontent.com/dhall-lang"
 | 
				
			||||||
 | 
					                  "/dhall-haskell/18e4e9a18dc53271146df3ccf5b4177c3552236b/"
 | 
				
			||||||
 | 
					                  "examples/True\" :: IO Bool"))
 | 
				
			||||||
 | 
					                ""))
 | 
				
			||||||
 | 
					             #t)))))
 | 
				
			||||||
 | 
					    (home-page "https://dhall-lang.org/")
 | 
				
			||||||
 | 
					    (synopsis "Configuration language guaranteed to terminate")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "Dhall is an explicitly typed configuration language that is not Turing
 | 
				
			||||||
 | 
					complete.  Despite being Turing incomplete, Dhall is a real programming
 | 
				
			||||||
 | 
					language with a type-checker and evaluator.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Use this library to parse, type-check, evaluate, and pretty-print the Dhall
 | 
				
			||||||
 | 
					configuration language.  This package also includes an executable which
 | 
				
			||||||
 | 
					type-checks a Dhall file and reduces the file to a fully evaluated normal
 | 
				
			||||||
 | 
					form.")
 | 
				
			||||||
 | 
					    (license license:bsd-3)))
 | 
				
			||||||
| 
						 | 
					@ -119,7 +119,7 @@ acronyms distributed as an info document.")
 | 
				
			||||||
     "GCIDE is a free dictionary based on a combination of sources.  It can
 | 
					     "GCIDE is a free dictionary based on a combination of sources.  It can
 | 
				
			||||||
be used via the GNU Dico program or accessed online at
 | 
					be used via the GNU Dico program or accessed online at
 | 
				
			||||||
http://gcide.gnu.org.ua/")
 | 
					http://gcide.gnu.org.ua/")
 | 
				
			||||||
    (home-page "http://gcide.gnu.org.ua/")
 | 
					    (home-page "https://gcide.gnu.org.ua/")
 | 
				
			||||||
    (license license:gpl3+)))
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public diction
 | 
					(define-public diction
 | 
				
			||||||
| 
						 | 
					@ -205,14 +205,14 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
 | 
				
			||||||
(define-public grammalecte
 | 
					(define-public grammalecte
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "grammalecte")
 | 
					    (name "grammalecte")
 | 
				
			||||||
    (version "1.9.0")
 | 
					    (version "1.10.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch/zipbomb)
 | 
					       (method url-fetch/zipbomb)
 | 
				
			||||||
       (uri (string-append "https://grammalecte.net/grammalecte/zip/"
 | 
					       (uri (string-append "https://grammalecte.net/grammalecte/zip/"
 | 
				
			||||||
                           "Grammalecte-fr-v" version ".zip"))
 | 
					                           "Grammalecte-fr-v" version ".zip"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1dmbmvf27dy0cnq2x7ldp9xmni8fl1p7vflgpy0yrgifgrjvnxzr"))))
 | 
					        (base32 "0lyngnvg995qdm9bhqj8vd8aywpcdqmzv3j4j77wxhsfa9k0pz08"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (home-page "https://grammalecte.net")
 | 
					    (home-page "https://grammalecte.net")
 | 
				
			||||||
    (synopsis "French spelling and grammar checker")
 | 
					    (synopsis "French spelling and grammar checker")
 | 
				
			||||||
| 
						 | 
					@ -231,7 +231,7 @@ and a Python library.")
 | 
				
			||||||
(define-public translate-shell
 | 
					(define-public translate-shell
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "translate-shell")
 | 
					    (name "translate-shell")
 | 
				
			||||||
    (version "0.9.6.11")
 | 
					    (version "0.9.6.12")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
      (origin
 | 
					      (origin
 | 
				
			||||||
        (method git-fetch)
 | 
					        (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -240,7 +240,7 @@ and a Python library.")
 | 
				
			||||||
               (commit (string-append "v" version))))
 | 
					               (commit (string-append "v" version))))
 | 
				
			||||||
        (file-name (git-file-name name version))
 | 
					        (file-name (git-file-name name version))
 | 
				
			||||||
        (sha256
 | 
					        (sha256
 | 
				
			||||||
         (base32 "137fz3ahzf65hfqcs4k7hhrmfjlhlw7wr3gfsvk88bnyqkyw44sm"))))
 | 
					         (base32 "075vqnha21rhr1b61dim7dqlfwm1yffyzcaa83s36rpk9r5sddzx"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -70,10 +70,9 @@
 | 
				
			||||||
  #:use-module (ice-9 match))
 | 
					  #:use-module (ice-9 match))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public diffoscope
 | 
					(define-public diffoscope
 | 
				
			||||||
  (let ((version "143"))
 | 
					 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "diffoscope")
 | 
					    (name "diffoscope")
 | 
				
			||||||
      (version version)
 | 
					    (version "146")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -82,7 +81,7 @@
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                  "0j58dqdk8ln8y0bcnfy37ljs37nkl56lzxqns396300ysln0qiwm"))))
 | 
					                "07kd3vshf4wlm0mv3mp6ljbxjq80mcg52w5ks6si1gnpzfbfz07p"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases (modify-phases %standard-phases
 | 
					     `(#:phases (modify-phases %standard-phases
 | 
				
			||||||
| 
						 | 
					@ -234,7 +233,7 @@ compare two tarballs, ISO images, or PDFs just as easily.
 | 
				
			||||||
Diffoscope has many optional dependencies; @code{diffoscope
 | 
					Diffoscope has many optional dependencies; @code{diffoscope
 | 
				
			||||||
--list-missing-tools guix} will display optional packages to
 | 
					--list-missing-tools guix} will display optional packages to
 | 
				
			||||||
install.")
 | 
					install.")
 | 
				
			||||||
      (license license:gpl3+))))
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public reprotest
 | 
					(define-public reprotest
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 | 
					;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 | 
				
			||||||
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
					;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -22,7 +23,9 @@
 | 
				
			||||||
  #:use-module (guix utils)
 | 
					  #:use-module (guix utils)
 | 
				
			||||||
  #:use-module (guix packages)
 | 
					  #:use-module (guix packages)
 | 
				
			||||||
  #:use-module (guix download)
 | 
					  #:use-module (guix download)
 | 
				
			||||||
 | 
					  #:use-module (guix git-download)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages autotools)
 | 
				
			||||||
  #:use-module (gnu packages glib)
 | 
					  #:use-module (gnu packages glib)
 | 
				
			||||||
  #:use-module (gnu packages image)
 | 
					  #:use-module (gnu packages image)
 | 
				
			||||||
  #:use-module (gnu packages pkg-config)
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
| 
						 | 
					@ -59,18 +62,22 @@ utilities.")
 | 
				
			||||||
(define-public djview
 | 
					(define-public djview
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "djview")
 | 
					    (name "djview")
 | 
				
			||||||
    (version "4.10.6")
 | 
					    (version "4.11")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
       (uri (string-append "mirror://sourceforge/djvu/DjView/"
 | 
					       (uri (git-reference
 | 
				
			||||||
                           (version-major+minor version) "/"
 | 
					             (url "https://git.code.sf.net/p/djvu/djview-git")
 | 
				
			||||||
                           "djview-" version ".tar.gz"))
 | 
					             (commit (string-append "release." version))))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "08bwv8ppdzhryfcnifgzgdilb12jcnivl4ig6hd44f12d76z6il4"))))
 | 
					        (base32 "0qlhd0xlxn8i869m0hwdjvwivi2vigqm88wliyr1h7s84zl3qhsy"))
 | 
				
			||||||
 | 
					       (file-name (git-file-name name version))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					     `(("autoconf" ,autoconf)
 | 
				
			||||||
 | 
					       ("automake" ,automake)
 | 
				
			||||||
 | 
					       ("libtool" ,libtool)
 | 
				
			||||||
 | 
					       ("pkg-config" ,pkg-config)
 | 
				
			||||||
       ("qttools" ,qttools)))
 | 
					       ("qttools" ,qttools)))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("djvulibre" ,djvulibre)
 | 
					     `(("djvulibre" ,djvulibre)
 | 
				
			||||||
| 
						 | 
					@ -86,6 +93,11 @@ utilities.")
 | 
				
			||||||
           (lambda _
 | 
					           (lambda _
 | 
				
			||||||
             (substitute* "desktopfiles/djvulibre-djview4.desktop"
 | 
					             (substitute* "desktopfiles/djvulibre-djview4.desktop"
 | 
				
			||||||
               (("Exec=djview4 %f") "Exec=djview %f"))
 | 
					               (("Exec=djview4 %f") "Exec=djview %f"))
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
 | 
					         (add-after 'unpack 'make-files-writable
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (for-each make-file-writable
 | 
				
			||||||
 | 
					                       (find-files "."))
 | 
				
			||||||
             #t)))))
 | 
					             #t)))))
 | 
				
			||||||
    (home-page "http://djvu.sourceforge.net/djview4.html")
 | 
					    (home-page "http://djvu.sourceforge.net/djview4.html")
 | 
				
			||||||
    (synopsis "Viewer for the DjVu image format")
 | 
					    (synopsis "Viewer for the DjVu image format")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -119,7 +119,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
 | 
				
			||||||
(define-public isc-bind
 | 
					(define-public isc-bind
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "bind")
 | 
					    (name "bind")
 | 
				
			||||||
    (version "9.16.2")
 | 
					    (version "9.16.3")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -127,7 +127,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
 | 
				
			||||||
                    "/bind-" version ".tar.xz"))
 | 
					                    "/bind-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0gwr4p14zy5jqq050n762rfc33km51qwipcwy6bsvk55ziybgrfr"))))
 | 
					                "0zjgaspnx0p0rp83h4yj595s25da7fjis94z9frhv3azvq9nbb17"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (outputs `("out" "utils"))
 | 
					    (outputs `("out" "utils"))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
| 
						 | 
					@ -391,14 +391,14 @@ to result in system-wide compromise.")
 | 
				
			||||||
(define-public unbound
 | 
					(define-public unbound
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "unbound")
 | 
					    (name "unbound")
 | 
				
			||||||
    (version "1.10.0")
 | 
					    (version "1.10.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "https://www.unbound.net/downloads/unbound-"
 | 
					       (uri (string-append "https://www.unbound.net/downloads/unbound-"
 | 
				
			||||||
                           version ".tar.gz"))
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0mg9divpysr42sp0m693a70693dp8025v6c9dv1yabr4g1jlhbqm"))))
 | 
					        (base32 "0dnmh9jjh2v274f0hl31bgv40pl77mmfgky8bkqr5kvi3b17fdmp"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (outputs '("out" "python"))
 | 
					    (outputs '("out" "python"))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
| 
						 | 
					@ -595,14 +595,14 @@ Extensions} (DNSSEC).")
 | 
				
			||||||
(define-public knot
 | 
					(define-public knot
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "knot")
 | 
					    (name "knot")
 | 
				
			||||||
    (version "2.9.3")
 | 
					    (version "2.9.5")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "https://secure.nic.cz/files/knot-dns/"
 | 
					       (uri (string-append "https://secure.nic.cz/files/knot-dns/"
 | 
				
			||||||
                           "knot-" version ".tar.xz"))
 | 
					                           "knot-" version ".tar.xz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0zm0642hkb16sqkqpa84f89f3s0bw44m837r1nia8m89swvz3bgj"))
 | 
					        (base32 "0xmzmhd2m9rb24clrrd9k058harsq67nyjplpbyxvy1g46xah28i"))
 | 
				
			||||||
       (modules '((guix build utils)))
 | 
					       (modules '((guix build utils)))
 | 
				
			||||||
       (snippet
 | 
					       (snippet
 | 
				
			||||||
        '(begin
 | 
					        '(begin
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2016 David Thompson <davet@gnu.org>
 | 
					;;; Copyright © 2016 David Thompson <davet@gnu.org>
 | 
				
			||||||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
					;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
				
			||||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 | 
					;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -47,7 +47,7 @@
 | 
				
			||||||
  #:use-module (gnu packages version-control)
 | 
					  #:use-module (gnu packages version-control)
 | 
				
			||||||
  #:use-module (gnu packages virtualization))
 | 
					  #:use-module (gnu packages virtualization))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define %docker-version "19.03.7")
 | 
					(define %docker-version "19.03.11")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public python-docker-py
 | 
					(define-public python-docker-py
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
| 
						 | 
					@ -314,7 +314,7 @@ built-in registry server of Docker.")
 | 
				
			||||||
             (commit (string-append "v" version))))
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1sik109lxmiwgrsnvfip1nnal1xkh8z1mlvys6aknjyh29ll1iq8"))
 | 
					        (base32 "1pmbggxbazipl24hxiaccbj32379zv79xba76l78v5131ihx922h"))
 | 
				
			||||||
       (patches
 | 
					       (patches
 | 
				
			||||||
        (search-patches "docker-fix-tests.patch"))))
 | 
					        (search-patches "docker-fix-tests.patch"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
| 
						 | 
					@ -544,7 +544,9 @@ built-in registry server of Docker.")
 | 
				
			||||||
               (install-file (string-append "bundles/dynbinary-daemon/dockerd-"
 | 
					               (install-file (string-append "bundles/dynbinary-daemon/dockerd-"
 | 
				
			||||||
                                            (getenv "VERSION"))
 | 
					                                            (getenv "VERSION"))
 | 
				
			||||||
                             out-bin)
 | 
					                             out-bin)
 | 
				
			||||||
               #t))))))
 | 
					               #t)))
 | 
				
			||||||
 | 
					         (add-after 'install 'remove-go-references
 | 
				
			||||||
 | 
					           (assoc-ref go:%standard-phases 'remove-go-references)))))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("btrfs-progs" ,btrfs-progs)
 | 
					     `(("btrfs-progs" ,btrfs-progs)
 | 
				
			||||||
       ("containerd" ,containerd)       ; for containerd-shim
 | 
					       ("containerd" ,containerd)       ; for containerd-shim
 | 
				
			||||||
| 
						 | 
					@ -590,7 +592,7 @@ provisioning etc.")
 | 
				
			||||||
            (commit (string-append "v" version))))
 | 
					            (commit (string-append "v" version))))
 | 
				
			||||||
      (file-name (git-file-name name version))
 | 
					      (file-name (git-file-name name version))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
       (base32 "164l33npy8acdbbrz8vcyiwx18vi55wwwikkasg0w43b5bdhz8sx"))))
 | 
					       (base32 "1y9ymv70r1hndblr64h19q34arxl2f3dqqi2qcrai5zfimcml6lr"))))
 | 
				
			||||||
    (build-system go-build-system)
 | 
					    (build-system go-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:import-path "github.com/docker/cli"
 | 
					     `(#:import-path "github.com/docker/cli"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -111,7 +111,7 @@ release/xsl/current")
 | 
				
			||||||
              ("docbook-xsl" ,docbook-xsl)
 | 
					              ("docbook-xsl" ,docbook-xsl)
 | 
				
			||||||
              ("libxml2" ,libxml2)
 | 
					              ("libxml2" ,libxml2)
 | 
				
			||||||
              ("libxslt" ,libxslt)))
 | 
					              ("libxslt" ,libxslt)))
 | 
				
			||||||
    (home-page "http://asciidoc.org/")
 | 
					    (home-page "https://asciidoc.org/")
 | 
				
			||||||
    (synopsis "Text-based document generation system")
 | 
					    (synopsis "Text-based document generation system")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "AsciiDoc is a text document format for writing notes, documentation,
 | 
					     "AsciiDoc is a text document format for writing notes, documentation,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -47,8 +47,7 @@
 | 
				
			||||||
popularized by X11-window managers like dwm, to the console.  As a console
 | 
					popularized by X11-window managers like dwm, to the console.  As a console
 | 
				
			||||||
window manager it tries to make it easy to work with multiple console based
 | 
					window manager it tries to make it easy to work with multiple console based
 | 
				
			||||||
programs.")
 | 
					programs.")
 | 
				
			||||||
   (home-page "http://www.brain-dump.org/projects/dvtm/")
 | 
					   (home-page "https://www.brain-dump.org/projects/dvtm/")
 | 
				
			||||||
 | 
					 | 
				
			||||||
   ;; "dvtm reuses some code of dwm and is released under the same MIT/X11
 | 
					   ;; "dvtm reuses some code of dwm and is released under the same MIT/X11
 | 
				
			||||||
   ;; license. The terminal emulation part is licensed under the ISC license."
 | 
					   ;; license. The terminal emulation part is licensed under the ISC license."
 | 
				
			||||||
   ;; source: http://www.brain-dump.org/projects/dvtm/#license
 | 
					   ;; source: http://www.brain-dump.org/projects/dvtm/#license
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -39,7 +39,7 @@
 | 
				
			||||||
(define-public liblcf
 | 
					(define-public liblcf
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "liblcf")
 | 
					    (name "liblcf")
 | 
				
			||||||
    (version "0.6.1")
 | 
					    (version "0.6.2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -47,7 +47,7 @@
 | 
				
			||||||
                    "/liblcf-" version ".tar.gz"))
 | 
					                    "/liblcf-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1qz387r4shbx48r3z7k8llkzz4b039zmak98wxpiwn6a23cssdn5"))))
 | 
					                "0n2k4brd264jg9p6918x7dnb2iimpzjh8q3v1fws58450xbgnkqc"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)))
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -46,6 +46,7 @@
 | 
				
			||||||
  #:use-module (gnu packages image)
 | 
					  #:use-module (gnu packages image)
 | 
				
			||||||
  #:use-module (gnu packages javascript)
 | 
					  #:use-module (gnu packages javascript)
 | 
				
			||||||
  #:use-module (gnu packages libusb)
 | 
					  #:use-module (gnu packages libusb)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages libreoffice)
 | 
				
			||||||
  #:use-module (gnu packages pdf)
 | 
					  #:use-module (gnu packages pdf)
 | 
				
			||||||
  #:use-module (gnu packages pkg-config)
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
  #:use-module (gnu packages python)
 | 
					  #:use-module (gnu packages python)
 | 
				
			||||||
| 
						 | 
					@ -82,7 +83,7 @@
 | 
				
			||||||
(define-public calibre
 | 
					(define-public calibre
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "calibre")
 | 
					    (name "calibre")
 | 
				
			||||||
    (version "3.42.0")
 | 
					    (version "4.18.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
      (origin
 | 
					      (origin
 | 
				
			||||||
        (method url-fetch)
 | 
					        (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -91,13 +92,18 @@
 | 
				
			||||||
                            version ".tar.xz"))
 | 
					                            version ".tar.xz"))
 | 
				
			||||||
        (sha256
 | 
					        (sha256
 | 
				
			||||||
         (base32
 | 
					         (base32
 | 
				
			||||||
          "0ymdhws3cb44p3fb24vln1wx6s7qnb8rr241jvm6qbj5rnp984dm"))
 | 
					          "0w9pcfvskjh4v00vjw3i6hzrafy863pgsmmqdx4lffip3p856brw"))
 | 
				
			||||||
        ;; Unbundle python2-odfpy. 
 | 
					 | 
				
			||||||
        ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
 | 
					 | 
				
			||||||
        (modules '((guix build utils)))
 | 
					        (modules '((guix build utils)))
 | 
				
			||||||
        (snippet
 | 
					        (snippet
 | 
				
			||||||
          '(begin
 | 
					          '(begin
 | 
				
			||||||
 | 
					             ;; Unbundle python2-odfpy.
 | 
				
			||||||
             (delete-file-recursively "src/odf")
 | 
					             (delete-file-recursively "src/odf")
 | 
				
			||||||
 | 
					             ;; Disable test that attempts to load it.
 | 
				
			||||||
 | 
					             (substitute* "setup/test.py"
 | 
				
			||||||
 | 
					               ((".*SRC, 'odf'.*")
 | 
				
			||||||
 | 
					                ""))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					             ;; Remove unneeded resources.
 | 
				
			||||||
             (delete-file "resources/viewer.js")
 | 
					             (delete-file "resources/viewer.js")
 | 
				
			||||||
             (delete-file "resources/viewer.html")
 | 
					             (delete-file "resources/viewer.html")
 | 
				
			||||||
             (delete-file "resources/mozilla-ca-certs.pem")
 | 
					             (delete-file "resources/mozilla-ca-certs.pem")
 | 
				
			||||||
| 
						 | 
					@ -105,8 +111,6 @@
 | 
				
			||||||
             (delete-file "resources/calibre-portable.sh")
 | 
					             (delete-file "resources/calibre-portable.sh")
 | 
				
			||||||
             #t))
 | 
					             #t))
 | 
				
			||||||
        (patches (search-patches "calibre-no-updates-dialog.patch"
 | 
					        (patches (search-patches "calibre-no-updates-dialog.patch"
 | 
				
			||||||
                                 "calibre-msgpack-compat.patch"
 | 
					 | 
				
			||||||
                                 "calibre-remove-test-bs4.patch" ; TODO: fix test.
 | 
					 | 
				
			||||||
                                 "calibre-remove-test-sqlite.patch" ; TODO: fix test.
 | 
					                                 "calibre-remove-test-sqlite.patch" ; TODO: fix test.
 | 
				
			||||||
                                 "calibre-remove-test-unrar.patch"))))
 | 
					                                 "calibre-remove-test-unrar.patch"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
| 
						 | 
					@ -115,12 +119,13 @@
 | 
				
			||||||
       ("qtbase" ,qtbase) ; for qmake
 | 
					       ("qtbase" ,qtbase) ; for qmake
 | 
				
			||||||
       ("python2-flake8" ,python2-flake8)
 | 
					       ("python2-flake8" ,python2-flake8)
 | 
				
			||||||
       ("xdg-utils" ,xdg-utils)))
 | 
					       ("xdg-utils" ,xdg-utils)))
 | 
				
			||||||
    ;; Beautifulsoup3 is bundled but obsolete and not packaged, so just leave it bundled.
 | 
					 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("chmlib" ,chmlib)
 | 
					     `(("chmlib" ,chmlib)
 | 
				
			||||||
       ("fontconfig" ,fontconfig)
 | 
					       ("fontconfig" ,fontconfig)
 | 
				
			||||||
       ("font-liberation" ,font-liberation)
 | 
					       ("font-liberation" ,font-liberation)
 | 
				
			||||||
       ("glib" ,glib)
 | 
					       ("glib" ,glib)
 | 
				
			||||||
 | 
					       ("hunspell" ,hunspell)
 | 
				
			||||||
 | 
					       ("hyphen" ,hyphen)
 | 
				
			||||||
       ("icu4c" ,icu4c)
 | 
					       ("icu4c" ,icu4c)
 | 
				
			||||||
       ("js-mathjax" ,js-mathjax)
 | 
					       ("js-mathjax" ,js-mathjax)
 | 
				
			||||||
       ("libmtp" ,libmtp)
 | 
					       ("libmtp" ,libmtp)
 | 
				
			||||||
| 
						 | 
					@ -132,6 +137,7 @@
 | 
				
			||||||
       ("poppler" ,poppler)
 | 
					       ("poppler" ,poppler)
 | 
				
			||||||
       ("python" ,python-2)
 | 
					       ("python" ,python-2)
 | 
				
			||||||
       ("python2-apsw" ,python2-apsw)
 | 
					       ("python2-apsw" ,python2-apsw)
 | 
				
			||||||
 | 
					       ("python2-beautifulsoup4" ,python2-beautifulsoup4)
 | 
				
			||||||
       ("python2-chardet" ,python2-chardet)
 | 
					       ("python2-chardet" ,python2-chardet)
 | 
				
			||||||
       ("python2-cssselect" ,python2-cssselect)
 | 
					       ("python2-cssselect" ,python2-cssselect)
 | 
				
			||||||
       ("python2-css-parser" ,python2-css-parser)
 | 
					       ("python2-css-parser" ,python2-css-parser)
 | 
				
			||||||
| 
						 | 
					@ -153,9 +159,11 @@
 | 
				
			||||||
       ("python2-pillow" ,python2-pillow)
 | 
					       ("python2-pillow" ,python2-pillow)
 | 
				
			||||||
       ("python2-psutil" ,python2-psutil)
 | 
					       ("python2-psutil" ,python2-psutil)
 | 
				
			||||||
       ("python2-pygments" ,python2-pygments)
 | 
					       ("python2-pygments" ,python2-pygments)
 | 
				
			||||||
 | 
					       ("python2-pyqtwebengine" ,python2-pyqtwebengine)
 | 
				
			||||||
       ("python2-pyqt" ,python2-pyqt)
 | 
					       ("python2-pyqt" ,python2-pyqt)
 | 
				
			||||||
       ("python2-sip" ,python2-sip)
 | 
					       ("python2-sip" ,python2-sip)
 | 
				
			||||||
       ("python2-regex" ,python2-regex)
 | 
					       ("python2-regex" ,python2-regex)
 | 
				
			||||||
 | 
					       ("qtwebengine" ,qtwebengine)
 | 
				
			||||||
       ("sqlite" ,sqlite)))
 | 
					       ("sqlite" ,sqlite)))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:python ,python-2
 | 
					     `(#:python ,python-2
 | 
				
			||||||
| 
						 | 
					@ -170,6 +178,18 @@
 | 
				
			||||||
               ;; We can't use the uninstaller in Guix. Don't build it.
 | 
					               ;; We can't use the uninstaller in Guix. Don't build it.
 | 
				
			||||||
               (("self\\.create_uninstaller()") ""))
 | 
					               (("self\\.create_uninstaller()") ""))
 | 
				
			||||||
             #t))
 | 
					             #t))
 | 
				
			||||||
 | 
					         (add-after 'patch-source-shebangs 'patch-more-shebangs
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             ;; Patch various inline shebangs.
 | 
				
			||||||
 | 
					             (substitute* '("src/calibre/gui2/preferences/tweaks.py"
 | 
				
			||||||
 | 
					                            "src/calibre/gui2/dialogs/custom_recipes.py"
 | 
				
			||||||
 | 
					                            "setup/install.py"
 | 
				
			||||||
 | 
					                            "setup/linux-installer.sh")
 | 
				
			||||||
 | 
					               (("#!/usr/bin/env python")
 | 
				
			||||||
 | 
					                (string-append "#!" (which "python")))
 | 
				
			||||||
 | 
					               (("#!/bin/sh")
 | 
				
			||||||
 | 
					                (string-append "#!" (which "sh"))))
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
         (add-after 'unpack 'dont-load-remote-icons
 | 
					         (add-after 'unpack 'dont-load-remote-icons
 | 
				
			||||||
           (lambda _
 | 
					           (lambda _
 | 
				
			||||||
             (substitute* "setup/plugins_mirror.py"
 | 
					             (substitute* "setup/plugins_mirror.py"
 | 
				
			||||||
| 
						 | 
					@ -180,9 +200,12 @@
 | 
				
			||||||
          (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
					          (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
            (let ((podofo (assoc-ref inputs "podofo"))
 | 
					            (let ((podofo (assoc-ref inputs "podofo"))
 | 
				
			||||||
                  (pyqt (assoc-ref inputs "python2-pyqt"))
 | 
					                  (pyqt (assoc-ref inputs "python2-pyqt"))
 | 
				
			||||||
 | 
					                  (python-sip (assoc-ref inputs "python2-sip"))
 | 
				
			||||||
                  (out (assoc-ref outputs "out")))
 | 
					                  (out (assoc-ref outputs "out")))
 | 
				
			||||||
              (substitute* "setup/build_environment.py"
 | 
					              (substitute* "setup/build_environment.py"
 | 
				
			||||||
                (("sys.prefix") (string-append "'" pyqt "'")))
 | 
					                (("= get_sip_dir\\(\\)")
 | 
				
			||||||
 | 
					                 (string-append "= '" pyqt "/share/sip'")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              (substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
 | 
					              (substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
 | 
				
			||||||
                (("PDFTOHTML = 'pdftohtml'")
 | 
					                (("PDFTOHTML = 'pdftohtml'")
 | 
				
			||||||
                 (string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler")
 | 
					                 (string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler")
 | 
				
			||||||
| 
						 | 
					@ -195,6 +218,18 @@
 | 
				
			||||||
              (substitute* "src/calibre/linux.py"
 | 
					              (substitute* "src/calibre/linux.py"
 | 
				
			||||||
                (("'~/.local/share'") "''"))
 | 
					                (("'~/.local/share'") "''"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              ;; 'python setup.py rapydscript' uses QtWebEngine, which
 | 
				
			||||||
 | 
					              ;; needs to create temporary files in $HOME.
 | 
				
			||||||
 | 
					              (setenv "HOME" "/tmp")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              ;; XXX: QtWebEngine will fail if no fonts are available.  This
 | 
				
			||||||
 | 
					              ;; can likely be removed when fontconfig has been patched to
 | 
				
			||||||
 | 
					              ;; include TrueType fonts by default.
 | 
				
			||||||
 | 
					              (symlink (string-append (assoc-ref inputs "font-liberation")
 | 
				
			||||||
 | 
					                                      "/share/fonts")
 | 
				
			||||||
 | 
					                       "/tmp/.fonts")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              (setenv "SIP_BIN" (string-append python-sip "/bin/sip"))
 | 
				
			||||||
              (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"))
 | 
				
			||||||
              ;; This informs the tests we are a continuous integration
 | 
					              ;; This informs the tests we are a continuous integration
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,6 +7,7 @@
 | 
				
			||||||
;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
					;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
				
			||||||
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
 | 
					;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
 | 
				
			||||||
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
 | 
					;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -39,6 +40,7 @@
 | 
				
			||||||
  #:use-module (gnu packages gettext)
 | 
					  #:use-module (gnu packages gettext)
 | 
				
			||||||
  #:use-module (gnu packages glib)
 | 
					  #:use-module (gnu packages glib)
 | 
				
			||||||
  #:use-module (gnu packages gnome)
 | 
					  #:use-module (gnu packages gnome)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages golang)
 | 
				
			||||||
  #:use-module (gnu packages gtk)
 | 
					  #:use-module (gnu packages gtk)
 | 
				
			||||||
  #:use-module (gnu packages image)
 | 
					  #:use-module (gnu packages image)
 | 
				
			||||||
  #:use-module (gnu packages javascript)
 | 
					  #:use-module (gnu packages javascript)
 | 
				
			||||||
| 
						 | 
					@ -68,6 +70,7 @@
 | 
				
			||||||
  #:use-module (guix utils)
 | 
					  #:use-module (guix utils)
 | 
				
			||||||
  #:use-module (guix build-system cmake)
 | 
					  #:use-module (guix build-system cmake)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
 | 
					  #:use-module (guix build-system go)
 | 
				
			||||||
  #:use-module (guix build-system python)
 | 
					  #:use-module (guix build-system python)
 | 
				
			||||||
  #:use-module (guix build-system qt)
 | 
					  #:use-module (guix build-system qt)
 | 
				
			||||||
  #:use-module (guix build-system trivial)
 | 
					  #:use-module (guix build-system trivial)
 | 
				
			||||||
| 
						 | 
					@ -114,7 +117,7 @@
 | 
				
			||||||
       ("texi2html" ,texi2html)
 | 
					       ("texi2html" ,texi2html)
 | 
				
			||||||
       ("glib:bin" ,glib "bin")
 | 
					       ("glib:bin" ,glib "bin")
 | 
				
			||||||
       ("pkg-config" ,pkg-config)))
 | 
					       ("pkg-config" ,pkg-config)))
 | 
				
			||||||
    (home-page "http://gcompris.net")
 | 
					    (home-page "https://gcompris.net")
 | 
				
			||||||
    (synopsis "Educational software suite")
 | 
					    (synopsis "Educational software suite")
 | 
				
			||||||
    (description "GCompris is an educational software suite comprising of
 | 
					    (description "GCompris is an educational software suite comprising of
 | 
				
			||||||
numerous activities for children aged 2 to 10.  Some of the activities are
 | 
					numerous activities for children aged 2 to 10.  Some of the activities are
 | 
				
			||||||
| 
						 | 
					@ -386,7 +389,10 @@ to open the application in a web browser, for offline usage.")
 | 
				
			||||||
                            Type=Application~%"
 | 
					                            Type=Application~%"
 | 
				
			||||||
                           out)))
 | 
					                           out)))
 | 
				
			||||||
               #t))))))
 | 
					               #t))))))
 | 
				
			||||||
    (inputs `(("python-pyqt" ,python-pyqt)))
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("unzip" ,unzip)))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("python-pyqt" ,python-pyqt)))
 | 
				
			||||||
    (synopsis "School tools for physically disabled children")
 | 
					    (synopsis "School tools for physically disabled children")
 | 
				
			||||||
    (description "ToutEnClic is intended to facilitate the schooling
 | 
					    (description "ToutEnClic is intended to facilitate the schooling
 | 
				
			||||||
of physically disabled children in ordinary schools.  It is both
 | 
					of physically disabled children in ordinary schools.  It is both
 | 
				
			||||||
| 
						 | 
					@ -606,14 +612,14 @@ Portuguese, Spanish and Italian.")
 | 
				
			||||||
(define-public fet
 | 
					(define-public fet
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "fet")
 | 
					    (name "fet")
 | 
				
			||||||
    (version "5.44.4")
 | 
					    (version "5.45.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
 | 
					       (uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
 | 
				
			||||||
                           "fet-" version ".tar.bz2"))
 | 
					                           "fet-" version ".tar.bz2"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1bji4910v6adhngdh5ajz5bxam9z3yqnh8d1h1xajy6npm6qq3nx"))))
 | 
					        (base32 "04jns6wc20rz6cp410znsllknhp4zlf4rn8wgv712855nffs42c6"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
| 
						 | 
					@ -645,15 +651,14 @@ hours.")
 | 
				
			||||||
(define-public klavaro
 | 
					(define-public klavaro
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "klavaro")
 | 
					    (name "klavaro")
 | 
				
			||||||
    (version "3.09")
 | 
					    (version "3.10")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
      (origin
 | 
					      (origin
 | 
				
			||||||
        (method url-fetch)
 | 
					        (method url-fetch)
 | 
				
			||||||
        (uri (string-append "mirror://sourceforge/klavaro/klavaro-"
 | 
					        (uri (string-append "mirror://sourceforge/klavaro/klavaro-"
 | 
				
			||||||
                            version ".tar.bz2"))
 | 
					                            version ".tar.bz2"))
 | 
				
			||||||
        (sha256
 | 
					        (sha256
 | 
				
			||||||
         (base32
 | 
					         (base32 "0jnzdrndiq6m0bwgid977z5ghp4q61clwdlzfpx4fd2ml5x3iq95"))))
 | 
				
			||||||
          "12gml7h45b1w9s318h0d5wxw92h7pgajn2kh57j0ak9saq0yb0wr"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("intltool" ,intltool)
 | 
					     `(("intltool" ,intltool)
 | 
				
			||||||
| 
						 | 
					@ -976,3 +981,35 @@ comparison flags, input-output devices, and a set of binary instructions.
 | 
				
			||||||
The package includes a compiler, a virtual machine, a GUI for the virtual
 | 
					The package includes a compiler, a virtual machine, a GUI for the virtual
 | 
				
			||||||
machine, and more.")
 | 
					machine, and more.")
 | 
				
			||||||
    (license license:gpl3+)))
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public exercism
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "exercism")
 | 
				
			||||||
 | 
					    (version "3.0.13")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method git-fetch)
 | 
				
			||||||
 | 
					       (uri (git-reference
 | 
				
			||||||
 | 
					             (url "https://github.com/exercism/cli")
 | 
				
			||||||
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "17gvz9a0sn4p36hf4l77bxhhfipf4x998iay31layqwbnzmb4xy7"))
 | 
				
			||||||
 | 
					       (patches (search-patches "exercism-disable-self-update.patch"))))
 | 
				
			||||||
 | 
					    (build-system go-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:import-path "github.com/exercism/cli/exercism"
 | 
				
			||||||
 | 
					       #:unpack-path "github.com/exercism/cli"))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("github.com/blang/semver" ,go-github-com-blang-semver)
 | 
				
			||||||
 | 
					       ("github.com/spf13/cobra" ,go-github-com-spf13-cobra)
 | 
				
			||||||
 | 
					       ("github.com/spf13/pflag" ,go-github-com-spf13-pflag)
 | 
				
			||||||
 | 
					       ("github.com/spf13/viper" ,go-github-com-spf13-viper)
 | 
				
			||||||
 | 
					       ("golang.org/x/net" ,go-golang-org-x-net)
 | 
				
			||||||
 | 
					       ("golang.org/x/text" ,go-golang-org-x-text)))
 | 
				
			||||||
 | 
					    (home-page "https://exercism.io")
 | 
				
			||||||
 | 
					    (synopsis "Mentored learning for programming languages")
 | 
				
			||||||
 | 
					    (description "Commandline client for exercism.io, a free service providing
 | 
				
			||||||
 | 
					mentored learning for programming languages.")
 | 
				
			||||||
 | 
					    (license license:expat)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,14 +37,14 @@
 | 
				
			||||||
(define-public gnu-efi
 | 
					(define-public gnu-efi
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "gnu-efi")
 | 
					    (name "gnu-efi")
 | 
				
			||||||
    (version "3.0.11")
 | 
					    (version "3.0.12")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "mirror://sourceforge/gnu-efi/"
 | 
					       (uri (string-append "mirror://sourceforge/gnu-efi/"
 | 
				
			||||||
                           "gnu-efi-" version ".tar.bz2"))
 | 
					                           "gnu-efi-" version ".tar.bz2"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1ffnc4xbzfggs37ymrgfx76j56kk2644c081ivhr2bjkla9ag3gj"))))
 | 
					        (base32 "0sbn6am3k5lqafycggh1g964fcwjwnh0i9hhwrk4ncrwzphz55h1"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f                      ; none exist
 | 
					     `(#:tests? #f                      ; none exist
 | 
				
			||||||
| 
						 | 
					@ -54,8 +54,8 @@
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (delete 'configure))))
 | 
					         (delete 'configure))))
 | 
				
			||||||
    (synopsis "EFI toolchain")
 | 
					    (synopsis "EFI toolchain")
 | 
				
			||||||
    (description "This package provides an EFI (Extensible Firmware
 | 
					    (description "This package provides an @acronym{EFI, Extensible Firmware
 | 
				
			||||||
Interface) toolchain for building programs that can run in the
 | 
					Interface} toolchain for building programs that can run in the
 | 
				
			||||||
environment presented by Intel's EFI.")
 | 
					environment presented by Intel's EFI.")
 | 
				
			||||||
    (home-page "https://directory.fsf.org/wiki/GNU_EFI")
 | 
					    (home-page "https://directory.fsf.org/wiki/GNU_EFI")
 | 
				
			||||||
    ;; Distribution is allowed only when accepting all those licenses.
 | 
					    ;; Distribution is allowed only when accepting all those licenses.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@
 | 
				
			||||||
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 | 
					;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 | 
				
			||||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 | 
					;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 | 
				
			||||||
;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 | 
					;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 | 
				
			||||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 | 
					;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 | 
				
			||||||
| 
						 | 
					@ -38,7 +38,9 @@
 | 
				
			||||||
  #:use-module (gnu packages python)
 | 
					  #:use-module (gnu packages python)
 | 
				
			||||||
  #:use-module (gnu packages sphinx)
 | 
					  #:use-module (gnu packages sphinx)
 | 
				
			||||||
  #:use-module (gnu packages texinfo)
 | 
					  #:use-module (gnu packages texinfo)
 | 
				
			||||||
  #:use-module (gnu packages xml))
 | 
					  #:use-module (gnu packages xml)
 | 
				
			||||||
 | 
					  #:use-module (srfi srfi-1)
 | 
				
			||||||
 | 
					  #:use-module (srfi srfi-26))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public elfutils
 | 
					(define-public elfutils
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
| 
						 | 
					@ -67,10 +69,11 @@
 | 
				
			||||||
                                              (assoc-ref %outputs "out")
 | 
					                                              (assoc-ref %outputs "out")
 | 
				
			||||||
                                              "/lib"))
 | 
					                                              "/lib"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
       ;; Disable tests on MIPS (without changing
 | 
					       ;; Disable tests on MIPS and PowerPC (without changing
 | 
				
			||||||
       ;; the arguments list on other systems).
 | 
					       ;; the arguments list on other systems).
 | 
				
			||||||
       ,@(if (string-prefix? "mips" (or (%current-target-system)
 | 
					       ,@(if (any (cute string-prefix? <> (or (%current-target-system)
 | 
				
			||||||
                                              (%current-system)))
 | 
					                                              (%current-system)))
 | 
				
			||||||
 | 
					                  '("mips" "powerpc"))
 | 
				
			||||||
             '(#:tests? #f)
 | 
					             '(#:tests? #f)
 | 
				
			||||||
             '())
 | 
					             '())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -109,14 +112,14 @@ object or archive file), @command{eu-strip} (for discarding symbols),
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libabigail")
 | 
					    (name "libabigail")
 | 
				
			||||||
    (home-page "https://sourceware.org/libabigail/")
 | 
					    (home-page "https://sourceware.org/libabigail/")
 | 
				
			||||||
    (version "1.6")
 | 
					    (version "1.7")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://sourceware.org/pub/libabigail/"
 | 
					              (uri (string-append "https://sourceware.org/pub/libabigail/"
 | 
				
			||||||
                                  "libabigail-" version ".tar.gz"))
 | 
					                                  "libabigail-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "04j07lhvwbp6qp8pdwbf7iqnr7kgpabmqylsw4invpmzwnyp6g6g"))))
 | 
					                "0bf8w01l6wm7mm4clfg5rqi30m1ws11qqa4bp2vxghfwgi9ai8i7"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags '("--disable-static"
 | 
					     `(#:configure-flags '("--disable-static"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -1040,7 +1040,7 @@ the Raspberry Pi chip."))))
 | 
				
			||||||
(define-public python-libmpsse
 | 
					(define-public python-libmpsse
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-libmpsse")
 | 
					    (name "python-libmpsse")
 | 
				
			||||||
    (version "1.4")
 | 
					    (version "1.4.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
      (origin
 | 
					      (origin
 | 
				
			||||||
        (method git-fetch)
 | 
					        (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -1050,7 +1050,7 @@ the Raspberry Pi chip."))))
 | 
				
			||||||
        (file-name "libmpsse-checkout")
 | 
					        (file-name "libmpsse-checkout")
 | 
				
			||||||
        (sha256
 | 
					        (sha256
 | 
				
			||||||
          (base32
 | 
					          (base32
 | 
				
			||||||
            "14f1kiiia4kfd9mzwx4h63aa8bpz9aknbrrr7mychnsp3arw0z25"))))
 | 
					            "1rypfb96k2szqgygp3jnwg2zq9kwmfz0460dsahn3r2vkzml8wn7"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("libftdi" ,libftdi)
 | 
					     `(("libftdi" ,libftdi)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -470,7 +470,7 @@ and Game Boy Color games.")
 | 
				
			||||||
(define-public sameboy
 | 
					(define-public sameboy
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "sameboy")
 | 
					    (name "sameboy")
 | 
				
			||||||
    (version "0.12.3")
 | 
					    (version "0.13.2")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -479,7 +479,7 @@ and Game Boy Color games.")
 | 
				
			||||||
             (commit (string-append "v" version))))
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0m5rv2x8qck1kr43xq186pp4kaiay7gd1x775n9qrljcd7z4x6fs"))))
 | 
					        (base32 "19qb1ib9sk5bjdv4arbwkv8l2afpll5axrif3wi7p2yhvpba10c0"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("rgbds" ,rgbds)
 | 
					     `(("rgbds" ,rgbds)
 | 
				
			||||||
| 
						 | 
					@ -489,7 +489,7 @@ and Game Boy Color games.")
 | 
				
			||||||
     `(("sdl2" ,sdl2)))
 | 
					     `(("sdl2" ,sdl2)))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f                      ; There are no tests
 | 
					     `(#:tests? #f                      ; There are no tests
 | 
				
			||||||
       #:make-flags `("CC=gcc" "CONF=release"
 | 
					       #:make-flags `("CC=gcc" "NATIVE_CC=gcc" "CONF=release"
 | 
				
			||||||
                      ,(string-append "DATA_DIR="
 | 
					                      ,(string-append "DATA_DIR="
 | 
				
			||||||
                                      (assoc-ref %outputs "out")
 | 
					                                      (assoc-ref %outputs "out")
 | 
				
			||||||
                                      "/share/sameboy/"))
 | 
					                                      "/share/sameboy/"))
 | 
				
			||||||
| 
						 | 
					@ -1274,7 +1274,7 @@ play them on systems for which they were never designed!")
 | 
				
			||||||
(define-public mame
 | 
					(define-public mame
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "mame")
 | 
					    (name "mame")
 | 
				
			||||||
    (version "0.220")
 | 
					    (version "0.221")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -1283,7 +1283,7 @@ play them on systems for which they were never designed!")
 | 
				
			||||||
             (commit (apply string-append "mame" (string-split version #\.)))))
 | 
					             (commit (apply string-append "mame" (string-split version #\.)))))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0x3yr195zi7xjr21p1c2l8c0vhg0a0af0mpz4i1w7q7r9krvcvz4"))
 | 
					        (base32 "07fl7alj9zlyb93i8lnn4706ndy3qiv0pjvwnwysk5rqa0r3463y"))
 | 
				
			||||||
       (modules '((guix build utils)))
 | 
					       (modules '((guix build utils)))
 | 
				
			||||||
       (snippet
 | 
					       (snippet
 | 
				
			||||||
        ;; Remove bundled libraries.
 | 
					        ;; Remove bundled libraries.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -61,6 +61,7 @@
 | 
				
			||||||
  #:use-module (gnu packages commencement)
 | 
					  #:use-module (gnu packages commencement)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
  #:use-module (gnu packages curl)
 | 
					  #:use-module (gnu packages curl)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages digest)
 | 
				
			||||||
  #:use-module (gnu packages documentation)
 | 
					  #:use-module (gnu packages documentation)
 | 
				
			||||||
  #:use-module (gnu packages flex)
 | 
					  #:use-module (gnu packages flex)
 | 
				
			||||||
  #:use-module (gnu packages fontutils)
 | 
					  #:use-module (gnu packages fontutils)
 | 
				
			||||||
| 
						 | 
					@ -82,6 +83,7 @@
 | 
				
			||||||
  #:use-module (gnu packages image)
 | 
					  #:use-module (gnu packages image)
 | 
				
			||||||
  #:use-module (gnu packages image-processing)
 | 
					  #:use-module (gnu packages image-processing)
 | 
				
			||||||
  #:use-module (gnu packages imagemagick)
 | 
					  #:use-module (gnu packages imagemagick)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages libevent)
 | 
				
			||||||
  #:use-module (gnu packages linux)               ;FIXME: for pcb
 | 
					  #:use-module (gnu packages linux)               ;FIXME: for pcb
 | 
				
			||||||
  #:use-module (gnu packages m4)
 | 
					  #:use-module (gnu packages m4)
 | 
				
			||||||
  #:use-module (gnu packages maths)
 | 
					  #:use-module (gnu packages maths)
 | 
				
			||||||
| 
						 | 
					@ -103,6 +105,7 @@
 | 
				
			||||||
  #:use-module (gnu packages version-control)
 | 
					  #:use-module (gnu packages version-control)
 | 
				
			||||||
  #:use-module (gnu packages wxwidgets)
 | 
					  #:use-module (gnu packages wxwidgets)
 | 
				
			||||||
  #:use-module (gnu packages xml)
 | 
					  #:use-module (gnu packages xml)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages openkinect)
 | 
				
			||||||
  #:use-module (gnu packages xorg))
 | 
					  #:use-module (gnu packages xorg))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public librecad
 | 
					(define-public librecad
 | 
				
			||||||
| 
						 | 
					@ -535,7 +538,7 @@ featuring various improvements and bug fixes.")))
 | 
				
			||||||
               (copy-recursively "doc" doc)
 | 
					               (copy-recursively "doc" doc)
 | 
				
			||||||
               (copy-recursively "examples" examples)
 | 
					               (copy-recursively "examples" examples)
 | 
				
			||||||
               #t))))))
 | 
					               #t))))))
 | 
				
			||||||
    (home-page "http://www.rle.mit.edu/cpg/research_codes.htm")
 | 
					    (home-page "https://www.rle.mit.edu/cpg/research_codes.htm")
 | 
				
			||||||
    (synopsis "Multipole-accelerated capacitance extraction program")
 | 
					    (synopsis "Multipole-accelerated capacitance extraction program")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "Fastcap is a capacitance extraction program based on a
 | 
					     "Fastcap is a capacitance extraction program based on a
 | 
				
			||||||
| 
						 | 
					@ -583,7 +586,7 @@ multipole-accelerated algorithm.")
 | 
				
			||||||
                      (copy-recursively "doc" doc)
 | 
					                      (copy-recursively "doc" doc)
 | 
				
			||||||
                      (copy-recursively "examples" examples)
 | 
					                      (copy-recursively "examples" examples)
 | 
				
			||||||
                      #t))))))
 | 
					                      #t))))))
 | 
				
			||||||
    (home-page "http://www.rle.mit.edu/cpg/research_codes.htm")
 | 
					    (home-page "https://www.rle.mit.edu/cpg/research_codes.htm")
 | 
				
			||||||
    (synopsis "Multipole-accelerated inductance analysis program")
 | 
					    (synopsis "Multipole-accelerated inductance analysis program")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "Fasthenry is an inductance extraction program based on a
 | 
					     "Fasthenry is an inductance extraction program based on a
 | 
				
			||||||
| 
						 | 
					@ -1334,7 +1337,7 @@ bindings for Python, Java, OCaml and more.")
 | 
				
			||||||
(define-public radare2
 | 
					(define-public radare2
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "radare2")
 | 
					    (name "radare2")
 | 
				
			||||||
    (version "4.2.1")
 | 
					    (version "4.4.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -1342,39 +1345,37 @@ bindings for Python, Java, OCaml and more.")
 | 
				
			||||||
                    (commit version)))
 | 
					                    (commit version)))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "14b9433cgc2nabhz836zfgvgh2dwailcmvy05krsa0inmzbvx9fg"))
 | 
					                "0gwdnrnk7wdgkajp2qwg4fyplh7nsbmf01bzx07px6xmiscd9z2s"))
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))))
 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					 | 
				
			||||||
              (snippet
 | 
					 | 
				
			||||||
               '(begin
 | 
					 | 
				
			||||||
                  (substitute* "libr/asm/p/Makefile"
 | 
					 | 
				
			||||||
                    (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))
 | 
					 | 
				
			||||||
                  (substitute* "libr/parse/p/Makefile"
 | 
					 | 
				
			||||||
                    (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))
 | 
					 | 
				
			||||||
                  (substitute* "libr/bin/p/Makefile"
 | 
					 | 
				
			||||||
                    (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))
 | 
					 | 
				
			||||||
                  #t))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:tests? #f                      ; tests require git and network access
 | 
					     '(#:tests? #f                      ; tests require git and network access
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (add-before 'configure 'mklibdir
 | 
					         (add-before 'configure 'mklibdir
 | 
				
			||||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
					           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
             (mkdir-p (string-append (assoc-ref %outputs "out") "/lib"))
 | 
					             (mkdir-p (string-append (assoc-ref outputs "out") "/lib"))
 | 
				
			||||||
             #t)))
 | 
					             #t)))
 | 
				
			||||||
       #:configure-flags
 | 
					       #:configure-flags
 | 
				
			||||||
       (list "--with-sysmagic" "--with-syszip" "--with-openssl"
 | 
					       (list "--with-openssl"
 | 
				
			||||||
             "--without-nonpic" "--with-rpath" "--with-syscapstone")
 | 
					             "--with-rpath"
 | 
				
			||||||
 | 
					             "--with-syscapstone"
 | 
				
			||||||
 | 
					             "--with-sysmagic"
 | 
				
			||||||
 | 
					             "--with-syszip"
 | 
				
			||||||
 | 
					             "--with-sysxxhash")
 | 
				
			||||||
       #:make-flags
 | 
					       #:make-flags
 | 
				
			||||||
       (list "CC=gcc")))
 | 
					       (list "CC=gcc")))
 | 
				
			||||||
 | 
					    ;; TODO: Add gmp and libzip and make the build system actually find them.
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("openssl" ,openssl)
 | 
					     `(("capstone" ,capstone)
 | 
				
			||||||
       ("zip" ,zip)
 | 
					       ("libuv" ,libuv)
 | 
				
			||||||
       ("gmp" ,gmp)
 | 
					       ("openssl" ,openssl)
 | 
				
			||||||
       ("capstone" ,capstone)))
 | 
					       ("zip" ,zip)))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)))
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
 | 
					    (propagated-inputs
 | 
				
			||||||
 | 
					     ;; In the Libs: section of r_hash.pc.
 | 
				
			||||||
 | 
					     `(("xxhash" ,xxhash)))
 | 
				
			||||||
    (home-page "https://radare.org/")
 | 
					    (home-page "https://radare.org/")
 | 
				
			||||||
    (synopsis "Reverse engineering framework")
 | 
					    (synopsis "Reverse engineering framework")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -2047,17 +2048,18 @@ simulator backends @code{Qucsator}, @code{ngspice} and @code{Xyce}.")
 | 
				
			||||||
(define-public librepcb
 | 
					(define-public librepcb
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "librepcb")
 | 
					    (name "librepcb")
 | 
				
			||||||
    (version "0.1.3")
 | 
					    (version "0.1.4")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "https://download.librepcb.org/releases/"
 | 
					       (uri (string-append "https://download.librepcb.org/releases/"
 | 
				
			||||||
                           version "/librepcb-" version "-source.zip"))
 | 
					                           version "/librepcb-" version "-source.zip"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1ich849dsx2hmcwlwbry4mkg374n940l3hy6srh4qms2rm7vd7x0"))))
 | 
					        (base32 "1b5dkanz3q0y5ag80w0l85hn7axrachb5m9zvyv4zvzrfy09wa88"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("qtbase" ,qtbase)
 | 
					     `(("qtbase" ,qtbase)
 | 
				
			||||||
 | 
					       ("qtsvg" ,qtsvg)
 | 
				
			||||||
       ("zlib" ,zlib)))
 | 
					       ("zlib" ,zlib)))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("qttools" ,qttools)             ; for lrelease
 | 
					     `(("qttools" ,qttools)             ; for lrelease
 | 
				
			||||||
| 
						 | 
					@ -2174,7 +2176,7 @@ simulation.")
 | 
				
			||||||
(define-public cutter
 | 
					(define-public cutter
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "cutter")
 | 
					    (name "cutter")
 | 
				
			||||||
    (version "1.10.1")
 | 
					    (version "1.10.3")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -2183,8 +2185,7 @@ simulation.")
 | 
				
			||||||
             (commit (string-append "v" version))))
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "0qj8jyij02nif4jpirl09ygwnv8a9zi3vkb5sf5s8mg7qwlpnvyk"))))
 | 
				
			||||||
         "1gvsrcskcdd1hxrjpkpc657anmfs25f174vxk4wzvn385rnmrxd3"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
| 
						 | 
					@ -2193,8 +2194,8 @@ simulation.")
 | 
				
			||||||
           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
					           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
             (let ((out (assoc-ref outputs "out"))
 | 
					             (let ((out (assoc-ref outputs "out"))
 | 
				
			||||||
                   (radare2 (assoc-ref inputs "radare2")))
 | 
					                   (radare2 (assoc-ref inputs "radare2")))
 | 
				
			||||||
               ;; fix pkg-config detection ./src/lib_radare2.pri:PREFIX=/usr/lib
 | 
					               ;; Fix pkg-config detection ./src/lib_radare2.pri:PREFIX=/usr/lib
 | 
				
			||||||
               ;; override `qmake PREFIX=`
 | 
					               ;; override `qmake PREFIX=`.
 | 
				
			||||||
               (substitute* "./src/lib_radare2.pri"
 | 
					               (substitute* "./src/lib_radare2.pri"
 | 
				
			||||||
                 (("PREFIX") "R2PREFIX")
 | 
					                 (("PREFIX") "R2PREFIX")
 | 
				
			||||||
                 (("R2PREFIX=/usr") (string-append "R2PREFIX=" radare2)))
 | 
					                 (("R2PREFIX=/usr") (string-append "R2PREFIX=" radare2)))
 | 
				
			||||||
| 
						 | 
					@ -2263,7 +2264,9 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
 | 
				
			||||||
                           ".src.tar.gz"))
 | 
					                           ".src.tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0nbgk5q5pgnw53la0kccdcpz2f4xf6d6076rkn0q08z57hkc85ha"))))
 | 
					         "0nbgk5q5pgnw53la0kccdcpz2f4xf6d6076rkn0q08z57hkc85ha"))
 | 
				
			||||||
 | 
					       (patches (search-patches
 | 
				
			||||||
 | 
					                 "openscad-parser-boost-1.72.patch"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("boost" ,boost)
 | 
					     `(("boost" ,boost)
 | 
				
			||||||
| 
						 | 
					@ -2617,3 +2620,60 @@ accessible through a simple API")
 | 
				
			||||||
model files.  Its main goal is to simplify the creation of 3DS import and
 | 
					model files.  Its main goal is to simplify the creation of 3DS import and
 | 
				
			||||||
export filters.")
 | 
					export filters.")
 | 
				
			||||||
    (license license:lgpl2.1+)))
 | 
					    (license license:lgpl2.1+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public meshlab
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "meshlab")
 | 
				
			||||||
 | 
					    (version "2020.05")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method git-fetch)
 | 
				
			||||||
 | 
					              (uri (git-reference
 | 
				
			||||||
 | 
					                    (url "https://github.com/cnr-isti-vclab/meshlab")
 | 
				
			||||||
 | 
					                    (commit (string-append "Meshlab-" version))
 | 
				
			||||||
 | 
					                    (recursive? #t)))
 | 
				
			||||||
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32 "00sim20ka9vjwljixdj4cqd285j21mpaq05ari7nqq2w8yyglp5m"))))
 | 
				
			||||||
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("qtbase" ,qtbase)
 | 
				
			||||||
 | 
					       ("qtscript" ,qtscript)
 | 
				
			||||||
 | 
					       ("qtxmlpatterns" ,qtxmlpatterns)
 | 
				
			||||||
 | 
					       ("mesa" ,mesa)
 | 
				
			||||||
 | 
					       ("glu" ,glu)
 | 
				
			||||||
 | 
					       ("glew" ,glew)
 | 
				
			||||||
 | 
					       ("muparser" ,muparser)
 | 
				
			||||||
 | 
					       ("gmp" ,gmp)
 | 
				
			||||||
 | 
					       ("eigen" ,eigen)
 | 
				
			||||||
 | 
					       ("libfreenect" ,libfreenect)
 | 
				
			||||||
 | 
					       ("lib3ds" ,lib3ds)
 | 
				
			||||||
 | 
					       ("openctm" ,openctm)
 | 
				
			||||||
 | 
					       ;; FIXME: Compilation fails with system qhull:
 | 
				
			||||||
 | 
					       ;; https://github.com/cnr-isti-vclab/meshlab/issues/678
 | 
				
			||||||
 | 
					       ;; ("qhull" ,qhull)
 | 
				
			||||||
 | 
					       ))
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:tests? #f                                ; Has no tests
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-after 'unpack 'go-to-source-dir
 | 
				
			||||||
 | 
					           (lambda _ (chdir "src") #t))
 | 
				
			||||||
 | 
					         (add-after 'install 'move-files
 | 
				
			||||||
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (let ((lib (string-append (assoc-ref outputs "out")
 | 
				
			||||||
 | 
					                                       "/lib")))
 | 
				
			||||||
 | 
					               (rename-file
 | 
				
			||||||
 | 
					                (string-append lib "/meshlab/libmeshlab-common.so")
 | 
				
			||||||
 | 
					                (string-append lib "/libmeshlab-common.so"))
 | 
				
			||||||
 | 
					               #t))))))
 | 
				
			||||||
 | 
					    (synopsis "3D triangular mesh processing and editing software")
 | 
				
			||||||
 | 
					    (home-page "https://www.meshlab.net/")
 | 
				
			||||||
 | 
					    (description "MeshLab is a system for the processing and
 | 
				
			||||||
 | 
					editing of unstructured large 3D triangular meshes.  It is aimed to help the
 | 
				
			||||||
 | 
					processing of the typical not-so-small unstructured models arising in 3D
 | 
				
			||||||
 | 
					scanning, providing a set of tools for editing, cleaning, healing, inspecting,
 | 
				
			||||||
 | 
					rendering and converting this kind of meshes.  These tools include MeshLab
 | 
				
			||||||
 | 
					proper, a versatile program with a graphical user interface, and meshlabserver,
 | 
				
			||||||
 | 
					a program that can perform mesh processing tasks in batch mode, without a
 | 
				
			||||||
 | 
					GUI.")
 | 
				
			||||||
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
 | 
					;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
 | 
				
			||||||
;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
 | 
					;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
 | 
				
			||||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2017 Nikita <nikita@n0.is>
 | 
					;;; Copyright © 2017 Nikita <nikita@n0.is>
 | 
				
			||||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de>
 | 
					;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de>
 | 
				
			||||||
| 
						 | 
					@ -33,6 +33,7 @@
 | 
				
			||||||
  #:use-module (gnu packages algebra)
 | 
					  #:use-module (gnu packages algebra)
 | 
				
			||||||
  #:use-module (gnu packages avahi)
 | 
					  #:use-module (gnu packages avahi)
 | 
				
			||||||
  #:use-module (gnu packages bash)
 | 
					  #:use-module (gnu packages bash)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages bittorrent)
 | 
				
			||||||
  #:use-module (gnu packages check)
 | 
					  #:use-module (gnu packages check)
 | 
				
			||||||
  #:use-module (gnu packages code)
 | 
					  #:use-module (gnu packages code)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
| 
						 | 
					@ -69,7 +70,7 @@
 | 
				
			||||||
(define-public efl
 | 
					(define-public efl
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "efl")
 | 
					    (name "efl")
 | 
				
			||||||
    (version "1.23.3")
 | 
					    (version "1.24.2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -77,7 +78,7 @@
 | 
				
			||||||
                    version ".tar.xz"))
 | 
					                    version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "00b9lp3h65254kdb1ys15fv7p3ln7qsvf15jkw4kli5ymagadkjk"))))
 | 
					                "0w3srvigg4kfi7xq76c7y4hnq5yr2gxrrsvlyj1g2wc1igz1vyg1"))))
 | 
				
			||||||
    (build-system meson-build-system)
 | 
					    (build-system meson-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("check" ,check)
 | 
					     `(("check" ,check)
 | 
				
			||||||
| 
						 | 
					@ -93,6 +94,7 @@
 | 
				
			||||||
       ("libraw" ,libraw)
 | 
					       ("libraw" ,libraw)
 | 
				
			||||||
       ("librsvg" ,librsvg)
 | 
					       ("librsvg" ,librsvg)
 | 
				
			||||||
       ("libspectre" ,libspectre)
 | 
					       ("libspectre" ,libspectre)
 | 
				
			||||||
 | 
					       ("libtiff" ,libtiff)
 | 
				
			||||||
       ("libxau" ,libxau)
 | 
					       ("libxau" ,libxau)
 | 
				
			||||||
       ("libxcomposite" ,libxcomposite)
 | 
					       ("libxcomposite" ,libxcomposite)
 | 
				
			||||||
       ("libxcursor" ,libxcursor)
 | 
					       ("libxcursor" ,libxcursor)
 | 
				
			||||||
| 
						 | 
					@ -102,18 +104,19 @@
 | 
				
			||||||
       ("libxi" ,libxi)
 | 
					       ("libxi" ,libxi)
 | 
				
			||||||
       ("libxfixes" ,libxfixes)
 | 
					       ("libxfixes" ,libxfixes)
 | 
				
			||||||
       ("libxinerama" ,libxinerama)
 | 
					       ("libxinerama" ,libxinerama)
 | 
				
			||||||
       ("libxp" ,libxp)
 | 
					 | 
				
			||||||
       ("libxrandr" ,libxrandr)
 | 
					       ("libxrandr" ,libxrandr)
 | 
				
			||||||
       ("libxrender" ,libxrender)
 | 
					       ("libxrender" ,libxrender)
 | 
				
			||||||
       ("libxss" ,libxscrnsaver)
 | 
					       ("libxss" ,libxscrnsaver)
 | 
				
			||||||
       ("libxtst" ,libxtst)
 | 
					       ("libxtst" ,libxtst)
 | 
				
			||||||
 | 
					       ("libwebp" ,libwebp)
 | 
				
			||||||
 | 
					       ("openjpeg" ,openjpeg)
 | 
				
			||||||
       ("poppler" ,poppler)
 | 
					       ("poppler" ,poppler)
 | 
				
			||||||
 | 
					       ("util-linux" ,util-linux "lib")
 | 
				
			||||||
       ("wayland-protocols" ,wayland-protocols)))
 | 
					       ("wayland-protocols" ,wayland-protocols)))
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     ;; All these inputs are in package config files in section
 | 
					     ;; All these inputs are in package config files in section
 | 
				
			||||||
     ;; Requires.private.
 | 
					     ;; Requires.private.
 | 
				
			||||||
     `(("avahi" ,avahi)
 | 
					     `(("avahi" ,avahi)
 | 
				
			||||||
       ("bullet" ,bullet)
 | 
					 | 
				
			||||||
       ("dbus" ,dbus)
 | 
					       ("dbus" ,dbus)
 | 
				
			||||||
       ("elogind" ,elogind)
 | 
					       ("elogind" ,elogind)
 | 
				
			||||||
       ("eudev" ,eudev)
 | 
					       ("eudev" ,eudev)
 | 
				
			||||||
| 
						 | 
					@ -122,30 +125,32 @@
 | 
				
			||||||
       ("fribidi" ,fribidi)
 | 
					       ("fribidi" ,fribidi)
 | 
				
			||||||
       ("glib" ,glib)
 | 
					       ("glib" ,glib)
 | 
				
			||||||
       ("harfbuzz" ,harfbuzz)
 | 
					       ("harfbuzz" ,harfbuzz)
 | 
				
			||||||
       ("luajit" ,luajit)
 | 
					 | 
				
			||||||
       ("libinput" ,libinput-minimal)
 | 
					       ("libinput" ,libinput-minimal)
 | 
				
			||||||
       ("libjpeg" ,libjpeg-turbo)
 | 
					       ("libjpeg" ,libjpeg-turbo)
 | 
				
			||||||
       ("libpng" ,libpng)
 | 
					 | 
				
			||||||
       ("libsndfile" ,libsndfile)
 | 
					       ("libsndfile" ,libsndfile)
 | 
				
			||||||
       ("libtiff" ,libtiff)
 | 
					       ("libpng" ,libpng)
 | 
				
			||||||
       ("libwebp" ,libwebp)
 | 
					 | 
				
			||||||
       ("libx11" ,libx11)
 | 
					       ("libx11" ,libx11)
 | 
				
			||||||
       ("libxkbcommon" ,libxkbcommon)
 | 
					       ("libxkbcommon" ,libxkbcommon)
 | 
				
			||||||
 | 
					       ("luajit" ,luajit)
 | 
				
			||||||
       ("lz4" ,lz4)
 | 
					       ("lz4" ,lz4)
 | 
				
			||||||
       ("openssl" ,openssl)
 | 
					       ("openssl" ,openssl)
 | 
				
			||||||
       ("pulseaudio" ,pulseaudio)
 | 
					       ("pulseaudio" ,pulseaudio)
 | 
				
			||||||
       ("util-linux" ,util-linux "lib")
 | 
					 | 
				
			||||||
       ("wayland" ,wayland)
 | 
					       ("wayland" ,wayland)
 | 
				
			||||||
       ("zlib" ,zlib)))
 | 
					       ("zlib" ,zlib)))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags '("-Dsystemd=false"
 | 
					     `(#:configure-flags '("-Dsystemd=false"
 | 
				
			||||||
 | 
					                           "-Delogind=true"
 | 
				
			||||||
                           "-Dembedded-lz4=false"
 | 
					                           "-Dembedded-lz4=false"
 | 
				
			||||||
                           "-Devas-loaders-disabler=json"
 | 
					                           "-Devas-loaders-disabler=json"
 | 
				
			||||||
                           "-Dbuild-examples=false"
 | 
					                           "-Dbuild-examples=false"
 | 
				
			||||||
 | 
					                           "-Decore-imf-loaders-disabler=scim"
 | 
				
			||||||
 | 
					                           "-Davahi=true"
 | 
				
			||||||
 | 
					                           "-Dglib=true"
 | 
				
			||||||
 | 
					                           "-Dmount-path=/run/setuid-programs/mount"
 | 
				
			||||||
 | 
					                           "-Dunmount-path=/run/setuid-programs/umount"
 | 
				
			||||||
                           ;(string-append "-Ddictionaries-hyphen-dir="
 | 
					                           ;(string-append "-Ddictionaries-hyphen-dir="
 | 
				
			||||||
                           ;               (assoc-ref %build-inputs "hyphen")
 | 
					                           ;               (assoc-ref %build-inputs "hyphen")
 | 
				
			||||||
                           ;               "/share/hyphen")
 | 
					                           ;               "/share/hyphen")
 | 
				
			||||||
                           "-Delogind=true"
 | 
					 | 
				
			||||||
                           "-Dnetwork-backend=connman"
 | 
					                           "-Dnetwork-backend=connman"
 | 
				
			||||||
                           ,@(match (%current-system)
 | 
					                           ,@(match (%current-system)
 | 
				
			||||||
                               ("armhf-linux"
 | 
					                               ("armhf-linux"
 | 
				
			||||||
| 
						 | 
					@ -153,22 +158,27 @@
 | 
				
			||||||
                               (_
 | 
					                               (_
 | 
				
			||||||
                                '("-Dopengl=full")))
 | 
					                                '("-Dopengl=full")))
 | 
				
			||||||
                           ;; for wayland
 | 
					                           ;; for wayland
 | 
				
			||||||
                           "-Dwl-deprecated=true" ; ecore_wayland
 | 
					 | 
				
			||||||
                           "-Ddrm-deprecated=true" ; ecore_drm
 | 
					 | 
				
			||||||
                           "-Dwl=true"
 | 
					                           "-Dwl=true"
 | 
				
			||||||
                           "-Ddrm=true")
 | 
					                           "-Ddrm=true")
 | 
				
			||||||
       #:tests? #f ; Many tests fail due to timeouts and network requests.
 | 
					       #:tests? #f ; Many tests fail due to timeouts and network requests.
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         ;; If we don't hardcode the location of libcurl.so then we
 | 
					         ;; If we don't hardcode the location of libcurl.so and others then we
 | 
				
			||||||
         ;; have to wrap the outputs of efl's dependencies in curl.
 | 
					         ;; have to wrap the outputs of efl's dependencies in those libraries.
 | 
				
			||||||
         (add-after 'unpack 'hardcode-libcurl-location
 | 
					         (add-after 'unpack 'hardcode-dynamic-libraries
 | 
				
			||||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
					           (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
             (let* ((curl (assoc-ref inputs "curl"))
 | 
					             (let ((curl    (assoc-ref inputs "curl"))
 | 
				
			||||||
                    (lib  (string-append curl "/lib/")))
 | 
					                   (pulse   (assoc-ref inputs "pulseaudio"))
 | 
				
			||||||
 | 
					                   (sndfile (assoc-ref inputs "libsndfile"))
 | 
				
			||||||
 | 
					                   (lib     "/lib/"))
 | 
				
			||||||
               (substitute* "src/lib/ecore_con/ecore_con_url_curl.c"
 | 
					               (substitute* "src/lib/ecore_con/ecore_con_url_curl.c"
 | 
				
			||||||
                 (("libcurl.so.?" libcurl) ; libcurl.so.[45]
 | 
					                 (("libcurl.so.?" libcurl) ; libcurl.so.[45]
 | 
				
			||||||
                  (string-append lib libcurl)))
 | 
					                  (string-append curl lib libcurl)))
 | 
				
			||||||
 | 
					               (substitute* "src/lib/ecore_audio/ecore_audio.c"
 | 
				
			||||||
 | 
					                 (("libpulse.so.0" libpulse)
 | 
				
			||||||
 | 
					                  (string-append pulse lib libpulse))
 | 
				
			||||||
 | 
					                 (("libsndfile.so.1" libsnd)
 | 
				
			||||||
 | 
					                  (string-append sndfile lib libsnd)))
 | 
				
			||||||
               #t)))
 | 
					               #t)))
 | 
				
			||||||
         (add-after 'unpack 'fix-install-paths
 | 
					         (add-after 'unpack 'fix-install-paths
 | 
				
			||||||
           (lambda _
 | 
					           (lambda _
 | 
				
			||||||
| 
						 | 
					@ -283,7 +293,7 @@ Libraries with some extra bells and whistles.")
 | 
				
			||||||
(define-public enlightenment
 | 
					(define-public enlightenment
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "enlightenment")
 | 
					    (name "enlightenment")
 | 
				
			||||||
    (version "0.23.1")
 | 
					    (version "0.24.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri
 | 
					              (uri
 | 
				
			||||||
| 
						 | 
					@ -291,19 +301,20 @@ Libraries with some extra bells and whistles.")
 | 
				
			||||||
                              "enlightenment/enlightenment-" version ".tar.xz"))
 | 
					                              "enlightenment/enlightenment-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0d1cyl07w9pvi2pf029kablazks2q9aislzl46b6fq5m1465jc75"))
 | 
					                "02aadl5fqvpmpjnisrc4aw7ffwyp1109y4k1wvmp33ciihbvdqmf"))
 | 
				
			||||||
              (patches (search-patches "enlightenment-fix-setuid-path.patch"))))
 | 
					              (patches (search-patches "enlightenment-fix-setuid-path.patch"))))
 | 
				
			||||||
    (build-system meson-build-system)
 | 
					    (build-system meson-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags '("-Dsystemd=false")
 | 
					     `(#:configure-flags
 | 
				
			||||||
 | 
					       (let ((efl (assoc-ref %build-inputs "efl")))
 | 
				
			||||||
 | 
					         (list "-Dsystemd=false"
 | 
				
			||||||
 | 
					               "-Dpackagekit=false"
 | 
				
			||||||
 | 
					               (string-append "-Dedje-cc=" efl "/bin/edje_cc")
 | 
				
			||||||
 | 
					               (string-append "-Deldbus-codegen=" efl "/bin/eldbus-codegen")
 | 
				
			||||||
 | 
					               (string-append "-Deet=" efl "/bin/eet")))
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (delete 'bootstrap) ; We don't want to run the autogen script.
 | 
					         (delete 'bootstrap) ; We don't want to run the autogen script.
 | 
				
			||||||
         (add-after 'unpack 'fix-dot-desktop-creation
 | 
					 | 
				
			||||||
           (lambda _
 | 
					 | 
				
			||||||
             (substitute* "data/session/meson.build"
 | 
					 | 
				
			||||||
               (("HAVE_WAYLAND'.*") "HAVE_WAYLAND') == true\n"))
 | 
					 | 
				
			||||||
             #t))
 | 
					 | 
				
			||||||
         (add-before 'configure 'set-system-actions
 | 
					         (add-before 'configure 'set-system-actions
 | 
				
			||||||
           (lambda* (#:key inputs #:allow-other-keys)
 | 
					           (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
             (setenv "HOME" "/tmp")
 | 
					             (setenv "HOME" "/tmp")
 | 
				
			||||||
| 
						 | 
					@ -311,7 +322,6 @@ Libraries with some extra bells and whistles.")
 | 
				
			||||||
                   (setxkbmap (assoc-ref inputs "setxkbmap"))
 | 
					                   (setxkbmap (assoc-ref inputs "setxkbmap"))
 | 
				
			||||||
                   (utils     (assoc-ref inputs "util-linux"))
 | 
					                   (utils     (assoc-ref inputs "util-linux"))
 | 
				
			||||||
                   (libc      (assoc-ref inputs "libc"))
 | 
					                   (libc      (assoc-ref inputs "libc"))
 | 
				
			||||||
                   (bluez     (assoc-ref inputs "bluez"))
 | 
					 | 
				
			||||||
                   (bc        (assoc-ref inputs "bc"))
 | 
					                   (bc        (assoc-ref inputs "bc"))
 | 
				
			||||||
                   (efl       (assoc-ref inputs "efl")))
 | 
					                   (efl       (assoc-ref inputs "efl")))
 | 
				
			||||||
               ;; We need to patch the path to 'base.lst' to be able
 | 
					               ;; We need to patch the path to 'base.lst' to be able
 | 
				
			||||||
| 
						 | 
					@ -328,23 +338,22 @@ Libraries with some extra bells and whistles.")
 | 
				
			||||||
                                  "src/modules/conf_intl/e_int_config_intl.c"
 | 
					                                  "src/modules/conf_intl/e_int_config_intl.c"
 | 
				
			||||||
                                  "src/modules/wizard/page_010.c")
 | 
					                                  "src/modules/wizard/page_010.c")
 | 
				
			||||||
                 (("locale -a") (string-append libc "/bin/locale -a")))
 | 
					                 (("locale -a") (string-append libc "/bin/locale -a")))
 | 
				
			||||||
               (substitute* "src/bin/e_import_config_dialog.c"
 | 
					 | 
				
			||||||
                 (("%s/edje_cc -v %s %s %s\", e_prefix_bin_get\\(\\)")
 | 
					 | 
				
			||||||
                  (string-append efl "/bin/edje_cc -v %s %s %s\"")))
 | 
					 | 
				
			||||||
               (substitute* "src/modules/everything/evry_plug_apps.c"
 | 
					               (substitute* "src/modules/everything/evry_plug_apps.c"
 | 
				
			||||||
                 (("/usr/bin/") ""))
 | 
					                 (("/usr/bin/") ""))
 | 
				
			||||||
 | 
					               (substitute* '("src/bin/e_sys_main.c"
 | 
				
			||||||
 | 
					                              "src/bin/e_util_suid.h")
 | 
				
			||||||
 | 
					                 (("PATH=/bin:/usr/bin:/sbin:/usr/sbin")
 | 
				
			||||||
 | 
					                  (string-append "PATH=/run/setuid-programs:"
 | 
				
			||||||
 | 
					                                 "/run/current-system/profile/bin:"
 | 
				
			||||||
 | 
					                                 "/run/current-system/profile/sbin")))
 | 
				
			||||||
               (substitute* "src/modules/everything/evry_plug_calc.c"
 | 
					               (substitute* "src/modules/everything/evry_plug_calc.c"
 | 
				
			||||||
                 (("bc -l") (string-append bc "/bin/bc -l")))
 | 
					                 (("bc -l") (string-append bc "/bin/bc -l")))
 | 
				
			||||||
               (substitute* "data/etc/meson.build"
 | 
					               (substitute* "data/etc/meson.build"
 | 
				
			||||||
                 (("/bin/mount") "/run/setuid-programs/mount")
 | 
					                 (("/bin/mount") "/run/setuid-programs/mount")
 | 
				
			||||||
                 (("/bin/umount") "/run/setuid-programs/umount")
 | 
					                 (("/bin/umount") "/run/setuid-programs/umount")
 | 
				
			||||||
                 (("/usr/bin/eject") (string-append utils "/bin/eject"))
 | 
					                 (("/usr/bin/eject") (string-append utils "/bin/eject")))
 | 
				
			||||||
                 (("/usr/bin/l2ping") (string-append bluez "/bin/l2ling"))
 | 
					               (substitute* "src/bin/system/e_system_power.c"
 | 
				
			||||||
                 (("/bin/rfkill") (string-append utils "/sbin/rfkill"))
 | 
					                 (("systemctl") "loginctl"))
 | 
				
			||||||
                 (("SUSPEND   = ''") "SUSPEND   = '/run/current-system/profile/bin/loginctl suspend'")
 | 
					 | 
				
			||||||
                 (("HIBERNATE = ''") "HIBERNATE = '/run/current-system/profile/bin/loginctl hibernate'")
 | 
					 | 
				
			||||||
                 (("/sbin/shutdown -h now") "/run/current-system/profile/bin/loginctl poweroff now")
 | 
					 | 
				
			||||||
                 (("/sbin/shutdown -r now") "/run/current-system/profile/bin/loginctl reboot now"))
 | 
					 | 
				
			||||||
               #t))))))
 | 
					               #t))))))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("gettext" ,gettext-minimal)
 | 
					     `(("gettext" ,gettext-minimal)
 | 
				
			||||||
| 
						 | 
					@ -389,7 +398,7 @@ embedded systems.")
 | 
				
			||||||
(define-public python-efl
 | 
					(define-public python-efl
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-efl")
 | 
					    (name "python-efl")
 | 
				
			||||||
    (version "1.23.0")
 | 
					    (version "1.24.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
      (origin
 | 
					      (origin
 | 
				
			||||||
        (method url-fetch)
 | 
					        (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -397,7 +406,7 @@ embedded systems.")
 | 
				
			||||||
                            "python/python-efl-" version ".tar.xz"))
 | 
					                            "python/python-efl-" version ".tar.xz"))
 | 
				
			||||||
        (sha256
 | 
					        (sha256
 | 
				
			||||||
         (base32
 | 
					         (base32
 | 
				
			||||||
          "16yn6a1b9167nfmryyi44ma40m20ansfpwgrvqzfvwix7qaz9pib"))
 | 
					          "1vk1cdd959gia4a9qzyq56a9zw3lqf9ck66k8c9g3c631mp5cfpy"))
 | 
				
			||||||
        (modules '((guix build utils)))
 | 
					        (modules '((guix build utils)))
 | 
				
			||||||
        ;; Remove files generated by Cython
 | 
					        ;; Remove files generated by Cython
 | 
				
			||||||
        (snippet
 | 
					        (snippet
 | 
				
			||||||
| 
						 | 
					@ -590,3 +599,42 @@ directories.
 | 
				
			||||||
     "This is a process monitor and system monitor using the
 | 
					     "This is a process monitor and system monitor using the
 | 
				
			||||||
@dfn{Enlightenment Foundation Libraries} (EFL).")
 | 
					@dfn{Enlightenment Foundation Libraries} (EFL).")
 | 
				
			||||||
    (license license:bsd-2)))
 | 
					    (license license:bsd-2)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public epour
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "epour")
 | 
				
			||||||
 | 
					    (version "0.7.0")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					      (origin
 | 
				
			||||||
 | 
					        (method url-fetch)
 | 
				
			||||||
 | 
					        (uri (string-append "https://download.enlightenment.org/rel/apps/epour"
 | 
				
			||||||
 | 
					                            "/epour-" version ".tar.xz"))
 | 
				
			||||||
 | 
					        (sha256
 | 
				
			||||||
 | 
					         (base32
 | 
				
			||||||
 | 
					          "0g9f9p01hsq6dcf4cs1pwq95g6fpkyjgwqlvdjk1km1i5gj5ygqw"))))
 | 
				
			||||||
 | 
					    (build-system python-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:tests? #f      ; no test target
 | 
				
			||||||
 | 
					       #:use-setuptools? #f
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (add-after 'unpack 'find-theme-dir
 | 
				
			||||||
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (let ((out (assoc-ref outputs "out")))
 | 
				
			||||||
 | 
					               (substitute* "epour/gui/__init__.py"
 | 
				
			||||||
 | 
					                 (("join\\(data_path")
 | 
				
			||||||
 | 
					                  (string-append "join(\"" out "/share/epour\"")))
 | 
				
			||||||
 | 
					               #t))))))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("intltool" ,intltool)
 | 
				
			||||||
 | 
					       ("python-distutils-extra" ,python-distutils-extra)))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("libtorrent-rasterbar" ,libtorrent-rasterbar)
 | 
				
			||||||
 | 
					       ("python-dbus" ,python-dbus)
 | 
				
			||||||
 | 
					       ("python-efl" ,python-efl)
 | 
				
			||||||
 | 
					       ("python-pyxdg" ,python-pyxdg)))
 | 
				
			||||||
 | 
					    (home-page "https://www.enlightenment.org")
 | 
				
			||||||
 | 
					    (synopsis "EFL Bittorrent client")
 | 
				
			||||||
 | 
					    (description "Epour is a BitTorrent client based on the @dfn{Enlightenment
 | 
				
			||||||
 | 
					Foundation Libraries} (EFL) and rb-libtorrent.")
 | 
				
			||||||
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,6 +27,7 @@
 | 
				
			||||||
  #:use-module (guix download)
 | 
					  #:use-module (guix download)
 | 
				
			||||||
  #:use-module (guix git-download)
 | 
					  #:use-module (guix git-download)
 | 
				
			||||||
  #:use-module (guix build-system cmake)
 | 
					  #:use-module (guix build-system cmake)
 | 
				
			||||||
 | 
					  #:use-module (guix build-system copy)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
  #:use-module (guix build-system linux-module)
 | 
					  #:use-module (guix build-system linux-module)
 | 
				
			||||||
  #:use-module (guix build-system trivial)
 | 
					  #:use-module (guix build-system trivial)
 | 
				
			||||||
| 
						 | 
					@ -53,7 +54,9 @@
 | 
				
			||||||
  #:use-module (gnu packages photo)
 | 
					  #:use-module (gnu packages photo)
 | 
				
			||||||
  #: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 python-xyz)
 | 
				
			||||||
  #:use-module (gnu packages readline)
 | 
					  #:use-module (gnu packages readline)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages rsync)
 | 
				
			||||||
  #:use-module (gnu packages sqlite)
 | 
					  #:use-module (gnu packages sqlite)
 | 
				
			||||||
  #:use-module (gnu packages tls)
 | 
					  #:use-module (gnu packages tls)
 | 
				
			||||||
  #:use-module (gnu packages valgrind)
 | 
					  #:use-module (gnu packages valgrind)
 | 
				
			||||||
| 
						 | 
					@ -100,7 +103,7 @@ file permissions, timestamps, symbolic and hard links, and extended attributes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Each file in the archive is protected by a checksum.  If part of the archive
 | 
					Each file in the archive is protected by a checksum.  If part of the archive
 | 
				
			||||||
is corrupted you'll lose the affected file(s) but not the whole back-up.")
 | 
					is corrupted you'll lose the affected file(s) but not the whole back-up.")
 | 
				
			||||||
    (home-page "http://www.fsarchiver.org/")
 | 
					    (home-page "https://www.fsarchiver.org/")
 | 
				
			||||||
    (license license:gpl2)))
 | 
					    (license license:gpl2)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public gphotofs
 | 
					(define-public gphotofs
 | 
				
			||||||
| 
						 | 
					@ -187,6 +190,38 @@ caching system, and lets you assign different roles to each device based on its
 | 
				
			||||||
performance and other characteristics.")
 | 
					performance and other characteristics.")
 | 
				
			||||||
      (license license:gpl2+))))
 | 
					      (license license:gpl2+))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public exfatprogs
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "exfatprogs")
 | 
				
			||||||
 | 
					    (version "1.0.3")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method git-fetch)
 | 
				
			||||||
 | 
					       (uri (git-reference
 | 
				
			||||||
 | 
					             (url "https://github.com/exfatprogs/exfatprogs")
 | 
				
			||||||
 | 
					             (commit version)))
 | 
				
			||||||
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "1s47qvhr702z5c19wfqz8cwl9ammmincs7a8vjc6p974wnnjg77y"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:configure-flags
 | 
				
			||||||
 | 
					       (list "--disable-static")))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("autoconf" ,autoconf)
 | 
				
			||||||
 | 
					       ("automake" ,automake)
 | 
				
			||||||
 | 
					       ("libtool" ,libtool)
 | 
				
			||||||
 | 
					       ("pkg-config" ,pkg-config)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/exfatprogs/exfatprogs")
 | 
				
			||||||
 | 
					    (synopsis "Tools to create, check, and repair exFAT file systems")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "These are command-line user space tools for the @acronym{exFAT,
 | 
				
			||||||
 | 
					Extensible File Allocation Table} file systems.  Included are
 | 
				
			||||||
 | 
					@command{mkfs.exfat} to create (format) new exFAT file systems, and
 | 
				
			||||||
 | 
					@command{fsck.exfat} to check their consistency and repair them.")
 | 
				
			||||||
 | 
					    (license license:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public httpfs2
 | 
					(define-public httpfs2
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "httpfs2")
 | 
					    (name "httpfs2")
 | 
				
			||||||
| 
						 | 
					@ -323,7 +358,7 @@ from the jfsutils package.  It is meant to be used in initrds.")
 | 
				
			||||||
(define-public disorderfs
 | 
					(define-public disorderfs
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "disorderfs")
 | 
					    (name "disorderfs")
 | 
				
			||||||
    (version "0.5.9")
 | 
					    (version "0.5.10")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -333,7 +368,7 @@ from the jfsutils package.  It is meant to be used in initrds.")
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0irgr9hkm9icx1s44m9382484yx8hddzjxbsz621ip9c946pif0g"))))
 | 
					         "0lsisx5118k0qk0b5klbxl03rvhycnznyfx05yxmjawh85bfhmlh"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)))
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
| 
						 | 
					@ -491,8 +526,9 @@ network.  LIBNFS offers three different APIs, for different use :
 | 
				
			||||||
                   ))))
 | 
					                   ))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public apfs-fuse
 | 
					(define-public apfs-fuse
 | 
				
			||||||
  (let ((commit "c7036a3030d128bcecefc1eabc47c039ccfdcec9")
 | 
					  ;; Later versions require FUSE 3.
 | 
				
			||||||
        (revision "0"))
 | 
					  (let ((commit "7b89418e8dc27103d3c4f8fa348086ffcd634c17")
 | 
				
			||||||
 | 
					        (revision "1"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "apfs-fuse")
 | 
					      (name "apfs-fuse")
 | 
				
			||||||
      (version (git-version "0.0.0" revision commit))
 | 
					      (version (git-version "0.0.0" revision commit))
 | 
				
			||||||
| 
						 | 
					@ -504,11 +540,13 @@ network.  LIBNFS offers three different APIs, for different use :
 | 
				
			||||||
                       (commit commit)))
 | 
					                       (commit commit)))
 | 
				
			||||||
         (sha256
 | 
					         (sha256
 | 
				
			||||||
          (base32
 | 
					          (base32
 | 
				
			||||||
           "1akd4cx1f9cyq6sfk9ybv4chhjwjlnqi8ic4z5ajnd5x0g76nz3r"))
 | 
					           "0x2siy3cmnm9wsdfazg3xc8r3kbg73gijmnn1vjw33pp71ckylxr"))
 | 
				
			||||||
         (file-name (git-file-name name version))))
 | 
					         (file-name (git-file-name name version))))
 | 
				
			||||||
      (build-system cmake-build-system)
 | 
					      (build-system cmake-build-system)
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
       `(#:tests? #f ; No test suite
 | 
					       `(#:tests? #f ; No test suite
 | 
				
			||||||
 | 
					         #:configure-flags
 | 
				
			||||||
 | 
					         '("-DUSE_FUSE3=OFF") ; FUSE 3 is not packaged yet.
 | 
				
			||||||
         #:phases
 | 
					         #:phases
 | 
				
			||||||
         (modify-phases %standard-phases
 | 
					         (modify-phases %standard-phases
 | 
				
			||||||
           ;; No 'install' target in CMakeLists.txt
 | 
					           ;; No 'install' target in CMakeLists.txt
 | 
				
			||||||
| 
						 | 
					@ -523,6 +561,7 @@ network.  LIBNFS offers three different APIs, for different use :
 | 
				
			||||||
                 (install-file "apfs-dump-quick" bin)
 | 
					                 (install-file "apfs-dump-quick" bin)
 | 
				
			||||||
                 (install-file "apfs-fuse" bin)
 | 
					                 (install-file "apfs-fuse" bin)
 | 
				
			||||||
                 (install-file "libapfs.a" lib)
 | 
					                 (install-file "libapfs.a" lib)
 | 
				
			||||||
 | 
					                 (install-file "../source/README.md" doc)
 | 
				
			||||||
                 #t))))))
 | 
					                 #t))))))
 | 
				
			||||||
      (inputs
 | 
					      (inputs
 | 
				
			||||||
       `(("bzip2" ,bzip2)
 | 
					       `(("bzip2" ,bzip2)
 | 
				
			||||||
| 
						 | 
					@ -646,3 +685,100 @@ APFS.")
 | 
				
			||||||
originally developed for Solaris and is now maintained by the OpenZFS
 | 
					originally developed for Solaris and is now maintained by the OpenZFS
 | 
				
			||||||
community.")
 | 
					community.")
 | 
				
			||||||
    (license license:cddl1.0)))
 | 
					    (license license:cddl1.0)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public mergerfs
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "mergerfs")
 | 
				
			||||||
 | 
					    (version "2.29.0")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://github.com/trapexit/mergerfs/releases/download/"
 | 
				
			||||||
 | 
					                           version "/mergerfs-" version ".tar.gz"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32
 | 
				
			||||||
 | 
					         "17gizw4vgbqqjd2ykkfpp276942jb5qclp0lkiwkmq1yjgyjqfmk"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:tests? #f                      ; No tests exist.
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (delete 'configure)
 | 
				
			||||||
 | 
					         (add-after 'unpack 'fix-paths
 | 
				
			||||||
 | 
					           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (setenv "CC" "gcc")
 | 
				
			||||||
 | 
					             ;; These were copied from the package libfuse.
 | 
				
			||||||
 | 
					             (substitute* '("libfuse/lib/mount_util.c" "libfuse/util/mount_util.c")
 | 
				
			||||||
 | 
					               (("/bin/(u?)mount" _ maybe-u)
 | 
				
			||||||
 | 
					                (string-append (assoc-ref inputs "util-linux")
 | 
				
			||||||
 | 
					                               "/bin/" maybe-u "mount")))
 | 
				
			||||||
 | 
					             (substitute* '("libfuse/util/mount.mergerfs.c")
 | 
				
			||||||
 | 
					               (("/bin/sh")
 | 
				
			||||||
 | 
					                (which "sh")))
 | 
				
			||||||
 | 
					             ;; The Makefile does not allow overriding PREFIX via make variables.
 | 
				
			||||||
 | 
					             (substitute* '("Makefile" "libfuse/Makefile")
 | 
				
			||||||
 | 
					               (("= /usr/local") (string-append "= " (assoc-ref outputs "out")))
 | 
				
			||||||
 | 
					               ;; cannot chown as build user
 | 
				
			||||||
 | 
					               (("chown root:root") "true"))
 | 
				
			||||||
 | 
					             #t)))))
 | 
				
			||||||
 | 
					    ;; mergerfs bundles a heavily modified copy of libfuse.
 | 
				
			||||||
 | 
					    (inputs `(("util-linux" ,util-linux)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/trapexit/mergerfs")
 | 
				
			||||||
 | 
					    (synopsis "Featureful union filesystem")
 | 
				
			||||||
 | 
					    (description "mergerfs is a union filesystem geared towards simplifying
 | 
				
			||||||
 | 
					storage and management of files across numerous commodity storage devices.  It
 | 
				
			||||||
 | 
					is similar to mhddfs, unionfs, and aufs.")
 | 
				
			||||||
 | 
					    (license (list
 | 
				
			||||||
 | 
					              license:isc                   ; mergerfs
 | 
				
			||||||
 | 
					              license:gpl2 license:lgpl2.0  ; Imported libfuse code.
 | 
				
			||||||
 | 
					              ))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public mergerfs-tools
 | 
				
			||||||
 | 
					  (let ((commit "c926779d87458d103f3b674603bf97801ae2486d")
 | 
				
			||||||
 | 
					        (revision "1"))
 | 
				
			||||||
 | 
					    (package
 | 
				
			||||||
 | 
					      (name "mergerfs-tools")
 | 
				
			||||||
 | 
					      ;; No released version exists.
 | 
				
			||||||
 | 
					      (version (git-version "0.0" revision commit))
 | 
				
			||||||
 | 
					      (source
 | 
				
			||||||
 | 
					       (origin
 | 
				
			||||||
 | 
					         (method git-fetch)
 | 
				
			||||||
 | 
					         (uri (git-reference
 | 
				
			||||||
 | 
					               (url "https://github.com/trapexit/mergerfs-tools.git")
 | 
				
			||||||
 | 
					               (commit commit)))
 | 
				
			||||||
 | 
					         (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					         (sha256
 | 
				
			||||||
 | 
					          (base32
 | 
				
			||||||
 | 
					           "04hhwcib0xv4cf1mkj8zrp2aqpxkncml9iqg4m1mz6a5zhzsk0vm"))))
 | 
				
			||||||
 | 
					      (build-system copy-build-system)
 | 
				
			||||||
 | 
					      (inputs
 | 
				
			||||||
 | 
					       `(("python" ,python)
 | 
				
			||||||
 | 
					         ("python-xattr" ,python-xattr)
 | 
				
			||||||
 | 
					         ("rsync" ,rsync)))
 | 
				
			||||||
 | 
					      (arguments
 | 
				
			||||||
 | 
					       '(#:install-plan
 | 
				
			||||||
 | 
					         '(("src/" "bin/"))
 | 
				
			||||||
 | 
					         #:phases
 | 
				
			||||||
 | 
					         (modify-phases %standard-phases
 | 
				
			||||||
 | 
					           (add-after 'unpack 'patch-paths
 | 
				
			||||||
 | 
					             (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
 | 
					               (substitute* (find-files "src" "^mergerfs\\.")
 | 
				
			||||||
 | 
					                 (("'rsync'")
 | 
				
			||||||
 | 
					                  (string-append "'" (assoc-ref inputs "rsync") "/bin/rsync'"))
 | 
				
			||||||
 | 
					                 (("'rm'")
 | 
				
			||||||
 | 
					                  (string-append "'" (assoc-ref inputs "coreutils") "/bin/rm'")))
 | 
				
			||||||
 | 
					               (substitute* "src/mergerfs.mktrash"
 | 
				
			||||||
 | 
					                 (("xattr")
 | 
				
			||||||
 | 
					                  (string-append (assoc-ref inputs "python-xattr") "/bin/xattr"))
 | 
				
			||||||
 | 
					                 (("mkdir")
 | 
				
			||||||
 | 
					                  (string-append (assoc-ref inputs "coreutils") "/bin/mkdir")))
 | 
				
			||||||
 | 
					               #t)))))
 | 
				
			||||||
 | 
					      (synopsis "Tools to help manage data in a mergerfs pool")
 | 
				
			||||||
 | 
					      (description "mergerfs-tools is a suite of programs that can audit
 | 
				
			||||||
 | 
					permissions and ownership of files and directories on a mergerfs volume,
 | 
				
			||||||
 | 
					duplicates files and directories across branches in its pool, find and remove
 | 
				
			||||||
 | 
					duplicate files, balance pool drives, consolidate files in a single mergerfs
 | 
				
			||||||
 | 
					directory onto a single drive and create FreeDesktop.org Trash specification
 | 
				
			||||||
 | 
					compatible directories.")
 | 
				
			||||||
 | 
					      (home-page "https://github.com/trapexit/mergerfs-tools")
 | 
				
			||||||
 | 
					      (license license:isc))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,7 +6,7 @@
 | 
				
			||||||
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
 | 
					;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
 | 
				
			||||||
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
 | 
					;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
 | 
				
			||||||
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
 | 
					;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
 | 
				
			||||||
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
 | 
					;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
 | 
				
			||||||
;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
 | 
					;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
 | 
				
			||||||
;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
					;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | 
				
			||||||
| 
						 | 
					@ -19,6 +19,7 @@
 | 
				
			||||||
;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
 | 
					;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
 | 
				
			||||||
;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch>
 | 
					;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch>
 | 
				
			||||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 | 
					;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -172,23 +173,22 @@ line client and a client based on Qt.")
 | 
				
			||||||
(define-public homebank
 | 
					(define-public homebank
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "homebank")
 | 
					    (name "homebank")
 | 
				
			||||||
    (version "5.2.8")
 | 
					    (version "5.4.2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "http://homebank.free.fr/public/homebank-"
 | 
					              (uri (string-append "http://homebank.free.fr/public/homebank-"
 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "13ampiv68y30kc0p2560g3yz8whqpwnidfcnb9lndv93b9ca767y"))))
 | 
					                "0bkjvd819kw9cwmr3macggbg8yil3yc8v2za8pjrl6g746s89kn6"))))
 | 
				
			||||||
    (build-system glib-or-gtk-build-system)
 | 
					    (build-system glib-or-gtk-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					     `(("pkg-config" ,pkg-config)
 | 
				
			||||||
       ("intltool" ,intltool)))
 | 
					       ("intltool" ,intltool)))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("gtk+" ,gtk+)
 | 
					     `(("gtk+" ,gtk+)
 | 
				
			||||||
 | 
					       ("libofx" ,libofx)
 | 
				
			||||||
       ("libsoup" ,libsoup)))
 | 
					       ("libsoup" ,libsoup)))
 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     `(#:configure-flags (list "-without-ofx"))) ; libofx is not available yet
 | 
					 | 
				
			||||||
    (home-page "http://homebank.free.fr/")
 | 
					    (home-page "http://homebank.free.fr/")
 | 
				
			||||||
    (synopsis "Graphical personal accounting application")
 | 
					    (synopsis "Graphical personal accounting application")
 | 
				
			||||||
    (description "HomeBank allows you to manage your personal accounts at
 | 
					    (description "HomeBank allows you to manage your personal accounts at
 | 
				
			||||||
| 
						 | 
					@ -475,7 +475,7 @@ other machines/servers.  Electrum does not download the Bitcoin blockchain.")
 | 
				
			||||||
(define-public electron-cash
 | 
					(define-public electron-cash
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "electron-cash")
 | 
					    (name "electron-cash")
 | 
				
			||||||
    (version "4.0.14")
 | 
					    (version "4.0.15")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -484,7 +484,7 @@ other machines/servers.  Electrum does not download the Bitcoin blockchain.")
 | 
				
			||||||
             (commit version)))
 | 
					             (commit version)))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1dp7cj1185h6xfz6jzh0iq58zvg3wq9hl96bkgxkf5h4ygni2vm6"))))
 | 
					        (base32 "0bvj64fdxpi0dbivhgv509kqq503zjp7r7xckl8q5c48j5h1zik2"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("libevent" ,libevent)
 | 
					     `(("libevent" ,libevent)
 | 
				
			||||||
| 
						 | 
					@ -547,7 +547,7 @@ other machines/servers.  Electroncash does not download the Bitcoin Cash blockch
 | 
				
			||||||
  ;; the system's dynamically linked library.
 | 
					  ;; the system's dynamically linked library.
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "monero")
 | 
					    (name "monero")
 | 
				
			||||||
    (version "0.15.0.5")
 | 
					    (version "0.16.0.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -568,7 +568,7 @@ other machines/servers.  Electroncash does not download the Bitcoin Cash blockch
 | 
				
			||||||
           #t))
 | 
					           #t))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "06zzwa0y8ic6x3y2fy501788r51p4klanyvmm76ywrwf087njlkv"))))
 | 
					         "0x74h5z0nxxxip97ibc854pqmrgd8r4d6w62m424f66i8gbzfskh"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("doxygen" ,doxygen)
 | 
					     `(("doxygen" ,doxygen)
 | 
				
			||||||
| 
						 | 
					@ -666,7 +666,7 @@ the Monero command line client and daemon.")
 | 
				
			||||||
(define-public monero-gui
 | 
					(define-public monero-gui
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "monero-gui")
 | 
					    (name "monero-gui")
 | 
				
			||||||
    (version "0.15.0.4")
 | 
					    (version "0.16.0.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -676,14 +676,16 @@ the Monero command line client and daemon.")
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "12m5fgnxkr11q2arx1m5ccpxqm5ljcvm6l547dwqn297zs5jim4z"))))
 | 
					         "06vdrsj5y9k0zn32hspyxc7sw1kkyrvi3chzkdbnxk9jvyj8k4ld"))))
 | 
				
			||||||
    (build-system qt-build-system)
 | 
					    (build-system qt-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)
 | 
					     `(("monero-source" ,(package-source monero))
 | 
				
			||||||
 | 
					       ("pkg-config" ,pkg-config)
 | 
				
			||||||
       ("qttools" ,qttools)))
 | 
					       ("qttools" ,qttools)))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("boost" ,boost)
 | 
					     `(("boost" ,boost)
 | 
				
			||||||
       ("hidapi" ,hidapi)
 | 
					       ("hidapi" ,hidapi)
 | 
				
			||||||
 | 
					       ("libgcrypt" ,libgcrypt)
 | 
				
			||||||
       ("libsodium" ,libsodium)
 | 
					       ("libsodium" ,libsodium)
 | 
				
			||||||
       ("libunwind" ,libunwind)
 | 
					       ("libunwind" ,libunwind)
 | 
				
			||||||
       ("libusb" ,libusb)
 | 
					       ("libusb" ,libusb)
 | 
				
			||||||
| 
						 | 
					@ -705,7 +707,16 @@ the Monero command line client and daemon.")
 | 
				
			||||||
     `(#:tests? #f ; No tests
 | 
					     `(#:tests? #f ; No tests
 | 
				
			||||||
       #:phases
 | 
					       #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
         (add-after 'unpack 'fix-makefile-vars
 | 
					         (add-after 'unpack 'get-monero-extra-files
 | 
				
			||||||
 | 
					           ;; Some headers and GnuPG public keys of the monero package source
 | 
				
			||||||
 | 
					           ;; code are required to build the GUI.
 | 
				
			||||||
 | 
					           (lambda* (#:key inputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (invoke "tar" "-xv" "--wildcards" "--strip-components=1"
 | 
				
			||||||
 | 
					                     "-C" "monero"
 | 
				
			||||||
 | 
					                     "-f" (assoc-ref inputs "monero-source")
 | 
				
			||||||
 | 
					                     "*.asc" "*.h")
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
 | 
					         (add-after 'get-monero-extra-files 'fix-makefile-vars
 | 
				
			||||||
           (lambda _
 | 
					           (lambda _
 | 
				
			||||||
             (substitute* "src/zxcvbn-c/makefile"
 | 
					             (substitute* "src/zxcvbn-c/makefile"
 | 
				
			||||||
               (("\\?=") "="))
 | 
					               (("\\?=") "="))
 | 
				
			||||||
| 
						 | 
					@ -1510,14 +1521,14 @@ like Flowee the Hub, which Fulcrum connects to over RPC.")
 | 
				
			||||||
(define-public flowee
 | 
					(define-public flowee
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "flowee")
 | 
					    (name "flowee")
 | 
				
			||||||
    (version "2020.03.3")
 | 
					    (version "2020.04.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "https://gitlab.com/FloweeTheHub/thehub/-/archive/"
 | 
					       (uri (string-append "https://gitlab.com/FloweeTheHub/thehub/-/archive/"
 | 
				
			||||||
                            version "/thehub-" version ".tar.gz"))
 | 
					                            version "/thehub-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
         (base32 "0ksyh7ll3v9p8f5y15vcb2vkrpzb4h0ricag9j90ad4b4rfsnpjw"))))
 | 
					         (base32 "1vwvaxm3b71pfx8l4rrv06wqks6xdf2333w856b36s1bzvj53rhc"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags '("-Dbuild_tests=ON" "-Denable_gui=OFF")
 | 
					     `(#:configure-flags '("-Dbuild_tests=ON" "-Denable_gui=OFF")
 | 
				
			||||||
| 
						 | 
					@ -1535,6 +1546,8 @@ like Flowee the Hub, which Fulcrum connects to over RPC.")
 | 
				
			||||||
            (lambda _
 | 
					            (lambda _
 | 
				
			||||||
              (substitute* "testing/CMakeLists.txt"
 | 
					              (substitute* "testing/CMakeLists.txt"
 | 
				
			||||||
                (("test_api") ""))
 | 
					                (("test_api") ""))
 | 
				
			||||||
 | 
					              (substitute* "testing/CMakeLists.txt"
 | 
				
			||||||
 | 
					                (("add_subdirectory\\(api\\)") ""))
 | 
				
			||||||
              #t))
 | 
					              #t))
 | 
				
			||||||
          (add-after 'configure 'set-build-info
 | 
					          (add-after 'configure 'set-build-info
 | 
				
			||||||
            ;; Their genbuild.sh to generate a build.h fails in guix (no .git dir) .
 | 
					            ;; Their genbuild.sh to generate a build.h fails in guix (no .git dir) .
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,6 +34,7 @@
 | 
				
			||||||
;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
 | 
					;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
 | 
				
			||||||
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
 | 
					;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
 | 
				
			||||||
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
 | 
					;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -196,7 +197,7 @@ itself."))))
 | 
				
			||||||
(define-public font-cantarell
 | 
					(define-public font-cantarell
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "font-abattis-cantarell")
 | 
					    (name "font-abattis-cantarell")
 | 
				
			||||||
    (version "0.111")
 | 
					    (version "0.201")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://gnome/sources/cantarell-fonts/"
 | 
					              (uri (string-append "mirror://gnome/sources/cantarell-fonts/"
 | 
				
			||||||
| 
						 | 
					@ -204,11 +205,10 @@ itself."))))
 | 
				
			||||||
                                  "/cantarell-fonts-" version ".tar.xz"))
 | 
					                                  "/cantarell-fonts-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "05hpnhihwm9sxlq1qn993g03pwkmpjbn0dvnba71r1gfjv0jp2w5"))))
 | 
					                "0qwqmkczqy09fdj8l11nr841ks0dwsydqg55qyms12m4yvjn87xn"))))
 | 
				
			||||||
    (build-system meson-build-system)
 | 
					    (build-system meson-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("appstream-glib" ,appstream-glib)
 | 
					     `(("gettext" ,gettext-minimal)))   ; for msgfmt
 | 
				
			||||||
       ("gettext" ,gettext-minimal))) ;for msgfmt
 | 
					 | 
				
			||||||
    (home-page "https://wiki.gnome.org/Projects/CantarellFonts")
 | 
					    (home-page "https://wiki.gnome.org/Projects/CantarellFonts")
 | 
				
			||||||
    (synopsis "Cantarell sans-serif typeface")
 | 
					    (synopsis "Cantarell sans-serif typeface")
 | 
				
			||||||
    (description "The Cantarell font family is a contemporary Humanist
 | 
					    (description "The Cantarell font family is a contemporary Humanist
 | 
				
			||||||
| 
						 | 
					@ -310,14 +310,14 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over
 | 
				
			||||||
(define-public font-liberation
 | 
					(define-public font-liberation
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "font-liberation")
 | 
					    (name "font-liberation")
 | 
				
			||||||
    (version "2.00.5")
 | 
					    (version "2.1.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "https://github.com/liberationfonts/liberation-fonts/"
 | 
					       (uri (string-append "https://github.com/liberationfonts/liberation-fonts/"
 | 
				
			||||||
                           "files/2926169/liberation-fonts-ttf-" version ".tar.gz"))
 | 
					                           "files/4743886/liberation-fonts-ttf-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0kdjsbf0y716k1kv0i0ixdpvg7b9b8xkcsg6favaxdc7pshg0kzi"))))
 | 
					        (base32 "1jkg8j8jx7ffj13z5ilw7dids99dyypljm1pv06ycmghw1pw3qlf"))))
 | 
				
			||||||
    (build-system font-build-system)
 | 
					    (build-system font-build-system)
 | 
				
			||||||
    (home-page "https://github.com/liberationfonts")
 | 
					    (home-page "https://github.com/liberationfonts")
 | 
				
			||||||
    (synopsis "Fonts compatible with Arial, Times New Roman, and Courier New")
 | 
					    (synopsis "Fonts compatible with Arial, Times New Roman, and Courier New")
 | 
				
			||||||
| 
						 | 
					@ -678,7 +678,7 @@ for use at smaller text sizes")))
 | 
				
			||||||
(define-public font-gnu-unifont
 | 
					(define-public font-gnu-unifont
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "font-gnu-unifont")
 | 
					    (name "font-gnu-unifont")
 | 
				
			||||||
    (version "13.0.01")
 | 
					    (version "13.0.02")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -688,7 +688,7 @@ for use at smaller text sizes")))
 | 
				
			||||||
             (string-append "mirror://gnu/unifont/unifont-"
 | 
					             (string-append "mirror://gnu/unifont/unifont-"
 | 
				
			||||||
                            version "/unifont-" version ".tar.gz")))
 | 
					                            version "/unifont-" version ".tar.gz")))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1svzm3xahb2m8r79ha9gb1z3zlckykx9d87cghswj7dxn9868j4b"))))
 | 
					        (base32 "1fg908qadh14kfbpzqfj3vgzlxgx68sdlwhl2prz7arq5r45dami"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (outputs '("out"   ; TrueType version
 | 
					    (outputs '("out"   ; TrueType version
 | 
				
			||||||
               "pcf"   ; PCF (bitmap) version
 | 
					               "pcf"   ; PCF (bitmap) version
 | 
				
			||||||
| 
						 | 
					@ -1068,7 +1068,7 @@ vector graphics.")
 | 
				
			||||||
(define-public font-tamzen
 | 
					(define-public font-tamzen
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "font-tamzen")
 | 
					    (name "font-tamzen")
 | 
				
			||||||
    (version "1.11.4")
 | 
					    (version "1.11.5")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -1077,8 +1077,7 @@ vector graphics.")
 | 
				
			||||||
              (commit (string-append "Tamzen-" version))))
 | 
					              (commit (string-append "Tamzen-" version))))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "00x5fipzqimglvshhqwycdhaqslbvn3rl06jnswhyxfvz16ymj7s"))))
 | 
				
			||||||
         "17kgmvg6q32mqhx9g44hjvzv0si0mnpprga4z7na930g2zdd8846"))))
 | 
					 | 
				
			||||||
    (build-system trivial-build-system)
 | 
					    (build-system trivial-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:modules ((guix build utils))
 | 
					     `(#:modules ((guix build utils))
 | 
				
			||||||
| 
						 | 
					@ -1122,16 +1121,14 @@ later hand-tweaked with the gbdfed(1) editor:
 | 
				
			||||||
(define-public font-comic-neue
 | 
					(define-public font-comic-neue
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "font-comic-neue")
 | 
					    (name "font-comic-neue")
 | 
				
			||||||
    ;; The ‘v2.3’ and ‘v2.4’ releases at https://github.com/crozynski/comicneue
 | 
					    (version "2.5")
 | 
				
			||||||
    ;; are equivalent.  The home page hosts 2.3, not 2.4, so we use that here.
 | 
					 | 
				
			||||||
    (version "2.3")
 | 
					 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch/zipbomb)
 | 
					              (method url-fetch/zipbomb)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
                    "http://www.comicneue.com/comic-neue-" version ".zip"))
 | 
					                    "http://www.comicneue.com/comic-neue-" version ".zip"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1695hkpd8kqnr2a88p8xs496slgzxjjkzpa9aa33ml3pnh7519zk"))))
 | 
					                "1ng0m0zs7qr91qy5ff0l01l27npr76961c6zfkxnhxf68zpwz5k4"))))
 | 
				
			||||||
    (build-system font-build-system)
 | 
					    (build-system font-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     `(#:phases
 | 
				
			||||||
| 
						 | 
					@ -1250,6 +1247,34 @@ programming.  Iosevka is completely generated from its source code.")
 | 
				
			||||||
             (for-each make-file-writable (find-files "." ".*"))
 | 
					             (for-each make-file-writable (find-files "." ".*"))
 | 
				
			||||||
             #t)))))))
 | 
					             #t)))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public font-sarasa-gothic
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "font-sarasa-gothic")
 | 
				
			||||||
 | 
					    (version "0.12.6")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method url-fetch)
 | 
				
			||||||
 | 
					       (uri (string-append "https://github.com/be5invis/Sarasa-Gothic"
 | 
				
			||||||
 | 
					                           "/releases/download/v" version
 | 
				
			||||||
 | 
					                           "/sarasa-gothic-ttc-" version ".7z"))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "1g6k9d5lajchbhsh3g12fk5cgilyy6yw09fals9vc1f9wsqvac86"))))
 | 
				
			||||||
 | 
					    (build-system font-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:phases (modify-phases %standard-phases
 | 
				
			||||||
 | 
					                  (replace 'unpack
 | 
				
			||||||
 | 
					                    (lambda* (#:key source #:allow-other-keys)
 | 
				
			||||||
 | 
					                      (mkdir "source")
 | 
				
			||||||
 | 
					                      (chdir "source")
 | 
				
			||||||
 | 
					                      (invoke "7z" "x" source))))))
 | 
				
			||||||
 | 
					    (native-inputs `(("p7zip" ,p7zip)))
 | 
				
			||||||
 | 
					    (home-page "https://github.com/be5invis/Sarasa-Gothic")
 | 
				
			||||||
 | 
					    (license license:silofl1.1)
 | 
				
			||||||
 | 
					    (synopsis "Sarasa Gothic / 更纱黑体 / 更紗黑體 / 更紗ゴシック / 사라사 고딕")
 | 
				
			||||||
 | 
					    (description
 | 
				
			||||||
 | 
					     "Sarasa Gothic is a programming font based on Iosevka and Source Han Sans,
 | 
				
			||||||
 | 
					most CJK characters are same height, and double width as ASCII characters.")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public font-go
 | 
					(define-public font-go
 | 
				
			||||||
  (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")
 | 
					  (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")
 | 
				
			||||||
        (revision "1"))
 | 
					        (revision "1"))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,6 +37,7 @@
 | 
				
			||||||
  #:use-module (gnu packages perl)
 | 
					  #:use-module (gnu packages perl)
 | 
				
			||||||
  #:use-module (gnu packages pkg-config)
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
  #:use-module (gnu packages autotools)
 | 
					  #:use-module (gnu packages autotools)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages fonts)
 | 
				
			||||||
  #:use-module (gnu packages gettext)
 | 
					  #:use-module (gnu packages gettext)
 | 
				
			||||||
  #:use-module (gnu packages python)
 | 
					  #:use-module (gnu packages python)
 | 
				
			||||||
  #:use-module (gnu packages python-xyz)
 | 
					  #:use-module (gnu packages python-xyz)
 | 
				
			||||||
| 
						 | 
					@ -292,6 +293,12 @@ fonts to/from the WOFF2 format.")
 | 
				
			||||||
(define-public fontconfig
 | 
					(define-public fontconfig
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "fontconfig")
 | 
					   (name "fontconfig")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   ;; This replacement is not security-related, but works around the fact
 | 
				
			||||||
 | 
					   ;; that gs-fonts are not recognized by newer versions of Pango, causing
 | 
				
			||||||
 | 
					   ;; many applications to fail to find fonts otherwise.
 | 
				
			||||||
 | 
					   (replacement fontconfig/font-dejavu)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   (version "2.13.1")
 | 
					   (version "2.13.1")
 | 
				
			||||||
   (source (origin
 | 
					   (source (origin
 | 
				
			||||||
            (method url-fetch)
 | 
					            (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -348,6 +355,13 @@ high quality, anti-aliased and subpixel rendered text on a display.")
 | 
				
			||||||
                       "See COPYING in the distribution."))
 | 
					                       "See COPYING in the distribution."))
 | 
				
			||||||
   (home-page "https://www.freedesktop.org/wiki/Software/fontconfig")))
 | 
					   (home-page "https://www.freedesktop.org/wiki/Software/fontconfig")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define fontconfig/font-dejavu
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (inherit fontconfig)
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     ;; XXX: Reuse the name to avoid having to override the configure flags.
 | 
				
			||||||
 | 
					     `(("gs-fonts" ,font-dejavu)))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public t1lib
 | 
					(define-public t1lib
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "t1lib")
 | 
					   (name "t1lib")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -340,7 +340,7 @@ FOSS FPGA place and route tool.")
 | 
				
			||||||
(define-public gtkwave
 | 
					(define-public gtkwave
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "gtkwave")
 | 
					    (name "gtkwave")
 | 
				
			||||||
    (version "3.3.103")
 | 
					    (version "3.3.104")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -350,7 +350,7 @@ FOSS FPGA place and route tool.")
 | 
				
			||||||
                  (string-append "http://gtkwave.sourceforge.net/"
 | 
					                  (string-append "http://gtkwave.sourceforge.net/"
 | 
				
			||||||
                                 "gtkwave-" version ".tar.gz")))
 | 
					                                 "gtkwave-" version ".tar.gz")))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1xzaxqbabj4sb4n10yki5acglx3736pwl3kwlq4k7i96rzvsn9f3"))))
 | 
					        (base32 "0kw9a33gx60kn069yhx5pyk39x1z3pwaj8l1qqwq943v62lx23fj"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("gperf" ,gperf)
 | 
					     `(("gperf" ,gperf)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -185,14 +185,14 @@ freedesktop.org project.")
 | 
				
			||||||
  ;; Updating this will rebuild over 700 packages through libinput-minimal.
 | 
					  ;; Updating this will rebuild over 700 packages through libinput-minimal.
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libinput")
 | 
					    (name "libinput")
 | 
				
			||||||
    (version "1.15.2")
 | 
					    (version "1.15.5")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://freedesktop.org/software/libinput/"
 | 
					              (uri (string-append "https://freedesktop.org/software/libinput/"
 | 
				
			||||||
                                  "libinput-" version ".tar.xz"))
 | 
					                                  "libinput-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0ivpb4sghl80cs7jg3xrs53kckif6wy81cny3a8mry94nszky74p"))))
 | 
					                "15ww4jl3lcxyi8m8idg8canklbqv729gnwpkz7r98c1w8a7zq3m9"))))
 | 
				
			||||||
    (build-system meson-build-system)
 | 
					    (build-system meson-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags '("-Ddocumentation=false")
 | 
					     `(#:configure-flags '("-Ddocumentation=false")
 | 
				
			||||||
| 
						 | 
					@ -1084,7 +1084,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.")
 | 
				
			||||||
(define-public libqmi
 | 
					(define-public libqmi
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libqmi")
 | 
					    (name "libqmi")
 | 
				
			||||||
    (version "1.24.4")
 | 
					    (version "1.24.14")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -1092,7 +1092,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.")
 | 
				
			||||||
                    "libqmi-" version ".tar.xz"))
 | 
					                    "libqmi-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "12licfsszr6qxpg9b2b04qm2glk8d42fcy32zr8jzwrgr7gbl5h3"))))
 | 
					                "0zshxqbm9ldybgrzh7pjmwmfjvvvfd0xh8qhgl8xiqdb9ply73r0"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("libgudev" ,libgudev)))
 | 
					     `(("libgudev" ,libgudev)))
 | 
				
			||||||
| 
						 | 
					@ -1115,7 +1115,7 @@ which speak the Qualcomm MSM Interface (QMI) protocol.")
 | 
				
			||||||
(define-public modem-manager
 | 
					(define-public modem-manager
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "modem-manager")
 | 
					    (name "modem-manager")
 | 
				
			||||||
    (version "1.10.8")
 | 
					    (version "1.12.10")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -1123,15 +1123,11 @@ which speak the Qualcomm MSM Interface (QMI) protocol.")
 | 
				
			||||||
                    "ModemManager-" version ".tar.xz"))
 | 
					                    "ModemManager-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "16hnl0sdriqgv4v30mfs64mdl9rw7lsh802zlm3ggwxxil3p9qfb"))))
 | 
					                "1apq9camys2gaw6y6ic1ld20cncfwpmxnzvh4j5zkbbjpf5hbcxj"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:configure-flags
 | 
					     '(#:configure-flags
 | 
				
			||||||
       `(,(string-append "--with-udev-base-dir=" %output "/lib/udev")
 | 
					       `(,(string-append "--with-udev-base-dir=" %output "/lib/udev"))))
 | 
				
			||||||
         ;; FIXME: Without this flag the build fails with "error: assignment
 | 
					 | 
				
			||||||
         ;; from incompatible pointer type" whenever the return value of
 | 
					 | 
				
			||||||
         ;; "g_object_ref" is assigned to "ctx->self".
 | 
					 | 
				
			||||||
         "--disable-more-warnings")))
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("glib:bin" ,glib "bin") ; for glib-mkenums
 | 
					     `(("glib:bin" ,glib "bin") ; for glib-mkenums
 | 
				
			||||||
       ("gobject-introspection" ,gobject-introspection)
 | 
					       ("gobject-introspection" ,gobject-introspection)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2015, 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
| 
						 | 
					@ -28,15 +28,17 @@
 | 
				
			||||||
(define-public freeipmi
 | 
					(define-public freeipmi
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "freeipmi")
 | 
					    (name "freeipmi")
 | 
				
			||||||
    (version "1.6.4")
 | 
					    (version "1.6.5")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append "mirror://gnu/freeipmi/freeipmi-"
 | 
					             (uri (string-append "mirror://gnu/freeipmi/freeipmi-"
 | 
				
			||||||
                                 version ".tar.gz"))
 | 
					                                 version ".tar.gz"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "0g0s4iwx0ng4rv7hp5cc3kkx4drahsc89981gwjblf04lfavppv5"))))
 | 
					               "1ncf1s84752xaq07h36wrxa5ww1167s2bizkww0igxv8djyddwk1"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     '(#:configure-flags '("--disable-static")))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("libgcrypt" ,libgcrypt)))
 | 
					     `(("libgcrypt" ,libgcrypt)))
 | 
				
			||||||
    (home-page "https://www.gnu.org/software/freeipmi/")
 | 
					    (home-page "https://www.gnu.org/software/freeipmi/")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -191,14 +191,14 @@ DeuTex has functions such as merging wads, etc.")
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "grfcodec")
 | 
					    (name "grfcodec")
 | 
				
			||||||
    (version "6.0.6")
 | 
					    (version "6.0.6")
 | 
				
			||||||
    (source (origin
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
              (uri (string-append "http://binaries.openttd.org/extra/"
 | 
					       (uri (string-append "https://binaries.openttd.org/extra/"
 | 
				
			||||||
                           name "/" version "/" name "-" version
 | 
					                           name "/" version "/" name "-" version
 | 
				
			||||||
                           "-source.tar.xz"))
 | 
					                           "-source.tar.xz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
               (base32
 | 
					        (base32 "08admgnpqcsifpicbm56apgv360fxapqpbbsp10qyk8i22w1ivsk"))))
 | 
				
			||||||
                "08admgnpqcsifpicbm56apgv360fxapqpbbsp10qyk8i22w1ivsk"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:tests? #f                      ;no check target
 | 
					     '(#:tests? #f                      ;no check target
 | 
				
			||||||
| 
						 | 
					@ -240,7 +240,7 @@ with a specific task:
 | 
				
			||||||
@item @code{nforenum} checks NFO code for errors, making corrections when
 | 
					@item @code{nforenum} checks NFO code for errors, making corrections when
 | 
				
			||||||
necessary.
 | 
					necessary.
 | 
				
			||||||
@end enumerate")
 | 
					@end enumerate")
 | 
				
			||||||
    (home-page "http://dev.openttdcoop.org/projects/grfcodec")
 | 
					    (home-page "https://dev.openttdcoop.org/projects/grfcodec")
 | 
				
			||||||
    ;; GRFCodec, GRFID, and GRFStrip are exclusively under the GPL2.
 | 
					    ;; GRFCodec, GRFID, and GRFStrip are exclusively under the GPL2.
 | 
				
			||||||
    ;; NFORenum is under the GPL2+.
 | 
					    ;; NFORenum is under the GPL2+.
 | 
				
			||||||
    ;; The MD5 implementation contained in GRFID is under the zlib license.
 | 
					    ;; The MD5 implementation contained in GRFID is under the zlib license.
 | 
				
			||||||
| 
						 | 
					@ -256,15 +256,14 @@ necessary.
 | 
				
			||||||
       (uri (string-append "https://binaries.openttd.org/extra/catcodec/"
 | 
					       (uri (string-append "https://binaries.openttd.org/extra/catcodec/"
 | 
				
			||||||
                           version "/catcodec-" version "-source.tar.xz"))
 | 
					                           version "/catcodec-" version "-source.tar.xz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "1qg0c2i4p29sxj0q6qp2jynlrzm5pphz2xhcjqlxa69ycrnlxzs7"))))
 | 
				
			||||||
         "1qg0c2i4p29sxj0q6qp2jynlrzm5pphz2xhcjqlxa69ycrnlxzs7"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f ; no tests
 | 
					     `(#:tests? #f ; no tests
 | 
				
			||||||
       #:make-flags (list (string-append "prefix=" %output))
 | 
					       #:make-flags (list (string-append "prefix=" %output))
 | 
				
			||||||
       #:phases (modify-phases %standard-phases
 | 
					       #:phases (modify-phases %standard-phases
 | 
				
			||||||
                  (delete 'configure))))
 | 
					                  (delete 'configure))))
 | 
				
			||||||
    (home-page "http://dev.openttdcoop.org/projects/catcodec")
 | 
					    (home-page "https://dev.openttdcoop.org/projects/catcodec")
 | 
				
			||||||
    (synopsis "Encode/decode OpenTTD sounds")
 | 
					    (synopsis "Encode/decode OpenTTD sounds")
 | 
				
			||||||
    (description "catcodec encodes and decodes sounds for OpenTTD.  These
 | 
					    (description "catcodec encodes and decodes sounds for OpenTTD.  These
 | 
				
			||||||
sounds are not much more than some metadata (description and filename) and raw
 | 
					sounds are not much more than some metadata (description and filename) and raw
 | 
				
			||||||
| 
						 | 
					@ -632,6 +631,7 @@ garbage collection and can be extended with plugins.")
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:tests? #f                      ; no check target
 | 
					     '(#:tests? #f                      ; no check target
 | 
				
			||||||
 | 
					       #:configure-flags '("-DPHYSFS_BUILD_STATIC=OFF")
 | 
				
			||||||
       #:phases (modify-phases %standard-phases
 | 
					       #:phases (modify-phases %standard-phases
 | 
				
			||||||
                  (add-after 'unpack 'patch-CMakeLists.txt
 | 
					                  (add-after 'unpack 'patch-CMakeLists.txt
 | 
				
			||||||
                    (lambda _
 | 
					                    (lambda _
 | 
				
			||||||
| 
						 | 
					@ -681,7 +681,6 @@ archive on a per-file basis.")
 | 
				
			||||||
       ("mesa" ,mesa)
 | 
					       ("mesa" ,mesa)
 | 
				
			||||||
       ("mpg123" ,mpg123)
 | 
					       ("mpg123" ,mpg123)
 | 
				
			||||||
       ("openal" ,openal)
 | 
					       ("openal" ,openal)
 | 
				
			||||||
       ("physfs" ,physfs)
 | 
					 | 
				
			||||||
       ("sdl2" ,sdl2)
 | 
					       ("sdl2" ,sdl2)
 | 
				
			||||||
       ("zlib" ,zlib)))
 | 
					       ("zlib" ,zlib)))
 | 
				
			||||||
    (synopsis "2D game framework for Lua")
 | 
					    (synopsis "2D game framework for Lua")
 | 
				
			||||||
| 
						 | 
					@ -1157,7 +1156,7 @@ developed mainly for Ren'py.")
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("python2-cython" ,python2-cython)
 | 
					     `(("python2-cython" ,python2-cython)
 | 
				
			||||||
       ("xdg-utils" ,xdg-utils)))
 | 
					       ("xdg-utils" ,xdg-utils)))
 | 
				
			||||||
    (home-page "http://www.renpy.org/")
 | 
					    (home-page "https://www.renpy.org/")
 | 
				
			||||||
    (synopsis "Ren'py python module")
 | 
					    (synopsis "Ren'py python module")
 | 
				
			||||||
    (description "This package contains the shared libraries and Python
 | 
					    (description "This package contains the shared libraries and Python
 | 
				
			||||||
modules of Ren'py.")
 | 
					modules of Ren'py.")
 | 
				
			||||||
| 
						 | 
					@ -1345,7 +1344,7 @@ if __name__ == \"__main__\":
 | 
				
			||||||
       ("xorg-server" ,xorg-server)))
 | 
					       ("xorg-server" ,xorg-server)))
 | 
				
			||||||
    (outputs
 | 
					    (outputs
 | 
				
			||||||
     (list "out" "tutorial" "the-question"))
 | 
					     (list "out" "tutorial" "the-question"))
 | 
				
			||||||
    (home-page "http://www.renpy.org/")
 | 
					    (home-page "https://www.renpy.org/")
 | 
				
			||||||
    (synopsis "Visual Novel Engine")
 | 
					    (synopsis "Visual Novel Engine")
 | 
				
			||||||
    (description "Ren'Py is a visual novel engine that helps you use words,
 | 
					    (description "Ren'Py is a visual novel engine that helps you use words,
 | 
				
			||||||
images, and sounds to tell interactive stories that run on computers and
 | 
					images, and sounds to tell interactive stories that run on computers and
 | 
				
			||||||
| 
						 | 
					@ -1585,11 +1584,7 @@ games.")
 | 
				
			||||||
    (build-system scons-build-system)
 | 
					    (build-system scons-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:scons ,scons-python2
 | 
					     `(#:scons ,scons-python2
 | 
				
			||||||
       #:scons-flags (list "platform=x11"
 | 
					       #:scons-flags (list "platform=x11" "target=release_debug"
 | 
				
			||||||
                           ,@(if (string-prefix? "aarch64" (or (%current-target-system)
 | 
					 | 
				
			||||||
                                                               (%current-system)))
 | 
					 | 
				
			||||||
                               `("CCFLAGS=-DNO_THREADS")
 | 
					 | 
				
			||||||
                               '())
 | 
					 | 
				
			||||||
                           ;; Avoid using many of the bundled libs.
 | 
					                           ;; Avoid using many of the bundled libs.
 | 
				
			||||||
                           ;; Note: These options can be found in the SConstruct file.
 | 
					                           ;; Note: These options can be found in the SConstruct file.
 | 
				
			||||||
                           "builtin_bullet=no"
 | 
					                           "builtin_bullet=no"
 | 
				
			||||||
| 
						 | 
					@ -1621,41 +1616,46 @@ games.")
 | 
				
			||||||
                 "env_base = Environment(tools=custom_tools)\n"
 | 
					                 "env_base = Environment(tools=custom_tools)\n"
 | 
				
			||||||
                 "env_base = Environment(ENV=os.environ)")))
 | 
					                 "env_base = Environment(ENV=os.environ)")))
 | 
				
			||||||
             #t))
 | 
					             #t))
 | 
				
			||||||
 | 
					         ;; Build headless tools, used for packaging games without depending on X.
 | 
				
			||||||
 | 
					         (add-after 'build 'build-headless
 | 
				
			||||||
 | 
					           (lambda* (#:key scons-flags #:allow-other-keys)
 | 
				
			||||||
 | 
					             (apply invoke "scons"
 | 
				
			||||||
 | 
					                    `(,(string-append "-j" (number->string (parallel-job-count)))
 | 
				
			||||||
 | 
					                      "platform=server" ,@(delete "platform=x11" scons-flags)))))
 | 
				
			||||||
         (replace 'install
 | 
					         (replace 'install
 | 
				
			||||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
					           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
             (let* ((out (assoc-ref outputs "out"))
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
                    (bin (string-append out "/bin")))
 | 
					                    (headless (assoc-ref outputs "headless"))
 | 
				
			||||||
 | 
					                    (zenity (assoc-ref inputs "zenity")))
 | 
				
			||||||
 | 
					               ;; Strip build info from filenames.
 | 
				
			||||||
               (with-directory-excursion "bin"
 | 
					               (with-directory-excursion "bin"
 | 
				
			||||||
                 (if (file-exists? "godot.x11.tools.64")
 | 
					                 (for-each
 | 
				
			||||||
                     (rename-file "godot.x11.tools.64" "godot")
 | 
					                  (lambda (file)
 | 
				
			||||||
                     (rename-file "godot.x11.tools.32" "godot"))
 | 
					                    (let ((dest (car (string-split (basename file) #\.))))
 | 
				
			||||||
                 (install-file "godot" bin))
 | 
					                      (rename-file file dest)))
 | 
				
			||||||
               ;; Tell Godot where to find zenity for OS.alert().
 | 
					                  (find-files "." "godot.*\\.x11\\.opt\\.tools.*"))
 | 
				
			||||||
               (wrap-program (string-append bin "/godot")
 | 
					                 (install-file "godot" (string-append out "/bin"))
 | 
				
			||||||
                 `("PATH" ":" prefix
 | 
					                 (install-file "godot_server" (string-append headless "/bin")))
 | 
				
			||||||
                   (,(string-append (assoc-ref %build-inputs "zenity") "/bin"))))
 | 
					               ;; Tell the editor where to find zenity for OS.alert().
 | 
				
			||||||
               #t)))
 | 
					               (wrap-program (string-append out "/bin/godot")
 | 
				
			||||||
 | 
					                 `("PATH" ":" prefix (,(string-append zenity "/bin")))))
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
         (add-after 'install 'install-godot-desktop
 | 
					         (add-after 'install 'install-godot-desktop
 | 
				
			||||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
					           (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
             (let* ((out (assoc-ref outputs "out"))
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
                    (desktop (string-append out "/share/applications"))
 | 
					                    (applications (string-append out "/share/applications"))
 | 
				
			||||||
                    (icon-dir (string-append out "/share/pixmaps")))
 | 
					                    (icons (string-append out "/share/icons/hicolor")))
 | 
				
			||||||
               (rename-file "icon.png" "godot.png")
 | 
					               (mkdir-p applications)
 | 
				
			||||||
               (install-file "godot.png" icon-dir)
 | 
					               (copy-file "misc/dist/linux/org.godotengine.Godot.desktop"
 | 
				
			||||||
               (mkdir-p desktop)
 | 
					                          (string-append applications "/godot.desktop"))
 | 
				
			||||||
               (with-output-to-file
 | 
					               (for-each (lambda (icon dest)
 | 
				
			||||||
                   (string-append desktop "/godot.desktop")
 | 
					                           (mkdir-p (dirname dest))
 | 
				
			||||||
                 (lambda _
 | 
					                           (copy-file icon dest))
 | 
				
			||||||
                   (format #t
 | 
					                         '("icon.png" "icon.svg")
 | 
				
			||||||
                           "[Desktop Entry]~@
 | 
					                         `(,(string-append icons "/256x256/apps/godot.png")
 | 
				
			||||||
                           Name=godot~@
 | 
					                           ,(string-append icons "/scalable/apps/godot.svg"))))
 | 
				
			||||||
                           Comment=The godot game engine~@
 | 
					             #t)))))
 | 
				
			||||||
                           Exec=~a/bin/godot~@
 | 
					    (outputs '("out" "headless"))
 | 
				
			||||||
                           TryExec=~@*~a/bin/godot~@
 | 
					 | 
				
			||||||
                           Icon=godot~@
 | 
					 | 
				
			||||||
                           Type=Application~%"
 | 
					 | 
				
			||||||
                           out)))
 | 
					 | 
				
			||||||
               #t))))))
 | 
					 | 
				
			||||||
    (native-inputs `(("pkg-config" ,pkg-config)))
 | 
					    (native-inputs `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
    (inputs `(("alsa-lib" ,alsa-lib)
 | 
					    (inputs `(("alsa-lib" ,alsa-lib)
 | 
				
			||||||
              ("bullet" ,bullet)
 | 
					              ("bullet" ,bullet)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,7 +23,7 @@
 | 
				
			||||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
 | 
					;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
 | 
				
			||||||
;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com>
 | 
					;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com>
 | 
				
			||||||
;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info>
 | 
					;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info>
 | 
				
			||||||
;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
 | 
					;;; Copyright © 2017, 2018, 2020 Arun Isaac <arunisaac@systemreboot.net>
 | 
				
			||||||
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;; Copyright © 2017, 2019 nee <nee-git@hidamari.blue>
 | 
					;;; Copyright © 2017, 2019 nee <nee-git@hidamari.blue>
 | 
				
			||||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 | 
					;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
 | 
				
			||||||
| 
						 | 
					@ -450,7 +450,7 @@ possible, while battling many vicious aliens.")
 | 
				
			||||||
(define-public cataclysm-dda
 | 
					(define-public cataclysm-dda
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "cataclysm-dda")
 | 
					    (name "cataclysm-dda")
 | 
				
			||||||
    (version "0.E")
 | 
					    (version "0.E-2")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -458,7 +458,7 @@ possible, while battling many vicious aliens.")
 | 
				
			||||||
             (url "https://github.com/CleverRaven/Cataclysm-DDA.git")
 | 
					             (url "https://github.com/CleverRaven/Cataclysm-DDA.git")
 | 
				
			||||||
             (commit version)))
 | 
					             (commit version)))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0pbi0fw37zimzdklfj58s1ql0wlqq7dy6idkcsib3hn910ajaxan"))
 | 
					        (base32 "15l6w6lxays7qmsv0ci2ry53asb9an9dh7l7fc13256k085qcg68"))
 | 
				
			||||||
       (file-name (git-file-name name version))))
 | 
					       (file-name (git-file-name name version))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					@ -626,8 +626,9 @@ tired of cows, a variety of other ASCII-art messengers are available.")
 | 
				
			||||||
         (file-name (git-file-name name version))))
 | 
					         (file-name (git-file-name name version))))
 | 
				
			||||||
      (build-system gnu-build-system)
 | 
					      (build-system gnu-build-system)
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
       `(#:tests? #f ;; no check target
 | 
					       `(#:tests? #f                    ; no check target
 | 
				
			||||||
         #:make-flags (list "CC=gcc")
 | 
					         #:make-flags
 | 
				
			||||||
 | 
					         (list ,(string-append "CC=" (cc-for-target)))
 | 
				
			||||||
         #:phases
 | 
					         #:phases
 | 
				
			||||||
         (modify-phases %standard-phases
 | 
					         (modify-phases %standard-phases
 | 
				
			||||||
           (delete 'bootstrap)
 | 
					           (delete 'bootstrap)
 | 
				
			||||||
| 
						 | 
					@ -978,7 +979,7 @@ automata.  The following features are available:
 | 
				
			||||||
(define-public julius
 | 
					(define-public julius
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "julius")
 | 
					    (name "julius")
 | 
				
			||||||
    (version "1.4.0")
 | 
					    (version "1.4.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -987,7 +988,7 @@ automata.  The following features are available:
 | 
				
			||||||
             (commit (string-append "v" version))))
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "01rygr592ar530qv1flmaiq8icl0qdxgc8lhkcdyn1g09941z47v"))
 | 
					        (base32 "12hhnhdwgz7hd3hlndbnk15pxggm1375qs0764ija4nl1gbpb110"))
 | 
				
			||||||
       ;; Remove unused bundled libraries.
 | 
					       ;; Remove unused bundled libraries.
 | 
				
			||||||
       (modules '((guix build utils)))
 | 
					       (modules '((guix build utils)))
 | 
				
			||||||
       (snippet
 | 
					       (snippet
 | 
				
			||||||
| 
						 | 
					@ -1157,15 +1158,15 @@ destroying an ancient book using a special wand.")
 | 
				
			||||||
(define-public gnome-chess
 | 
					(define-public gnome-chess
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "gnome-chess")
 | 
					    (name "gnome-chess")
 | 
				
			||||||
    (version "3.36.0")
 | 
					    (version "3.36.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://gnome/sources/" name "/"
 | 
					              (uri (string-append "mirror://gnome/sources/gnome-chess/"
 | 
				
			||||||
                                  (version-major+minor version)  "/"
 | 
					                                  (version-major+minor version)  "/"
 | 
				
			||||||
                                  name "-" version ".tar.xz"))
 | 
					                                  "gnome-chess-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1a9fgi749gy1f60vbcyrqqkab9vqs42hji70q73k1xx8rv0agmg0"))))
 | 
					                "165bk8s3nngyqbikggspj4rff5nxxfkfcmgzjb4grmsrgbqwk5di"))))
 | 
				
			||||||
    (build-system meson-build-system)
 | 
					    (build-system meson-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:glib-or-gtk? #t
 | 
					     '(#:glib-or-gtk? #t
 | 
				
			||||||
| 
						 | 
					@ -1314,15 +1315,14 @@ Chess).  It is similar to standard chess but this variant is far more complicate
 | 
				
			||||||
(define-public ltris
 | 
					(define-public ltris
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ltris")
 | 
					    (name "ltris")
 | 
				
			||||||
    (version "1.0.19")
 | 
					    (version "1.0.20")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "http://prdownloads.sourceforge.net/lgames/"
 | 
					       (uri (string-append "http://prdownloads.sourceforge.net/lgames/"
 | 
				
			||||||
                           "ltris-" version ".tar.gz"))
 | 
					                           "ltris-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "16zbqsc4amx9g3yjv6054nh4ia09dgfp8k6q4qxpjicl3dw3z0in"))))
 | 
				
			||||||
         "1895wv1fqklrj4apkz47rnkcfhfav7zjknskw6p0886j35vrwslg"))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(;; The code in LTris uses traditional GNU semantics for inline functions
 | 
					     '(;; The code in LTris uses traditional GNU semantics for inline functions
 | 
				
			||||||
| 
						 | 
					@ -1733,6 +1733,83 @@ can be explored and changed freely.")
 | 
				
			||||||
                   license:gpl3+
 | 
					                   license:gpl3+
 | 
				
			||||||
                   license:silofl1.1))))
 | 
					                   license:silofl1.1))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public superstarfighter
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (name "superstarfighter")
 | 
				
			||||||
 | 
					    (version "0.6.4")
 | 
				
			||||||
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
 | 
					       (method git-fetch)
 | 
				
			||||||
 | 
					       (uri (git-reference
 | 
				
			||||||
 | 
					             (url "https://github.com/notapixelstudio/superstarfighter.git")
 | 
				
			||||||
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
 | 
					       (sha256
 | 
				
			||||||
 | 
					        (base32 "1fly63yf5ls1xwm15if4lxwy67wi84k4gvjllljpykrl18vw2y0y"))))
 | 
				
			||||||
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:tests? #f                      ;there are no tests
 | 
				
			||||||
 | 
					       #:phases
 | 
				
			||||||
 | 
					       (modify-phases %standard-phases
 | 
				
			||||||
 | 
					         (replace 'configure
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (chdir "godot")
 | 
				
			||||||
 | 
					             (setenv "HOME" (getcwd))
 | 
				
			||||||
 | 
					             (with-output-to-file "export_presets.cfg"
 | 
				
			||||||
 | 
					               (lambda ()
 | 
				
			||||||
 | 
					                 (display
 | 
				
			||||||
 | 
					                  "[preset.0]
 | 
				
			||||||
 | 
					name=\"Guix\"
 | 
				
			||||||
 | 
					platform=\"Linux/X11\"
 | 
				
			||||||
 | 
					runnable=true
 | 
				
			||||||
 | 
					[preset.0.options]")))
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
 | 
					         (replace 'build
 | 
				
			||||||
 | 
					           (lambda _
 | 
				
			||||||
 | 
					             (let ((godot (assoc-ref %build-inputs "godot-headless")))
 | 
				
			||||||
 | 
					               (invoke (string-append godot "/bin/godot_server")
 | 
				
			||||||
 | 
					                       "--export-pack" "Guix"
 | 
				
			||||||
 | 
					                       "superstarfighter.pck" "project.godot"))
 | 
				
			||||||
 | 
					             #t))
 | 
				
			||||||
 | 
					         (replace 'install
 | 
				
			||||||
 | 
					           (lambda* (#:key inputs outputs #:allow-other-keys)
 | 
				
			||||||
 | 
					             (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
 | 
					                    (bin (string-append out "/bin"))
 | 
				
			||||||
 | 
					                    (share (string-append out "/share"))
 | 
				
			||||||
 | 
					                    (data (string-append share "/superstarfighter"))
 | 
				
			||||||
 | 
					                    (icons (string-append share "/icons/hicolor/256x256/apps")))
 | 
				
			||||||
 | 
					               (install-file "superstarfighter.pck" data)
 | 
				
			||||||
 | 
					               (mkdir-p bin)
 | 
				
			||||||
 | 
					               (call-with-output-file (string-append bin "/superstarfighter")
 | 
				
			||||||
 | 
					                 (lambda (port)
 | 
				
			||||||
 | 
					                   (format port
 | 
				
			||||||
 | 
					                           "#!/bin/sh~@
 | 
				
			||||||
 | 
					                            exec ~a/bin/godot --main-pack ~a/superstarfighter.pck~%"
 | 
				
			||||||
 | 
					                           (assoc-ref inputs "godot")
 | 
				
			||||||
 | 
					                           data)
 | 
				
			||||||
 | 
					                   (chmod port #o755)))
 | 
				
			||||||
 | 
					               (mkdir-p icons)
 | 
				
			||||||
 | 
					               (copy-file "icon.png" (string-append icons "/" ,name ".png"))
 | 
				
			||||||
 | 
					               (make-desktop-entry-file
 | 
				
			||||||
 | 
					                (string-append share "/applications/" ,name ".desktop")
 | 
				
			||||||
 | 
					                #:name "SuperStarfighter"
 | 
				
			||||||
 | 
					                #:comment "Fast-paced arcade combat game"
 | 
				
			||||||
 | 
					                #:exec ,name
 | 
				
			||||||
 | 
					                #:icon ,name
 | 
				
			||||||
 | 
					                #:categories '("Game" "ArcadeGame")))
 | 
				
			||||||
 | 
					             #t)))))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("godot-headless" ,godot "headless")))
 | 
				
			||||||
 | 
					    (inputs
 | 
				
			||||||
 | 
					     `(("godot" ,godot)))
 | 
				
			||||||
 | 
					    (home-page "https://notapixel.itch.io/superstarfighter")
 | 
				
			||||||
 | 
					    (synopsis "Fast-paced local multiplayer arcade game")
 | 
				
			||||||
 | 
					    (description "In SuperStarfighter, up to four local players compete in a
 | 
				
			||||||
 | 
					2D arena with fast-moving ships and missiles.  Different game types are
 | 
				
			||||||
 | 
					available, as well as a single-player mode with AI-controlled ships.")
 | 
				
			||||||
 | 
					    (license (list license:expat         ; game
 | 
				
			||||||
 | 
					                   license:silofl1.1)))) ; fonts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public xshogi
 | 
					(define-public xshogi
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "xshogi")
 | 
					    (name "xshogi")
 | 
				
			||||||
| 
						 | 
					@ -1814,16 +1891,15 @@ that beneath its ruins lay buried an ancient evil.")
 | 
				
			||||||
(define-public angband
 | 
					(define-public angband
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "angband")
 | 
					    (name "angband")
 | 
				
			||||||
    (version "4.2.0")
 | 
					    (version "4.2.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (string-append "http://rephial.org/downloads/"
 | 
					       (uri (string-append "https://rephial.org/downloads/"
 | 
				
			||||||
                           (version-major+minor version)
 | 
					                           (version-major+minor version)
 | 
				
			||||||
                           "/angband-" version ".tar.gz"))
 | 
					                           "/angband-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "03qdavkj2ik02mqjxmlm5bn17ba3yxb1rirp8ghnxy3bsk4kbmxc"))
 | 
				
			||||||
         "0vdm1ymm28wawp94nl1p5q3lhc0k7cnn2kkvvrkfx962gif4kqfk"))
 | 
					 | 
				
			||||||
       (modules '((guix build utils)))
 | 
					       (modules '((guix build utils)))
 | 
				
			||||||
       (snippet
 | 
					       (snippet
 | 
				
			||||||
        ;; So, some of the sounds/graphics/tilesets are under different
 | 
					        ;; So, some of the sounds/graphics/tilesets are under different
 | 
				
			||||||
| 
						 | 
					@ -1856,7 +1932,7 @@ that beneath its ruins lay buried an ancient evil.")
 | 
				
			||||||
     `(("autoconf" ,autoconf)
 | 
					     `(("autoconf" ,autoconf)
 | 
				
			||||||
       ("automake" ,automake)))
 | 
					       ("automake" ,automake)))
 | 
				
			||||||
    (inputs `(("ncurses" ,ncurses)))
 | 
					    (inputs `(("ncurses" ,ncurses)))
 | 
				
			||||||
    (home-page "http://rephial.org/")
 | 
					    (home-page "https://rephial.org/")
 | 
				
			||||||
    (synopsis "Dungeon exploration roguelike")
 | 
					    (synopsis "Dungeon exploration roguelike")
 | 
				
			||||||
    (description "Angband is a Classic dungeon exploration roguelike.  Explore
 | 
					    (description "Angband is a Classic dungeon exploration roguelike.  Explore
 | 
				
			||||||
the depths below Angband, seeking riches, fighting monsters, and preparing to
 | 
					the depths below Angband, seeking riches, fighting monsters, and preparing to
 | 
				
			||||||
| 
						 | 
					@ -1976,7 +2052,7 @@ asynchronously and at a user-defined speed.")
 | 
				
			||||||
(define-public chess
 | 
					(define-public chess
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "chess")
 | 
					    (name "chess")
 | 
				
			||||||
    (version "6.2.6")
 | 
					    (version "6.2.7")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -1984,7 +2060,7 @@ asynchronously and at a user-defined speed.")
 | 
				
			||||||
                           ".tar.gz"))
 | 
					                           ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0kxhdv01ia91v2y0cmzbll391ns2vbmn65jjrv37h4s1srszh5yn"))))
 | 
					         "0ilq4bfl0lwyzf11q7n2skydjhalfn3bgxhrp5hjxs5bc5d6fdp5"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (home-page "https://www.gnu.org/software/chess/")
 | 
					    (home-page "https://www.gnu.org/software/chess/")
 | 
				
			||||||
    (synopsis "Full chess implementation")
 | 
					    (synopsis "Full chess implementation")
 | 
				
			||||||
| 
						 | 
					@ -2894,7 +2970,7 @@ falling, themeable graphics and sounds, and replays.")
 | 
				
			||||||
(define-public wesnoth
 | 
					(define-public wesnoth
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "wesnoth")
 | 
					    (name "wesnoth")
 | 
				
			||||||
    (version "1.14.11")
 | 
					    (version "1.14.12")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
 | 
					              (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
 | 
				
			||||||
| 
						 | 
					@ -2903,7 +2979,7 @@ falling, themeable graphics and sounds, and replays.")
 | 
				
			||||||
                                  "wesnoth-" version ".tar.bz2"))
 | 
					                                  "wesnoth-" version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1i8mz6gw3qar09bscczhki0g4scj8pl58v85rp0g55r4bcq41l5v"))))
 | 
					                "027bc1363hdgahw7dvd22fvvqd132byxnljfbq6lvlr5ci01q8mk"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f))                    ;no check target
 | 
					     `(#:tests? #f))                    ;no check target
 | 
				
			||||||
| 
						 | 
					@ -3904,7 +3980,7 @@ tactics.")
 | 
				
			||||||
(define-public starfighter
 | 
					(define-public starfighter
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "starfighter")
 | 
					    (name "starfighter")
 | 
				
			||||||
    (version "2.0.0.3")
 | 
					    (version "2.2")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -3913,7 +3989,7 @@ tactics.")
 | 
				
			||||||
                    (version-major+minor version) "-src.tar.gz"))
 | 
					                    (version-major+minor version) "-src.tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "13vi5kh9ahws4f52421cbyw0jn7pmbnld358lqfmr6flql7ilj3b"))))
 | 
					                "1ldd9cbvl694ps4sapr8213m3zjrci7gii5x3kjjfalkikmndpd2"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("pkg-config" ,pkg-config)))
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
| 
						 | 
					@ -4742,24 +4818,27 @@ emerges from a sewer hole and pulls her below ground.")
 | 
				
			||||||
(define-public cdogs-sdl
 | 
					(define-public cdogs-sdl
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "cdogs-sdl")
 | 
					    (name "cdogs-sdl")
 | 
				
			||||||
    (version "0.6.9")
 | 
					    (version "0.8.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
       (uri (git-reference
 | 
					       (uri (git-reference
 | 
				
			||||||
             (url "https://github.com/cxong/cdogs-sdl.git")
 | 
					             (url "https://github.com/cxong/cdogs-sdl.git")
 | 
				
			||||||
             (commit version)))
 | 
					             (commit version)))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
               (base32
 | 
					        (base32 "0vx37zb2iw7sfw5a2bs97ydlmb301nvy485ybdm8g46c5hn9s13c"))))
 | 
				
			||||||
                "13gyv2hzk43za1n3lsjnd5v64xlzfzq7n10scd1rcbsnk1n007zr"))))
 | 
					 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags
 | 
					     `(#:configure-flags
 | 
				
			||||||
       (list (string-append "-DCDOGS_DATA_DIR="
 | 
					       (list (string-append "-DCDOGS_DATA_DIR="
 | 
				
			||||||
                            (assoc-ref %outputs "out")
 | 
					                            (assoc-ref %outputs "out")
 | 
				
			||||||
                            "/share/cdogs-sdl/"))))
 | 
					                            "/share/cdogs-sdl/"))))
 | 
				
			||||||
 | 
					    (native-inputs
 | 
				
			||||||
 | 
					     `(("pkg-config" ,pkg-config)))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     `(("mesa" ,mesa)
 | 
					     `(("gtk+" ,gtk+)
 | 
				
			||||||
 | 
					       ("mesa" ,mesa)
 | 
				
			||||||
       ("sdl2" ,sdl2)
 | 
					       ("sdl2" ,sdl2)
 | 
				
			||||||
       ("sdl2-image" ,sdl2-image)
 | 
					       ("sdl2-image" ,sdl2-image)
 | 
				
			||||||
       ("sdl2-mixer" ,sdl2-mixer)))
 | 
					       ("sdl2-mixer" ,sdl2-mixer)))
 | 
				
			||||||
| 
						 | 
					@ -5730,6 +5809,14 @@ some graphical niceities, and numerous bug-fixes and other improvements.")
 | 
				
			||||||
               (string-append "LDFLAGS=-Wl,-rpath=" vulkanlib)
 | 
					               (string-append "LDFLAGS=-Wl,-rpath=" vulkanlib)
 | 
				
			||||||
               "-CQuake"))
 | 
					               "-CQuake"))
 | 
				
			||||||
       #:phases (modify-phases %standard-phases
 | 
					       #:phases (modify-phases %standard-phases
 | 
				
			||||||
 | 
					                  (add-after 'unpack 'patch-for-new-vulkan
 | 
				
			||||||
 | 
					                    (lambda _
 | 
				
			||||||
 | 
					                      ;; Mimic upstream commit a869a22d9b51c68e for
 | 
				
			||||||
 | 
					                      ;; compatibility with newer vulkan-headers.
 | 
				
			||||||
 | 
					                      (substitute* "Quake/gl_rmisc.c"
 | 
				
			||||||
 | 
					                        (("VK_DYNAMIC_STATE_RANGE_SIZE")
 | 
				
			||||||
 | 
					                         "3"))
 | 
				
			||||||
 | 
					                      #t))
 | 
				
			||||||
                  (delete 'configure)
 | 
					                  (delete 'configure)
 | 
				
			||||||
                  (add-after 'unpack 'fix-makefile-paths
 | 
					                  (add-after 'unpack 'fix-makefile-paths
 | 
				
			||||||
                    (lambda* (#:key outputs #:allow-other-keys)
 | 
					                    (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
| 
						 | 
					@ -6299,7 +6386,7 @@ original.")
 | 
				
			||||||
(define-public fortune-mod
 | 
					(define-public fortune-mod
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "fortune-mod")
 | 
					    (name "fortune-mod")
 | 
				
			||||||
    (version "2.12.0")
 | 
					    (version "2.28.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -6308,8 +6395,7 @@ original.")
 | 
				
			||||||
             (commit (string-append "fortune-mod-" version))))
 | 
					             (commit (string-append "fortune-mod-" version))))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "1ppzgnffgdcmq6fq4gmdq2ig10ip2bnfgklkb3i8nc6bdxm7pb89"))))
 | 
				
			||||||
         "0laxgqsdg7kvpvvm1f54b94ga9r0cr9g3ffii8avg8fy65x6pzc9"))))
 | 
					 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:test-target "check"
 | 
					     `(#:test-target "check"
 | 
				
			||||||
| 
						 | 
					@ -6587,7 +6673,7 @@ quotation from a collection of quotes.")
 | 
				
			||||||
       ("pkg-config" ,pkg-config)
 | 
					       ("pkg-config" ,pkg-config)
 | 
				
			||||||
       ("libtool" ,libtool)
 | 
					       ("libtool" ,libtool)
 | 
				
			||||||
       ("gmp" ,gmp)))
 | 
					       ("gmp" ,gmp)))
 | 
				
			||||||
    (home-page "http://xonotic.org")
 | 
					    (home-page "https://xonotic.org")
 | 
				
			||||||
    (synopsis "Fast-paced first-person shooter game")
 | 
					    (synopsis "Fast-paced first-person shooter game")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "Xonotic is a free, fast-paced first-person shooter.
 | 
					     "Xonotic is a free, fast-paced first-person shooter.
 | 
				
			||||||
| 
						 | 
					@ -6759,7 +6845,7 @@ when packaged in Blorb container files or optionally from individual files.")
 | 
				
			||||||
(define-public libmanette
 | 
					(define-public libmanette
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libmanette")
 | 
					    (name "libmanette")
 | 
				
			||||||
    (version "0.2.3")
 | 
					    (version "0.2.4")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://gnome/sources/libmanette/"
 | 
					              (uri (string-append "mirror://gnome/sources/libmanette/"
 | 
				
			||||||
| 
						 | 
					@ -6767,7 +6853,7 @@ when packaged in Blorb container files or optionally from individual files.")
 | 
				
			||||||
                                  "libmanette-" version ".tar.xz"))
 | 
					                                  "libmanette-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1zxh7jn2zg7hivmal5zxam6fxvjsd1w6hlw0m2kysk76b8anbw60"))))
 | 
					                "1xrc6rh73v5w3kbkflzv1yg8sbxk4wf06hfk95raxhxlssza9q2g"))))
 | 
				
			||||||
    (build-system meson-build-system)
 | 
					    (build-system meson-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     `(("glib" ,glib "bin")             ; for glib-compile-resources
 | 
					     `(("glib" ,glib "bin")             ; for glib-compile-resources
 | 
				
			||||||
| 
						 | 
					@ -7282,7 +7368,7 @@ where the player draws runes in real time to effect the desired spell.")
 | 
				
			||||||
(define-public edgar
 | 
					(define-public edgar
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "edgar")
 | 
					    (name "edgar")
 | 
				
			||||||
    (version "1.32")
 | 
					    (version "1.33")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -7290,7 +7376,7 @@ where the player draws runes in real time to effect the desired spell.")
 | 
				
			||||||
        (string-append "https://github.com/riksweeney/edgar/releases/download/"
 | 
					        (string-append "https://github.com/riksweeney/edgar/releases/download/"
 | 
				
			||||||
                       version "/edgar-" version "-1.tar.gz"))
 | 
					                       version "/edgar-" version "-1.tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "12lam6qcscc5ima1w2ksd1cvsvxbd17h6mqkgsqpzx8ap43p2r5p"))))
 | 
					        (base32 "1mbx7dvizdca4g1blcv3bdh6yxd13k47rkya4rdzg0nvvz24m175"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments '(#:tests? #f            ; there are no tests
 | 
					    (arguments '(#:tests? #f            ; there are no tests
 | 
				
			||||||
                 #:make-flags
 | 
					                 #:make-flags
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,6 +3,7 @@
 | 
				
			||||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 | 
					;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 | 
				
			||||||
;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 | 
					;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -93,7 +94,6 @@
 | 
				
			||||||
       ("ncurses" ,ncurses)
 | 
					       ("ncurses" ,ncurses)
 | 
				
			||||||
       ("guile" ,guile-2.0)
 | 
					       ("guile" ,guile-2.0)
 | 
				
			||||||
       ("python-wrapper" ,python-wrapper)
 | 
					       ("python-wrapper" ,python-wrapper)
 | 
				
			||||||
       ("dejagnu" ,dejagnu)
 | 
					 | 
				
			||||||
       ("source-highlight" ,source-highlight)
 | 
					       ("source-highlight" ,source-highlight)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
       ;; Allow use of XML-formatted syscall information.  This enables 'catch
 | 
					       ;; Allow use of XML-formatted syscall information.  This enables 'catch
 | 
				
			||||||
| 
						 | 
					@ -101,6 +101,7 @@
 | 
				
			||||||
       ("libxml2" ,libxml2)))
 | 
					       ("libxml2" ,libxml2)))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
      `(("texinfo" ,texinfo)
 | 
					      `(("texinfo" ,texinfo)
 | 
				
			||||||
 | 
					        ("dejagnu" ,dejagnu)
 | 
				
			||||||
        ("pkg-config" ,pkg-config)))
 | 
					        ("pkg-config" ,pkg-config)))
 | 
				
			||||||
    (home-page "https://www.gnu.org/software/gdb/")
 | 
					    (home-page "https://www.gnu.org/software/gdb/")
 | 
				
			||||||
    (synopsis "The GNU debugger")
 | 
					    (synopsis "The GNU debugger")
 | 
				
			||||||
| 
						 | 
					@ -130,3 +131,15 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
 | 
				
			||||||
  ;; This is the fixed version that packages depend on.  Update it rarely
 | 
					  ;; This is the fixed version that packages depend on.  Update it rarely
 | 
				
			||||||
  ;; enough to avoid massive rebuilds.
 | 
					  ;; enough to avoid massive rebuilds.
 | 
				
			||||||
  gdb-9.1)
 | 
					  gdb-9.1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public gdb-9.2
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (inherit gdb)
 | 
				
			||||||
 | 
					    (version "9.2")
 | 
				
			||||||
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (method url-fetch)
 | 
				
			||||||
 | 
					              (uri (string-append "mirror://gnu/gdb/gdb-"
 | 
				
			||||||
 | 
					                                  version ".tar.xz"))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "0mf5fn8v937qwnal4ykn3ji1y2sxk0fa1yfqi679hxmpg6pdf31n"))))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,7 +7,7 @@
 | 
				
			||||||
;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
 | 
					;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
 | 
				
			||||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
					;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 | 
				
			||||||
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
 | 
					;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
 | 
				
			||||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
					;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | 
				
			||||||
;;; Copyright © 2019 Miguel <rosen644835@gmail.com>
 | 
					;;; Copyright © 2019 Miguel <rosen644835@gmail.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
| 
						 | 
					@ -148,8 +148,14 @@ translated messages from the catalogs.  Nearly all GNU packages use Gettext.")
 | 
				
			||||||
(define-public libtextstyle
 | 
					(define-public libtextstyle
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libtextstyle")
 | 
					    (name "libtextstyle")
 | 
				
			||||||
    (version (package-version gettext-minimal))
 | 
					    (version "0.20.2")
 | 
				
			||||||
    (source (package-source gettext-minimal))
 | 
					    (source (origin
 | 
				
			||||||
 | 
					              (inherit (package-source gnu-gettext))
 | 
				
			||||||
 | 
					              (uri (string-append "mirror://gnu/gettext/gettext-"
 | 
				
			||||||
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
 | 
					              (sha256
 | 
				
			||||||
 | 
					               (base32
 | 
				
			||||||
 | 
					                "1wc9q3y8rsbd757v985vxqcyqsxs7cxk4x7rzsjmq7d4ij8d1fgc"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:configure-flags '("--disable-static")
 | 
					     '(#:configure-flags '("--disable-static")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,7 +51,7 @@
 | 
				
			||||||
(define-public babl
 | 
					(define-public babl
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "babl")
 | 
					    (name "babl")
 | 
				
			||||||
    (version "0.1.74")
 | 
					    (version "0.1.78")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (list (string-append "https://download.gimp.org/pub/babl/"
 | 
					              (uri (list (string-append "https://download.gimp.org/pub/babl/"
 | 
				
			||||||
| 
						 | 
					@ -65,7 +65,7 @@
 | 
				
			||||||
                                        "/babl-" version ".tar.xz")))
 | 
					                                        "/babl-" version ".tar.xz")))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "03nfcvy3453xkfvsfcnsfcjf2vg2pin09qnr9jlssdysa1lhnwcs"))))
 | 
					                "0fjjfb0pbgimlqi7rk8cqz8pq595b7gw8nrpkxfmixdz6cv4km8p"))))
 | 
				
			||||||
    (build-system meson-build-system)
 | 
					    (build-system meson-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags
 | 
					     `(#:configure-flags
 | 
				
			||||||
| 
						 | 
					@ -90,7 +90,7 @@ provided, as well as a framework to add new color models and data types.")
 | 
				
			||||||
(define-public gegl
 | 
					(define-public gegl
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "gegl")
 | 
					    (name "gegl")
 | 
				
			||||||
    (version "0.4.22")
 | 
					    (version "0.4.24")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (list (string-append "https://download.gimp.org/pub/gegl/"
 | 
					              (uri (list (string-append "https://download.gimp.org/pub/gegl/"
 | 
				
			||||||
| 
						 | 
					@ -104,7 +104,7 @@ provided, as well as a framework to add new color models and data types.")
 | 
				
			||||||
                                        "/gegl-" version ".tar.xz")))
 | 
					                                        "/gegl-" version ".tar.xz")))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0q9cckf90fb82qc5d496fjz459f1xw4j4p3rff1f57yivx0yr20q"))))
 | 
					                "0ji57s7cba94vzy49agn7x47ca61rccm6rif0cb0s6rl4ygljrbp"))))
 | 
				
			||||||
    (build-system meson-build-system)
 | 
					    (build-system meson-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags
 | 
					     `(#:configure-flags
 | 
				
			||||||
| 
						 | 
					@ -135,7 +135,7 @@ buffers.")
 | 
				
			||||||
(define-public gimp
 | 
					(define-public gimp
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "gimp")
 | 
					    (name "gimp")
 | 
				
			||||||
    (version "2.10.18")
 | 
					    (version "2.10.20")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://download.gimp.org/pub/gimp/v"
 | 
					              (uri (string-append "https://download.gimp.org/pub/gimp/v"
 | 
				
			||||||
| 
						 | 
					@ -143,7 +143,7 @@ buffers.")
 | 
				
			||||||
                                  "/gimp-" version ".tar.bz2"))
 | 
					                                  "/gimp-" version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "05np26g61fyr72s7qjfrcck8v57r0yswq5ihvqyzvgzfx08y3gv5"))))
 | 
					                "0g3vzh1bjffqx94mfghmwvkhncv71cgah2mnfx17q00s9f3rybz1"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (outputs '("out"
 | 
					    (outputs '("out"
 | 
				
			||||||
               "doc"))                            ; 9 MiB of gtk-doc HTML
 | 
					               "doc"))                            ; 9 MiB of gtk-doc HTML
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
Some files were not shown because too many files have changed in this diff Show more
		Reference in a new issue