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 '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 'container-excursion 'scheme-indent-function 1)) | ||||
|  | @ -96,6 +100,10 @@ | |||
| 
 | ||||
|    (eval . (put 'call-with-progress-reporter 'scheme-indent-function 1)) | ||||
|    (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 | ||||
|    ;; 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 Leo Famulari <leo@famulari.name> | ||||
| # 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 © 2018 Nikita <nikita@n0.is> | ||||
| # Copyright © 2018 Julien Lepiller <julien@lepiller.eu> | ||||
|  | @ -104,6 +104,7 @@ MODULES =					\ | |||
|   guix/lint.scm				\ | ||||
|   guix/glob.scm					\ | ||||
|   guix/git.scm					\ | ||||
|   guix/git-authenticate.scm			\ | ||||
|   guix/graph.scm				\ | ||||
|   guix/cache.scm				\ | ||||
|   guix/cve.scm					\ | ||||
|  | @ -318,7 +319,8 @@ MODULES += $(STORE_MODULES) | |||
| dist_noinst_DATA =				\ | ||||
|   guix/tests.scm				\ | ||||
|   guix/tests/http.scm				\ | ||||
|   guix/tests/git.scm | ||||
|   guix/tests/git.scm				\ | ||||
|   guix/tests/gnupg.scm | ||||
| 
 | ||||
| # Auxiliary files for packages. | ||||
| AUX_FILES =						\ | ||||
|  | @ -346,6 +348,7 @@ AUX_FILES =						\ | |||
| EXAMPLES =					\ | ||||
|   gnu/system/examples/asus-c201.tmpl		\ | ||||
|   gnu/system/examples/bare-bones.tmpl		\ | ||||
|   gnu/system/examples/bare-hurd.tmpl		\ | ||||
|   gnu/system/examples/beaglebone-black.tmpl	\ | ||||
|   gnu/system/examples/desktop.tmpl		\ | ||||
|   gnu/system/examples/lightweight-desktop.tmpl	\ | ||||
|  | @ -403,6 +406,7 @@ SCM_TESTS =					\ | |||
|   tests/gem.scm				\ | ||||
|   tests/gexp.scm				\ | ||||
|   tests/git.scm					\ | ||||
|   tests/git-authenticate.scm			\ | ||||
|   tests/glob.scm				\ | ||||
|   tests/gnu-maintenance.scm			\ | ||||
|   tests/grafts.scm				\ | ||||
|  | @ -557,6 +561,7 @@ EXTRA_DIST +=						\ | |||
|   build-aux/cuirass/guix-modular.scm			\ | ||||
|   build-aux/cuirass/hydra-to-cuirass.scm		\ | ||||
|   build-aux/check-final-inputs-self-contained.scm	\ | ||||
|   build-aux/check-channel-news.scm			\ | ||||
|   build-aux/compile-as-derivation.scm			\ | ||||
|   build-aux/generate-authors.scm			\ | ||||
|   build-aux/git-authenticate.scm			\ | ||||
|  | @ -574,6 +579,8 @@ EXTRA_DIST +=						\ | |||
|   tests/dsa.key						\ | ||||
|   tests/ed25519.key					\ | ||||
|   tests/ed25519.sec					\ | ||||
|   tests/ed25519bis.key					\ | ||||
|   tests/ed25519bis.sec					\ | ||||
|   build-aux/config.rpath				\ | ||||
|   bootstrap						\ | ||||
|   doc/build.scm						\ | ||||
|  | @ -626,17 +633,17 @@ $(guix_install_go_files): install-nobase_dist_guilemoduleDATA | |||
| install-data-hook: | ||||
| 	touch "$(DESTDIR)$(guileobjectdir)/guix/config.go" | ||||
| 
 | ||||
| # Commit corresponding to the 'v1.0.1' tag. | ||||
| commit_v1_0_1 = d68de958b60426798ed62797ff7c96c327a672ac | ||||
| # Commit corresponding to the 'v1.0.0' tag. | ||||
| commit_v1_0_0 = 6298c3ffd9654d3231a6f25390b056483e8f407c | ||||
| 
 | ||||
| # Authenticate the current Git checkout by checking signatures on every commit | ||||
| # starting from $(commit_v1_0_1). | ||||
| authenticate: | ||||
| # starting from $(commit_v1_0_0). | ||||
| authenticate: guix/openpgp.go guix/git-authenticate.go guix/git.go | ||||
| 	$(AM_V_at)echo "Authenticating Git checkout..." ;	\ | ||||
| 	"$(top_builddir)/pre-inst-env" $(GUILE)			\ | ||||
| 	  --no-auto-compile -e git-authenticate			\ | ||||
| 	  "$(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 | ||||
| # 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)"			\ | ||||
| 	  "$(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. | ||||
| hydra-jobs.scm: $(GOBJECTS) | ||||
| 	$(AM_V_at)$(MKDIR_P) "`dirname "$@"`" | ||||
|  | @ -904,7 +916,7 @@ cuirass-jobs.scm: $(GOBJECTS) | |||
| 
 | ||||
| .PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version | ||||
| .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: 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 | ||||
| 
 | ||||
| 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]] | ||||
|   - [[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]] | ||||
|   info -f doc/guix.info "Requirements" | ||||
| 
 | ||||
| Unless `--disable-daemon' was passed, the following packages are needed: | ||||
| 
 | ||||
|   - [[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]] | ||||
| or by checking the [[https://guix.gnu.org/manual/en/html_node/Requirements.html][web copy of the manual]]. | ||||
| 
 | ||||
| * Installation | ||||
| 
 | ||||
|  | @ -46,7 +31,7 @@ See the manual for the installation instructions, either by running | |||
| 
 | ||||
|   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 | ||||
| "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) | ||||
|              (guix git) | ||||
|              (guix openpgp) | ||||
|              (guix base16) | ||||
|              ((guix utils) | ||||
|               #:select (cache-directory with-atomic-file-output)) | ||||
|              ((guix build utils) #:select (mkdir-p)) | ||||
|              (guix git) | ||||
|              (guix git-authenticate) | ||||
|              (guix i18n) | ||||
|              ((guix openpgp) | ||||
|               #:select (openpgp-public-key-fingerprint | ||||
|                         openpgp-format-fingerprint)) | ||||
|              (guix progress) | ||||
|              (srfi srfi-1) | ||||
|              (srfi srfi-11) | ||||
|              (srfi srfi-26) | ||||
|              (srfi srfi-34) | ||||
|              (srfi srfi-35) | ||||
|              (rnrs bytevectors) | ||||
|              (rnrs io ports) | ||||
|              (ice-9 match) | ||||
|              (ice-9 format) | ||||
|              (ice-9 pretty-print)) | ||||
| 
 | ||||
|  | ||||
| (define %committers | ||||
|   ;; List of committers.  These are the user names found on | ||||
| (define %historical-committers | ||||
|   ;; 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 | ||||
|   ;; the fingerprint of the signing (sub)key. | ||||
|   ;; | ||||
|   ;; TODO: Replace this statically-defined list by an in-repo list. | ||||
|   '(("andreas" | ||||
|      "AD17 A21E F8AE D8F1 CC02  DBD9 F7D5 C9BF 765C 61E3") | ||||
|     ("ajgrf" | ||||
|  | @ -214,13 +210,13 @@ | |||
|     ("wingo" | ||||
|      "FF47 8FB2 64DE 32EC 2967  25A3 DDC0 F535 8812 F8F2"))) | ||||
| 
 | ||||
| (define %authorized-signing-keys | ||||
|   ;; Fingerprint of authorized signing keys. | ||||
| (define %historical-authorized-signing-keys | ||||
|   ;; Fingerprint of historically authorized signing keys. | ||||
|   (map (match-lambda | ||||
|          ((name fingerprint) | ||||
|           (base16-string->bytevector | ||||
|            (string-downcase (string-filter char-set:graphic fingerprint))))) | ||||
|        %committers)) | ||||
|        %historical-committers)) | ||||
| 
 | ||||
| (define %commits-with-bad-signature | ||||
|   ;; Commits with a known-bad signature. | ||||
|  | @ -230,195 +226,9 @@ | |||
|   ;; 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 | ||||
|   (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. | ||||
|  | @ -461,6 +271,8 @@ COMMIT-ID is written to cache, though)." | |||
|        (let ((stats (call-with-progress-reporter reporter | ||||
|                       (lambda (report) | ||||
|                         (authenticate-commits repository commits | ||||
|                                               #:default-authorizations | ||||
|                                               %historical-authorized-signing-keys | ||||
|                                               #:report-progress report))))) | ||||
|          (cache-authenticated-commit (oid->string (commit-id end-commit))) | ||||
| 
 | ||||
|  |  | |||
|  | @ -112,7 +112,8 @@ COMMIT." | |||
|                                       #:select? version-controlled?)) | ||||
|               (hash     (query-path-hash store source)) | ||||
|               (location (package-definition-location)) | ||||
|               (old-hash (origin-sha256 (package-source guix)))) | ||||
|               (old-hash (content-hash-value | ||||
|                           (origin-hash (package-source guix))))) | ||||
|          (edit-expression location | ||||
|                           (update-definition commit 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.]) | ||||
| fi | ||||
| 
 | ||||
| GUILE_MODULE_AVAILABLE([have_guile_gcrypt], [(gcrypt hash)]) | ||||
| if test "x$have_guile_gcrypt" != "xyes"; then | ||||
|   AC_MSG_ERROR([Guile-Gcrypt could not be found; please install it.]) | ||||
| GUIX_CHECK_GUILE_GCRYPT | ||||
| if test "x$guix_cv_have_recent_guile_gcrypt" != "xyes"; then | ||||
|   AC_MSG_ERROR([A recent Guile-Gcrypt could not be found; please install it.]) | ||||
| fi | ||||
| 
 | ||||
| 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") | ||||
|                             version version)))))) | ||||
| 
 | ||||
|           (install-file #$(file-append* documentation "/htmlxref.cnf") | ||||
|           (install-file #$(file-append documentation "/htmlxref.cnf") | ||||
|                         #$output) | ||||
| 
 | ||||
|           (for-each (lambda (texi) | ||||
|  | @ -182,30 +182,27 @@ content=\"width=device-width, initial-scale=1\" />")) | |||
|   ;; Guile-Lib with a hotfix for (htmlprag). | ||||
|   (package | ||||
|     (inherit guile-lib) | ||||
|     (source (origin | ||||
|               (inherit (package-source guile-lib)) | ||||
|               (modules '(( guix build utils))) | ||||
|               (snippet | ||||
|                '(begin | ||||
|                   ;; When parsing | ||||
|                   ;; "<body><blockquote><p>foo</p>\n</blockquote></body>", | ||||
|                   ;; 'html->shtml' would mistakenly close 'blockquote' right | ||||
|                   ;; before <p>.  This patch removes 'p' from the | ||||
|                   ;; 'parent-constraints' alist to fix that. | ||||
|                   (substitute* "src/htmlprag.scm" | ||||
|                     (("^[[:blank:]]*\\(p[[:blank:]]+\\. \\(body td th\\)\\).*") | ||||
|                      "")) | ||||
|                   #t)))) | ||||
|     (arguments | ||||
|      (substitute-keyword-arguments (package-arguments guile-lib) | ||||
|        ((#:phases phases '%standard-phases) | ||||
|         `(modify-phases ,phases | ||||
|           (add-before 'check 'skip-known-failure | ||||
|             (lambda _ | ||||
|               ;; XXX: The above change causes one test failure among | ||||
|               ;; the htmlprag tests. | ||||
|               (setenv "XFAIL_TESTS" "htmlprag.scm") | ||||
|               #t)))))))) | ||||
|            (add-before 'build 'fix-htmlprag | ||||
|              (lambda _ | ||||
|                ;; When parsing | ||||
|                ;; "<body><blockquote><p>foo</p>\n</blockquote></body>", | ||||
|                ;; 'html->shtml' would mistakenly close 'blockquote' right | ||||
|                ;; before <p>.  This patch removes 'p' from the | ||||
|                ;; 'parent-constraints' alist to fix that. | ||||
|                (substitute* "src/htmlprag.scm" | ||||
|                  (("^[[:blank:]]*\\(p[[:blank:]]+\\. \\(body td th\\)\\).*") | ||||
|                   "")) | ||||
|                #t)) | ||||
|            (add-before 'check 'skip-known-failure | ||||
|              (lambda _ | ||||
|                ;; XXX: The above change causes one test failure among | ||||
|                ;; the htmlprag tests. | ||||
|                (setenv "XFAIL_TESTS" "htmlprag.scm") | ||||
|                #t)))))))) | ||||
| 
 | ||||
| (define* (syntax-highlighted-html input | ||||
|                                   #:key | ||||
|  |  | |||
|  | @ -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 | ||||
| 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 | ||||
| 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 | ||||
| definition may look like this: | ||||
| 
 | ||||
|  | @ -938,7 +938,7 @@ your @code{operating-system} configuration: | |||
| @lisp | ||||
| (service qemu-binfmt-service-type | ||||
|  (qemu-binfmt-configuration | ||||
|    (platforms (lookup-qemu-platforms "arm" "aarch64" "mips64el")) | ||||
|    (platforms (lookup-qemu-platforms "arm" "aarch64")) | ||||
|    (guix-support? #t))) | ||||
| @end lisp | ||||
| 
 | ||||
|  | @ -951,7 +951,6 @@ commands, respectively: | |||
| @example | ||||
| guix build --system=armhf-linux --rounds=2 hello | ||||
| guix build --system=aarch64-linux --rounds=2 hello | ||||
| guix build --system=mips64el-linux --rounds=2 hello | ||||
| @end example | ||||
| 
 | ||||
| @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 | ||||
| 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 | ||||
| leave time for a review, without committing anything (@pxref{Submitting | ||||
| 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 Matthew Brooks@* | ||||
| Copyright @copyright{} 2020 Marcin Karpezo@* | ||||
| Copyright @copyright{} 2020 Brice Waegeneire@* | ||||
| 
 | ||||
| Permission is granted to copy, distribute and/or modify this document | ||||
| under the terms of the GNU Free Documentation License, Version 1.3 or | ||||
|  | @ -327,7 +328,7 @@ package definitions. | |||
| @item | ||||
| Inheritance makes it easy to customize a package by inheriting from it and | ||||
| modifying only what is needed. | ||||
|   | ||||
| 
 | ||||
| @item | ||||
| Batch processing: the whole package collection can be parsed, filtered and | ||||
| processed.  Building a headless server with all graphical interfaces stripped | ||||
|  | @ -1323,8 +1324,10 @@ reference. | |||
| 
 | ||||
| @menu | ||||
| * 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. | ||||
| * 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 | ||||
| 
 | ||||
| @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 | ||||
| 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 | ||||
| @section Customizing a Window Manager | ||||
| @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)) | ||||
| @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 | ||||
| @section Setting up a bind mount | ||||
| 
 | ||||
|  | @ -1666,6 +1787,62 @@ mount itself. | |||
|                 )) | ||||
| @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 ********************************************************************* | ||||
| @node 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/coreutils-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/shepherd-graph.dot | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| # 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. | ||||
| # | ||||
|  | @ -115,6 +115,24 @@ _guix_is_dash_m () | |||
| 	     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 () | ||||
| { | ||||
|     # Let Readline complete file names. | ||||
|  | @ -130,6 +148,17 @@ _guix_complete_pid () | |||
| 
 | ||||
| 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 () | ||||
| { | ||||
|     local word_count=${#COMP_WORDS[*]} | ||||
|  | @ -147,13 +176,7 @@ _guix_complete () | |||
| 
 | ||||
|     case $COMP_CWORD in | ||||
| 	1) | ||||
| 	    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_subcommand | ||||
| 	    ;; | ||||
| 	*) | ||||
| 	    if _guix_is_command "package" | ||||
|  | @ -169,13 +192,28 @@ _guix_complete () | |||
| 		fi | ||||
| 	    elif _guix_is_command "install" | ||||
| 	    then | ||||
| 		_guix_complete_available_package "$word_at_point" | ||||
|                 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" | ||||
| 		fi | ||||
| 	    elif _guix_is_command "remove" | ||||
| 	    then | ||||
| 		_guix_complete_installed_package "$word_at_point" | ||||
|                 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" | ||||
| 		fi | ||||
| 	    elif _guix_is_command "upgrade" | ||||
| 	    then | ||||
| 		_guix_complete_installed_package "$word_at_point" | ||||
|                 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" | ||||
| 		fi | ||||
|             elif _guix_is_command "build" | ||||
|             then | ||||
|                 if _guix_is_dash_L || _guix_is_dash_m | ||||
|  | @ -193,6 +231,20 @@ _guix_complete () | |||
| 		    2) _guix_complete_subcommand;; | ||||
| 		    *) _guix_complete_file;; # TODO: restrict to *.scm | ||||
| 		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" | ||||
| 	    then | ||||
| 		case $COMP_CWORD in | ||||
|  |  | |||
|  | @ -1,7 +1,8 @@ | |||
| #!/bin/sh | ||||
| 
 | ||||
| # 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 | ||||
| # 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> | ||||
| 
 | ||||
| z40=0000000000000000000000000000000000000000 | ||||
| 
 | ||||
| # Only use the hook when pushing to Savannah. | ||||
| case "$2" in | ||||
| *git.sv.gnu.org*) | ||||
| 	break | ||||
|     *.gnu.org*) | ||||
| 	exec make authenticate check-channel-news | ||||
| 	exit 127 | ||||
| 	;; | ||||
| *) | ||||
|     *) | ||||
| 	exit 0 | ||||
| 	;; | ||||
| 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" | ||||
|     "tail" | ||||
|     "tr" | ||||
|     "xz" | ||||
| ) | ||||
| 
 | ||||
| PAS=$'[ \033[32;1mPASS\033[0m ] ' | ||||
|  | @ -141,7 +142,7 @@ chk_init_sys() | |||
|         _msg "${INF}init system is: upstart" | ||||
|         INIT_SYS="upstart" | ||||
|         return 0 | ||||
|     elif [[ $(systemctl) =~ -\.mount ]]; then | ||||
|     elif [[ $(systemctl 2>/dev/null) =~ -\.mount ]]; then | ||||
|         _msg "${INF}init system is: systemd" | ||||
|         INIT_SYS="systemd" | ||||
|         return 0 | ||||
|  |  | |||
							
								
								
									
										30
									
								
								etc/news.scm
									
										
									
									
									
								
							
							
						
						
									
										30
									
								
								etc/news.scm
									
										
									
									
									
								
							|  | @ -1,8 +1,10 @@ | |||
| ;; GNU Guix news, for use by 'guix pull'. | ||||
| ;; | ||||
| ;; 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 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 | ||||
| ;; permitted in any medium without royalty provided the copyright notice and | ||||
|  | @ -11,6 +13,34 @@ | |||
| (channel-news | ||||
|  (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") | ||||
|         (title (en "@command{guix pack -RR} introduces a new execution | ||||
| engine") | ||||
|  |  | |||
|  | @ -1,8 +1,9 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; 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 © 2019 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -33,6 +34,9 @@ | |||
|             menu-entry-linux-arguments | ||||
|             menu-entry-initrd | ||||
|             menu-entry-device-mount-point | ||||
|             menu-entry-multiboot-kernel | ||||
|             menu-entry-multiboot-arguments | ||||
|             menu-entry-multiboot-modules | ||||
| 
 | ||||
|             menu-entry->sexp | ||||
|             sexp->menu-entry | ||||
|  | @ -42,6 +46,7 @@ | |||
|             bootloader-name | ||||
|             bootloader-package | ||||
|             bootloader-installer | ||||
|             bootloader-disk-image-installer | ||||
|             bootloader-configuration-file | ||||
|             bootloader-configuration-file-generator | ||||
| 
 | ||||
|  | @ -76,22 +81,41 @@ | |||
|                    (default #f)) | ||||
|   (device-mount-point menu-entry-device-mount-point | ||||
|                    (default #f)) | ||||
|   (linux           menu-entry-linux) | ||||
|   (linux           menu-entry-linux | ||||
|                    (default #f)) | ||||
|   (linux-arguments menu-entry-linux-arguments | ||||
|                    (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) | ||||
|   "Return ENTRY serialized as an sexp." | ||||
|   (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) | ||||
|                   (label ,label) | ||||
|                   (device ,device) | ||||
|                   (device-mount-point ,mount-point) | ||||
|                   (linux ,linux) | ||||
|                   (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) | ||||
|   "Turn SEXP, an sexp as returned by 'menu-entry->sexp', into a <menu-entry> | ||||
|  | @ -108,7 +132,20 @@ record." | |||
|       (device-mount-point mount-point) | ||||
|       (linux linux) | ||||
|       (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) | ||||
|   (package                         bootloader-package) | ||||
|   (installer                       bootloader-installer) | ||||
|   (disk-image-installer            bootloader-disk-image-installer | ||||
|                                    (default #f)) | ||||
|   (configuration-file              bootloader-configuration-file) | ||||
|   (configuration-file-generator    bootloader-configuration-file-generator)) | ||||
| 
 | ||||
|  |  | |||
|  | @ -82,7 +82,8 @@ | |||
| (define* (depthcharge-configuration-file config entries | ||||
|                                          #:key | ||||
|                                          (system (%current-system)) | ||||
|                                          (old-entries '())) | ||||
|                                          (old-entries '()) | ||||
|                                          #:allow-other-keys) | ||||
|   (match entries | ||||
|     ((entry) | ||||
|      (let ((kernel (menu-entry-linux entry)) | ||||
|  |  | |||
|  | @ -28,7 +28,8 @@ | |||
| (define* (extlinux-configuration-file config entries | ||||
|                                       #:key | ||||
|                                       (system (%current-system)) | ||||
|                                       (old-entries '())) | ||||
|                                       (old-entries '()) | ||||
|                                       #:allow-other-keys) | ||||
|   "Return the U-Boot configuration file corresponding to CONFIG, 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 | ||||
|  |  | |||
|  | @ -2,9 +2,10 @@ | |||
| ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> | ||||
| ;;; 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 © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2020 Stefan <stefan-guix@vodafonemail.de> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -37,19 +38,13 @@ | |||
|   #:use-module (ice-9 regex) | ||||
|   #:use-module (srfi srfi-1) | ||||
|   #:use-module (srfi srfi-2) | ||||
|   #:export (grub-image | ||||
|             grub-image? | ||||
|             grub-image-aspect-ratio | ||||
|             grub-image-file | ||||
| 
 | ||||
|             grub-theme | ||||
|   #:export (grub-theme | ||||
|             grub-theme? | ||||
|             grub-theme-images | ||||
|             grub-theme-image | ||||
|             grub-theme-resolution | ||||
|             grub-theme-color-normal | ||||
|             grub-theme-color-highlight | ||||
| 
 | ||||
|             %background-image | ||||
|             %default-theme | ||||
|             grub-theme-gfxmode | ||||
| 
 | ||||
|             grub-bootloader | ||||
|             grub-efi-bootloader | ||||
|  | @ -64,119 +59,102 @@ | |||
| ;;; | ||||
| ;;; Code: | ||||
| 
 | ||||
| (define (strip-mount-point mount-point file) | ||||
|   "Strip MOUNT-POINT from FILE, which is a gexp or other lowerable object | ||||
| denoting a file name." | ||||
|   (match mount-point | ||||
|     ((? string? mount-point) | ||||
|      (if (string=? mount-point "/") | ||||
|          file | ||||
|          #~(let ((file #$file)) | ||||
|              (if (string-prefix? #$mount-point file) | ||||
|                  (substring #$file #$(string-length mount-point)) | ||||
|                  file)))) | ||||
|     (#f file))) | ||||
| (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) | ||||
|     (if mount-point | ||||
|         (if (string=? mount-point "/") | ||||
|             file | ||||
|             #~(let ((file #$file)) | ||||
|                 (if (string-prefix? #$mount-point file) | ||||
|                     (substring #$file #$(string-length mount-point)) | ||||
|                     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> | ||||
|   ;; Default theme contributed by Felipe López. | ||||
|   grub-theme make-grub-theme | ||||
|   grub-theme? | ||||
|   (images          grub-theme-images | ||||
|                    (default '()))                 ;list of <grub-image> | ||||
|   (image           grub-theme-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 | ||||
|                    (default '((fg . cyan) (bg . blue)))) | ||||
|                    (default '((fg . light-gray) (bg . black)))) | ||||
|   (color-highlight grub-theme-color-highlight | ||||
|                    (default '((fg . white) (bg . blue)))) | ||||
|   (gfxmode         grub-gfxmode | ||||
|                    (default '((fg . yellow) (bg . black)))) | ||||
|   (gfxmode         grub-theme-gfxmode | ||||
|                    (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. | ||||
| ;;; | ||||
| 
 | ||||
| (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." | ||||
|   (or (bootloader-configuration-theme config) %default-theme)) | ||||
|   (or (bootloader-configuration-theme config) (grub-theme))) | ||||
| 
 | ||||
| (define* (svg->png svg #:key width height) | ||||
|   "Build a PNG of HEIGHT x WIDTH from SVG." | ||||
| (define* (image->png image #:key width height) | ||||
|   "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" | ||||
|                  (with-imported-modules '((gnu build svg)) | ||||
|                    (with-extensions (list guile-rsvg guile-cairo) | ||||
|                      #~(begin | ||||
|                          (use-modules (gnu build svg)) | ||||
|                          (svg->png #+svg #$output | ||||
|                                    #:width #$width | ||||
|                                    #:height #$height)))))) | ||||
|                      #~(if (string-suffix? ".svg" #+image) | ||||
|                            (begin | ||||
|                              (use-modules (gnu build svg)) | ||||
|                              (svg->png #+image #$output | ||||
|                                        #:width #$width | ||||
|                                        #:height #$height)) | ||||
|                            (copy-file #+image #$output)))))) | ||||
| 
 | ||||
| (define* (grub-background-image config #:key (width 1024) (height 768)) | ||||
|   "Return the GRUB background image defined in CONFIG with a ratio of | ||||
| WIDTH/HEIGHT, or #f if none was found." | ||||
|   (let* ((ratio (/ width height)) | ||||
|          (image (find (lambda (image) | ||||
|                         (= (grub-image-aspect-ratio image) ratio)) | ||||
|                       (grub-theme-images | ||||
|                        (bootloader-theme config))))) | ||||
| (define* (grub-background-image config) | ||||
|   "Return the GRUB background image defined in CONFIG or #f if none was found. | ||||
| If the suffix of the image file is \".svg\", then it is converted into a PNG | ||||
| file with the resolution provided in CONFIG." | ||||
|   (let* ((theme (bootloader-theme config)) | ||||
|          (image (grub-theme-image theme))) | ||||
|     (and image | ||||
|          (svg->png (grub-image-file image) | ||||
|                    #:width width #:height height)))) | ||||
|          (match (grub-theme-resolution theme) | ||||
|            (((? number? width) . (? number? height)) | ||||
|             (image->png image #:width width #:height height)) | ||||
|            (_ #f))))) | ||||
| 
 | ||||
| (define* (eye-candy config store-device store-mount-point | ||||
|                     #:key system port) | ||||
|   "Return a gexp that writes to PORT (a port-valued gexp) the | ||||
| 'grub.cfg' part concerned with graphics mode, background images, colors, and | ||||
| all that.  STORE-DEVICE designates the device holding the store, and | ||||
| STORE-MOUNT-POINT is its mount point; these are used to determine where the | ||||
| background image and fonts must be searched for.  SYSTEM must be the target | ||||
| system string---e.g., \"x86_64-linux\"." | ||||
|   (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) | ||||
|           ""))) | ||||
| 
 | ||||
|                     #:key store-directory-prefix port) | ||||
|   "Return a gexp that writes to PORT (a port-valued gexp) the 'grub.cfg' part | ||||
| concerned with graphics mode, background images, colors, and all that. | ||||
| STORE-DEVICE designates the device holding the store, and STORE-MOUNT-POINT is | ||||
| its mount point; these are used to determine where the background image and | ||||
| fonts must be searched for.  STORE-DIRECTORY-PREFIX is a directory prefix to | ||||
| prepend to any store file name." | ||||
|   (define (setup-gfxterm config font-file) | ||||
|     (if (memq 'gfxterm (bootloader-configuration-terminal-outputs config)) | ||||
|         #~(format #f "if loadfont ~a; then | ||||
|   setup_gfxterm | ||||
| fi~%" #+font-file) | ||||
|         #~(format #f " | ||||
| if loadfont ~a; then | ||||
|   set gfxmode=~a | ||||
|   insmod all_video | ||||
|   insmod gfxterm | ||||
| fi~%" | ||||
|                   #+font-file | ||||
|                   #$(string-join | ||||
|                      (grub-theme-gfxmode (bootloader-theme config)) | ||||
|                      ";")) | ||||
|         "")) | ||||
| 
 | ||||
|   (define (theme-colors type) | ||||
|  | @ -186,16 +164,17 @@ fi~%" #+font-file) | |||
|                      (symbol->string (assoc-ref colors 'bg))))) | ||||
| 
 | ||||
|   (define font-file | ||||
|     (strip-mount-point store-mount-point | ||||
|                        (file-append grub "/share/grub/unicode.pf2"))) | ||||
|     (normalize-file (file-append grub "/share/grub/unicode.pf2") | ||||
|                     store-mount-point | ||||
|                     store-directory-prefix)) | ||||
| 
 | ||||
|   (define image | ||||
|     (grub-background-image config)) | ||||
|     (normalize-file (grub-background-image config) | ||||
|                     store-mount-point | ||||
|                     store-directory-prefix)) | ||||
| 
 | ||||
|   (and image | ||||
|        #~(format #$port " | ||||
| function setup_gfxterm {~a} | ||||
| 
 | ||||
| # Set 'root' to the partition that contains /gnu/store. | ||||
| ~a | ||||
| 
 | ||||
|  | @ -210,12 +189,11 @@ else | |||
|   set menu_color_normal=cyan/blue | ||||
|   set menu_color_highlight=white/blue | ||||
| fi~%" | ||||
|                  #$setup-gfxterm-body | ||||
|                  #$(grub-root-search store-device font-file) | ||||
|                  #$(setup-gfxterm config font-file) | ||||
|                  #$(grub-setup-io config) | ||||
| 
 | ||||
|                  #$(strip-mount-point store-mount-point image) | ||||
|                  #$image | ||||
|                  #$(theme-colors grub-theme-color-normal) | ||||
|                  #$(theme-colors grub-theme-color-highlight)))) | ||||
| 
 | ||||
|  | @ -323,52 +301,84 @@ code." | |||
| (define* (grub-configuration-file config entries | ||||
|                                   #:key | ||||
|                                   (system (%current-system)) | ||||
|                                   (old-entries '())) | ||||
|                                   (old-entries '()) | ||||
|                                   store-directory-prefix) | ||||
|   "Return the GRUB configuration file corresponding to CONFIG, a | ||||
| <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 | ||||
| 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 | ||||
|     (append entries (bootloader-configuration-menu-entries config))) | ||||
|   (define (menu-entry->gexp entry) | ||||
|     (let ((device (menu-entry-device entry)) | ||||
|           (device-mount-point (menu-entry-device-mount-point entry)) | ||||
|           (label (menu-entry-label entry)) | ||||
|           (kernel (menu-entry-linux entry)) | ||||
|           (arguments (menu-entry-linux-arguments entry)) | ||||
|           (initrd (menu-entry-initrd entry))) | ||||
|       ;; Here DEVICE is the store and DEVICE-MOUNT-POINT is its mount point. | ||||
|       ;; Use the right file names for KERNEL and INITRD in case | ||||
|       ;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a | ||||
|       ;; separate partition. | ||||
|       (let ((kernel  (strip-mount-point device-mount-point kernel)) | ||||
|             (initrd  (strip-mount-point device-mount-point initrd))) | ||||
|         #~(format port "menuentry ~s { | ||||
|     (let ((label (menu-entry-label entry)) | ||||
|           (linux (menu-entry-linux entry)) | ||||
|           (device (menu-entry-device entry)) | ||||
|           (device-mount-point (menu-entry-device-mount-point entry))) | ||||
|       (if linux | ||||
|           (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. | ||||
|          ;; Use the right file names for LINUX and INITRD in case | ||||
|          ;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a | ||||
|          ;; separate partition. | ||||
| 
 | ||||
|          ;; 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 { | ||||
|   ~a | ||||
|   linux ~a ~a | ||||
|   initrd ~a | ||||
| }~%" | ||||
|                    #$label | ||||
|                    #$(grub-root-search device linux) | ||||
|                    #$linux (string-join (list #$@arguments)) | ||||
|                    #$initrd)) | ||||
|           (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 | ||||
|                   #$(grub-root-search device kernel) | ||||
|                   #$kernel (string-join (list #$@arguments)) | ||||
|                   #$initrd)))) | ||||
|   (define sugar | ||||
|     (eye-candy config | ||||
|                (menu-entry-device (first all-entries)) | ||||
|                (menu-entry-device-mount-point (first all-entries)) | ||||
|                #:system system | ||||
|                #:port #~port)) | ||||
|                   #$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 | ||||
|                  device | ||||
|                  mount-point | ||||
|                  #:store-directory-prefix store-directory-prefix | ||||
|                  #:port #~port))) | ||||
| 
 | ||||
|   (define keyboard-layout-config | ||||
|     (let ((layout (bootloader-configuration-keyboard-layout config)) | ||||
|           (grub   (bootloader-package | ||||
|                    (bootloader-configuration-bootloader config)))) | ||||
|       #~(let ((keymap #$(and layout | ||||
|                              (keyboard-layout-file layout #:grub grub)))) | ||||
|           (when keymap | ||||
|             (format port "\ | ||||
|     (let* ((layout (bootloader-configuration-keyboard-layout config)) | ||||
|            (grub   (bootloader-package | ||||
|                     (bootloader-configuration-bootloader config))) | ||||
|            (keymap* (and layout | ||||
|                          (keyboard-layout-file layout #:grub grub))) | ||||
|            (keymap (and keymap* | ||||
|                         (if store-directory-prefix | ||||
|                             #~(string-append #$store-directory-prefix | ||||
|                                              #$keymap*) | ||||
|                             keymap*)))) | ||||
|       #~(when #$keymap | ||||
|           (format port "\ | ||||
| insmod keylayouts | ||||
| keymap ~a~%" keymap))))) | ||||
| keymap ~a~%" #$keymap)))) | ||||
| 
 | ||||
|   (define builder | ||||
|     #~(call-with-output-file #$output | ||||
|  | @ -377,7 +387,7 @@ keymap ~a~%" keymap))))) | |||
|                   "# This file was generated from your Guix configuration.  Any changes | ||||
| # will be lost upon reconfiguration. | ||||
| ") | ||||
|           #$sugar | ||||
|           #$(sugar) | ||||
|           #$keyboard-layout-config | ||||
|           (format port " | ||||
| set default=~a | ||||
|  | @ -413,18 +423,65 @@ fi~%")))) | |||
| 
 | ||||
| (define install-grub | ||||
|   #~(lambda (bootloader device mount-point) | ||||
|       ;; Install GRUB on DEVICE which is mounted at MOUNT-POINT. | ||||
|       (let ((grub (string-append bootloader "/sbin/grub-install")) | ||||
|             (install-dir (string-append mount-point "/boot"))) | ||||
|         ;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or | ||||
|         ;; root partition. | ||||
|         (setenv "GRUB_ENABLE_CRYPTODISK" "y") | ||||
|         ;; Install GRUB on DEVICE which is mounted at MOUNT-POINT. If DEVICE | ||||
|         ;; 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") | ||||
| 
 | ||||
|         ;; Hide potentially confusing messages from the user, such as | ||||
|         ;; "Installing for i386-pc platform." | ||||
|         (invoke/quiet grub "--no-floppy" "--target=i386-pc" | ||||
|                       "--boot-directory" install-dir | ||||
|                       device)))) | ||||
|               ;; Hide potentially confusing messages from the user, such as | ||||
|               ;; "Installing for i386-pc platform." | ||||
|               (invoke/quiet grub "--no-floppy" "--target=i386-pc" | ||||
|                             "--boot-directory" install-dir | ||||
|                             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 | ||||
|   #~(lambda (bootloader efi-dir mount-point) | ||||
|  | @ -455,21 +512,20 @@ fi~%")))) | |||
|    (name 'grub) | ||||
|    (package grub) | ||||
|    (installer install-grub) | ||||
|    (disk-image-installer install-grub-disk-image) | ||||
|    (configuration-file "/boot/grub/grub.cfg") | ||||
|    (configuration-file-generator grub-configuration-file))) | ||||
| 
 | ||||
| (define grub-minimal-bootloader | ||||
| (define* grub-minimal-bootloader | ||||
|   (bootloader | ||||
|    (name 'grub) | ||||
|    (package grub-minimal) | ||||
|    (installer install-grub) | ||||
|    (configuration-file "/boot/grub/grub.cfg") | ||||
|    (configuration-file-generator grub-configuration-file))) | ||||
|    (inherit grub-bootloader) | ||||
|    (package grub-minimal))) | ||||
| 
 | ||||
| (define* grub-efi-bootloader | ||||
|   (bootloader | ||||
|    (inherit grub-bootloader) | ||||
|    (installer install-grub-efi) | ||||
|    (disk-image-installer #f) | ||||
|    (name 'grub-efi) | ||||
|    (package grub-efi))) | ||||
| 
 | ||||
|  |  | |||
|  | @ -320,7 +320,9 @@ improvement." | |||
| 
 | ||||
| (define (boot-time-system) | ||||
|   "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 | ||||
|           #:optional (system (or (getenv "GUIX_NEW_SYSTEM") | ||||
|  |  | |||
|  | @ -661,8 +661,10 @@ were found." | |||
| 
 | ||||
|   (match spec | ||||
|     ((? string?) | ||||
|      ;; Nothing to do, but wait until SPEC shows up. | ||||
|      (resolve identity spec identity)) | ||||
|      (if (string-contains spec ":/") | ||||
|          spec                  ; do not resolve NFS devices | ||||
|          ;; Nothing to do, but wait until SPEC shows up. | ||||
|          (resolve identity spec identity))) | ||||
|     ((? file-system-label?) | ||||
|      ;; Resolve the 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 | ||||
| <partition> record." | ||||
|   (match sexp | ||||
|     ((size file-system label uuid) | ||||
|     ((size file-system file-system-options label uuid) | ||||
|      (partition (size size) | ||||
|                 (file-system file-system) | ||||
|                 (file-system-options file-system-options) | ||||
|                 (label label) | ||||
|                 (uuid uuid))))) | ||||
| 
 | ||||
|  | @ -63,25 +64,30 @@ | |||
| take the partition metadata size into account, take a 25% margin." | ||||
|   (* 1.25 (file-size root))) | ||||
| 
 | ||||
| (define* (make-ext4-image partition target root | ||||
|                           #:key | ||||
|                           (owner-uid 0) | ||||
|                           (owner-gid 0)) | ||||
|   "Handle the creation of EXT4 partition images. See 'make-partition-image'." | ||||
| (define* (make-ext-image partition target root | ||||
|                          #:key | ||||
|                          (owner-uid 0) | ||||
|                          (owner-gid 0)) | ||||
|   "Handle the creation of EXT2/3/4 partition images. See | ||||
| 'make-partition-image'." | ||||
|   (let ((size (partition-size partition)) | ||||
|         (fs (partition-file-system partition)) | ||||
|         (fs-options (partition-file-system-options partition)) | ||||
|         (label (partition-label partition)) | ||||
|         (uuid (partition-uuid partition)) | ||||
|         (options "lazy_itable_init=1,lazy_journal_init=1")) | ||||
|     (invoke "mke2fs" "-t" "ext4" "-d" root | ||||
|             "-L" label "-U" (uuid->string uuid) | ||||
|             "-E" (format #f "root_owner=~a:~a,~a" | ||||
|                          owner-uid owner-gid options) | ||||
|             target | ||||
|             (format #f "~ak" | ||||
|                     (size-in-kib | ||||
|                      (if (eq? size 'guess) | ||||
|                          (estimate-partition-size root) | ||||
|                          size)))))) | ||||
|         (journal-options "lazy_itable_init=1,lazy_journal_init=1")) | ||||
|     (apply invoke | ||||
|            `("mke2fs" "-t" ,fs "-d" ,root | ||||
|              "-L" ,label "-U" ,(uuid->string uuid) | ||||
|              "-E" ,(format #f "root_owner=~a:~a,~a" | ||||
|                            owner-uid owner-gid journal-options) | ||||
|              ,@fs-options | ||||
|              ,target | ||||
|              ,(format #f "~ak" | ||||
|                       (size-in-kib | ||||
|                        (if (eq? size 'guess) | ||||
|                            (estimate-partition-size root) | ||||
|                            size))))))) | ||||
| 
 | ||||
| (define* (make-vfat-image partition target root) | ||||
|   "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)) | ||||
|          (type (partition-file-system partition))) | ||||
|     (cond | ||||
|      ((string=? type "ext4") | ||||
|       (make-ext4-image partition target root)) | ||||
|      ((string-prefix? "ext" type) | ||||
|       (make-ext-image partition target root)) | ||||
|      ((string=? type "vfat") | ||||
|       (make-vfat-image partition target root)) | ||||
|      (else | ||||
|  | @ -140,19 +146,22 @@ deduplicates files common to CLOSURE and the rest of PREFIX." | |||
| 
 | ||||
| (define* (initialize-efi-partition root | ||||
|                                    #:key | ||||
|                                    bootloader-package | ||||
|                                    grub-efi | ||||
|                                    #:allow-other-keys) | ||||
|   "Install in ROOT directory, an EFI loader using BOOTLOADER-PACKAGE." | ||||
|   (install-efi-loader bootloader-package root)) | ||||
|   "Install in ROOT directory, an EFI loader using GRUB-EFI." | ||||
|   (install-efi-loader grub-efi root)) | ||||
| 
 | ||||
| (define* (initialize-root-partition root | ||||
|                                     #:key | ||||
|                                     bootcfg | ||||
|                                     bootcfg-location | ||||
|                                     bootloader-package | ||||
|                                     bootloader-installer | ||||
|                                     (deduplicate? #t) | ||||
|                                     references-graphs | ||||
|                                     (register-closures? #t) | ||||
|                                     system-directory | ||||
|                                     make-device-nodes | ||||
|                                     #:allow-other-keys) | ||||
|   "Initialize the given ROOT directory. Use BOOTCFG and BOOTCFG-LOCATION to | ||||
| install the bootloader configuration. | ||||
|  | @ -164,6 +173,10 @@ of the directory of the 'system' derivation." | |||
|   (populate-root-file-system system-directory root) | ||||
|   (populate-store references-graphs root) | ||||
| 
 | ||||
|   ;; Populate /dev. | ||||
|   (when make-device-nodes | ||||
|     (make-device-nodes root)) | ||||
| 
 | ||||
|   (when register-closures? | ||||
|     (for-each (lambda (closure) | ||||
|                 (register-closure root | ||||
|  | @ -172,6 +185,9 @@ of the directory of the 'system' derivation." | |||
|                                   #:deduplicate? deduplicate?)) | ||||
|               references-graphs)) | ||||
| 
 | ||||
|   (when bootloader-installer | ||||
|     (display "installing bootloader...\n") | ||||
|     (bootloader-installer bootloader-package #f root)) | ||||
|   (when bootcfg | ||||
|     (install-boot-config bootcfg bootcfg-location root))) | ||||
| 
 | ||||
|  |  | |||
|  | @ -40,7 +40,6 @@ | |||
|             find-long-option | ||||
|             find-long-options | ||||
|             make-essential-device-nodes | ||||
|             make-hurd-device-nodes | ||||
|             make-static-device-nodes | ||||
|             configure-qemu-networking | ||||
| 
 | ||||
|  | @ -324,36 +323,6 @@ one specific hardware device. These we have to create." | |||
|   ;; File systems in user space (FUSE). | ||||
|   (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 | ||||
|   (inet-pton AF_INET "10.0.2.10")) | ||||
| 
 | ||||
|  | @ -498,25 +467,13 @@ upon error." | |||
|   (define (root-mount-point? fs) | ||||
|     (string=? (file-system-mount-point fs) "/")) | ||||
| 
 | ||||
|   (define root-fs-type | ||||
|     (or (any (lambda (fs) | ||||
|                (and (root-mount-point? fs) | ||||
|                     (file-system-type fs))) | ||||
|              mounts) | ||||
|         "ext4")) | ||||
| 
 | ||||
|   (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)) | ||||
|   (define (device-string->file-system-device device-string) | ||||
|     ;; The "--root=SPEC" kernel command-line option always provides a | ||||
|     ;; string, but the string can represent a device, a UUID, or a | ||||
|     ;; label.  So check for all three. | ||||
|     (cond ((string-prefix? "/" device-string) device-string) | ||||
|           ((uuid device-string) => identity) | ||||
|           (else (file-system-label device-string)))) | ||||
| 
 | ||||
|   (display "Welcome, this is GNU's early boot Guile.\n") | ||||
|   (display "Use '--repl' for an initrd REPL.\n\n") | ||||
|  | @ -526,7 +483,21 @@ upon error." | |||
|       (mount-essential-file-systems) | ||||
|       (let* ((args    (linux-command-line)) | ||||
|              (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) | ||||
|           (start-repl)) | ||||
|  | @ -561,21 +532,12 @@ upon error." | |||
| 
 | ||||
|         (setenv "EXT2FS_NO_MTAB_OK" "1") | ||||
| 
 | ||||
|         (if root | ||||
|             ;; The "--root=SPEC" kernel command-line option always provides a | ||||
|             ;; 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 | ||||
|                                       #:volatile-root? volatile-root? | ||||
|                                       #:flags root-fs-flags | ||||
|                                       #:options root-fs-options)) | ||||
|         (if root-device | ||||
|             (mount-root-file-system (canonicalize-device-spec root-device) | ||||
|                                     root-fs-type | ||||
|                                     #:volatile-root? volatile-root? | ||||
|                                     #:flags root-fs-flags | ||||
|                                     #:options root-options) | ||||
|             (mount "none" "/root" "tmpfs")) | ||||
| 
 | ||||
|         ;; Mount the specified file systems. | ||||
|  | @ -602,4 +564,4 @@ upon error." | |||
|               (start-repl))))) | ||||
|     #: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 | ||||
| ;;; 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. | ||||
| ;;; | ||||
|  | @ -21,6 +21,7 @@ | |||
|   #:use-module (gnu build linux-container) | ||||
|   #:use-module (guix build utils) | ||||
|   #:use-module (srfi srfi-1) | ||||
|   #:use-module (srfi srfi-26) | ||||
|   #:use-module (ice-9 match) | ||||
|   #:export (make-forkexec-constructor/container)) | ||||
| 
 | ||||
|  | @ -91,7 +92,10 @@ | |||
| 
 | ||||
| ;; XXX: Lazy-bind the Shepherd to avoid a compile-time dependency. | ||||
| (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)) | ||||
|   "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 | ||||
|                             #:max-delay max-delay))) | ||||
|     (#f | ||||
|      (catch-system-error (kill pid SIGTERM)) | ||||
|      ;; Send SIGTERM to the whole process group. | ||||
|      (catch-system-error (kill (- pid) SIGTERM)) | ||||
|      #f) | ||||
|     ((? integer? container-pid) | ||||
|      ;; 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 | ||||
|                               mounts namespaces 1 | ||||
|                               (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") | ||||
|                                 (clean-up pid-file) | ||||
| 
 | ||||
|  |  | |||
|  | @ -84,8 +84,6 @@ | |||
|                            linux initrd | ||||
|                            make-disk-image? | ||||
|                            single-file-output? | ||||
|                            target-arm32? | ||||
|                            target-aarch64? | ||||
|                            (disk-image-size (* 100 (expt 2 20))) | ||||
|                            (disk-image-format "qcow2") | ||||
|                            (references-graphs '())) | ||||
|  | @ -101,7 +99,14 @@ access it via /dev/hda. | |||
| REFERENCES-GRAPHS can specify a list of reference-graph files as produced by | ||||
| 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 | ||||
|     `(;; On ARM, a machine has to be specified. Use "virt" machine to avoid | ||||
|  |  | |||
							
								
								
									
										20
									
								
								gnu/ci.scm
									
										
									
									
									
								
							
							
						
						
									
										20
									
								
								gnu/ci.scm
									
										
									
									
									
								
							|  | @ -219,19 +219,21 @@ system.") | |||
|                    (run-with-store store | ||||
|                      (mbegin %store-monad | ||||
|                        (set-guile-for-build (default-guile)) | ||||
|                        (system-image | ||||
|                         (image | ||||
|                          (inherit efi-disk-image) | ||||
|                          (size (* 1500 MiB)) | ||||
|                          (operating-system installation-os)))))) | ||||
|                        (lower-object | ||||
|                         (system-image | ||||
|                          (image | ||||
|                           (inherit efi-disk-image) | ||||
|                           (size (* 1500 MiB)) | ||||
|                           (operating-system installation-os))))))) | ||||
|             (->job 'iso9660-image | ||||
|                    (run-with-store store | ||||
|                      (mbegin %store-monad | ||||
|                        (set-guile-for-build (default-guile)) | ||||
|                        (system-image | ||||
|                         (image | ||||
|                          (inherit iso9660-image) | ||||
|                          (operating-system installation-os))))))) | ||||
|                        (lower-object | ||||
|                         (system-image | ||||
|                          (image | ||||
|                           (inherit iso9660-image) | ||||
|                           (operating-system installation-os)))))))) | ||||
|       '())) | ||||
| 
 | ||||
| (define channel-build-system | ||||
|  |  | |||
|  | @ -22,7 +22,9 @@ | |||
|             partition? | ||||
|             partition-device | ||||
|             partition-size | ||||
|             partition-offset | ||||
|             partition-file-system | ||||
|             partition-file-system-options | ||||
|             partition-label | ||||
|             partition-uuid | ||||
|             partition-flags | ||||
|  | @ -31,6 +33,7 @@ | |||
|             image | ||||
|             image-name | ||||
|             image-format | ||||
|             image-target | ||||
|             image-size | ||||
|             image-operating-system | ||||
|             image-partitions | ||||
|  | @ -45,13 +48,16 @@ | |||
| 
 | ||||
| (define-record-type* <partition> partition make-partition | ||||
|   partition? | ||||
|   (device      partition-device (default #f)) | ||||
|   (size        partition-size) | ||||
|   (file-system partition-file-system (default "ext4")) | ||||
|   (label       partition-label (default #f)) | ||||
|   (uuid        partition-uuid (default #f)) | ||||
|   (flags       partition-flags (default '())) | ||||
|   (initializer partition-initializer (default #f))) | ||||
|   (device               partition-device (default #f)) | ||||
|   (size                 partition-size) | ||||
|   (offset               partition-offset (default 0)) | ||||
|   (file-system          partition-file-system (default "ext4")) | ||||
|   (file-system-options  partition-file-system-options | ||||
|                         (default '())) | ||||
|   (label                partition-label (default #f)) | ||||
|   (uuid                 partition-uuid (default #f)) | ||||
|   (flags                partition-flags (default '())) | ||||
|   (initializer          partition-initializer (default #f))) | ||||
| 
 | ||||
|  | ||||
| ;;; | ||||
|  | @ -62,6 +68,8 @@ | |||
|   image make-image | ||||
|   image? | ||||
|   (format             image-format) ;symbol | ||||
|   (target             image-target | ||||
|                       (default #f)) | ||||
|   (size               image-size  ;size in bytes as integer | ||||
|                       (default 'guess)) | ||||
|   (operating-system   image-operating-system  ;<operating-system> | ||||
|  |  | |||
|  | @ -127,8 +127,8 @@ USERS." | |||
|                    (lambda (port) | ||||
|                      (match (string-tokenize (read-string port) %not-nul) | ||||
|                        ((argv0 _ ...) | ||||
|                         (unless (member (pk (basename argv0)) spare) | ||||
|                           (syslog "Killing process ~a~%" pid) | ||||
|                         (unless (member (basename argv0) spare) | ||||
|                           (syslog "Killing process ~a (~a)~%" pid argv0) | ||||
|                           (kill pid SIGKILL))) | ||||
|                        (_ #f)))))) | ||||
|               pids))) | ||||
|  | @ -146,6 +146,8 @@ be much appreciated." | |||
|   (catch #t | ||||
|     (lambda () | ||||
|       (let ((tmp-dir "/remove")) | ||||
|         (syslog "Unmounting cow-store.~%") | ||||
| 
 | ||||
|         (mkdir-p tmp-dir) | ||||
|         (mount (%store-directory) tmp-dir "" MS_MOVE) | ||||
| 
 | ||||
|  | @ -153,6 +155,8 @@ be much appreciated." | |||
|         ;; restart it. | ||||
|         (restart-service 'guix-daemon) | ||||
| 
 | ||||
|         (syslog "Killing cow users.") | ||||
| 
 | ||||
|         ;; Kill all processes started while the cow-store was active (logins | ||||
|         ;; on other TTYs for instance). | ||||
|         (kill-cow-users tmp-dir) | ||||
|  | @ -160,6 +164,7 @@ be much appreciated." | |||
|         ;; Try to umount the store overlay. Some process such as udevd | ||||
|         ;; workers might still be active, so do some retries. | ||||
|         (let loop ((try 5)) | ||||
|           (syslog "Umount try ~a~%" (- 5 try)) | ||||
|           (sleep 1) | ||||
|           (let ((umounted? (false-if-exception (umount tmp-dir)))) | ||||
|             (if (and (not umounted?) (> try 0)) | ||||
|  | @ -203,7 +208,18 @@ or #f.  Return #t on success and #f on failure." | |||
|       (lambda () | ||||
|         (start-service 'cow-store (list (%installer-target-dir)))) | ||||
|       (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 () | ||||
|         (stop-service 'cow-store) | ||||
|         ;; Remove the store overlay created at cow-store service start. | ||||
|  |  | |||
							
								
								
									
										60
									
								
								gnu/local.mk
									
										
									
									
									
								
							
							
						
						
									
										60
									
								
								gnu/local.mk
									
										
									
									
									
								
							|  | @ -19,7 +19,7 @@ | |||
| # Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
 | ||||
| # Copyright © 2018, 2019, 2020 Oleg Pykhalov <go.wigust@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, 2020 John Soo <jsoo1@asu.edu>
 | ||||
| # Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 | ||||
|  | @ -157,6 +157,7 @@ GNU_SYSTEM_MODULES =				\ | |||
|   %D%/packages/debian.scm			\
 | ||||
|   %D%/packages/debug.scm			\
 | ||||
|   %D%/packages/dejagnu.scm			\
 | ||||
|   %D%/packages/dhall.scm			\
 | ||||
|   %D%/packages/dico.scm				\
 | ||||
|   %D%/packages/dictionaries.scm			\
 | ||||
|   %D%/packages/diffoscope.scm			\
 | ||||
|  | @ -394,6 +395,7 @@ GNU_SYSTEM_MODULES =				\ | |||
|   %D%/packages/nvi.scm				\
 | ||||
|   %D%/packages/ocaml.scm			\
 | ||||
|   %D%/packages/ocr.scm				\
 | ||||
|   %D%/packages/openkinect.scm			\
 | ||||
|   %D%/packages/onc-rpc.scm			\
 | ||||
|   %D%/packages/opencl.scm			\
 | ||||
|   %D%/packages/openbox.scm			\
 | ||||
|  | @ -403,6 +405,7 @@ GNU_SYSTEM_MODULES =				\ | |||
|   %D%/packages/orpheus.scm			\
 | ||||
|   %D%/packages/ots.scm				\
 | ||||
|   %D%/packages/package-management.scm		\
 | ||||
|   %D%/packages/pantheon.scm			\
 | ||||
|   %D%/packages/parallel.scm			\
 | ||||
|   %D%/packages/password-utils.scm		\
 | ||||
|   %D%/packages/patchutils.scm			\
 | ||||
|  | @ -410,6 +413,7 @@ GNU_SYSTEM_MODULES =				\ | |||
|   %D%/packages/pcre.scm				\
 | ||||
|   %D%/packages/pdf.scm				\
 | ||||
|   %D%/packages/pem.scm				\
 | ||||
|   %D%/packages/pep.scm				\
 | ||||
|   %D%/packages/perl.scm				\
 | ||||
|   %D%/packages/perl-check.scm			\
 | ||||
|   %D%/packages/perl-compression.scm		\
 | ||||
|  | @ -579,6 +583,7 @@ GNU_SYSTEM_MODULES =				\ | |||
|   %D%/services/games.scm			\
 | ||||
|   %D%/services/getmail.scm				\
 | ||||
|   %D%/services/guix.scm			\
 | ||||
|   %D%/services/hurd.scm				\
 | ||||
|   %D%/services/kerberos.scm			\
 | ||||
|   %D%/services/linux.scm			\
 | ||||
|   %D%/services/lirc.scm				\
 | ||||
|  | @ -634,6 +639,7 @@ GNU_SYSTEM_MODULES =				\ | |||
|   %D%/build/cross-toolchain.scm			\
 | ||||
|   %D%/build/image.scm				\
 | ||||
|   %D%/build/file-systems.scm			\
 | ||||
|   %D%/build/hurd-boot.scm			\
 | ||||
|   %D%/build/install.scm				\
 | ||||
|   %D%/build/linux-boot.scm			\
 | ||||
|   %D%/build/linux-container.scm			\
 | ||||
|  | @ -745,6 +751,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/akonadi-not-relocatable.patch		\
 | ||||
|   %D%/packages/patches/akonadi-timestamps.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/anki-mpv-args.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/blender-2.79-newer-ffmpeg.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/calibre-msgpack-compat.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-unrar.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/cyrus-sasl-ac-try-run-fix.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/dbacl-include-locale.h.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++-threading-mutex.patch		\
 | ||||
|   %D%/packages/patches/dconf-meson-0.52.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/deja-dup-use-ref-keyword-for-iter.patch	\
 | ||||
|   %D%/packages/patches/desmume-gcc6-fixes.patch			\
 | ||||
|   %D%/packages/patches/desmume-gcc7-fixes.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-json-reformat-fix-tests.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-source-date-epoch.patch		\
 | ||||
|   %D%/packages/patches/emacs-telega-test-env.patch		\
 | ||||
|   %D%/packages/patches/emacs-undohist-ignored.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/enlightenment-fix-setuid-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/evolution-data-server-locales.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-14859-14862-14864.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-uuid.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/glibc-CVE-2015-5180.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/groovy-add-exceptionutilsgenerator.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/gspell-dash-test.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-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-present-coding.patch		\
 | ||||
|   %D%/packages/patches/guile-rsvg-pkgconfig.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_IM_MODULE_FILE.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/gzdoom-search-in-installed-share.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-reproducibility.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-fix-szip.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/hurd-cross.patch				\
 | ||||
|   %D%/packages/patches/hurd-xattr.patch				\
 | ||||
|   %D%/packages/patches/hplip-remove-imageprocessor.patch	\
 | ||||
|   %D%/packages/patches/hydra-disable-darcs-test.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-commons-collections-fix-java8.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-simple-xml-fix-tests.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/julia-SOURCE_DATE_EPOCH-mtime.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/libziparchive-add-includes.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/kiki-level-selection-crash.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/kmplayer-aarch64.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-enemies-pipe-decl.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/leela-zero-gtest.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-link-with-libm.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/libbonobo-activation-test-race.patch	\
 | ||||
|   %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
 | ||||
|   %D%/packages/patches/libdrm-symbol-check.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/libdrm-realpath-virtio.patch		\
 | ||||
|   %D%/packages/patches/libextractor-exiv2.patch			\
 | ||||
|   %D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch		\
 | ||||
|   %D%/packages/patches/libgit2-mtime-0.patch			\
 | ||||
|  | @ -1237,7 +1237,6 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/luit-posix.patch				\
 | ||||
|   %D%/packages/patches/luminance-hdr-qt-printer.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/mariadb-client-test-32bit.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-longer-test-timeout.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/nss-increase-test-timeout.patch		\
 | ||||
|   %D%/packages/patches/nss-pkgconfig.patch			\
 | ||||
|  | @ -1325,6 +1324,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/openocd-nrf52.patch			\
 | ||||
|   %D%/packages/patches/openssh-hurd.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-1.1-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/picprog-non-intel-support.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-cstddef.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/plib-CVE-2011-4620.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/portaudio-audacity-compat.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/pyqt-configure.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.7-adjust-tests.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-aiohttp-3.6.2-no-warning-fail.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-cairocffi-dlopen-path.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/python-pygpgme-fix-pinentry-tests.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/python2-subprocess32-disable-input-test.patch	\
 | ||||
|   %D%/packages/patches/python-unittest2-python3-compat.patch	\
 | ||||
|   %D%/packages/patches/python-unittest2-remove-argparse.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/qrcodegen-cpp-make-install.patch		\
 | ||||
|   %D%/packages/patches/qt4-ldflags.patch			\
 | ||||
|   %D%/packages/patches/qtbase-moc-ignore-gcc-macro.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/quagga-reproducible-build.patch          \
 | ||||
|   %D%/packages/patches/quickswitch-fix-dmenu-check.patch	\
 | ||||
|  | @ -1466,7 +1467,8 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/rtags-separate-rct.patch			\
 | ||||
|   %D%/packages/patches/racket-store-checksum-override.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/runc-CVE-2019-5736.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-remove-license-code.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/ttfautohint-source-date-epoch.patch	\
 | ||||
|   %D%/packages/patches/tomb-fix-errors-on-open.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-DT-for-Pinebook-Pro.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/weasyprint-library-paths.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-get-selected-profile-fix.patch	\
 | ||||
|   %D%/packages/patches/wicd-urwid-1.3.patch			\
 | ||||
|  |  | |||
|  | @ -34,6 +34,7 @@ | |||
| ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> | ||||
| ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> | ||||
| ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> | ||||
| ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -58,6 +59,7 @@ | |||
|   #:use-module (guix build-system meson) | ||||
|   #:use-module (guix build-system perl) | ||||
|   #:use-module (guix build-system python) | ||||
|   #:use-module (guix build-system ruby) | ||||
|   #:use-module (guix build-system trivial) | ||||
|   #:use-module (guix download) | ||||
|   #:use-module (guix git-download) | ||||
|  | @ -121,6 +123,7 @@ | |||
|   #:use-module (gnu packages python-xyz) | ||||
|   #:use-module (gnu packages qt) | ||||
|   #:use-module (gnu packages readline) | ||||
|   #:use-module (gnu packages ruby) | ||||
|   #:use-module (gnu packages sphinx) | ||||
|   #:use-module (gnu packages tcl) | ||||
|   #:use-module (gnu packages terminals) | ||||
|  | @ -210,7 +213,7 @@ usual file attributes can be checked for inconsistencies.") | |||
| (define-public progress | ||||
|   (package | ||||
|     (name "progress") | ||||
|     (version "0.14") | ||||
|     (version "0.15") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -218,7 +221,7 @@ usual file attributes can be checked for inconsistencies.") | |||
|              (url "https://github.com/Xfennec/progress.git") | ||||
|              (commit (string-append "v" version)))) | ||||
|        (sha256 | ||||
|         (base32 "1lk2v4b767klib93an4g3f7z5qrv9kdk9jf7545vw1immc4kamrl")) | ||||
|         (base32 "1cnb4ixlhshn139mj5sr42k5m6gjjbyqvkn1324c47niwrgp7dqm")) | ||||
|        (file-name (git-file-name name version)))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|  | @ -228,8 +231,14 @@ usual file attributes can be checked for inconsistencies.") | |||
|      `(("ncurses" ,ncurses))) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; no test suite | ||||
|        #:make-flags (list "CC=gcc" | ||||
|                           (string-append "PREFIX=" (assoc-ref %outputs "out"))) | ||||
|        #:make-flags | ||||
|        (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 | ||||
|        (modify-phases %standard-phases | ||||
|          (delete 'configure))))         ; no configure script | ||||
|  | @ -244,14 +253,14 @@ and provides a \"top-like\" mode (monitoring).") | |||
| (define-public shepherd | ||||
|   (package | ||||
|     (name "shepherd") | ||||
|     (version "0.8.0") | ||||
|     (version "0.8.1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://gnu/shepherd/shepherd-" | ||||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "02lbc8z5gd8v8wfi4yh1zww8mk03w0zcwnmk4l4p3vpjlvlb63ll")))) | ||||
|                 "0x9zr0x3xvk4qkb6jnda451d5iyrl06cz1bjzjsm0lxvjj3fabyk")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:configure-flags '("--localstatedir=/var"))) | ||||
|  | @ -429,6 +438,71 @@ services.") | |||
| graphs and can export its output to different formats.") | ||||
|    (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 | ||||
|   (package | ||||
|     (name "htop") | ||||
|  | @ -718,7 +792,7 @@ would need and has several interesting built-in capabilities.") | |||
| (define-public netcat-openbsd | ||||
|   (package | ||||
|     (name "netcat-openbsd") | ||||
|     (version "1.206-1") | ||||
|     (version "1.217-1") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -727,14 +801,12 @@ would need and has several interesting built-in capabilities.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "08r3mmck3s5pbvwyq19wp5g8jqcxza3cm8nkc6jm7rqn4jdydc4z")))) | ||||
|                 "0kcvi3pav2fdx5c22psjv5dggk4cmrqiaq2cklhqngsk4a7vrjan")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f ; no test suite | ||||
|      `(#:tests? #f                      ; no test suite | ||||
|        #:make-flags | ||||
|        (list "CC=gcc" | ||||
|              (string-append "CFLAGS=-I" (assoc-ref %build-inputs "libbsd") "/include") | ||||
|              "LDFLAGS=-lbsd") | ||||
|        (list "CC=gcc") | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (delete 'configure) | ||||
|  | @ -1309,6 +1381,7 @@ system administrator.") | |||
|                   (delete-file-recursively "lib/zlib") | ||||
|                   #t)))) | ||||
|     (build-system gnu-build-system) | ||||
|     (outputs (list "out" "python")) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|        (list (string-append "--docdir=" (assoc-ref %outputs "out") | ||||
|  | @ -1366,7 +1439,22 @@ system administrator.") | |||
|              (substitute* "plugins/sudoers/Makefile.in" | ||||
|                (("^pre-install:" 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 | ||||
|        ;; 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>. | ||||
|     (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 | ||||
|   (package | ||||
|     (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 | ||||
|   (package | ||||
|     (name "acpica") | ||||
|     (version "20200430") | ||||
|     (version "20200528") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -1699,7 +1835,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") | |||
|                     version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1hiaz9lrmjzdbi5zl0ajfflja41cixzx2j76iyx02qbjlmy9cfjc")))) | ||||
|                 "01ajxnz9dpnvdbib7yv20dw21a1yyfgwiw3whg0xi57cf4app2md")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs `(("flex" ,flex) | ||||
|                      ("bison" ,bison))) | ||||
|  | @ -2027,13 +2163,13 @@ of supported upstream metrics systems simultaneously.") | |||
| (define-public ansible | ||||
|   (package | ||||
|     (name "ansible") | ||||
|     (version "2.9.6") | ||||
|     (version "2.9.9") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "ansible" version)) | ||||
|        (sha256 | ||||
|         (base32 "1jfbp1i3nl4yvqwd5ssy43dz3pq2x03mn875vb8r56gqh43kmksr")))) | ||||
|         (base32 "1l99vwkl48iwr8ffd1ihqia995mz8h8hwk4akm4w0cgiifp88gg8")))) | ||||
|     (build-system python-build-system) | ||||
|     (native-inputs | ||||
|      `(("python-bcrypt" ,python-bcrypt) | ||||
|  | @ -2629,13 +2765,13 @@ a new command using the matched rule, and runs it.") | |||
| (define-public di | ||||
|   (package | ||||
|     (name "di") | ||||
|     (version "4.47.3") | ||||
|     (version "4.48") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "0m4npba50sf5s61g5z3xd2r7937zwja941f2h3f081xi24c2hfck")))) | ||||
|         (base32 "0crvvfsxh8ryc0j19a2x52i9zacvggm8zi6j3kzygkcwnpz4km8r")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; obscure test failures | ||||
|  | @ -2644,7 +2780,7 @@ a new command using the matched rule, and runs it.") | |||
|          (delete 'configure)            ; no configure script | ||||
|          (add-before 'build 'setup-environment | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (setenv "CC" "gcc") | ||||
|              (setenv "CC" ,(cc-for-target)) | ||||
|              (setenv "prefix" (assoc-ref outputs "out")) | ||||
|              #t))) | ||||
|        #:make-flags (list "--environment-overrides"))) | ||||
|  | @ -3118,14 +3254,14 @@ everyone's screenshots nowadays.") | |||
| (define-public nnn | ||||
|   (package | ||||
|     (name "nnn") | ||||
|     (version "2.8.1") | ||||
|     (version "3.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://github.com/jarun/nnn/releases/download/v" | ||||
|                            version "/nnn-v" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1g47bndxld875d0xb3pgmlw223mz47p1xcvwym861y6l4zkgiyp0")))) | ||||
|         (base32 "1zflz7yj5wzdnl0728g8qrld2z6dqn7sblbmkjvyqlv1fwjd1fsf")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs | ||||
|      `(("ncurses" ,ncurses) | ||||
|  | @ -3336,7 +3472,7 @@ Python loading in HPC environments.") | |||
|   (let ((real-name "inxi")) | ||||
|     (package | ||||
|       (name "inxi-minimal") | ||||
|       (version "3.0.38-1") | ||||
|       (version "3.1.01-1") | ||||
|       (source | ||||
|        (origin | ||||
|          (method git-fetch) | ||||
|  | @ -3345,7 +3481,7 @@ Python loading in HPC environments.") | |||
|                (commit version))) | ||||
|          (file-name (git-file-name real-name version)) | ||||
|          (sha256 | ||||
|           (base32 "1qw3sxgd3ly916bzzl3873s3flngwd3vh57slw0shsj7ivz8bfnm")))) | ||||
|           (base32 "0r204w0r06ibdr4dck7yw2nmvj7xq68bjr7xwwiy7liqdml0n0yc")))) | ||||
|       (build-system trivial-build-system) | ||||
|       (inputs | ||||
|        `(("bash" ,bash-minimal) | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; 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 © 2019 Marius Bakke <mbakke@fastmail.com> | ||||
| ;;; | ||||
|  | @ -25,22 +25,23 @@ | |||
|   #:use-module (guix download) | ||||
|   #:use-module (guix build-system cmake) | ||||
|   #:use-module (guix build-system gnu) | ||||
|   #:use-module (gnu packages m4) | ||||
|   #:use-module (gnu packages pkg-config)) | ||||
| 
 | ||||
| (define-public adns | ||||
|   (package | ||||
|     (name "adns") | ||||
|     (version "1.5.1") | ||||
|     (version "1.6.0") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (list (string-append "mirror://gnu/adns/adns-" | ||||
|                                         version ".tar.gz") | ||||
|                          (string-append | ||||
|                           "http://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-" | ||||
|                           version ".tar.gz"))) | ||||
|                            "https://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-" | ||||
|                            version ".tar.gz"))) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1ssfh94ck6kn98nf2yy6743srpgqgd167va5ja3bwx42igqjc42v")))) | ||||
|                 "1pi0xl07pav4zm2jrbrfpv43s1r1q1y12awgak8k7q41m5jp4hpv")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      ;; Make sure the programs under bin/ fine libadns.so. | ||||
|  | @ -50,6 +51,8 @@ | |||
| 
 | ||||
|        ;; XXX: Tests expect real name resolution to work. | ||||
|        #:tests? #f)) | ||||
|     (native-inputs | ||||
|      `(("m4" ,m4))) | ||||
|     (home-page "https://www.gnu.org/software/adns/") | ||||
|     (synopsis "Asynchronous DNS client library and utilities") | ||||
|     (description | ||||
|  |  | |||
|  | @ -609,7 +609,7 @@ matrices, and polynomials over the integers and over finite fields.") | |||
| (define-public singular | ||||
|   (package | ||||
|    (name "singular") | ||||
|    (version "4.1.2p1") | ||||
|    (version "4.1.3p2") | ||||
|    (source | ||||
|     (origin | ||||
|       (method url-fetch) | ||||
|  | @ -623,7 +623,7 @@ matrices, and polynomials over the integers and over finite fields.") | |||
|                         #\.) "-") | ||||
|                       "/singular-" version ".tar.gz")) | ||||
|              (sha256 (base32 | ||||
|                       "0kvd55353fiqyq1msmi0kka66n5h0aqs7m3km60r01b1w2f8085m")))) | ||||
|                       "1524yrni7gh0hir5ckridq671q5s6avfjdsdyahj51kzdl3wcypf")))) | ||||
|    (build-system gnu-build-system) | ||||
|    (native-inputs | ||||
|     `(("doxygen" ,doxygen) | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| ;;; 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 © 2016 John Darrington <jmd@gnu.org> | ||||
| ;;; 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 | ||||
|                                   "/" prefix dict-name "-" | ||||
|                                   version ".tar.bz2")) | ||||
|               (sha256 sha256))) | ||||
|               (hash (content-hash sha256)))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -163,7 +163,7 @@ dictionaries, including personal ones.") | |||
|          (method url-fetch) | ||||
|          (uri (string-append "https://www.softcatala.org/pub/softcatala/aspell/" | ||||
|                              version "/aspell6-ca-" version ".tar.bz2")) | ||||
|          (sha256 sha256))) | ||||
|          (hash (content-hash sha256)))) | ||||
|       (home-page "https://www.softcatala.org/pub/softcatala/aspell/")))) | ||||
| 
 | ||||
| (define-public aspell-dict-de | ||||
|  | @ -264,7 +264,7 @@ dictionaries, including personal ones.") | |||
|          (uri (string-append "mirror://sourceforge/linguistico/" | ||||
|                              "Dizionario%20italiano%20per%20Aspell/" version "/" | ||||
|                              "aspell6-it-" version ".tar.bz2")) | ||||
|          (sha256 sha256))) | ||||
|          (hash (content-hash sha256)))) | ||||
|        (home-page | ||||
|         "http://linguistico.sourceforge.net/pages/dizionario_italiano.html")))) | ||||
| 
 | ||||
|  |  | |||
|  | @ -149,14 +149,14 @@ to the clients.") | |||
| (define-public fasm | ||||
|   (package | ||||
|     (name "fasm") | ||||
|     (version "1.73.22") | ||||
|     (version "1.73.24") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://flatassembler.net/fasm-" | ||||
|                            version ".tgz")) | ||||
|        (sha256 | ||||
|         (base32 "1pb0rcfdsb0h89khjjrbikz5wjdllavj3ajim0rcyh7x12xr1hw5")))) | ||||
|         (base32 "142vxhs8mh8isvlzq7ir0asmqda410phzxmk9gk9b43dldskkj7k")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; no tests exist | ||||
|  | @ -347,14 +347,14 @@ Supported architectures are: | |||
| (define-public xa | ||||
|   (package | ||||
|     (name "xa") | ||||
|     (version "2.3.10") | ||||
|     (version "2.3.11") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://www.floodgap.com/retrotech/xa" | ||||
|                                   "/dists/xa-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0y5sd247g11jfk5msxy91hz2nhpy7smj125dzfyfhjsjnqk5nyw6")))) | ||||
|                 "0b81r7mvzqxgnbbmhixcnrf9nc72v1nqaw19k67221g3k561dwij")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f   ; TODO: custom test harness, not sure how it works | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2016 John Darrington <jmd@gnu.org> | ||||
| ;;; 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 © 2020 R Veera Kumar <vkor@vkten.in> | ||||
| ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> | ||||
|  | @ -128,7 +128,7 @@ header.") | |||
| (define-public gnuastro | ||||
|   (package | ||||
|     (name "gnuastro") | ||||
|     (version "0.11") | ||||
|     (version "0.12") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -136,7 +136,10 @@ header.") | |||
|                            version ".tar.lz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0c1yc2qb7vrqad96savfn06rn01izlfz0va738signv93qqj5k3v")))) | ||||
|          "0ypk1c72q778cixfa52vjxzbd5m4qc6hfjgnipy16sfa7mnspmyf")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:configure-flags '("--disable-static"))) | ||||
|     (inputs | ||||
|      `(("cfitsio" ,cfitsio) | ||||
|        ("gsl" ,gsl) | ||||
|  | @ -147,7 +150,6 @@ header.") | |||
|     (native-inputs | ||||
|      `(("libtool" ,libtool) | ||||
|        ("lzip" ,lzip))) | ||||
|     (build-system gnu-build-system) | ||||
|     (home-page "https://www.gnu.org/software/gnuastro/") | ||||
|     (synopsis "Astronomy utilities") | ||||
|     (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")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0")))) | ||||
|                 "1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0")) | ||||
|               (patches | ||||
|                (search-patches "alsa-modular-synth-fix-vocoder.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|  | @ -183,6 +185,17 @@ implementation of Adaptive Multi Rate Narrowband and Wideband | |||
|          "CXXFLAGS=-std=gnu++11") | ||||
|        #: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. | ||||
|          (add-before 'configure 'add-missing-space | ||||
|            (lambda _ | ||||
|  | @ -203,7 +216,7 @@ implementation of Adaptive Multi Rate Narrowband and Wideband | |||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config) | ||||
|        ("qttools" ,qttools) | ||||
|        ("gcc" ,gcc-5))) | ||||
|        ("gcc@5" ,gcc-5))) | ||||
|     (home-page "http://alsamodular.sourceforge.net/") | ||||
|     (synopsis "Realtime modular synthesizer and effect processor") | ||||
|     (description | ||||
|  | @ -851,30 +864,30 @@ emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.") | |||
| (define-public csound | ||||
|   (package | ||||
|     (name "csound") | ||||
|     (version "6.13.0") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/csound/csound.git") | ||||
|                     (commit version))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "14822ybqyp31z18gky2y9zadr9dkbhabg97y139py73w7v3af1bh")))) | ||||
|     (version "6.14.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/csound/csound.git") | ||||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1sr9knfhbm2m0wpkjq2l5n471vnl51wy4p6j4m95zqybimzb4s2j")))) | ||||
|     (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 | ||||
|      `(("bison" ,bison) | ||||
|        ("flex" ,flex) | ||||
|        ("gettext" ,gettext-minimal) | ||||
|        ("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/") | ||||
|     (synopsis "Sound and music computing system") | ||||
|     (description | ||||
|  | @ -1242,7 +1255,7 @@ follower.") | |||
| (define-public fluidsynth | ||||
|   (package | ||||
|     (name "fluidsynth") | ||||
|     (version "2.1.2") | ||||
|     (version "2.1.3") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -1251,7 +1264,7 @@ follower.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0pf8hjn15isf772nz8qcqja700aay8nhdwmr24djkj42c7chf96j")))) | ||||
|                 "0dv6jprz2bzasvk91x2rv2pqyyvxkc72s4r6vsqw723a3kqa5bhc")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      '(#: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 | ||||
|   (package | ||||
|     (name "lilv") | ||||
|     (version "0.24.6") | ||||
|     (version "0.24.8") | ||||
|     (source (origin | ||||
|              (method url-fetch) | ||||
|              (uri (string-append "https://download.drobilla.net/lilv-" | ||||
|                                  version ".tar.bz2")) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "1p3hafsxgs5d4za7n66lf5nz74qssfqpmk520cm7iq2njvvlqm2z")))) | ||||
|                "0063i5zgf3d3accwmyx651hw0wh5ik7kji2hvfkcdbl1qia3dp6a")))) | ||||
|     (build-system waf-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; no check target | ||||
|  | @ -2191,7 +2204,7 @@ buffers, and audio capture.") | |||
| (define-public patchage | ||||
|   (package | ||||
|     (name "patchage") | ||||
|     (version "1.0.0") | ||||
|     (version "1.0.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://download.drobilla.net/patchage-" | ||||
|  | @ -2199,10 +2212,10 @@ buffers, and audio capture.") | |||
|                                   ".tar.bz2")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb")))) | ||||
|                 "0dk3fiac10m83mwss3026yz7ygc47c2iw924cwwnh2fyydc9bsy6")))) | ||||
|     (build-system waf-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f ; no check target | ||||
|      `(#:tests? #f                      ; no check target | ||||
|        #:python ,python-2)) | ||||
|     (inputs | ||||
|      `(("alsa-lib" ,alsa-lib) | ||||
|  | @ -3373,17 +3386,18 @@ with support for HD extensions.") | |||
| (define-public bs1770gain | ||||
|   (package | ||||
|     (name "bs1770gain") | ||||
|     (version "0.6.7") | ||||
|     (version "0.7.0") | ||||
|     (home-page "https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "mirror://sourceforge/bs1770gain/bs1770gain/" | ||||
|                            version "/bs1770gain-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "13hsbqj1dkpz1gbclnjxv50kr7b4gcjai6c1l38g01433h217qjc")) | ||||
|         (base32 "0a2dcaxvxy5m3a5sb1lhplsymvz3ypaiidc5xn9qy01h53zvyvkp")) | ||||
|        (modules '((guix build utils))) | ||||
|        (snippet | ||||
|         '(begin | ||||
|         `(begin | ||||
|            ;; XXX | ||||
|            (substitute* (find-files "." "\\.[ch]$") | ||||
|              (("^ \\* N..o.*") "")) | ||||
|  | @ -3395,12 +3409,11 @@ with support for HD extensions.") | |||
|                               "configure.ac" | ||||
|                               "configure") | ||||
|              (("https?://bs1770gain[^/]*/") | ||||
|               "https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html")) | ||||
|               ,home-page)) | ||||
|            #t)))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs `(("ffmpeg" ,ffmpeg) | ||||
|               ("sox" ,sox))) | ||||
|     (home-page "https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html") | ||||
|     (synopsis "Tool to adjust loudness of media files") | ||||
|     (description | ||||
|      "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 | ||||
|   (package | ||||
|     (name "snd") | ||||
|     (version "19.9") | ||||
|     (version "20.4") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/" | ||||
|                                   "snd-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "13s8fahpsjygjdrcwmprcrz23ny3klaj2rh2xzdv3bfs69gxvhys")))) | ||||
|                 "0irdizlng2s3akmxdbfxcbd93bbjz9543nh7fisszim6v0ks59d9")))) | ||||
|     (build-system glib-or-gtk-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; no tests | ||||
|  | @ -3930,15 +3943,15 @@ other Gnaural instances, allowing synchronous sessions between many users.") | |||
| (define-public darkice | ||||
|   (package | ||||
|     (name "darkice") | ||||
|     (version "1.3") | ||||
|     (version "1.4") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://sourceforge/darkice/darkice/" | ||||
|                                   version "/darkice-" version ".tar.gz")) | ||||
|               (uri (string-append "https://github.com/rafael2k/darkice/releases/" | ||||
|                                   "download/v" version "/darkice-" | ||||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 "1rlxds7ssq7nk2in4s46xws7xy9ylxsqgcz85hxjgh17lsm0y39c")) | ||||
|               (patches | ||||
|                (search-patches "darkice-workaround-fpermissive-error.patch")))) | ||||
|                (base32 | ||||
|                 "05yq7lggxygrkd76yiqby3msrgdn082p0qlvmzzv9xbw8hmyra76")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs `(("pkg-config" ,pkg-config))) | ||||
|     (inputs `(("lame" ,lame) | ||||
|  | @ -3988,7 +4001,7 @@ stream to one or more IceCast and/or ShoutCast servers.") | |||
| (define-public redkite | ||||
|   (package | ||||
|     (name "redkite") | ||||
|     (version "0.8.0") | ||||
|     (version "0.8.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -3997,8 +4010,7 @@ stream to one or more IceCast and/or ShoutCast servers.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1747w1kg8y9jbl11xi018d85dm38xk7843pz26sh0k5fdv87a10q")))) | ||||
|         (base32 "17kv2jc4jvn3sdicz3sf8dnf25wbvv7ijzkr0mm0sbrrjz6vrwz0")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f))                    ;no tests included | ||||
|  |  | |||
|  | @ -16,6 +16,7 @@ | |||
| ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> | ||||
| ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> | ||||
| ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> | ||||
| ;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -562,14 +563,13 @@ detection, and lossless compression.") | |||
| (define-public borg | ||||
|   (package | ||||
|     (name "borg") | ||||
|     (version "1.1.11") | ||||
|     (version "1.1.13") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "borgbackup" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "190gjzx83b6p64nqj840x382dgz9gfv0gm7wj585lnkrpa90j29n")) | ||||
|         (base32 "089q3flmwbz7dc28zlscwylf64kgck3jf1n6lqpwww8hlrk8cjhn")) | ||||
|        (modules '((guix build utils))) | ||||
|        (snippet | ||||
|         '(begin | ||||
|  | @ -652,7 +652,8 @@ detection, and lossless compression.") | |||
|                         ;; These tests assume the kernel supports FUSE. | ||||
|                         "and not test_fuse " | ||||
|                         "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 | ||||
|            (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|              (let* ((out (assoc-ref outputs "out")) | ||||
|  | @ -736,14 +737,14 @@ changes are stored.") | |||
| (define-public wimlib | ||||
|   (package | ||||
|     (name "wimlib") | ||||
|     (version "1.13.1") | ||||
|     (version "1.13.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://wimlib.net/downloads/" | ||||
|                                   "wimlib-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0pxgrpr3dr81rcf2jh71aiiq3v4anc5sj1nld18f2vhvbijbrx27")))) | ||||
|                 "0id9ym3hzij4kpdrk0sz3ijxp5r0z1md5jch83pml9hdy1zbx5bj")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("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.") | ||||
|     (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 | ||||
|   (package | ||||
|     (name "burp") | ||||
|     (version "2.3.24") | ||||
|     (version "2.3.28") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://sourceforge/burp/burp-" version | ||||
|                                   "/burp-" version ".tar.bz2")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0dmahqx8ldqdrx9b47r7ag3m801n7h3kclcqja1cc1jzhfhfq27w")))) | ||||
|                 "18f8cjsb87skabvz4cl5pdln35qmim7x686js1xzpld6wyl9kv2k")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  |  | |||
|  | @ -1351,7 +1351,7 @@ command.") | |||
| (define-public tzdata | ||||
|   (package | ||||
|     (name "tzdata") | ||||
|     (version "2019c") | ||||
|     (version "2020a") | ||||
|     (source (origin | ||||
|              (method url-fetch) | ||||
|              (uri (string-append | ||||
|  | @ -1359,7 +1359,7 @@ command.") | |||
|                    version ".tar.gz")) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr")))) | ||||
|                "18lrp0zh8m931jjlrv8lvjas4ka5dfkzdbwnbw5lwd2dlbn62wal")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:tests? #f | ||||
|  | @ -1409,7 +1409,7 @@ command.") | |||
|                                 version ".tar.gz")) | ||||
|                           (sha256 | ||||
|                            (base32 | ||||
|                             "1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn")))))) | ||||
|                             "0sfnlqw1p93r7klny69rwr94fh22mz632h52phgzfgg01q9gfakx")))))) | ||||
|     (home-page "https://www.iana.org/time-zones") | ||||
|     (synopsis "Database of current and historical time zones") | ||||
|     (description "The Time Zone Database (often called tz or zoneinfo) | ||||
|  | @ -1426,7 +1426,26 @@ and daylight-saving rules.") | |||
| ;;; package. | ||||
| (define-public tzdata-for-tests | ||||
|   (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 | ||||
|   (package | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| ;;; 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 © 2015, 2017 Leo Famulari <leo@famulari.name> | ||||
| ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> | ||||
|  | @ -38,8 +38,11 @@ | |||
|   #:use-module (guix store) | ||||
|   #:use-module (guix build-system gnu) | ||||
|   #:autoload   (guix gnupg) (gnupg-verify*) | ||||
|   #:autoload   (gcrypt hash) (port-sha256) | ||||
|   #: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-26) | ||||
|   #:use-module (ice-9 format)) | ||||
|  | @ -48,12 +51,12 @@ | |||
|   "Return the URL of Bash patch number SEQNO." | ||||
|   (format #f "mirror://gnu/bash/bash-5.0-patches/bash50-~3,'0d" seqno)) | ||||
| 
 | ||||
| (define (bash-patch seqno sha256) | ||||
|   "Return the origin of Bash patch SEQNO, with expected hash SHA256" | ||||
| (define (bash-patch seqno sha256-bv) | ||||
|   "Return the origin of Bash patch SEQNO, with expected hash SHA256-BV." | ||||
|   (origin | ||||
|     (method url-fetch) | ||||
|     (uri (patch-url seqno)) | ||||
|     (sha256 sha256))) | ||||
|     (sha256 sha256-bv))) | ||||
| 
 | ||||
| (define-syntax-rule (patch-series (seqno hash) ...) | ||||
|   (list (bash-patch seqno (base32 hash)) | ||||
|  |  | |||
|  | @ -46,14 +46,14 @@ | |||
| (define-public fio | ||||
|   (package | ||||
|     (name "fio") | ||||
|     (version "3.19") | ||||
|     (version "3.20") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://brick.kernel.dk/snaps/" | ||||
|                                   "fio-" version ".tar.bz2")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "01nc7igmcc6hda32d1y8vidd9x9pdlxvf3i1pwrzvmi6xvmbfvab")))) | ||||
|                 "1mwqafn81a9pxy2kw9rl4p3r2brhg2ckwrcwzy0q4gffxgn3k9c7")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#: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 | ||||
|                     "https://github.com/transmission/transmission-releases/raw/" | ||||
|                     "master/transmission-" version ".tar.xz")) | ||||
|               (patches (search-patches "transmission-CVE-2018-10756.patch")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0zbbj7rlm6m7vb64x68a64cwmijhsrwx9l63hbwqs7zr9742qi1m")))) | ||||
|  | @ -314,15 +315,15 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.") | |||
| (define-public uget | ||||
|   (package | ||||
|     (name "uget") | ||||
|     (version "2.0.8") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://sourceforge/urlget/" | ||||
|                                   "uget%20%28stable%29/" version "/uget-" | ||||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0919cf7lfk1djdl003cahqjvafdliv7v2l8r5wg95n4isqggdk75")))) | ||||
|     (version "2.2.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "mirror://sourceforge/urlget/" | ||||
|                            "uget%20%28stable%29/" version "/uget-" | ||||
|                            version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "0rg2mr2cndxvnjib8zm5dp7y2hgbvnqkz2j2jmg0xlzfh9d34b2m")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs | ||||
|      `(("curl" ,curl) | ||||
|  | @ -336,7 +337,7 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.") | |||
|     (native-inputs | ||||
|      `(("intltool" ,intltool) | ||||
|        ("pkg-config" ,pkg-config))) | ||||
|     (home-page "http://ugetdm.com/") | ||||
|     (home-page "https://ugetdm.com/") | ||||
|     (synopsis "Universal download manager with GTK+ interface") | ||||
|     (description | ||||
|      "uGet is portable download manager with GTK+ interface supporting | ||||
|  |  | |||
|  | @ -13,6 +13,7 @@ | |||
| ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> | ||||
| ;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org> | ||||
| ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> | ||||
| ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -241,12 +242,40 @@ across a broad spectrum of applications.") | |||
|     (arguments (substitute-keyword-arguments (package-arguments boost) | ||||
|       ((#:phases phases) | ||||
|        `(modify-phases ,phases | ||||
|           ;; This was removed after boost-1.67. | ||||
|           (add-before 'configure 'more-bin-sh-patching | ||||
|             (lambda _ | ||||
|               (substitute* "tools/build/doc/bjam.qbk" | ||||
|                 (("/bin/sh") (which "sh"))))) | ||||
|           (delete 'provide-libboost_python))))) | ||||
|           (replace 'configure | ||||
|             (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|               (let ((icu (assoc-ref inputs "icu4c")) | ||||
|                     (out (assoc-ref outputs "out"))) | ||||
|                 (substitute* (append | ||||
|                                (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))))) | ||||
| 
 | ||||
| (define-public boost-sync | ||||
|  | @ -293,7 +322,7 @@ Boost.Thread.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1nayaqshhzr1n6jj43bpvvay36d5gn075h0b95psii5x8ingszdk")))) | ||||
|                 "13i5j43nggb46i6qpaf7gk53i7zp7pimphl7sydyfqz2m9yx5cdy")))) | ||||
|     (build-system trivial-build-system) | ||||
|     (arguments | ||||
|      `(#:modules ((guix build utils)) | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ | |||
| ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org> | ||||
| ;;; Copyright © 2016, 2017 David Craven <david@craven.ch> | ||||
| ;;; 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 Mathieu Othacehe <m.othacehe@gmail.com> | ||||
| ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> | ||||
|  | @ -96,6 +96,7 @@ | |||
|                "0zgp5m3hmc9jh8wpjx6czzkh5id2y8n1k823x2mjvm2sk6b28ag5")) | ||||
|              (patches (search-patches | ||||
|                        "grub-efi-fat-serial-number.patch" | ||||
|                        "grub-setup-root.patch" | ||||
|                        "grub-verifiers-Blocklist-fallout-cleanup.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|  | @ -1016,7 +1017,8 @@ tools, and more.") | |||
|                   (guix build utils) | ||||
|                   (ice-9 regex)         ; for string-match | ||||
|                   (srfi srfi-26))       ; for cut | ||||
|        #:make-flags (list "CC=gcc") | ||||
|        #:make-flags | ||||
|        (list ,(string-append "CC=" (cc-for-target))) | ||||
|        #:tests? #f                      ; no tests | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|  |  | |||
|  | @ -1,9 +1,10 @@ | |||
| ;;; 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 © 2017, 2020 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2018, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> | ||||
| ;;; Copyright © 2019 Carl Dong <contact@carldong.me> | ||||
| ;;; Copyright © 2019 Léo Le Bouter <lle-bout@zaclys.net> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -151,14 +152,14 @@ built for SYSTEM." | |||
|                    (format #f (G_ "could not find bootstrap binary '~a' \ | ||||
| for system '~a'") | ||||
|                            program system)))))) | ||||
|         ((sha256) | ||||
|         ((bv) | ||||
|          (origin | ||||
|            (method url-fetch/executable) | ||||
|            (uri (map (cute string-append <> | ||||
|                            (bootstrap-executable-file-name system program)) | ||||
|                      %bootstrap-executable-base-urls)) | ||||
|            (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 "aarch64-linux") "/lib/ld-linux-aarch64.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 "alpha-linux") "/lib/ld-linux.so.2") | ||||
|         ((string=? system "s390x-linux") "/lib/ld64.so.1") | ||||
|  |  | |||
|  | @ -9,6 +9,7 @@ | |||
| ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> | ||||
| ;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> | ||||
| ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> | ||||
| ;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -33,12 +34,14 @@ | |||
|   #:use-module (guix git-download) | ||||
|   #:use-module (guix build-system cmake) | ||||
|   #:use-module (gnu packages) | ||||
|   #:use-module (gnu packages check) | ||||
|   #:use-module (gnu packages compression) | ||||
|   #:use-module (gnu packages lua) | ||||
|   #:use-module (gnu packages package-management) | ||||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages python-crypto) | ||||
|   #:use-module (gnu packages python-web) | ||||
|   #:use-module (gnu packages python-xyz) | ||||
|   #:use-module (gnu packages ninja) | ||||
|   #:use-module (guix build-system gnu) | ||||
|   #: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 | ||||
| be reached via direct API calls.") | ||||
|     (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 | ||||
| ;;; Copyright © 2014 John Darrington <jmd@gnu.org> | ||||
| ;;; 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. | ||||
| ;;; | ||||
|  | @ -32,7 +32,7 @@ | |||
| (define-public busybox | ||||
|   (package | ||||
|     (name "busybox") | ||||
|     (version "1.29.3") | ||||
|     (version "1.31.1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -40,11 +40,18 @@ | |||
|                     version ".tar.bz2")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1dzg45vgy2w1xcd3p6h8d76ykhabbvk1h0lf8yb24ikrwlv8cr4p")))) | ||||
|                 "1659aabzp8w4hayr4z8kcpbk2z1q2wqhw7i1yb0l72b45ykl1yfh")) | ||||
|               (patches | ||||
|                (search-patches | ||||
|                 "busybox-1.31.1-fix-build-with-glibc-2.31.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'configure 'disable-timestamps | ||||
|            (lambda _ | ||||
|              (setenv "KCONFIG_NOTIMESTAMP" "1") | ||||
|              #t)) | ||||
|          (add-before 'configure 'disable-taskset | ||||
|            ;; This feature fails its tests in the build environment, | ||||
|            ;; was default 'n' until after 1.26.2. | ||||
|  | @ -75,6 +82,9 @@ | |||
|              (substitute* "testsuite/date/date-works-1" | ||||
|                (("/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 | ||||
|              ;; true in guix build environment | ||||
|              (substitute* "testsuite/pidof.tests" | ||||
|  | @ -113,7 +123,7 @@ any small or embedded system.") | |||
| (define-public toybox | ||||
|   (package | ||||
|     (name "toybox") | ||||
|     (version "0.8.2") | ||||
|     (version "0.8.3") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -121,7 +131,7 @@ any small or embedded system.") | |||
|                     version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1mgya8zxgf30i5w3rhsb3n70kwlhifxbajh6wqdsz6rf8kx609ws")))) | ||||
|                 "00aw9d809wj1bqlb2fsssdgz7rj0363ya14py0gfdm0rkp98zcpa")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:phases | ||||
|  |  | |||
|  | @ -7,6 +7,8 @@ | |||
| ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> | ||||
| ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> | ||||
| ;;; 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. | ||||
| ;;; | ||||
|  | @ -40,6 +42,7 @@ | |||
|   #:use-module (gnu packages multiprecision) | ||||
|   #:use-module (gnu packages pcre) | ||||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages python-xyz) | ||||
|   #:use-module (gnu packages autotools) | ||||
|   #:use-module (gnu packages gettext) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|  | @ -235,15 +238,14 @@ whose behaviour is inconsistent across *NIX flavours.") | |||
| (define-public libhx | ||||
|   (package | ||||
|     (name "libhx") | ||||
|     (version "3.24") | ||||
|     (version "3.25") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "mirror://sourceforge/libhx/libHX/" | ||||
|                            "libHX-" version ".tar.xz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0i8v2464p830c15myknvvs6bhxaf663lrqgga95l94ygfynkw6x5")))) | ||||
|         (base32 "12avn16f8aqb0cq6jplz0sv7rh6f07m85dwc8dasnnwsvijwbpbj")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (home-page "http://libhx.sourceforge.net") | ||||
|     (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.") | ||||
|     (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 | ||||
|   (package | ||||
|     (name "sparse") | ||||
|  | @ -288,3 +341,98 @@ address space pointers point to, or what locks a function acquires or | |||
| releases.") | ||||
|     (home-page "https://sparse.wiki.kernel.org/index.php/Main_Page") | ||||
|     (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 | ||||
|   (package | ||||
|     (name "libical") | ||||
|     (version "3.0.7") | ||||
|     (version "3.0.8") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -118,22 +118,7 @@ the <tz.h> library for handling time zones and leap seconds.") | |||
|                     version "/libical-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1z33wzaazbd7drl6qbh1750whd78xl2cg0gjnxyya9m83vgndgha")) | ||||
|               (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"))))))) | ||||
|                 "0vr8s7hn8204lyc4ys5bs3j5qss4lmc9ffly2m1a59avyz5cmzh9")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      '(#:tests? #f ; test suite appears broken | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2014, 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org> | ||||
| ;;; 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. | ||||
| ;;; | ||||
|  | @ -30,14 +30,14 @@ | |||
| (define-public ccache | ||||
|   (package | ||||
|     (name "ccache") | ||||
|     (version "3.7.7") | ||||
|     (version "3.7.9") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://github.com/ccache/ccache/releases/download/v" | ||||
|                            version "/ccache-" version ".tar.xz")) | ||||
|        (sha256 | ||||
|         (base32 "1kcqii3hr1008gj6jgfsjibwh2ryhsplc9z99m18xwa2zvbddhdp")))) | ||||
|         (base32 "0jzl9idnjd9jq64qd8kny7gfd0ydvz5kyq2yslmigfdz8dsxm4zq")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs `(("perl" ,perl)     ; for test/run | ||||
|                      ("which" ,(@ (gnu packages base) which)))) | ||||
|  |  | |||
|  | @ -686,7 +686,7 @@ information is written to standard error.") | |||
| (define-public asunder | ||||
|   (package | ||||
|     (name "asunder") | ||||
|     (version "2.9.5") | ||||
|     (version "2.9.6") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri | ||||
|  | @ -695,7 +695,7 @@ information is written to standard error.") | |||
|                               ".tar.bz2")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "069x6az2r3wlb2hd07iz0hxpxwknw7s9h7pyhnkmzv1pw9ci3kk4")))) | ||||
|                 "1ycnd82lh7qy1pcbngd4b41s16j9hnm2kyfrncg4cwr3bfk7yg7a")))) | ||||
|     (build-system glib-or-gtk-build-system) | ||||
|     (arguments | ||||
|      '(#:out-of-source? #f | ||||
|  |  | |||
|  | @ -76,7 +76,7 @@ | |||
| (define-public nss-certs | ||||
|   (package | ||||
|     (name "nss-certs") | ||||
|     (version "3.50") | ||||
|     (version "3.52.1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (let ((version-with-underscores | ||||
|  | @ -87,7 +87,7 @@ | |||
|                       "nss-" version ".tar.gz"))) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "19rv0vp9nmvn6dy29qsv8f4v7wn5kizrpm59vbszahsjfwcz6p8q")))) | ||||
|                 "0y4jb9095f7bbgw7d7kvzm4c3g4p5i6y68fwhb8wlkpb7b1imj5w")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (outputs '("out")) | ||||
|     (native-inputs | ||||
|  |  | |||
|  | @ -105,8 +105,8 @@ source code editors and IDEs.") | |||
| 
 | ||||
| ;; Some packages require this older version.  Removed once no longer needed. | ||||
| (define-public check-0.12 | ||||
|   (package/inherit | ||||
|    check | ||||
|   (package | ||||
|    (inherit check) | ||||
|    (version "0.12.0") | ||||
|    (source (origin | ||||
|              (method url-fetch) | ||||
|  | @ -396,7 +396,7 @@ and it supports a very flexible form of test discovery.") | |||
| (define-public doctest | ||||
|   (package | ||||
|     (name "doctest") | ||||
|     (version "2.3.7") | ||||
|     (version "2.3.8") | ||||
|     (home-page "https://github.com/onqtam/doctest") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|  | @ -404,7 +404,7 @@ and it supports a very flexible form of test discovery.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "134lx7pjnglrl4wdmyr9dz3rjb6d4ir6rvapg00gp52n44dbhnrq")))) | ||||
|                 "16w907750jnp98vdzkn72lzwy1zyryaqvfi80lbdp398pj23rq65")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (synopsis "C++ test framework") | ||||
|     (description | ||||
|  | @ -584,14 +584,13 @@ but it works for any C/C++ project.") | |||
| (define-public python-parameterized | ||||
|   (package | ||||
|     (name "python-parameterized") | ||||
|     (version "0.7.3") | ||||
|     (version "0.7.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "parameterized" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0g1q6n7fkanjv7i1djzw62f46xf573jvza7afabh3baqjqxy7rpd")))) | ||||
|         (base32 "1444fdz5bj0k10nmhxv0bv2gfrfisi7hfzqdndb0pvhf4g3qq3qr")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      '(#:phases (modify-phases %standard-phases | ||||
|  | @ -1703,14 +1702,13 @@ normally the case.") | |||
| (define-public python-pytest-sugar | ||||
|   (package | ||||
|     (name "python-pytest-sugar") | ||||
|     (version "0.9.2") | ||||
|     (version "0.9.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "pytest-sugar" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1asq7yc4g8bx2sn7yy974mhc9ywvaihasjab4inkirdwn9s7mn7w")))) | ||||
|         (base32 "1i0hv3h49zvl62jbiyjag84carbrp3zprqzxffdr291nxavvac0n")))) | ||||
|     (build-system python-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("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.") | ||||
|     (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 | ||||
|   (package | ||||
|     (name "python-pylint") | ||||
|     (version "2.3.1") | ||||
|     (version "2.5.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -1902,9 +1898,11 @@ statements in the module it tests.") | |||
|              (commit (string-append "pylint-" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "17vvzbcqmkhr4icq5p3737nbiiyj1y3g1pa08n9mb1bsnvxmqq0z")))) | ||||
|         (base32 "04cgbh2z1mygar63plzziyz34yg6bdr4i0g63jp256fgnqwb1bi3")))) | ||||
|     (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 | ||||
|      `(("python-pytest" ,python-pytest) | ||||
|        ("python-pytest-runner" ,python-pytest-runner) | ||||
|  | @ -1913,7 +1911,8 @@ statements in the module it tests.") | |||
|      `(("python-astroid" ,python-astroid) | ||||
|        ("python-isort" ,python-isort) | ||||
|        ("python-mccabe" ,python-mccabe) | ||||
|        ("python-six" ,python-six))) | ||||
|        ("python-six" ,python-six) | ||||
|        ("python-toml" ,python-toml))) | ||||
|     (home-page "https://github.com/PyCQA/pylint") | ||||
|     (synopsis "Python source code analyzer which looks for coding standard | ||||
| errors") | ||||
|  | @ -1946,7 +1945,7 @@ possible to write plugins to add your own checks.") | |||
|                  (base32 | ||||
|                   "02a89d8a47s7nfiv1ady3j0sg2sbyja3np145brarfp5x9qxz9x2")))) | ||||
|              (arguments | ||||
|               `(,@(package-arguments pylint) | ||||
|               `(,@(strip-keyword-arguments '(#:tests?) (package-arguments pylint)) | ||||
|                 #:phases | ||||
|                 (modify-phases %standard-phases | ||||
|                   (replace 'check | ||||
|  | @ -2519,7 +2518,7 @@ provides a simple way to achieve this.") | |||
| (define-public umockdev | ||||
|   (package | ||||
|     (name "umockdev") | ||||
|     (version "0.13.2") | ||||
|     (version "0.14.1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://github.com/martinpitt/umockdev/" | ||||
|  | @ -2527,7 +2526,7 @@ provides a simple way to achieve this.") | |||
|                                   "umockdev-" version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "095v3abc321s584sga04y16lcmdzsdi88h24wcrm78v7vq484g74")))) | ||||
|                 "1g78jcrvb7yyh0q5kv5409wjqf8nlfqnw1rknm3a247mcx317dpz")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -2539,6 +2538,7 @@ provides a simple way to achieve this.") | |||
|              #t))))) | ||||
|     (native-inputs | ||||
|      `(("vala" ,vala) | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|        ("gtk-doc" ,gtk-doc) | ||||
|        ("pkg-config" ,pkg-config) | ||||
| 
 | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> | ||||
| ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@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 © 2018 Clément Lassieur <clement@lassieur.org> | ||||
| ;;; | ||||
|  | @ -47,8 +47,8 @@ | |||
|   #:use-module (guix build-system gnu)) | ||||
| 
 | ||||
| (define-public cuirass | ||||
|   (let ((commit "9559fd18d4b89bf797216fbe187f2b26b0a2d165") | ||||
|         (revision "30")) | ||||
|   (let ((commit "2280ae18eb25aa7034636c58bf288c9bd5a8fa3b") | ||||
|         (revision "31")) | ||||
|     (package | ||||
|       (name "cuirass") | ||||
|       (version (git-version "0.0.1" revision commit)) | ||||
|  | @ -60,7 +60,7 @@ | |||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "026cpcws8mb483mywwx2znpy9i7lw5n3lyqa9k6d87kxmw59060c")))) | ||||
|                   "1gbmpwgiwy740d936b052gfivzw52pgrny7j7lbl56wi9wnawkc9")))) | ||||
|       (build-system gnu-build-system) | ||||
|       (arguments | ||||
|        '(#:modules ((guix build utils) | ||||
|  | @ -123,7 +123,7 @@ | |||
|        `(("guile" ,guile-3.0) | ||||
|          ("guile-fibers" ,guile-fibers) | ||||
|          ("guile-gcrypt" ,guile-gcrypt) | ||||
|          ("guile-json" ,guile-json-3) | ||||
|          ("guile-json" ,guile-json-4) | ||||
|          ("guile-sqlite3" ,guile-sqlite3) | ||||
|          ("guile-git" ,guile-git) | ||||
|          ;; 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 © 2015 Andreas Enge <andreas@enge.fr> | ||||
| ;;; 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 Clément Lassieur <clement@lassieur.org> | ||||
| ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> | ||||
|  | @ -13,6 +13,7 @@ | |||
| ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> | ||||
| ;;; Copyright © 2019 Hartmut Goebel <h.goebel@goebel-consult.de> | ||||
| ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||||
| ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -43,11 +44,16 @@ | |||
|   #:use-module (gnu packages autotools) | ||||
|   #:use-module (gnu packages base) | ||||
|   #:use-module (gnu packages bash) | ||||
|   #:use-module (gnu packages c) | ||||
|   #:use-module (gnu packages compression) | ||||
|   #:use-module (gnu packages cpp) | ||||
|   #:use-module (gnu packages emacs) | ||||
|   #:use-module (gnu packages gcc) | ||||
|   #: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 perl) | ||||
|   #:use-module (gnu packages perl-compression) | ||||
|  | @ -55,9 +61,8 @@ | |||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages sqlite) | ||||
|   #:use-module (gnu packages texinfo) | ||||
|   #:use-module (gnu packages ncurses) | ||||
|   #:use-module (gnu packages llvm) | ||||
|   #:use-module (gnu packages lua)) | ||||
|   #:use-module (gnu packages web) | ||||
|   #:use-module (gnu packages xml)) | ||||
| 
 | ||||
| ;;; 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=" | ||||
|                             (assoc-ref %build-inputs "ncurses")) | ||||
|              (string-append "--with-sqlite3=" | ||||
|                             (assoc-ref %build-inputs "sqlite"))) | ||||
|                             (assoc-ref %build-inputs "sqlite")) | ||||
|              "--disable-static") | ||||
| 
 | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|         (add-after 'install 'post-install | ||||
|           (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")) | ||||
|                    (data (string-append out "/share/gtags")) | ||||
|                    (vim  (string-append out "/share/vim/vimfiles/plugin")) | ||||
|                    (lisp (string-append out "/share/emacs/site-lisp"))) | ||||
|               (install-file (string-append data "/gtags.el") lisp) | ||||
|               (delete-file (string-append data "/gtags.el")) | ||||
|               (mkdir-p lisp) | ||||
|               (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)))))) | ||||
|     (home-page "https://www.gnu.org/software/global/") | ||||
|     (synopsis "Cross-environment source code tag system") | ||||
|  | @ -217,7 +230,7 @@ COCOMO model or user-provided parameters.") | |||
| (define-public cloc | ||||
|   (package | ||||
|     (name "cloc") | ||||
|     (version "1.84") | ||||
|     (version "1.86") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -226,7 +239,7 @@ COCOMO model or user-provided parameters.") | |||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "14xikdwcr6pcnkk2i43zrsj88z8b3mrv0svbnbvxvarw1id83pnn")))) | ||||
|         (base32 "082gj2b3x11bilz8c572dd60vn6n0fhld5zhi7wk7g1wy9wlgm9w")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs | ||||
|      `(("coreutils" ,coreutils) | ||||
|  | @ -321,6 +334,83 @@ features that are not supported by the standard @code{stdio} implementation.") | |||
|     (license (license:non-copyleft | ||||
|               "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 | ||||
|   (package | ||||
|     (name "withershins") | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ | |||
| ;;; Copyright © 2015, 2016, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net> | ||||
| ;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name> | ||||
| ;;; 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 Danny Milosavljevic <dannym@scratchpost.org> | ||||
| ;;; 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")) | ||||
|                       (install-file "pigz.1" man) | ||||
|                       #t)))) | ||||
|        #:make-flags (list "CC=gcc") | ||||
|        #:make-flags | ||||
|        (list ,(string-append "CC=" (cc-for-target))) | ||||
|        #:test-target "tests")) | ||||
|     (inputs `(("zlib" ,zlib))) | ||||
|     (home-page "https://zlib.net/pigz/") | ||||
|  | @ -1682,7 +1683,7 @@ of archives.") | |||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|        (list "CC=gcc"))) | ||||
|        (list ,(string-append "CC=" (cc-for-target))))) | ||||
|     (home-page "https://www.nongnu.org/lzip/lunzip.html") | ||||
|     (synopsis "Small, stand-alone lzip decompressor") | ||||
|     (description | ||||
|  | @ -1709,7 +1710,7 @@ Lunzip is intended to be fully compatible with the regular lzip package.") | |||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|        (list "CC=gcc"))) | ||||
|        (list ,(string-append "CC=" (cc-for-target))))) | ||||
|     (home-page "https://www.nongnu.org/lzip/clzip.html") | ||||
|     (synopsis "Small, stand-alone lzip compressor and decompressor") | ||||
|     (description | ||||
|  | @ -1939,7 +1940,7 @@ download times, and other distribution and storage costs.") | |||
| (define-public quazip | ||||
|   (package | ||||
|     (name "quazip") | ||||
|     (version "0.9") | ||||
|     (version "0.9.1") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -1948,7 +1949,7 @@ download times, and other distribution and storage costs.") | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0psvf3d9akyyx3bckc9325nmbp97xiagf8la4vhca5xn2f430fbn")))) | ||||
|                 "11icgwv2xyxhd1hm1add51xv54zwkcqkg85d1xqlgiigvbm196iq")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f))                    ;no test | ||||
|  | @ -2098,7 +2099,7 @@ file compression algorithm.") | |||
| (define-public xarchiver | ||||
|   (package | ||||
|     (name "xarchiver") | ||||
|     (version "0.5.4.14") | ||||
|     (version "0.5.4.15") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -2107,7 +2108,7 @@ file compression algorithm.") | |||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1iklwgykgymrwcc5p1cdbh91v0ih1m58s3w9ndl5kyd44bwlb7px")))) | ||||
|         (base32 "0a3y54r5zp2c0cqm77r07qrl1vh200wvqmbhm35diy22fvkq5mwc")))) | ||||
|     (build-system glib-or-gtk-build-system) | ||||
|     (native-inputs | ||||
|      `(("gettext" ,gettext-minimal) | ||||
|  | @ -2115,7 +2116,7 @@ file compression algorithm.") | |||
|        ("libxslt" ,libxslt) | ||||
|        ("pkg-config" ,pkg-config))) | ||||
|     (inputs | ||||
|      `(("adwaita-icon-theme" ,adwaita-icon-theme) ; Hard-coded theme | ||||
|      `(("adwaita-icon-theme" ,adwaita-icon-theme) ; hard-coded theme | ||||
|        ("gtk+" ,gtk+))) | ||||
|     (home-page "https://github.com/ib/xarchiver") | ||||
|     (synopsis "Graphical front-end for archive operations") | ||||
|  | @ -2204,11 +2205,8 @@ computations.") | |||
|     (arguments | ||||
|      `(#:tests? #f                      ; no check target | ||||
|        #:make-flags | ||||
|        (let ((target ,(%current-target-system))) | ||||
|          (list (string-append "CC=" (if target | ||||
|                                         (string-append target "-gcc") | ||||
|                                         "gcc")) | ||||
|                (string-append "DESTDIR=" (assoc-ref %outputs "out")))) | ||||
|        (list (string-append "CC=" ,(cc-for-target)) | ||||
|              (string-append "DESTDIR=" (assoc-ref %outputs "out"))) | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (replace 'configure | ||||
|  |  | |||
|  | @ -297,7 +297,7 @@ tools (containers, algorithms) used by other QuantStack packages.") | |||
| (define-public ccls | ||||
|   (package | ||||
|     (name "ccls") | ||||
|     (version "0.20190823.5") | ||||
|     (version "0.20190823.6") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -305,11 +305,11 @@ tools (containers, algorithms) used by other QuantStack packages.") | |||
|              (url "https://github.com/MaskRay/ccls") | ||||
|              (commit version))) | ||||
|        (sha256 | ||||
|         (base32 "0b2pkpzn576b92zcxpwchpkyw2fww6s69818rx4g9z34kzm35zy5")) | ||||
|         (base32 "11h5nwk4qqshf3i8yr4bxpnvmidrhkzd0zxhf1xqv8cv6r08k47f")) | ||||
|        (file-name (git-file-name name version)))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      '(#:tests? #f)) ; no check target. | ||||
|      '(#:tests? #f))                    ; no check target | ||||
|     (inputs | ||||
|      `(("rapidjson" ,rapidjson))) | ||||
|     (native-inputs | ||||
|  | @ -458,7 +458,7 @@ point and then, after each tween step, plugging back the result.") | |||
| (define-public abseil-cpp | ||||
|   (package | ||||
|     (name "abseil-cpp") | ||||
|     (version "20200225.1") | ||||
|     (version "20200225.2") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (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)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "035bffayslawc19q2gmlkr6n6r7k7mvriaq7352rv6gyzaplr98w")))) | ||||
|                 "0dwxg54pv6ihphbia0iw65r64whd7v8nm4wwhcz219642cgpv54y")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#: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 Nicolas Goaziou <mail@nicolasgoaziou.fr> | ||||
| ;;; 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 Hartmut Goebel <h.goebel@crazy-compilers.com> | ||||
| ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> | ||||
|  | @ -18967,14 +18967,14 @@ rust.") | |||
| (define-public rust-rpassword-4 | ||||
|   (package | ||||
|     (name "rust-rpassword") | ||||
|     (version "4.0.3") | ||||
|     (version "4.0.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (crate-uri "rpassword" version)) | ||||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "0jnl8wzmdazkpzqs0vsw0n0vm0v4b8chqifd6s84nl9w2ybhx7ym")))) | ||||
|         (base32 "17z99xazhhbaczw0ib1vnnq450j0zacdn8b2zcbdir68sdbicdwr")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:cargo-inputs | ||||
|  | @ -20380,7 +20380,7 @@ proven statistical guarantees.") | |||
| (define-public rust-serde-bytes-0.11 | ||||
|   (package | ||||
|     (name "rust-serde-bytes") | ||||
|     (version "0.11.3") | ||||
|     (version "0.11.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -20388,8 +20388,7 @@ proven statistical guarantees.") | |||
|        (file-name | ||||
|         (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1bl45kf3c71xclv7wzk5525nswm4bgsnjd3s1s15f4k2a8whfnij")))) | ||||
|         (base32 "1fcb6sw8wkrj4ylm118wkb31hw124nkjnqyhbgqnd8w85zfhgbhn")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:skip-build? #t | ||||
|  | @ -20400,8 +20399,7 @@ proven statistical guarantees.") | |||
|         ("rust-serde-derive" ,rust-serde-derive-1.0) | ||||
|         ("rust-serde-test" ,rust-serde-test-1.0)))) | ||||
|     (home-page "https://github.com/serde-rs/bytes") | ||||
|     (synopsis | ||||
|      "Handle of integer arrays and vectors for Serde") | ||||
|     (synopsis "Handle integer arrays and vectors for Serde") | ||||
|     (description | ||||
|      "Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.") | ||||
|     (license (list license:expat license:asl2.0)))) | ||||
|  | @ -23747,14 +23745,14 @@ in Rust.") | |||
| (define-public rust-tokio-0.2 | ||||
|   (package | ||||
|     (name "rust-tokio") | ||||
|     (version "0.2.18") | ||||
|     (version "0.2.21") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (crate-uri "tokio" version)) | ||||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "04v7rfkrlr8cx30ygy0n45skf6pdbif0zisn9a5xrdnjfb81dvrl")))) | ||||
|         (base32 "0n1dxsjv9fxv3kmr3nh4n8v8pqckwgdlls942msysavhp4kzm6fh")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:skip-build? #t | ||||
|  | @ -25681,15 +25679,14 @@ designed for reexporting.") | |||
| (define-public rust-version-check-0.9 | ||||
|   (package | ||||
|     (name "rust-version-check") | ||||
|     (version "0.9.1") | ||||
|     (version "0.9.2") | ||||
|     (source | ||||
|       (origin | ||||
|         (method url-fetch) | ||||
|         (uri (crate-uri "version_check" version)) | ||||
|         (file-name (string-append name "-" version ".crate")) | ||||
|         (sha256 | ||||
|          (base32 | ||||
|           "1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7")))) | ||||
|          (base32 "1vbaqdf802qinsq8q20w8w0qn2pv0rkq5p73ijcblrwxcvjp5adm")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (home-page "https://github.com/SergioBenitez/version_check") | ||||
|     (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 | ||||
|   (package | ||||
|     (name "rust-xml-rs") | ||||
|     (version "0.8.1") | ||||
|     (version "0.8.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -27444,7 +27441,14 @@ to XDG Base Directory specification") | |||
|         (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (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) | ||||
|     (arguments | ||||
|      `(#:cargo-development-inputs | ||||
|  | @ -27478,22 +27482,20 @@ to XDG Base Directory specification") | |||
| (define-public rust-yaml-rust-0.4 | ||||
|   (package | ||||
|     (name "rust-yaml-rust") | ||||
|     (version "0.4.3") | ||||
|     (version "0.4.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (crate-uri "yaml-rust" version)) | ||||
|        (file-name | ||||
|         (string-append name "-" version ".tar.gz")) | ||||
|        (file-name (string-append name "-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0ka3qhqc5lvk3hz14wmsj32jhmh44blcbfrx5hfxli2gg38kv4k5")))) | ||||
|         (base32 "038byay0dxsz6isckviz4qshfpyjqmyvda7pq96i6d53y4ickw1r")))) | ||||
|     (build-system cargo-build-system) | ||||
|     (arguments | ||||
|      `(#:cargo-inputs | ||||
|        (("rust-linked-hash-map" ,rust-linked-hash-map-0.5)) | ||||
|        #:cargo-development-inputs | ||||
|        (("rust-quickcheck" ,rust-quickcheck-0.7)))) | ||||
|        (("rust-quickcheck" ,rust-quickcheck-0.9)))) | ||||
|     (home-page "https://chyh1990.github.io/yaml-rust/") | ||||
|     (synopsis "The missing YAML 1.2 parser for rust") | ||||
|     (description | ||||
|  |  | |||
|  | @ -1031,7 +1031,7 @@ quickly by using all your CPU cores and hardware acceleration.") | |||
| (define-public minisign | ||||
|   (package | ||||
|     (name "minisign") | ||||
|     (version "0.8") | ||||
|     (version "0.9") | ||||
|     (source | ||||
|      (origin | ||||
|        (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/" | ||||
|                        version "/minisign-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "10hhgwxf9rcdlr00shrkcyxndrc22dh5lj8k5z27xg3nc0jba3hk")))) | ||||
|         (base32 "1h9cfvvm6lqq33b2wdar1x3w4k7zyrscavllyb0l5dmcdabq60r2")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      ; No test suite | ||||
|  | @ -1064,7 +1063,7 @@ Trusted comments are signed, thus verified, before being displayed.") | |||
| (define-public libolm | ||||
|   (package | ||||
|     (name "libolm") | ||||
|     (version "3.1.4") | ||||
|     (version "3.1.5") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -1072,7 +1071,7 @@ Trusted comments are signed, thus verified, before being displayed.") | |||
|                     (commit version))) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "06s7rw4a9vn35wzz7chxn54mp0sjgbpv2bzz9lq0g4hnzw33cjbi")) | ||||
|                 "030g0jmmvhx2dh32k708sz6cdd5q1wz48i4gigh6dclqk10w28lm")) | ||||
|               (file-name (git-file-name name version)))) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  |  | |||
|  | @ -58,7 +58,7 @@ | |||
|     `(("pkg-config" ,pkg-config))) | ||||
|    (inputs | ||||
|     `(("argon2" ,argon2) | ||||
|       ("json-c" ,json-c) | ||||
|       ("json-c" ,json-c-0.13)   ;XXX update this for cryptsetup >= 2.3 | ||||
|       ("libgcrypt" ,libgcrypt) | ||||
|       ("lvm2" ,lvm2)                    ; device-mapper | ||||
|       ("popt" ,popt) | ||||
|  | @ -138,7 +138,7 @@ files).  This assumes LIBRARY uses Libtool." | |||
|               (inherit (static-library libgcrypt)) | ||||
|               (propagated-inputs | ||||
|                `(("libgpg-error-host" ,(static-library libgpg-error))))))) | ||||
|        `(("json-c" ,json-c) | ||||
|        `(("json-c" ,json-c-0.13) | ||||
|          ("libgcrypt" ,libgcrypt-static) | ||||
|          ("lvm2" ,lvm2-static) | ||||
|          ("util-linux" ,util-linux "static") | ||||
|  |  | |||
|  | @ -125,12 +125,6 @@ | |||
|                           (("/usr/local/lib/cups/filter") | ||||
|                            (string-append out "/lib/cups/filter"))) | ||||
|                         #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 | ||||
|                     (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|                       ;; 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))) | ||||
| 
 | ||||
| (define-public cups | ||||
|   (package (inherit cups-minimal) | ||||
|   (package/inherit cups-minimal | ||||
|     (name "cups") | ||||
|     (arguments | ||||
|      `(;; Three tests fail: | ||||
|  | @ -421,14 +415,14 @@ should only be used as part of the Guix cups-pk-helper service.") | |||
| (define-public hplip | ||||
|   (package | ||||
|     (name "hplip") | ||||
|     (version "3.20.3") | ||||
|     (version "3.20.5") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://sourceforge/hplip/hplip/" version | ||||
|                                   "/hplip-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0sh6cg7yjc11x1cm4477iaslj9n8ksghs85hqwgfbk7m5b2pw2a1")) | ||||
|                 "0nj79r61fzddwwzf8kcc0qkp4y9qx46v15iarz6h6y3v91wbsjq0")) | ||||
|               (modules '((guix build utils))) | ||||
|               (patches (search-patches "hplip-remove-imageprocessor.patch")) | ||||
|               (snippet | ||||
|  |  | |||
|  | @ -26,14 +26,13 @@ | |||
| (define-public ropgadget | ||||
|   (package | ||||
|     (name "ropgadget") | ||||
|     (version "6.2") | ||||
|     (version "6.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (pypi-uri "ROPGadget" version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0idiicgpijar9l9kqmfdh865c2mkfgxg0q7lpz77jc09l6q0afjh")))) | ||||
|         (base32 "0v34w88if3p4vn46aby24msfnxj6znmkf4848n4d24jnykxcsqk9")))) | ||||
|     (build-system python-build-system) | ||||
|     (propagated-inputs | ||||
|      `(("python-capstone" ,python-capstone))) | ||||
|  |  | |||
|  | @ -88,7 +88,9 @@ | |||
|   #:use-module (gnu packages language) | ||||
|   #:use-module (gnu packages libevent) | ||||
|   #:use-module (gnu packages linux) | ||||
|   #:use-module (gnu packages logging) | ||||
|   #:use-module (gnu packages man) | ||||
|   #:use-module (gnu packages maths) | ||||
|   #:use-module (gnu packages ncurses) | ||||
|   #:use-module (gnu packages onc-rpc) | ||||
|   #:use-module (gnu packages parallel) | ||||
|  | @ -98,6 +100,7 @@ | |||
|   #:use-module (gnu packages perl-web) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages popt) | ||||
|   #:use-module (gnu packages protobuf) | ||||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages python-crypto) | ||||
|   #:use-module (gnu packages python-web) | ||||
|  | @ -105,6 +108,8 @@ | |||
|   #:use-module (gnu packages python-xyz) | ||||
|   #:use-module (gnu packages rdf) | ||||
|   #:use-module (gnu packages readline) | ||||
|   #:use-module (gnu packages regex) | ||||
|   #:use-module (gnu packages rpc) | ||||
|   #:use-module (gnu packages ruby) | ||||
|   #:use-module (gnu packages serialization) | ||||
|   #:use-module (gnu packages sphinx) | ||||
|  | @ -679,7 +684,7 @@ Language.") | |||
| (define-public mariadb | ||||
|   (package | ||||
|     (name "mariadb") | ||||
|     (version "10.1.44") | ||||
|     (version "10.1.45") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://downloads.mariadb.com/MariaDB" | ||||
|  | @ -687,7 +692,7 @@ Language.") | |||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0fah6d50hldq0farxwr8mj3jnniwdz0d1wsha07nx37fc79h7wi1")) | ||||
|                 "1mfs0x4c0z7d306n128dxdawk3llk25vxif5zwl20fv1z5qhz3wx")) | ||||
|               (patches (search-patches "mariadb-client-test-32bit.patch")) | ||||
|               (modules '((guix build utils))) | ||||
|               (snippet | ||||
|  | @ -933,7 +938,7 @@ as a drop-in replacement of MySQL.") | |||
| (define-public mariadb-connector-c | ||||
|   (package | ||||
|     (name "mariadb-connector-c") | ||||
|     (version "3.1.6") | ||||
|     (version "3.1.8") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -942,13 +947,12 @@ as a drop-in replacement of MySQL.") | |||
|                     version "-src.tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "083724f5daaqyzdcx508caz6fk2hs89jff85zg28ih43vxkvnrnj")))) | ||||
|                 "0yrzhsxmjiwkhchagx8dymzhvxl3k5h40wn9wpicqjvgjb9k8523")))) | ||||
|     (inputs | ||||
|      `(("openssl" ,openssl))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      ;; No tests. | ||||
|      '(#:tests? #f)) | ||||
|      '(#:tests? #f))                    ; no tests | ||||
|     (home-page "https://mariadb.com/kb/en/mariadb-connector-c/") | ||||
|     (synopsis "Client library to connect to MySQL or MariaDB") | ||||
|     (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 | ||||
|   (package | ||||
|     (name "postgresql") | ||||
|     (version "10.12") | ||||
|     (version "10.13") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://ftp.postgresql.org/pub/source/v" | ||||
|                                   version "/postgresql-" version ".tar.bz2")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1rsab4zf4rx7pvvhlwhb04kb95aiad9cwazc4ksbvg2gij47z3rq")) | ||||
|                 "1qal0yp7a90yzya7hl56gsmw5fvacplrdhpn7h9gnbyr1i2iyw2d")) | ||||
|               (patches (search-patches "postgresql-disable-resolve_symlinks.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|  | @ -1143,7 +1147,7 @@ including field and record folding."))) | |||
| (define-public rocksdb | ||||
|   (package | ||||
|     (name "rocksdb") | ||||
|     (version "6.8.1") | ||||
|     (version "6.10.1") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -1152,7 +1156,7 @@ including field and record folding."))) | |||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0i6qglyrcqwxnrvq67zm7ln79a4sj8mzgij9h0nz5zkxax8v1zg1")) | ||||
|                 "0rp8q73dx5f1nkcf2qp6fljm4dpj281y6cqckqgv976kvwvqdgz1")) | ||||
|               (modules '((guix build utils))) | ||||
|               (snippet | ||||
|                '(begin | ||||
|  | @ -1459,7 +1463,7 @@ extremely small.") | |||
| (define-public perl-dbi | ||||
|   (package | ||||
|     (name "perl-dbi") | ||||
|     (version "1.642") | ||||
|     (version "1.643") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -1467,7 +1471,7 @@ extremely small.") | |||
|                     version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0pbzqazrx7pnw4nbyaf27in4b6yddkirbd2ws7mnqa2n7812a81z")))) | ||||
|                 "1yinx39960y241vf2sknxj0dfz82a5m9gvklq5rw78k0nlyrjawa")))) | ||||
|     (build-system perl-build-system) | ||||
|     (synopsis "Database independent 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 | ||||
|   (package | ||||
|     (name "perl-dbd-sqlite") | ||||
|     (version "1.62") | ||||
|     (version "1.64") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -1711,7 +1715,7 @@ columns, primary keys, unique constraints and relationships.") | |||
|                     version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0p78ri1q6xpc1i98i6mlriv8n66iz8r5r11dlsknjm4y58rfz0mx")))) | ||||
|                 "00gz5aw3xrr92lf9nfk0dhmy7a8jzmxhznddd9b0a8w4a1xqzbpl")))) | ||||
|     (build-system perl-build-system) | ||||
|     (inputs `(("sqlite" ,sqlite))) | ||||
|     (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 | ||||
|   (package | ||||
|     (name "perl-sql-abstract") | ||||
|     (version "1.86") | ||||
|     (version "1.87") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/" | ||||
|                            "SQL-Abstract-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "1pwcm8hwxcgidyyrak37lx69d85q728jxsb0b14jz93gbvdgg9z7")))) | ||||
|         (base32 "0jhw91b23wc9bkfwcgvka4x5ddxk58m9bcp5ay7a3vx77nla09p9")))) | ||||
|     (build-system perl-build-system) | ||||
|     (native-inputs | ||||
|      `(("perl-module-install" ,perl-module-install) | ||||
|  | @ -2049,17 +2053,14 @@ database.") | |||
| (define-public perl-db-file | ||||
|  (package | ||||
|   (name "perl-db-file") | ||||
|   (version "1.852") | ||||
|   (version "1.853") | ||||
|   (source | ||||
|     (origin | ||||
|       (method url-fetch) | ||||
|       (uri (string-append | ||||
|              "mirror://cpan/authors/id/P/PM/PMQS/DB_File-" | ||||
|              version | ||||
|              ".tar.gz")) | ||||
|       (uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/DB_File-" | ||||
|                           version ".tar.gz")) | ||||
|       (sha256 | ||||
|         (base32 | ||||
|           "14c30xyqx9c1hxw40bqbzls41al8gmklxv5jbk2kknmn4dsrbdrs")))) | ||||
|         (base32 "1y967si45vj0skip1hnhicbv9da29fv6qcfwnsbnvj06n36mkj6h")))) | ||||
|   (build-system perl-build-system) | ||||
|   (inputs `(("bdb" ,bdb))) | ||||
|   (native-inputs `(("perl-test-pod" ,perl-test-pod))) | ||||
|  | @ -2081,16 +2082,16 @@ database.") | |||
| (define-public lmdb | ||||
|   (package | ||||
|     (name "lmdb") | ||||
|     (version "0.9.24") | ||||
|     (version "0.9.25") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/LMDB/lmdb.git") | ||||
|              (url "https://git.openldap.org/openldap/openldap.git") | ||||
|              (commit (string-append "LMDB_" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "088q6m8fvr12w43s461h7cvpg5hj8csaqj6n9pci150dz7bk5lxm")))) | ||||
|         (base32 "0i60zlca8r6fib23gdgl4c80gxpx24772ggpvz94yr7zaai4k11w")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:test-target "test" | ||||
|  | @ -2102,7 +2103,7 @@ database.") | |||
|              (substitute* "Makefile" | ||||
|                (("/usr/local") (assoc-ref outputs "out"))) | ||||
|             #t))))) | ||||
|     (home-page "https://symas.com/products/lightning-memory-mapped-database") | ||||
|     (home-page "https://symas.com/lmdb/") | ||||
|     (synopsis "Lightning Memory-Mapped Database library") | ||||
|     (description | ||||
|      "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 | ||||
|   (package | ||||
|     (name "python-peewee") | ||||
|     (version "2.10.2") | ||||
|     (version "3.9.6") | ||||
|       (source | ||||
|         (origin | ||||
|         (method url-fetch) | ||||
|         (uri (pypi-uri "peewee" version)) | ||||
|         (sha256 | ||||
|          (base32 | ||||
|           "10f2mrd5hw6rjklrzaix2lsxlgc8vx3xak54arcy6yd791zhchi3")))) | ||||
|           "1j4sh946k0736m7pd54z0y6i2hjhgg3kdllx1pwq8xkzzcgrx1xw")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      `(#: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 | ||||
|   (package | ||||
|     (name "python-lmdb") | ||||
|     (version "0.95") | ||||
|     (version "0.98") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (pypi-uri "lmdb" version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0nx9f193gzl33r1lbqhb96h1igya7pz8wmahr8m9x5zgc05hal91")) | ||||
|                 "027pgbdhhdcbwj53vrzr6a60gjhmz4s75gl3180fd4q8pwlbq986")) | ||||
|               (modules '((guix build utils))) | ||||
|               (snippet | ||||
|                ;; 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. | ||||
|            license:bsd-3)))) | ||||
| 
 | ||||
| (define-public python2-lmdb | ||||
|   (package-with-python2 python-lmdb)) | ||||
| 
 | ||||
| (define-public python-orator | ||||
|   (package | ||||
|     (name "python-orator") | ||||
|  | @ -3223,20 +3221,22 @@ Monitor read/write activity on a mongo server | |||
| @end table") | ||||
|     (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 | ||||
|   (package | ||||
|     (name "apache-arrow") | ||||
|     (version "0.10.0") | ||||
|     (version "0.17.1") | ||||
|     (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")))) | ||||
|      (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 | ||||
|          "02r6yx3yhywzikd3b0vfkjgddhfiriyx2vpm3jf5880wq59x798a")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f | ||||
|  | @ -3249,91 +3249,135 @@ Monitor read/write activity on a mongo server | |||
|              (setenv "BOOST_ROOT" (assoc-ref %build-inputs "boost")) | ||||
|              (setenv "BROTLI_HOME" (assoc-ref %build-inputs "brotli")) | ||||
|              (setenv "FLATBUFFERS_HOME" (assoc-ref %build-inputs "flatbuffers")) | ||||
|              (setenv "JEMALLOC_HOME" (assoc-ref %build-inputs "jemalloc")) | ||||
|              (setenv "RAPIDJSON_HOME" (assoc-ref %build-inputs "rapidjson")) | ||||
|              #t))) | ||||
|        #:build-type "Release" | ||||
|        #:configure-flags | ||||
|        (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 | ||||
|              ;; PREFIX/lib64). | ||||
|              (string-append "-DCMAKE_INSTALL_LIBDIR=" | ||||
|                             (assoc-ref %outputs "out") | ||||
|              ;; The CMake option ARROW_DEPENDENCY_SOURCE is a global | ||||
|              ;; option that instructs the build system how to resolve | ||||
|              ;; each dependency. SYSTEM = Finding the dependency in | ||||
|              ;; 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") | ||||
|              (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, | ||||
|              ;; and ld fails to link them into the arrow .so | ||||
|              "-DARROW_WITH_SNAPPY=OFF" | ||||
|              "-DARROW_WITH_ZLIB=OFF" | ||||
|              "-DARROW_WITH_ZSTD=OFF" | ||||
|              "-DARROW_WITH_LZ4=OFF" | ||||
| 
 | ||||
|              "-DARROW_WITH_SNAPPY=ON" | ||||
|              "-DARROW_WITH_ZLIB=ON" | ||||
|              "-DARROW_WITH_ZSTD=ON" | ||||
|              "-DARROW_WITH_LZ4=ON" | ||||
|              "-DARROW_COMPUTE=ON" | ||||
|              "-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 | ||||
|              ;; optional features and the use of static | ||||
|              ;; libraries. | ||||
|              "-DARROW_BUILD_TESTS=OFF" | ||||
|              "-DBENCHMARK_ENABLE_GTEST_TESTS=OFF" | ||||
|              ;;"-DBENCHMARK_ENABLE_TESTING=OFF" | ||||
|              "-DARROW_BUILD_STATIC=OFF"))) | ||||
|     (inputs | ||||
|      `(("boost" ,boost) | ||||
|        ("rapidjson" ,rapidjson) | ||||
|        ("brotli" ,google-brotli) | ||||
|        ("flatbuffers" ,flatbuffers) | ||||
|        ("jemalloc" ,jemalloc) | ||||
|        ("double-conversion" ,double-conversion) | ||||
|        ("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-numpy" ,python-numpy))) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config))) | ||||
|     (outputs '("out" "lib" "include")) | ||||
|     (home-page "https://arrow.apache.org/") | ||||
|     (synopsis "Columnar in-memory analytics") | ||||
|     (description "Apache Arrow is a columnar in-memory analytics layer | ||||
| designed to accelerate big data. It houses a set of canonical in-memory | ||||
| designed to accelerate big data.  It houses a set of canonical in-memory | ||||
| representations of flat and hierarchical data along with multiple | ||||
| language-bindings for structure manipulation. It also provides IPC and common | ||||
| language-bindings for structure manipulation.  It also provides IPC and common | ||||
| algorithm implementations.") | ||||
|     (license license:asl2.0))) | ||||
| 
 | ||||
| (define-public python-pyarrow | ||||
|   (package | ||||
|     (inherit apache-arrow) | ||||
|     (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) | ||||
|     (arguments | ||||
|      '(#:tests? #f ; XXX There are no tests in the "python" directory | ||||
|      '(#:tests? #f          ; XXX There are no tests in the "python" directory | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (delete 'build) ; XXX the build is performed again during the install phase | ||||
|          (add-after 'unpack 'enter-source-directory | ||||
|            (lambda _ (chdir "python") #t)) | ||||
|          (add-after 'unpack 'set-env | ||||
|          (add-after 'unpack 'make-git-checkout-writable | ||||
|            (lambda _ | ||||
|              (setenv "ARROW_HOME" (assoc-ref %build-inputs "apache-arrow")) | ||||
|              (for-each make-file-writable (find-files ".")) | ||||
|              #t))))) | ||||
|     (propagated-inputs | ||||
|      `(("apache-arrow" ,apache-arrow) | ||||
|      `(("apache-arrow" ,apache-arrow "lib") | ||||
|        ("python-numpy" ,python-numpy) | ||||
|        ("python-pandas" ,python-pandas) | ||||
|        ("python-six" ,python-six))) | ||||
|     (native-inputs | ||||
|      `(("cmake" ,cmake-minimal) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("python-cython" ,python-cython) | ||||
|        ("python-pytest" ,python-pytest) | ||||
|        ("python-pytest-runner" ,python-pytest-runner) | ||||
|        ("python-setuptools-scm" ,python-setuptools-scm))) | ||||
|     (outputs '("out")) | ||||
|     (home-page "https://arrow.apache.org/docs/python/") | ||||
|     (synopsis "Python bindings for Apache Arrow") | ||||
|     (description "This library provides a Pythonic API wrapper for the reference | ||||
| Arrow C++ implementation, along with tools for interoperability with pandas, | ||||
| NumPy, and other traditional Python scientific computing packages.") | ||||
|     (description | ||||
|      "This library provides a Pythonic API wrapper for the reference Arrow C++ | ||||
| implementation, along with tools for interoperability with pandas, NumPy, and | ||||
| other traditional Python scientific computing packages.") | ||||
|     (license license:asl2.0))) | ||||
| 
 | ||||
| (define-public python2-pyarrow | ||||
|  |  | |||
|  | @ -5,6 +5,7 @@ | |||
| ;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com> | ||||
| ;;; Copyright © 2019 Pkill -9 <pkill9@runbox.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. | ||||
| ;;; | ||||
|  | @ -43,6 +44,7 @@ | |||
|   #:use-module (gnu packages gtk) | ||||
|   #:use-module (gnu packages golang) | ||||
|   #:use-module (gnu packages image) | ||||
|   #:use-module (gnu packages libusb) | ||||
|   #:use-module (gnu packages linux) | ||||
|   #:use-module (gnu packages llvm) | ||||
|   #: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 | ||||
| fun.") | ||||
|     (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 | ||||
| be used via the GNU Dico program or accessed online at | ||||
| http://gcide.gnu.org.ua/") | ||||
|     (home-page "http://gcide.gnu.org.ua/") | ||||
|     (home-page "https://gcide.gnu.org.ua/") | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public diction | ||||
|  | @ -205,14 +205,14 @@ It comes with a German-English dictionary with approximately 270,000 entries.") | |||
| (define-public grammalecte | ||||
|   (package | ||||
|     (name "grammalecte") | ||||
|     (version "1.9.0") | ||||
|     (version "1.10.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch/zipbomb) | ||||
|        (uri (string-append "https://grammalecte.net/grammalecte/zip/" | ||||
|                            "Grammalecte-fr-v" version ".zip")) | ||||
|        (sha256 | ||||
|         (base32 "1dmbmvf27dy0cnq2x7ldp9xmni8fl1p7vflgpy0yrgifgrjvnxzr")))) | ||||
|         (base32 "0lyngnvg995qdm9bhqj8vd8aywpcdqmzv3j4j77wxhsfa9k0pz08")))) | ||||
|     (build-system python-build-system) | ||||
|     (home-page "https://grammalecte.net") | ||||
|     (synopsis "French spelling and grammar checker") | ||||
|  | @ -231,7 +231,7 @@ and a Python library.") | |||
| (define-public translate-shell | ||||
|   (package | ||||
|     (name "translate-shell") | ||||
|     (version "0.9.6.11") | ||||
|     (version "0.9.6.12") | ||||
|     (source | ||||
|       (origin | ||||
|         (method git-fetch) | ||||
|  | @ -240,7 +240,7 @@ and a Python library.") | |||
|                (commit (string-append "v" version)))) | ||||
|         (file-name (git-file-name name version)) | ||||
|         (sha256 | ||||
|          (base32 "137fz3ahzf65hfqcs4k7hhrmfjlhlw7wr3gfsvk88bnyqkyw44sm")))) | ||||
|          (base32 "075vqnha21rhr1b61dim7dqlfwm1yffyzcaa83s36rpk9r5sddzx")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  |  | |||
|  | @ -70,163 +70,162 @@ | |||
|   #:use-module (ice-9 match)) | ||||
| 
 | ||||
| (define-public diffoscope | ||||
|   (let ((version "143")) | ||||
|     (package | ||||
|       (name "diffoscope") | ||||
|       (version version) | ||||
|       (source (origin | ||||
|                 (method git-fetch) | ||||
|                 (uri (git-reference | ||||
|                       (url "https://salsa.debian.org/reproducible-builds/diffoscope.git") | ||||
|                       (commit version))) | ||||
|                 (file-name (git-file-name name version)) | ||||
|                 (sha256 | ||||
|                  (base32 | ||||
|                   "0j58dqdk8ln8y0bcnfy37ljs37nkl56lzxqns396300ysln0qiwm")))) | ||||
|       (build-system python-build-system) | ||||
|       (arguments | ||||
|        `(#:phases (modify-phases %standard-phases | ||||
|                     ;; setup.py mistakenly requires python-magic from PyPi, even | ||||
|                     ;; though the Python bindings of `file` are sufficient. | ||||
|                     ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844 | ||||
|                     (add-after 'unpack 'dependency-on-python-magic | ||||
|                       (lambda _ | ||||
|                         (substitute* "setup.py" | ||||
|                           (("'python-magic',") "")))) | ||||
|                     ;; Patch in support for known tools | ||||
|                     (add-after 'unpack 'add-known-tools | ||||
|                       (lambda _ | ||||
|                         (substitute* "diffoscope/external_tools.py" | ||||
|                           (("'debian': 'openssl'") | ||||
|                            "'debian': 'openssl', 'guix': 'openssl'")))) | ||||
|                     ;; This test is broken because our `file` package has a | ||||
|                     ;; bug in berkeley-db file type detection. | ||||
|                     (add-after 'unpack 'remove-berkeley-test | ||||
|                       (lambda _ | ||||
|                         (delete-file "tests/comparators/test_berkeley_db.py") | ||||
|                         #t)) | ||||
|                     ;; Test is dynamically generated and may have false | ||||
|                     ;; negatives with different ocaml versions.  Further | ||||
|                     ;; background in: https://bugs.debian.org/939386 | ||||
|                     (add-after 'unpack 'remove-ocaml-test | ||||
|                       (lambda _ | ||||
|                         (substitute* "tests/comparators/test_ocaml.py" | ||||
|                           (("def test_diff.differences.:") | ||||
|                            "def skip_test_diff(differences):")) | ||||
|                         #t)) | ||||
|                     (add-after 'unpack 'skip-elf-tests | ||||
|                       ;; FIXME: libmix_differences test added in 125, and is | ||||
|                       ;; failing, need to explore why... | ||||
|                       (lambda _ | ||||
|                         (substitute* "tests/comparators/test_elf.py" | ||||
|                           (("def test_libmix_differences.libmix_differences.:") | ||||
|                            "def skip_test_libmix_differences(libmix_differences):")) | ||||
|                         #t)) | ||||
|                     (add-after 'unpack 'embed-tool-references | ||||
|                       (lambda* (#:key inputs #:allow-other-keys) | ||||
|                         (substitute* "diffoscope/comparators/utils/compare.py" | ||||
|                           (("\\['xxd',") | ||||
|                            (string-append "['" (which "xxd") "',"))) | ||||
|                         (substitute* "diffoscope/comparators/elf.py" | ||||
|                           (("@tool_required\\('readelf'\\)") "") | ||||
|                           (("get_tool_name\\('readelf'\\)") | ||||
|                            (string-append "'" (which "readelf") "'"))) | ||||
|                         (substitute* "diffoscope/comparators/directory.py" | ||||
|                           (("@tool_required\\('stat'\\)") "") | ||||
|                           (("@tool_required\\('getfacl'\\)") "") | ||||
|                           (("\\['stat',") | ||||
|                            (string-append "['" (which "stat") "',")) | ||||
|                           (("\\['getfacl',") | ||||
|                            (string-append "['" (which "getfacl") "',"))) | ||||
|                         #t)) | ||||
|                     (add-before 'check 'writable-test-data | ||||
|                       (lambda _ | ||||
|                         ;; tests may need needs write access to tests | ||||
|                         ;; directory | ||||
|                         (for-each make-file-writable (find-files "tests")) | ||||
|                         #t)) | ||||
|                     (add-before 'check 'delete-failing-test | ||||
|                       (lambda _ | ||||
|                         ;; this requires /sbin to be on the path | ||||
|                         (delete-file "tests/test_tools.py") | ||||
|                         #t))))) | ||||
|       (inputs `(("rpm" ,rpm)                        ;for rpm-python | ||||
|                 ("python-file" ,python-file) | ||||
|                 ("python-debian" ,python-debian) | ||||
|                 ("python-libarchive-c" ,python-libarchive-c) | ||||
|                 ("python-tlsh" ,python-tlsh) | ||||
|                 ("acl" ,acl)                        ;for getfacl | ||||
|                 ("colordiff" ,colordiff) | ||||
|                 ("xxd" ,xxd))) | ||||
|       ;; Below are modules used for tests. | ||||
|       (native-inputs `(("python-pytest" ,python-pytest) | ||||
|                        ("python-chardet" ,python-chardet) | ||||
|                        ("python-binwalk" ,python-binwalk) | ||||
|                        ("python-h5py" ,python-h5py) | ||||
|                        ("python-pypdf2" ,python-pypdf2) | ||||
|                        ("python-progressbar33" ,python-progressbar33) | ||||
|                        ;; test suite skips tests when tool is missing | ||||
|                        ,@(match (%current-system) | ||||
|                                 ;; ghc is only available on x86 currently. | ||||
|                                 ((or "x86_64-linux" "i686-linux") | ||||
|                                  `(("ghc" ,ghc))) | ||||
|                                 (_ | ||||
|                                  `())) | ||||
|                        ,@(match (%current-system) | ||||
|                                 ;; openjdk and dependent packages are only | ||||
|                                 ;; available on x86_64 currently. | ||||
|                                 ((or "x86_64-linux") | ||||
|                                  `(("enjarify" ,enjarify) | ||||
|                                    ;; no unversioned openjdk available | ||||
|                                    ("openjdk:jdk" ,openjdk12 "jdk") | ||||
|                                    )) | ||||
|                                 (_ | ||||
|                                  `())) | ||||
|                        ("abootimg" ,abootimg) | ||||
|                        ("bdb" ,bdb) | ||||
|                        ("binutils" ,binutils) | ||||
|                        ("bzip2" ,bzip2) | ||||
|                        ("cdrtools" ,cdrtools) | ||||
|                        ("colord" ,colord) | ||||
|                        ("cpio" ,cpio) | ||||
|                        ("docx2txt" ,docx2txt) | ||||
|                        ("dtc" ,dtc) | ||||
|                        ("e2fsprogs" ,e2fsprogs) | ||||
|                        ("ffmpeg" ,ffmpeg) | ||||
|                        ("gettext" ,gettext-minimal) | ||||
|                        ("ghostscript" ,ghostscript) | ||||
|                        ("giflib:bin" ,giflib "bin") | ||||
|                        ("gnumeric" ,gnumeric) | ||||
|                        ("gnupg" ,gnupg) | ||||
|                        ("hdf5" ,hdf5) | ||||
|                        ("imagemagick" ,imagemagick) | ||||
|                        ("libarchive" ,libarchive) | ||||
|                        ("llvm" ,llvm) | ||||
|                        ("lz4" ,lz4) | ||||
|                        ("mono" ,mono) | ||||
|                        ("ocaml" ,ocaml) | ||||
|                        ("odt2txt" ,odt2txt) | ||||
|                        ("openssh" ,openssh) | ||||
|                        ("openssl" ,openssl) | ||||
|                        ("pgpdump" ,pgpdump) | ||||
|                        ("poppler" ,poppler) | ||||
|                        ("python-jsbeautifier" ,python-jsbeautifier) | ||||
|                        ("r-minimal" ,r-minimal) | ||||
|                        ("rpm" ,rpm) | ||||
|                        ("sng" ,sng) | ||||
|                        ("sqlite" ,sqlite) | ||||
|                        ("squashfs-tools" ,squashfs-tools) | ||||
|                        ("tcpdump" ,tcpdump) | ||||
|                        ("unzip" ,unzip) | ||||
|                        ("wabt" ,wabt) | ||||
|                        ("xxd" ,xxd) | ||||
|                        ("xz" ,xz) | ||||
|                        ("zip" ,zip) | ||||
|                        ("zstd" ,zstd))) | ||||
|       (home-page "https://diffoscope.org/") | ||||
|       (synopsis "Compare files, archives, and directories in depth") | ||||
|       (description | ||||
|        "Diffoscope tries to get to the bottom of what makes files or directories | ||||
|   (package | ||||
|     (name "diffoscope") | ||||
|     (version "146") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://salsa.debian.org/reproducible-builds/diffoscope.git") | ||||
|                     (commit version))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "07kd3vshf4wlm0mv3mp6ljbxjq80mcg52w5ks6si1gnpzfbfz07p")))) | ||||
|     (build-system python-build-system) | ||||
|     (arguments | ||||
|      `(#:phases (modify-phases %standard-phases | ||||
|                   ;; setup.py mistakenly requires python-magic from PyPi, even | ||||
|                   ;; though the Python bindings of `file` are sufficient. | ||||
|                   ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844 | ||||
|                   (add-after 'unpack 'dependency-on-python-magic | ||||
|                     (lambda _ | ||||
|                       (substitute* "setup.py" | ||||
|                         (("'python-magic',") "")))) | ||||
|                   ;; Patch in support for known tools | ||||
|                   (add-after 'unpack 'add-known-tools | ||||
|                     (lambda _ | ||||
|                       (substitute* "diffoscope/external_tools.py" | ||||
|                         (("'debian': 'openssl'") | ||||
|                          "'debian': 'openssl', 'guix': 'openssl'")))) | ||||
|                   ;; This test is broken because our `file` package has a | ||||
|                   ;; bug in berkeley-db file type detection. | ||||
|                   (add-after 'unpack 'remove-berkeley-test | ||||
|                     (lambda _ | ||||
|                       (delete-file "tests/comparators/test_berkeley_db.py") | ||||
|                       #t)) | ||||
|                   ;; Test is dynamically generated and may have false | ||||
|                   ;; negatives with different ocaml versions.  Further | ||||
|                   ;; background in: https://bugs.debian.org/939386 | ||||
|                   (add-after 'unpack 'remove-ocaml-test | ||||
|                     (lambda _ | ||||
|                       (substitute* "tests/comparators/test_ocaml.py" | ||||
|                         (("def test_diff.differences.:") | ||||
|                          "def skip_test_diff(differences):")) | ||||
|                       #t)) | ||||
|                   (add-after 'unpack 'skip-elf-tests | ||||
|                     ;; FIXME: libmix_differences test added in 125, and is | ||||
|                     ;; failing, need to explore why... | ||||
|                     (lambda _ | ||||
|                       (substitute* "tests/comparators/test_elf.py" | ||||
|                         (("def test_libmix_differences.libmix_differences.:") | ||||
|                          "def skip_test_libmix_differences(libmix_differences):")) | ||||
|                       #t)) | ||||
|                   (add-after 'unpack 'embed-tool-references | ||||
|                     (lambda* (#:key inputs #:allow-other-keys) | ||||
|                       (substitute* "diffoscope/comparators/utils/compare.py" | ||||
|                         (("\\['xxd',") | ||||
|                          (string-append "['" (which "xxd") "',"))) | ||||
|                       (substitute* "diffoscope/comparators/elf.py" | ||||
|                         (("@tool_required\\('readelf'\\)") "") | ||||
|                         (("get_tool_name\\('readelf'\\)") | ||||
|                          (string-append "'" (which "readelf") "'"))) | ||||
|                       (substitute* "diffoscope/comparators/directory.py" | ||||
|                         (("@tool_required\\('stat'\\)") "") | ||||
|                         (("@tool_required\\('getfacl'\\)") "") | ||||
|                         (("\\['stat',") | ||||
|                          (string-append "['" (which "stat") "',")) | ||||
|                         (("\\['getfacl',") | ||||
|                          (string-append "['" (which "getfacl") "',"))) | ||||
|                       #t)) | ||||
|                   (add-before 'check 'writable-test-data | ||||
|                     (lambda _ | ||||
|                       ;; tests may need needs write access to tests | ||||
|                       ;; directory | ||||
|                       (for-each make-file-writable (find-files "tests")) | ||||
|                       #t)) | ||||
|                   (add-before 'check 'delete-failing-test | ||||
|                     (lambda _ | ||||
|                       ;; this requires /sbin to be on the path | ||||
|                       (delete-file "tests/test_tools.py") | ||||
|                       #t))))) | ||||
|     (inputs `(("rpm" ,rpm)              ;for rpm-python | ||||
|               ("python-file" ,python-file) | ||||
|               ("python-debian" ,python-debian) | ||||
|               ("python-libarchive-c" ,python-libarchive-c) | ||||
|               ("python-tlsh" ,python-tlsh) | ||||
|               ("acl" ,acl)              ;for getfacl | ||||
|               ("colordiff" ,colordiff) | ||||
|               ("xxd" ,xxd))) | ||||
|     ;; Below are modules used for tests. | ||||
|     (native-inputs `(("python-pytest" ,python-pytest) | ||||
|                      ("python-chardet" ,python-chardet) | ||||
|                      ("python-binwalk" ,python-binwalk) | ||||
|                      ("python-h5py" ,python-h5py) | ||||
|                      ("python-pypdf2" ,python-pypdf2) | ||||
|                      ("python-progressbar33" ,python-progressbar33) | ||||
|                      ;; test suite skips tests when tool is missing | ||||
|                      ,@(match (%current-system) | ||||
|                          ;; ghc is only available on x86 currently. | ||||
|                          ((or "x86_64-linux" "i686-linux") | ||||
|                           `(("ghc" ,ghc))) | ||||
|                          (_ | ||||
|                           `())) | ||||
|                      ,@(match (%current-system) | ||||
|                          ;; openjdk and dependent packages are only | ||||
|                          ;; available on x86_64 currently. | ||||
|                          ((or "x86_64-linux") | ||||
|                           `(("enjarify" ,enjarify) | ||||
|                             ;; no unversioned openjdk available | ||||
|                             ("openjdk:jdk" ,openjdk12 "jdk") | ||||
|                             )) | ||||
|                          (_ | ||||
|                           `())) | ||||
|                      ("abootimg" ,abootimg) | ||||
|                      ("bdb" ,bdb) | ||||
|                      ("binutils" ,binutils) | ||||
|                      ("bzip2" ,bzip2) | ||||
|                      ("cdrtools" ,cdrtools) | ||||
|                      ("colord" ,colord) | ||||
|                      ("cpio" ,cpio) | ||||
|                      ("docx2txt" ,docx2txt) | ||||
|                      ("dtc" ,dtc) | ||||
|                      ("e2fsprogs" ,e2fsprogs) | ||||
|                      ("ffmpeg" ,ffmpeg) | ||||
|                      ("gettext" ,gettext-minimal) | ||||
|                      ("ghostscript" ,ghostscript) | ||||
|                      ("giflib:bin" ,giflib "bin") | ||||
|                      ("gnumeric" ,gnumeric) | ||||
|                      ("gnupg" ,gnupg) | ||||
|                      ("hdf5" ,hdf5) | ||||
|                      ("imagemagick" ,imagemagick) | ||||
|                      ("libarchive" ,libarchive) | ||||
|                      ("llvm" ,llvm) | ||||
|                      ("lz4" ,lz4) | ||||
|                      ("mono" ,mono) | ||||
|                      ("ocaml" ,ocaml) | ||||
|                      ("odt2txt" ,odt2txt) | ||||
|                      ("openssh" ,openssh) | ||||
|                      ("openssl" ,openssl) | ||||
|                      ("pgpdump" ,pgpdump) | ||||
|                      ("poppler" ,poppler) | ||||
|                      ("python-jsbeautifier" ,python-jsbeautifier) | ||||
|                      ("r-minimal" ,r-minimal) | ||||
|                      ("rpm" ,rpm) | ||||
|                      ("sng" ,sng) | ||||
|                      ("sqlite" ,sqlite) | ||||
|                      ("squashfs-tools" ,squashfs-tools) | ||||
|                      ("tcpdump" ,tcpdump) | ||||
|                      ("unzip" ,unzip) | ||||
|                      ("wabt" ,wabt) | ||||
|                      ("xxd" ,xxd) | ||||
|                      ("xz" ,xz) | ||||
|                      ("zip" ,zip) | ||||
|                      ("zstd" ,zstd))) | ||||
|     (home-page "https://diffoscope.org/") | ||||
|     (synopsis "Compare files, archives, and directories in depth") | ||||
|     (description | ||||
|      "Diffoscope tries to get to the bottom of what makes files or directories | ||||
| different.  It recursively unpacks archives of many kinds and transforms | ||||
| various binary formats into more human readable forms to compare them.  It can | ||||
| compare two tarballs, ISO images, or PDFs just as easily. | ||||
|  | @ -234,7 +233,7 @@ compare two tarballs, ISO images, or PDFs just as easily. | |||
| Diffoscope has many optional dependencies; @code{diffoscope | ||||
| --list-missing-tools guix} will display optional packages to | ||||
| install.") | ||||
|       (license license:gpl3+)))) | ||||
|     (license license:gpl3+))) | ||||
| 
 | ||||
| (define-public reprotest | ||||
|   (package | ||||
|  |  | |||
|  | @ -1,6 +1,7 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> | ||||
| ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> | ||||
| ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -22,7 +23,9 @@ | |||
|   #:use-module (guix utils) | ||||
|   #:use-module (guix packages) | ||||
|   #:use-module (guix download) | ||||
|   #:use-module (guix git-download) | ||||
|   #:use-module (guix build-system gnu) | ||||
|   #:use-module (gnu packages autotools) | ||||
|   #:use-module (gnu packages glib) | ||||
|   #:use-module (gnu packages image) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|  | @ -59,18 +62,22 @@ utilities.") | |||
| (define-public djview | ||||
|   (package | ||||
|     (name "djview") | ||||
|     (version "4.10.6") | ||||
|     (version "4.11") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "mirror://sourceforge/djvu/DjView/" | ||||
|                            (version-major+minor version) "/" | ||||
|                            "djview-" version ".tar.gz")) | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://git.code.sf.net/p/djvu/djview-git") | ||||
|              (commit (string-append "release." version)))) | ||||
|        (sha256 | ||||
|         (base32 "08bwv8ppdzhryfcnifgzgdilb12jcnivl4ig6hd44f12d76z6il4")))) | ||||
|         (base32 "0qlhd0xlxn8i869m0hwdjvwivi2vigqm88wliyr1h7s84zl3qhsy")) | ||||
|        (file-name (git-file-name name version)))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config) | ||||
|      `(("autoconf" ,autoconf) | ||||
|        ("automake" ,automake) | ||||
|        ("libtool" ,libtool) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("qttools" ,qttools))) | ||||
|     (inputs | ||||
|      `(("djvulibre" ,djvulibre) | ||||
|  | @ -86,6 +93,11 @@ utilities.") | |||
|            (lambda _ | ||||
|              (substitute* "desktopfiles/djvulibre-djview4.desktop" | ||||
|                (("Exec=djview4 %f") "Exec=djview %f")) | ||||
|              #t)) | ||||
|          (add-after 'unpack 'make-files-writable | ||||
|            (lambda _ | ||||
|              (for-each make-file-writable | ||||
|                        (find-files ".")) | ||||
|              #t))))) | ||||
|     (home-page "http://djvu.sourceforge.net/djview4.html") | ||||
|     (synopsis "Viewer for the DjVu image format") | ||||
|  |  | |||
|  | @ -119,7 +119,7 @@ and BOOTP/TFTP for network booting of diskless machines.") | |||
| (define-public isc-bind | ||||
|   (package | ||||
|     (name "bind") | ||||
|     (version "9.16.2") | ||||
|     (version "9.16.3") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -127,7 +127,7 @@ and BOOTP/TFTP for network booting of diskless machines.") | |||
|                     "/bind-" version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0gwr4p14zy5jqq050n762rfc33km51qwipcwy6bsvk55ziybgrfr")))) | ||||
|                 "0zjgaspnx0p0rp83h4yj595s25da7fjis94z9frhv3azvq9nbb17")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (outputs `("out" "utils")) | ||||
|     (inputs | ||||
|  | @ -391,14 +391,14 @@ to result in system-wide compromise.") | |||
| (define-public unbound | ||||
|   (package | ||||
|     (name "unbound") | ||||
|     (version "1.10.0") | ||||
|     (version "1.10.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://www.unbound.net/downloads/unbound-" | ||||
|                            version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "0mg9divpysr42sp0m693a70693dp8025v6c9dv1yabr4g1jlhbqm")))) | ||||
|         (base32 "0dnmh9jjh2v274f0hl31bgv40pl77mmfgky8bkqr5kvi3b17fdmp")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (outputs '("out" "python")) | ||||
|     (native-inputs | ||||
|  | @ -595,14 +595,14 @@ Extensions} (DNSSEC).") | |||
| (define-public knot | ||||
|   (package | ||||
|     (name "knot") | ||||
|     (version "2.9.3") | ||||
|     (version "2.9.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://secure.nic.cz/files/knot-dns/" | ||||
|                            "knot-" version ".tar.xz")) | ||||
|        (sha256 | ||||
|         (base32 "0zm0642hkb16sqkqpa84f89f3s0bw44m837r1nia8m89swvz3bgj")) | ||||
|         (base32 "0xmzmhd2m9rb24clrrd9k058harsq67nyjplpbyxvy1g46xah28i")) | ||||
|        (modules '((guix build utils))) | ||||
|        (snippet | ||||
|         '(begin | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; Copyright © 2016 David Thompson <davet@gnu.org> | ||||
| ;;; 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 © 2020 Michael Rohleder <mike@rohleder.de> | ||||
| ;;; | ||||
|  | @ -47,7 +47,7 @@ | |||
|   #:use-module (gnu packages version-control) | ||||
|   #:use-module (gnu packages virtualization)) | ||||
| 
 | ||||
| (define %docker-version "19.03.7") | ||||
| (define %docker-version "19.03.11") | ||||
| 
 | ||||
| (define-public python-docker-py | ||||
|   (package | ||||
|  | @ -314,7 +314,7 @@ built-in registry server of Docker.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1sik109lxmiwgrsnvfip1nnal1xkh8z1mlvys6aknjyh29ll1iq8")) | ||||
|         (base32 "1pmbggxbazipl24hxiaccbj32379zv79xba76l78v5131ihx922h")) | ||||
|        (patches | ||||
|         (search-patches "docker-fix-tests.patch")))) | ||||
|     (build-system gnu-build-system) | ||||
|  | @ -544,7 +544,9 @@ built-in registry server of Docker.") | |||
|                (install-file (string-append "bundles/dynbinary-daemon/dockerd-" | ||||
|                                             (getenv "VERSION")) | ||||
|                              out-bin) | ||||
|                #t)))))) | ||||
|                #t))) | ||||
|          (add-after 'install 'remove-go-references | ||||
|            (assoc-ref go:%standard-phases 'remove-go-references))))) | ||||
|     (inputs | ||||
|      `(("btrfs-progs" ,btrfs-progs) | ||||
|        ("containerd" ,containerd)       ; for containerd-shim | ||||
|  | @ -590,7 +592,7 @@ provisioning etc.") | |||
|             (commit (string-append "v" version)))) | ||||
|       (file-name (git-file-name name version)) | ||||
|       (sha256 | ||||
|        (base32 "164l33npy8acdbbrz8vcyiwx18vi55wwwikkasg0w43b5bdhz8sx")))) | ||||
|        (base32 "1y9ymv70r1hndblr64h19q34arxl2f3dqqi2qcrai5zfimcml6lr")))) | ||||
|     (build-system go-build-system) | ||||
|     (arguments | ||||
|      `(#:import-path "github.com/docker/cli" | ||||
|  |  | |||
|  | @ -111,7 +111,7 @@ release/xsl/current") | |||
|               ("docbook-xsl" ,docbook-xsl) | ||||
|               ("libxml2" ,libxml2) | ||||
|               ("libxslt" ,libxslt))) | ||||
|     (home-page "http://asciidoc.org/") | ||||
|     (home-page "https://asciidoc.org/") | ||||
|     (synopsis "Text-based document generation system") | ||||
|     (description | ||||
|      "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 | ||||
| window manager it tries to make it easy to work with multiple console based | ||||
| 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 | ||||
|    ;; license. The terminal emulation part is licensed under the ISC license." | ||||
|    ;; source: http://www.brain-dump.org/projects/dvtm/#license | ||||
|  |  | |||
|  | @ -39,7 +39,7 @@ | |||
| (define-public liblcf | ||||
|   (package | ||||
|     (name "liblcf") | ||||
|     (version "0.6.1") | ||||
|     (version "0.6.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -47,7 +47,7 @@ | |||
|                     "/liblcf-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1qz387r4shbx48r3z7k8llkzz4b039zmak98wxpiwn6a23cssdn5")))) | ||||
|                 "0n2k4brd264jg9p6918x7dnb2iimpzjh8q3v1fws58450xbgnkqc")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config))) | ||||
|  |  | |||
|  | @ -46,6 +46,7 @@ | |||
|   #:use-module (gnu packages image) | ||||
|   #:use-module (gnu packages javascript) | ||||
|   #:use-module (gnu packages libusb) | ||||
|   #:use-module (gnu packages libreoffice) | ||||
|   #:use-module (gnu packages pdf) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages python) | ||||
|  | @ -82,7 +83,7 @@ | |||
| (define-public calibre | ||||
|   (package | ||||
|     (name "calibre") | ||||
|     (version "3.42.0") | ||||
|     (version "4.18.0") | ||||
|     (source | ||||
|       (origin | ||||
|         (method url-fetch) | ||||
|  | @ -91,13 +92,18 @@ | |||
|                             version ".tar.xz")) | ||||
|         (sha256 | ||||
|          (base32 | ||||
|           "0ymdhws3cb44p3fb24vln1wx6s7qnb8rr241jvm6qbj5rnp984dm")) | ||||
|         ;; Unbundle python2-odfpy.  | ||||
|         ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html | ||||
|           "0w9pcfvskjh4v00vjw3i6hzrafy863pgsmmqdx4lffip3p856brw")) | ||||
|         (modules '((guix build utils))) | ||||
|         (snippet | ||||
|           '(begin | ||||
|              ;; Unbundle python2-odfpy. | ||||
|              (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.html") | ||||
|              (delete-file "resources/mozilla-ca-certs.pem") | ||||
|  | @ -105,8 +111,6 @@ | |||
|              (delete-file "resources/calibre-portable.sh") | ||||
|              #t)) | ||||
|         (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-unrar.patch")))) | ||||
|     (build-system python-build-system) | ||||
|  | @ -115,12 +119,13 @@ | |||
|        ("qtbase" ,qtbase) ; for qmake | ||||
|        ("python2-flake8" ,python2-flake8) | ||||
|        ("xdg-utils" ,xdg-utils))) | ||||
|     ;; Beautifulsoup3 is bundled but obsolete and not packaged, so just leave it bundled. | ||||
|     (inputs | ||||
|      `(("chmlib" ,chmlib) | ||||
|        ("fontconfig" ,fontconfig) | ||||
|        ("font-liberation" ,font-liberation) | ||||
|        ("glib" ,glib) | ||||
|        ("hunspell" ,hunspell) | ||||
|        ("hyphen" ,hyphen) | ||||
|        ("icu4c" ,icu4c) | ||||
|        ("js-mathjax" ,js-mathjax) | ||||
|        ("libmtp" ,libmtp) | ||||
|  | @ -132,6 +137,7 @@ | |||
|        ("poppler" ,poppler) | ||||
|        ("python" ,python-2) | ||||
|        ("python2-apsw" ,python2-apsw) | ||||
|        ("python2-beautifulsoup4" ,python2-beautifulsoup4) | ||||
|        ("python2-chardet" ,python2-chardet) | ||||
|        ("python2-cssselect" ,python2-cssselect) | ||||
|        ("python2-css-parser" ,python2-css-parser) | ||||
|  | @ -153,9 +159,11 @@ | |||
|        ("python2-pillow" ,python2-pillow) | ||||
|        ("python2-psutil" ,python2-psutil) | ||||
|        ("python2-pygments" ,python2-pygments) | ||||
|        ("python2-pyqtwebengine" ,python2-pyqtwebengine) | ||||
|        ("python2-pyqt" ,python2-pyqt) | ||||
|        ("python2-sip" ,python2-sip) | ||||
|        ("python2-regex" ,python2-regex) | ||||
|        ("qtwebengine" ,qtwebengine) | ||||
|        ("sqlite" ,sqlite))) | ||||
|     (arguments | ||||
|      `(#:python ,python-2 | ||||
|  | @ -170,6 +178,18 @@ | |||
|                ;; We can't use the uninstaller in Guix. Don't build it. | ||||
|                (("self\\.create_uninstaller()") "")) | ||||
|              #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 | ||||
|            (lambda _ | ||||
|              (substitute* "setup/plugins_mirror.py" | ||||
|  | @ -180,9 +200,12 @@ | |||
|           (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|             (let ((podofo (assoc-ref inputs "podofo")) | ||||
|                   (pyqt (assoc-ref inputs "python2-pyqt")) | ||||
|                   (python-sip (assoc-ref inputs "python2-sip")) | ||||
|                   (out (assoc-ref outputs "out"))) | ||||
|               (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" | ||||
|                 (("PDFTOHTML = 'pdftohtml'") | ||||
|                  (string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler") | ||||
|  | @ -195,6 +218,18 @@ | |||
|               (substitute* "src/calibre/linux.py" | ||||
|                 (("'~/.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_LIB_DIR" (string-append podofo "/lib")) | ||||
|               ;; This informs the tests we are a continuous integration | ||||
|  |  | |||
|  | @ -7,6 +7,7 @@ | |||
| ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> | ||||
| ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net> | ||||
| ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> | ||||
| ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -39,6 +40,7 @@ | |||
|   #:use-module (gnu packages gettext) | ||||
|   #:use-module (gnu packages glib) | ||||
|   #:use-module (gnu packages gnome) | ||||
|   #:use-module (gnu packages golang) | ||||
|   #:use-module (gnu packages gtk) | ||||
|   #:use-module (gnu packages image) | ||||
|   #:use-module (gnu packages javascript) | ||||
|  | @ -68,6 +70,7 @@ | |||
|   #:use-module (guix utils) | ||||
|   #:use-module (guix build-system cmake) | ||||
|   #:use-module (guix build-system gnu) | ||||
|   #:use-module (guix build-system go) | ||||
|   #:use-module (guix build-system python) | ||||
|   #:use-module (guix build-system qt) | ||||
|   #:use-module (guix build-system trivial) | ||||
|  | @ -114,7 +117,7 @@ | |||
|        ("texi2html" ,texi2html) | ||||
|        ("glib:bin" ,glib "bin") | ||||
|        ("pkg-config" ,pkg-config))) | ||||
|     (home-page "http://gcompris.net") | ||||
|     (home-page "https://gcompris.net") | ||||
|     (synopsis "Educational software suite") | ||||
|     (description "GCompris is an educational software suite comprising of | ||||
| 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~%" | ||||
|                            out))) | ||||
|                #t)))))) | ||||
|     (inputs `(("python-pyqt" ,python-pyqt))) | ||||
|     (native-inputs | ||||
|      `(("unzip" ,unzip))) | ||||
|     (inputs | ||||
|      `(("python-pyqt" ,python-pyqt))) | ||||
|     (synopsis "School tools for physically disabled children") | ||||
|     (description "ToutEnClic is intended to facilitate the schooling | ||||
| of physically disabled children in ordinary schools.  It is both | ||||
|  | @ -606,14 +612,14 @@ Portuguese, Spanish and Italian.") | |||
| (define-public fet | ||||
|   (package | ||||
|     (name "fet") | ||||
|     (version "5.44.4") | ||||
|     (version "5.45.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://www.lalescu.ro/liviu/fet/download/" | ||||
|                            "fet-" version ".tar.bz2")) | ||||
|        (sha256 | ||||
|         (base32 "1bji4910v6adhngdh5ajz5bxam9z3yqnh8d1h1xajy6npm6qq3nx")))) | ||||
|         (base32 "04jns6wc20rz6cp410znsllknhp4zlf4rn8wgv712855nffs42c6")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -645,15 +651,14 @@ hours.") | |||
| (define-public klavaro | ||||
|   (package | ||||
|     (name "klavaro") | ||||
|     (version "3.09") | ||||
|     (version "3.10") | ||||
|     (source | ||||
|       (origin | ||||
|         (method url-fetch) | ||||
|         (uri (string-append "mirror://sourceforge/klavaro/klavaro-" | ||||
|                             version ".tar.bz2")) | ||||
|         (sha256 | ||||
|          (base32 | ||||
|           "12gml7h45b1w9s318h0d5wxw92h7pgajn2kh57j0ak9saq0yb0wr")))) | ||||
|          (base32 "0jnzdrndiq6m0bwgid977z5ghp4q61clwdlzfpx4fd2ml5x3iq95")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("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 | ||||
| machine, and more.") | ||||
|     (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 | ||||
|   (package | ||||
|     (name "gnu-efi") | ||||
|     (version "3.0.11") | ||||
|     (version "3.0.12") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "mirror://sourceforge/gnu-efi/" | ||||
|                            "gnu-efi-" version ".tar.bz2")) | ||||
|        (sha256 | ||||
|         (base32 "1ffnc4xbzfggs37ymrgfx76j56kk2644c081ivhr2bjkla9ag3gj")))) | ||||
|         (base32 "0sbn6am3k5lqafycggh1g964fcwjwnh0i9hhwrk4ncrwzphz55h1")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f                      ; none exist | ||||
|  | @ -54,8 +54,8 @@ | |||
|        (modify-phases %standard-phases | ||||
|          (delete 'configure)))) | ||||
|     (synopsis "EFI toolchain") | ||||
|     (description "This package provides an EFI (Extensible Firmware | ||||
| Interface) toolchain for building programs that can run in the | ||||
|     (description "This package provides an @acronym{EFI, Extensible Firmware | ||||
| Interface} toolchain for building programs that can run in the | ||||
| environment presented by Intel's EFI.") | ||||
|     (home-page "https://directory.fsf.org/wiki/GNU_EFI") | ||||
|     ;; Distribution is allowed only when accepting all those licenses. | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
| ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> | ||||
| ;;; 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 © 2018 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> | ||||
|  | @ -38,7 +38,9 @@ | |||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages sphinx) | ||||
|   #: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 | ||||
|   (package | ||||
|  | @ -67,10 +69,11 @@ | |||
|                                               (assoc-ref %outputs "out") | ||||
|                                               "/lib")) | ||||
| 
 | ||||
|        ;; Disable tests on MIPS (without changing | ||||
|        ;; Disable tests on MIPS and PowerPC (without changing | ||||
|        ;; the arguments list on other systems). | ||||
|        ,@(if (string-prefix? "mips" (or (%current-target-system) | ||||
|                                         (%current-system))) | ||||
|        ,@(if (any (cute string-prefix? <> (or (%current-target-system) | ||||
|                                               (%current-system))) | ||||
|                   '("mips" "powerpc")) | ||||
|              '(#:tests? #f) | ||||
|              '()) | ||||
| 
 | ||||
|  | @ -109,14 +112,14 @@ object or archive file), @command{eu-strip} (for discarding symbols), | |||
|   (package | ||||
|     (name "libabigail") | ||||
|     (home-page "https://sourceware.org/libabigail/") | ||||
|     (version "1.6") | ||||
|     (version "1.7") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://sourceware.org/pub/libabigail/" | ||||
|                                   "libabigail-" version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "04j07lhvwbp6qp8pdwbf7iqnr7kgpabmqylsw4invpmzwnyp6g6g")))) | ||||
|                 "0bf8w01l6wm7mm4clfg5rqi30m1ws11qqa4bp2vxghfwgi9ai8i7")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#: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 | ||||
|   (package | ||||
|     (name "python-libmpsse") | ||||
|     (version "1.4") | ||||
|     (version "1.4.1") | ||||
|     (source | ||||
|       (origin | ||||
|         (method git-fetch) | ||||
|  | @ -1050,7 +1050,7 @@ the Raspberry Pi chip.")))) | |||
|         (file-name "libmpsse-checkout") | ||||
|         (sha256 | ||||
|           (base32 | ||||
|             "14f1kiiia4kfd9mzwx4h63aa8bpz9aknbrrr7mychnsp3arw0z25")))) | ||||
|             "1rypfb96k2szqgygp3jnwg2zq9kwmfz0460dsahn3r2vkzml8wn7")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs | ||||
|      `(("libftdi" ,libftdi) | ||||
|  |  | |||
|  | @ -470,7 +470,7 @@ and Game Boy Color games.") | |||
| (define-public sameboy | ||||
|   (package | ||||
|     (name "sameboy") | ||||
|     (version "0.12.3") | ||||
|     (version "0.13.2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -479,7 +479,7 @@ and Game Boy Color games.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0m5rv2x8qck1kr43xq186pp4kaiay7gd1x775n9qrljcd7z4x6fs")))) | ||||
|         (base32 "19qb1ib9sk5bjdv4arbwkv8l2afpll5axrif3wi7p2yhvpba10c0")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("rgbds" ,rgbds) | ||||
|  | @ -489,7 +489,7 @@ and Game Boy Color games.") | |||
|      `(("sdl2" ,sdl2))) | ||||
|     (arguments | ||||
|      `(#: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=" | ||||
|                                       (assoc-ref %outputs "out") | ||||
|                                       "/share/sameboy/")) | ||||
|  | @ -1274,7 +1274,7 @@ play them on systems for which they were never designed!") | |||
| (define-public mame | ||||
|   (package | ||||
|     (name "mame") | ||||
|     (version "0.220") | ||||
|     (version "0.221") | ||||
|     (source | ||||
|      (origin | ||||
|        (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 #\.))))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0x3yr195zi7xjr21p1c2l8c0vhg0a0af0mpz4i1w7q7r9krvcvz4")) | ||||
|         (base32 "07fl7alj9zlyb93i8lnn4706ndy3qiv0pjvwnwysk5rqa0r3463y")) | ||||
|        (modules '((guix build utils))) | ||||
|        (snippet | ||||
|         ;; Remove bundled libraries. | ||||
|  |  | |||
|  | @ -61,6 +61,7 @@ | |||
|   #:use-module (gnu packages commencement) | ||||
|   #:use-module (gnu packages compression) | ||||
|   #:use-module (gnu packages curl) | ||||
|   #:use-module (gnu packages digest) | ||||
|   #:use-module (gnu packages documentation) | ||||
|   #:use-module (gnu packages flex) | ||||
|   #:use-module (gnu packages fontutils) | ||||
|  | @ -82,6 +83,7 @@ | |||
|   #:use-module (gnu packages image) | ||||
|   #:use-module (gnu packages image-processing) | ||||
|   #:use-module (gnu packages imagemagick) | ||||
|   #:use-module (gnu packages libevent) | ||||
|   #:use-module (gnu packages linux)               ;FIXME: for pcb | ||||
|   #:use-module (gnu packages m4) | ||||
|   #:use-module (gnu packages maths) | ||||
|  | @ -103,6 +105,7 @@ | |||
|   #:use-module (gnu packages version-control) | ||||
|   #:use-module (gnu packages wxwidgets) | ||||
|   #:use-module (gnu packages xml) | ||||
|   #:use-module (gnu packages openkinect) | ||||
|   #:use-module (gnu packages xorg)) | ||||
| 
 | ||||
| (define-public librecad | ||||
|  | @ -535,7 +538,7 @@ featuring various improvements and bug fixes."))) | |||
|                (copy-recursively "doc" doc) | ||||
|                (copy-recursively "examples" examples) | ||||
|                #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") | ||||
|     (description | ||||
|      "Fastcap is a capacitance extraction program based on a | ||||
|  | @ -583,7 +586,7 @@ multipole-accelerated algorithm.") | |||
|                       (copy-recursively "doc" doc) | ||||
|                       (copy-recursively "examples" examples) | ||||
|                       #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") | ||||
|     (description | ||||
|      "Fasthenry is an inductance extraction program based on a | ||||
|  | @ -1334,7 +1337,7 @@ bindings for Python, Java, OCaml and more.") | |||
| (define-public radare2 | ||||
|   (package | ||||
|     (name "radare2") | ||||
|     (version "4.2.1") | ||||
|     (version "4.4.0") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|  | @ -1342,39 +1345,37 @@ bindings for Python, Java, OCaml and more.") | |||
|                     (commit version))) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "14b9433cgc2nabhz836zfgvgh2dwailcmvy05krsa0inmzbvx9fg")) | ||||
|               (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)))) | ||||
|                 "0gwdnrnk7wdgkajp2qwg4fyplh7nsbmf01bzx07px6xmiscd9z2s")) | ||||
|               (file-name (git-file-name name version)))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:tests? #f                      ; tests require git and network access | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'configure 'mklibdir | ||||
|            (lambda* (#:key inputs #:allow-other-keys) | ||||
|              (mkdir-p (string-append (assoc-ref %outputs "out") "/lib")) | ||||
|            (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|              (mkdir-p (string-append (assoc-ref outputs "out") "/lib")) | ||||
|              #t))) | ||||
|        #:configure-flags | ||||
|        (list "--with-sysmagic" "--with-syszip" "--with-openssl" | ||||
|              "--without-nonpic" "--with-rpath" "--with-syscapstone") | ||||
|        (list "--with-openssl" | ||||
|              "--with-rpath" | ||||
|              "--with-syscapstone" | ||||
|              "--with-sysmagic" | ||||
|              "--with-syszip" | ||||
|              "--with-sysxxhash") | ||||
|        #:make-flags | ||||
|        (list "CC=gcc"))) | ||||
|     ;; TODO: Add gmp and libzip and make the build system actually find them. | ||||
|     (inputs | ||||
|      `(("openssl" ,openssl) | ||||
|        ("zip" ,zip) | ||||
|        ("gmp" ,gmp) | ||||
|        ("capstone" ,capstone))) | ||||
|      `(("capstone" ,capstone) | ||||
|        ("libuv" ,libuv) | ||||
|        ("openssl" ,openssl) | ||||
|        ("zip" ,zip))) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config))) | ||||
|     (propagated-inputs | ||||
|      ;; In the Libs: section of r_hash.pc. | ||||
|      `(("xxhash" ,xxhash))) | ||||
|     (home-page "https://radare.org/") | ||||
|     (synopsis "Reverse engineering framework") | ||||
|     (description | ||||
|  | @ -2047,17 +2048,18 @@ simulator backends @code{Qucsator}, @code{ngspice} and @code{Xyce}.") | |||
| (define-public librepcb | ||||
|   (package | ||||
|     (name "librepcb") | ||||
|     (version "0.1.3") | ||||
|     (version "0.1.4") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://download.librepcb.org/releases/" | ||||
|                            version "/librepcb-" version "-source.zip")) | ||||
|        (sha256 | ||||
|         (base32 "1ich849dsx2hmcwlwbry4mkg374n940l3hy6srh4qms2rm7vd7x0")))) | ||||
|         (base32 "1b5dkanz3q0y5ag80w0l85hn7axrachb5m9zvyv4zvzrfy09wa88")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs | ||||
|      `(("qtbase" ,qtbase) | ||||
|        ("qtsvg" ,qtsvg) | ||||
|        ("zlib" ,zlib))) | ||||
|     (native-inputs | ||||
|      `(("qttools" ,qttools)             ; for lrelease | ||||
|  | @ -2174,7 +2176,7 @@ simulation.") | |||
| (define-public cutter | ||||
|   (package | ||||
|     (name "cutter") | ||||
|     (version "1.10.1") | ||||
|     (version "1.10.3") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -2183,8 +2185,7 @@ simulation.") | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1gvsrcskcdd1hxrjpkpc657anmfs25f174vxk4wzvn385rnmrxd3")))) | ||||
|         (base32 "0qj8jyij02nif4jpirl09ygwnv8a9zi3vkb5sf5s8mg7qwlpnvyk")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -2193,8 +2194,8 @@ simulation.") | |||
|            (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|              (let ((out (assoc-ref outputs "out")) | ||||
|                    (radare2 (assoc-ref inputs "radare2"))) | ||||
|                ;; fix pkg-config detection ./src/lib_radare2.pri:PREFIX=/usr/lib | ||||
|                ;; override `qmake PREFIX=` | ||||
|                ;; Fix pkg-config detection ./src/lib_radare2.pri:PREFIX=/usr/lib | ||||
|                ;; override `qmake PREFIX=`. | ||||
|                (substitute* "./src/lib_radare2.pri" | ||||
|                  (("PREFIX") "R2PREFIX") | ||||
|                  (("R2PREFIX=/usr") (string-append "R2PREFIX=" radare2))) | ||||
|  | @ -2263,7 +2264,9 @@ specification can be downloaded at @url{http://3mf.io/specification/}.") | |||
|                            ".src.tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0nbgk5q5pgnw53la0kccdcpz2f4xf6d6076rkn0q08z57hkc85ha")))) | ||||
|          "0nbgk5q5pgnw53la0kccdcpz2f4xf6d6076rkn0q08z57hkc85ha")) | ||||
|        (patches (search-patches | ||||
|                  "openscad-parser-boost-1.72.patch")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (inputs | ||||
|      `(("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 | ||||
| export filters.") | ||||
|     (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 | ||||
| ;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz> | ||||
| ;;; 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 © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> | ||||
| ;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de> | ||||
|  | @ -33,6 +33,7 @@ | |||
|   #:use-module (gnu packages algebra) | ||||
|   #:use-module (gnu packages avahi) | ||||
|   #:use-module (gnu packages bash) | ||||
|   #:use-module (gnu packages bittorrent) | ||||
|   #:use-module (gnu packages check) | ||||
|   #:use-module (gnu packages code) | ||||
|   #:use-module (gnu packages compression) | ||||
|  | @ -69,7 +70,7 @@ | |||
| (define-public efl | ||||
|   (package | ||||
|     (name "efl") | ||||
|     (version "1.23.3") | ||||
|     (version "1.24.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -77,7 +78,7 @@ | |||
|                     version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "00b9lp3h65254kdb1ys15fv7p3ln7qsvf15jkw4kli5ymagadkjk")))) | ||||
|                 "0w3srvigg4kfi7xq76c7y4hnq5yr2gxrrsvlyj1g2wc1igz1vyg1")))) | ||||
|     (build-system meson-build-system) | ||||
|     (native-inputs | ||||
|      `(("check" ,check) | ||||
|  | @ -93,6 +94,7 @@ | |||
|        ("libraw" ,libraw) | ||||
|        ("librsvg" ,librsvg) | ||||
|        ("libspectre" ,libspectre) | ||||
|        ("libtiff" ,libtiff) | ||||
|        ("libxau" ,libxau) | ||||
|        ("libxcomposite" ,libxcomposite) | ||||
|        ("libxcursor" ,libxcursor) | ||||
|  | @ -102,18 +104,19 @@ | |||
|        ("libxi" ,libxi) | ||||
|        ("libxfixes" ,libxfixes) | ||||
|        ("libxinerama" ,libxinerama) | ||||
|        ("libxp" ,libxp) | ||||
|        ("libxrandr" ,libxrandr) | ||||
|        ("libxrender" ,libxrender) | ||||
|        ("libxss" ,libxscrnsaver) | ||||
|        ("libxtst" ,libxtst) | ||||
|        ("libwebp" ,libwebp) | ||||
|        ("openjpeg" ,openjpeg) | ||||
|        ("poppler" ,poppler) | ||||
|        ("util-linux" ,util-linux "lib") | ||||
|        ("wayland-protocols" ,wayland-protocols))) | ||||
|     (propagated-inputs | ||||
|      ;; All these inputs are in package config files in section | ||||
|      ;; Requires.private. | ||||
|      `(("avahi" ,avahi) | ||||
|        ("bullet" ,bullet) | ||||
|        ("dbus" ,dbus) | ||||
|        ("elogind" ,elogind) | ||||
|        ("eudev" ,eudev) | ||||
|  | @ -122,30 +125,32 @@ | |||
|        ("fribidi" ,fribidi) | ||||
|        ("glib" ,glib) | ||||
|        ("harfbuzz" ,harfbuzz) | ||||
|        ("luajit" ,luajit) | ||||
|        ("libinput" ,libinput-minimal) | ||||
|        ("libjpeg" ,libjpeg-turbo) | ||||
|        ("libpng" ,libpng) | ||||
|        ("libsndfile" ,libsndfile) | ||||
|        ("libtiff" ,libtiff) | ||||
|        ("libwebp" ,libwebp) | ||||
|        ("libpng" ,libpng) | ||||
|        ("libx11" ,libx11) | ||||
|        ("libxkbcommon" ,libxkbcommon) | ||||
|        ("luajit" ,luajit) | ||||
|        ("lz4" ,lz4) | ||||
|        ("openssl" ,openssl) | ||||
|        ("pulseaudio" ,pulseaudio) | ||||
|        ("util-linux" ,util-linux "lib") | ||||
|        ("wayland" ,wayland) | ||||
|        ("zlib" ,zlib))) | ||||
|     (arguments | ||||
|      `(#:configure-flags '("-Dsystemd=false" | ||||
|                            "-Delogind=true" | ||||
|                            "-Dembedded-lz4=false" | ||||
|                            "-Devas-loaders-disabler=json" | ||||
|                            "-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=" | ||||
|                            ;               (assoc-ref %build-inputs "hyphen") | ||||
|                            ;               "/share/hyphen") | ||||
|                            "-Delogind=true" | ||||
|                            "-Dnetwork-backend=connman" | ||||
|                            ,@(match (%current-system) | ||||
|                                ("armhf-linux" | ||||
|  | @ -153,22 +158,27 @@ | |||
|                                (_ | ||||
|                                 '("-Dopengl=full"))) | ||||
|                            ;; for wayland | ||||
|                            "-Dwl-deprecated=true" ; ecore_wayland | ||||
|                            "-Ddrm-deprecated=true" ; ecore_drm | ||||
|                            "-Dwl=true" | ||||
|                            "-Ddrm=true") | ||||
|        #:tests? #f ; Many tests fail due to timeouts and network requests. | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          ;; If we don't hardcode the location of libcurl.so then we | ||||
|          ;; have to wrap the outputs of efl's dependencies in curl. | ||||
|          (add-after 'unpack 'hardcode-libcurl-location | ||||
|          ;; If we don't hardcode the location of libcurl.so and others then we | ||||
|          ;; have to wrap the outputs of efl's dependencies in those libraries. | ||||
|          (add-after 'unpack 'hardcode-dynamic-libraries | ||||
|            (lambda* (#:key inputs #:allow-other-keys) | ||||
|              (let* ((curl (assoc-ref inputs "curl")) | ||||
|                     (lib  (string-append curl "/lib/"))) | ||||
|              (let ((curl    (assoc-ref inputs "curl")) | ||||
|                    (pulse   (assoc-ref inputs "pulseaudio")) | ||||
|                    (sndfile (assoc-ref inputs "libsndfile")) | ||||
|                    (lib     "/lib/")) | ||||
|                (substitute* "src/lib/ecore_con/ecore_con_url_curl.c" | ||||
|                  (("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))) | ||||
|          (add-after 'unpack 'fix-install-paths | ||||
|            (lambda _ | ||||
|  | @ -283,7 +293,7 @@ Libraries with some extra bells and whistles.") | |||
| (define-public enlightenment | ||||
|   (package | ||||
|     (name "enlightenment") | ||||
|     (version "0.23.1") | ||||
|     (version "0.24.1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri | ||||
|  | @ -291,27 +301,27 @@ Libraries with some extra bells and whistles.") | |||
|                               "enlightenment/enlightenment-" version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0d1cyl07w9pvi2pf029kablazks2q9aislzl46b6fq5m1465jc75")) | ||||
|                 "02aadl5fqvpmpjnisrc4aw7ffwyp1109y4k1wvmp33ciihbvdqmf")) | ||||
|               (patches (search-patches "enlightenment-fix-setuid-path.patch")))) | ||||
|     (build-system meson-build-system) | ||||
|     (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 | ||||
|        (modify-phases %standard-phases | ||||
|          (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 | ||||
|            (lambda* (#:key inputs #:allow-other-keys) | ||||
|             (setenv "HOME" "/tmp") | ||||
|              (setenv "HOME" "/tmp") | ||||
|              (let ((xkeyboard (assoc-ref inputs "xkeyboard-config")) | ||||
|                    (setxkbmap (assoc-ref inputs "setxkbmap")) | ||||
|                    (utils     (assoc-ref inputs "util-linux")) | ||||
|                    (libc      (assoc-ref inputs "libc")) | ||||
|                    (bluez     (assoc-ref inputs "bluez")) | ||||
|                    (bc        (assoc-ref inputs "bc")) | ||||
|                    (efl       (assoc-ref inputs "efl"))) | ||||
|                ;; 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/wizard/page_010.c") | ||||
|                  (("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" | ||||
|                  (("/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" | ||||
|                  (("bc -l") (string-append bc "/bin/bc -l"))) | ||||
|                (substitute* "data/etc/meson.build" | ||||
|                  (("/bin/mount") "/run/setuid-programs/mount") | ||||
|                  (("/bin/umount") "/run/setuid-programs/umount") | ||||
|                  (("/usr/bin/eject") (string-append utils "/bin/eject")) | ||||
|                  (("/usr/bin/l2ping") (string-append bluez "/bin/l2ling")) | ||||
|                  (("/bin/rfkill") (string-append utils "/sbin/rfkill")) | ||||
|                  (("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")) | ||||
|                  (("/usr/bin/eject") (string-append utils "/bin/eject"))) | ||||
|                (substitute* "src/bin/system/e_system_power.c" | ||||
|                  (("systemctl") "loginctl")) | ||||
|                #t)))))) | ||||
|     (native-inputs | ||||
|      `(("gettext" ,gettext-minimal) | ||||
|  | @ -389,7 +398,7 @@ embedded systems.") | |||
| (define-public python-efl | ||||
|   (package | ||||
|     (name "python-efl") | ||||
|     (version "1.23.0") | ||||
|     (version "1.24.0") | ||||
|     (source | ||||
|       (origin | ||||
|         (method url-fetch) | ||||
|  | @ -397,7 +406,7 @@ embedded systems.") | |||
|                             "python/python-efl-" version ".tar.xz")) | ||||
|         (sha256 | ||||
|          (base32 | ||||
|           "16yn6a1b9167nfmryyi44ma40m20ansfpwgrvqzfvwix7qaz9pib")) | ||||
|           "1vk1cdd959gia4a9qzyq56a9zw3lqf9ck66k8c9g3c631mp5cfpy")) | ||||
|         (modules '((guix build utils))) | ||||
|         ;; Remove files generated by Cython | ||||
|         (snippet | ||||
|  | @ -590,3 +599,42 @@ directories. | |||
|      "This is a process monitor and system monitor using the | ||||
| @dfn{Enlightenment Foundation Libraries} (EFL).") | ||||
|     (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 git-download) | ||||
|   #:use-module (guix build-system cmake) | ||||
|   #:use-module (guix build-system copy) | ||||
|   #:use-module (guix build-system gnu) | ||||
|   #:use-module (guix build-system linux-module) | ||||
|   #:use-module (guix build-system trivial) | ||||
|  | @ -53,7 +54,9 @@ | |||
|   #:use-module (gnu packages photo) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages python-xyz) | ||||
|   #:use-module (gnu packages readline) | ||||
|   #:use-module (gnu packages rsync) | ||||
|   #:use-module (gnu packages sqlite) | ||||
|   #:use-module (gnu packages tls) | ||||
|   #: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 | ||||
| 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))) | ||||
| 
 | ||||
| (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.") | ||||
|       (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 | ||||
|   (package | ||||
|     (name "httpfs2") | ||||
|  | @ -323,7 +358,7 @@ from the jfsutils package.  It is meant to be used in initrds.") | |||
| (define-public disorderfs | ||||
|   (package | ||||
|     (name "disorderfs") | ||||
|     (version "0.5.9") | ||||
|     (version "0.5.10") | ||||
|     (source | ||||
|      (origin | ||||
|        (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)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0irgr9hkm9icx1s44m9382484yx8hddzjxbsz621ip9c946pif0g")))) | ||||
|          "0lsisx5118k0qk0b5klbxl03rvhycnznyfx05yxmjawh85bfhmlh")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config))) | ||||
|  | @ -491,8 +526,9 @@ network.  LIBNFS offers three different APIs, for different use : | |||
|                    )))) | ||||
| 
 | ||||
| (define-public apfs-fuse | ||||
|   (let ((commit "c7036a3030d128bcecefc1eabc47c039ccfdcec9") | ||||
|         (revision "0")) | ||||
|   ;; Later versions require FUSE 3. | ||||
|   (let ((commit "7b89418e8dc27103d3c4f8fa348086ffcd634c17") | ||||
|         (revision "1")) | ||||
|     (package | ||||
|       (name "apfs-fuse") | ||||
|       (version (git-version "0.0.0" revision commit)) | ||||
|  | @ -504,11 +540,13 @@ network.  LIBNFS offers three different APIs, for different use : | |||
|                        (commit commit))) | ||||
|          (sha256 | ||||
|           (base32 | ||||
|            "1akd4cx1f9cyq6sfk9ybv4chhjwjlnqi8ic4z5ajnd5x0g76nz3r")) | ||||
|            "0x2siy3cmnm9wsdfazg3xc8r3kbg73gijmnn1vjw33pp71ckylxr")) | ||||
|          (file-name (git-file-name name version)))) | ||||
|       (build-system cmake-build-system) | ||||
|       (arguments | ||||
|        `(#:tests? #f ; No test suite | ||||
|          #:configure-flags | ||||
|          '("-DUSE_FUSE3=OFF") ; FUSE 3 is not packaged yet. | ||||
|          #:phases | ||||
|          (modify-phases %standard-phases | ||||
|            ;; 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-fuse" bin) | ||||
|                  (install-file "libapfs.a" lib) | ||||
|                  (install-file "../source/README.md" doc) | ||||
|                  #t)))))) | ||||
|       (inputs | ||||
|        `(("bzip2" ,bzip2) | ||||
|  | @ -646,3 +685,100 @@ APFS.") | |||
| originally developed for Solaris and is now maintained by the OpenZFS | ||||
| community.") | ||||
|     (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 Theodoros Foradis <theodoros@foradis.org> | ||||
| ;;; 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 Adriano Peluso <catonano@gmail.com> | ||||
| ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> | ||||
|  | @ -19,6 +19,7 @@ | |||
| ;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org> | ||||
| ;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch> | ||||
| ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> | ||||
| ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -172,23 +173,22 @@ line client and a client based on Qt.") | |||
| (define-public homebank | ||||
|   (package | ||||
|     (name "homebank") | ||||
|     (version "5.2.8") | ||||
|     (version "5.4.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "http://homebank.free.fr/public/homebank-" | ||||
|                                   version ".tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "13ampiv68y30kc0p2560g3yz8whqpwnidfcnb9lndv93b9ca767y")))) | ||||
|                 "0bkjvd819kw9cwmr3macggbg8yil3yc8v2za8pjrl6g746s89kn6")))) | ||||
|     (build-system glib-or-gtk-build-system) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config) | ||||
|        ("intltool" ,intltool))) | ||||
|     (inputs | ||||
|      `(("gtk+" ,gtk+) | ||||
|        ("libofx" ,libofx) | ||||
|        ("libsoup" ,libsoup))) | ||||
|     (arguments | ||||
|      `(#:configure-flags (list "-without-ofx"))) ; libofx is not available yet | ||||
|     (home-page "http://homebank.free.fr/") | ||||
|     (synopsis "Graphical personal accounting application") | ||||
|     (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 | ||||
|   (package | ||||
|     (name "electron-cash") | ||||
|     (version "4.0.14") | ||||
|     (version "4.0.15") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -484,7 +484,7 @@ other machines/servers.  Electrum does not download the Bitcoin blockchain.") | |||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "1dp7cj1185h6xfz6jzh0iq58zvg3wq9hl96bkgxkf5h4ygni2vm6")))) | ||||
|         (base32 "0bvj64fdxpi0dbivhgv509kqq503zjp7r7xckl8q5c48j5h1zik2")))) | ||||
|     (build-system python-build-system) | ||||
|     (inputs | ||||
|      `(("libevent" ,libevent) | ||||
|  | @ -547,7 +547,7 @@ other machines/servers.  Electroncash does not download the Bitcoin Cash blockch | |||
|   ;; the system's dynamically linked library. | ||||
|   (package | ||||
|     (name "monero") | ||||
|     (version "0.15.0.5") | ||||
|     (version "0.16.0.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -568,7 +568,7 @@ other machines/servers.  Electroncash does not download the Bitcoin Cash blockch | |||
|            #t)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "06zzwa0y8ic6x3y2fy501788r51p4klanyvmm76ywrwf087njlkv")))) | ||||
|          "0x74h5z0nxxxip97ibc854pqmrgd8r4d6w62m424f66i8gbzfskh")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (native-inputs | ||||
|      `(("doxygen" ,doxygen) | ||||
|  | @ -666,7 +666,7 @@ the Monero command line client and daemon.") | |||
| (define-public monero-gui | ||||
|   (package | ||||
|     (name "monero-gui") | ||||
|     (version "0.15.0.4") | ||||
|     (version "0.16.0.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -676,14 +676,16 @@ the Monero command line client and daemon.") | |||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "12m5fgnxkr11q2arx1m5ccpxqm5ljcvm6l547dwqn297zs5jim4z")))) | ||||
|          "06vdrsj5y9k0zn32hspyxc7sw1kkyrvi3chzkdbnxk9jvyj8k4ld")))) | ||||
|     (build-system qt-build-system) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config) | ||||
|      `(("monero-source" ,(package-source monero)) | ||||
|        ("pkg-config" ,pkg-config) | ||||
|        ("qttools" ,qttools))) | ||||
|     (inputs | ||||
|      `(("boost" ,boost) | ||||
|        ("hidapi" ,hidapi) | ||||
|        ("libgcrypt" ,libgcrypt) | ||||
|        ("libsodium" ,libsodium) | ||||
|        ("libunwind" ,libunwind) | ||||
|        ("libusb" ,libusb) | ||||
|  | @ -705,7 +707,16 @@ the Monero command line client and daemon.") | |||
|      `(#:tests? #f ; No tests | ||||
|        #: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 _ | ||||
|              (substitute* "src/zxcvbn-c/makefile" | ||||
|                (("\\?=") "=")) | ||||
|  | @ -1510,14 +1521,14 @@ like Flowee the Hub, which Fulcrum connects to over RPC.") | |||
| (define-public flowee | ||||
|   (package | ||||
|     (name "flowee") | ||||
|     (version "2020.03.3") | ||||
|     (version "2020.04.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://gitlab.com/FloweeTheHub/thehub/-/archive/" | ||||
|                             version "/thehub-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|          (base32 "0ksyh7ll3v9p8f5y15vcb2vkrpzb4h0ricag9j90ad4b4rfsnpjw")))) | ||||
|          (base32 "1vwvaxm3b71pfx8l4rrv06wqks6xdf2333w856b36s1bzvj53rhc")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags '("-Dbuild_tests=ON" "-Denable_gui=OFF") | ||||
|  | @ -1535,6 +1546,8 @@ like Flowee the Hub, which Fulcrum connects to over RPC.") | |||
|             (lambda _ | ||||
|               (substitute* "testing/CMakeLists.txt" | ||||
|                 (("test_api") "")) | ||||
|               (substitute* "testing/CMakeLists.txt" | ||||
|                 (("add_subdirectory\\(api\\)") "")) | ||||
|               #t)) | ||||
|           (add-after 'configure 'set-build-info | ||||
|             ;; 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 Raghav Gururajan <raghavgururajan@disroot.org> | ||||
| ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> | ||||
| ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -196,7 +197,7 @@ itself.")))) | |||
| (define-public font-cantarell | ||||
|   (package | ||||
|     (name "font-abattis-cantarell") | ||||
|     (version "0.111") | ||||
|     (version "0.201") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://gnome/sources/cantarell-fonts/" | ||||
|  | @ -204,11 +205,10 @@ itself.")))) | |||
|                                   "/cantarell-fonts-" version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "05hpnhihwm9sxlq1qn993g03pwkmpjbn0dvnba71r1gfjv0jp2w5")))) | ||||
|                 "0qwqmkczqy09fdj8l11nr841ks0dwsydqg55qyms12m4yvjn87xn")))) | ||||
|     (build-system meson-build-system) | ||||
|     (native-inputs | ||||
|      `(("appstream-glib" ,appstream-glib) | ||||
|        ("gettext" ,gettext-minimal))) ;for msgfmt | ||||
|      `(("gettext" ,gettext-minimal)))   ; for msgfmt | ||||
|     (home-page "https://wiki.gnome.org/Projects/CantarellFonts") | ||||
|     (synopsis "Cantarell sans-serif typeface") | ||||
|     (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 | ||||
|   (package | ||||
|     (name "font-liberation") | ||||
|     (version "2.00.5") | ||||
|     (version "2.1.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (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 | ||||
|         (base32 "0kdjsbf0y716k1kv0i0ixdpvg7b9b8xkcsg6favaxdc7pshg0kzi")))) | ||||
|         (base32 "1jkg8j8jx7ffj13z5ilw7dids99dyypljm1pv06ycmghw1pw3qlf")))) | ||||
|     (build-system font-build-system) | ||||
|     (home-page "https://github.com/liberationfonts") | ||||
|     (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 | ||||
|   (package | ||||
|     (name "font-gnu-unifont") | ||||
|     (version "13.0.01") | ||||
|     (version "13.0.02") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -688,7 +688,7 @@ for use at smaller text sizes"))) | |||
|              (string-append "mirror://gnu/unifont/unifont-" | ||||
|                             version "/unifont-" version ".tar.gz"))) | ||||
|        (sha256 | ||||
|         (base32 "1svzm3xahb2m8r79ha9gb1z3zlckykx9d87cghswj7dxn9868j4b")))) | ||||
|         (base32 "1fg908qadh14kfbpzqfj3vgzlxgx68sdlwhl2prz7arq5r45dami")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (outputs '("out"   ; TrueType version | ||||
|                "pcf"   ; PCF (bitmap) version | ||||
|  | @ -1068,7 +1068,7 @@ vector graphics.") | |||
| (define-public font-tamzen | ||||
|   (package | ||||
|     (name "font-tamzen") | ||||
|     (version "1.11.4") | ||||
|     (version "1.11.5") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -1077,8 +1077,7 @@ vector graphics.") | |||
|               (commit (string-append "Tamzen-" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "17kgmvg6q32mqhx9g44hjvzv0si0mnpprga4z7na930g2zdd8846")))) | ||||
|         (base32 "00x5fipzqimglvshhqwycdhaqslbvn3rl06jnswhyxfvz16ymj7s")))) | ||||
|     (build-system trivial-build-system) | ||||
|     (arguments | ||||
|      `(#:modules ((guix build utils)) | ||||
|  | @ -1122,16 +1121,14 @@ later hand-tweaked with the gbdfed(1) editor: | |||
| (define-public font-comic-neue | ||||
|   (package | ||||
|     (name "font-comic-neue") | ||||
|     ;; The ‘v2.3’ and ‘v2.4’ releases at https://github.com/crozynski/comicneue | ||||
|     ;; are equivalent.  The home page hosts 2.3, not 2.4, so we use that here. | ||||
|     (version "2.3") | ||||
|     (version "2.5") | ||||
|     (source (origin | ||||
|               (method url-fetch/zipbomb) | ||||
|               (uri (string-append | ||||
|                     "http://www.comicneue.com/comic-neue-" version ".zip")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1695hkpd8kqnr2a88p8xs496slgzxjjkzpa9aa33ml3pnh7519zk")))) | ||||
|                 "1ng0m0zs7qr91qy5ff0l01l27npr76961c6zfkxnhxf68zpwz5k4")))) | ||||
|     (build-system font-build-system) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|  | @ -1250,6 +1247,34 @@ programming.  Iosevka is completely generated from its source code.") | |||
|              (for-each make-file-writable (find-files "." ".*")) | ||||
|              #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 | ||||
|   (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc") | ||||
|         (revision "1")) | ||||
|  |  | |||
|  | @ -37,6 +37,7 @@ | |||
|   #:use-module (gnu packages perl) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages autotools) | ||||
|   #:use-module (gnu packages fonts) | ||||
|   #:use-module (gnu packages gettext) | ||||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages python-xyz) | ||||
|  | @ -292,6 +293,12 @@ fonts to/from the WOFF2 format.") | |||
| (define-public fontconfig | ||||
|   (package | ||||
|    (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") | ||||
|    (source (origin | ||||
|             (method url-fetch) | ||||
|  | @ -348,6 +355,13 @@ high quality, anti-aliased and subpixel rendered text on a display.") | |||
|                        "See COPYING in the distribution.")) | ||||
|    (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 | ||||
|   (package | ||||
|    (name "t1lib") | ||||
|  |  | |||
|  | @ -340,7 +340,7 @@ FOSS FPGA place and route tool.") | |||
| (define-public gtkwave | ||||
|   (package | ||||
|     (name "gtkwave") | ||||
|     (version "3.3.103") | ||||
|     (version "3.3.104") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -350,7 +350,7 @@ FOSS FPGA place and route tool.") | |||
|                   (string-append "http://gtkwave.sourceforge.net/" | ||||
|                                  "gtkwave-" version ".tar.gz"))) | ||||
|        (sha256 | ||||
|         (base32 "1xzaxqbabj4sb4n10yki5acglx3736pwl3kwlq4k7i96rzvsn9f3")))) | ||||
|         (base32 "0kw9a33gx60kn069yhx5pyk39x1z3pwaj8l1qqwq943v62lx23fj")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("gperf" ,gperf) | ||||
|  |  | |||
|  | @ -185,14 +185,14 @@ freedesktop.org project.") | |||
|   ;; Updating this will rebuild over 700 packages through libinput-minimal. | ||||
|   (package | ||||
|     (name "libinput") | ||||
|     (version "1.15.2") | ||||
|     (version "1.15.5") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://freedesktop.org/software/libinput/" | ||||
|                                   "libinput-" version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0ivpb4sghl80cs7jg3xrs53kckif6wy81cny3a8mry94nszky74p")))) | ||||
|                 "15ww4jl3lcxyi8m8idg8canklbqv729gnwpkz7r98c1w8a7zq3m9")))) | ||||
|     (build-system meson-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags '("-Ddocumentation=false") | ||||
|  | @ -1084,7 +1084,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.") | |||
| (define-public libqmi | ||||
|   (package | ||||
|     (name "libqmi") | ||||
|     (version "1.24.4") | ||||
|     (version "1.24.14") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -1092,7 +1092,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.") | |||
|                     "libqmi-" version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "12licfsszr6qxpg9b2b04qm2glk8d42fcy32zr8jzwrgr7gbl5h3")))) | ||||
|                 "0zshxqbm9ldybgrzh7pjmwmfjvvvfd0xh8qhgl8xiqdb9ply73r0")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (inputs | ||||
|      `(("libgudev" ,libgudev))) | ||||
|  | @ -1115,7 +1115,7 @@ which speak the Qualcomm MSM Interface (QMI) protocol.") | |||
| (define-public modem-manager | ||||
|   (package | ||||
|     (name "modem-manager") | ||||
|     (version "1.10.8") | ||||
|     (version "1.12.10") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -1123,15 +1123,11 @@ which speak the Qualcomm MSM Interface (QMI) protocol.") | |||
|                     "ModemManager-" version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "16hnl0sdriqgv4v30mfs64mdl9rw7lsh802zlm3ggwxxil3p9qfb")))) | ||||
|                 "1apq9camys2gaw6y6ic1ld20cncfwpmxnzvh4j5zkbbjpf5hbcxj")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:configure-flags | ||||
|        `(,(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"))) | ||||
|        `(,(string-append "--with-udev-base-dir=" %output "/lib/udev")))) | ||||
|     (native-inputs | ||||
|      `(("glib:bin" ,glib "bin") ; for glib-mkenums | ||||
|        ("gobject-introspection" ,gobject-introspection) | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| ;;; GNU Guix --- Functional package management for GNU | ||||
| ;;; 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> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
|  | @ -28,15 +28,17 @@ | |||
| (define-public freeipmi | ||||
|   (package | ||||
|     (name "freeipmi") | ||||
|     (version "1.6.4") | ||||
|     (version "1.6.5") | ||||
|     (source (origin | ||||
|              (method url-fetch) | ||||
|              (uri (string-append "mirror://gnu/freeipmi/freeipmi-" | ||||
|                                  version ".tar.gz")) | ||||
|              (sha256 | ||||
|               (base32 | ||||
|                "0g0s4iwx0ng4rv7hp5cc3kkx4drahsc89981gwjblf04lfavppv5")))) | ||||
|                "1ncf1s84752xaq07h36wrxa5ww1167s2bizkww0igxv8djyddwk1")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:configure-flags '("--disable-static"))) | ||||
|     (inputs | ||||
|      `(("libgcrypt" ,libgcrypt))) | ||||
|     (home-page "https://www.gnu.org/software/freeipmi/") | ||||
|  |  | |||
|  | @ -191,39 +191,39 @@ DeuTex has functions such as merging wads, etc.") | |||
|   (package | ||||
|     (name "grfcodec") | ||||
|     (version "6.0.6") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "http://binaries.openttd.org/extra/" | ||||
|                                   name "/" version "/" name "-" version | ||||
|                                   "-source.tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "08admgnpqcsifpicbm56apgv360fxapqpbbsp10qyk8i22w1ivsk")))) | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "https://binaries.openttd.org/extra/" | ||||
|                            name "/" version "/" name "-" version | ||||
|                            "-source.tar.xz")) | ||||
|        (sha256 | ||||
|         (base32 "08admgnpqcsifpicbm56apgv360fxapqpbbsp10qyk8i22w1ivsk")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(#:tests? #f ; no check target | ||||
|      '(#:tests? #f                      ;no check target | ||||
|        #:phases | ||||
|       (modify-phases %standard-phases | ||||
|         (delete 'configure) ; no configure script | ||||
|         (replace 'install   ; no install target | ||||
|           (lambda* (#:key outputs #:allow-other-keys) | ||||
|             (let* ((out (assoc-ref outputs "out")) | ||||
|                    (bin (string-append out "/bin")) | ||||
|                    (doc (string-append out "/share/doc")) | ||||
|                    (man (string-append out "/share/man/man1"))) | ||||
|               (for-each (lambda (file) | ||||
|                           (install-file file bin)) | ||||
|                         '("grfcodec" "grfid" "grfstrip" "nforenum")) | ||||
|               (install-file "COPYING" doc) | ||||
|               (with-directory-excursion "docs" | ||||
|                 (for-each (lambda (file) | ||||
|                             (install-file (string-append file ".txt") doc)) | ||||
|                           '("auto_correct" "commands" "grf" "grfcodec" "grftut" | ||||
|                             "readme" "readme.rpn")) | ||||
|                 (for-each (lambda (file) | ||||
|                             (install-file file man)) | ||||
|                           (find-files "." "\\.1")))) | ||||
|             #t))))) | ||||
|        (modify-phases %standard-phases | ||||
|          (delete 'configure)            ;no configure script | ||||
|          (replace 'install              ;no install target | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (let* ((out (assoc-ref outputs "out")) | ||||
|                     (bin (string-append out "/bin")) | ||||
|                     (doc (string-append out "/share/doc")) | ||||
|                     (man (string-append out "/share/man/man1"))) | ||||
|                (for-each (lambda (file) | ||||
|                            (install-file file bin)) | ||||
|                          '("grfcodec" "grfid" "grfstrip" "nforenum")) | ||||
|                (install-file "COPYING" doc) | ||||
|                (with-directory-excursion "docs" | ||||
|                  (for-each (lambda (file) | ||||
|                              (install-file (string-append file ".txt") doc)) | ||||
|                            '("auto_correct" "commands" "grf" "grfcodec" "grftut" | ||||
|                              "readme" "readme.rpn")) | ||||
|                  (for-each (lambda (file) | ||||
|                              (install-file file man)) | ||||
|                            (find-files "." "\\.1")))) | ||||
|              #t))))) | ||||
|     (inputs | ||||
|      `(("boost" ,boost) | ||||
|        ("libpng" ,libpng) | ||||
|  | @ -240,7 +240,7 @@ with a specific task: | |||
| @item @code{nforenum} checks NFO code for errors, making corrections when | ||||
| necessary. | ||||
| @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. | ||||
|     ;; NFORenum is under the GPL2+. | ||||
|     ;; 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/" | ||||
|                            version "/catcodec-" version "-source.tar.xz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1qg0c2i4p29sxj0q6qp2jynlrzm5pphz2xhcjqlxa69ycrnlxzs7")))) | ||||
|         (base32 "1qg0c2i4p29sxj0q6qp2jynlrzm5pphz2xhcjqlxa69ycrnlxzs7")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f ; no tests | ||||
|        #:make-flags (list (string-append "prefix=" %output)) | ||||
|        #:phases (modify-phases %standard-phases | ||||
|                   (delete 'configure)))) | ||||
|     (home-page "http://dev.openttdcoop.org/projects/catcodec") | ||||
|     (home-page "https://dev.openttdcoop.org/projects/catcodec") | ||||
|     (synopsis "Encode/decode OpenTTD sounds") | ||||
|     (description "catcodec encodes and decodes sounds for OpenTTD.  These | ||||
| 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) | ||||
|     (arguments | ||||
|      '(#:tests? #f                      ; no check target | ||||
|        #:configure-flags '("-DPHYSFS_BUILD_STATIC=OFF") | ||||
|        #:phases (modify-phases %standard-phases | ||||
|                   (add-after 'unpack 'patch-CMakeLists.txt | ||||
|                     (lambda _ | ||||
|  | @ -681,7 +681,6 @@ archive on a per-file basis.") | |||
|        ("mesa" ,mesa) | ||||
|        ("mpg123" ,mpg123) | ||||
|        ("openal" ,openal) | ||||
|        ("physfs" ,physfs) | ||||
|        ("sdl2" ,sdl2) | ||||
|        ("zlib" ,zlib))) | ||||
|     (synopsis "2D game framework for Lua") | ||||
|  | @ -1157,7 +1156,7 @@ developed mainly for Ren'py.") | |||
|     (native-inputs | ||||
|      `(("python2-cython" ,python2-cython) | ||||
|        ("xdg-utils" ,xdg-utils))) | ||||
|     (home-page "http://www.renpy.org/") | ||||
|     (home-page "https://www.renpy.org/") | ||||
|     (synopsis "Ren'py python module") | ||||
|     (description "This package contains the shared libraries and Python | ||||
| modules of Ren'py.") | ||||
|  | @ -1345,7 +1344,7 @@ if __name__ == \"__main__\": | |||
|        ("xorg-server" ,xorg-server))) | ||||
|     (outputs | ||||
|      (list "out" "tutorial" "the-question")) | ||||
|     (home-page "http://www.renpy.org/") | ||||
|     (home-page "https://www.renpy.org/") | ||||
|     (synopsis "Visual Novel Engine") | ||||
|     (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 | ||||
|  | @ -1585,11 +1584,7 @@ games.") | |||
|     (build-system scons-build-system) | ||||
|     (arguments | ||||
|      `(#:scons ,scons-python2 | ||||
|        #:scons-flags (list "platform=x11" | ||||
|                            ,@(if (string-prefix? "aarch64" (or (%current-target-system) | ||||
|                                                                (%current-system))) | ||||
|                                `("CCFLAGS=-DNO_THREADS") | ||||
|                                '()) | ||||
|        #:scons-flags (list "platform=x11" "target=release_debug" | ||||
|                            ;; Avoid using many of the bundled libs. | ||||
|                            ;; Note: These options can be found in the SConstruct file. | ||||
|                            "builtin_bullet=no" | ||||
|  | @ -1608,7 +1603,7 @@ games.") | |||
|                            "builtin_wslay=no" | ||||
|                            "builtin_zlib=no" | ||||
|                            "builtin_zstd=no") | ||||
|        #:tests? #f ; There are no tests | ||||
|        #:tests? #f                      ; There are no tests | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'scons-use-env | ||||
|  | @ -1621,41 +1616,46 @@ games.") | |||
|                  "env_base = Environment(tools=custom_tools)\n" | ||||
|                  "env_base = Environment(ENV=os.environ)"))) | ||||
|              #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 | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|            (lambda* (#:key inputs outputs #:allow-other-keys) | ||||
|              (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" | ||||
|                  (if (file-exists? "godot.x11.tools.64") | ||||
|                      (rename-file "godot.x11.tools.64" "godot") | ||||
|                      (rename-file "godot.x11.tools.32" "godot")) | ||||
|                  (install-file "godot" bin)) | ||||
|                ;; Tell Godot where to find zenity for OS.alert(). | ||||
|                (wrap-program (string-append bin "/godot") | ||||
|                  `("PATH" ":" prefix | ||||
|                    (,(string-append (assoc-ref %build-inputs "zenity") "/bin")))) | ||||
|                #t))) | ||||
|                  (for-each | ||||
|                   (lambda (file) | ||||
|                     (let ((dest (car (string-split (basename file) #\.)))) | ||||
|                       (rename-file file dest))) | ||||
|                   (find-files "." "godot.*\\.x11\\.opt\\.tools.*")) | ||||
|                  (install-file "godot" (string-append out "/bin")) | ||||
|                  (install-file "godot_server" (string-append headless "/bin"))) | ||||
|                ;; Tell the editor where to find zenity for OS.alert(). | ||||
|                (wrap-program (string-append out "/bin/godot") | ||||
|                  `("PATH" ":" prefix (,(string-append zenity "/bin"))))) | ||||
|              #t)) | ||||
|          (add-after 'install 'install-godot-desktop | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (let* ((out (assoc-ref outputs "out")) | ||||
|                     (desktop (string-append out "/share/applications")) | ||||
|                     (icon-dir (string-append out "/share/pixmaps"))) | ||||
|                (rename-file "icon.png" "godot.png") | ||||
|                (install-file "godot.png" icon-dir) | ||||
|                (mkdir-p desktop) | ||||
|                (with-output-to-file | ||||
|                    (string-append desktop "/godot.desktop") | ||||
|                  (lambda _ | ||||
|                    (format #t | ||||
|                            "[Desktop Entry]~@ | ||||
|                            Name=godot~@ | ||||
|                            Comment=The godot game engine~@ | ||||
|                            Exec=~a/bin/godot~@ | ||||
|                            TryExec=~@*~a/bin/godot~@ | ||||
|                            Icon=godot~@ | ||||
|                            Type=Application~%" | ||||
|                            out))) | ||||
|                #t)))))) | ||||
|                     (applications (string-append out "/share/applications")) | ||||
|                     (icons (string-append out "/share/icons/hicolor"))) | ||||
|                (mkdir-p applications) | ||||
|                (copy-file "misc/dist/linux/org.godotengine.Godot.desktop" | ||||
|                           (string-append applications "/godot.desktop")) | ||||
|                (for-each (lambda (icon dest) | ||||
|                            (mkdir-p (dirname dest)) | ||||
|                            (copy-file icon dest)) | ||||
|                          '("icon.png" "icon.svg") | ||||
|                          `(,(string-append icons "/256x256/apps/godot.png") | ||||
|                            ,(string-append icons "/scalable/apps/godot.svg")))) | ||||
|              #t))))) | ||||
|     (outputs '("out" "headless")) | ||||
|     (native-inputs `(("pkg-config" ,pkg-config))) | ||||
|     (inputs `(("alsa-lib" ,alsa-lib) | ||||
|               ("bullet" ,bullet) | ||||
|  |  | |||
|  | @ -23,7 +23,7 @@ | |||
| ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> | ||||
| ;;; 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, 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, 2019 nee <nee-git@hidamari.blue> | ||||
| ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> | ||||
|  | @ -450,7 +450,7 @@ possible, while battling many vicious aliens.") | |||
| (define-public cataclysm-dda | ||||
|   (package | ||||
|     (name "cataclysm-dda") | ||||
|     (version "0.E") | ||||
|     (version "0.E-2") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -458,7 +458,7 @@ possible, while battling many vicious aliens.") | |||
|              (url "https://github.com/CleverRaven/Cataclysm-DDA.git") | ||||
|              (commit version))) | ||||
|        (sha256 | ||||
|         (base32 "0pbi0fw37zimzdklfj58s1ql0wlqq7dy6idkcsib3hn910ajaxan")) | ||||
|         (base32 "15l6w6lxays7qmsv0ci2ry53asb9an9dh7l7fc13256k085qcg68")) | ||||
|        (file-name (git-file-name name version)))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|  | @ -626,8 +626,9 @@ tired of cows, a variety of other ASCII-art messengers are available.") | |||
|          (file-name (git-file-name name version)))) | ||||
|       (build-system gnu-build-system) | ||||
|       (arguments | ||||
|        `(#:tests? #f ;; no check target | ||||
|          #:make-flags (list "CC=gcc") | ||||
|        `(#:tests? #f                    ; no check target | ||||
|          #:make-flags | ||||
|          (list ,(string-append "CC=" (cc-for-target))) | ||||
|          #:phases | ||||
|          (modify-phases %standard-phases | ||||
|            (delete 'bootstrap) | ||||
|  | @ -978,7 +979,7 @@ automata.  The following features are available: | |||
| (define-public julius | ||||
|   (package | ||||
|     (name "julius") | ||||
|     (version "1.4.0") | ||||
|     (version "1.4.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -987,7 +988,7 @@ automata.  The following features are available: | |||
|              (commit (string-append "v" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "01rygr592ar530qv1flmaiq8icl0qdxgc8lhkcdyn1g09941z47v")) | ||||
|         (base32 "12hhnhdwgz7hd3hlndbnk15pxggm1375qs0764ija4nl1gbpb110")) | ||||
|        ;; Remove unused bundled libraries. | ||||
|        (modules '((guix build utils))) | ||||
|        (snippet | ||||
|  | @ -1157,15 +1158,15 @@ destroying an ancient book using a special wand.") | |||
| (define-public gnome-chess | ||||
|   (package | ||||
|     (name "gnome-chess") | ||||
|     (version "3.36.0") | ||||
|     (version "3.36.1") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://gnome/sources/" name "/" | ||||
|               (uri (string-append "mirror://gnome/sources/gnome-chess/" | ||||
|                                   (version-major+minor version)  "/" | ||||
|                                   name "-" version ".tar.xz")) | ||||
|                                   "gnome-chess-" version ".tar.xz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1a9fgi749gy1f60vbcyrqqkab9vqs42hji70q73k1xx8rv0agmg0")))) | ||||
|                 "165bk8s3nngyqbikggspj4rff5nxxfkfcmgzjb4grmsrgbqwk5di")))) | ||||
|     (build-system meson-build-system) | ||||
|     (arguments | ||||
|      '(#: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 | ||||
|   (package | ||||
|     (name "ltris") | ||||
|     (version "1.0.19") | ||||
|     (version "1.0.20") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "http://prdownloads.sourceforge.net/lgames/" | ||||
|                            "ltris-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "1895wv1fqklrj4apkz47rnkcfhfav7zjknskw6p0886j35vrwslg")))) | ||||
|         (base32 "16zbqsc4amx9g3yjv6054nh4ia09dgfp8k6q4qxpjicl3dw3z0in")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments | ||||
|      '(;; The code in LTris uses traditional GNU semantics for inline functions | ||||
|  | @ -1733,6 +1733,83 @@ can be explored and changed freely.") | |||
|                    license:gpl3+ | ||||
|                    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 | ||||
|   (package | ||||
|     (name "xshogi") | ||||
|  | @ -1814,16 +1891,15 @@ that beneath its ruins lay buried an ancient evil.") | |||
| (define-public angband | ||||
|   (package | ||||
|     (name "angband") | ||||
|     (version "4.2.0") | ||||
|     (version "4.2.1") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|        (uri (string-append "http://rephial.org/downloads/" | ||||
|        (uri (string-append "https://rephial.org/downloads/" | ||||
|                            (version-major+minor version) | ||||
|                            "/angband-" version ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0vdm1ymm28wawp94nl1p5q3lhc0k7cnn2kkvvrkfx962gif4kqfk")) | ||||
|         (base32 "03qdavkj2ik02mqjxmlm5bn17ba3yxb1rirp8ghnxy3bsk4kbmxc")) | ||||
|        (modules '((guix build utils))) | ||||
|        (snippet | ||||
|         ;; 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) | ||||
|        ("automake" ,automake))) | ||||
|     (inputs `(("ncurses" ,ncurses))) | ||||
|     (home-page "http://rephial.org/") | ||||
|     (home-page "https://rephial.org/") | ||||
|     (synopsis "Dungeon exploration roguelike") | ||||
|     (description "Angband is a Classic dungeon exploration roguelike.  Explore | ||||
| 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 | ||||
|   (package | ||||
|     (name "chess") | ||||
|     (version "6.2.6") | ||||
|     (version "6.2.7") | ||||
|     (source | ||||
|      (origin | ||||
|        (method url-fetch) | ||||
|  | @ -1984,7 +2060,7 @@ asynchronously and at a user-defined speed.") | |||
|                            ".tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0kxhdv01ia91v2y0cmzbll391ns2vbmn65jjrv37h4s1srszh5yn")))) | ||||
|          "0ilq4bfl0lwyzf11q7n2skydjhalfn3bgxhrp5hjxs5bc5d6fdp5")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (home-page "https://www.gnu.org/software/chess/") | ||||
|     (synopsis "Full chess implementation") | ||||
|  | @ -2894,7 +2970,7 @@ falling, themeable graphics and sounds, and replays.") | |||
| (define-public wesnoth | ||||
|   (package | ||||
|     (name "wesnoth") | ||||
|     (version "1.14.11") | ||||
|     (version "1.14.12") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" | ||||
|  | @ -2903,7 +2979,7 @@ falling, themeable graphics and sounds, and replays.") | |||
|                                   "wesnoth-" version ".tar.bz2")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1i8mz6gw3qar09bscczhki0g4scj8pl58v85rp0g55r4bcq41l5v")))) | ||||
|                 "027bc1363hdgahw7dvd22fvvqd132byxnljfbq6lvlr5ci01q8mk")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:tests? #f))                    ;no check target | ||||
|  | @ -3904,7 +3980,7 @@ tactics.") | |||
| (define-public starfighter | ||||
|   (package | ||||
|     (name "starfighter") | ||||
|     (version "2.0.0.3") | ||||
|     (version "2.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append | ||||
|  | @ -3913,7 +3989,7 @@ tactics.") | |||
|                     (version-major+minor version) "-src.tar.gz")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "13vi5kh9ahws4f52421cbyw0jn7pmbnld358lqfmr6flql7ilj3b")))) | ||||
|                 "1ldd9cbvl694ps4sapr8213m3zjrci7gii5x3kjjfalkikmndpd2")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config))) | ||||
|  | @ -4742,24 +4818,27 @@ emerges from a sewer hole and pulls her below ground.") | |||
| (define-public cdogs-sdl | ||||
|   (package | ||||
|     (name "cdogs-sdl") | ||||
|     (version "0.6.9") | ||||
|     (source (origin | ||||
|               (method git-fetch) | ||||
|               (uri (git-reference | ||||
|                     (url "https://github.com/cxong/cdogs-sdl.git") | ||||
|                     (commit version))) | ||||
|               (file-name (git-file-name name version)) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "13gyv2hzk43za1n3lsjnd5v64xlzfzq7n10scd1rcbsnk1n007zr")))) | ||||
|     (version "0.8.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/cxong/cdogs-sdl.git") | ||||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 "0vx37zb2iw7sfw5a2bs97ydlmb301nvy485ybdm8g46c5hn9s13c")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|        (list (string-append "-DCDOGS_DATA_DIR=" | ||||
|                             (assoc-ref %outputs "out") | ||||
|                             "/share/cdogs-sdl/")))) | ||||
|     (native-inputs | ||||
|      `(("pkg-config" ,pkg-config))) | ||||
|     (inputs | ||||
|      `(("mesa" ,mesa) | ||||
|      `(("gtk+" ,gtk+) | ||||
|        ("mesa" ,mesa) | ||||
|        ("sdl2" ,sdl2) | ||||
|        ("sdl2-image" ,sdl2-image) | ||||
|        ("sdl2-mixer" ,sdl2-mixer))) | ||||
|  | @ -5730,6 +5809,14 @@ some graphical niceities, and numerous bug-fixes and other improvements.") | |||
|                (string-append "LDFLAGS=-Wl,-rpath=" vulkanlib) | ||||
|                "-CQuake")) | ||||
|        #: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) | ||||
|                   (add-after 'unpack 'fix-makefile-paths | ||||
|                     (lambda* (#:key outputs #:allow-other-keys) | ||||
|  | @ -6299,7 +6386,7 @@ original.") | |||
| (define-public fortune-mod | ||||
|   (package | ||||
|     (name "fortune-mod") | ||||
|     (version "2.12.0") | ||||
|     (version "2.28.0") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|  | @ -6308,8 +6395,7 @@ original.") | |||
|              (commit (string-append "fortune-mod-" version)))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0laxgqsdg7kvpvvm1f54b94ga9r0cr9g3ffii8avg8fy65x6pzc9")))) | ||||
|         (base32 "1ppzgnffgdcmq6fq4gmdq2ig10ip2bnfgklkb3i8nc6bdxm7pb89")))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:test-target "check" | ||||
|  | @ -6587,7 +6673,7 @@ quotation from a collection of quotes.") | |||
|        ("pkg-config" ,pkg-config) | ||||
|        ("libtool" ,libtool) | ||||
|        ("gmp" ,gmp))) | ||||
|     (home-page "http://xonotic.org") | ||||
|     (home-page "https://xonotic.org") | ||||
|     (synopsis "Fast-paced first-person shooter game") | ||||
|     (description | ||||
|      "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 | ||||
|   (package | ||||
|     (name "libmanette") | ||||
|     (version "0.2.3") | ||||
|     (version "0.2.4") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (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")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "1zxh7jn2zg7hivmal5zxam6fxvjsd1w6hlw0m2kysk76b8anbw60")))) | ||||
|                 "1xrc6rh73v5w3kbkflzv1yg8sbxk4wf06hfk95raxhxlssza9q2g")))) | ||||
|     (build-system meson-build-system) | ||||
|     (native-inputs | ||||
|      `(("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 | ||||
|   (package | ||||
|     (name "edgar") | ||||
|     (version "1.32") | ||||
|     (version "1.33") | ||||
|     (source | ||||
|      (origin | ||||
|        (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/" | ||||
|                        version "/edgar-" version "-1.tar.gz")) | ||||
|        (sha256 | ||||
|         (base32 "12lam6qcscc5ima1w2ksd1cvsvxbd17h6mqkgsqpzx8ap43p2r5p")))) | ||||
|         (base32 "1mbx7dvizdca4g1blcv3bdh6yxd13k47rkya4rdzg0nvvz24m175")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (arguments '(#:tests? #f            ; there are no tests | ||||
|                  #:make-flags | ||||
|  |  | |||
|  | @ -3,6 +3,7 @@ | |||
| ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> | ||||
| ;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il> | ||||
| ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> | ||||
| ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
| ;;; | ||||
|  | @ -93,7 +94,6 @@ | |||
|        ("ncurses" ,ncurses) | ||||
|        ("guile" ,guile-2.0) | ||||
|        ("python-wrapper" ,python-wrapper) | ||||
|        ("dejagnu" ,dejagnu) | ||||
|        ("source-highlight" ,source-highlight) | ||||
| 
 | ||||
|        ;; Allow use of XML-formatted syscall information.  This enables 'catch | ||||
|  | @ -101,6 +101,7 @@ | |||
|        ("libxml2" ,libxml2))) | ||||
|     (native-inputs | ||||
|       `(("texinfo" ,texinfo) | ||||
|         ("dejagnu" ,dejagnu) | ||||
|         ("pkg-config" ,pkg-config))) | ||||
|     (home-page "https://www.gnu.org/software/gdb/") | ||||
|     (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 | ||||
|   ;; enough to avoid massive rebuilds. | ||||
|   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 Mathieu Othacehe <m.othacehe@gmail.com> | ||||
| ;;; 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> | ||||
| ;;; | ||||
| ;;; 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 | ||||
|   (package | ||||
|     (name "libtextstyle") | ||||
|     (version (package-version gettext-minimal)) | ||||
|     (source (package-source gettext-minimal)) | ||||
|     (version "0.20.2") | ||||
|     (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) | ||||
|     (arguments | ||||
|      '(#:configure-flags '("--disable-static") | ||||
|  |  | |||
|  | @ -51,7 +51,7 @@ | |||
| (define-public babl | ||||
|   (package | ||||
|     (name "babl") | ||||
|     (version "0.1.74") | ||||
|     (version "0.1.78") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (list (string-append "https://download.gimp.org/pub/babl/" | ||||
|  | @ -65,7 +65,7 @@ | |||
|                                         "/babl-" version ".tar.xz"))) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "03nfcvy3453xkfvsfcnsfcjf2vg2pin09qnr9jlssdysa1lhnwcs")))) | ||||
|                 "0fjjfb0pbgimlqi7rk8cqz8pq595b7gw8nrpkxfmixdz6cv4km8p")))) | ||||
|     (build-system meson-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|  | @ -90,7 +90,7 @@ provided, as well as a framework to add new color models and data types.") | |||
| (define-public gegl | ||||
|   (package | ||||
|     (name "gegl") | ||||
|     (version "0.4.22") | ||||
|     (version "0.4.24") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (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"))) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "0q9cckf90fb82qc5d496fjz459f1xw4j4p3rff1f57yivx0yr20q")))) | ||||
|                 "0ji57s7cba94vzy49agn7x47ca61rccm6rif0cb0s6rl4ygljrbp")))) | ||||
|     (build-system meson-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|  | @ -135,7 +135,7 @@ buffers.") | |||
| (define-public gimp | ||||
|   (package | ||||
|     (name "gimp") | ||||
|     (version "2.10.18") | ||||
|     (version "2.10.20") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://download.gimp.org/pub/gimp/v" | ||||
|  | @ -143,7 +143,7 @@ buffers.") | |||
|                                   "/gimp-" version ".tar.bz2")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "05np26g61fyr72s7qjfrcck8v57r0yswq5ihvqyzvgzfx08y3gv5")))) | ||||
|                 "0g3vzh1bjffqx94mfghmwvkhncv71cgah2mnfx17q00s9f3rybz1")))) | ||||
|     (build-system gnu-build-system) | ||||
|     (outputs '("out" | ||||
|                "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