Archived
1
0
Fork 0

Merge branch 'master' into core-updates

This commit is contained in:
Marius Bakke 2020-06-14 16:24:34 +02:00
commit 4193095e18
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
371 changed files with 20643 additions and 9734 deletions

View file

@ -89,6 +89,10 @@
(eval . (put 'with-database 'scheme-indent-function 2)) (eval . (put 'with-database 'scheme-indent-function 2))
(eval . (put 'call-with-transaction 'scheme-indent-function 2)) (eval . (put 'call-with-transaction 'scheme-indent-function 2))
(eval . (put 'with-statement 'scheme-indent-function 3))
(eval . (put 'call-with-retrying-transaction 'scheme-indent-function 2))
(eval . (put 'call-with-savepoint 'scheme-indent-function 1))
(eval . (put 'call-with-retrying-savepoint 'scheme-indent-function 1))
(eval . (put 'call-with-container 'scheme-indent-function 1)) (eval . (put 'call-with-container 'scheme-indent-function 1))
(eval . (put 'container-excursion 'scheme-indent-function 1)) (eval . (put 'container-excursion 'scheme-indent-function 1))
@ -96,6 +100,10 @@
(eval . (put 'call-with-progress-reporter 'scheme-indent-function 1)) (eval . (put 'call-with-progress-reporter 'scheme-indent-function 1))
(eval . (put 'with-temporary-git-repository 'scheme-indent-function 2)) (eval . (put 'with-temporary-git-repository 'scheme-indent-function 2))
(eval . (put 'with-environment-variables 'scheme-indent-function 1))
(eval . (put 'with-fresh-gnupg-setup 'scheme-indent-function 1))
(eval . (put 'with-paginated-output-port 'scheme-indent-function 1))
;; This notably allows '(' in Paredit to not insert a space when the ;; This notably allows '(' in Paredit to not insert a space when the
;; preceding symbol is one of these. ;; preceding symbol is one of these.

View file

@ -7,7 +7,7 @@
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> # Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
# Copyright © 2017 Leo Famulari <leo@famulari.name> # Copyright © 2017 Leo Famulari <leo@famulari.name>
# Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> # Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org> # Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> # Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
# Copyright © 2018 Nikita <nikita@n0.is> # Copyright © 2018 Nikita <nikita@n0.is>
# Copyright © 2018 Julien Lepiller <julien@lepiller.eu> # Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
@ -104,6 +104,7 @@ MODULES = \
guix/lint.scm \ guix/lint.scm \
guix/glob.scm \ guix/glob.scm \
guix/git.scm \ guix/git.scm \
guix/git-authenticate.scm \
guix/graph.scm \ guix/graph.scm \
guix/cache.scm \ guix/cache.scm \
guix/cve.scm \ guix/cve.scm \
@ -318,7 +319,8 @@ MODULES += $(STORE_MODULES)
dist_noinst_DATA = \ dist_noinst_DATA = \
guix/tests.scm \ guix/tests.scm \
guix/tests/http.scm \ guix/tests/http.scm \
guix/tests/git.scm guix/tests/git.scm \
guix/tests/gnupg.scm
# Auxiliary files for packages. # Auxiliary files for packages.
AUX_FILES = \ AUX_FILES = \
@ -346,6 +348,7 @@ AUX_FILES = \
EXAMPLES = \ EXAMPLES = \
gnu/system/examples/asus-c201.tmpl \ gnu/system/examples/asus-c201.tmpl \
gnu/system/examples/bare-bones.tmpl \ gnu/system/examples/bare-bones.tmpl \
gnu/system/examples/bare-hurd.tmpl \
gnu/system/examples/beaglebone-black.tmpl \ gnu/system/examples/beaglebone-black.tmpl \
gnu/system/examples/desktop.tmpl \ gnu/system/examples/desktop.tmpl \
gnu/system/examples/lightweight-desktop.tmpl \ gnu/system/examples/lightweight-desktop.tmpl \
@ -403,6 +406,7 @@ SCM_TESTS = \
tests/gem.scm \ tests/gem.scm \
tests/gexp.scm \ tests/gexp.scm \
tests/git.scm \ tests/git.scm \
tests/git-authenticate.scm \
tests/glob.scm \ tests/glob.scm \
tests/gnu-maintenance.scm \ tests/gnu-maintenance.scm \
tests/grafts.scm \ tests/grafts.scm \
@ -557,6 +561,7 @@ EXTRA_DIST += \
build-aux/cuirass/guix-modular.scm \ build-aux/cuirass/guix-modular.scm \
build-aux/cuirass/hydra-to-cuirass.scm \ build-aux/cuirass/hydra-to-cuirass.scm \
build-aux/check-final-inputs-self-contained.scm \ build-aux/check-final-inputs-self-contained.scm \
build-aux/check-channel-news.scm \
build-aux/compile-as-derivation.scm \ build-aux/compile-as-derivation.scm \
build-aux/generate-authors.scm \ build-aux/generate-authors.scm \
build-aux/git-authenticate.scm \ build-aux/git-authenticate.scm \
@ -574,6 +579,8 @@ EXTRA_DIST += \
tests/dsa.key \ tests/dsa.key \
tests/ed25519.key \ tests/ed25519.key \
tests/ed25519.sec \ tests/ed25519.sec \
tests/ed25519bis.key \
tests/ed25519bis.sec \
build-aux/config.rpath \ build-aux/config.rpath \
bootstrap \ bootstrap \
doc/build.scm \ doc/build.scm \
@ -626,17 +633,17 @@ $(guix_install_go_files): install-nobase_dist_guilemoduleDATA
install-data-hook: install-data-hook:
touch "$(DESTDIR)$(guileobjectdir)/guix/config.go" touch "$(DESTDIR)$(guileobjectdir)/guix/config.go"
# Commit corresponding to the 'v1.0.1' tag. # Commit corresponding to the 'v1.0.0' tag.
commit_v1_0_1 = d68de958b60426798ed62797ff7c96c327a672ac commit_v1_0_0 = 6298c3ffd9654d3231a6f25390b056483e8f407c
# Authenticate the current Git checkout by checking signatures on every commit # Authenticate the current Git checkout by checking signatures on every commit
# starting from $(commit_v1_0_1). # starting from $(commit_v1_0_0).
authenticate: authenticate: guix/openpgp.go guix/git-authenticate.go guix/git.go
$(AM_V_at)echo "Authenticating Git checkout..." ; \ $(AM_V_at)echo "Authenticating Git checkout..." ; \
"$(top_builddir)/pre-inst-env" $(GUILE) \ "$(top_builddir)/pre-inst-env" $(GUILE) \
--no-auto-compile -e git-authenticate \ --no-auto-compile -e git-authenticate \
"$(top_srcdir)/build-aux/git-authenticate.scm" \ "$(top_srcdir)/build-aux/git-authenticate.scm" \
"$(commit_v1_0_1)" "$(commit_v1_0_0)"
# Assuming Guix is already installed and the daemon is up and running, this # Assuming Guix is already installed and the daemon is up and running, this
# rule builds from $(srcdir), creating and building derivations. # rule builds from $(srcdir), creating and building derivations.
@ -885,6 +892,11 @@ assert-final-inputs-self-contained: $(GOBJECTS)
$(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \ $(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \
"$(top_srcdir)/build-aux/check-final-inputs-self-contained.scm" "$(top_srcdir)/build-aux/check-final-inputs-self-contained.scm"
# Validate channel news.
check-channel-news: $(GOBJECTS)
$(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \
"$(top_srcdir)/build-aux/check-channel-news.scm"
# Compute the Hydra jobs and write them in the target file. # Compute the Hydra jobs and write them in the target file.
hydra-jobs.scm: $(GOBJECTS) hydra-jobs.scm: $(GOBJECTS)
$(AM_V_at)$(MKDIR_P) "`dirname "$@"`" $(AM_V_at)$(MKDIR_P) "`dirname "$@"`"
@ -904,7 +916,7 @@ cuirass-jobs.scm: $(GOBJECTS)
.PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version .PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version
.PHONY: assert-no-store-file-names assert-binaries-available .PHONY: assert-no-store-file-names assert-binaries-available
.PHONY: assert-final-inputs-self-contained .PHONY: assert-final-inputs-self-contained check-channel-news
.PHONY: clean-go make-go as-derivation authenticate .PHONY: clean-go make-go as-derivation authenticate
.PHONY: update-guix-package update-NEWS release .PHONY: update-guix-package update-NEWS release

25
README
View file

@ -18,27 +18,12 @@ Guix is based on the [[https://nixos.org/nix/][Nix]] package manager.
* Requirements * Requirements
GNU Guix currently depends on the following packages: If you are building Guix from source, please see the manual for build
instructions and requirements, either by running:
- [[https://gnu.org/software/guile/][GNU Guile 2.2.x]] info -f doc/guix.info "Requirements"
- [[https://notabug.org/cwebber/guile-gcrypt][Guile-Gcrypt]] 0.1.0 or later
- [[https://www.gnu.org/software/make/][GNU Make]]
- [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled
- [[https://notabug.org/guile-sqlite3/guile-sqlite3][Guile-SQLite3]], version 0.1.0 or later
- [[https://gitlab.com/guile-git/guile-git][Guile-Git]]
- [[http://www.zlib.net/][zlib]]
- [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]]
Unless `--disable-daemon' was passed, the following packages are needed: or by checking the [[https://guix.gnu.org/manual/en/html_node/Requirements.html][web copy of the manual]].
- [[https://gnupg.org/][GNU libgcrypt]]
- [[https://sqlite.org/][SQLite 3]]
- [[https://gcc.gnu.org][GCC's g++]]
- optionally [[http://www.bzip.org][libbz2]]
When `--disable-daemon' was passed, you instead need the following:
- [[https://nixos.org/nix/][Nix]]
* Installation * Installation
@ -46,7 +31,7 @@ See the manual for the installation instructions, either by running
info -f doc/guix.info "Installation" info -f doc/guix.info "Installation"
or by checking the [[https://www.gnu.org/software/guix/manual/guix.html#Installation][web copy of the manual]]. or by checking the [[https://guix.gnu.org/manual/en/html_node/Installation.html][web copy of the manual]].
For information on installation from a Git checkout, please see the section For information on installation from a Git checkout, please see the section
"Building from Git" in the manual. "Building from Git" in the manual.

View 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))))

View file

@ -22,32 +22,28 @@
;;; ;;;
(use-modules (git) (use-modules (git)
(guix git)
(guix openpgp)
(guix base16) (guix base16)
((guix utils) (guix git)
#:select (cache-directory with-atomic-file-output)) (guix git-authenticate)
((guix build utils) #:select (mkdir-p))
(guix i18n) (guix i18n)
((guix openpgp)
#:select (openpgp-public-key-fingerprint
openpgp-format-fingerprint))
(guix progress) (guix progress)
(srfi srfi-1) (srfi srfi-1)
(srfi srfi-11)
(srfi srfi-26) (srfi srfi-26)
(srfi srfi-34)
(srfi srfi-35)
(rnrs bytevectors)
(rnrs io ports)
(ice-9 match) (ice-9 match)
(ice-9 format) (ice-9 format)
(ice-9 pretty-print)) (ice-9 pretty-print))
(define %committers (define %historical-committers
;; List of committers. These are the user names found on ;; List of "historical" committers---people once authorized committers
;; before the '.guix-authorizations' file was created.
;;
;; These are the user names found on
;; <https://savannah.gnu.org/project/memberlist.php?group=guix> along with ;; <https://savannah.gnu.org/project/memberlist.php?group=guix> along with
;; the fingerprint of the signing (sub)key. ;; the fingerprint of the signing (sub)key.
;;
;; TODO: Replace this statically-defined list by an in-repo list.
'(("andreas" '(("andreas"
"AD17 A21E F8AE D8F1 CC02 DBD9 F7D5 C9BF 765C 61E3") "AD17 A21E F8AE D8F1 CC02 DBD9 F7D5 C9BF 765C 61E3")
("ajgrf" ("ajgrf"
@ -214,13 +210,13 @@
("wingo" ("wingo"
"FF47 8FB2 64DE 32EC 2967 25A3 DDC0 F535 8812 F8F2"))) "FF47 8FB2 64DE 32EC 2967 25A3 DDC0 F535 8812 F8F2")))
(define %authorized-signing-keys (define %historical-authorized-signing-keys
;; Fingerprint of authorized signing keys. ;; Fingerprint of historically authorized signing keys.
(map (match-lambda (map (match-lambda
((name fingerprint) ((name fingerprint)
(base16-string->bytevector (base16-string->bytevector
(string-downcase (string-filter char-set:graphic fingerprint))))) (string-downcase (string-filter char-set:graphic fingerprint)))))
%committers)) %historical-committers))
(define %commits-with-bad-signature (define %commits-with-bad-signature
;; Commits with a known-bad signature. ;; Commits with a known-bad signature.
@ -230,195 +226,9 @@
;; Commits lacking a signature. ;; Commits lacking a signature.
'()) '())
(define (commit-signing-key repo commit-id keyring)
"Return the OpenPGP key that signed COMMIT-ID (an OID). Raise an exception
if the commit is unsigned, has an invalid signature, or if its signing key is
not in KEYRING."
(let-values (((signature signed-data)
(catch 'git-error
(lambda ()
(commit-extract-signature repo commit-id))
(lambda _
(values #f #f)))))
(unless signature
(raise (condition
(&message
(message (format #f (G_ "commit ~a lacks a signature")
commit-id))))))
(let ((signature (string->openpgp-packet signature)))
(with-fluids ((%default-port-encoding "UTF-8"))
(let-values (((status data)
(verify-openpgp-signature signature keyring
(open-input-string signed-data))))
(match status
('bad-signature
;; There's a signature but it's invalid.
(raise (condition
(&message
(message (format #f (G_ "signature verification failed \
for commit ~a")
(oid->string commit-id)))))))
('missing-key
(raise (condition
(&message
(message (format #f (G_ "could not authenticate \
commit ~a: key ~a is missing")
(oid->string commit-id)
data))))))
('good-signature data)))))))
(define (read-authorizations port)
"Read authorizations in the '.guix-authorizations' format from PORT, and
return a list of authorized fingerprints."
(match (read port)
(('authorizations ('version 0)
(((? string? fingerprints) _ ...) ...)
_ ...)
(map (lambda (fingerprint)
(base16-string->bytevector
(string-downcase (string-filter char-set:graphic fingerprint))))
fingerprints))))
(define* (commit-authorized-keys repository commit
#:optional (default-authorizations '()))
"Return the list of OpenPGP fingerprints authorized to sign COMMIT, based on
authorizations listed in its parent commits. If one of the parent commits
does not specify anything, fall back to DEFAULT-AUTHORIZATIONS."
(define (commit-authorizations commit)
(catch 'git-error
(lambda ()
(let* ((tree (commit-tree commit))
(entry (tree-entry-bypath tree ".guix-authorizations"))
(blob (blob-lookup repository (tree-entry-id entry))))
(read-authorizations
(open-bytevector-input-port (blob-content blob)))))
(lambda (key error)
(if (= (git-error-code error) GIT_ENOTFOUND)
default-authorizations
(throw key error)))))
(apply lset-intersection bytevector=?
(map commit-authorizations (commit-parents commit))))
(define (authenticate-commit repository commit keyring)
"Authenticate COMMIT from REPOSITORY and return the signing key fingerprint.
Raise an error when authentication fails."
(define id
(commit-id commit))
(define signing-key
(commit-signing-key repository id keyring))
(unless (member (openpgp-public-key-fingerprint signing-key)
(commit-authorized-keys repository commit
%authorized-signing-keys))
(raise (condition
(&message
(message (format #f (G_ "commit ~a not signed by an authorized \
key: ~a")
(oid->string id)
(openpgp-format-fingerprint
(openpgp-public-key-fingerprint
signing-key))))))))
signing-key)
(define (load-keyring-from-blob repository oid keyring)
"Augment KEYRING with the keyring available in the blob at OID, which may or
may not be ASCII-armored."
(let* ((blob (blob-lookup repository oid))
(port (open-bytevector-input-port (blob-content blob))))
(get-openpgp-keyring (if (port-ascii-armored? port)
(open-bytevector-input-port (read-radix-64 port))
port)
keyring)))
(define (load-keyring-from-reference repository reference)
"Load the '.key' files from the tree at REFERENCE in REPOSITORY and return
an OpenPGP keyring."
(let* ((reference (branch-lookup repository
(string-append "origin/" reference)
BRANCH-REMOTE))
(target (reference-target reference))
(commit (commit-lookup repository target))
(tree (commit-tree commit)))
(fold (lambda (name keyring)
(if (string-suffix? ".key" name)
(let ((entry (tree-entry-bypath tree name)))
(load-keyring-from-blob repository
(tree-entry-id entry)
keyring))
keyring))
%empty-keyring
(tree-list tree))))
(define* (authenticate-commits repository commits
#:key
(keyring-reference "keyring")
(report-progress (const #t)))
"Authenticate COMMITS, a list of commit objects, calling REPORT-PROGRESS for
each of them. Return an alist showing the number of occurrences of each key.
The OpenPGP keyring is loaded from KEYRING-REFERENCE in REPOSITORY."
(define keyring
(load-keyring-from-reference repository keyring-reference))
(fold (lambda (commit stats)
(report-progress)
(let ((signer (authenticate-commit repository commit keyring)))
(match (assq signer stats)
(#f (cons `(,signer . 1) stats))
((_ . count) (cons `(,signer . ,(+ count 1))
(alist-delete signer stats))))))
'()
commits))
(define commit-short-id (define commit-short-id
(compose (cut string-take <> 7) oid->string commit-id)) (compose (cut string-take <> 7) oid->string commit-id))
;;;
;;; Caching.
;;;
(define (authenticated-commit-cache-file)
"Return the name of the file that contains the cache of
previously-authenticated commits."
(string-append (cache-directory) "/authentication/channels/guix"))
(define (previously-authenticated-commits)
"Return the previously-authenticated commits as a list of commit IDs (hex
strings)."
(catch 'system-error
(lambda ()
(call-with-input-file (authenticated-commit-cache-file)
read))
(lambda args
(if (= ENOENT (system-error-errno args))
'()
(apply throw args)))))
(define (cache-authenticated-commit commit-id)
"Record in ~/.cache COMMIT-ID and its closure as authenticated (only
COMMIT-ID is written to cache, though)."
(define %max-cache-length
;; Maximum number of commits in cache.
200)
(let ((lst (delete-duplicates
(cons commit-id (previously-authenticated-commits))))
(file (authenticated-commit-cache-file)))
(mkdir-p (dirname file))
(with-atomic-file-output file
(lambda (port)
(let ((lst (if (> (length lst) %max-cache-length)
(take lst %max-cache-length) ;truncate
lst)))
(chmod port #o600)
(display ";; List of previously-authenticated commits.\n\n"
port)
(pretty-print lst port))))))
;;; ;;;
;;; Entry point. ;;; Entry point.
@ -461,6 +271,8 @@ COMMIT-ID is written to cache, though)."
(let ((stats (call-with-progress-reporter reporter (let ((stats (call-with-progress-reporter reporter
(lambda (report) (lambda (report)
(authenticate-commits repository commits (authenticate-commits repository commits
#:default-authorizations
%historical-authorized-signing-keys
#:report-progress report))))) #:report-progress report)))))
(cache-authenticated-commit (oid->string (commit-id end-commit))) (cache-authenticated-commit (oid->string (commit-id end-commit)))

View file

@ -112,7 +112,8 @@ COMMIT."
#:select? version-controlled?)) #:select? version-controlled?))
(hash (query-path-hash store source)) (hash (query-path-hash store source))
(location (package-definition-location)) (location (package-definition-location))
(old-hash (origin-sha256 (package-source guix)))) (old-hash (content-hash-value
(origin-hash (package-source guix)))))
(edit-expression location (edit-expression location
(update-definition commit hash (update-definition commit hash
#:old-hash old-hash #:old-hash old-hash

View file

@ -136,9 +136,9 @@ if test "x$guix_cv_have_recent_guile_sqlite3" != "xyes"; then
AC_MSG_ERROR([A recent Guile-SQLite3 could not be found; please install it.]) AC_MSG_ERROR([A recent Guile-SQLite3 could not be found; please install it.])
fi fi
GUILE_MODULE_AVAILABLE([have_guile_gcrypt], [(gcrypt hash)]) GUIX_CHECK_GUILE_GCRYPT
if test "x$have_guile_gcrypt" != "xyes"; then if test "x$guix_cv_have_recent_guile_gcrypt" != "xyes"; then
AC_MSG_ERROR([Guile-Gcrypt could not be found; please install it.]) AC_MSG_ERROR([A recent Guile-Gcrypt could not be found; please install it.])
fi fi
dnl Guile-newt is used by the graphical installer. dnl Guile-newt is used by the graphical installer.

View file

@ -141,7 +141,7 @@ as well as images, OS examples, and translations."
(date->string date "~B ~Y") (date->string date "~B ~Y")
version version)))))) version version))))))
(install-file #$(file-append* documentation "/htmlxref.cnf") (install-file #$(file-append documentation "/htmlxref.cnf")
#$output) #$output)
(for-each (lambda (texi) (for-each (lambda (texi)
@ -182,30 +182,27 @@ content=\"width=device-width, initial-scale=1\" />"))
;; Guile-Lib with a hotfix for (htmlprag). ;; Guile-Lib with a hotfix for (htmlprag).
(package (package
(inherit guile-lib) (inherit guile-lib)
(source (origin
(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 (arguments
(substitute-keyword-arguments (package-arguments guile-lib) (substitute-keyword-arguments (package-arguments guile-lib)
((#:phases phases '%standard-phases) ((#:phases phases '%standard-phases)
`(modify-phases ,phases `(modify-phases ,phases
(add-before 'check 'skip-known-failure (add-before 'build 'fix-htmlprag
(lambda _ (lambda _
;; XXX: The above change causes one test failure among ;; When parsing
;; the htmlprag tests. ;; "<body><blockquote><p>foo</p>\n</blockquote></body>",
(setenv "XFAIL_TESTS" "htmlprag.scm") ;; 'html->shtml' would mistakenly close 'blockquote' right
#t)))))))) ;; 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 (define* (syntax-highlighted-html input
#:key #:key

View file

@ -501,7 +501,7 @@ It is a good idea to strip commit identifiers in the @code{version}
field to, say, 7 digits. It avoids an aesthetic annoyance (assuming field to, say, 7 digits. It avoids an aesthetic annoyance (assuming
aesthetics have a role to play here) as well as problems related to OS aesthetics have a role to play here) as well as problems related to OS
limits such as the maximum shebang length (127 bytes for the Linux limits such as the maximum shebang length (127 bytes for the Linux
kernel.) It is best to use the full commit identifiers in kernel). It is best to use the full commit identifiers in
@code{origin}s, though, to avoid ambiguities. A typical package @code{origin}s, though, to avoid ambiguities. A typical package
definition may look like this: definition may look like this:
@ -938,7 +938,7 @@ your @code{operating-system} configuration:
@lisp @lisp
(service qemu-binfmt-service-type (service qemu-binfmt-service-type
(qemu-binfmt-configuration (qemu-binfmt-configuration
(platforms (lookup-qemu-platforms "arm" "aarch64" "mips64el")) (platforms (lookup-qemu-platforms "arm" "aarch64"))
(guix-support? #t))) (guix-support? #t)))
@end lisp @end lisp
@ -951,7 +951,6 @@ commands, respectively:
@example @example
guix build --system=armhf-linux --rounds=2 hello guix build --system=armhf-linux --rounds=2 hello
guix build --system=aarch64-linux --rounds=2 hello guix build --system=aarch64-linux --rounds=2 hello
guix build --system=mips64el-linux --rounds=2 hello
@end example @end example
@item @item
@ -1278,6 +1277,14 @@ When pushing a commit on behalf of somebody else, please add a
with @command{git am --signoff}. This improves tracking of who did with @command{git am --signoff}. This improves tracking of who did
what. what.
When adding channel news entries (@pxref{Channels, Writing Channel
News}), make sure they are well-formed by running the following command
right before pushing:
@example
make check-channel-news
@end example
For anything else, please post to @email{guix-patches@@gnu.org} and For anything else, please post to @email{guix-patches@@gnu.org} and
leave time for a review, without committing anything (@pxref{Submitting leave time for a review, without committing anything (@pxref{Submitting
Patches}). If you didnt receive any reply after two weeks, and if Patches}). If you didnt receive any reply after two weeks, and if

View file

@ -14,6 +14,7 @@ Copyright @copyright{} 2019 Pierre Neidhardt@*
Copyright @copyright{} 2020 Oleg Pykhalov@* Copyright @copyright{} 2020 Oleg Pykhalov@*
Copyright @copyright{} 2020 Matthew Brooks@* Copyright @copyright{} 2020 Matthew Brooks@*
Copyright @copyright{} 2020 Marcin Karpezo@* Copyright @copyright{} 2020 Marcin Karpezo@*
Copyright @copyright{} 2020 Brice Waegeneire@*
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or under the terms of the GNU Free Documentation License, Version 1.3 or
@ -1323,8 +1324,10 @@ reference.
@menu @menu
* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System. * Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System.
* Connecting to Wireguard VPN:: Connecting to a Wireguard VPN.
* Customizing a Window Manager:: Handle customization of a Window manager on Guix System. * Customizing a Window Manager:: Handle customization of a Window manager on Guix System.
* Setting up a bind mount:: Setting up a bind mount in the file-systems definition. * Setting up a bind mount:: Setting up a bind mount in the file-systems definition.
* Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor.
@end menu @end menu
@node Customizing the Kernel @node Customizing the Kernel
@ -1567,6 +1570,83 @@ likely that you'll need to modify the initrd on a machine using a custom
kernel, since certain modules which are expected to be built may not be kernel, since certain modules which are expected to be built may not be
available for inclusion into the initrd. available for inclusion into the initrd.
@node Connecting to Wireguard VPN
@section Connecting to Wireguard VPN
To connect to a Wireguard VPN server you need the kernel module to be
loaded in memory and a package providing networking tools that support
it (e.g. @code{wireguard-tools} or @code{network-manager}).
Here is a configuration example for Linux-Libre < 5.6, where the module
is out of tree and need to be loaded manually---following revisions of
the kernel have it built-in and so don't need such configuration:
@lisp
(use-modules (gnu))
(use-service-modules desktop)
(use-package-modules vpn)
(operating-system
;; …
(services (cons (simple-service 'wireguard-module
kernel-module-loader-service-type
'("wireguard"))
%desktop-services))
(packages (cons wireguard-tools %base-packages))
(kernel-loadable-modules (list wireguard-linux-compat)))
@end lisp
After reconfiguring and restarting your system you can either use
Wireguard tools or NetworkManager to connect to a VPN server.
@subsection Using Wireguard tools
To test your Wireguard setup it is convenient to use @command{wg-quick}.
Just give it a configuration file @command{wg-quick up ./wg0.conf}; or
put that file in @file{/etc/wireguard} and run @command{wg-quick up wg0}
instead.
@quotation Note
Be warned that the author described this command as a: “[…] very quick
and dirty bash script […]”.
@end quotation
@subsection Using NetworkManager
Thanks to NetworkManager support for Wireguard we can connect to our VPN
using @command{nmcli} command. Up to this point this guide assumes that
you're using Network Manager service provided by
@code{%desktop-services}. Ortherwise you need to adjust your services
list to load @code{network-manager-service-type} and reconfigure your
Guix system.
To import your VPN configuration execute nmcli import command:
@example shell
# nmcli connection import type wireguard file wg0.conf
Connection 'wg0' (edbee261-aa5a-42db-b032-6c7757c60fde) successfully added
@end example
This will create a configuration file in
@file{/etc/NetworkManager/wg0.nmconnection}. Next connect to the
Wireguard server:
@example shell
$ nmcli connection up wg0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)
@end example
By default NetworkManager will connect automatically on system boot. To
change that behaviour you need to edit your config:
@example shell
# nmcli connection modify wg0 connection.autoconnect no
@end example
For more specific information about NetworkManager and wireguard
@uref{https://blogs.gnome.org/thaller/2019/03/15/wireguard-in-networkmanager/,see
this post by thaller}.
@node Customizing a Window Manager @node Customizing a Window Manager
@section Customizing a Window Manager @section Customizing a Window Manager
@cindex wm @cindex wm
@ -1617,6 +1697,47 @@ Then you need to add the following code to a StumpWM configuration file
(set-font (make-instance 'xft:font :family "DejaVu Sans Mono" :subfamily "Book" :size 11)) (set-font (make-instance 'xft:font :family "DejaVu Sans Mono" :subfamily "Book" :size 11))
@end lisp @end lisp
@node Session lock
@subsection Session lock
@cindex sessionlock
Depending on your environment, locking the screen of your session might come built in
or it might be something you have to set up yourself. If you use a desktop environment
like GNOME or KDE, it's usually built in. If you use a plain window manager like
StumpWM or EXWM, you might have to set it up yourself.
@node Xorg
@subsubsection Xorg
If you use Xorg, you can use the utility
@uref{https://www.mankier.com/1/xss-lock, xss-lock} to lock the screen of your session.
xss-lock is triggered by DPMS which since Xorg 1.8 is auto-detected and enabled if
ACPI is also enabled at kernel runtime.
To use xss-lock, you can simple execute it and put it into the background before
you start your window manager from e.g. your @file{~/.xsession}:
@example
xss-lock -- slock &
exec stumpwm
@end example
In this example, xss-lock uses @code{slock} to do the actual locking of the screen when
it determines it's appropriate, like when you suspend your device.
For slock to be allowed to be a screen locker for the graphical session, it needs to
be made setuid-root so it can authenticate users, and it needs a PAM service. This
can be achieved by adding the following service to your @file{config.scm}:
@lisp
(screen-locker-service slock)
@end lisp
If you manually lock your screen, e.g. by directly calling slock when you want to lock
your screen but not suspend it, it's a good idea to notify xss-lock about this so no
confusion occurs. This can be done by executing @code{xset s activate} immediately
before you execute slock.
@node Setting up a bind mount @node Setting up a bind mount
@section Setting up a bind mount @section Setting up a bind mount
@ -1666,6 +1787,62 @@ mount itself.
)) ))
@end lisp @end lisp
@node Getting substitutes from Tor
@section Getting substitutes from Tor
Guix daemon can use a HTTP proxy to get substitutes, here we are
configuring it to get them via Tor.
@quotation Warning
@emph{Not all} Guix daemon's traffic will go through Tor! Only
HTTP/HTTPS will get proxied; FTP, Git protocol, SSH, etc connections
will still go through the clearnet. Again, this configuration isn't
foolproof some of your traffic won't get routed by Tor at all. Use it
at your own risk.
@end quotation
Guix's substitute server is available as a Onion service, if you want
to use it to get your substitutes from Tor configure your system as
follow:
@lisp
(use-modules (gnu))
(use-service-module base networking)
(operating-system
(services
(cons
(service tor-service-type
(tor-configuration
(config-file (plain-file "tor-config"
"HTTPTunnelPort 127.0.0.1:9250"))))
(modify-services %base-services
(guix-service-type
config => (guix-configuration
(inherit config)
;; ci.guix.gnu.org's Onion service
(substitute-urls "https://bp7o7ckwlewr4slm.onion")
(http-proxy "http://localhost:9250")))))))
@end lisp
This will keep a tor process running that provides a HTTP CONNECT tunnel
which will be used by @command{guix-daemon}. The daemon can use other
protocols than HTTP(S) to get remote resources, request using those
protocols won't go through Tor since we are only setting a HTTP tunnel
here. Note that @code{substitutes-urls} is using HTTPS and not HTTP or
it won't work, that's a limitation of Tor's tunnel; you may want to use
@command{privoxy} instead to avoid such limitations.
If you don't want to always get substitutes through Tor but using it just
some of the times, then skip the @code{guix-configuration}. When you
want to get a substitute from the Tor tunnel run:
@example
sudo herd set-http-proxy guix-daemon http://localhost:9250
guix build --substitute-urls=https://bp7o7ckwlewr4slm.onion …
@end example
@c ********************************************************************* @c *********************************************************************
@node Advanced package management @node Advanced package management
@chapter Advanced package management @chapter Advanced package management

File diff suppressed because it is too large Load diff

View 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];
}

View file

@ -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];
}

View file

@ -39,7 +39,7 @@ DOT_FILES = \
%D%/images/bootstrap-packages.dot \ %D%/images/bootstrap-packages.dot \
%D%/images/coreutils-graph.dot \ %D%/images/coreutils-graph.dot \
%D%/images/coreutils-bag-graph.dot \ %D%/images/coreutils-bag-graph.dot \
%D%/images/gcc-mesboot-bag-graph.dot \ %D%/images/gcc-core-mesboot0-graph.dot \
%D%/images/service-graph.dot \ %D%/images/service-graph.dot \
%D%/images/shepherd-graph.dot %D%/images/shepherd-graph.dot

View file

@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU # GNU Guix --- Functional package management for GNU
# Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> # Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
# #
# This file is part of GNU Guix. # This file is part of GNU Guix.
# #
@ -115,6 +115,24 @@ _guix_is_dash_m ()
esac } esac }
} }
_guix_is_dash_C ()
{
[ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-C" ] \
|| { case "${COMP_WORDS[$COMP_CWORD]}" in
--channels=*) true;;
*) false;;
esac }
}
_guix_is_dash_p ()
{
[ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-p" ] \
|| { case "${COMP_WORDS[$COMP_CWORD]}" in
--profile=*) true;;
*) false;;
esac }
}
_guix_complete_file () _guix_complete_file ()
{ {
# Let Readline complete file names. # Let Readline complete file names.
@ -130,6 +148,17 @@ _guix_complete_pid ()
declare _guix_subcommands declare _guix_subcommands
_guix_complete_subcommand ()
{
if [ -z "$_guix_subcommands" ]
then
# Cache the list of subcommands to speed things up.
_guix_subcommands="$(guix --help 2> /dev/null \
| grep '^ ' | cut -c 2-)"
fi
COMPREPLY=($(compgen -W "$_guix_subcommands" -- "$word_at_point"))
}
_guix_complete () _guix_complete ()
{ {
local word_count=${#COMP_WORDS[*]} local word_count=${#COMP_WORDS[*]}
@ -147,13 +176,7 @@ _guix_complete ()
case $COMP_CWORD in case $COMP_CWORD in
1) 1)
if [ -z "$_guix_subcommands" ] _guix_complete_subcommand
then
# Cache the list of subcommands to speed things up.
_guix_subcommands="$(guix --help 2> /dev/null \
| grep '^ ' | cut -c 2-)"
fi
COMPREPLY=($(compgen -W "$_guix_subcommands" -- "$word_at_point"))
;; ;;
*) *)
if _guix_is_command "package" if _guix_is_command "package"
@ -169,13 +192,28 @@ _guix_complete ()
fi fi
elif _guix_is_command "install" elif _guix_is_command "install"
then then
_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" elif _guix_is_command "remove"
then 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" elif _guix_is_command "upgrade"
then 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" elif _guix_is_command "build"
then then
if _guix_is_dash_L || _guix_is_dash_m if _guix_is_dash_L || _guix_is_dash_m
@ -193,6 +231,20 @@ _guix_complete ()
2) _guix_complete_subcommand;; 2) _guix_complete_subcommand;;
*) _guix_complete_file;; # TODO: restrict to *.scm *) _guix_complete_file;; # TODO: restrict to *.scm
esac esac
elif _guix_is_command "pull"
then
if _guix_is_dash_C || _guix_is_dash_p
then
_guix_complete_file
fi
elif _guix_is_command "time-machine"
then
if _guix_is_dash_C
then
_guix_complete_file
else
_guix_complete_subcommand
fi
elif _guix_is_command "container" elif _guix_is_command "container"
then then
case $COMP_CWORD in case $COMP_CWORD in

View file

@ -1,7 +1,8 @@
#!/bin/sh #!/bin/sh
# This hook script prevents the user from pushing to Savannah if any of the new # This hook script prevents the user from pushing to Savannah if any of the new
# commits' OpenPGP signatures cannot be verified. # commits' OpenPGP signatures cannot be verified, or if a commit is signed
# with an unauthorized key.
# Called by "git push" after it has checked the remote status, but before # Called by "git push" after it has checked the remote status, but before
# anything has been pushed. If this script exits with a non-zero status nothing # anything has been pushed. If this script exits with a non-zero status nothing
@ -19,51 +20,13 @@
# #
# <local ref> <local sha1> <remote ref> <remote sha1> # <local ref> <local sha1> <remote ref> <remote sha1>
z40=0000000000000000000000000000000000000000
# Only use the hook when pushing to Savannah. # Only use the hook when pushing to Savannah.
case "$2" in case "$2" in
*git.sv.gnu.org*) *.gnu.org*)
break exec make authenticate check-channel-news
exit 127
;; ;;
*) *)
exit 0 exit 0
;; ;;
esac esac
while read local_ref local_sha remote_ref remote_sha
do
if [ "$local_sha" = $z40 ]
then
# Handle delete
:
else
if [ "$remote_sha" = $z40 ]
then
# We are pushing a new branch. To prevent wasting too
# much time for this relatively rare case, we examine
# all commits since the first signed commit, rather than
# the full history. This check *will* fail, and the user
# will need to temporarily disable the hook to push the
# new branch.
range="e3d0fcbf7e55e8cbe8d0a1c5a24d73f341d7243b..$local_sha"
else
# Update to existing branch, examine new commits
range="$remote_sha..$local_sha"
fi
# Verify the signatures of all commits being pushed.
ret=0
for commit in $(git rev-list $range)
do
if ! git verify-commit $commit >/dev/null 2>&1
then
printf "%s failed signature check\n" $commit
ret=1
fi
done
exit $ret
fi
done
exit 0

View file

@ -48,6 +48,7 @@ REQUIRE=(
"groupadd" "groupadd"
"tail" "tail"
"tr" "tr"
"xz"
) )
PAS=$'[ \033[32;1mPASS\033[0m ] ' PAS=$'[ \033[32;1mPASS\033[0m ] '
@ -141,7 +142,7 @@ chk_init_sys()
_msg "${INF}init system is: upstart" _msg "${INF}init system is: upstart"
INIT_SYS="upstart" INIT_SYS="upstart"
return 0 return 0
elif [[ $(systemctl) =~ -\.mount ]]; then elif [[ $(systemctl 2>/dev/null) =~ -\.mount ]]; then
_msg "${INF}init system is: systemd" _msg "${INF}init system is: systemd"
INIT_SYS="systemd" INIT_SYS="systemd"
return 0 return 0

View file

@ -1,8 +1,10 @@
;; GNU Guix news, for use by 'guix pull'. ;; GNU Guix news, for use by 'guix pull'.
;; ;;
;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;; ;;
;; Copying and distribution of this file, with or without modification, are ;; Copying and distribution of this file, with or without modification, are
;; permitted in any medium without royalty provided the copyright notice and ;; permitted in any medium without royalty provided the copyright notice and
@ -11,6 +13,34 @@
(channel-news (channel-news
(version 0) (version 0)
(entry (commit "b460ba7992a0b4af2ddb5927dcf062784539ef7b")
(title (en "Add support to boot from a Btrfs subvolume")
(de "Unterstützung für Systemstart von einem
Btrfs-Unterlaufwerk hinzugefügt")
(fr "Ajout du support pour démarrer depuis un sous-volume Btrfs")
(nl "Nieuwe ondersteuning voor het opstarten vanaf een Btrfs-subvolume"))
(body
(en "The generation of the GRUB configuration file produced from an
operating system declaration now takes into account the use of a Btrfs
subvolume for the partition holding @file{/gnu/store}. Run the command
@command{info \"(guix) Btrfs file system\"} for more information and
examples.")
(de "Für die Erzeugung einer GRUB-Konfigurationsdatei aus einer
Betriebssystemdeklaration kann jetzt ein Btrfs-Unterlaufwerk (Subvolume) für
die Partition mit @file{/gnu/store} angegeben werden. Führen Sie
@command{info \"(guix) Btrfs file system\"} aus, wenn Sie mehr Informationen
und Beispiele sehen möchten.")
(fr "La génération du fichier de configuration de GRUB produite à
partir de la déclaration d'un @code{operating-system} tient maintenant compte
de l'utilisation d'un sous-volume Btrfs pour la partition contenant
@file{/gnu/store}. Exécutez la commande @command{info\"(guix) Btrfs file
system\"} pour des exemples et plus d'information.")
(nl "Het opmaken van het GRUB-configuratiebestand op basis van
een @code{operating-system}-declaratie houdt nu rekening met het gebruik van
een Btrfs-subvolume voor de partitie die @file{/gnu/store} bevat. Voer
@command{info \"(guix) Btrfs file system\"} uit voor meer informatie en
voorbeelden.")))
(entry (commit "6456232164890dbf5aa20394ee24637feb4b7b9e") (entry (commit "6456232164890dbf5aa20394ee24637feb4b7b9e")
(title (en "@command{guix pack -RR} introduces a new execution (title (en "@command{guix pack -RR} introduces a new execution
engine") engine")

View file

@ -1,8 +1,9 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 David Craven <david@craven.ch> ;;; Copyright © 2017 David Craven <david@craven.ch>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -33,6 +34,9 @@
menu-entry-linux-arguments menu-entry-linux-arguments
menu-entry-initrd menu-entry-initrd
menu-entry-device-mount-point menu-entry-device-mount-point
menu-entry-multiboot-kernel
menu-entry-multiboot-arguments
menu-entry-multiboot-modules
menu-entry->sexp menu-entry->sexp
sexp->menu-entry sexp->menu-entry
@ -42,6 +46,7 @@
bootloader-name bootloader-name
bootloader-package bootloader-package
bootloader-installer bootloader-installer
bootloader-disk-image-installer
bootloader-configuration-file bootloader-configuration-file
bootloader-configuration-file-generator bootloader-configuration-file-generator
@ -76,22 +81,41 @@
(default #f)) (default #f))
(device-mount-point menu-entry-device-mount-point (device-mount-point menu-entry-device-mount-point
(default #f)) (default #f))
(linux menu-entry-linux) (linux menu-entry-linux
(default #f))
(linux-arguments menu-entry-linux-arguments (linux-arguments menu-entry-linux-arguments
(default '())) ; list of string-valued gexps (default '())) ; list of string-valued gexps
(initrd menu-entry-initrd)) ; file name of the initrd as a gexp (initrd menu-entry-initrd ; file name of the initrd as a gexp
(default #f))
(multiboot-kernel menu-entry-multiboot-kernel
(default #f))
(multiboot-arguments menu-entry-multiboot-arguments
(default '())) ; list of string-valued gexps
(multiboot-modules menu-entry-multiboot-modules
(default '()))) ; list of multiboot commands, where
; a command is a list of <string>
(define (menu-entry->sexp entry) (define (menu-entry->sexp entry)
"Return ENTRY serialized as an sexp." "Return ENTRY serialized as an sexp."
(match entry (match entry
(($ <menu-entry> label device mount-point linux linux-arguments initrd) (($ <menu-entry> label device mount-point linux linux-arguments initrd #f
())
`(menu-entry (version 0) `(menu-entry (version 0)
(label ,label) (label ,label)
(device ,device) (device ,device)
(device-mount-point ,mount-point) (device-mount-point ,mount-point)
(linux ,linux) (linux ,linux)
(linux-arguments ,linux-arguments) (linux-arguments ,linux-arguments)
(initrd ,initrd))))) (initrd ,initrd)))
(($ <menu-entry> label device mount-point #f () #f
multiboot-kernel multiboot-arguments multiboot-modules)
`(menu-entry (version 0)
(label ,label)
(device ,device)
(device-mount-point ,mount-point)
(multiboot-kernel ,multiboot-kernel)
(multiboot-arguments ,multiboot-arguments)
(multiboot-modules ,multiboot-modules)))))
(define (sexp->menu-entry sexp) (define (sexp->menu-entry sexp)
"Turn SEXP, an sexp as returned by 'menu-entry->sexp', into a <menu-entry> "Turn SEXP, an sexp as returned by 'menu-entry->sexp', into a <menu-entry>
@ -108,7 +132,20 @@ record."
(device-mount-point mount-point) (device-mount-point mount-point)
(linux linux) (linux linux)
(linux-arguments linux-arguments) (linux-arguments linux-arguments)
(initrd initrd))))) (initrd initrd)))
(('menu-entry ('version 0)
('label label) ('device device)
('device-mount-point mount-point)
('multiboot-kernel multiboot-kernel)
('multiboot-arguments multiboot-arguments)
('multiboot-modules multiboot-modules) _ ...)
(menu-entry
(label label)
(device device)
(device-mount-point mount-point)
(multiboot-kernel multiboot-kernel)
(multiboot-arguments multiboot-arguments)
(multiboot-modules multiboot-modules)))))
;;; ;;;
@ -125,6 +162,8 @@ record."
(name bootloader-name) (name bootloader-name)
(package bootloader-package) (package bootloader-package)
(installer bootloader-installer) (installer bootloader-installer)
(disk-image-installer bootloader-disk-image-installer
(default #f))
(configuration-file bootloader-configuration-file) (configuration-file bootloader-configuration-file)
(configuration-file-generator bootloader-configuration-file-generator)) (configuration-file-generator bootloader-configuration-file-generator))

View file

@ -82,7 +82,8 @@
(define* (depthcharge-configuration-file config entries (define* (depthcharge-configuration-file config entries
#:key #:key
(system (%current-system)) (system (%current-system))
(old-entries '())) (old-entries '())
#:allow-other-keys)
(match entries (match entries
((entry) ((entry)
(let ((kernel (menu-entry-linux entry)) (let ((kernel (menu-entry-linux entry))

View file

@ -28,7 +28,8 @@
(define* (extlinux-configuration-file config entries (define* (extlinux-configuration-file config entries
#:key #:key
(system (%current-system)) (system (%current-system))
(old-entries '())) (old-entries '())
#:allow-other-keys)
"Return the U-Boot configuration file corresponding to CONFIG, a "Return the U-Boot configuration file corresponding to CONFIG, a
<u-boot-configuration> object, and where the store is available at STORE-FS, a <u-boot-configuration> object, and where the store is available at STORE-FS, a
<file-system> object. OLD-ENTRIES is taken to be a list of menu entries <file-system> object. OLD-ENTRIES is taken to be a list of menu entries

View file

@ -2,9 +2,10 @@
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Stefan <stefan-guix@vodafonemail.de>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -37,19 +38,13 @@
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-2) #:use-module (srfi srfi-2)
#:export (grub-image #:export (grub-theme
grub-image?
grub-image-aspect-ratio
grub-image-file
grub-theme
grub-theme? grub-theme?
grub-theme-images grub-theme-image
grub-theme-resolution
grub-theme-color-normal grub-theme-color-normal
grub-theme-color-highlight grub-theme-color-highlight
grub-theme-gfxmode
%background-image
%default-theme
grub-bootloader grub-bootloader
grub-efi-bootloader grub-efi-bootloader
@ -64,119 +59,102 @@
;;; ;;;
;;; Code: ;;; Code:
(define (strip-mount-point mount-point file) (define* (normalize-file file mount-point store-directory-prefix)
"Strip MOUNT-POINT from FILE, which is a gexp or other lowerable object "Strip MOUNT-POINT and prepend STORE-DIRECTORY-PREFIX, if any, to FILE, a
denoting a file name." G-expression or other lowerable object denoting a file name."
(match mount-point
((? string? mount-point) (define (strip-mount-point mount-point file)
(if (string=? mount-point "/") (if mount-point
file (if (string=? mount-point "/")
#~(let ((file #$file)) file
(if (string-prefix? #$mount-point file) #~(let ((file #$file))
(substring #$file #$(string-length mount-point)) (if (string-prefix? #$mount-point file)
file)))) (substring #$file #$(string-length mount-point))
(#f file))) file)))
file))
(define (prepend-store-directory-prefix store-directory-prefix file)
(if store-directory-prefix
#~(string-append #$store-directory-prefix #$file)
file))
(prepend-store-directory-prefix store-directory-prefix
(strip-mount-point mount-point file)))
(define-record-type* <grub-image>
grub-image make-grub-image
grub-image?
(aspect-ratio grub-image-aspect-ratio ;rational number
(default 4/3))
(file grub-image-file)) ;file-valued gexp (SVG)
(define-record-type* <grub-theme> (define-record-type* <grub-theme>
;; Default theme contributed by Felipe López.
grub-theme make-grub-theme grub-theme make-grub-theme
grub-theme? grub-theme?
(images grub-theme-images (image grub-theme-image
(default '())) ;list of <grub-image> (default (file-append %artwork-repository
"/grub/GuixSD-fully-black-4-3.svg")))
(resolution grub-theme-resolution
(default '(1024 . 768)))
(color-normal grub-theme-color-normal (color-normal grub-theme-color-normal
(default '((fg . cyan) (bg . blue)))) (default '((fg . light-gray) (bg . black))))
(color-highlight grub-theme-color-highlight (color-highlight grub-theme-color-highlight
(default '((fg . white) (bg . blue)))) (default '((fg . yellow) (bg . black))))
(gfxmode grub-gfxmode (gfxmode grub-theme-gfxmode
(default '("auto")))) ;list of string (default '("auto")))) ;list of string
(define %background-image
(grub-image
(aspect-ratio 4/3)
(file (file-append %artwork-repository
"/grub/GuixSD-fully-black-4-3.svg"))))
(define %default-theme
;; Default theme contributed by Felipe López.
(grub-theme
(images (list %background-image))
(color-highlight '((fg . yellow) (bg . black)))
(color-normal '((fg . light-gray) (bg . black))))) ;XXX: #x303030
;;; ;;;
;;; Background image & themes. ;;; Background image & themes.
;;; ;;;
(define (bootloader-theme config) (define (bootloader-theme config)
"Return user defined theme in CONFIG if defined or %default-theme "Return user defined theme in CONFIG if defined or a default theme
otherwise." otherwise."
(or (bootloader-configuration-theme config) %default-theme)) (or (bootloader-configuration-theme config) (grub-theme)))
(define* (svg->png svg #:key width height) (define* (image->png image #:key width height)
"Build a PNG of HEIGHT x WIDTH from SVG." "Build a PNG of HEIGHT x WIDTH from IMAGE if its file suffix is \".svg\".
Otherwise the picture in IMAGE is just copied."
(computed-file "grub-image.png" (computed-file "grub-image.png"
(with-imported-modules '((gnu build svg)) (with-imported-modules '((gnu build svg))
(with-extensions (list guile-rsvg guile-cairo) (with-extensions (list guile-rsvg guile-cairo)
#~(begin #~(if (string-suffix? ".svg" #+image)
(use-modules (gnu build svg)) (begin
(svg->png #+svg #$output (use-modules (gnu build svg))
#:width #$width (svg->png #+image #$output
#:height #$height)))))) #:width #$width
#:height #$height))
(copy-file #+image #$output))))))
(define* (grub-background-image config #:key (width 1024) (height 768)) (define* (grub-background-image config)
"Return the GRUB background image defined in CONFIG with a ratio of "Return the GRUB background image defined in CONFIG or #f if none was found.
WIDTH/HEIGHT, or #f if none was found." If the suffix of the image file is \".svg\", then it is converted into a PNG
(let* ((ratio (/ width height)) file with the resolution provided in CONFIG."
(image (find (lambda (image) (let* ((theme (bootloader-theme config))
(= (grub-image-aspect-ratio image) ratio)) (image (grub-theme-image theme)))
(grub-theme-images
(bootloader-theme config)))))
(and image (and image
(svg->png (grub-image-file image) (match (grub-theme-resolution theme)
#:width width #:height height)))) (((? number? width) . (? number? height))
(image->png image #:width width #:height height))
(_ #f)))))
(define* (eye-candy config store-device store-mount-point (define* (eye-candy config store-device store-mount-point
#:key system port) #:key store-directory-prefix port)
"Return a gexp that writes to PORT (a port-valued gexp) the "Return a gexp that writes to PORT (a port-valued gexp) the 'grub.cfg' part
'grub.cfg' part concerned with graphics mode, background images, colors, and concerned with graphics mode, background images, colors, and all that.
all that. STORE-DEVICE designates the device holding the store, and STORE-DEVICE designates the device holding the store, and STORE-MOUNT-POINT is
STORE-MOUNT-POINT is its mount point; these are used to determine where the its mount point; these are used to determine where the background image and
background image and fonts must be searched for. SYSTEM must be the target fonts must be searched for. STORE-DIRECTORY-PREFIX is a directory prefix to
system string---e.g., \"x86_64-linux\"." prepend to any store file name."
(define setup-gfxterm-body
(let ((gfxmode
(or (and-let* ((theme (bootloader-configuration-theme config))
(gfxmode (grub-gfxmode theme)))
(string-join gfxmode ";"))
"auto")))
;; Intel and EFI systems need to be switched into graphics mode, whereas
;; most other modern architectures have no other mode and therefore
;; don't need to be switched.
;; XXX: Do we really need to restrict to x86 systems? We could imitate
;; what the GRUB default configuration does and decide based on whether
;; a user provided 'gfxterm' in the terminal-outputs field of their
;; bootloader-configuration record.
(if (string-match "^(x86_64|i[3-6]86)-" system)
(format #f "
set gfxmode=~a
insmod all_video
insmod gfxterm~%" gfxmode)
"")))
(define (setup-gfxterm config font-file) (define (setup-gfxterm config font-file)
(if (memq 'gfxterm (bootloader-configuration-terminal-outputs config)) (if (memq 'gfxterm (bootloader-configuration-terminal-outputs config))
#~(format #f "if loadfont ~a; then #~(format #f "
setup_gfxterm if loadfont ~a; then
fi~%" #+font-file) set gfxmode=~a
insmod all_video
insmod gfxterm
fi~%"
#+font-file
#$(string-join
(grub-theme-gfxmode (bootloader-theme config))
";"))
"")) ""))
(define (theme-colors type) (define (theme-colors type)
@ -186,16 +164,17 @@ fi~%" #+font-file)
(symbol->string (assoc-ref colors 'bg))))) (symbol->string (assoc-ref colors 'bg)))))
(define font-file (define font-file
(strip-mount-point store-mount-point (normalize-file (file-append grub "/share/grub/unicode.pf2")
(file-append grub "/share/grub/unicode.pf2"))) store-mount-point
store-directory-prefix))
(define image (define image
(grub-background-image config)) (normalize-file (grub-background-image config)
store-mount-point
store-directory-prefix))
(and image (and image
#~(format #$port " #~(format #$port "
function setup_gfxterm {~a}
# Set 'root' to the partition that contains /gnu/store. # Set 'root' to the partition that contains /gnu/store.
~a ~a
@ -210,12 +189,11 @@ else
set menu_color_normal=cyan/blue set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue set menu_color_highlight=white/blue
fi~%" fi~%"
#$setup-gfxterm-body
#$(grub-root-search store-device font-file) #$(grub-root-search store-device font-file)
#$(setup-gfxterm config font-file) #$(setup-gfxterm config font-file)
#$(grub-setup-io config) #$(grub-setup-io config)
#$(strip-mount-point store-mount-point image) #$image
#$(theme-colors grub-theme-color-normal) #$(theme-colors grub-theme-color-normal)
#$(theme-colors grub-theme-color-highlight)))) #$(theme-colors grub-theme-color-highlight))))
@ -323,52 +301,84 @@ code."
(define* (grub-configuration-file config entries (define* (grub-configuration-file config entries
#:key #:key
(system (%current-system)) (system (%current-system))
(old-entries '())) (old-entries '())
store-directory-prefix)
"Return the GRUB configuration file corresponding to CONFIG, a "Return the GRUB configuration file corresponding to CONFIG, a
<bootloader-configuration> object, and where the store is available at <bootloader-configuration> object, and where the store is available at
STORE-FS, a <file-system> object. OLD-ENTRIES is taken to be a list of menu STORE-FS, a <file-system> object. OLD-ENTRIES is taken to be a list of menu
entries corresponding to old generations of the system." entries corresponding to old generations of the system.
STORE-DIRECTORY-PREFIX may be used to specify a store prefix, as is required
when booting a root file system on a Btrfs subvolume."
(define all-entries (define all-entries
(append entries (bootloader-configuration-menu-entries config))) (append entries (bootloader-configuration-menu-entries config)))
(define (menu-entry->gexp entry) (define (menu-entry->gexp entry)
(let ((device (menu-entry-device entry)) (let ((label (menu-entry-label entry))
(device-mount-point (menu-entry-device-mount-point entry)) (linux (menu-entry-linux entry))
(label (menu-entry-label entry)) (device (menu-entry-device entry))
(kernel (menu-entry-linux entry)) (device-mount-point (menu-entry-device-mount-point entry)))
(arguments (menu-entry-linux-arguments entry)) (if linux
(initrd (menu-entry-initrd entry))) (let ((arguments (menu-entry-linux-arguments entry))
;; Here DEVICE is the store and DEVICE-MOUNT-POINT is its mount point. (linux (normalize-file linux
;; Use the right file names for KERNEL and INITRD in case device-mount-point
;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a store-directory-prefix))
;; separate partition. (initrd (normalize-file (menu-entry-initrd entry)
(let ((kernel (strip-mount-point device-mount-point kernel)) device-mount-point
(initrd (strip-mount-point device-mount-point initrd))) store-directory-prefix)))
#~(format port "menuentry ~s { ;; 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 ~a
linux ~a ~a linux ~a ~a
initrd ~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 #$label
#$(grub-root-search device kernel) #$kernel
#$kernel (string-join (list #$@arguments)) #$root-index (string-join (list #$@arguments) " " 'prefix)
#$initrd)))) (string-join (map string-join '#$modules)
(define sugar "\n module " 'prefix))))))
(eye-candy config
(menu-entry-device (first all-entries)) (define (sugar)
(menu-entry-device-mount-point (first all-entries)) (let* ((entry (first all-entries))
#:system system (device (menu-entry-device entry))
#:port #~port)) (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 (define keyboard-layout-config
(let ((layout (bootloader-configuration-keyboard-layout config)) (let* ((layout (bootloader-configuration-keyboard-layout config))
(grub (bootloader-package (grub (bootloader-package
(bootloader-configuration-bootloader config)))) (bootloader-configuration-bootloader config)))
#~(let ((keymap #$(and layout (keymap* (and layout
(keyboard-layout-file layout #:grub grub)))) (keyboard-layout-file layout #:grub grub)))
(when keymap (keymap (and keymap*
(format port "\ (if store-directory-prefix
#~(string-append #$store-directory-prefix
#$keymap*)
keymap*))))
#~(when #$keymap
(format port "\
insmod keylayouts insmod keylayouts
keymap ~a~%" keymap))))) keymap ~a~%" #$keymap))))
(define builder (define builder
#~(call-with-output-file #$output #~(call-with-output-file #$output
@ -377,7 +387,7 @@ keymap ~a~%" keymap)))))
"# This file was generated from your Guix configuration. Any changes "# This file was generated from your Guix configuration. Any changes
# will be lost upon reconfiguration. # will be lost upon reconfiguration.
") ")
#$sugar #$(sugar)
#$keyboard-layout-config #$keyboard-layout-config
(format port " (format port "
set default=~a set default=~a
@ -413,18 +423,65 @@ fi~%"))))
(define install-grub (define install-grub
#~(lambda (bootloader device mount-point) #~(lambda (bootloader device mount-point)
;; Install GRUB on DEVICE which is mounted at MOUNT-POINT.
(let ((grub (string-append bootloader "/sbin/grub-install")) (let ((grub (string-append bootloader "/sbin/grub-install"))
(install-dir (string-append mount-point "/boot"))) (install-dir (string-append mount-point "/boot")))
;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or ;; Install GRUB on DEVICE which is mounted at MOUNT-POINT. If DEVICE
;; root partition. ;; is #f, then we populate the disk-image rooted at MOUNT-POINT.
(setenv "GRUB_ENABLE_CRYPTODISK" "y") (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 ;; Hide potentially confusing messages from the user, such as
;; "Installing for i386-pc platform." ;; "Installing for i386-pc platform."
(invoke/quiet grub "--no-floppy" "--target=i386-pc" (invoke/quiet grub "--no-floppy" "--target=i386-pc"
"--boot-directory" install-dir "--boot-directory" install-dir
device)))) device))
;; When creating a disk-image, only install GRUB modules.
(copy-recursively (string-append bootloader "/lib/")
install-dir)))))
(define install-grub-disk-image
#~(lambda (bootloader root-index image)
;; Install GRUB on the given IMAGE. The root partition index is
;; ROOT-INDEX.
(let ((grub-mkimage
(string-append bootloader "/bin/grub-mkimage"))
(modules '("biosdisk" "part_msdos" "fat" "ext2"))
(grub-bios-setup
(string-append bootloader "/sbin/grub-bios-setup"))
(root-device (format #f "hd0,msdos~a" root-index))
(boot-img (string-append bootloader "/lib/grub/i386-pc/boot.img"))
(device-map "device.map"))
;; Create a minimal, standalone GRUB image that will be written
;; directly in the MBR-GAP (space between the end of the MBR and the
;; first partition).
(apply invoke grub-mkimage
"-O" "i386-pc"
"-o" "core.img"
"-p" (format #f "(~a)/boot/grub" root-device)
modules)
;; Create a device mapping file.
(call-with-output-file device-map
(lambda (port)
(format port "(hd0) ~a~%" image)))
;; Copy the default boot.img, that will be written on the MBR sector
;; by GRUB-BIOS-SETUP.
(copy-file boot-img "boot.img")
;; Install both the "boot.img" and the "core.img" files on the given
;; IMAGE. On boot, the MBR sector will execute the minimal GRUB
;; written in the MBR-GAP. GRUB configuration and missing modules will
;; be read from ROOT-DEVICE.
(invoke grub-bios-setup
"-m" device-map
"-r" root-device
"-d" "."
image))))
(define install-grub-efi (define install-grub-efi
#~(lambda (bootloader efi-dir mount-point) #~(lambda (bootloader efi-dir mount-point)
@ -455,21 +512,20 @@ fi~%"))))
(name 'grub) (name 'grub)
(package grub) (package grub)
(installer install-grub) (installer install-grub)
(disk-image-installer install-grub-disk-image)
(configuration-file "/boot/grub/grub.cfg") (configuration-file "/boot/grub/grub.cfg")
(configuration-file-generator grub-configuration-file))) (configuration-file-generator grub-configuration-file)))
(define grub-minimal-bootloader (define* grub-minimal-bootloader
(bootloader (bootloader
(name 'grub) (inherit grub-bootloader)
(package grub-minimal) (package grub-minimal)))
(installer install-grub)
(configuration-file "/boot/grub/grub.cfg")
(configuration-file-generator grub-configuration-file)))
(define* grub-efi-bootloader (define* grub-efi-bootloader
(bootloader (bootloader
(inherit grub-bootloader) (inherit grub-bootloader)
(installer install-grub-efi) (installer install-grub-efi)
(disk-image-installer #f)
(name 'grub-efi) (name 'grub-efi)
(package grub-efi))) (package grub-efi)))

View file

@ -320,7 +320,9 @@ improvement."
(define (boot-time-system) (define (boot-time-system)
"Return the '--system' argument passed on the kernel command line." "Return the '--system' argument passed on the kernel command line."
(find-long-option "--system" (linux-command-line))) (find-long-option "--system" (if (string-contains %host-type "linux-gnu")
(linux-command-line)
(command-line))))
(define* (activate-current-system (define* (activate-current-system
#:optional (system (or (getenv "GUIX_NEW_SYSTEM") #:optional (system (or (getenv "GUIX_NEW_SYSTEM")

View file

@ -661,8 +661,10 @@ were found."
(match spec (match spec
((? string?) ((? string?)
;; Nothing to do, but wait until SPEC shows up. (if (string-contains spec ":/")
(resolve identity spec identity)) spec ; do not resolve NFS devices
;; Nothing to do, but wait until SPEC shows up.
(resolve identity spec identity)))
((? file-system-label?) ((? file-system-label?)
;; Resolve the label. ;; Resolve the label.
(resolve find-partition-by-label (resolve find-partition-by-label

205
gnu/build/hurd-boot.scm Normal file
View 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

View file

@ -47,9 +47,10 @@
"Take SEXP, a tuple as returned by 'partition->gexp', and turn it into a "Take SEXP, a tuple as returned by 'partition->gexp', and turn it into a
<partition> record." <partition> record."
(match sexp (match sexp
((size file-system label uuid) ((size file-system file-system-options label uuid)
(partition (size size) (partition (size size)
(file-system file-system) (file-system file-system)
(file-system-options file-system-options)
(label label) (label label)
(uuid uuid))))) (uuid uuid)))))
@ -63,25 +64,30 @@
take the partition metadata size into account, take a 25% margin." take the partition metadata size into account, take a 25% margin."
(* 1.25 (file-size root))) (* 1.25 (file-size root)))
(define* (make-ext4-image partition target root (define* (make-ext-image partition target root
#:key #:key
(owner-uid 0) (owner-uid 0)
(owner-gid 0)) (owner-gid 0))
"Handle the creation of EXT4 partition images. See 'make-partition-image'." "Handle the creation of EXT2/3/4 partition images. See
'make-partition-image'."
(let ((size (partition-size partition)) (let ((size (partition-size partition))
(fs (partition-file-system partition))
(fs-options (partition-file-system-options partition))
(label (partition-label partition)) (label (partition-label partition))
(uuid (partition-uuid partition)) (uuid (partition-uuid partition))
(options "lazy_itable_init=1,lazy_journal_init=1")) (journal-options "lazy_itable_init=1,lazy_journal_init=1"))
(invoke "mke2fs" "-t" "ext4" "-d" root (apply invoke
"-L" label "-U" (uuid->string uuid) `("mke2fs" "-t" ,fs "-d" ,root
"-E" (format #f "root_owner=~a:~a,~a" "-L" ,label "-U" ,(uuid->string uuid)
owner-uid owner-gid options) "-E" ,(format #f "root_owner=~a:~a,~a"
target owner-uid owner-gid journal-options)
(format #f "~ak" ,@fs-options
(size-in-kib ,target
(if (eq? size 'guess) ,(format #f "~ak"
(estimate-partition-size root) (size-in-kib
size)))))) (if (eq? size 'guess)
(estimate-partition-size root)
size)))))))
(define* (make-vfat-image partition target root) (define* (make-vfat-image partition target root)
"Handle the creation of VFAT partition images. See 'make-partition-image'." "Handle the creation of VFAT partition images. See 'make-partition-image'."
@ -105,8 +111,8 @@ ROOT directory to populate the image."
(let* ((partition (sexp->partition partition-sexp)) (let* ((partition (sexp->partition partition-sexp))
(type (partition-file-system partition))) (type (partition-file-system partition)))
(cond (cond
((string=? type "ext4") ((string-prefix? "ext" type)
(make-ext4-image partition target root)) (make-ext-image partition target root))
((string=? type "vfat") ((string=? type "vfat")
(make-vfat-image partition target root)) (make-vfat-image partition target root))
(else (else
@ -140,19 +146,22 @@ deduplicates files common to CLOSURE and the rest of PREFIX."
(define* (initialize-efi-partition root (define* (initialize-efi-partition root
#:key #:key
bootloader-package grub-efi
#:allow-other-keys) #:allow-other-keys)
"Install in ROOT directory, an EFI loader using BOOTLOADER-PACKAGE." "Install in ROOT directory, an EFI loader using GRUB-EFI."
(install-efi-loader bootloader-package root)) (install-efi-loader grub-efi root))
(define* (initialize-root-partition root (define* (initialize-root-partition root
#:key #:key
bootcfg bootcfg
bootcfg-location bootcfg-location
bootloader-package
bootloader-installer
(deduplicate? #t) (deduplicate? #t)
references-graphs references-graphs
(register-closures? #t) (register-closures? #t)
system-directory system-directory
make-device-nodes
#:allow-other-keys) #:allow-other-keys)
"Initialize the given ROOT directory. Use BOOTCFG and BOOTCFG-LOCATION to "Initialize the given ROOT directory. Use BOOTCFG and BOOTCFG-LOCATION to
install the bootloader configuration. install the bootloader configuration.
@ -164,6 +173,10 @@ of the directory of the 'system' derivation."
(populate-root-file-system system-directory root) (populate-root-file-system system-directory root)
(populate-store references-graphs root) (populate-store references-graphs root)
;; Populate /dev.
(when make-device-nodes
(make-device-nodes root))
(when register-closures? (when register-closures?
(for-each (lambda (closure) (for-each (lambda (closure)
(register-closure root (register-closure root
@ -172,6 +185,9 @@ of the directory of the 'system' derivation."
#:deduplicate? deduplicate?)) #:deduplicate? deduplicate?))
references-graphs)) references-graphs))
(when bootloader-installer
(display "installing bootloader...\n")
(bootloader-installer bootloader-package #f root))
(when bootcfg (when bootcfg
(install-boot-config bootcfg bootcfg-location root))) (install-boot-config bootcfg bootcfg-location root)))

View file

@ -40,7 +40,6 @@
find-long-option find-long-option
find-long-options find-long-options
make-essential-device-nodes make-essential-device-nodes
make-hurd-device-nodes
make-static-device-nodes make-static-device-nodes
configure-qemu-networking configure-qemu-networking
@ -324,36 +323,6 @@ one specific hardware device. These we have to create."
;; File systems in user space (FUSE). ;; File systems in user space (FUSE).
(mknod (scope "dev/fuse") 'char-special #o666 (device-number 10 229))) (mknod (scope "dev/fuse") 'char-special #o666 (device-number 10 229)))
(define* (make-hurd-device-nodes #:optional (root "/"))
"Make some of the nodes needed on GNU/Hurd."
(define (scope dir)
(string-append root
(if (string-suffix? "/" root)
""
"/")
dir))
(mkdir (scope "dev"))
(for-each (lambda (file)
(call-with-output-file (scope file)
(lambda (port)
(chmod port #o666))))
'("dev/null"
"dev/zero"
"dev/full"
"dev/random"
"dev/urandom"))
;; Don't create /dev/console, /dev/vcs, etc.: they are created by
;; console-run on first boot.
(mkdir (scope "servers"))
(mkdir (scope "servers/socket"))
;; Don't create /servers/socket/1 & co: runsystem does that on first boot.
;; TODO: Set the 'gnu.translator' extended attribute for passive translator
;; settings?
)
(define %host-qemu-ipv4-address (define %host-qemu-ipv4-address
(inet-pton AF_INET "10.0.2.10")) (inet-pton AF_INET "10.0.2.10"))
@ -498,25 +467,13 @@ upon error."
(define (root-mount-point? fs) (define (root-mount-point? fs)
(string=? (file-system-mount-point fs) "/")) (string=? (file-system-mount-point fs) "/"))
(define root-fs-type (define (device-string->file-system-device device-string)
(or (any (lambda (fs) ;; The "--root=SPEC" kernel command-line option always provides a
(and (root-mount-point? fs) ;; string, but the string can represent a device, a UUID, or a
(file-system-type fs))) ;; label. So check for all three.
mounts) (cond ((string-prefix? "/" device-string) device-string)
"ext4")) ((uuid device-string) => identity)
(else (file-system-label device-string))))
(define root-fs-flags
(mount-flags->bit-mask (or (any (lambda (fs)
(and (root-mount-point? fs)
(file-system-flags fs)))
mounts)
'())))
(define root-fs-options
(any (lambda (fs)
(and (root-mount-point? fs)
(file-system-options fs)))
mounts))
(display "Welcome, this is GNU's early boot Guile.\n") (display "Welcome, this is GNU's early boot Guile.\n")
(display "Use '--repl' for an initrd REPL.\n\n") (display "Use '--repl' for an initrd REPL.\n\n")
@ -526,7 +483,21 @@ upon error."
(mount-essential-file-systems) (mount-essential-file-systems)
(let* ((args (linux-command-line)) (let* ((args (linux-command-line))
(to-load (find-long-option "--load" args)) (to-load (find-long-option "--load" args))
(root (find-long-option "--root" args))) (root-fs (find root-mount-point? mounts))
(root-fs-type (or (and=> root-fs file-system-type)
"ext4"))
(root-fs-device (and=> root-fs file-system-device))
(root-fs-flags (mount-flags->bit-mask
(or (and=> root-fs file-system-flags)
'())))
(root-options (if root-fs
(file-system-options root-fs)
#f))
;; --root takes precedence over the 'device' field of the root
;; <file-system> record.
(root-device (or (and=> (find-long-option "--root" args)
device-string->file-system-device)
root-fs-device)))
(when (member "--repl" args) (when (member "--repl" args)
(start-repl)) (start-repl))
@ -561,21 +532,12 @@ upon error."
(setenv "EXT2FS_NO_MTAB_OK" "1") (setenv "EXT2FS_NO_MTAB_OK" "1")
(if root (if root-device
;; The "--root=SPEC" kernel command-line option always provides a (mount-root-file-system (canonicalize-device-spec root-device)
;; string, but the string can represent a device, a UUID, or a root-fs-type
;; label. So check for all three. #:volatile-root? volatile-root?
(let ((device-spec (cond ((string-prefix? "/" root) root) #:flags root-fs-flags
((uuid root) => identity) #:options root-options)
((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))
(mount "none" "/root" "tmpfs")) (mount "none" "/root" "tmpfs"))
;; Mount the specified file systems. ;; Mount the specified file systems.
@ -602,4 +564,4 @@ upon error."
(start-repl))))) (start-repl)))))
#:on-error on-error)) #:on-error on-error))
;;; linux-initrd.scm ends here ;;; linux-boot.scm ends here

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -21,6 +21,7 @@
#:use-module (gnu build linux-container) #:use-module (gnu build linux-container)
#:use-module (guix build utils) #:use-module (guix build utils)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:export (make-forkexec-constructor/container)) #:export (make-forkexec-constructor/container))
@ -91,7 +92,10 @@
;; XXX: Lazy-bind the Shepherd to avoid a compile-time dependency. ;; XXX: Lazy-bind the Shepherd to avoid a compile-time dependency.
(module-autoload! (current-module) (module-autoload! (current-module)
'(shepherd service) '(read-pid-file exec-command)) '(shepherd service)
'(read-pid-file exec-command %precious-signals))
(module-autoload! (current-module)
'(shepherd system) '(unblock-signals))
(define* (read-pid-file/container pid pid-file #:key (max-delay 5)) (define* (read-pid-file/container pid pid-file #:key (max-delay 5))
"Read PID-FILE in the container namespaces of PID, which exists in a "Read PID-FILE in the container namespaces of PID, which exists in a
@ -101,7 +105,8 @@ separate mount and PID name space. Return the \"outer\" PID. "
(read-pid-file pid-file (read-pid-file pid-file
#:max-delay max-delay))) #:max-delay max-delay)))
(#f (#f
(catch-system-error (kill pid SIGTERM)) ;; Send SIGTERM to the whole process group.
(catch-system-error (kill (- pid) SIGTERM))
#f) #f)
((? integer? container-pid) ((? integer? container-pid)
;; XXX: When COMMAND is started in a separate PID namespace, its ;; XXX: When COMMAND is started in a separate PID namespace, its
@ -158,6 +163,14 @@ namespace, in addition to essential bind-mounts such /proc."
(let ((pid (run-container container-directory (let ((pid (run-container container-directory
mounts namespaces 1 mounts namespaces 1
(lambda () (lambda ()
;; First restore the default handlers.
(for-each (cut sigaction <> SIG_DFL)
%precious-signals)
;; Unblock any signals that have been blocked
;; by the parent process.
(unblock-signals %precious-signals)
(mkdir-p "/var/run") (mkdir-p "/var/run")
(clean-up pid-file) (clean-up pid-file)

View file

@ -84,8 +84,6 @@
linux initrd linux initrd
make-disk-image? make-disk-image?
single-file-output? single-file-output?
target-arm32?
target-aarch64?
(disk-image-size (* 100 (expt 2 20))) (disk-image-size (* 100 (expt 2 20)))
(disk-image-format "qcow2") (disk-image-format "qcow2")
(references-graphs '())) (references-graphs '()))
@ -101,7 +99,14 @@ access it via /dev/hda.
REFERENCES-GRAPHS can specify a list of reference-graph files as produced by REFERENCES-GRAPHS can specify a list of reference-graph files as produced by
the #:references-graphs parameter of 'derivation'." the #:references-graphs parameter of 'derivation'."
(define target-arm? (or target-arm32? target-aarch64?)) (define target-arm32?
(string-prefix? "arm-" %host-type))
(define target-aarch64?
(string-prefix? "aarch64-" %host-type))
(define target-arm?
(or target-arm32? target-aarch64?))
(define arch-specific-flags (define arch-specific-flags
`(;; On ARM, a machine has to be specified. Use "virt" machine to avoid `(;; On ARM, a machine has to be specified. Use "virt" machine to avoid

View file

@ -219,19 +219,21 @@ system.")
(run-with-store store (run-with-store store
(mbegin %store-monad (mbegin %store-monad
(set-guile-for-build (default-guile)) (set-guile-for-build (default-guile))
(system-image (lower-object
(image (system-image
(inherit efi-disk-image) (image
(size (* 1500 MiB)) (inherit efi-disk-image)
(operating-system installation-os)))))) (size (* 1500 MiB))
(operating-system installation-os)))))))
(->job 'iso9660-image (->job 'iso9660-image
(run-with-store store (run-with-store store
(mbegin %store-monad (mbegin %store-monad
(set-guile-for-build (default-guile)) (set-guile-for-build (default-guile))
(system-image (lower-object
(image (system-image
(inherit iso9660-image) (image
(operating-system installation-os))))))) (inherit iso9660-image)
(operating-system installation-os))))))))
'())) '()))
(define channel-build-system (define channel-build-system

View file

@ -22,7 +22,9 @@
partition? partition?
partition-device partition-device
partition-size partition-size
partition-offset
partition-file-system partition-file-system
partition-file-system-options
partition-label partition-label
partition-uuid partition-uuid
partition-flags partition-flags
@ -31,6 +33,7 @@
image image
image-name image-name
image-format image-format
image-target
image-size image-size
image-operating-system image-operating-system
image-partitions image-partitions
@ -45,13 +48,16 @@
(define-record-type* <partition> partition make-partition (define-record-type* <partition> partition make-partition
partition? partition?
(device partition-device (default #f)) (device partition-device (default #f))
(size partition-size) (size partition-size)
(file-system partition-file-system (default "ext4")) (offset partition-offset (default 0))
(label partition-label (default #f)) (file-system partition-file-system (default "ext4"))
(uuid partition-uuid (default #f)) (file-system-options partition-file-system-options
(flags partition-flags (default '())) (default '()))
(initializer partition-initializer (default #f))) (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 make-image
image? image?
(format image-format) ;symbol (format image-format) ;symbol
(target image-target
(default #f))
(size image-size ;size in bytes as integer (size image-size ;size in bytes as integer
(default 'guess)) (default 'guess))
(operating-system image-operating-system ;<operating-system> (operating-system image-operating-system ;<operating-system>

View file

@ -127,8 +127,8 @@ USERS."
(lambda (port) (lambda (port)
(match (string-tokenize (read-string port) %not-nul) (match (string-tokenize (read-string port) %not-nul)
((argv0 _ ...) ((argv0 _ ...)
(unless (member (pk (basename argv0)) spare) (unless (member (basename argv0) spare)
(syslog "Killing process ~a~%" pid) (syslog "Killing process ~a (~a)~%" pid argv0)
(kill pid SIGKILL))) (kill pid SIGKILL)))
(_ #f)))))) (_ #f))))))
pids))) pids)))
@ -146,6 +146,8 @@ be much appreciated."
(catch #t (catch #t
(lambda () (lambda ()
(let ((tmp-dir "/remove")) (let ((tmp-dir "/remove"))
(syslog "Unmounting cow-store.~%")
(mkdir-p tmp-dir) (mkdir-p tmp-dir)
(mount (%store-directory) tmp-dir "" MS_MOVE) (mount (%store-directory) tmp-dir "" MS_MOVE)
@ -153,6 +155,8 @@ be much appreciated."
;; restart it. ;; restart it.
(restart-service 'guix-daemon) (restart-service 'guix-daemon)
(syslog "Killing cow users.")
;; Kill all processes started while the cow-store was active (logins ;; Kill all processes started while the cow-store was active (logins
;; on other TTYs for instance). ;; on other TTYs for instance).
(kill-cow-users tmp-dir) (kill-cow-users tmp-dir)
@ -160,6 +164,7 @@ be much appreciated."
;; Try to umount the store overlay. Some process such as udevd ;; Try to umount the store overlay. Some process such as udevd
;; workers might still be active, so do some retries. ;; workers might still be active, so do some retries.
(let loop ((try 5)) (let loop ((try 5))
(syslog "Umount try ~a~%" (- 5 try))
(sleep 1) (sleep 1)
(let ((umounted? (false-if-exception (umount tmp-dir)))) (let ((umounted? (false-if-exception (umount tmp-dir))))
(if (and (not umounted?) (> try 0)) (if (and (not umounted?) (> try 0))
@ -203,7 +208,18 @@ or #f. Return #t on success and #f on failure."
(lambda () (lambda ()
(start-service 'cow-store (list (%installer-target-dir)))) (start-service 'cow-store (list (%installer-target-dir))))
(lambda () (lambda ()
(run-command install-command #:locale locale)) ;; If there are any connected clients, assume that we are running
;; installation tests. In that case, dump the standard and error
;; outputs to syslog.
(if (not (null? (current-clients)))
(with-output-to-file "/dev/console"
(lambda ()
(with-error-to-file "/dev/console"
(lambda ()
(setvbuf (current-output-port) 'none)
(setvbuf (current-error-port) 'none)
(run-command install-command #:locale locale)))))
(run-command install-command #:locale locale)))
(lambda () (lambda ()
(stop-service 'cow-store) (stop-service 'cow-store)
;; Remove the store overlay created at cow-store service start. ;; Remove the store overlay created at cow-store service start.

View file

@ -19,7 +19,7 @@
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net> # Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
# Copyright © 2018, 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com> # Copyright © 2018, 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com> # Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
# Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com> # Copyright © 2018, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
# Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> # Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
# Copyright © 2019, 2020 John Soo <jsoo1@asu.edu> # Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
# Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> # Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
@ -157,6 +157,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/debian.scm \ %D%/packages/debian.scm \
%D%/packages/debug.scm \ %D%/packages/debug.scm \
%D%/packages/dejagnu.scm \ %D%/packages/dejagnu.scm \
%D%/packages/dhall.scm \
%D%/packages/dico.scm \ %D%/packages/dico.scm \
%D%/packages/dictionaries.scm \ %D%/packages/dictionaries.scm \
%D%/packages/diffoscope.scm \ %D%/packages/diffoscope.scm \
@ -394,6 +395,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/nvi.scm \ %D%/packages/nvi.scm \
%D%/packages/ocaml.scm \ %D%/packages/ocaml.scm \
%D%/packages/ocr.scm \ %D%/packages/ocr.scm \
%D%/packages/openkinect.scm \
%D%/packages/onc-rpc.scm \ %D%/packages/onc-rpc.scm \
%D%/packages/opencl.scm \ %D%/packages/opencl.scm \
%D%/packages/openbox.scm \ %D%/packages/openbox.scm \
@ -403,6 +405,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/orpheus.scm \ %D%/packages/orpheus.scm \
%D%/packages/ots.scm \ %D%/packages/ots.scm \
%D%/packages/package-management.scm \ %D%/packages/package-management.scm \
%D%/packages/pantheon.scm \
%D%/packages/parallel.scm \ %D%/packages/parallel.scm \
%D%/packages/password-utils.scm \ %D%/packages/password-utils.scm \
%D%/packages/patchutils.scm \ %D%/packages/patchutils.scm \
@ -410,6 +413,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/pcre.scm \ %D%/packages/pcre.scm \
%D%/packages/pdf.scm \ %D%/packages/pdf.scm \
%D%/packages/pem.scm \ %D%/packages/pem.scm \
%D%/packages/pep.scm \
%D%/packages/perl.scm \ %D%/packages/perl.scm \
%D%/packages/perl-check.scm \ %D%/packages/perl-check.scm \
%D%/packages/perl-compression.scm \ %D%/packages/perl-compression.scm \
@ -579,6 +583,7 @@ GNU_SYSTEM_MODULES = \
%D%/services/games.scm \ %D%/services/games.scm \
%D%/services/getmail.scm \ %D%/services/getmail.scm \
%D%/services/guix.scm \ %D%/services/guix.scm \
%D%/services/hurd.scm \
%D%/services/kerberos.scm \ %D%/services/kerberos.scm \
%D%/services/linux.scm \ %D%/services/linux.scm \
%D%/services/lirc.scm \ %D%/services/lirc.scm \
@ -634,6 +639,7 @@ GNU_SYSTEM_MODULES = \
%D%/build/cross-toolchain.scm \ %D%/build/cross-toolchain.scm \
%D%/build/image.scm \ %D%/build/image.scm \
%D%/build/file-systems.scm \ %D%/build/file-systems.scm \
%D%/build/hurd-boot.scm \
%D%/build/install.scm \ %D%/build/install.scm \
%D%/build/linux-boot.scm \ %D%/build/linux-boot.scm \
%D%/build/linux-container.scm \ %D%/build/linux-container.scm \
@ -745,6 +751,7 @@ dist_patch_DATA = \
%D%/packages/patches/akonadi-not-relocatable.patch \ %D%/packages/patches/akonadi-not-relocatable.patch \
%D%/packages/patches/akonadi-timestamps.patch \ %D%/packages/patches/akonadi-timestamps.patch \
%D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \ %D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \
%D%/packages/patches/alsa-modular-synth-fix-vocoder.patch \
%D%/packages/patches/amule-crypto-6.patch \ %D%/packages/patches/amule-crypto-6.patch \
%D%/packages/patches/anki-mpv-args.patch \ %D%/packages/patches/anki-mpv-args.patch \
%D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \
@ -798,11 +805,9 @@ dist_patch_DATA = \
%D%/packages/patches/bitcoin-core-python-compat.patch \ %D%/packages/patches/bitcoin-core-python-compat.patch \
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \ %D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
%D%/packages/patches/blender-2.79-python-3.7-fix.patch \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \
%D%/packages/patches/bluez-CVE-2020-0556.patch \ %D%/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch \
%D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/calibre-msgpack-compat.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/calibre-remove-test-bs4.patch \
%D%/packages/patches/calibre-remove-test-sqlite.patch \ %D%/packages/patches/calibre-remove-test-sqlite.patch \
%D%/packages/patches/calibre-remove-test-unrar.patch \ %D%/packages/patches/calibre-remove-test-unrar.patch \
%D%/packages/patches/casync-renameat2-declaration.patch \ %D%/packages/patches/casync-renameat2-declaration.patch \
@ -849,16 +854,15 @@ dist_patch_DATA = \
%D%/packages/patches/cvs-CVE-2017-12836.patch \ %D%/packages/patches/cvs-CVE-2017-12836.patch \
%D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch \ %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch \
%D%/packages/patches/date-output-pkg-config-files.patch \ %D%/packages/patches/date-output-pkg-config-files.patch \
%D%/packages/patches/darkice-workaround-fpermissive-error.patch \
%D%/packages/patches/datefudge-gettimeofday.patch \ %D%/packages/patches/datefudge-gettimeofday.patch \
%D%/packages/patches/dbacl-include-locale.h.patch \ %D%/packages/patches/dbacl-include-locale.h.patch \
%D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/dbus-CVE-2020-12049.patch \
%D%/packages/patches/dbus-c++-gcc-compat.patch \ %D%/packages/patches/dbus-c++-gcc-compat.patch \
%D%/packages/patches/dbus-c++-threading-mutex.patch \ %D%/packages/patches/dbus-c++-threading-mutex.patch \
%D%/packages/patches/dconf-meson-0.52.patch \ %D%/packages/patches/dconf-meson-0.52.patch \
%D%/packages/patches/debops-constants-for-external-program-names.patch \ %D%/packages/patches/debops-constants-for-external-program-names.patch \
%D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \ %D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
%D%/packages/patches/desmume-gcc6-fixes.patch \ %D%/packages/patches/desmume-gcc6-fixes.patch \
%D%/packages/patches/desmume-gcc7-fixes.patch \ %D%/packages/patches/desmume-gcc7-fixes.patch \
%D%/packages/patches/dfu-programmer-fix-libusb.patch \ %D%/packages/patches/dfu-programmer-fix-libusb.patch \
@ -886,13 +890,12 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \ %D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \ %D%/packages/patches/emacs-json-reformat-fix-tests.patch \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \ %D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-magit-log-format-author-margin.patch \ %D%/packages/patches/emacs-libgit-use-system-libgit2.patch \
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \ %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \ %D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/emacs-telega-test-env.patch \ %D%/packages/patches/emacs-telega-test-env.patch \
%D%/packages/patches/emacs-undohist-ignored.patch \ %D%/packages/patches/emacs-undohist-ignored.patch \
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \ %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
%D%/packages/patches/emacs-zones-called-interactively.patch \
%D%/packages/patches/enjarify-setup-py.patch \ %D%/packages/patches/enjarify-setup-py.patch \
%D%/packages/patches/enlightenment-fix-setuid-path.patch \ %D%/packages/patches/enlightenment-fix-setuid-path.patch \
%D%/packages/patches/erlang-man-path.patch \ %D%/packages/patches/erlang-man-path.patch \
@ -900,6 +903,7 @@ dist_patch_DATA = \
%D%/packages/patches/evilwm-lost-focus-bug.patch \ %D%/packages/patches/evilwm-lost-focus-bug.patch \
%D%/packages/patches/evolution-data-server-locales.patch \ %D%/packages/patches/evolution-data-server-locales.patch \
%D%/packages/patches/evolution-data-server-libical-compat.patch \ %D%/packages/patches/evolution-data-server-libical-compat.patch \
%D%/packages/patches/exercism-disable-self-update.patch \
%D%/packages/patches/exiv2-CVE-2017-14860.patch \ %D%/packages/patches/exiv2-CVE-2017-14860.patch \
%D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \ %D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \
%D%/packages/patches/extempore-unbundle-external-dependencies.patch \ %D%/packages/patches/extempore-unbundle-external-dependencies.patch \
@ -977,7 +981,6 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/git-annex-S3v4.patch \
%D%/packages/patches/glib-tests-timer.patch \ %D%/packages/patches/glib-tests-timer.patch \
%D%/packages/patches/glibc-CVE-2015-5180.patch \ %D%/packages/patches/glibc-CVE-2015-5180.patch \
%D%/packages/patches/glibc-CVE-2015-7547.patch \ %D%/packages/patches/glibc-CVE-2015-7547.patch \
@ -1041,6 +1044,7 @@ dist_patch_DATA = \
%D%/packages/patches/gromacs-tinyxml2.patch \ %D%/packages/patches/gromacs-tinyxml2.patch \
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \ %D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
%D%/packages/patches/grub-efi-fat-serial-number.patch \ %D%/packages/patches/grub-efi-fat-serial-number.patch \
%D%/packages/patches/grub-setup-root.patch \
%D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \ %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
%D%/packages/patches/gspell-dash-test.patch \ %D%/packages/patches/gspell-dash-test.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \
@ -1051,11 +1055,11 @@ dist_patch_DATA = \
%D%/packages/patches/guile-3.0-relocatable.patch \ %D%/packages/patches/guile-3.0-relocatable.patch \
%D%/packages/patches/guile-linux-syscalls.patch \ %D%/packages/patches/guile-linux-syscalls.patch \
%D%/packages/patches/guile-3.0-linux-syscalls.patch \ %D%/packages/patches/guile-3.0-linux-syscalls.patch \
%D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \
%D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \ %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \
%D%/packages/patches/guile-present-coding.patch \ %D%/packages/patches/guile-present-coding.patch \
%D%/packages/patches/guile-rsvg-pkgconfig.patch \ %D%/packages/patches/guile-rsvg-pkgconfig.patch \
%D%/packages/patches/guile-emacs-fix-configure.patch \ %D%/packages/patches/guile-emacs-fix-configure.patch \
%D%/packages/patches/guile-sqlite3-fix-cross-compilation.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk2-theme-paths.patch \ %D%/packages/patches/gtk2-theme-paths.patch \
@ -1065,8 +1069,6 @@ dist_patch_DATA = \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \ %D%/packages/patches/gtksourceview-2-add-default-directory.patch \
%D%/packages/patches/gzdoom-search-in-installed-share.patch \ %D%/packages/patches/gzdoom-search-in-installed-share.patch \
%D%/packages/patches/gzdoom-find-system-libgme.patch \ %D%/packages/patches/gzdoom-find-system-libgme.patch \
%D%/packages/patches/haskell-mode-unused-variables.patch \
%D%/packages/patches/haskell-mode-make-check.patch \
%D%/packages/patches/hdf4-architectures.patch \ %D%/packages/patches/hdf4-architectures.patch \
%D%/packages/patches/hdf4-reproducibility.patch \ %D%/packages/patches/hdf4-reproducibility.patch \
%D%/packages/patches/hdf4-shared-fortran.patch \ %D%/packages/patches/hdf4-shared-fortran.patch \
@ -1080,8 +1082,10 @@ dist_patch_DATA = \
%D%/packages/patches/hdf-eos5-remove-gctp.patch \ %D%/packages/patches/hdf-eos5-remove-gctp.patch \
%D%/packages/patches/hdf-eos5-fix-szip.patch \ %D%/packages/patches/hdf-eos5-fix-szip.patch \
%D%/packages/patches/hdf-eos5-fortrantests.patch \ %D%/packages/patches/hdf-eos5-fortrantests.patch \
%D%/packages/patches/http-parser-fix-assertion-on-armhf.patch \
%D%/packages/patches/hubbub-sort-entities.patch \ %D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hurd-cross.patch \ %D%/packages/patches/hurd-cross.patch \
%D%/packages/patches/hurd-xattr.patch \
%D%/packages/patches/hplip-remove-imageprocessor.patch \ %D%/packages/patches/hplip-remove-imageprocessor.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-makeicecat.patch \ %D%/packages/patches/icecat-makeicecat.patch \
@ -1105,6 +1109,7 @@ dist_patch_DATA = \
%D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \ %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \
%D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-commons-collections-fix-java8.patch \
%D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \
%D%/packages/patches/java-openjfx-build-jdk_version.patch \
%D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \
%D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \
%D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \
@ -1116,12 +1121,9 @@ dist_patch_DATA = \
%D%/packages/patches/jsoncpp-fix-inverted-case.patch \ %D%/packages/patches/jsoncpp-fix-inverted-case.patch \
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \ %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/libffi-3.3-powerpc-fixes.patch \
%D%/packages/patches/libnftnl-dont-check-NFTNL_FLOWTABLE_SIZE.patch \
%D%/packages/patches/libvirt-create-machine-cgroup.patch \ %D%/packages/patches/libvirt-create-machine-cgroup.patch \
%D%/packages/patches/libziparchive-add-includes.patch \ %D%/packages/patches/libziparchive-add-includes.patch \
%D%/packages/patches/localed-xorg-keyboard.patch \ %D%/packages/patches/localed-xorg-keyboard.patch \
%D%/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch \
%D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \ %D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \
%D%/packages/patches/kiki-level-selection-crash.patch \ %D%/packages/patches/kiki-level-selection-crash.patch \
%D%/packages/patches/kiki-makefile.patch \ %D%/packages/patches/kiki-makefile.patch \
@ -1136,8 +1138,6 @@ dist_patch_DATA = \
%D%/packages/patches/kpackage-allow-external-paths.patch \ %D%/packages/patches/kpackage-allow-external-paths.patch \
%D%/packages/patches/kmplayer-aarch64.patch \ %D%/packages/patches/kmplayer-aarch64.patch \
%D%/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch \ %D%/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch \
%D%/packages/patches/kpmcore-fix-tests.patch \
%D%/packages/patches/kpmcore-remove-broken-test.patch \
%D%/packages/patches/kobodeluxe-paths.patch \ %D%/packages/patches/kobodeluxe-paths.patch \
%D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \ %D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \
%D%/packages/patches/kobodeluxe-const-charp-conversion.patch \ %D%/packages/patches/kobodeluxe-const-charp-conversion.patch \
@ -1158,6 +1158,9 @@ dist_patch_DATA = \
%D%/packages/patches/ldc-disable-phobos-tests.patch \ %D%/packages/patches/ldc-disable-phobos-tests.patch \
%D%/packages/patches/leela-zero-gtest.patch \ %D%/packages/patches/leela-zero-gtest.patch \
%D%/packages/patches/less-hurd-path-max.patch \ %D%/packages/patches/less-hurd-path-max.patch \
%D%/packages/patches/lib2geom-enable-assertions.patch \
%D%/packages/patches/lib2geom-link-tests-against-glib.patch \
%D%/packages/patches/lib2geom-use-system-googletest.patch \
%D%/packages/patches/liba52-enable-pic.patch \ %D%/packages/patches/liba52-enable-pic.patch \
%D%/packages/patches/liba52-link-with-libm.patch \ %D%/packages/patches/liba52-link-with-libm.patch \
%D%/packages/patches/liba52-set-soname.patch \ %D%/packages/patches/liba52-set-soname.patch \
@ -1166,10 +1169,7 @@ dist_patch_DATA = \
%D%/packages/patches/libbase-use-own-logging.patch \ %D%/packages/patches/libbase-use-own-logging.patch \
%D%/packages/patches/libbonobo-activation-test-race.patch \ %D%/packages/patches/libbonobo-activation-test-race.patch \
%D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \ %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
%D%/packages/patches/libdrm-symbol-check.patch \ %D%/packages/patches/libdrm-realpath-virtio.patch \
%D%/packages/patches/libexif-CVE-2016-6328.patch \
%D%/packages/patches/libexif-CVE-2017-7544.patch \
%D%/packages/patches/libexif-CVE-2018-20030.patch \
%D%/packages/patches/libextractor-exiv2.patch \ %D%/packages/patches/libextractor-exiv2.patch \
%D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \ %D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \
%D%/packages/patches/libgit2-mtime-0.patch \ %D%/packages/patches/libgit2-mtime-0.patch \
@ -1237,7 +1237,6 @@ dist_patch_DATA = \
%D%/packages/patches/luit-posix.patch \ %D%/packages/patches/luit-posix.patch \
%D%/packages/patches/luminance-hdr-qt-printer.patch \ %D%/packages/patches/luminance-hdr-qt-printer.patch \
%D%/packages/patches/lvm2-static-link.patch \ %D%/packages/patches/lvm2-static-link.patch \
%D%/packages/patches/lxsession-use-gapplication.patch \
%D%/packages/patches/make-impure-dirs.patch \ %D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/mariadb-client-test-32bit.patch \ %D%/packages/patches/mariadb-client-test-32bit.patch \
%D%/packages/patches/mars-install.patch \ %D%/packages/patches/mars-install.patch \
@ -1295,7 +1294,7 @@ dist_patch_DATA = \
%D%/packages/patches/netsurf-y2038-tests.patch \ %D%/packages/patches/netsurf-y2038-tests.patch \
%D%/packages/patches/netsurf-longer-test-timeout.patch \ %D%/packages/patches/netsurf-longer-test-timeout.patch \
%D%/packages/patches/ngircd-handle-zombies.patch \ %D%/packages/patches/ngircd-handle-zombies.patch \
%D%/packages/patches/nm-plugin-path.patch \ %D%/packages/patches/network-manager-plugin-path.patch \
%D%/packages/patches/nsis-env-passthru.patch \ %D%/packages/patches/nsis-env-passthru.patch \
%D%/packages/patches/nss-increase-test-timeout.patch \ %D%/packages/patches/nss-increase-test-timeout.patch \
%D%/packages/patches/nss-pkgconfig.patch \ %D%/packages/patches/nss-pkgconfig.patch \
@ -1325,6 +1324,7 @@ dist_patch_DATA = \
%D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/openocd-nrf52.patch \
%D%/packages/patches/openssh-hurd.patch \ %D%/packages/patches/openssh-hurd.patch \
%D%/packages/patches/openresolv-restartcmd-guix.patch \ %D%/packages/patches/openresolv-restartcmd-guix.patch \
%D%/packages/patches/openscad-parser-boost-1.72.patch \
%D%/packages/patches/openssl-runpath.patch \ %D%/packages/patches/openssl-runpath.patch \
%D%/packages/patches/openssl-1.1-c-rehash-in.patch \ %D%/packages/patches/openssl-1.1-c-rehash-in.patch \
%D%/packages/patches/openssl-c-rehash-in.patch \ %D%/packages/patches/openssl-c-rehash-in.patch \
@ -1363,6 +1363,7 @@ dist_patch_DATA = \
%D%/packages/patches/perl-www-curl-remove-symbol.patch \ %D%/packages/patches/perl-www-curl-remove-symbol.patch \
%D%/packages/patches/picprog-non-intel-support.patch \ %D%/packages/patches/picprog-non-intel-support.patch \
%D%/packages/patches/pidgin-add-search-path.patch \ %D%/packages/patches/pidgin-add-search-path.patch \
%D%/packages/patches/pidgin-libnm.patch \
%D%/packages/patches/pinball-const-fix.patch \ %D%/packages/patches/pinball-const-fix.patch \
%D%/packages/patches/pinball-cstddef.patch \ %D%/packages/patches/pinball-cstddef.patch \
%D%/packages/patches/pinball-missing-separators.patch \ %D%/packages/patches/pinball-missing-separators.patch \
@ -1376,7 +1377,6 @@ dist_patch_DATA = \
%D%/packages/patches/plink-endian-detection.patch \ %D%/packages/patches/plink-endian-detection.patch \
%D%/packages/patches/plib-CVE-2011-4620.patch \ %D%/packages/patches/plib-CVE-2011-4620.patch \
%D%/packages/patches/plib-CVE-2012-4552.patch \ %D%/packages/patches/plib-CVE-2012-4552.patch \
%D%/packages/patches/plotutils-libpng-jmpbuf.patch \
%D%/packages/patches/podofo-cmake-3.12.patch \ %D%/packages/patches/podofo-cmake-3.12.patch \
%D%/packages/patches/portaudio-audacity-compat.patch \ %D%/packages/patches/portaudio-audacity-compat.patch \
%D%/packages/patches/portmidi-modular-build.patch \ %D%/packages/patches/portmidi-modular-build.patch \
@ -1397,7 +1397,6 @@ dist_patch_DATA = \
%D%/packages/patches/pygpgme-disable-problematic-tests.patch \ %D%/packages/patches/pygpgme-disable-problematic-tests.patch \
%D%/packages/patches/pyqt-configure.patch \ %D%/packages/patches/pyqt-configure.patch \
%D%/packages/patches/pyqt-public-sip.patch \ %D%/packages/patches/pyqt-public-sip.patch \
%D%/packages/patches/pyqt-unbundled-qt.patch \
%D%/packages/patches/python-2-deterministic-build-info.patch \ %D%/packages/patches/python-2-deterministic-build-info.patch \
%D%/packages/patches/python-2.7-adjust-tests.patch \ %D%/packages/patches/python-2.7-adjust-tests.patch \
%D%/packages/patches/python-2.7-search-paths.patch \ %D%/packages/patches/python-2.7-search-paths.patch \
@ -1411,6 +1410,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-CVE-2018-14647.patch \ %D%/packages/patches/python-CVE-2018-14647.patch \
%D%/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch \ %D%/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch \
%D%/packages/patches/python-alembic-exceptions-cause.patch \ %D%/packages/patches/python-alembic-exceptions-cause.patch \
%D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \
%D%/packages/patches/python-axolotl-AES-fix.patch \ %D%/packages/patches/python-axolotl-AES-fix.patch \
%D%/packages/patches/python-cairocffi-dlopen-path.patch \ %D%/packages/patches/python-cairocffi-dlopen-path.patch \
%D%/packages/patches/python-cross-compile.patch \ %D%/packages/patches/python-cross-compile.patch \
@ -1434,17 +1434,18 @@ dist_patch_DATA = \
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \ %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
%D%/packages/patches/python-robotframework-honor-source-date-epoch.patch \ %D%/packages/patches/python-robotframework-honor-source-date-epoch.patch \
%D%/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch \
%D%/packages/patches/python-slugify-depend-on-unidecode.patch \ %D%/packages/patches/python-slugify-depend-on-unidecode.patch \
%D%/packages/patches/python2-subprocess32-disable-input-test.patch \ %D%/packages/patches/python2-subprocess32-disable-input-test.patch \
%D%/packages/patches/python-unittest2-python3-compat.patch \ %D%/packages/patches/python-unittest2-python3-compat.patch \
%D%/packages/patches/python-unittest2-remove-argparse.patch \ %D%/packages/patches/python-unittest2-remove-argparse.patch \
%D%/packages/patches/python-waitress-fix-tests.patch \ %D%/packages/patches/python-waitress-fix-tests.patch \
%D%/packages/patches/pypy3-7.3.1-fix-tests.patch \
%D%/packages/patches/qemu-glibc-2.27.patch \ %D%/packages/patches/qemu-glibc-2.27.patch \
%D%/packages/patches/qrcodegen-cpp-make-install.patch \ %D%/packages/patches/qrcodegen-cpp-make-install.patch \
%D%/packages/patches/qt4-ldflags.patch \ %D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \ %D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \ %D%/packages/patches/qtbase-use-TZDIR.patch \
%D%/packages/patches/qtbase-QTBUG-81715.patch \
%D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quagga-reproducible-build.patch \ %D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \
@ -1466,7 +1467,8 @@ dist_patch_DATA = \
%D%/packages/patches/rtags-separate-rct.patch \ %D%/packages/patches/rtags-separate-rct.patch \
%D%/packages/patches/racket-store-checksum-override.patch \ %D%/packages/patches/racket-store-checksum-override.patch \
%D%/packages/patches/retroarch-disable-online-updater.patch \ %D%/packages/patches/retroarch-disable-online-updater.patch \
%D%/packages/patches/ruby-rack-ignore-failing-test.patch \ %D%/packages/patches/ruby-rack-ignore-failing-test.patch \
%D%/packages/patches/ruby-sanitize-system-libxml.patch \
%D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\ %D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
%D%/packages/patches/runc-CVE-2019-5736.patch \ %D%/packages/patches/runc-CVE-2019-5736.patch \
%D%/packages/patches/rust-1.19-mrustc.patch \ %D%/packages/patches/rust-1.19-mrustc.patch \
@ -1533,10 +1535,12 @@ dist_patch_DATA = \
%D%/packages/patches/tipp10-fix-compiling.patch \ %D%/packages/patches/tipp10-fix-compiling.patch \
%D%/packages/patches/tipp10-remove-license-code.patch \ %D%/packages/patches/tipp10-remove-license-code.patch \
%D%/packages/patches/tk-find-library.patch \ %D%/packages/patches/tk-find-library.patch \
%D%/packages/patches/transmission-CVE-2018-10756.patch \
%D%/packages/patches/ttf2eot-cstddef.patch \ %D%/packages/patches/ttf2eot-cstddef.patch \
%D%/packages/patches/ttfautohint-source-date-epoch.patch \ %D%/packages/patches/ttfautohint-source-date-epoch.patch \
%D%/packages/patches/tomb-fix-errors-on-open.patch \ %D%/packages/patches/tomb-fix-errors-on-open.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/twinkle-bcg729.patch \
%D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \ %D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \
%D%/packages/patches/u-boot-DT-for-Pinebook-Pro.patch \ %D%/packages/patches/u-boot-DT-for-Pinebook-Pro.patch \
%D%/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch \ %D%/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch \
@ -1579,7 +1583,7 @@ dist_patch_DATA = \
%D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \ %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \
%D%/packages/patches/weasyprint-library-paths.patch \ %D%/packages/patches/weasyprint-library-paths.patch \
%D%/packages/patches/webkitgtk-share-store.patch \ %D%/packages/patches/webkitgtk-share-store.patch \
%D%/packages/patches/websocketpp-fix-for-boost-1.70.patch \ %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
%D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \
%D%/packages/patches/wicd-get-selected-profile-fix.patch \ %D%/packages/patches/wicd-get-selected-profile-fix.patch \
%D%/packages/patches/wicd-urwid-1.3.patch \ %D%/packages/patches/wicd-urwid-1.3.patch \

View file

@ -34,6 +34,7 @@
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -58,6 +59,7 @@
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system ruby)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
@ -121,6 +123,7 @@
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
#:use-module (gnu packages sphinx) #:use-module (gnu packages sphinx)
#:use-module (gnu packages tcl) #:use-module (gnu packages tcl)
#:use-module (gnu packages terminals) #:use-module (gnu packages terminals)
@ -210,7 +213,7 @@ usual file attributes can be checked for inconsistencies.")
(define-public progress (define-public progress
(package (package
(name "progress") (name "progress")
(version "0.14") (version "0.15")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -218,7 +221,7 @@ usual file attributes can be checked for inconsistencies.")
(url "https://github.com/Xfennec/progress.git") (url "https://github.com/Xfennec/progress.git")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 "1lk2v4b767klib93an4g3f7z5qrv9kdk9jf7545vw1immc4kamrl")) (base32 "1cnb4ixlhshn139mj5sr42k5m6gjjbyqvkn1324c47niwrgp7dqm"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
@ -228,8 +231,14 @@ usual file attributes can be checked for inconsistencies.")
`(("ncurses" ,ncurses))) `(("ncurses" ,ncurses)))
(arguments (arguments
`(#:tests? #f ; no test suite `(#:tests? #f ; no test suite
#:make-flags (list "CC=gcc" #:make-flags
(string-append "PREFIX=" (assoc-ref %outputs "out"))) (let ((target ,(%current-target-system)))
(list ,(string-append "CC=" (cc-for-target))
(string-append "PKG_CONFIG="
(if target
(string-append target "-pkg-config")
"pkg-config"))
(string-append "PREFIX=" (assoc-ref %outputs "out"))))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure)))) ; no configure script (delete 'configure)))) ; no configure script
@ -244,14 +253,14 @@ and provides a \"top-like\" mode (monitoring).")
(define-public shepherd (define-public shepherd
(package (package
(name "shepherd") (name "shepherd")
(version "0.8.0") (version "0.8.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/shepherd/shepherd-" (uri (string-append "mirror://gnu/shepherd/shepherd-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"02lbc8z5gd8v8wfi4yh1zww8mk03w0zcwnmk4l4p3vpjlvlb63ll")))) "0x9zr0x3xvk4qkb6jnda451d5iyrl06cz1bjzjsm0lxvjj3fabyk"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '("--localstatedir=/var"))) '(#:configure-flags '("--localstatedir=/var")))
@ -429,6 +438,71 @@ services.")
graphs and can export its output to different formats.") graphs and can export its output to different formats.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public facter
(package
(name "facter")
(version "4.0.26")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/puppetlabs/facter-ng")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0bab3by926gavbhkvp0in82vim575ybj8z6av3b12jdvla1s9rmz"))))
(build-system ruby-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'delete-facter-ng-gemspec
(lambda _
;; XXX: ruby-build-system incorrectly finds
;; facter-ng.gemspec from this directory and tries to
;; build that instead of the proper facter.gemspec.
;; Just delete it as a workaround, as it appears to
;; only exist for backwards-compatibility after the
;; facter-ng->facter rename.
(delete-file "agent/facter-ng.gemspec")
#t))
(add-after 'unpack 'embed-iproute-reference
(lambda* (#:key inputs #:allow-other-keys)
(let ((iproute (assoc-ref inputs "iproute")))
;; Provide an absolute reference to the 'ip' executable
;; to avoid propagating it.
(substitute* "lib/resolvers/networking_linux_resolver.rb"
(("execute\\('ip")
(string-append "execute('" iproute "/sbin/ip")))
#t)))
(delete 'check)
(add-after 'wrap 'check
(lambda* (#:key tests? outputs #:allow-other-keys)
;; XXX: The test suite wants to run Bundler and
;; complains that the gemspec is invalid. For now
;; just make sure that we can run the wrapped
;; executable directly.
(if tests?
(invoke (string-append (assoc-ref outputs "out")
"/bin/facter")
;; Many facts depend on /sys, /etc/os-release,
;; etc, so we only run a small sample.
"facterversion" "architecture"
"kernel" "kernelversion")
(format #t "tests disabled~%"))
#t)))))
(inputs
`(("iproute" ,iproute)
("ruby-hocon" ,ruby-hocon)
("ruby-sys-filesystem" ,ruby-sys-filesystem)
("ruby-thor" ,ruby-thor)))
(synopsis "Collect and display system facts")
(description
"Facter is a tool that gathers basic facts about nodes (systems) such
as hardware details, network settings, OS type and version, and more. These
facts can be collected on the command line with the @command{facter} command
or via the @code{facter} Ruby library.")
(home-page "https://github.com/puppetlabs/facter-ng")
(license license:expat)))
(define-public htop (define-public htop
(package (package
(name "htop") (name "htop")
@ -718,7 +792,7 @@ would need and has several interesting built-in capabilities.")
(define-public netcat-openbsd (define-public netcat-openbsd
(package (package
(name "netcat-openbsd") (name "netcat-openbsd")
(version "1.206-1") (version "1.217-1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -727,14 +801,12 @@ would need and has several interesting built-in capabilities.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"08r3mmck3s5pbvwyq19wp5g8jqcxza3cm8nkc6jm7rqn4jdydc4z")))) "0kcvi3pav2fdx5c22psjv5dggk4cmrqiaq2cklhqngsk4a7vrjan"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no test suite `(#:tests? #f ; no test suite
#:make-flags #:make-flags
(list "CC=gcc" (list "CC=gcc")
(string-append "CFLAGS=-I" (assoc-ref %build-inputs "libbsd") "/include")
"LDFLAGS=-lbsd")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure)
@ -1309,6 +1381,7 @@ system administrator.")
(delete-file-recursively "lib/zlib") (delete-file-recursively "lib/zlib")
#t)))) #t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs (list "out" "python"))
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list (string-append "--docdir=" (assoc-ref %outputs "out") (list (string-append "--docdir=" (assoc-ref %outputs "out")
@ -1366,7 +1439,22 @@ system administrator.")
(substitute* "plugins/sudoers/Makefile.in" (substitute* "plugins/sudoers/Makefile.in"
(("^pre-install:" match) (("^pre-install:" match)
(string-append match "\ndisabled-" match))) (string-append match "\ndisabled-" match)))
#t))) #t))
(add-after 'install 'separate-python-output
(lambda* (#:key target outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(out:python (assoc-ref outputs "python")))
(if target
(mkdir-p (string-append out:python "/empty"))
(for-each
(lambda (file)
(let ((old (string-append out "/" file))
(new (string-append out:python "/" file)))
(mkdir-p (dirname new))
(rename-file old new)))
(list "libexec/sudo/python_plugin.so"
"libexec/sudo/python_plugin.la")))
#t))))
;; XXX: The 'testsudoers' test series expects user 'root' to exist, but ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
;; the chroot's /etc/passwd doesn't have it. Turn off the tests. ;; the chroot's /etc/passwd doesn't have it. Turn off the tests.
@ -1391,6 +1479,54 @@ commands and their arguments.")
;; See <http://www.sudo.ws/sudo/license.html>. ;; See <http://www.sudo.ws/sudo/license.html>.
(license license:x11))) (license license:x11)))
(define-public opendoas
(package
(name "opendoas")
(version "6.6.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Duncaen/OpenDoas.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"07kkc5729p654jrgfsc8zyhiwicgmq38yacmwfvay2b3gmy728zn"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
;; The configure script doesn't accept most of the default flags.
(lambda* (#:key configure-flags #:allow-other-keys)
;; The configure script can only be told which compiler to use
;; through environment variables.
(setenv "CC" ,(cc-for-target))
(apply invoke "./configure" configure-flags)))
(add-before 'install 'fix-makefile
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "bsd.prog.mk"
(("^\tchown.*$") ""))
#t)))
#:configure-flags
(list (string-append "--prefix=" (assoc-ref %outputs "out"))
;; Nothing is done with this value (yet?) but it's supported.
;; (string-append "--target=" (or ,(%current-target-system) ""))
"--with-timestamp")
;; Compiler choice is not carried over from the configure script.
#:make-flags
(list (string-append "CC=" ,(cc-for-target)))
#:tests? #f)) ; no test suite
(native-inputs
`(("bison" ,bison)))
(home-page "https://github.com/Duncaen/OpenDoas")
(synopsis "Portable version of OpenBSD's doas command")
(description "Doas is a minimal replacement for the venerable sudo. It was
initially written by Ted Unangst of the OpenBSD project to provide 95% of the
features of sudo with a fraction of the codebase.")
(license (list license:bsd-3 ; libbsd/*
license:isc)))) ; everything else
(define-public wpa-supplicant-minimal (define-public wpa-supplicant-minimal
(package (package
(name "wpa-supplicant-minimal") (name "wpa-supplicant-minimal")
@ -1691,7 +1827,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
(define-public acpica (define-public acpica
(package (package
(name "acpica") (name "acpica")
(version "20200430") (version "20200528")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1699,7 +1835,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1hiaz9lrmjzdbi5zl0ajfflja41cixzx2j76iyx02qbjlmy9cfjc")))) "01ajxnz9dpnvdbib7yv20dw21a1yyfgwiw3whg0xi57cf4app2md"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("flex" ,flex) (native-inputs `(("flex" ,flex)
("bison" ,bison))) ("bison" ,bison)))
@ -2027,13 +2163,13 @@ of supported upstream metrics systems simultaneously.")
(define-public ansible (define-public ansible
(package (package
(name "ansible") (name "ansible")
(version "2.9.6") (version "2.9.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "ansible" version)) (uri (pypi-uri "ansible" version))
(sha256 (sha256
(base32 "1jfbp1i3nl4yvqwd5ssy43dz3pq2x03mn875vb8r56gqh43kmksr")))) (base32 "1l99vwkl48iwr8ffd1ihqia995mz8h8hwk4akm4w0cgiifp88gg8"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-bcrypt" ,python-bcrypt) `(("python-bcrypt" ,python-bcrypt)
@ -2629,13 +2765,13 @@ a new command using the matched rule, and runs it.")
(define-public di (define-public di
(package (package
(name "di") (name "di")
(version "4.47.3") (version "4.48")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://gentoo.com/di/di-" version ".tar.gz")) (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
(sha256 (sha256
(base32 "0m4npba50sf5s61g5z3xd2r7937zwja941f2h3f081xi24c2hfck")))) (base32 "0crvvfsxh8ryc0j19a2x52i9zacvggm8zi6j3kzygkcwnpz4km8r"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; obscure test failures `(#:tests? #f ; obscure test failures
@ -2644,7 +2780,7 @@ a new command using the matched rule, and runs it.")
(delete 'configure) ; no configure script (delete 'configure) ; no configure script
(add-before 'build 'setup-environment (add-before 'build 'setup-environment
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(setenv "CC" "gcc") (setenv "CC" ,(cc-for-target))
(setenv "prefix" (assoc-ref outputs "out")) (setenv "prefix" (assoc-ref outputs "out"))
#t))) #t)))
#:make-flags (list "--environment-overrides"))) #:make-flags (list "--environment-overrides")))
@ -3118,14 +3254,14 @@ everyone's screenshots nowadays.")
(define-public nnn (define-public nnn
(package (package
(name "nnn") (name "nnn")
(version "2.8.1") (version "3.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/jarun/nnn/releases/download/v" (uri (string-append "https://github.com/jarun/nnn/releases/download/v"
version "/nnn-v" version ".tar.gz")) version "/nnn-v" version ".tar.gz"))
(sha256 (sha256
(base32 "1g47bndxld875d0xb3pgmlw223mz47p1xcvwym861y6l4zkgiyp0")))) (base32 "1zflz7yj5wzdnl0728g8qrld2z6dqn7sblbmkjvyqlv1fwjd1fsf"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("ncurses" ,ncurses) `(("ncurses" ,ncurses)
@ -3336,7 +3472,7 @@ Python loading in HPC environments.")
(let ((real-name "inxi")) (let ((real-name "inxi"))
(package (package
(name "inxi-minimal") (name "inxi-minimal")
(version "3.0.38-1") (version "3.1.01-1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3345,7 +3481,7 @@ Python loading in HPC environments.")
(commit version))) (commit version)))
(file-name (git-file-name real-name version)) (file-name (git-file-name real-name version))
(sha256 (sha256
(base32 "1qw3sxgd3ly916bzzl3873s3flngwd3vh57slw0shsj7ivz8bfnm")))) (base32 "0r204w0r06ibdr4dck7yw2nmvj7xq68bjr7xwwiy7liqdml0n0yc"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(inputs (inputs
`(("bash" ,bash-minimal) `(("bash" ,bash-minimal)

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; ;;;
@ -25,22 +25,23 @@
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages m4)
#:use-module (gnu packages pkg-config)) #:use-module (gnu packages pkg-config))
(define-public adns (define-public adns
(package (package
(name "adns") (name "adns")
(version "1.5.1") (version "1.6.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "mirror://gnu/adns/adns-" (uri (list (string-append "mirror://gnu/adns/adns-"
version ".tar.gz") version ".tar.gz")
(string-append (string-append
"http://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-" "https://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-"
version ".tar.gz"))) version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"1ssfh94ck6kn98nf2yy6743srpgqgd167va5ja3bwx42igqjc42v")))) "1pi0xl07pav4zm2jrbrfpv43s1r1q1y12awgak8k7q41m5jp4hpv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; Make sure the programs under bin/ fine libadns.so. ;; Make sure the programs under bin/ fine libadns.so.
@ -50,6 +51,8 @@
;; XXX: Tests expect real name resolution to work. ;; XXX: Tests expect real name resolution to work.
#:tests? #f)) #:tests? #f))
(native-inputs
`(("m4" ,m4)))
(home-page "https://www.gnu.org/software/adns/") (home-page "https://www.gnu.org/software/adns/")
(synopsis "Asynchronous DNS client library and utilities") (synopsis "Asynchronous DNS client library and utilities")
(description (description

View file

@ -609,7 +609,7 @@ matrices, and polynomials over the integers and over finite fields.")
(define-public singular (define-public singular
(package (package
(name "singular") (name "singular")
(version "4.1.2p1") (version "4.1.3p2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -623,7 +623,7 @@ matrices, and polynomials over the integers and over finite fields.")
#\.) "-") #\.) "-")
"/singular-" version ".tar.gz")) "/singular-" version ".tar.gz"))
(sha256 (base32 (sha256 (base32
"0kvd55353fiqyq1msmi0kka66n5h0aqs7m3km60r01b1w2f8085m")))) "1524yrni7gh0hir5ckridq671q5s6avfjdsdyahj51kzdl3wcypf"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("doxygen" ,doxygen) `(("doxygen" ,doxygen)

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
@ -111,7 +111,7 @@ dictionaries, including personal ones.")
(uri (string-append "mirror://gnu/aspell/dict/" dict-name (uri (string-append "mirror://gnu/aspell/dict/" dict-name
"/" prefix dict-name "-" "/" prefix dict-name "-"
version ".tar.bz2")) version ".tar.bz2"))
(sha256 sha256))) (hash (content-hash sha256))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -163,7 +163,7 @@ dictionaries, including personal ones.")
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.softcatala.org/pub/softcatala/aspell/" (uri (string-append "https://www.softcatala.org/pub/softcatala/aspell/"
version "/aspell6-ca-" version ".tar.bz2")) version "/aspell6-ca-" version ".tar.bz2"))
(sha256 sha256))) (hash (content-hash sha256))))
(home-page "https://www.softcatala.org/pub/softcatala/aspell/")))) (home-page "https://www.softcatala.org/pub/softcatala/aspell/"))))
(define-public aspell-dict-de (define-public aspell-dict-de
@ -264,7 +264,7 @@ dictionaries, including personal ones.")
(uri (string-append "mirror://sourceforge/linguistico/" (uri (string-append "mirror://sourceforge/linguistico/"
"Dizionario%20italiano%20per%20Aspell/" version "/" "Dizionario%20italiano%20per%20Aspell/" version "/"
"aspell6-it-" version ".tar.bz2")) "aspell6-it-" version ".tar.bz2"))
(sha256 sha256))) (hash (content-hash sha256))))
(home-page (home-page
"http://linguistico.sourceforge.net/pages/dizionario_italiano.html")))) "http://linguistico.sourceforge.net/pages/dizionario_italiano.html"))))

View file

@ -149,14 +149,14 @@ to the clients.")
(define-public fasm (define-public fasm
(package (package
(name "fasm") (name "fasm")
(version "1.73.22") (version "1.73.24")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://flatassembler.net/fasm-" (uri (string-append "https://flatassembler.net/fasm-"
version ".tgz")) version ".tgz"))
(sha256 (sha256
(base32 "1pb0rcfdsb0h89khjjrbikz5wjdllavj3ajim0rcyh7x12xr1hw5")))) (base32 "142vxhs8mh8isvlzq7ir0asmqda410phzxmk9gk9b43dldskkj7k"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no tests exist `(#:tests? #f ; no tests exist
@ -347,14 +347,14 @@ Supported architectures are:
(define-public xa (define-public xa
(package (package
(name "xa") (name "xa")
(version "2.3.10") (version "2.3.11")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.floodgap.com/retrotech/xa" (uri (string-append "https://www.floodgap.com/retrotech/xa"
"/dists/xa-" version ".tar.gz")) "/dists/xa-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0y5sd247g11jfk5msxy91hz2nhpy7smj125dzfyfhjsjnqk5nyw6")))) "0b81r7mvzqxgnbbmhixcnrf9nc72v1nqaw19k67221g3k561dwij"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; TODO: custom test harness, not sure how it works `(#:tests? #f ; TODO: custom test harness, not sure how it works

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 by Amar Singh <nly@disroot.org> ;;; Copyright © 2019 by Amar Singh <nly@disroot.org>
;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in> ;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
@ -128,7 +128,7 @@ header.")
(define-public gnuastro (define-public gnuastro
(package (package
(name "gnuastro") (name "gnuastro")
(version "0.11") (version "0.12")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -136,7 +136,10 @@ header.")
version ".tar.lz")) version ".tar.lz"))
(sha256 (sha256
(base32 (base32
"0c1yc2qb7vrqad96savfn06rn01izlfz0va738signv93qqj5k3v")))) "0ypk1c72q778cixfa52vjxzbd5m4qc6hfjgnipy16sfa7mnspmyf"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
(inputs (inputs
`(("cfitsio" ,cfitsio) `(("cfitsio" ,cfitsio)
("gsl" ,gsl) ("gsl" ,gsl)
@ -147,7 +150,6 @@ header.")
(native-inputs (native-inputs
`(("libtool" ,libtool) `(("libtool" ,libtool)
("lzip" ,lzip))) ("lzip" ,lzip)))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/gnuastro/") (home-page "https://www.gnu.org/software/gnuastro/")
(synopsis "Astronomy utilities") (synopsis "Astronomy utilities")
(description "The GNU Astronomy Utilities (Gnuastro) is a suite of (description "The GNU Astronomy Utilities (Gnuastro) is a suite of

View file

@ -175,7 +175,9 @@ implementation of Adaptive Multi Rate Narrowband and Wideband
"/" version "/ams-" version ".tar.bz2")) "/" version "/ams-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0")))) "1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0"))
(patches
(search-patches "alsa-modular-synth-fix-vocoder.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -183,6 +185,17 @@ implementation of Adaptive Multi Rate Narrowband and Wideband
"CXXFLAGS=-std=gnu++11") "CXXFLAGS=-std=gnu++11")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'set-paths 'hide-default-gcc
(lambda* (#:key inputs #:allow-other-keys)
(let ((gcc (assoc-ref inputs "gcc")))
;; Remove the default GCC from CPLUS_INCLUDE_PATH to prevent
;; conflicts with the GCC 5 input.
(setenv "CPLUS_INCLUDE_PATH"
(string-join
(delete (string-append gcc "/include/c++")
(string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
":"))
#t)))
;; Insert an extra space between linker flags. ;; Insert an extra space between linker flags.
(add-before 'configure 'add-missing-space (add-before 'configure 'add-missing-space
(lambda _ (lambda _
@ -203,7 +216,7 @@ implementation of Adaptive Multi Rate Narrowband and Wideband
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
("qttools" ,qttools) ("qttools" ,qttools)
("gcc" ,gcc-5))) ("gcc@5" ,gcc-5)))
(home-page "http://alsamodular.sourceforge.net/") (home-page "http://alsamodular.sourceforge.net/")
(synopsis "Realtime modular synthesizer and effect processor") (synopsis "Realtime modular synthesizer and effect processor")
(description (description
@ -851,30 +864,30 @@ emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.")
(define-public csound (define-public csound
(package (package
(name "csound") (name "csound")
(version "6.13.0") (version "6.14.0")
(source (origin (source
(method git-fetch) (origin
(uri (git-reference (method git-fetch)
(url "https://github.com/csound/csound.git") (uri (git-reference
(commit version))) (url "https://github.com/csound/csound.git")
(file-name (git-file-name name version)) (commit version)))
(sha256 (file-name (git-file-name name version))
(base32 (sha256
"14822ybqyp31z18gky2y9zadr9dkbhabg97y139py73w7v3af1bh")))) (base32 "1sr9knfhbm2m0wpkjq2l5n471vnl51wy4p6j4m95zqybimzb4s2j"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
("pulseaudio" ,pulseaudio)
("libsndfile" ,libsndfile)
("liblo" ,liblo)
("ladspa" ,ladspa)
("jack" ,jack-1)
("gettext" ,gettext-minimal)))
(native-inputs (native-inputs
`(("bison" ,bison) `(("bison" ,bison)
("flex" ,flex) ("flex" ,flex)
("gettext" ,gettext-minimal)
("zlib" ,zlib))) ("zlib" ,zlib)))
(inputs
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
("jack" ,jack-1)
("ladspa" ,ladspa)
("liblo" ,liblo)
("libsndfile" ,libsndfile)
("pulseaudio" ,pulseaudio)))
(home-page "https://csound.com/") (home-page "https://csound.com/")
(synopsis "Sound and music computing system") (synopsis "Sound and music computing system")
(description (description
@ -1242,7 +1255,7 @@ follower.")
(define-public fluidsynth (define-public fluidsynth
(package (package
(name "fluidsynth") (name "fluidsynth")
(version "2.1.2") (version "2.1.3")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1251,7 +1264,7 @@ follower.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0pf8hjn15isf772nz8qcqja700aay8nhdwmr24djkj42c7chf96j")))) "0dv6jprz2bzasvk91x2rv2pqyyvxkc72s4r6vsqw723a3kqa5bhc"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f ; no check target '(#:tests? #f ; no check target
@ -1961,14 +1974,14 @@ included are the command line utilities @code{send_osc} and @code{dump_osc}.")
(define-public lilv (define-public lilv
(package (package
(name "lilv") (name "lilv")
(version "0.24.6") (version "0.24.8")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.drobilla.net/lilv-" (uri (string-append "https://download.drobilla.net/lilv-"
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1p3hafsxgs5d4za7n66lf5nz74qssfqpmk520cm7iq2njvvlqm2z")))) "0063i5zgf3d3accwmyx651hw0wh5ik7kji2hvfkcdbl1qia3dp6a"))))
(build-system waf-build-system) (build-system waf-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
@ -2191,7 +2204,7 @@ buffers, and audio capture.")
(define-public patchage (define-public patchage
(package (package
(name "patchage") (name "patchage")
(version "1.0.0") (version "1.0.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.drobilla.net/patchage-" (uri (string-append "https://download.drobilla.net/patchage-"
@ -2199,10 +2212,10 @@ buffers, and audio capture.")
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb")))) "0dk3fiac10m83mwss3026yz7ygc47c2iw924cwwnh2fyydc9bsy6"))))
(build-system waf-build-system) (build-system waf-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
#:python ,python-2)) #:python ,python-2))
(inputs (inputs
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)
@ -3373,17 +3386,18 @@ with support for HD extensions.")
(define-public bs1770gain (define-public bs1770gain
(package (package
(name "bs1770gain") (name "bs1770gain")
(version "0.6.7") (version "0.7.0")
(home-page "https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/bs1770gain/bs1770gain/" (uri (string-append "mirror://sourceforge/bs1770gain/bs1770gain/"
version "/bs1770gain-" version ".tar.gz")) version "/bs1770gain-" version ".tar.gz"))
(sha256 (sha256
(base32 "13hsbqj1dkpz1gbclnjxv50kr7b4gcjai6c1l38g01433h217qjc")) (base32 "0a2dcaxvxy5m3a5sb1lhplsymvz3ypaiidc5xn9qy01h53zvyvkp"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin `(begin
;; XXX ;; XXX
(substitute* (find-files "." "\\.[ch]$") (substitute* (find-files "." "\\.[ch]$")
(("^ \\* N..o.*") "")) (("^ \\* N..o.*") ""))
@ -3395,12 +3409,11 @@ with support for HD extensions.")
"configure.ac" "configure.ac"
"configure") "configure")
(("https?://bs1770gain[^/]*/") (("https?://bs1770gain[^/]*/")
"https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html")) ,home-page))
#t)))) #t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("ffmpeg" ,ffmpeg) (inputs `(("ffmpeg" ,ffmpeg)
("sox" ,sox))) ("sox" ,sox)))
(home-page "https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html")
(synopsis "Tool to adjust loudness of media files") (synopsis "Tool to adjust loudness of media files")
(description (description
"BS1770GAIN is a loudness scanner compliant with ITU-R BS.1770 and its "BS1770GAIN is a loudness scanner compliant with ITU-R BS.1770 and its
@ -3573,14 +3586,14 @@ on the ALSA software PCM plugin.")
(define-public snd (define-public snd
(package (package
(name "snd") (name "snd")
(version "19.9") (version "20.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/" (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
"snd-" version ".tar.gz")) "snd-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"13s8fahpsjygjdrcwmprcrz23ny3klaj2rh2xzdv3bfs69gxvhys")))) "0irdizlng2s3akmxdbfxcbd93bbjz9543nh7fisszim6v0ks59d9"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
`(#:tests? #f ; no tests `(#:tests? #f ; no tests
@ -3930,15 +3943,15 @@ other Gnaural instances, allowing synchronous sessions between many users.")
(define-public darkice (define-public darkice
(package (package
(name "darkice") (name "darkice")
(version "1.3") (version "1.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/darkice/darkice/" (uri (string-append "https://github.com/rafael2k/darkice/releases/"
version "/darkice-" version ".tar.gz")) "download/v" version "/darkice-"
version ".tar.gz"))
(sha256 (sha256
(base32 "1rlxds7ssq7nk2in4s46xws7xy9ylxsqgcz85hxjgh17lsm0y39c")) (base32
(patches "05yq7lggxygrkd76yiqby3msrgdn082p0qlvmzzv9xbw8hmyra76"))))
(search-patches "darkice-workaround-fpermissive-error.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config))) (native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("lame" ,lame) (inputs `(("lame" ,lame)
@ -3988,7 +4001,7 @@ stream to one or more IceCast and/or ShoutCast servers.")
(define-public redkite (define-public redkite
(package (package
(name "redkite") (name "redkite")
(version "0.8.0") (version "0.8.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3997,8 +4010,7 @@ stream to one or more IceCast and/or ShoutCast servers.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "17kv2jc4jvn3sdicz3sf8dnf25wbvv7ijzkr0mm0sbrrjz6vrwz0"))))
"1747w1kg8y9jbl11xi018d85dm38xk7843pz26sh0k5fdv87a10q"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ;no tests included `(#:tests? #f)) ;no tests included

View file

@ -16,6 +16,7 @@
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -562,14 +563,13 @@ detection, and lossless compression.")
(define-public borg (define-public borg
(package (package
(name "borg") (name "borg")
(version "1.1.11") (version "1.1.13")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "borgbackup" version)) (uri (pypi-uri "borgbackup" version))
(sha256 (sha256
(base32 (base32 "089q3flmwbz7dc28zlscwylf64kgck3jf1n6lqpwww8hlrk8cjhn"))
"190gjzx83b6p64nqj840x382dgz9gfv0gm7wj585lnkrpa90j29n"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -652,7 +652,8 @@ detection, and lossless compression.")
;; These tests assume the kernel supports FUSE. ;; These tests assume the kernel supports FUSE.
"and not test_fuse " "and not test_fuse "
"and not test_fuse_allow_damaged_files " "and not test_fuse_allow_damaged_files "
"and not test_mount_hardlinks"))))) "and not test_mount_hardlinks "
"and not test_readonly_mount ")))))
(add-after 'install 'install-doc (add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -736,14 +737,14 @@ changes are stored.")
(define-public wimlib (define-public wimlib
(package (package
(name "wimlib") (name "wimlib")
(version "1.13.1") (version "1.13.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://wimlib.net/downloads/" (uri (string-append "https://wimlib.net/downloads/"
"wimlib-" version ".tar.gz")) "wimlib-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0pxgrpr3dr81rcf2jh71aiiq3v4anc5sj1nld18f2vhvbijbrx27")))) "0id9ym3hzij4kpdrk0sz3ijxp5r0z1md5jch83pml9hdy1zbx5bj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -1026,17 +1027,53 @@ stored previously can be read back in full at any time. The program
is format-agnostic, so you can feed virtually any files to it.") is format-agnostic, so you can feed virtually any files to it.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public dump
(package
(name "dump")
(version "0.4b46")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/dump/dump/"
version "/dump-" version ".tar.gz"))
(sha256
(base32
"15rg5y15ak0ppqlhcih78layvg7cwp6hc16p3c58xs8svlkxjqc0"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
`("--sysconfdir=/etc"
"--disable-readline"
"--disable-rmt")))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("openssl" ,openssl-1.0)
("zlib" ,zlib)
("util-linux" ,util-linux "lib")
("e2fsprogs" ,e2fsprogs)))
(home-page "https://dump.sourceforge.io/")
(synopsis "Ext2/3/4 filesystem dump/restore utilities")
(description "Dump examines files in a filesystem, determines which ones
need to be backed up, and copies those files to a specified disk, tape or
other storage medium. Subsequent incremental backups can then be layered on
top of the full backup. The restore command performs the inverse function of
dump; it can restore a full backup of a filesystem. Single files and
directory subtrees may also be restored from full or partial backups in
interractive mode.")
(license license:bsd-3)))
(define-public burp (define-public burp
(package (package
(name "burp") (name "burp")
(version "2.3.24") (version "2.3.28")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/burp/burp-" version (uri (string-append "mirror://sourceforge/burp/burp-" version
"/burp-" version ".tar.bz2")) "/burp-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0dmahqx8ldqdrx9b47r7ag3m801n7h3kclcqja1cc1jzhfhfq27w")))) "18f8cjsb87skabvz4cl5pdln35qmim7x686js1xzpld6wyl9kv2k"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -1351,7 +1351,7 @@ command.")
(define-public tzdata (define-public tzdata
(package (package
(name "tzdata") (name "tzdata")
(version "2019c") (version "2020a")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1359,7 +1359,7 @@ command.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr")))) "18lrp0zh8m931jjlrv8lvjas4ka5dfkzdbwnbw5lwd2dlbn62wal"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f '(#:tests? #f
@ -1409,7 +1409,7 @@ command.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn")))))) "0sfnlqw1p93r7klny69rwr94fh22mz632h52phgzfgg01q9gfakx"))))))
(home-page "https://www.iana.org/time-zones") (home-page "https://www.iana.org/time-zones")
(synopsis "Database of current and historical time zones") (synopsis "Database of current and historical time zones")
(description "The Time Zone Database (often called tz or zoneinfo) (description "The Time Zone Database (often called tz or zoneinfo)
@ -1426,7 +1426,26 @@ and daylight-saving rules.")
;;; package. ;;; package.
(define-public tzdata-for-tests (define-public tzdata-for-tests
(hidden-package (hidden-package
(package/inherit tzdata))) (package
(inherit tzdata)
(version "2019c")
(source (origin
(method url-fetch)
(uri (string-append
"https://data.iana.org/time-zones/releases/tzdata"
version ".tar.gz"))
(sha256
(base32
"0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr"))))
(inputs
`(("tzcode" ,(origin
(method url-fetch)
(uri (string-append
"https://data.iana.org/time-zones/releases/tzcode"
version ".tar.gz"))
(sha256
(base32
"1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn")))))))))
(define-public libiconv (define-public libiconv
(package (package

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
@ -38,8 +38,11 @@
#:use-module (guix store) #:use-module (guix store)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:autoload (guix gnupg) (gnupg-verify*) #:autoload (guix gnupg) (gnupg-verify*)
#:autoload (gcrypt hash) (port-sha256)
#:autoload (guix base32) (bytevector->nix-base32-string) #:autoload (guix base32) (bytevector->nix-base32-string)
;; See <https://bugs.gnu.org/41457> for why not #:autoload here.
#:use-module ((gcrypt hash) #:select (port-sha256))
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (ice-9 format)) #:use-module (ice-9 format))
@ -48,12 +51,12 @@
"Return the URL of Bash patch number SEQNO." "Return the URL of Bash patch number SEQNO."
(format #f "mirror://gnu/bash/bash-5.0-patches/bash50-~3,'0d" seqno)) (format #f "mirror://gnu/bash/bash-5.0-patches/bash50-~3,'0d" seqno))
(define (bash-patch seqno sha256) (define (bash-patch seqno sha256-bv)
"Return the origin of Bash patch SEQNO, with expected hash SHA256" "Return the origin of Bash patch SEQNO, with expected hash SHA256-BV."
(origin (origin
(method url-fetch) (method url-fetch)
(uri (patch-url seqno)) (uri (patch-url seqno))
(sha256 sha256))) (sha256 sha256-bv)))
(define-syntax-rule (patch-series (seqno hash) ...) (define-syntax-rule (patch-series (seqno hash) ...)
(list (bash-patch seqno (base32 hash)) (list (bash-patch seqno (base32 hash))

View file

@ -46,14 +46,14 @@
(define-public fio (define-public fio
(package (package
(name "fio") (name "fio")
(version "3.19") (version "3.20")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://brick.kernel.dk/snaps/" (uri (string-append "https://brick.kernel.dk/snaps/"
"fio-" version ".tar.bz2")) "fio-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"01nc7igmcc6hda32d1y8vidd9x9pdlxvf3i1pwrzvmi6xvmbfvab")))) "1mwqafn81a9pxy2kw9rl4p3r2brhg2ckwrcwzy0q4gffxgn3k9c7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:test-target "test" '(#:test-target "test"

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -73,6 +73,7 @@
(uri (string-append (uri (string-append
"https://github.com/transmission/transmission-releases/raw/" "https://github.com/transmission/transmission-releases/raw/"
"master/transmission-" version ".tar.xz")) "master/transmission-" version ".tar.xz"))
(patches (search-patches "transmission-CVE-2018-10756.patch"))
(sha256 (sha256
(base32 (base32
"0zbbj7rlm6m7vb64x68a64cwmijhsrwx9l63hbwqs7zr9742qi1m")))) "0zbbj7rlm6m7vb64x68a64cwmijhsrwx9l63hbwqs7zr9742qi1m"))))
@ -314,15 +315,15 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
(define-public uget (define-public uget
(package (package
(name "uget") (name "uget")
(version "2.0.8") (version "2.2.0")
(source (origin (source
(method url-fetch) (origin
(uri (string-append "mirror://sourceforge/urlget/" (method url-fetch)
"uget%20%28stable%29/" version "/uget-" (uri (string-append "mirror://sourceforge/urlget/"
version ".tar.gz")) "uget%20%28stable%29/" version "/uget-"
(sha256 version ".tar.gz"))
(base32 (sha256
"0919cf7lfk1djdl003cahqjvafdliv7v2l8r5wg95n4isqggdk75")))) (base32 "0rg2mr2cndxvnjib8zm5dp7y2hgbvnqkz2j2jmg0xlzfh9d34b2m"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("curl" ,curl) `(("curl" ,curl)
@ -336,7 +337,7 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
(native-inputs (native-inputs
`(("intltool" ,intltool) `(("intltool" ,intltool)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(home-page "http://ugetdm.com/") (home-page "https://ugetdm.com/")
(synopsis "Universal download manager with GTK+ interface") (synopsis "Universal download manager with GTK+ interface")
(description (description
"uGet is portable download manager with GTK+ interface supporting "uGet is portable download manager with GTK+ interface supporting

View file

@ -13,6 +13,7 @@
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -241,12 +242,40 @@ across a broad spectrum of applications.")
(arguments (substitute-keyword-arguments (package-arguments boost) (arguments (substitute-keyword-arguments (package-arguments boost)
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases `(modify-phases ,phases
;; This was removed after boost-1.67. (replace 'configure
(add-before 'configure 'more-bin-sh-patching (lambda* (#:key inputs outputs #:allow-other-keys)
(lambda _ (let ((icu (assoc-ref inputs "icu4c"))
(substitute* "tools/build/doc/bjam.qbk" (out (assoc-ref outputs "out")))
(("/bin/sh") (which "sh"))))) (substitute* (append
(delete 'provide-libboost_python))))) (find-files "tools/build/src/engine/" "execunix\\.c.*")
'("libs/config/configure"
"libs/spirit/classic/phoenix/test/runtest.sh"
"tools/build/doc/bjam.qbk"
"tools/build/src/engine/Jambase"))
(("/bin/sh") (which "sh")))
(setenv "SHELL" (which "sh"))
(setenv "CONFIG_SHELL" (which "sh"))
,@(if (%current-target-system)
`((call-with-output-file "user-config.jam"
(lambda (port)
(format port
"using gcc : cross : ~a-c++ ;"
,(%current-target-system)))))
'())
(invoke "./bootstrap.sh"
(string-append "--prefix=" out)
;; Auto-detection looks for ICU only in traditional
;; install locations.
(string-append "--with-icu=" icu)
"--with-toolset=gcc"))))
(delete 'provide-libboost_python)))
((#:make-flags make-flags)
`(cons* "--without-python" ,make-flags))))
(native-inputs
(alist-delete "python" (package-native-inputs boost)))
(properties '((hidden? . #t))))) (properties '((hidden? . #t)))))
(define-public boost-sync (define-public boost-sync
@ -293,7 +322,7 @@ Boost.Thread.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1nayaqshhzr1n6jj43bpvvay36d5gn075h0b95psii5x8ingszdk")))) "13i5j43nggb46i6qpaf7gk53i7zp7pimphl7sydyfqz2m9yx5cdy"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))

View file

@ -7,7 +7,7 @@
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016, 2017 David Craven <david@craven.ch> ;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 nee <nee@cock.li> ;;; Copyright © 2019 nee <nee@cock.li>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
@ -96,6 +96,7 @@
"0zgp5m3hmc9jh8wpjx6czzkh5id2y8n1k823x2mjvm2sk6b28ag5")) "0zgp5m3hmc9jh8wpjx6czzkh5id2y8n1k823x2mjvm2sk6b28ag5"))
(patches (search-patches (patches (search-patches
"grub-efi-fat-serial-number.patch" "grub-efi-fat-serial-number.patch"
"grub-setup-root.patch"
"grub-verifiers-Blocklist-fallout-cleanup.patch")))) "grub-verifiers-Blocklist-fallout-cleanup.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -1016,7 +1017,8 @@ tools, and more.")
(guix build utils) (guix build utils)
(ice-9 regex) ; for string-match (ice-9 regex) ; for string-match
(srfi srfi-26)) ; for cut (srfi srfi-26)) ; for cut
#:make-flags (list "CC=gcc") #:make-flags
(list ,(string-append "CC=" (cc-for-target)))
#:tests? #f ; no tests #:tests? #f ; no tests
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases

View file

@ -1,9 +1,10 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018, 2019 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2018, 2019 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2019 Carl Dong <contact@carldong.me> ;;; Copyright © 2019 Carl Dong <contact@carldong.me>
;;; Copyright © 2019 Léo Le Bouter <lle-bout@zaclys.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -151,14 +152,14 @@ built for SYSTEM."
(format #f (G_ "could not find bootstrap binary '~a' \ (format #f (G_ "could not find bootstrap binary '~a' \
for system '~a'") for system '~a'")
program system)))))) program system))))))
((sha256) ((bv)
(origin (origin
(method url-fetch/executable) (method url-fetch/executable)
(uri (map (cute string-append <> (uri (map (cute string-append <>
(bootstrap-executable-file-name system program)) (bootstrap-executable-file-name system program))
%bootstrap-executable-base-urls)) %bootstrap-executable-base-urls))
(file-name program) (file-name program)
(sha256 sha256))))))) (hash (content-hash bv sha256))))))))
;;; ;;;
@ -285,6 +286,7 @@ or false to signal an error."
((string=? system "i686-gnu") "/lib/ld.so.1") ((string=? system "i686-gnu") "/lib/ld.so.1")
((string=? system "aarch64-linux") "/lib/ld-linux-aarch64.so.1") ((string=? system "aarch64-linux") "/lib/ld-linux-aarch64.so.1")
((string=? system "powerpc-linux") "/lib/ld.so.1") ((string=? system "powerpc-linux") "/lib/ld.so.1")
((string=? system "powerpc64-linux") "/lib/ld64.so.1")
((string=? system "powerpc64le-linux") "/lib/ld64.so.2") ((string=? system "powerpc64le-linux") "/lib/ld64.so.2")
((string=? system "alpha-linux") "/lib/ld-linux.so.2") ((string=? system "alpha-linux") "/lib/ld-linux.so.2")
((string=? system "s390x-linux") "/lib/ld64.so.1") ((string=? system "s390x-linux") "/lib/ld64.so.1")

View file

@ -9,6 +9,7 @@
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -33,12 +34,14 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
#:use-module (gnu packages package-management) #:use-module (gnu packages package-management)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-crypto) #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages ninja) #:use-module (gnu packages ninja)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python)) #:use-module (guix build-system python))
@ -310,3 +313,38 @@ Service. It allows you to checkout, commit, perform reviews etc. The vast
majority of the OBS functionality is available via commands and the rest can majority of the OBS functionality is available via commands and the rest can
be reached via direct API calls.") be reached via direct API calls.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public compiledb
(package
(name "compiledb")
(version "0.10.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "compiledb" version))
(sha256
(base32 "0vlngsdxfakyl8b7rnvn8h3l216lhbrrydr04yhy6kd03zflgfq6"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'no-compat-shim-dependency
;; shutilwhich is only needed for python 3.3 and earlier
(lambda _
(substitute* "setup.py" (("^ *'shutilwhich'\n") ""))
(substitute* "compiledb/compiler.py" (("shutilwhich") "shutil")))))))
(propagated-inputs
`(("python-bashlex" ,python-bashlex)
("python-click" ,python-click)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page
"https://github.com/nickdiego/compiledb")
(synopsis
"Generate Clang JSON Compilation Database files for make-based build systems")
(description
"@code{compiledb} provides a @code{make} python wrapper script which,
besides executing the make build command, updates the JSON compilation
database file corresponding to that build, resulting in a command-line
interface similar to Bear.")
(license license:gpl3)))

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org> ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -32,7 +32,7 @@
(define-public busybox (define-public busybox
(package (package
(name "busybox") (name "busybox")
(version "1.29.3") (version "1.31.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -40,11 +40,18 @@
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1dzg45vgy2w1xcd3p6h8d76ykhabbvk1h0lf8yb24ikrwlv8cr4p")))) "1659aabzp8w4hayr4z8kcpbk2z1q2wqhw7i1yb0l72b45ykl1yfh"))
(patches
(search-patches
"busybox-1.31.1-fix-build-with-glibc-2.31.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'disable-timestamps
(lambda _
(setenv "KCONFIG_NOTIMESTAMP" "1")
#t))
(add-before 'configure 'disable-taskset (add-before 'configure 'disable-taskset
;; This feature fails its tests in the build environment, ;; This feature fails its tests in the build environment,
;; was default 'n' until after 1.26.2. ;; was default 'n' until after 1.26.2.
@ -75,6 +82,9 @@
(substitute* "testsuite/date/date-works-1" (substitute* "testsuite/date/date-works-1"
(("/bin/date") (which "date"))) (("/bin/date") (which "date")))
(substitute* "testsuite/start-stop-daemon.tests"
(("/bin/false") (which "false")))
;; The pidof tests assume that pid 1 is called "init" but that is not ;; The pidof tests assume that pid 1 is called "init" but that is not
;; true in guix build environment ;; true in guix build environment
(substitute* "testsuite/pidof.tests" (substitute* "testsuite/pidof.tests"
@ -113,7 +123,7 @@ any small or embedded system.")
(define-public toybox (define-public toybox
(package (package
(name "toybox") (name "toybox")
(version "0.8.2") (version "0.8.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -121,7 +131,7 @@ any small or embedded system.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1mgya8zxgf30i5w3rhsb3n70kwlhifxbajh6wqdsz6rf8kx609ws")))) "00aw9d809wj1bqlb2fsssdgz7rj0363ya14py0gfdm0rkp98zcpa"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases

View file

@ -7,6 +7,8 @@
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright @ 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -40,6 +42,7 @@
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
@ -235,15 +238,14 @@ whose behaviour is inconsistent across *NIX flavours.")
(define-public libhx (define-public libhx
(package (package
(name "libhx") (name "libhx")
(version "3.24") (version "3.25")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/libhx/libHX/" (uri (string-append "mirror://sourceforge/libhx/libHX/"
"libHX-" version ".tar.xz")) "libHX-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32 "12avn16f8aqb0cq6jplz0sv7rh6f07m85dwc8dasnnwsvijwbpbj"))))
"0i8v2464p830c15myknvvs6bhxaf663lrqgga95l94ygfynkw6x5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://libhx.sourceforge.net") (home-page "http://libhx.sourceforge.net")
(synopsis "C library with common data structures and functions") (synopsis "C library with common data structures and functions")
@ -254,6 +256,57 @@ string formatting and autoresizing, option and config file parsing, type
checking casts and more.") checking casts and more.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public packcc
(package
(name "packcc")
;; We need a few fixes on top of the latest release to prevent test
;; failures in Universal Ctags.
(version "1.2.5-19-g58d1b9d")
(home-page "https://github.com/enechaev/packcc")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0biyv835jlk43fvmmd3p8jafs7k2iw9qlaj37hvsl604ai6rd5aj"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;no tests
#:make-flags '("-DUSE_SYSTEM_STRNLEN=1")
#:phases (modify-phases %standard-phases
;; The project consists of a single source file and has
;; no actual build system, so we need to do it manually.
(delete 'configure)
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "gcc" "-o" "packcc" "packcc.c"
make-flags)))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "packcc" (string-append out "/bin"))
(install-file "README.md"
(string-append out "/share/doc/packcc"))
#t))))))
(synopsis "Packrat parser generator for C")
(description
"PackCC is a packrat parser generator for the C programming language.
Its main features are:
@itemize
@item Generates a parser in C from a grammar described in a PEG.
@item Gives your parser great efficiency by packrat parsing.
@item Supports direct and indirect left-recursive grammar rules.
@end itemize
The grammar of your parser can be described in a @acronym{PEG, Parsing
Expression Grammar}. The PEG is a top-down parsing language, and is similar
to the regular-expression grammar. The PEG does not require tokenization to
be a separate step, and tokenization rules can be written in the same way as
any other grammar rules.")
(license license:expat)))
(define-public sparse (define-public sparse
(package (package
(name "sparse") (name "sparse")
@ -288,3 +341,98 @@ address space pointers point to, or what locks a function acquires or
releases.") releases.")
(home-page "https://sparse.wiki.kernel.org/index.php/Main_Page") (home-page "https://sparse.wiki.kernel.org/index.php/Main_Page")
(license license:expat))) (license license:expat)))
(define-public libestr
(package
(name "libestr")
(version "0.1.11")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rsyslog/libestr.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ca4rj90c0dn7kqpbcchkflxjw88a7rxcnwbr0gply4a28i01nd8"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; autogen.sh calls configure at the end of the script.
(replace 'bootstrap
(lambda _ (invoke "autoreconf" "-vfi"))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
("libtool" ,libtool)))
(home-page "https://github.com/rsyslog/libestr")
(synopsis "Helper functions for handling strings")
(description
"This C library contains some essential string manipulation functions and
more, like escaping special characters.")
(license license:lgpl2.1+)))
(define-public libfastjson
(package
(name "libfastjson")
(version "0.99.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rsyslog/libfastjson.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0qhs0g9slj3p0v2z4s3cnsx44msrlb4k78ljg7714qiziqbrbwyl"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(home-page "https://github.com/rsyslog/libfastjson")
(synopsis "Fast JSON library for C")
(description
"libfastjson is a fork from json-c aiming to provide: a small library
with essential JSON handling functions, sufficiently good JSON support (not
100% standards compliant), and very fast processing.")
(license license:expat)))
(define-public liblogging
(package
(name "liblogging")
(version "1.0.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rsyslog/liblogging.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1l32m0y65svf5vxsgw935jnqs6842rcqr56dmzwqvr00yfrjhjkp"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; autogen.sh calls configure at the end of the script.
(replace 'bootstrap
(lambda _ (invoke "autoreconf" "-vfi"))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
("libtool" ,libtool)
;; For rst2man.py
("python-docutils" ,python-docutils)))
(home-page "https://github.com/rsyslog/liblogging")
(synopsis "Easy to use and lightweight signal-safe logging library")
(description
"Liblogging is an easy to use library for logging. It offers an enhanced
replacement for the syslog() call, but retains its ease of use.")
(license license:bsd-2)))

View file

@ -110,7 +110,7 @@ the <tz.h> library for handling time zones and leap seconds.")
(define-public libical (define-public libical
(package (package
(name "libical") (name "libical")
(version "3.0.7") (version "3.0.8")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -118,22 +118,7 @@ the <tz.h> library for handling time zones and leap seconds.")
version "/libical-" version ".tar.gz")) version "/libical-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1z33wzaazbd7drl6qbh1750whd78xl2cg0gjnxyya9m83vgndgha")) "0vr8s7hn8204lyc4ys5bs3j5qss4lmc9ffly2m1a59avyz5cmzh9"))))
(patches
;; Add a patch slated for 3.0.8 which preserves backwards-
;; compatibility in the icalattach_new_from_data() function,
;; which accidentally changed in 3.0.7 and could break some uses.
;; https://gitlab.gnome.org/GNOME/evolution-data-server/issues/185
;; http://lists.infradead.org/pipermail/libical-devel/2020-January/000907.html
(list (origin
(method url-fetch)
(uri (string-append
"https://github.com/libical/libical/commit/"
"ae394010c889e4c185160da5e81527849f9de350.patch"))
(file-name "libical-3.0.7-preserve-icalattach-api.patch")
(sha256
(base32
"0v8qcxn8a6sh78grzxd61j9478928dx38l5mf8mkdrbxv47vmvvp")))))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f ; test suite appears broken '(#:tests? #f ; test suite appears broken

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -30,14 +30,14 @@
(define-public ccache (define-public ccache
(package (package
(name "ccache") (name "ccache")
(version "3.7.7") (version "3.7.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/ccache/ccache/releases/download/v" (uri (string-append "https://github.com/ccache/ccache/releases/download/v"
version "/ccache-" version ".tar.xz")) version "/ccache-" version ".tar.xz"))
(sha256 (sha256
(base32 "1kcqii3hr1008gj6jgfsjibwh2ryhsplc9z99m18xwa2zvbddhdp")))) (base32 "0jzl9idnjd9jq64qd8kny7gfd0ydvz5kyq2yslmigfdz8dsxm4zq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("perl" ,perl) ; for test/run (native-inputs `(("perl" ,perl) ; for test/run
("which" ,(@ (gnu packages base) which)))) ("which" ,(@ (gnu packages base) which))))

View file

@ -686,7 +686,7 @@ information is written to standard error.")
(define-public asunder (define-public asunder
(package (package
(name "asunder") (name "asunder")
(version "2.9.5") (version "2.9.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -695,7 +695,7 @@ information is written to standard error.")
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"069x6az2r3wlb2hd07iz0hxpxwknw7s9h7pyhnkmzv1pw9ci3kk4")))) "1ycnd82lh7qy1pcbngd4b41s16j9hnm2kyfrncg4cwr3bfk7yg7a"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
'(#:out-of-source? #f '(#:out-of-source? #f

View file

@ -76,7 +76,7 @@
(define-public nss-certs (define-public nss-certs
(package (package
(name "nss-certs") (name "nss-certs")
(version "3.50") (version "3.52.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (let ((version-with-underscores (uri (let ((version-with-underscores
@ -87,7 +87,7 @@
"nss-" version ".tar.gz"))) "nss-" version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"19rv0vp9nmvn6dy29qsv8f4v7wn5kizrpm59vbszahsjfwcz6p8q")))) "0y4jb9095f7bbgw7d7kvzm4c3g4p5i6y68fwhb8wlkpb7b1imj5w"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out")) (outputs '("out"))
(native-inputs (native-inputs

View file

@ -105,8 +105,8 @@ source code editors and IDEs.")
;; Some packages require this older version. Removed once no longer needed. ;; Some packages require this older version. Removed once no longer needed.
(define-public check-0.12 (define-public check-0.12
(package/inherit (package
check (inherit check)
(version "0.12.0") (version "0.12.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -396,7 +396,7 @@ and it supports a very flexible form of test discovery.")
(define-public doctest (define-public doctest
(package (package
(name "doctest") (name "doctest")
(version "2.3.7") (version "2.3.8")
(home-page "https://github.com/onqtam/doctest") (home-page "https://github.com/onqtam/doctest")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -404,7 +404,7 @@ and it supports a very flexible form of test discovery.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"134lx7pjnglrl4wdmyr9dz3rjb6d4ir6rvapg00gp52n44dbhnrq")))) "16w907750jnp98vdzkn72lzwy1zyryaqvfi80lbdp398pj23rq65"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(synopsis "C++ test framework") (synopsis "C++ test framework")
(description (description
@ -584,14 +584,13 @@ but it works for any C/C++ project.")
(define-public python-parameterized (define-public python-parameterized
(package (package
(name "python-parameterized") (name "python-parameterized")
(version "0.7.3") (version "0.7.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "parameterized" version)) (uri (pypi-uri "parameterized" version))
(sha256 (sha256
(base32 (base32 "1444fdz5bj0k10nmhxv0bv2gfrfisi7hfzqdndb0pvhf4g3qq3qr"))))
"0g1q6n7fkanjv7i1djzw62f46xf573jvza7afabh3baqjqxy7rpd"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:phases (modify-phases %standard-phases '(#:phases (modify-phases %standard-phases
@ -1703,14 +1702,13 @@ normally the case.")
(define-public python-pytest-sugar (define-public python-pytest-sugar
(package (package
(name "python-pytest-sugar") (name "python-pytest-sugar")
(version "0.9.2") (version "0.9.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pytest-sugar" version)) (uri (pypi-uri "pytest-sugar" version))
(sha256 (sha256
(base32 (base32 "1i0hv3h49zvl62jbiyjag84carbrp3zprqzxffdr291nxavvac0n"))))
"1asq7yc4g8bx2sn7yy974mhc9ywvaihasjab4inkirdwn9s7mn7w"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-packaging" ,python-packaging) `(("python-packaging" ,python-packaging)
@ -1888,12 +1886,10 @@ unit tests and failing them if the unit test module does not exercise all
statements in the module it tests.") statements in the module it tests.")
(license license:gpl3+))) (license license:gpl3+)))
;; Further releases, up to 2.4.3, have failing unit tests. See:
;; https://github.com/PyCQA/pylint/issues/3198.
(define-public python-pylint (define-public python-pylint
(package (package
(name "python-pylint") (name "python-pylint")
(version "2.3.1") (version "2.5.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1902,9 +1898,11 @@ statements in the module it tests.")
(commit (string-append "pylint-" version)))) (commit (string-append "pylint-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "04cgbh2z1mygar63plzziyz34yg6bdr4i0g63jp256fgnqwb1bi3"))))
"17vvzbcqmkhr4icq5p3737nbiiyj1y3g1pa08n9mb1bsnvxmqq0z"))))
(build-system python-build-system) (build-system python-build-system)
;; FIXME: Tests are failing since version 2.4.3, see:
;; https://github.com/PyCQA/pylint/issues/3198.
(arguments '(#:tests? #f))
(native-inputs (native-inputs
`(("python-pytest" ,python-pytest) `(("python-pytest" ,python-pytest)
("python-pytest-runner" ,python-pytest-runner) ("python-pytest-runner" ,python-pytest-runner)
@ -1913,7 +1911,8 @@ statements in the module it tests.")
`(("python-astroid" ,python-astroid) `(("python-astroid" ,python-astroid)
("python-isort" ,python-isort) ("python-isort" ,python-isort)
("python-mccabe" ,python-mccabe) ("python-mccabe" ,python-mccabe)
("python-six" ,python-six))) ("python-six" ,python-six)
("python-toml" ,python-toml)))
(home-page "https://github.com/PyCQA/pylint") (home-page "https://github.com/PyCQA/pylint")
(synopsis "Python source code analyzer which looks for coding standard (synopsis "Python source code analyzer which looks for coding standard
errors") errors")
@ -1946,7 +1945,7 @@ possible to write plugins to add your own checks.")
(base32 (base32
"02a89d8a47s7nfiv1ady3j0sg2sbyja3np145brarfp5x9qxz9x2")))) "02a89d8a47s7nfiv1ady3j0sg2sbyja3np145brarfp5x9qxz9x2"))))
(arguments (arguments
`(,@(package-arguments pylint) `(,@(strip-keyword-arguments '(#:tests?) (package-arguments pylint))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
@ -2519,7 +2518,7 @@ provides a simple way to achieve this.")
(define-public umockdev (define-public umockdev
(package (package
(name "umockdev") (name "umockdev")
(version "0.13.2") (version "0.14.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/martinpitt/umockdev/" (uri (string-append "https://github.com/martinpitt/umockdev/"
@ -2527,7 +2526,7 @@ provides a simple way to achieve this.")
"umockdev-" version ".tar.xz")) "umockdev-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"095v3abc321s584sga04y16lcmdzsdi88h24wcrm78v7vq484g74")))) "1g78jcrvb7yyh0q5kv5409wjqf8nlfqnw1rknm3a247mcx317dpz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -2539,6 +2538,7 @@ provides a simple way to achieve this.")
#t))))) #t)))))
(native-inputs (native-inputs
`(("vala" ,vala) `(("vala" ,vala)
("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc) ("gtk-doc" ,gtk-doc)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)

View file

@ -2,7 +2,7 @@
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; ;;;
@ -47,8 +47,8 @@
#:use-module (guix build-system gnu)) #:use-module (guix build-system gnu))
(define-public cuirass (define-public cuirass
(let ((commit "9559fd18d4b89bf797216fbe187f2b26b0a2d165") (let ((commit "2280ae18eb25aa7034636c58bf288c9bd5a8fa3b")
(revision "30")) (revision "31"))
(package (package
(name "cuirass") (name "cuirass")
(version (git-version "0.0.1" revision commit)) (version (git-version "0.0.1" revision commit))
@ -60,7 +60,7 @@
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"026cpcws8mb483mywwx2znpy9i7lw5n3lyqa9k6d87kxmw59060c")))) "1gbmpwgiwy740d936b052gfivzw52pgrny7j7lbl56wi9wnawkc9"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:modules ((guix build utils) '(#:modules ((guix build utils)
@ -123,7 +123,7 @@
`(("guile" ,guile-3.0) `(("guile" ,guile-3.0)
("guile-fibers" ,guile-fibers) ("guile-fibers" ,guile-fibers)
("guile-gcrypt" ,guile-gcrypt) ("guile-gcrypt" ,guile-gcrypt)
("guile-json" ,guile-json-3) ("guile-json" ,guile-json-4)
("guile-sqlite3" ,guile-sqlite3) ("guile-sqlite3" ,guile-sqlite3)
("guile-git" ,guile-git) ("guile-git" ,guile-git)
;; FIXME: this is propagated by "guile-git", but it needs to be among ;; FIXME: this is propagated by "guile-git", but it needs to be among

View file

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2015, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
@ -13,6 +13,7 @@
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2019 Hartmut Goebel <h.goebel@goebel-consult.de> ;;; Copyright © 2019 Hartmut Goebel <h.goebel@goebel-consult.de>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -43,11 +44,16 @@
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages c)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cpp) #:use-module (gnu packages cpp)
#:use-module (gnu packages emacs) #:use-module (gnu packages emacs)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages graphviz) #:use-module (gnu packages graphviz)
#:use-module (gnu packages llvm)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages perl-compression) #:use-module (gnu packages perl-compression)
@ -55,9 +61,8 @@
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages ncurses) #:use-module (gnu packages web)
#:use-module (gnu packages llvm) #:use-module (gnu packages xml))
#:use-module (gnu packages lua))
;;; Tools to deal with source code: metrics, cross-references, etc. ;;; Tools to deal with source code: metrics, cross-references, etc.
@ -135,18 +140,26 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(list (string-append "--with-ncurses=" (list (string-append "--with-ncurses="
(assoc-ref %build-inputs "ncurses")) (assoc-ref %build-inputs "ncurses"))
(string-append "--with-sqlite3=" (string-append "--with-sqlite3="
(assoc-ref %build-inputs "sqlite"))) (assoc-ref %build-inputs "sqlite"))
"--disable-static")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'install 'post-install (add-after 'install 'post-install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; Install the Emacs Lisp file in the right place. ;; Install the plugin files in the right place.
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(data (string-append out "/share/gtags")) (data (string-append out "/share/gtags"))
(vim (string-append out "/share/vim/vimfiles/plugin"))
(lisp (string-append out "/share/emacs/site-lisp"))) (lisp (string-append out "/share/emacs/site-lisp")))
(install-file (string-append data "/gtags.el") lisp) (mkdir-p lisp)
(delete-file (string-append data "/gtags.el")) (mkdir-p vim)
(rename-file (string-append data "/gtags.el")
(string-append lisp "/gtags.el"))
(rename-file (string-append data "/gtags.vim")
(string-append vim "/gtags.vim"))
(rename-file (string-append data "/gtags-cscope.vim")
(string-append vim "/gtags-cscope.vim"))
#t)))))) #t))))))
(home-page "https://www.gnu.org/software/global/") (home-page "https://www.gnu.org/software/global/")
(synopsis "Cross-environment source code tag system") (synopsis "Cross-environment source code tag system")
@ -217,7 +230,7 @@ COCOMO model or user-provided parameters.")
(define-public cloc (define-public cloc
(package (package
(name "cloc") (name "cloc")
(version "1.84") (version "1.86")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -226,7 +239,7 @@ COCOMO model or user-provided parameters.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "14xikdwcr6pcnkk2i43zrsj88z8b3mrv0svbnbvxvarw1id83pnn")))) (base32 "082gj2b3x11bilz8c572dd60vn6n0fhld5zhi7wk7g1wy9wlgm9w"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("coreutils" ,coreutils) `(("coreutils" ,coreutils)
@ -321,6 +334,83 @@ features that are not supported by the standard @code{stdio} implementation.")
(license (license:non-copyleft (license (license:non-copyleft
"http://sourceforge.net/p/ctrio/git/ci/master/tree/README")))) "http://sourceforge.net/p/ctrio/git/ci/master/tree/README"))))
(define-public universal-ctags
;; The project is unable to decide whether to use 1.0 or 6.0 as the
;; first public release version (it started as a fork of another ctags
;; project that was on version 5.8), and five years later have been
;; unable to tag a release. Thus, we just take the master branch.
(let ((commit "0c78c0c4a68030df0d025c90bad291108b5e7107")
(revision "0"))
(package
(name "universal-ctags")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/universal-ctags/ctags")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0lnxc3kwi6srw0015m16vyjfdc7pdr9d1qzxjsbfv3c69ag87jhc"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove the bundled PackCC and associated build rules.
(substitute* "Makefile.am"
(("\\$\\(packcc_verbose\\)\\$\\(PACKCC\\)")
"packcc")
(("\\$\\(PEG_SRCS\\) \\$\\(PEG_HEADS\\): packcc\\$\\(EXEEXT\\)")
"$(PEG_SRCS) $(PEG_HEADS):")
(("noinst_PROGRAMS \\+= packcc")
""))
(delete-file-recursively "misc/packcc")
#t))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'make-files-writable
(lambda _
(for-each make-file-writable (find-files "."))
#t))
(add-before 'bootstrap 'patch-optlib2c
(lambda _
;; The autogen.sh script calls out to optlib2c to
;; generate translations, so we can not wait for the
;; patch-source-shebangs phase.
(patch-shebang "misc/optlib2c")
#t))
(add-before 'check 'patch-tests
(lambda _
(substitute* "misc/units"
(("SHELL=/bin/sh")
(string-append "SHELL=" (which "sh"))))
(substitute* "Tmain/utils.sh"
(("/bin/echo") (which "echo")))
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("packcc" ,packcc)
("perl" ,perl)
("pkg-config" ,pkg-config)))
(inputs
`(("jansson" ,jansson)
("libseccomp" ,libseccomp)
("libxml2" ,libxml2)
("libyaml" ,libyaml)))
(home-page "https://ctags.io/")
(synopsis "Generate tag files for source code")
(description
"Universal Ctags generates an index (or tag) file of language objects
found in source files for many popular programming languages. This index
makes it easy for text editors and other tools to locate the indexed items.
Universal Ctags improves on traditional ctags because of its multilanguage
support, its ability for the user to define new languages searched by regular
expressions, and its ability to generate emacs-style TAGS files.")
(license license:gpl2+))))
(define-public withershins (define-public withershins
(package (package
(name "withershins") (name "withershins")

View file

@ -7,7 +7,7 @@
;;; Copyright © 2015, 2016, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Jeff Mickey <j@codemac.net> ;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
@ -875,7 +875,8 @@ extract such file systems.")
(symlink "pigz" (string-append bin "/unpigz")) (symlink "pigz" (string-append bin "/unpigz"))
(install-file "pigz.1" man) (install-file "pigz.1" man)
#t)))) #t))))
#:make-flags (list "CC=gcc") #:make-flags
(list ,(string-append "CC=" (cc-for-target)))
#:test-target "tests")) #:test-target "tests"))
(inputs `(("zlib" ,zlib))) (inputs `(("zlib" ,zlib)))
(home-page "https://zlib.net/pigz/") (home-page "https://zlib.net/pigz/")
@ -1682,7 +1683,7 @@ of archives.")
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list "CC=gcc"))) (list ,(string-append "CC=" (cc-for-target)))))
(home-page "https://www.nongnu.org/lzip/lunzip.html") (home-page "https://www.nongnu.org/lzip/lunzip.html")
(synopsis "Small, stand-alone lzip decompressor") (synopsis "Small, stand-alone lzip decompressor")
(description (description
@ -1709,7 +1710,7 @@ Lunzip is intended to be fully compatible with the regular lzip package.")
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list "CC=gcc"))) (list ,(string-append "CC=" (cc-for-target)))))
(home-page "https://www.nongnu.org/lzip/clzip.html") (home-page "https://www.nongnu.org/lzip/clzip.html")
(synopsis "Small, stand-alone lzip compressor and decompressor") (synopsis "Small, stand-alone lzip compressor and decompressor")
(description (description
@ -1939,7 +1940,7 @@ download times, and other distribution and storage costs.")
(define-public quazip (define-public quazip
(package (package
(name "quazip") (name "quazip")
(version "0.9") (version "0.9.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1948,7 +1949,7 @@ download times, and other distribution and storage costs.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0psvf3d9akyyx3bckc9325nmbp97xiagf8la4vhca5xn2f430fbn")))) "11icgwv2xyxhd1hm1add51xv54zwkcqkg85d1xqlgiigvbm196iq"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ;no test `(#:tests? #f)) ;no test
@ -2098,7 +2099,7 @@ file compression algorithm.")
(define-public xarchiver (define-public xarchiver
(package (package
(name "xarchiver") (name "xarchiver")
(version "0.5.4.14") (version "0.5.4.15")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2107,7 +2108,7 @@ file compression algorithm.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1iklwgykgymrwcc5p1cdbh91v0ih1m58s3w9ndl5kyd44bwlb7px")))) (base32 "0a3y54r5zp2c0cqm77r07qrl1vh200wvqmbhm35diy22fvkq5mwc"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(native-inputs (native-inputs
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)
@ -2115,7 +2116,7 @@ file compression algorithm.")
("libxslt" ,libxslt) ("libxslt" ,libxslt)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(inputs (inputs
`(("adwaita-icon-theme" ,adwaita-icon-theme) ; Hard-coded theme `(("adwaita-icon-theme" ,adwaita-icon-theme) ; hard-coded theme
("gtk+" ,gtk+))) ("gtk+" ,gtk+)))
(home-page "https://github.com/ib/xarchiver") (home-page "https://github.com/ib/xarchiver")
(synopsis "Graphical front-end for archive operations") (synopsis "Graphical front-end for archive operations")
@ -2204,11 +2205,8 @@ computations.")
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
#:make-flags #:make-flags
(let ((target ,(%current-target-system))) (list (string-append "CC=" ,(cc-for-target))
(list (string-append "CC=" (if target (string-append "DESTDIR=" (assoc-ref %outputs "out")))
(string-append target "-gcc")
"gcc"))
(string-append "DESTDIR=" (assoc-ref %outputs "out"))))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'configure (replace 'configure

View file

@ -297,7 +297,7 @@ tools (containers, algorithms) used by other QuantStack packages.")
(define-public ccls (define-public ccls
(package (package
(name "ccls") (name "ccls")
(version "0.20190823.5") (version "0.20190823.6")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -305,11 +305,11 @@ tools (containers, algorithms) used by other QuantStack packages.")
(url "https://github.com/MaskRay/ccls") (url "https://github.com/MaskRay/ccls")
(commit version))) (commit version)))
(sha256 (sha256
(base32 "0b2pkpzn576b92zcxpwchpkyw2fww6s69818rx4g9z34kzm35zy5")) (base32 "11h5nwk4qqshf3i8yr4bxpnvmidrhkzd0zxhf1xqv8cv6r08k47f"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f)) ; no check target. '(#:tests? #f)) ; no check target
(inputs (inputs
`(("rapidjson" ,rapidjson))) `(("rapidjson" ,rapidjson)))
(native-inputs (native-inputs
@ -458,7 +458,7 @@ point and then, after each tween step, plugging back the result.")
(define-public abseil-cpp (define-public abseil-cpp
(package (package
(name "abseil-cpp") (name "abseil-cpp")
(version "20200225.1") (version "20200225.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -467,7 +467,7 @@ point and then, after each tween step, plugging back the result.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"035bffayslawc19q2gmlkr6n6r7k7mvriaq7352rv6gyzaplr98w")))) "0dwxg54pv6ihphbia0iw65r64whd7v8nm4wwhcz219642cgpv54y"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,7 @@
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020 John Soo <jsoo1@asu.edu> ;;; Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
@ -18967,14 +18967,14 @@ rust.")
(define-public rust-rpassword-4 (define-public rust-rpassword-4
(package (package
(name "rust-rpassword") (name "rust-rpassword")
(version "4.0.3") (version "4.0.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "rpassword" version)) (uri (crate-uri "rpassword" version))
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 "0jnl8wzmdazkpzqs0vsw0n0vm0v4b8chqifd6s84nl9w2ybhx7ym")))) (base32 "17z99xazhhbaczw0ib1vnnq450j0zacdn8b2zcbdir68sdbicdwr"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:cargo-inputs `(#:cargo-inputs
@ -20380,7 +20380,7 @@ proven statistical guarantees.")
(define-public rust-serde-bytes-0.11 (define-public rust-serde-bytes-0.11
(package (package
(name "rust-serde-bytes") (name "rust-serde-bytes")
(version "0.11.3") (version "0.11.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -20388,8 +20388,7 @@ proven statistical guarantees.")
(file-name (file-name
(string-append name "-" version ".tar.gz")) (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "1fcb6sw8wkrj4ylm118wkb31hw124nkjnqyhbgqnd8w85zfhgbhn"))))
"1bl45kf3c71xclv7wzk5525nswm4bgsnjd3s1s15f4k2a8whfnij"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:skip-build? #t `(#:skip-build? #t
@ -20400,8 +20399,7 @@ proven statistical guarantees.")
("rust-serde-derive" ,rust-serde-derive-1.0) ("rust-serde-derive" ,rust-serde-derive-1.0)
("rust-serde-test" ,rust-serde-test-1.0)))) ("rust-serde-test" ,rust-serde-test-1.0))))
(home-page "https://github.com/serde-rs/bytes") (home-page "https://github.com/serde-rs/bytes")
(synopsis (synopsis "Handle integer arrays and vectors for Serde")
"Handle of integer arrays and vectors for Serde")
(description (description
"Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.") "Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.")
(license (list license:expat license:asl2.0)))) (license (list license:expat license:asl2.0))))
@ -23747,14 +23745,14 @@ in Rust.")
(define-public rust-tokio-0.2 (define-public rust-tokio-0.2
(package (package
(name "rust-tokio") (name "rust-tokio")
(version "0.2.18") (version "0.2.21")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "tokio" version)) (uri (crate-uri "tokio" version))
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 "04v7rfkrlr8cx30ygy0n45skf6pdbif0zisn9a5xrdnjfb81dvrl")))) (base32 "0n1dxsjv9fxv3kmr3nh4n8v8pqckwgdlls942msysavhp4kzm6fh"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:skip-build? #t `(#:skip-build? #t
@ -25681,15 +25679,14 @@ designed for reexporting.")
(define-public rust-version-check-0.9 (define-public rust-version-check-0.9
(package (package
(name "rust-version-check") (name "rust-version-check")
(version "0.9.1") (version "0.9.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "version_check" version)) (uri (crate-uri "version_check" version))
(file-name (string-append name "-" version ".crate")) (file-name (string-append name "-" version ".crate"))
(sha256 (sha256
(base32 (base32 "1vbaqdf802qinsq8q20w8w0qn2pv0rkq5p73ijcblrwxcvjp5adm"))))
"1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(home-page "https://github.com/SergioBenitez/version_check") (home-page "https://github.com/SergioBenitez/version_check")
(synopsis "Check that the installed rustc meets some version requirements") (synopsis "Check that the installed rustc meets some version requirements")
@ -27435,7 +27432,7 @@ to XDG Base Directory specification")
(define-public rust-xml-rs-0.8 (define-public rust-xml-rs-0.8
(package (package
(name "rust-xml-rs") (name "rust-xml-rs")
(version "0.8.1") (version "0.8.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -27444,7 +27441,14 @@ to XDG Base Directory specification")
(string-append name "-" version ".tar.gz")) (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0c905wsmk995xypxljpxzq6vv660r1pzgyrpsfiz13kw3hf0dzcs")))) "12ndxyhzxw2zdr76ql8nfdwb2vwhvdkrxwk4pbjafqfglmjv0zdh"))
(modules '((guix build utils)))
(snippet
'(begin
;; 'doctest' isn't stable until rust-1.40
(substitute* "src/lib.rs"
(("\\(doctest") "(test"))
#t))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:cargo-development-inputs `(#:cargo-development-inputs
@ -27478,22 +27482,20 @@ to XDG Base Directory specification")
(define-public rust-yaml-rust-0.4 (define-public rust-yaml-rust-0.4
(package (package
(name "rust-yaml-rust") (name "rust-yaml-rust")
(version "0.4.3") (version "0.4.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (crate-uri "yaml-rust" version)) (uri (crate-uri "yaml-rust" version))
(file-name (file-name (string-append name "-" version ".tar.gz"))
(string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "038byay0dxsz6isckviz4qshfpyjqmyvda7pq96i6d53y4ickw1r"))))
"0ka3qhqc5lvk3hz14wmsj32jhmh44blcbfrx5hfxli2gg38kv4k5"))))
(build-system cargo-build-system) (build-system cargo-build-system)
(arguments (arguments
`(#:cargo-inputs `(#:cargo-inputs
(("rust-linked-hash-map" ,rust-linked-hash-map-0.5)) (("rust-linked-hash-map" ,rust-linked-hash-map-0.5))
#:cargo-development-inputs #:cargo-development-inputs
(("rust-quickcheck" ,rust-quickcheck-0.7)))) (("rust-quickcheck" ,rust-quickcheck-0.9))))
(home-page "https://chyh1990.github.io/yaml-rust/") (home-page "https://chyh1990.github.io/yaml-rust/")
(synopsis "The missing YAML 1.2 parser for rust") (synopsis "The missing YAML 1.2 parser for rust")
(description (description

View file

@ -1031,7 +1031,7 @@ quickly by using all your CPU cores and hardware acceleration.")
(define-public minisign (define-public minisign
(package (package
(name "minisign") (name "minisign")
(version "0.8") (version "0.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1039,8 +1039,7 @@ quickly by using all your CPU cores and hardware acceleration.")
(string-append "https://github.com/jedisct1/minisign/releases/download/" (string-append "https://github.com/jedisct1/minisign/releases/download/"
version "/minisign-" version ".tar.gz")) version "/minisign-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "1h9cfvvm6lqq33b2wdar1x3w4k7zyrscavllyb0l5dmcdabq60r2"))))
"10hhgwxf9rcdlr00shrkcyxndrc22dh5lj8k5z27xg3nc0jba3hk"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
; No test suite ; No test suite
@ -1064,7 +1063,7 @@ Trusted comments are signed, thus verified, before being displayed.")
(define-public libolm (define-public libolm
(package (package
(name "libolm") (name "libolm")
(version "3.1.4") (version "3.1.5")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1072,7 +1071,7 @@ Trusted comments are signed, thus verified, before being displayed.")
(commit version))) (commit version)))
(sha256 (sha256
(base32 (base32
"06s7rw4a9vn35wzz7chxn54mp0sjgbpv2bzz9lq0g4hnzw33cjbi")) "030g0jmmvhx2dh32k708sz6cdd5q1wz48i4gigh6dclqk10w28lm"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(arguments (arguments
`(#:phases `(#:phases

View file

@ -58,7 +58,7 @@
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs
`(("argon2" ,argon2) `(("argon2" ,argon2)
("json-c" ,json-c) ("json-c" ,json-c-0.13) ;XXX update this for cryptsetup >= 2.3
("libgcrypt" ,libgcrypt) ("libgcrypt" ,libgcrypt)
("lvm2" ,lvm2) ; device-mapper ("lvm2" ,lvm2) ; device-mapper
("popt" ,popt) ("popt" ,popt)
@ -138,7 +138,7 @@ files). This assumes LIBRARY uses Libtool."
(inherit (static-library libgcrypt)) (inherit (static-library libgcrypt))
(propagated-inputs (propagated-inputs
`(("libgpg-error-host" ,(static-library libgpg-error))))))) `(("libgpg-error-host" ,(static-library libgpg-error)))))))
`(("json-c" ,json-c) `(("json-c" ,json-c-0.13)
("libgcrypt" ,libgcrypt-static) ("libgcrypt" ,libgcrypt-static)
("lvm2" ,lvm2-static) ("lvm2" ,lvm2-static)
("util-linux" ,util-linux "static") ("util-linux" ,util-linux "static")

View file

@ -125,12 +125,6 @@
(("/usr/local/lib/cups/filter") (("/usr/local/lib/cups/filter")
(string-append out "/lib/cups/filter"))) (string-append out "/lib/cups/filter")))
#t))) #t)))
(add-after 'unpack 'patch-for-poppler
(lambda _
(substitute* "filter/pdf.cxx"
(("GooString \\*field_name;" m)
(string-append "const " m)))
#t))
(add-after 'install 'wrap-filters (add-after 'install 'wrap-filters
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
;; Some filters expect to find 'gs' in $PATH. We cannot ;; Some filters expect to find 'gs' in $PATH. We cannot
@ -250,7 +244,7 @@ device-specific programs to convert and print many types of files.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public cups (define-public cups
(package (inherit cups-minimal) (package/inherit cups-minimal
(name "cups") (name "cups")
(arguments (arguments
`(;; Three tests fail: `(;; Three tests fail:
@ -421,14 +415,14 @@ should only be used as part of the Guix cups-pk-helper service.")
(define-public hplip (define-public hplip
(package (package
(name "hplip") (name "hplip")
(version "3.20.3") (version "3.20.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/hplip/hplip/" version (uri (string-append "mirror://sourceforge/hplip/hplip/" version
"/hplip-" version ".tar.gz")) "/hplip-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0sh6cg7yjc11x1cm4477iaslj9n8ksghs85hqwgfbk7m5b2pw2a1")) "0nj79r61fzddwwzf8kcc0qkp4y9qx46v15iarz6h6y3v91wbsjq0"))
(modules '((guix build utils))) (modules '((guix build utils)))
(patches (search-patches "hplip-remove-imageprocessor.patch")) (patches (search-patches "hplip-remove-imageprocessor.patch"))
(snippet (snippet

View file

@ -26,14 +26,13 @@
(define-public ropgadget (define-public ropgadget
(package (package
(name "ropgadget") (name "ropgadget")
(version "6.2") (version "6.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "ROPGadget" version)) (uri (pypi-uri "ROPGadget" version))
(sha256 (sha256
(base32 (base32 "0v34w88if3p4vn46aby24msfnxj6znmkf4848n4d24jnykxcsqk9"))))
"0idiicgpijar9l9kqmfdh865c2mkfgxg0q7lpz77jc09l6q0afjh"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-capstone" ,python-capstone))) `(("python-capstone" ,python-capstone)))

View file

@ -88,7 +88,9 @@
#:use-module (gnu packages language) #:use-module (gnu packages language)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages logging)
#:use-module (gnu packages man) #:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages onc-rpc) #:use-module (gnu packages onc-rpc)
#:use-module (gnu packages parallel) #:use-module (gnu packages parallel)
@ -98,6 +100,7 @@
#:use-module (gnu packages perl-web) #:use-module (gnu packages perl-web)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt) #:use-module (gnu packages popt)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-crypto) #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
@ -105,6 +108,8 @@
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages rdf) #:use-module (gnu packages rdf)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages regex)
#:use-module (gnu packages rpc)
#:use-module (gnu packages ruby) #:use-module (gnu packages ruby)
#:use-module (gnu packages serialization) #:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx) #:use-module (gnu packages sphinx)
@ -679,7 +684,7 @@ Language.")
(define-public mariadb (define-public mariadb
(package (package
(name "mariadb") (name "mariadb")
(version "10.1.44") (version "10.1.45")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://downloads.mariadb.com/MariaDB" (uri (string-append "https://downloads.mariadb.com/MariaDB"
@ -687,7 +692,7 @@ Language.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0fah6d50hldq0farxwr8mj3jnniwdz0d1wsha07nx37fc79h7wi1")) "1mfs0x4c0z7d306n128dxdawk3llk25vxif5zwl20fv1z5qhz3wx"))
(patches (search-patches "mariadb-client-test-32bit.patch")) (patches (search-patches "mariadb-client-test-32bit.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
@ -933,7 +938,7 @@ as a drop-in replacement of MySQL.")
(define-public mariadb-connector-c (define-public mariadb-connector-c
(package (package
(name "mariadb-connector-c") (name "mariadb-connector-c")
(version "3.1.6") (version "3.1.8")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -942,13 +947,12 @@ as a drop-in replacement of MySQL.")
version "-src.tar.gz")) version "-src.tar.gz"))
(sha256 (sha256
(base32 (base32
"083724f5daaqyzdcx508caz6fk2hs89jff85zg28ih43vxkvnrnj")))) "0yrzhsxmjiwkhchagx8dymzhvxl3k5h40wn9wpicqjvgjb9k8523"))))
(inputs (inputs
`(("openssl" ,openssl))) `(("openssl" ,openssl)))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
;; No tests. '(#:tests? #f)) ; no tests
'(#:tests? #f))
(home-page "https://mariadb.com/kb/en/mariadb-connector-c/") (home-page "https://mariadb.com/kb/en/mariadb-connector-c/")
(synopsis "Client library to connect to MySQL or MariaDB") (synopsis "Client library to connect to MySQL or MariaDB")
(description "The MariaDB Connector/C is used to connect applications (description "The MariaDB Connector/C is used to connect applications
@ -959,14 +963,14 @@ developed in C/C++ to MariaDB and MySQL databases.")
(define-public postgresql (define-public postgresql
(package (package
(name "postgresql") (name "postgresql")
(version "10.12") (version "10.13")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1rsab4zf4rx7pvvhlwhb04kb95aiad9cwazc4ksbvg2gij47z3rq")) "1qal0yp7a90yzya7hl56gsmw5fvacplrdhpn7h9gnbyr1i2iyw2d"))
(patches (search-patches "postgresql-disable-resolve_symlinks.patch")))) (patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -1143,7 +1147,7 @@ including field and record folding.")))
(define-public rocksdb (define-public rocksdb
(package (package
(name "rocksdb") (name "rocksdb")
(version "6.8.1") (version "6.10.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1152,7 +1156,7 @@ including field and record folding.")))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0i6qglyrcqwxnrvq67zm7ln79a4sj8mzgij9h0nz5zkxax8v1zg1")) "0rp8q73dx5f1nkcf2qp6fljm4dpj281y6cqckqgv976kvwvqdgz1"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1459,7 +1463,7 @@ extremely small.")
(define-public perl-dbi (define-public perl-dbi
(package (package
(name "perl-dbi") (name "perl-dbi")
(version "1.642") (version "1.643")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1467,7 +1471,7 @@ extremely small.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0pbzqazrx7pnw4nbyaf27in4b6yddkirbd2ws7mnqa2n7812a81z")))) "1yinx39960y241vf2sknxj0dfz82a5m9gvklq5rw78k0nlyrjawa"))))
(build-system perl-build-system) (build-system perl-build-system)
(synopsis "Database independent interface for Perl") (synopsis "Database independent interface for Perl")
(description "This package provides an database interface for Perl.") (description "This package provides an database interface for Perl.")
@ -1703,7 +1707,7 @@ columns, primary keys, unique constraints and relationships.")
(define-public perl-dbd-sqlite (define-public perl-dbd-sqlite
(package (package
(name "perl-dbd-sqlite") (name "perl-dbd-sqlite")
(version "1.62") (version "1.64")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1711,7 +1715,7 @@ columns, primary keys, unique constraints and relationships.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0p78ri1q6xpc1i98i6mlriv8n66iz8r5r11dlsknjm4y58rfz0mx")))) "00gz5aw3xrr92lf9nfk0dhmy7a8jzmxhznddd9b0a8w4a1xqzbpl"))))
(build-system perl-build-system) (build-system perl-build-system)
(inputs `(("sqlite" ,sqlite))) (inputs `(("sqlite" ,sqlite)))
(propagated-inputs `(("perl-dbi" ,perl-dbi))) (propagated-inputs `(("perl-dbi" ,perl-dbi)))
@ -1749,14 +1753,14 @@ libmysqlclient. It will fill an aray with long options, ready to be parsed by
(define-public perl-sql-abstract (define-public perl-sql-abstract
(package (package
(name "perl-sql-abstract") (name "perl-sql-abstract")
(version "1.86") (version "1.87")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/" (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
"SQL-Abstract-" version ".tar.gz")) "SQL-Abstract-" version ".tar.gz"))
(sha256 (sha256
(base32 "1pwcm8hwxcgidyyrak37lx69d85q728jxsb0b14jz93gbvdgg9z7")))) (base32 "0jhw91b23wc9bkfwcgvka4x5ddxk58m9bcp5ay7a3vx77nla09p9"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-module-install" ,perl-module-install) `(("perl-module-install" ,perl-module-install)
@ -2049,17 +2053,14 @@ database.")
(define-public perl-db-file (define-public perl-db-file
(package (package
(name "perl-db-file") (name "perl-db-file")
(version "1.852") (version "1.853")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/DB_File-"
"mirror://cpan/authors/id/P/PM/PMQS/DB_File-" version ".tar.gz"))
version
".tar.gz"))
(sha256 (sha256
(base32 (base32 "1y967si45vj0skip1hnhicbv9da29fv6qcfwnsbnvj06n36mkj6h"))))
"14c30xyqx9c1hxw40bqbzls41al8gmklxv5jbk2kknmn4dsrbdrs"))))
(build-system perl-build-system) (build-system perl-build-system)
(inputs `(("bdb" ,bdb))) (inputs `(("bdb" ,bdb)))
(native-inputs `(("perl-test-pod" ,perl-test-pod))) (native-inputs `(("perl-test-pod" ,perl-test-pod)))
@ -2081,16 +2082,16 @@ database.")
(define-public lmdb (define-public lmdb
(package (package
(name "lmdb") (name "lmdb")
(version "0.9.24") (version "0.9.25")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/LMDB/lmdb.git") (url "https://git.openldap.org/openldap/openldap.git")
(commit (string-append "LMDB_" version)))) (commit (string-append "LMDB_" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "088q6m8fvr12w43s461h7cvpg5hj8csaqj6n9pci150dz7bk5lxm")))) (base32 "0i60zlca8r6fib23gdgl4c80gxpx24772ggpvz94yr7zaai4k11w"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:test-target "test" `(#:test-target "test"
@ -2102,7 +2103,7 @@ database.")
(substitute* "Makefile" (substitute* "Makefile"
(("/usr/local") (assoc-ref outputs "out"))) (("/usr/local") (assoc-ref outputs "out")))
#t))))) #t)))))
(home-page "https://symas.com/products/lightning-memory-mapped-database") (home-page "https://symas.com/lmdb/")
(synopsis "Lightning Memory-Mapped Database library") (synopsis "Lightning Memory-Mapped Database library")
(description (description
"The @dfn{Lightning Memory-Mapped Database} (LMDB) is a high-performance "The @dfn{Lightning Memory-Mapped Database} (LMDB) is a high-performance
@ -2182,14 +2183,14 @@ on another machine, accessed via TCP/IP.")
(define-public python-peewee (define-public python-peewee
(package (package
(name "python-peewee") (name "python-peewee")
(version "2.10.2") (version "3.9.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "peewee" version)) (uri (pypi-uri "peewee" version))
(sha256 (sha256
(base32 (base32
"10f2mrd5hw6rjklrzaix2lsxlgc8vx3xak54arcy6yd791zhchi3")))) "1j4sh946k0736m7pd54z0y6i2hjhgg3kdllx1pwq8xkzzcgrx1xw"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:tests? #f)) ; Fails to import test data `(#:tests? #f)) ; Fails to import test data
@ -2382,13 +2383,13 @@ etc., and an SQL engine for performing simple SQL queries.")
(define-public python-lmdb (define-public python-lmdb
(package (package
(name "python-lmdb") (name "python-lmdb")
(version "0.95") (version "0.98")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "lmdb" version)) (uri (pypi-uri "lmdb" version))
(sha256 (sha256
(base32 (base32
"0nx9f193gzl33r1lbqhb96h1igya7pz8wmahr8m9x5zgc05hal91")) "027pgbdhhdcbwj53vrzr6a60gjhmz4s75gl3180fd4q8pwlbq986"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Delete bundled lmdb source files. ;; Delete bundled lmdb source files.
@ -2424,9 +2425,6 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.")
;; but not actually needed on platforms currently supported by Guix. ;; but not actually needed on platforms currently supported by Guix.
license:bsd-3)))) license:bsd-3))))
(define-public python2-lmdb
(package-with-python2 python-lmdb))
(define-public python-orator (define-public python-orator
(package (package
(name "python-orator") (name "python-orator")
@ -3223,20 +3221,22 @@ Monitor read/write activity on a mongo server
@end table") @end table")
(license license:asl2.0))) (license license:asl2.0)))
;; There are many wrappers for this in other languages. When touching, please
;; be sure to ensure all dependencies continue to build.
(define-public apache-arrow (define-public apache-arrow
(package (package
(name "apache-arrow") (name "apache-arrow")
(version "0.10.0") (version "0.17.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/apache/arrow") (url "https://github.com/apache/arrow")
(commit (string-append "apache-arrow-" version)))) (commit (string-append "apache-arrow-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"04xkp922b8qrrnpvv9ixxnvk7151n1plzx6aqdff6frn9651zvxs")))) "02r6yx3yhywzikd3b0vfkjgddhfiriyx2vpm3jf5880wq59x798a"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f `(#:tests? #f
@ -3249,91 +3249,135 @@ Monitor read/write activity on a mongo server
(setenv "BOOST_ROOT" (assoc-ref %build-inputs "boost")) (setenv "BOOST_ROOT" (assoc-ref %build-inputs "boost"))
(setenv "BROTLI_HOME" (assoc-ref %build-inputs "brotli")) (setenv "BROTLI_HOME" (assoc-ref %build-inputs "brotli"))
(setenv "FLATBUFFERS_HOME" (assoc-ref %build-inputs "flatbuffers")) (setenv "FLATBUFFERS_HOME" (assoc-ref %build-inputs "flatbuffers"))
(setenv "JEMALLOC_HOME" (assoc-ref %build-inputs "jemalloc"))
(setenv "RAPIDJSON_HOME" (assoc-ref %build-inputs "rapidjson")) (setenv "RAPIDJSON_HOME" (assoc-ref %build-inputs "rapidjson"))
#t))) #t)))
#:build-type "Release" #:build-type "Release"
#:configure-flags #:configure-flags
(list "-DARROW_PYTHON=ON" (list "-DARROW_PYTHON=ON"
"-DARROW_GLOG=ON"
;; Parquet options
"-DARROW_PARQUET=ON"
"-DPARQUET_BUILD_EXECUTABLES=ON"
;; The maintainers disallow using system versions of
;; jemalloc:
;; https://issues.apache.org/jira/browse/ARROW-3507. This
;; is unfortunate because jemalloc increases performance:
;; https://arrow.apache.org/blog/2018/07/20/jemalloc/.
"-DARROW_JEMALLOC=OFF"
;; Install to PREFIX/lib (the default is ;; The CMake option ARROW_DEPENDENCY_SOURCE is a global
;; PREFIX/lib64). ;; option that instructs the build system how to resolve
(string-append "-DCMAKE_INSTALL_LIBDIR=" ;; each dependency. SYSTEM = Finding the dependency in
(assoc-ref %outputs "out") ;; system paths using CMake's built-in find_package
;; function, or using pkg-config for packages that do not
;; have this feature
"-DARROW_DEPENDENCY_SOURCE=SYSTEM"
;; Split output into its component packages.
(string-append "-DCMAKE_INSTALL_PREFIX="
(assoc-ref %outputs "lib"))
(string-append "-DCMAKE_INSTALL_RPATH="
(assoc-ref %outputs "lib")
"/lib") "/lib")
(string-append "-DCMAKE_INSTALL_BINDIR="
(assoc-ref %outputs "out")
"/bin")
(string-append "-DCMAKE_INSTALL_INCLUDEDIR="
(assoc-ref %outputs "include")
"/share/include")
;; XXX These Guix package offer static
;; libraries that are not position independent, "-DARROW_WITH_SNAPPY=ON"
;; and ld fails to link them into the arrow .so "-DARROW_WITH_ZLIB=ON"
"-DARROW_WITH_SNAPPY=OFF" "-DARROW_WITH_ZSTD=ON"
"-DARROW_WITH_ZLIB=OFF" "-DARROW_WITH_LZ4=ON"
"-DARROW_WITH_ZSTD=OFF" "-DARROW_COMPUTE=ON"
"-DARROW_WITH_LZ4=OFF" "-DARROW_CSV=ON"
"-DARROW_DATASET=ON"
"-DARROW_FILESYSTEM=ON"
"-DARROW_HDFS=ON"
"-DARROW_JSON=ON"
;; Arrow Python C++ integration library (required for
;; building pyarrow). This library must be built against
;; the same Python version for which you are building
;; pyarrow. NumPy must also be installed. Enabling this
;; option also enables ARROW_COMPUTE, ARROW_CSV,
;; ARROW_DATASET, ARROW_FILESYSTEM, ARROW_HDFS, and
;; ARROW_JSON.
"-DARROW_PYTHON=ON"
;; Building the tests forces on all the ;; Building the tests forces on all the
;; optional features and the use of static ;; optional features and the use of static
;; libraries. ;; libraries.
"-DARROW_BUILD_TESTS=OFF" "-DARROW_BUILD_TESTS=OFF"
"-DBENCHMARK_ENABLE_GTEST_TESTS=OFF"
;;"-DBENCHMARK_ENABLE_TESTING=OFF"
"-DARROW_BUILD_STATIC=OFF"))) "-DARROW_BUILD_STATIC=OFF")))
(inputs (inputs
`(("boost" ,boost) `(("boost" ,boost)
("rapidjson" ,rapidjson)
("brotli" ,google-brotli) ("brotli" ,google-brotli)
("flatbuffers" ,flatbuffers) ("double-conversion" ,double-conversion)
("jemalloc" ,jemalloc) ("snappy" ,snappy)
("gflags" ,gflags)
("glog" ,glog)
("apache-thrift" ,apache-thrift "lib")
("protobuf" ,protobuf)
("rapidjson" ,rapidjson)
("zlib" ,zlib)
("bzip2" ,bzip2)
("lz4" ,lz4)
("zstd" ,zstd "lib")
("re2" ,re2)
("grpc" ,grpc)
("python-3" ,python) ("python-3" ,python)
("python-numpy" ,python-numpy))) ("python-numpy" ,python-numpy)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(outputs '("out" "lib" "include"))
(home-page "https://arrow.apache.org/") (home-page "https://arrow.apache.org/")
(synopsis "Columnar in-memory analytics") (synopsis "Columnar in-memory analytics")
(description "Apache Arrow is a columnar in-memory analytics layer (description "Apache Arrow is a columnar in-memory analytics layer
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 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.") algorithm implementations.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public python-pyarrow (define-public python-pyarrow
(package (package
(inherit apache-arrow)
(name "python-pyarrow") (name "python-pyarrow")
(version "0.10.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/apache/arrow")
(commit (string-append "apache-arrow-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"04xkp922b8qrrnpvv9ixxnvk7151n1plzx6aqdff6frn9651zvxs"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:tests? #f ; XXX There are no tests in the "python" directory '(#:tests? #f ; XXX There are no tests in the "python" directory
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'build) ; XXX the build is performed again during the install phase (delete 'build) ; XXX the build is performed again during the install phase
(add-after 'unpack 'enter-source-directory (add-after 'unpack 'enter-source-directory
(lambda _ (chdir "python") #t)) (lambda _ (chdir "python") #t))
(add-after 'unpack 'set-env (add-after 'unpack 'make-git-checkout-writable
(lambda _ (lambda _
(setenv "ARROW_HOME" (assoc-ref %build-inputs "apache-arrow")) (for-each make-file-writable (find-files "."))
#t))))) #t)))))
(propagated-inputs (propagated-inputs
`(("apache-arrow" ,apache-arrow) `(("apache-arrow" ,apache-arrow "lib")
("python-numpy" ,python-numpy) ("python-numpy" ,python-numpy)
("python-pandas" ,python-pandas) ("python-pandas" ,python-pandas)
("python-six" ,python-six))) ("python-six" ,python-six)))
(native-inputs (native-inputs
`(("cmake" ,cmake-minimal) `(("cmake" ,cmake-minimal)
("pkg-config" ,pkg-config)
("python-cython" ,python-cython) ("python-cython" ,python-cython)
("python-pytest" ,python-pytest) ("python-pytest" ,python-pytest)
("python-pytest-runner" ,python-pytest-runner) ("python-pytest-runner" ,python-pytest-runner)
("python-setuptools-scm" ,python-setuptools-scm))) ("python-setuptools-scm" ,python-setuptools-scm)))
(outputs '("out"))
(home-page "https://arrow.apache.org/docs/python/") (home-page "https://arrow.apache.org/docs/python/")
(synopsis "Python bindings for Apache Arrow") (synopsis "Python bindings for Apache Arrow")
(description "This library provides a Pythonic API wrapper for the reference (description
Arrow C++ implementation, along with tools for interoperability with pandas, "This library provides a Pythonic API wrapper for the reference Arrow C++
NumPy, and other traditional Python scientific computing packages.") implementation, along with tools for interoperability with pandas, NumPy, and
other traditional Python scientific computing packages.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public python2-pyarrow (define-public python2-pyarrow

View file

@ -5,6 +5,7 @@
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com> ;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -43,6 +44,7 @@
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
@ -596,3 +598,37 @@ GDB with very efficient reverse-execution, which in combination with standard
GDB/x86 features like hardware data watchpoints, makes debugging much more GDB/x86 features like hardware data watchpoints, makes debugging much more
fun.") fun.")
(license license:expat))) (license license:expat)))
(define-public mspdebug
(package
(name "mspdebug")
(version "0.25")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dlbeer/mspdebug.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0prgwb5vx6fd4bj12ss1bbb6axj2kjyriyjxqrzd58s5jyyy8d3c"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
#:phases
(modify-phases %standard-phases
(delete 'configure)) ; no configure script
#:make-flags
(list (string-append "CC=" ,(cc-for-target))
"INSTALL=install"
(string-append "PREFIX=" %output))))
(inputs
`(("libusb-compat" ,libusb-compat)
("readline" ,readline)))
(synopsis "Debugging tool for MSP430 MCUs")
(description "MspDebug supports FET430UIF, eZ430, RF2500 and Olimex
MSP430-JTAG-TINY programmers, as well as many other compatible
devices. It can be used as a proxy for gdb or as an independent
debugger with support for programming, disassembly and reverse
engineering.")
(home-page "https://github.com/dlbeer/mspdebug")
(license license:gpl2+)))

143
gnu/packages/dhall.scm Normal file
View 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)))

View file

@ -119,7 +119,7 @@ acronyms distributed as an info document.")
"GCIDE is a free dictionary based on a combination of sources. It can "GCIDE is a free dictionary based on a combination of sources. It can
be used via the GNU Dico program or accessed online at be used via the GNU Dico program or accessed online at
http://gcide.gnu.org.ua/") http://gcide.gnu.org.ua/")
(home-page "http://gcide.gnu.org.ua/") (home-page "https://gcide.gnu.org.ua/")
(license license:gpl3+))) (license license:gpl3+)))
(define-public diction (define-public diction
@ -205,14 +205,14 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
(define-public grammalecte (define-public grammalecte
(package (package
(name "grammalecte") (name "grammalecte")
(version "1.9.0") (version "1.10.0")
(source (source
(origin (origin
(method url-fetch/zipbomb) (method url-fetch/zipbomb)
(uri (string-append "https://grammalecte.net/grammalecte/zip/" (uri (string-append "https://grammalecte.net/grammalecte/zip/"
"Grammalecte-fr-v" version ".zip")) "Grammalecte-fr-v" version ".zip"))
(sha256 (sha256
(base32 "1dmbmvf27dy0cnq2x7ldp9xmni8fl1p7vflgpy0yrgifgrjvnxzr")))) (base32 "0lyngnvg995qdm9bhqj8vd8aywpcdqmzv3j4j77wxhsfa9k0pz08"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "https://grammalecte.net") (home-page "https://grammalecte.net")
(synopsis "French spelling and grammar checker") (synopsis "French spelling and grammar checker")
@ -231,7 +231,7 @@ and a Python library.")
(define-public translate-shell (define-public translate-shell
(package (package
(name "translate-shell") (name "translate-shell")
(version "0.9.6.11") (version "0.9.6.12")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -240,7 +240,7 @@ and a Python library.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "137fz3ahzf65hfqcs4k7hhrmfjlhlw7wr3gfsvk88bnyqkyw44sm")))) (base32 "075vqnha21rhr1b61dim7dqlfwm1yffyzcaa83s36rpk9r5sddzx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -70,163 +70,162 @@
#:use-module (ice-9 match)) #:use-module (ice-9 match))
(define-public diffoscope (define-public diffoscope
(let ((version "143")) (package
(package (name "diffoscope")
(name "diffoscope") (version "146")
(version version) (source (origin
(source (origin (method git-fetch)
(method git-fetch) (uri (git-reference
(uri (git-reference (url "https://salsa.debian.org/reproducible-builds/diffoscope.git")
(url "https://salsa.debian.org/reproducible-builds/diffoscope.git") (commit version)))
(commit version))) (file-name (git-file-name name version))
(file-name (git-file-name name version)) (sha256
(sha256 (base32
(base32 "07kd3vshf4wlm0mv3mp6ljbxjq80mcg52w5ks6si1gnpzfbfz07p"))))
"0j58dqdk8ln8y0bcnfy37ljs37nkl56lzxqns396300ysln0qiwm")))) (build-system python-build-system)
(build-system python-build-system) (arguments
(arguments `(#:phases (modify-phases %standard-phases
`(#:phases (modify-phases %standard-phases ;; setup.py mistakenly requires python-magic from PyPi, even
;; setup.py mistakenly requires python-magic from PyPi, even ;; though the Python bindings of `file` are sufficient.
;; though the Python bindings of `file` are sufficient. ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844
;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844 (add-after 'unpack 'dependency-on-python-magic
(add-after 'unpack 'dependency-on-python-magic (lambda _
(lambda _ (substitute* "setup.py"
(substitute* "setup.py" (("'python-magic',") ""))))
(("'python-magic',") "")))) ;; Patch in support for known tools
;; Patch in support for known tools (add-after 'unpack 'add-known-tools
(add-after 'unpack 'add-known-tools (lambda _
(lambda _ (substitute* "diffoscope/external_tools.py"
(substitute* "diffoscope/external_tools.py" (("'debian': 'openssl'")
(("'debian': 'openssl'") "'debian': 'openssl', 'guix': 'openssl'"))))
"'debian': 'openssl', 'guix': 'openssl'")))) ;; This test is broken because our `file` package has a
;; This test is broken because our `file` package has a ;; bug in berkeley-db file type detection.
;; bug in berkeley-db file type detection. (add-after 'unpack 'remove-berkeley-test
(add-after 'unpack 'remove-berkeley-test (lambda _
(lambda _ (delete-file "tests/comparators/test_berkeley_db.py")
(delete-file "tests/comparators/test_berkeley_db.py") #t))
#t)) ;; Test is dynamically generated and may have false
;; Test is dynamically generated and may have false ;; negatives with different ocaml versions. Further
;; negatives with different ocaml versions. Further ;; background in: https://bugs.debian.org/939386
;; background in: https://bugs.debian.org/939386 (add-after 'unpack 'remove-ocaml-test
(add-after 'unpack 'remove-ocaml-test (lambda _
(lambda _ (substitute* "tests/comparators/test_ocaml.py"
(substitute* "tests/comparators/test_ocaml.py" (("def test_diff.differences.:")
(("def test_diff.differences.:") "def skip_test_diff(differences):"))
"def skip_test_diff(differences):")) #t))
#t)) (add-after 'unpack 'skip-elf-tests
(add-after 'unpack 'skip-elf-tests ;; FIXME: libmix_differences test added in 125, and is
;; FIXME: libmix_differences test added in 125, and is ;; failing, need to explore why...
;; failing, need to explore why... (lambda _
(lambda _ (substitute* "tests/comparators/test_elf.py"
(substitute* "tests/comparators/test_elf.py" (("def test_libmix_differences.libmix_differences.:")
(("def test_libmix_differences.libmix_differences.:") "def skip_test_libmix_differences(libmix_differences):"))
"def skip_test_libmix_differences(libmix_differences):")) #t))
#t)) (add-after 'unpack 'embed-tool-references
(add-after 'unpack 'embed-tool-references (lambda* (#:key inputs #:allow-other-keys)
(lambda* (#:key inputs #:allow-other-keys) (substitute* "diffoscope/comparators/utils/compare.py"
(substitute* "diffoscope/comparators/utils/compare.py" (("\\['xxd',")
(("\\['xxd',") (string-append "['" (which "xxd") "',")))
(string-append "['" (which "xxd") "',"))) (substitute* "diffoscope/comparators/elf.py"
(substitute* "diffoscope/comparators/elf.py" (("@tool_required\\('readelf'\\)") "")
(("@tool_required\\('readelf'\\)") "") (("get_tool_name\\('readelf'\\)")
(("get_tool_name\\('readelf'\\)") (string-append "'" (which "readelf") "'")))
(string-append "'" (which "readelf") "'"))) (substitute* "diffoscope/comparators/directory.py"
(substitute* "diffoscope/comparators/directory.py" (("@tool_required\\('stat'\\)") "")
(("@tool_required\\('stat'\\)") "") (("@tool_required\\('getfacl'\\)") "")
(("@tool_required\\('getfacl'\\)") "") (("\\['stat',")
(("\\['stat',") (string-append "['" (which "stat") "',"))
(string-append "['" (which "stat") "',")) (("\\['getfacl',")
(("\\['getfacl',") (string-append "['" (which "getfacl") "',")))
(string-append "['" (which "getfacl") "',"))) #t))
#t)) (add-before 'check 'writable-test-data
(add-before 'check 'writable-test-data (lambda _
(lambda _ ;; tests may need needs write access to tests
;; tests may need needs write access to tests ;; directory
;; directory (for-each make-file-writable (find-files "tests"))
(for-each make-file-writable (find-files "tests")) #t))
#t)) (add-before 'check 'delete-failing-test
(add-before 'check 'delete-failing-test (lambda _
(lambda _ ;; this requires /sbin to be on the path
;; this requires /sbin to be on the path (delete-file "tests/test_tools.py")
(delete-file "tests/test_tools.py") #t)))))
#t))))) (inputs `(("rpm" ,rpm) ;for rpm-python
(inputs `(("rpm" ,rpm) ;for rpm-python ("python-file" ,python-file)
("python-file" ,python-file) ("python-debian" ,python-debian)
("python-debian" ,python-debian) ("python-libarchive-c" ,python-libarchive-c)
("python-libarchive-c" ,python-libarchive-c) ("python-tlsh" ,python-tlsh)
("python-tlsh" ,python-tlsh) ("acl" ,acl) ;for getfacl
("acl" ,acl) ;for getfacl ("colordiff" ,colordiff)
("colordiff" ,colordiff) ("xxd" ,xxd)))
("xxd" ,xxd))) ;; Below are modules used for tests.
;; Below are modules used for tests. (native-inputs `(("python-pytest" ,python-pytest)
(native-inputs `(("python-pytest" ,python-pytest) ("python-chardet" ,python-chardet)
("python-chardet" ,python-chardet) ("python-binwalk" ,python-binwalk)
("python-binwalk" ,python-binwalk) ("python-h5py" ,python-h5py)
("python-h5py" ,python-h5py) ("python-pypdf2" ,python-pypdf2)
("python-pypdf2" ,python-pypdf2) ("python-progressbar33" ,python-progressbar33)
("python-progressbar33" ,python-progressbar33) ;; test suite skips tests when tool is missing
;; test suite skips tests when tool is missing ,@(match (%current-system)
,@(match (%current-system) ;; ghc is only available on x86 currently.
;; ghc is only available on x86 currently. ((or "x86_64-linux" "i686-linux")
((or "x86_64-linux" "i686-linux") `(("ghc" ,ghc)))
`(("ghc" ,ghc))) (_
(_ `()))
`())) ,@(match (%current-system)
,@(match (%current-system) ;; openjdk and dependent packages are only
;; openjdk and dependent packages are only ;; available on x86_64 currently.
;; available on x86_64 currently. ((or "x86_64-linux")
((or "x86_64-linux") `(("enjarify" ,enjarify)
`(("enjarify" ,enjarify) ;; no unversioned openjdk available
;; no unversioned openjdk available ("openjdk:jdk" ,openjdk12 "jdk")
("openjdk:jdk" ,openjdk12 "jdk") ))
)) (_
(_ `()))
`())) ("abootimg" ,abootimg)
("abootimg" ,abootimg) ("bdb" ,bdb)
("bdb" ,bdb) ("binutils" ,binutils)
("binutils" ,binutils) ("bzip2" ,bzip2)
("bzip2" ,bzip2) ("cdrtools" ,cdrtools)
("cdrtools" ,cdrtools) ("colord" ,colord)
("colord" ,colord) ("cpio" ,cpio)
("cpio" ,cpio) ("docx2txt" ,docx2txt)
("docx2txt" ,docx2txt) ("dtc" ,dtc)
("dtc" ,dtc) ("e2fsprogs" ,e2fsprogs)
("e2fsprogs" ,e2fsprogs) ("ffmpeg" ,ffmpeg)
("ffmpeg" ,ffmpeg) ("gettext" ,gettext-minimal)
("gettext" ,gettext-minimal) ("ghostscript" ,ghostscript)
("ghostscript" ,ghostscript) ("giflib:bin" ,giflib "bin")
("giflib:bin" ,giflib "bin") ("gnumeric" ,gnumeric)
("gnumeric" ,gnumeric) ("gnupg" ,gnupg)
("gnupg" ,gnupg) ("hdf5" ,hdf5)
("hdf5" ,hdf5) ("imagemagick" ,imagemagick)
("imagemagick" ,imagemagick) ("libarchive" ,libarchive)
("libarchive" ,libarchive) ("llvm" ,llvm)
("llvm" ,llvm) ("lz4" ,lz4)
("lz4" ,lz4) ("mono" ,mono)
("mono" ,mono) ("ocaml" ,ocaml)
("ocaml" ,ocaml) ("odt2txt" ,odt2txt)
("odt2txt" ,odt2txt) ("openssh" ,openssh)
("openssh" ,openssh) ("openssl" ,openssl)
("openssl" ,openssl) ("pgpdump" ,pgpdump)
("pgpdump" ,pgpdump) ("poppler" ,poppler)
("poppler" ,poppler) ("python-jsbeautifier" ,python-jsbeautifier)
("python-jsbeautifier" ,python-jsbeautifier) ("r-minimal" ,r-minimal)
("r-minimal" ,r-minimal) ("rpm" ,rpm)
("rpm" ,rpm) ("sng" ,sng)
("sng" ,sng) ("sqlite" ,sqlite)
("sqlite" ,sqlite) ("squashfs-tools" ,squashfs-tools)
("squashfs-tools" ,squashfs-tools) ("tcpdump" ,tcpdump)
("tcpdump" ,tcpdump) ("unzip" ,unzip)
("unzip" ,unzip) ("wabt" ,wabt)
("wabt" ,wabt) ("xxd" ,xxd)
("xxd" ,xxd) ("xz" ,xz)
("xz" ,xz) ("zip" ,zip)
("zip" ,zip) ("zstd" ,zstd)))
("zstd" ,zstd))) (home-page "https://diffoscope.org/")
(home-page "https://diffoscope.org/") (synopsis "Compare files, archives, and directories in depth")
(synopsis "Compare files, archives, and directories in depth") (description
(description "Diffoscope tries to get to the bottom of what makes files or directories
"Diffoscope tries to get to the bottom of what makes files or directories
different. It recursively unpacks archives of many kinds and transforms different. It recursively unpacks archives of many kinds and transforms
various binary formats into more human readable forms to compare them. It can various binary formats into more human readable forms to compare them. It can
compare two tarballs, ISO images, or PDFs just as easily. 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 Diffoscope has many optional dependencies; @code{diffoscope
--list-missing-tools guix} will display optional packages to --list-missing-tools guix} will display optional packages to
install.") install.")
(license license:gpl3+)))) (license license:gpl3+)))
(define-public reprotest (define-public reprotest
(package (package

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -22,7 +23,9 @@
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages autotools)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
@ -59,18 +62,22 @@ utilities.")
(define-public djview (define-public djview
(package (package
(name "djview") (name "djview")
(version "4.10.6") (version "4.11")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "mirror://sourceforge/djvu/DjView/" (uri (git-reference
(version-major+minor version) "/" (url "https://git.code.sf.net/p/djvu/djview-git")
"djview-" version ".tar.gz")) (commit (string-append "release." version))))
(sha256 (sha256
(base32 "08bwv8ppdzhryfcnifgzgdilb12jcnivl4ig6hd44f12d76z6il4")))) (base32 "0qlhd0xlxn8i869m0hwdjvwivi2vigqm88wliyr1h7s84zl3qhsy"))
(file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("qttools" ,qttools))) ("qttools" ,qttools)))
(inputs (inputs
`(("djvulibre" ,djvulibre) `(("djvulibre" ,djvulibre)
@ -86,6 +93,11 @@ utilities.")
(lambda _ (lambda _
(substitute* "desktopfiles/djvulibre-djview4.desktop" (substitute* "desktopfiles/djvulibre-djview4.desktop"
(("Exec=djview4 %f") "Exec=djview %f")) (("Exec=djview4 %f") "Exec=djview %f"))
#t))
(add-after 'unpack 'make-files-writable
(lambda _
(for-each make-file-writable
(find-files "."))
#t))))) #t)))))
(home-page "http://djvu.sourceforge.net/djview4.html") (home-page "http://djvu.sourceforge.net/djview4.html")
(synopsis "Viewer for the DjVu image format") (synopsis "Viewer for the DjVu image format")

View file

@ -119,7 +119,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
(define-public isc-bind (define-public isc-bind
(package (package
(name "bind") (name "bind")
(version "9.16.2") (version "9.16.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -127,7 +127,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
"/bind-" version ".tar.xz")) "/bind-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0gwr4p14zy5jqq050n762rfc33km51qwipcwy6bsvk55ziybgrfr")))) "0zjgaspnx0p0rp83h4yj595s25da7fjis94z9frhv3azvq9nbb17"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs `("out" "utils")) (outputs `("out" "utils"))
(inputs (inputs
@ -391,14 +391,14 @@ to result in system-wide compromise.")
(define-public unbound (define-public unbound
(package (package
(name "unbound") (name "unbound")
(version "1.10.0") (version "1.10.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.unbound.net/downloads/unbound-" (uri (string-append "https://www.unbound.net/downloads/unbound-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "0mg9divpysr42sp0m693a70693dp8025v6c9dv1yabr4g1jlhbqm")))) (base32 "0dnmh9jjh2v274f0hl31bgv40pl77mmfgky8bkqr5kvi3b17fdmp"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "python")) (outputs '("out" "python"))
(native-inputs (native-inputs
@ -595,14 +595,14 @@ Extensions} (DNSSEC).")
(define-public knot (define-public knot
(package (package
(name "knot") (name "knot")
(version "2.9.3") (version "2.9.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://secure.nic.cz/files/knot-dns/" (uri (string-append "https://secure.nic.cz/files/knot-dns/"
"knot-" version ".tar.xz")) "knot-" version ".tar.xz"))
(sha256 (sha256
(base32 "0zm0642hkb16sqkqpa84f89f3s0bw44m837r1nia8m89swvz3bgj")) (base32 "0xmzmhd2m9rb24clrrd9k058harsq67nyjplpbyxvy1g46xah28i"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; ;;;
@ -47,7 +47,7 @@
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control)
#:use-module (gnu packages virtualization)) #:use-module (gnu packages virtualization))
(define %docker-version "19.03.7") (define %docker-version "19.03.11")
(define-public python-docker-py (define-public python-docker-py
(package (package
@ -314,7 +314,7 @@ built-in registry server of Docker.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1sik109lxmiwgrsnvfip1nnal1xkh8z1mlvys6aknjyh29ll1iq8")) (base32 "1pmbggxbazipl24hxiaccbj32379zv79xba76l78v5131ihx922h"))
(patches (patches
(search-patches "docker-fix-tests.patch")))) (search-patches "docker-fix-tests.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
@ -544,7 +544,9 @@ built-in registry server of Docker.")
(install-file (string-append "bundles/dynbinary-daemon/dockerd-" (install-file (string-append "bundles/dynbinary-daemon/dockerd-"
(getenv "VERSION")) (getenv "VERSION"))
out-bin) out-bin)
#t)))))) #t)))
(add-after 'install 'remove-go-references
(assoc-ref go:%standard-phases 'remove-go-references)))))
(inputs (inputs
`(("btrfs-progs" ,btrfs-progs) `(("btrfs-progs" ,btrfs-progs)
("containerd" ,containerd) ; for containerd-shim ("containerd" ,containerd) ; for containerd-shim
@ -590,7 +592,7 @@ provisioning etc.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "164l33npy8acdbbrz8vcyiwx18vi55wwwikkasg0w43b5bdhz8sx")))) (base32 "1y9ymv70r1hndblr64h19q34arxl2f3dqqi2qcrai5zfimcml6lr"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
`(#:import-path "github.com/docker/cli" `(#:import-path "github.com/docker/cli"

View file

@ -111,7 +111,7 @@ release/xsl/current")
("docbook-xsl" ,docbook-xsl) ("docbook-xsl" ,docbook-xsl)
("libxml2" ,libxml2) ("libxml2" ,libxml2)
("libxslt" ,libxslt))) ("libxslt" ,libxslt)))
(home-page "http://asciidoc.org/") (home-page "https://asciidoc.org/")
(synopsis "Text-based document generation system") (synopsis "Text-based document generation system")
(description (description
"AsciiDoc is a text document format for writing notes, documentation, "AsciiDoc is a text document format for writing notes, documentation,

View file

@ -47,8 +47,7 @@
popularized by X11-window managers like dwm, to the console. As a console popularized by X11-window managers like dwm, to the console. As a console
window manager it tries to make it easy to work with multiple console based window manager it tries to make it easy to work with multiple console based
programs.") programs.")
(home-page "http://www.brain-dump.org/projects/dvtm/") (home-page "https://www.brain-dump.org/projects/dvtm/")
;; "dvtm reuses some code of dwm and is released under the same MIT/X11 ;; "dvtm reuses some code of dwm and is released under the same MIT/X11
;; license. The terminal emulation part is licensed under the ISC license." ;; license. The terminal emulation part is licensed under the ISC license."
;; source: http://www.brain-dump.org/projects/dvtm/#license ;; source: http://www.brain-dump.org/projects/dvtm/#license

View file

@ -39,7 +39,7 @@
(define-public liblcf (define-public liblcf
(package (package
(name "liblcf") (name "liblcf")
(version "0.6.1") (version "0.6.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -47,7 +47,7 @@
"/liblcf-" version ".tar.gz")) "/liblcf-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1qz387r4shbx48r3z7k8llkzz4b039zmak98wxpiwn6a23cssdn5")))) "0n2k4brd264jg9p6918x7dnb2iimpzjh8q3v1fws58450xbgnkqc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))

View file

@ -46,6 +46,7 @@
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages javascript) #:use-module (gnu packages javascript)
#:use-module (gnu packages libusb) #:use-module (gnu packages libusb)
#:use-module (gnu packages libreoffice)
#:use-module (gnu packages pdf) #:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
@ -82,7 +83,7 @@
(define-public calibre (define-public calibre
(package (package
(name "calibre") (name "calibre")
(version "3.42.0") (version "4.18.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -91,13 +92,18 @@
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0ymdhws3cb44p3fb24vln1wx6s7qnb8rr241jvm6qbj5rnp984dm")) "0w9pcfvskjh4v00vjw3i6hzrafy863pgsmmqdx4lffip3p856brw"))
;; Unbundle python2-odfpy.
;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
;; Unbundle python2-odfpy.
(delete-file-recursively "src/odf") (delete-file-recursively "src/odf")
;; Disable test that attempts to load it.
(substitute* "setup/test.py"
((".*SRC, 'odf'.*")
""))
;; Remove unneeded resources.
(delete-file "resources/viewer.js") (delete-file "resources/viewer.js")
(delete-file "resources/viewer.html") (delete-file "resources/viewer.html")
(delete-file "resources/mozilla-ca-certs.pem") (delete-file "resources/mozilla-ca-certs.pem")
@ -105,8 +111,6 @@
(delete-file "resources/calibre-portable.sh") (delete-file "resources/calibre-portable.sh")
#t)) #t))
(patches (search-patches "calibre-no-updates-dialog.patch" (patches (search-patches "calibre-no-updates-dialog.patch"
"calibre-msgpack-compat.patch"
"calibre-remove-test-bs4.patch" ; TODO: fix test.
"calibre-remove-test-sqlite.patch" ; TODO: fix test. "calibre-remove-test-sqlite.patch" ; TODO: fix test.
"calibre-remove-test-unrar.patch")))) "calibre-remove-test-unrar.patch"))))
(build-system python-build-system) (build-system python-build-system)
@ -115,12 +119,13 @@
("qtbase" ,qtbase) ; for qmake ("qtbase" ,qtbase) ; for qmake
("python2-flake8" ,python2-flake8) ("python2-flake8" ,python2-flake8)
("xdg-utils" ,xdg-utils))) ("xdg-utils" ,xdg-utils)))
;; Beautifulsoup3 is bundled but obsolete and not packaged, so just leave it bundled.
(inputs (inputs
`(("chmlib" ,chmlib) `(("chmlib" ,chmlib)
("fontconfig" ,fontconfig) ("fontconfig" ,fontconfig)
("font-liberation" ,font-liberation) ("font-liberation" ,font-liberation)
("glib" ,glib) ("glib" ,glib)
("hunspell" ,hunspell)
("hyphen" ,hyphen)
("icu4c" ,icu4c) ("icu4c" ,icu4c)
("js-mathjax" ,js-mathjax) ("js-mathjax" ,js-mathjax)
("libmtp" ,libmtp) ("libmtp" ,libmtp)
@ -132,6 +137,7 @@
("poppler" ,poppler) ("poppler" ,poppler)
("python" ,python-2) ("python" ,python-2)
("python2-apsw" ,python2-apsw) ("python2-apsw" ,python2-apsw)
("python2-beautifulsoup4" ,python2-beautifulsoup4)
("python2-chardet" ,python2-chardet) ("python2-chardet" ,python2-chardet)
("python2-cssselect" ,python2-cssselect) ("python2-cssselect" ,python2-cssselect)
("python2-css-parser" ,python2-css-parser) ("python2-css-parser" ,python2-css-parser)
@ -153,9 +159,11 @@
("python2-pillow" ,python2-pillow) ("python2-pillow" ,python2-pillow)
("python2-psutil" ,python2-psutil) ("python2-psutil" ,python2-psutil)
("python2-pygments" ,python2-pygments) ("python2-pygments" ,python2-pygments)
("python2-pyqtwebengine" ,python2-pyqtwebengine)
("python2-pyqt" ,python2-pyqt) ("python2-pyqt" ,python2-pyqt)
("python2-sip" ,python2-sip) ("python2-sip" ,python2-sip)
("python2-regex" ,python2-regex) ("python2-regex" ,python2-regex)
("qtwebengine" ,qtwebengine)
("sqlite" ,sqlite))) ("sqlite" ,sqlite)))
(arguments (arguments
`(#:python ,python-2 `(#:python ,python-2
@ -170,6 +178,18 @@
;; We can't use the uninstaller in Guix. Don't build it. ;; We can't use the uninstaller in Guix. Don't build it.
(("self\\.create_uninstaller()") "")) (("self\\.create_uninstaller()") ""))
#t)) #t))
(add-after 'patch-source-shebangs 'patch-more-shebangs
(lambda _
;; Patch various inline shebangs.
(substitute* '("src/calibre/gui2/preferences/tweaks.py"
"src/calibre/gui2/dialogs/custom_recipes.py"
"setup/install.py"
"setup/linux-installer.sh")
(("#!/usr/bin/env python")
(string-append "#!" (which "python")))
(("#!/bin/sh")
(string-append "#!" (which "sh"))))
#t))
(add-after 'unpack 'dont-load-remote-icons (add-after 'unpack 'dont-load-remote-icons
(lambda _ (lambda _
(substitute* "setup/plugins_mirror.py" (substitute* "setup/plugins_mirror.py"
@ -180,9 +200,12 @@
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let ((podofo (assoc-ref inputs "podofo")) (let ((podofo (assoc-ref inputs "podofo"))
(pyqt (assoc-ref inputs "python2-pyqt")) (pyqt (assoc-ref inputs "python2-pyqt"))
(python-sip (assoc-ref inputs "python2-sip"))
(out (assoc-ref outputs "out"))) (out (assoc-ref outputs "out")))
(substitute* "setup/build_environment.py" (substitute* "setup/build_environment.py"
(("sys.prefix") (string-append "'" pyqt "'"))) (("= get_sip_dir\\(\\)")
(string-append "= '" pyqt "/share/sip'")))
(substitute* "src/calibre/ebooks/pdf/pdftohtml.py" (substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
(("PDFTOHTML = 'pdftohtml'") (("PDFTOHTML = 'pdftohtml'")
(string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler") (string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler")
@ -195,6 +218,18 @@
(substitute* "src/calibre/linux.py" (substitute* "src/calibre/linux.py"
(("'~/.local/share'") "''")) (("'~/.local/share'") "''"))
;; 'python setup.py rapydscript' uses QtWebEngine, which
;; needs to create temporary files in $HOME.
(setenv "HOME" "/tmp")
;; XXX: QtWebEngine will fail if no fonts are available. This
;; can likely be removed when fontconfig has been patched to
;; include TrueType fonts by default.
(symlink (string-append (assoc-ref inputs "font-liberation")
"/share/fonts")
"/tmp/.fonts")
(setenv "SIP_BIN" (string-append python-sip "/bin/sip"))
(setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo")) (setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo"))
(setenv "PODOFO_LIB_DIR" (string-append podofo "/lib")) (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"))
;; This informs the tests we are a continuous integration ;; This informs the tests we are a continuous integration

View file

@ -7,6 +7,7 @@
;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net> ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -39,6 +40,7 @@
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages golang)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages javascript) #:use-module (gnu packages javascript)
@ -68,6 +70,7 @@
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system qt) #:use-module (guix build-system qt)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
@ -114,7 +117,7 @@
("texi2html" ,texi2html) ("texi2html" ,texi2html)
("glib:bin" ,glib "bin") ("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(home-page "http://gcompris.net") (home-page "https://gcompris.net")
(synopsis "Educational software suite") (synopsis "Educational software suite")
(description "GCompris is an educational software suite comprising of (description "GCompris is an educational software suite comprising of
numerous activities for children aged 2 to 10. Some of the activities are numerous activities for children aged 2 to 10. Some of the activities are
@ -386,7 +389,10 @@ to open the application in a web browser, for offline usage.")
Type=Application~%" Type=Application~%"
out))) out)))
#t)))))) #t))))))
(inputs `(("python-pyqt" ,python-pyqt))) (native-inputs
`(("unzip" ,unzip)))
(inputs
`(("python-pyqt" ,python-pyqt)))
(synopsis "School tools for physically disabled children") (synopsis "School tools for physically disabled children")
(description "ToutEnClic is intended to facilitate the schooling (description "ToutEnClic is intended to facilitate the schooling
of physically disabled children in ordinary schools. It is both of physically disabled children in ordinary schools. It is both
@ -606,14 +612,14 @@ Portuguese, Spanish and Italian.")
(define-public fet (define-public fet
(package (package
(name "fet") (name "fet")
(version "5.44.4") (version "5.45.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.lalescu.ro/liviu/fet/download/" (uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
"fet-" version ".tar.bz2")) "fet-" version ".tar.bz2"))
(sha256 (sha256
(base32 "1bji4910v6adhngdh5ajz5bxam9z3yqnh8d1h1xajy6npm6qq3nx")))) (base32 "04jns6wc20rz6cp410znsllknhp4zlf4rn8wgv712855nffs42c6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -645,15 +651,14 @@ hours.")
(define-public klavaro (define-public klavaro
(package (package
(name "klavaro") (name "klavaro")
(version "3.09") (version "3.10")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/klavaro/klavaro-" (uri (string-append "mirror://sourceforge/klavaro/klavaro-"
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32 "0jnzdrndiq6m0bwgid977z5ghp4q61clwdlzfpx4fd2ml5x3iq95"))))
"12gml7h45b1w9s318h0d5wxw92h7pgajn2kh57j0ak9saq0yb0wr"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("intltool" ,intltool) `(("intltool" ,intltool)
@ -976,3 +981,35 @@ comparison flags, input-output devices, and a set of binary instructions.
The package includes a compiler, a virtual machine, a GUI for the virtual The package includes a compiler, a virtual machine, a GUI for the virtual
machine, and more.") machine, and more.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public exercism
(package
(name "exercism")
(version "3.0.13")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/exercism/cli")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"17gvz9a0sn4p36hf4l77bxhhfipf4x998iay31layqwbnzmb4xy7"))
(patches (search-patches "exercism-disable-self-update.patch"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/exercism/cli/exercism"
#:unpack-path "github.com/exercism/cli"))
(inputs
`(("github.com/blang/semver" ,go-github-com-blang-semver)
("github.com/spf13/cobra" ,go-github-com-spf13-cobra)
("github.com/spf13/pflag" ,go-github-com-spf13-pflag)
("github.com/spf13/viper" ,go-github-com-spf13-viper)
("golang.org/x/net" ,go-golang-org-x-net)
("golang.org/x/text" ,go-golang-org-x-text)))
(home-page "https://exercism.io")
(synopsis "Mentored learning for programming languages")
(description "Commandline client for exercism.io, a free service providing
mentored learning for programming languages.")
(license license:expat)))

View file

@ -37,14 +37,14 @@
(define-public gnu-efi (define-public gnu-efi
(package (package
(name "gnu-efi") (name "gnu-efi")
(version "3.0.11") (version "3.0.12")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/gnu-efi/" (uri (string-append "mirror://sourceforge/gnu-efi/"
"gnu-efi-" version ".tar.bz2")) "gnu-efi-" version ".tar.bz2"))
(sha256 (sha256
(base32 "1ffnc4xbzfggs37ymrgfx76j56kk2644c081ivhr2bjkla9ag3gj")))) (base32 "0sbn6am3k5lqafycggh1g964fcwjwnh0i9hhwrk4ncrwzphz55h1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; none exist `(#:tests? #f ; none exist
@ -54,8 +54,8 @@
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure)))) (delete 'configure))))
(synopsis "EFI toolchain") (synopsis "EFI toolchain")
(description "This package provides an EFI (Extensible Firmware (description "This package provides an @acronym{EFI, Extensible Firmware
Interface) toolchain for building programs that can run in the Interface} toolchain for building programs that can run in the
environment presented by Intel's EFI.") environment presented by Intel's EFI.")
(home-page "https://directory.fsf.org/wiki/GNU_EFI") (home-page "https://directory.fsf.org/wiki/GNU_EFI")
;; Distribution is allowed only when accepting all those licenses. ;; Distribution is allowed only when accepting all those licenses.

View file

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
@ -38,7 +38,9 @@
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages sphinx) #:use-module (gnu packages sphinx)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages xml)) #:use-module (gnu packages xml)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
(define-public elfutils (define-public elfutils
(package (package
@ -67,10 +69,11 @@
(assoc-ref %outputs "out") (assoc-ref %outputs "out")
"/lib")) "/lib"))
;; Disable tests on MIPS (without changing ;; Disable tests on MIPS and PowerPC (without changing
;; the arguments list on other systems). ;; the arguments list on other systems).
,@(if (string-prefix? "mips" (or (%current-target-system) ,@(if (any (cute string-prefix? <> (or (%current-target-system)
(%current-system))) (%current-system)))
'("mips" "powerpc"))
'(#:tests? #f) '(#:tests? #f)
'()) '())
@ -109,14 +112,14 @@ object or archive file), @command{eu-strip} (for discarding symbols),
(package (package
(name "libabigail") (name "libabigail")
(home-page "https://sourceware.org/libabigail/") (home-page "https://sourceware.org/libabigail/")
(version "1.6") (version "1.7")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://sourceware.org/pub/libabigail/" (uri (string-append "https://sourceware.org/pub/libabigail/"
"libabigail-" version ".tar.gz")) "libabigail-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"04j07lhvwbp6qp8pdwbf7iqnr7kgpabmqylsw4invpmzwnyp6g6g")))) "0bf8w01l6wm7mm4clfg5rqi30m1ws11qqa4bp2vxghfwgi9ai8i7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--disable-static" `(#:configure-flags '("--disable-static"

File diff suppressed because it is too large Load diff

View file

@ -1040,7 +1040,7 @@ the Raspberry Pi chip."))))
(define-public python-libmpsse (define-public python-libmpsse
(package (package
(name "python-libmpsse") (name "python-libmpsse")
(version "1.4") (version "1.4.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1050,7 +1050,7 @@ the Raspberry Pi chip."))))
(file-name "libmpsse-checkout") (file-name "libmpsse-checkout")
(sha256 (sha256
(base32 (base32
"14f1kiiia4kfd9mzwx4h63aa8bpz9aknbrrr7mychnsp3arw0z25")))) "1rypfb96k2szqgygp3jnwg2zq9kwmfz0460dsahn3r2vkzml8wn7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("libftdi" ,libftdi) `(("libftdi" ,libftdi)

View file

@ -470,7 +470,7 @@ and Game Boy Color games.")
(define-public sameboy (define-public sameboy
(package (package
(name "sameboy") (name "sameboy")
(version "0.12.3") (version "0.13.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -479,7 +479,7 @@ and Game Boy Color games.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0m5rv2x8qck1kr43xq186pp4kaiay7gd1x775n9qrljcd7z4x6fs")))) (base32 "19qb1ib9sk5bjdv4arbwkv8l2afpll5axrif3wi7p2yhvpba10c0"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("rgbds" ,rgbds) `(("rgbds" ,rgbds)
@ -489,7 +489,7 @@ and Game Boy Color games.")
`(("sdl2" ,sdl2))) `(("sdl2" ,sdl2)))
(arguments (arguments
`(#:tests? #f ; There are no tests `(#:tests? #f ; There are no tests
#:make-flags `("CC=gcc" "CONF=release" #:make-flags `("CC=gcc" "NATIVE_CC=gcc" "CONF=release"
,(string-append "DATA_DIR=" ,(string-append "DATA_DIR="
(assoc-ref %outputs "out") (assoc-ref %outputs "out")
"/share/sameboy/")) "/share/sameboy/"))
@ -1274,7 +1274,7 @@ play them on systems for which they were never designed!")
(define-public mame (define-public mame
(package (package
(name "mame") (name "mame")
(version "0.220") (version "0.221")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1283,7 +1283,7 @@ play them on systems for which they were never designed!")
(commit (apply string-append "mame" (string-split version #\.))))) (commit (apply string-append "mame" (string-split version #\.)))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0x3yr195zi7xjr21p1c2l8c0vhg0a0af0mpz4i1w7q7r9krvcvz4")) (base32 "07fl7alj9zlyb93i8lnn4706ndy3qiv0pjvwnwysk5rqa0r3463y"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Remove bundled libraries. ;; Remove bundled libraries.

View file

@ -61,6 +61,7 @@
#:use-module (gnu packages commencement) #:use-module (gnu packages commencement)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages digest)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
@ -82,6 +83,7 @@
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages image-processing) #:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages imagemagick)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux) ;FIXME: for pcb #:use-module (gnu packages linux) ;FIXME: for pcb
#:use-module (gnu packages m4) #:use-module (gnu packages m4)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
@ -103,6 +105,7 @@
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control)
#:use-module (gnu packages wxwidgets) #:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages openkinect)
#:use-module (gnu packages xorg)) #:use-module (gnu packages xorg))
(define-public librecad (define-public librecad
@ -535,7 +538,7 @@ featuring various improvements and bug fixes.")))
(copy-recursively "doc" doc) (copy-recursively "doc" doc)
(copy-recursively "examples" examples) (copy-recursively "examples" examples)
#t)))))) #t))))))
(home-page "http://www.rle.mit.edu/cpg/research_codes.htm") (home-page "https://www.rle.mit.edu/cpg/research_codes.htm")
(synopsis "Multipole-accelerated capacitance extraction program") (synopsis "Multipole-accelerated capacitance extraction program")
(description (description
"Fastcap is a capacitance extraction program based on a "Fastcap is a capacitance extraction program based on a
@ -583,7 +586,7 @@ multipole-accelerated algorithm.")
(copy-recursively "doc" doc) (copy-recursively "doc" doc)
(copy-recursively "examples" examples) (copy-recursively "examples" examples)
#t)))))) #t))))))
(home-page "http://www.rle.mit.edu/cpg/research_codes.htm") (home-page "https://www.rle.mit.edu/cpg/research_codes.htm")
(synopsis "Multipole-accelerated inductance analysis program") (synopsis "Multipole-accelerated inductance analysis program")
(description (description
"Fasthenry is an inductance extraction program based on a "Fasthenry is an inductance extraction program based on a
@ -1334,7 +1337,7 @@ bindings for Python, Java, OCaml and more.")
(define-public radare2 (define-public radare2
(package (package
(name "radare2") (name "radare2")
(version "4.2.1") (version "4.4.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1342,39 +1345,37 @@ bindings for Python, Java, OCaml and more.")
(commit version))) (commit version)))
(sha256 (sha256
(base32 (base32
"14b9433cgc2nabhz836zfgvgh2dwailcmvy05krsa0inmzbvx9fg")) "0gwdnrnk7wdgkajp2qwg4fyplh7nsbmf01bzx07px6xmiscd9z2s"))
(file-name (git-file-name name version)) (file-name (git-file-name name version))))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "libr/asm/p/Makefile"
(("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))
(substitute* "libr/parse/p/Makefile"
(("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))
(substitute* "libr/bin/p/Makefile"
(("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))
#t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f ; tests require git and network access '(#:tests? #f ; tests require git and network access
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'mklibdir (add-before 'configure 'mklibdir
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(mkdir-p (string-append (assoc-ref %outputs "out") "/lib")) (mkdir-p (string-append (assoc-ref outputs "out") "/lib"))
#t))) #t)))
#:configure-flags #:configure-flags
(list "--with-sysmagic" "--with-syszip" "--with-openssl" (list "--with-openssl"
"--without-nonpic" "--with-rpath" "--with-syscapstone") "--with-rpath"
"--with-syscapstone"
"--with-sysmagic"
"--with-syszip"
"--with-sysxxhash")
#:make-flags #:make-flags
(list "CC=gcc"))) (list "CC=gcc")))
;; TODO: Add gmp and libzip and make the build system actually find them.
(inputs (inputs
`(("openssl" ,openssl) `(("capstone" ,capstone)
("zip" ,zip) ("libuv" ,libuv)
("gmp" ,gmp) ("openssl" ,openssl)
("capstone" ,capstone))) ("zip" ,zip)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(propagated-inputs
;; In the Libs: section of r_hash.pc.
`(("xxhash" ,xxhash)))
(home-page "https://radare.org/") (home-page "https://radare.org/")
(synopsis "Reverse engineering framework") (synopsis "Reverse engineering framework")
(description (description
@ -2047,17 +2048,18 @@ simulator backends @code{Qucsator}, @code{ngspice} and @code{Xyce}.")
(define-public librepcb (define-public librepcb
(package (package
(name "librepcb") (name "librepcb")
(version "0.1.3") (version "0.1.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.librepcb.org/releases/" (uri (string-append "https://download.librepcb.org/releases/"
version "/librepcb-" version "-source.zip")) version "/librepcb-" version "-source.zip"))
(sha256 (sha256
(base32 "1ich849dsx2hmcwlwbry4mkg374n940l3hy6srh4qms2rm7vd7x0")))) (base32 "1b5dkanz3q0y5ag80w0l85hn7axrachb5m9zvyv4zvzrfy09wa88"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("qtbase" ,qtbase) `(("qtbase" ,qtbase)
("qtsvg" ,qtsvg)
("zlib" ,zlib))) ("zlib" ,zlib)))
(native-inputs (native-inputs
`(("qttools" ,qttools) ; for lrelease `(("qttools" ,qttools) ; for lrelease
@ -2174,7 +2176,7 @@ simulation.")
(define-public cutter (define-public cutter
(package (package
(name "cutter") (name "cutter")
(version "1.10.1") (version "1.10.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2183,8 +2185,7 @@ simulation.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "0qj8jyij02nif4jpirl09ygwnv8a9zi3vkb5sf5s8mg7qwlpnvyk"))))
"1gvsrcskcdd1hxrjpkpc657anmfs25f174vxk4wzvn385rnmrxd3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -2193,8 +2194,8 @@ simulation.")
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")) (let ((out (assoc-ref outputs "out"))
(radare2 (assoc-ref inputs "radare2"))) (radare2 (assoc-ref inputs "radare2")))
;; fix pkg-config detection ./src/lib_radare2.pri:PREFIX=/usr/lib ;; Fix pkg-config detection ./src/lib_radare2.pri:PREFIX=/usr/lib
;; override `qmake PREFIX=` ;; override `qmake PREFIX=`.
(substitute* "./src/lib_radare2.pri" (substitute* "./src/lib_radare2.pri"
(("PREFIX") "R2PREFIX") (("PREFIX") "R2PREFIX")
(("R2PREFIX=/usr") (string-append "R2PREFIX=" radare2))) (("R2PREFIX=/usr") (string-append "R2PREFIX=" radare2)))
@ -2263,7 +2264,9 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
".src.tar.gz")) ".src.tar.gz"))
(sha256 (sha256
(base32 (base32
"0nbgk5q5pgnw53la0kccdcpz2f4xf6d6076rkn0q08z57hkc85ha")))) "0nbgk5q5pgnw53la0kccdcpz2f4xf6d6076rkn0q08z57hkc85ha"))
(patches (search-patches
"openscad-parser-boost-1.72.patch"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (inputs
`(("boost" ,boost) `(("boost" ,boost)
@ -2617,3 +2620,60 @@ accessible through a simple API")
model files. Its main goal is to simplify the creation of 3DS import and model files. Its main goal is to simplify the creation of 3DS import and
export filters.") export filters.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public meshlab
(package
(name "meshlab")
(version "2020.05")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cnr-isti-vclab/meshlab")
(commit (string-append "Meshlab-" version))
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "00sim20ka9vjwljixdj4cqd285j21mpaq05ari7nqq2w8yyglp5m"))))
(build-system cmake-build-system)
(inputs
`(("qtbase" ,qtbase)
("qtscript" ,qtscript)
("qtxmlpatterns" ,qtxmlpatterns)
("mesa" ,mesa)
("glu" ,glu)
("glew" ,glew)
("muparser" ,muparser)
("gmp" ,gmp)
("eigen" ,eigen)
("libfreenect" ,libfreenect)
("lib3ds" ,lib3ds)
("openctm" ,openctm)
;; FIXME: Compilation fails with system qhull:
;; https://github.com/cnr-isti-vclab/meshlab/issues/678
;; ("qhull" ,qhull)
))
(arguments
`(#:tests? #f ; Has no tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'go-to-source-dir
(lambda _ (chdir "src") #t))
(add-after 'install 'move-files
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (string-append (assoc-ref outputs "out")
"/lib")))
(rename-file
(string-append lib "/meshlab/libmeshlab-common.so")
(string-append lib "/libmeshlab-common.so"))
#t))))))
(synopsis "3D triangular mesh processing and editing software")
(home-page "https://www.meshlab.net/")
(description "MeshLab is a system for the processing and
editing of unstructured large 3D triangular meshes. It is aimed to help the
processing of the typical not-so-small unstructured models arising in 3D
scanning, providing a set of tools for editing, cleaning, healing, inspecting,
rendering and converting this kind of meshes. These tools include MeshLab
proper, a versatile program with a graphical user interface, and meshlabserver,
a program that can perform mesh processing tasks in batch mode, without a
GUI.")
(license license:gpl3+)))

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz> ;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org> ;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de> ;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de>
@ -33,6 +33,7 @@
#:use-module (gnu packages algebra) #:use-module (gnu packages algebra)
#:use-module (gnu packages avahi) #:use-module (gnu packages avahi)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages bittorrent)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages code) #:use-module (gnu packages code)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
@ -69,7 +70,7 @@
(define-public efl (define-public efl
(package (package
(name "efl") (name "efl")
(version "1.23.3") (version "1.24.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -77,7 +78,7 @@
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"00b9lp3h65254kdb1ys15fv7p3ln7qsvf15jkw4kli5ymagadkjk")))) "0w3srvigg4kfi7xq76c7y4hnq5yr2gxrrsvlyj1g2wc1igz1vyg1"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
`(("check" ,check) `(("check" ,check)
@ -93,6 +94,7 @@
("libraw" ,libraw) ("libraw" ,libraw)
("librsvg" ,librsvg) ("librsvg" ,librsvg)
("libspectre" ,libspectre) ("libspectre" ,libspectre)
("libtiff" ,libtiff)
("libxau" ,libxau) ("libxau" ,libxau)
("libxcomposite" ,libxcomposite) ("libxcomposite" ,libxcomposite)
("libxcursor" ,libxcursor) ("libxcursor" ,libxcursor)
@ -102,18 +104,19 @@
("libxi" ,libxi) ("libxi" ,libxi)
("libxfixes" ,libxfixes) ("libxfixes" ,libxfixes)
("libxinerama" ,libxinerama) ("libxinerama" ,libxinerama)
("libxp" ,libxp)
("libxrandr" ,libxrandr) ("libxrandr" ,libxrandr)
("libxrender" ,libxrender) ("libxrender" ,libxrender)
("libxss" ,libxscrnsaver) ("libxss" ,libxscrnsaver)
("libxtst" ,libxtst) ("libxtst" ,libxtst)
("libwebp" ,libwebp)
("openjpeg" ,openjpeg)
("poppler" ,poppler) ("poppler" ,poppler)
("util-linux" ,util-linux "lib")
("wayland-protocols" ,wayland-protocols))) ("wayland-protocols" ,wayland-protocols)))
(propagated-inputs (propagated-inputs
;; All these inputs are in package config files in section ;; All these inputs are in package config files in section
;; Requires.private. ;; Requires.private.
`(("avahi" ,avahi) `(("avahi" ,avahi)
("bullet" ,bullet)
("dbus" ,dbus) ("dbus" ,dbus)
("elogind" ,elogind) ("elogind" ,elogind)
("eudev" ,eudev) ("eudev" ,eudev)
@ -122,30 +125,32 @@
("fribidi" ,fribidi) ("fribidi" ,fribidi)
("glib" ,glib) ("glib" ,glib)
("harfbuzz" ,harfbuzz) ("harfbuzz" ,harfbuzz)
("luajit" ,luajit)
("libinput" ,libinput-minimal) ("libinput" ,libinput-minimal)
("libjpeg" ,libjpeg-turbo) ("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libsndfile" ,libsndfile) ("libsndfile" ,libsndfile)
("libtiff" ,libtiff) ("libpng" ,libpng)
("libwebp" ,libwebp)
("libx11" ,libx11) ("libx11" ,libx11)
("libxkbcommon" ,libxkbcommon) ("libxkbcommon" ,libxkbcommon)
("luajit" ,luajit)
("lz4" ,lz4) ("lz4" ,lz4)
("openssl" ,openssl) ("openssl" ,openssl)
("pulseaudio" ,pulseaudio) ("pulseaudio" ,pulseaudio)
("util-linux" ,util-linux "lib")
("wayland" ,wayland) ("wayland" ,wayland)
("zlib" ,zlib))) ("zlib" ,zlib)))
(arguments (arguments
`(#:configure-flags '("-Dsystemd=false" `(#:configure-flags '("-Dsystemd=false"
"-Delogind=true"
"-Dembedded-lz4=false" "-Dembedded-lz4=false"
"-Devas-loaders-disabler=json" "-Devas-loaders-disabler=json"
"-Dbuild-examples=false" "-Dbuild-examples=false"
"-Decore-imf-loaders-disabler=scim"
"-Davahi=true"
"-Dglib=true"
"-Dmount-path=/run/setuid-programs/mount"
"-Dunmount-path=/run/setuid-programs/umount"
;(string-append "-Ddictionaries-hyphen-dir=" ;(string-append "-Ddictionaries-hyphen-dir="
; (assoc-ref %build-inputs "hyphen") ; (assoc-ref %build-inputs "hyphen")
; "/share/hyphen") ; "/share/hyphen")
"-Delogind=true"
"-Dnetwork-backend=connman" "-Dnetwork-backend=connman"
,@(match (%current-system) ,@(match (%current-system)
("armhf-linux" ("armhf-linux"
@ -153,22 +158,27 @@
(_ (_
'("-Dopengl=full"))) '("-Dopengl=full")))
;; for wayland ;; for wayland
"-Dwl-deprecated=true" ; ecore_wayland
"-Ddrm-deprecated=true" ; ecore_drm
"-Dwl=true" "-Dwl=true"
"-Ddrm=true") "-Ddrm=true")
#:tests? #f ; Many tests fail due to timeouts and network requests. #:tests? #f ; Many tests fail due to timeouts and network requests.
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; If we don't hardcode the location of libcurl.so then we ;; If we don't hardcode the location of libcurl.so and others then we
;; have to wrap the outputs of efl's dependencies in curl. ;; have to wrap the outputs of efl's dependencies in those libraries.
(add-after 'unpack 'hardcode-libcurl-location (add-after 'unpack 'hardcode-dynamic-libraries
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let* ((curl (assoc-ref inputs "curl")) (let ((curl (assoc-ref inputs "curl"))
(lib (string-append curl "/lib/"))) (pulse (assoc-ref inputs "pulseaudio"))
(sndfile (assoc-ref inputs "libsndfile"))
(lib "/lib/"))
(substitute* "src/lib/ecore_con/ecore_con_url_curl.c" (substitute* "src/lib/ecore_con/ecore_con_url_curl.c"
(("libcurl.so.?" libcurl) ; libcurl.so.[45] (("libcurl.so.?" libcurl) ; libcurl.so.[45]
(string-append lib libcurl))) (string-append curl lib libcurl)))
(substitute* "src/lib/ecore_audio/ecore_audio.c"
(("libpulse.so.0" libpulse)
(string-append pulse lib libpulse))
(("libsndfile.so.1" libsnd)
(string-append sndfile lib libsnd)))
#t))) #t)))
(add-after 'unpack 'fix-install-paths (add-after 'unpack 'fix-install-paths
(lambda _ (lambda _
@ -283,7 +293,7 @@ Libraries with some extra bells and whistles.")
(define-public enlightenment (define-public enlightenment
(package (package
(name "enlightenment") (name "enlightenment")
(version "0.23.1") (version "0.24.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -291,27 +301,27 @@ Libraries with some extra bells and whistles.")
"enlightenment/enlightenment-" version ".tar.xz")) "enlightenment/enlightenment-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0d1cyl07w9pvi2pf029kablazks2q9aislzl46b6fq5m1465jc75")) "02aadl5fqvpmpjnisrc4aw7ffwyp1109y4k1wvmp33ciihbvdqmf"))
(patches (search-patches "enlightenment-fix-setuid-path.patch")))) (patches (search-patches "enlightenment-fix-setuid-path.patch"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags '("-Dsystemd=false") `(#:configure-flags
(let ((efl (assoc-ref %build-inputs "efl")))
(list "-Dsystemd=false"
"-Dpackagekit=false"
(string-append "-Dedje-cc=" efl "/bin/edje_cc")
(string-append "-Deldbus-codegen=" efl "/bin/eldbus-codegen")
(string-append "-Deet=" efl "/bin/eet")))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'bootstrap) ; We don't want to run the autogen script. (delete 'bootstrap) ; We don't want to run the autogen script.
(add-after 'unpack 'fix-dot-desktop-creation
(lambda _
(substitute* "data/session/meson.build"
(("HAVE_WAYLAND'.*") "HAVE_WAYLAND') == true\n"))
#t))
(add-before 'configure 'set-system-actions (add-before 'configure 'set-system-actions
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(setenv "HOME" "/tmp") (setenv "HOME" "/tmp")
(let ((xkeyboard (assoc-ref inputs "xkeyboard-config")) (let ((xkeyboard (assoc-ref inputs "xkeyboard-config"))
(setxkbmap (assoc-ref inputs "setxkbmap")) (setxkbmap (assoc-ref inputs "setxkbmap"))
(utils (assoc-ref inputs "util-linux")) (utils (assoc-ref inputs "util-linux"))
(libc (assoc-ref inputs "libc")) (libc (assoc-ref inputs "libc"))
(bluez (assoc-ref inputs "bluez"))
(bc (assoc-ref inputs "bc")) (bc (assoc-ref inputs "bc"))
(efl (assoc-ref inputs "efl"))) (efl (assoc-ref inputs "efl")))
;; We need to patch the path to 'base.lst' to be able ;; We need to patch the path to 'base.lst' to be able
@ -328,23 +338,22 @@ Libraries with some extra bells and whistles.")
"src/modules/conf_intl/e_int_config_intl.c" "src/modules/conf_intl/e_int_config_intl.c"
"src/modules/wizard/page_010.c") "src/modules/wizard/page_010.c")
(("locale -a") (string-append libc "/bin/locale -a"))) (("locale -a") (string-append libc "/bin/locale -a")))
(substitute* "src/bin/e_import_config_dialog.c"
(("%s/edje_cc -v %s %s %s\", e_prefix_bin_get\\(\\)")
(string-append efl "/bin/edje_cc -v %s %s %s\"")))
(substitute* "src/modules/everything/evry_plug_apps.c" (substitute* "src/modules/everything/evry_plug_apps.c"
(("/usr/bin/") "")) (("/usr/bin/") ""))
(substitute* '("src/bin/e_sys_main.c"
"src/bin/e_util_suid.h")
(("PATH=/bin:/usr/bin:/sbin:/usr/sbin")
(string-append "PATH=/run/setuid-programs:"
"/run/current-system/profile/bin:"
"/run/current-system/profile/sbin")))
(substitute* "src/modules/everything/evry_plug_calc.c" (substitute* "src/modules/everything/evry_plug_calc.c"
(("bc -l") (string-append bc "/bin/bc -l"))) (("bc -l") (string-append bc "/bin/bc -l")))
(substitute* "data/etc/meson.build" (substitute* "data/etc/meson.build"
(("/bin/mount") "/run/setuid-programs/mount") (("/bin/mount") "/run/setuid-programs/mount")
(("/bin/umount") "/run/setuid-programs/umount") (("/bin/umount") "/run/setuid-programs/umount")
(("/usr/bin/eject") (string-append utils "/bin/eject")) (("/usr/bin/eject") (string-append utils "/bin/eject")))
(("/usr/bin/l2ping") (string-append bluez "/bin/l2ling")) (substitute* "src/bin/system/e_system_power.c"
(("/bin/rfkill") (string-append utils "/sbin/rfkill")) (("systemctl") "loginctl"))
(("SUSPEND = ''") "SUSPEND = '/run/current-system/profile/bin/loginctl suspend'")
(("HIBERNATE = ''") "HIBERNATE = '/run/current-system/profile/bin/loginctl hibernate'")
(("/sbin/shutdown -h now") "/run/current-system/profile/bin/loginctl poweroff now")
(("/sbin/shutdown -r now") "/run/current-system/profile/bin/loginctl reboot now"))
#t)))))) #t))))))
(native-inputs (native-inputs
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)
@ -389,7 +398,7 @@ embedded systems.")
(define-public python-efl (define-public python-efl
(package (package
(name "python-efl") (name "python-efl")
(version "1.23.0") (version "1.24.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -397,7 +406,7 @@ embedded systems.")
"python/python-efl-" version ".tar.xz")) "python/python-efl-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"16yn6a1b9167nfmryyi44ma40m20ansfpwgrvqzfvwix7qaz9pib")) "1vk1cdd959gia4a9qzyq56a9zw3lqf9ck66k8c9g3c631mp5cfpy"))
(modules '((guix build utils))) (modules '((guix build utils)))
;; Remove files generated by Cython ;; Remove files generated by Cython
(snippet (snippet
@ -590,3 +599,42 @@ directories.
"This is a process monitor and system monitor using the "This is a process monitor and system monitor using the
@dfn{Enlightenment Foundation Libraries} (EFL).") @dfn{Enlightenment Foundation Libraries} (EFL).")
(license license:bsd-2))) (license license:bsd-2)))
(define-public epour
(package
(name "epour")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.enlightenment.org/rel/apps/epour"
"/epour-" version ".tar.xz"))
(sha256
(base32
"0g9f9p01hsq6dcf4cs1pwq95g6fpkyjgwqlvdjk1km1i5gj5ygqw"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no test target
#:use-setuptools? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'find-theme-dir
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "epour/gui/__init__.py"
(("join\\(data_path")
(string-append "join(\"" out "/share/epour\"")))
#t))))))
(native-inputs
`(("intltool" ,intltool)
("python-distutils-extra" ,python-distutils-extra)))
(inputs
`(("libtorrent-rasterbar" ,libtorrent-rasterbar)
("python-dbus" ,python-dbus)
("python-efl" ,python-efl)
("python-pyxdg" ,python-pyxdg)))
(home-page "https://www.enlightenment.org")
(synopsis "EFL Bittorrent client")
(description "Epour is a BitTorrent client based on the @dfn{Enlightenment
Foundation Libraries} (EFL) and rb-libtorrent.")
(license license:gpl3+)))

View file

@ -27,6 +27,7 @@
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system linux-module) #:use-module (guix build-system linux-module)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
@ -53,7 +54,9 @@
#:use-module (gnu packages photo) #:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages rsync)
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages valgrind) #:use-module (gnu packages valgrind)
@ -100,7 +103,7 @@ file permissions, timestamps, symbolic and hard links, and extended attributes.
Each file in the archive is protected by a checksum. If part of the archive Each file in the archive is protected by a checksum. If part of the archive
is corrupted you'll lose the affected file(s) but not the whole back-up.") is corrupted you'll lose the affected file(s) but not the whole back-up.")
(home-page "http://www.fsarchiver.org/") (home-page "https://www.fsarchiver.org/")
(license license:gpl2))) (license license:gpl2)))
(define-public gphotofs (define-public gphotofs
@ -187,6 +190,38 @@ caching system, and lets you assign different roles to each device based on its
performance and other characteristics.") performance and other characteristics.")
(license license:gpl2+)))) (license license:gpl2+))))
(define-public exfatprogs
(package
(name "exfatprogs")
(version "1.0.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/exfatprogs/exfatprogs")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1s47qvhr702z5c19wfqz8cwl9ammmincs7a8vjc6p974wnnjg77y"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--disable-static")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/exfatprogs/exfatprogs")
(synopsis "Tools to create, check, and repair exFAT file systems")
(description
"These are command-line user space tools for the @acronym{exFAT,
Extensible File Allocation Table} file systems. Included are
@command{mkfs.exfat} to create (format) new exFAT file systems, and
@command{fsck.exfat} to check their consistency and repair them.")
(license license:gpl2+)))
(define-public httpfs2 (define-public httpfs2
(package (package
(name "httpfs2") (name "httpfs2")
@ -323,7 +358,7 @@ from the jfsutils package. It is meant to be used in initrds.")
(define-public disorderfs (define-public disorderfs
(package (package
(name "disorderfs") (name "disorderfs")
(version "0.5.9") (version "0.5.10")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -333,7 +368,7 @@ from the jfsutils package. It is meant to be used in initrds.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0irgr9hkm9icx1s44m9382484yx8hddzjxbsz621ip9c946pif0g")))) "0lsisx5118k0qk0b5klbxl03rvhycnznyfx05yxmjawh85bfhmlh"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -491,8 +526,9 @@ network. LIBNFS offers three different APIs, for different use :
)))) ))))
(define-public apfs-fuse (define-public apfs-fuse
(let ((commit "c7036a3030d128bcecefc1eabc47c039ccfdcec9") ;; Later versions require FUSE 3.
(revision "0")) (let ((commit "7b89418e8dc27103d3c4f8fa348086ffcd634c17")
(revision "1"))
(package (package
(name "apfs-fuse") (name "apfs-fuse")
(version (git-version "0.0.0" revision commit)) (version (git-version "0.0.0" revision commit))
@ -504,11 +540,13 @@ network. LIBNFS offers three different APIs, for different use :
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"1akd4cx1f9cyq6sfk9ybv4chhjwjlnqi8ic4z5ajnd5x0g76nz3r")) "0x2siy3cmnm9wsdfazg3xc8r3kbg73gijmnn1vjw33pp71ckylxr"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f ; No test suite `(#:tests? #f ; No test suite
#:configure-flags
'("-DUSE_FUSE3=OFF") ; FUSE 3 is not packaged yet.
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; No 'install' target in CMakeLists.txt ;; No 'install' target in CMakeLists.txt
@ -523,6 +561,7 @@ network. LIBNFS offers three different APIs, for different use :
(install-file "apfs-dump-quick" bin) (install-file "apfs-dump-quick" bin)
(install-file "apfs-fuse" bin) (install-file "apfs-fuse" bin)
(install-file "libapfs.a" lib) (install-file "libapfs.a" lib)
(install-file "../source/README.md" doc)
#t)))))) #t))))))
(inputs (inputs
`(("bzip2" ,bzip2) `(("bzip2" ,bzip2)
@ -646,3 +685,100 @@ APFS.")
originally developed for Solaris and is now maintained by the OpenZFS originally developed for Solaris and is now maintained by the OpenZFS
community.") community.")
(license license:cddl1.0))) (license license:cddl1.0)))
(define-public mergerfs
(package
(name "mergerfs")
(version "2.29.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/trapexit/mergerfs/releases/download/"
version "/mergerfs-" version ".tar.gz"))
(sha256
(base32
"17gizw4vgbqqjd2ykkfpp276942jb5qclp0lkiwkmq1yjgyjqfmk"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No tests exist.
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(setenv "CC" "gcc")
;; These were copied from the package libfuse.
(substitute* '("libfuse/lib/mount_util.c" "libfuse/util/mount_util.c")
(("/bin/(u?)mount" _ maybe-u)
(string-append (assoc-ref inputs "util-linux")
"/bin/" maybe-u "mount")))
(substitute* '("libfuse/util/mount.mergerfs.c")
(("/bin/sh")
(which "sh")))
;; The Makefile does not allow overriding PREFIX via make variables.
(substitute* '("Makefile" "libfuse/Makefile")
(("= /usr/local") (string-append "= " (assoc-ref outputs "out")))
;; cannot chown as build user
(("chown root:root") "true"))
#t)))))
;; mergerfs bundles a heavily modified copy of libfuse.
(inputs `(("util-linux" ,util-linux)))
(home-page "https://github.com/trapexit/mergerfs")
(synopsis "Featureful union filesystem")
(description "mergerfs is a union filesystem geared towards simplifying
storage and management of files across numerous commodity storage devices. It
is similar to mhddfs, unionfs, and aufs.")
(license (list
license:isc ; mergerfs
license:gpl2 license:lgpl2.0 ; Imported libfuse code.
))))
(define-public mergerfs-tools
(let ((commit "c926779d87458d103f3b674603bf97801ae2486d")
(revision "1"))
(package
(name "mergerfs-tools")
;; No released version exists.
(version (git-version "0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/trapexit/mergerfs-tools.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"04hhwcib0xv4cf1mkj8zrp2aqpxkncml9iqg4m1mz6a5zhzsk0vm"))))
(build-system copy-build-system)
(inputs
`(("python" ,python)
("python-xattr" ,python-xattr)
("rsync" ,rsync)))
(arguments
'(#:install-plan
'(("src/" "bin/"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "src" "^mergerfs\\.")
(("'rsync'")
(string-append "'" (assoc-ref inputs "rsync") "/bin/rsync'"))
(("'rm'")
(string-append "'" (assoc-ref inputs "coreutils") "/bin/rm'")))
(substitute* "src/mergerfs.mktrash"
(("xattr")
(string-append (assoc-ref inputs "python-xattr") "/bin/xattr"))
(("mkdir")
(string-append (assoc-ref inputs "coreutils") "/bin/mkdir")))
#t)))))
(synopsis "Tools to help manage data in a mergerfs pool")
(description "mergerfs-tools is a suite of programs that can audit
permissions and ownership of files and directories on a mergerfs volume,
duplicates files and directories across branches in its pool, find and remove
duplicate files, balance pool drives, consolidate files in a single mergerfs
directory onto a single drive and create FreeDesktop.org Trash specification
compatible directories.")
(home-page "https://github.com/trapexit/mergerfs-tools")
(license license:isc))))

View file

@ -6,7 +6,7 @@
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
@ -19,6 +19,7 @@
;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org> ;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch> ;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -172,23 +173,22 @@ line client and a client based on Qt.")
(define-public homebank (define-public homebank
(package (package
(name "homebank") (name "homebank")
(version "5.2.8") (version "5.4.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://homebank.free.fr/public/homebank-" (uri (string-append "http://homebank.free.fr/public/homebank-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"13ampiv68y30kc0p2560g3yz8whqpwnidfcnb9lndv93b9ca767y")))) "0bkjvd819kw9cwmr3macggbg8yil3yc8v2za8pjrl6g746s89kn6"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
("intltool" ,intltool))) ("intltool" ,intltool)))
(inputs (inputs
`(("gtk+" ,gtk+) `(("gtk+" ,gtk+)
("libofx" ,libofx)
("libsoup" ,libsoup))) ("libsoup" ,libsoup)))
(arguments
`(#:configure-flags (list "-without-ofx"))) ; libofx is not available yet
(home-page "http://homebank.free.fr/") (home-page "http://homebank.free.fr/")
(synopsis "Graphical personal accounting application") (synopsis "Graphical personal accounting application")
(description "HomeBank allows you to manage your personal accounts at (description "HomeBank allows you to manage your personal accounts at
@ -475,7 +475,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
(define-public electron-cash (define-public electron-cash
(package (package
(name "electron-cash") (name "electron-cash")
(version "4.0.14") (version "4.0.15")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -484,7 +484,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1dp7cj1185h6xfz6jzh0iq58zvg3wq9hl96bkgxkf5h4ygni2vm6")))) (base32 "0bvj64fdxpi0dbivhgv509kqq503zjp7r7xckl8q5c48j5h1zik2"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
`(("libevent" ,libevent) `(("libevent" ,libevent)
@ -547,7 +547,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
;; the system's dynamically linked library. ;; the system's dynamically linked library.
(package (package
(name "monero") (name "monero")
(version "0.15.0.5") (version "0.16.0.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -568,7 +568,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
#t)) #t))
(sha256 (sha256
(base32 (base32
"06zzwa0y8ic6x3y2fy501788r51p4klanyvmm76ywrwf087njlkv")))) "0x74h5z0nxxxip97ibc854pqmrgd8r4d6w62m424f66i8gbzfskh"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("doxygen" ,doxygen) `(("doxygen" ,doxygen)
@ -666,7 +666,7 @@ the Monero command line client and daemon.")
(define-public monero-gui (define-public monero-gui
(package (package
(name "monero-gui") (name "monero-gui")
(version "0.15.0.4") (version "0.16.0.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -676,14 +676,16 @@ the Monero command line client and daemon.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"12m5fgnxkr11q2arx1m5ccpxqm5ljcvm6l547dwqn297zs5jim4z")))) "06vdrsj5y9k0zn32hspyxc7sw1kkyrvi3chzkdbnxk9jvyj8k4ld"))))
(build-system qt-build-system) (build-system qt-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("monero-source" ,(package-source monero))
("pkg-config" ,pkg-config)
("qttools" ,qttools))) ("qttools" ,qttools)))
(inputs (inputs
`(("boost" ,boost) `(("boost" ,boost)
("hidapi" ,hidapi) ("hidapi" ,hidapi)
("libgcrypt" ,libgcrypt)
("libsodium" ,libsodium) ("libsodium" ,libsodium)
("libunwind" ,libunwind) ("libunwind" ,libunwind)
("libusb" ,libusb) ("libusb" ,libusb)
@ -705,7 +707,16 @@ the Monero command line client and daemon.")
`(#:tests? #f ; No tests `(#:tests? #f ; No tests
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'fix-makefile-vars (add-after 'unpack 'get-monero-extra-files
;; Some headers and GnuPG public keys of the monero package source
;; code are required to build the GUI.
(lambda* (#:key inputs #:allow-other-keys)
(invoke "tar" "-xv" "--wildcards" "--strip-components=1"
"-C" "monero"
"-f" (assoc-ref inputs "monero-source")
"*.asc" "*.h")
#t))
(add-after 'get-monero-extra-files 'fix-makefile-vars
(lambda _ (lambda _
(substitute* "src/zxcvbn-c/makefile" (substitute* "src/zxcvbn-c/makefile"
(("\\?=") "=")) (("\\?=") "="))
@ -1510,14 +1521,14 @@ like Flowee the Hub, which Fulcrum connects to over RPC.")
(define-public flowee (define-public flowee
(package (package
(name "flowee") (name "flowee")
(version "2020.03.3") (version "2020.04.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://gitlab.com/FloweeTheHub/thehub/-/archive/" (uri (string-append "https://gitlab.com/FloweeTheHub/thehub/-/archive/"
version "/thehub-" version ".tar.gz")) version "/thehub-" version ".tar.gz"))
(sha256 (sha256
(base32 "0ksyh7ll3v9p8f5y15vcb2vkrpzb4h0ricag9j90ad4b4rfsnpjw")))) (base32 "1vwvaxm3b71pfx8l4rrv06wqks6xdf2333w856b36s1bzvj53rhc"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags '("-Dbuild_tests=ON" "-Denable_gui=OFF") `(#:configure-flags '("-Dbuild_tests=ON" "-Denable_gui=OFF")
@ -1535,6 +1546,8 @@ like Flowee the Hub, which Fulcrum connects to over RPC.")
(lambda _ (lambda _
(substitute* "testing/CMakeLists.txt" (substitute* "testing/CMakeLists.txt"
(("test_api") "")) (("test_api") ""))
(substitute* "testing/CMakeLists.txt"
(("add_subdirectory\\(api\\)") ""))
#t)) #t))
(add-after 'configure 'set-build-info (add-after 'configure 'set-build-info
;; Their genbuild.sh to generate a build.h fails in guix (no .git dir) . ;; Their genbuild.sh to generate a build.h fails in guix (no .git dir) .

View file

@ -34,6 +34,7 @@
;;; Copyright © 2020 John Soo <jsoo1@asu.edu> ;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -196,7 +197,7 @@ itself."))))
(define-public font-cantarell (define-public font-cantarell
(package (package
(name "font-abattis-cantarell") (name "font-abattis-cantarell")
(version "0.111") (version "0.201")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/cantarell-fonts/" (uri (string-append "mirror://gnome/sources/cantarell-fonts/"
@ -204,11 +205,10 @@ itself."))))
"/cantarell-fonts-" version ".tar.xz")) "/cantarell-fonts-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"05hpnhihwm9sxlq1qn993g03pwkmpjbn0dvnba71r1gfjv0jp2w5")))) "0qwqmkczqy09fdj8l11nr841ks0dwsydqg55qyms12m4yvjn87xn"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
`(("appstream-glib" ,appstream-glib) `(("gettext" ,gettext-minimal))) ; for msgfmt
("gettext" ,gettext-minimal))) ;for msgfmt
(home-page "https://wiki.gnome.org/Projects/CantarellFonts") (home-page "https://wiki.gnome.org/Projects/CantarellFonts")
(synopsis "Cantarell sans-serif typeface") (synopsis "Cantarell sans-serif typeface")
(description "The Cantarell font family is a contemporary Humanist (description "The Cantarell font family is a contemporary Humanist
@ -310,14 +310,14 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over
(define-public font-liberation (define-public font-liberation
(package (package
(name "font-liberation") (name "font-liberation")
(version "2.00.5") (version "2.1.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/liberationfonts/liberation-fonts/" (uri (string-append "https://github.com/liberationfonts/liberation-fonts/"
"files/2926169/liberation-fonts-ttf-" version ".tar.gz")) "files/4743886/liberation-fonts-ttf-" version ".tar.gz"))
(sha256 (sha256
(base32 "0kdjsbf0y716k1kv0i0ixdpvg7b9b8xkcsg6favaxdc7pshg0kzi")))) (base32 "1jkg8j8jx7ffj13z5ilw7dids99dyypljm1pv06ycmghw1pw3qlf"))))
(build-system font-build-system) (build-system font-build-system)
(home-page "https://github.com/liberationfonts") (home-page "https://github.com/liberationfonts")
(synopsis "Fonts compatible with Arial, Times New Roman, and Courier New") (synopsis "Fonts compatible with Arial, Times New Roman, and Courier New")
@ -678,7 +678,7 @@ for use at smaller text sizes")))
(define-public font-gnu-unifont (define-public font-gnu-unifont
(package (package
(name "font-gnu-unifont") (name "font-gnu-unifont")
(version "13.0.01") (version "13.0.02")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -688,7 +688,7 @@ for use at smaller text sizes")))
(string-append "mirror://gnu/unifont/unifont-" (string-append "mirror://gnu/unifont/unifont-"
version "/unifont-" version ".tar.gz"))) version "/unifont-" version ".tar.gz")))
(sha256 (sha256
(base32 "1svzm3xahb2m8r79ha9gb1z3zlckykx9d87cghswj7dxn9868j4b")))) (base32 "1fg908qadh14kfbpzqfj3vgzlxgx68sdlwhl2prz7arq5r45dami"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" ; TrueType version (outputs '("out" ; TrueType version
"pcf" ; PCF (bitmap) version "pcf" ; PCF (bitmap) version
@ -1068,7 +1068,7 @@ vector graphics.")
(define-public font-tamzen (define-public font-tamzen
(package (package
(name "font-tamzen") (name "font-tamzen")
(version "1.11.4") (version "1.11.5")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1077,8 +1077,7 @@ vector graphics.")
(commit (string-append "Tamzen-" version)))) (commit (string-append "Tamzen-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "00x5fipzqimglvshhqwycdhaqslbvn3rl06jnswhyxfvz16ymj7s"))))
"17kgmvg6q32mqhx9g44hjvzv0si0mnpprga4z7na930g2zdd8846"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -1122,16 +1121,14 @@ later hand-tweaked with the gbdfed(1) editor:
(define-public font-comic-neue (define-public font-comic-neue
(package (package
(name "font-comic-neue") (name "font-comic-neue")
;; The v2.3 and v2.4 releases at https://github.com/crozynski/comicneue (version "2.5")
;; are equivalent. The home page hosts 2.3, not 2.4, so we use that here.
(version "2.3")
(source (origin (source (origin
(method url-fetch/zipbomb) (method url-fetch/zipbomb)
(uri (string-append (uri (string-append
"http://www.comicneue.com/comic-neue-" version ".zip")) "http://www.comicneue.com/comic-neue-" version ".zip"))
(sha256 (sha256
(base32 (base32
"1695hkpd8kqnr2a88p8xs496slgzxjjkzpa9aa33ml3pnh7519zk")))) "1ng0m0zs7qr91qy5ff0l01l27npr76961c6zfkxnhxf68zpwz5k4"))))
(build-system font-build-system) (build-system font-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -1250,6 +1247,34 @@ programming. Iosevka is completely generated from its source code.")
(for-each make-file-writable (find-files "." ".*")) (for-each make-file-writable (find-files "." ".*"))
#t))))))) #t)))))))
(define-public font-sarasa-gothic
(package
(name "font-sarasa-gothic")
(version "0.12.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/be5invis/Sarasa-Gothic"
"/releases/download/v" version
"/sarasa-gothic-ttc-" version ".7z"))
(sha256
(base32 "1g6k9d5lajchbhsh3g12fk5cgilyy6yw09fals9vc1f9wsqvac86"))))
(build-system font-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source #:allow-other-keys)
(mkdir "source")
(chdir "source")
(invoke "7z" "x" source))))))
(native-inputs `(("p7zip" ,p7zip)))
(home-page "https://github.com/be5invis/Sarasa-Gothic")
(license license:silofl1.1)
(synopsis "Sarasa Gothic / 更纱黑体 / 更紗黑體 / 更紗ゴシック / 사라사 고딕")
(description
"Sarasa Gothic is a programming font based on Iosevka and Source Han Sans,
most CJK characters are same height, and double width as ASCII characters.")))
(define-public font-go (define-public font-go
(let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc") (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")
(revision "1")) (revision "1"))

View file

@ -37,6 +37,7 @@
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages fonts)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
@ -292,6 +293,12 @@ fonts to/from the WOFF2 format.")
(define-public fontconfig (define-public fontconfig
(package (package
(name "fontconfig") (name "fontconfig")
;; This replacement is not security-related, but works around the fact
;; that gs-fonts are not recognized by newer versions of Pango, causing
;; many applications to fail to find fonts otherwise.
(replacement fontconfig/font-dejavu)
(version "2.13.1") (version "2.13.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -348,6 +355,13 @@ high quality, anti-aliased and subpixel rendered text on a display.")
"See COPYING in the distribution.")) "See COPYING in the distribution."))
(home-page "https://www.freedesktop.org/wiki/Software/fontconfig"))) (home-page "https://www.freedesktop.org/wiki/Software/fontconfig")))
(define fontconfig/font-dejavu
(package
(inherit fontconfig)
(inputs
;; XXX: Reuse the name to avoid having to override the configure flags.
`(("gs-fonts" ,font-dejavu)))))
(define-public t1lib (define-public t1lib
(package (package
(name "t1lib") (name "t1lib")

View file

@ -340,7 +340,7 @@ FOSS FPGA place and route tool.")
(define-public gtkwave (define-public gtkwave
(package (package
(name "gtkwave") (name "gtkwave")
(version "3.3.103") (version "3.3.104")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -350,7 +350,7 @@ FOSS FPGA place and route tool.")
(string-append "http://gtkwave.sourceforge.net/" (string-append "http://gtkwave.sourceforge.net/"
"gtkwave-" version ".tar.gz"))) "gtkwave-" version ".tar.gz")))
(sha256 (sha256
(base32 "1xzaxqbabj4sb4n10yki5acglx3736pwl3kwlq4k7i96rzvsn9f3")))) (base32 "0kw9a33gx60kn069yhx5pyk39x1z3pwaj8l1qqwq943v62lx23fj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("gperf" ,gperf) `(("gperf" ,gperf)

View file

@ -185,14 +185,14 @@ freedesktop.org project.")
;; Updating this will rebuild over 700 packages through libinput-minimal. ;; Updating this will rebuild over 700 packages through libinput-minimal.
(package (package
(name "libinput") (name "libinput")
(version "1.15.2") (version "1.15.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://freedesktop.org/software/libinput/" (uri (string-append "https://freedesktop.org/software/libinput/"
"libinput-" version ".tar.xz")) "libinput-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0ivpb4sghl80cs7jg3xrs53kckif6wy81cny3a8mry94nszky74p")))) "15ww4jl3lcxyi8m8idg8canklbqv729gnwpkz7r98c1w8a7zq3m9"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags '("-Ddocumentation=false") `(#:configure-flags '("-Ddocumentation=false")
@ -1084,7 +1084,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.")
(define-public libqmi (define-public libqmi
(package (package
(name "libqmi") (name "libqmi")
(version "1.24.4") (version "1.24.14")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1092,7 +1092,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.")
"libqmi-" version ".tar.xz")) "libqmi-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"12licfsszr6qxpg9b2b04qm2glk8d42fcy32zr8jzwrgr7gbl5h3")))) "0zshxqbm9ldybgrzh7pjmwmfjvvvfd0xh8qhgl8xiqdb9ply73r0"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("libgudev" ,libgudev))) `(("libgudev" ,libgudev)))
@ -1115,7 +1115,7 @@ which speak the Qualcomm MSM Interface (QMI) protocol.")
(define-public modem-manager (define-public modem-manager
(package (package
(name "modem-manager") (name "modem-manager")
(version "1.10.8") (version "1.12.10")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1123,15 +1123,11 @@ which speak the Qualcomm MSM Interface (QMI) protocol.")
"ModemManager-" version ".tar.xz")) "ModemManager-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"16hnl0sdriqgv4v30mfs64mdl9rw7lsh802zlm3ggwxxil3p9qfb")))) "1apq9camys2gaw6y6ic1ld20cncfwpmxnzvh4j5zkbbjpf5hbcxj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '(#:configure-flags
`(,(string-append "--with-udev-base-dir=" %output "/lib/udev") `(,(string-append "--with-udev-base-dir=" %output "/lib/udev"))))
;; FIXME: Without this flag the build fails with "error: assignment
;; from incompatible pointer type" whenever the return value of
;; "g_object_ref" is assigned to "ctx->self".
"--disable-more-warnings")))
(native-inputs (native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums `(("glib:bin" ,glib "bin") ; for glib-mkenums
("gobject-introspection" ,gobject-introspection) ("gobject-introspection" ,gobject-introspection)

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -28,15 +28,17 @@
(define-public freeipmi (define-public freeipmi
(package (package
(name "freeipmi") (name "freeipmi")
(version "1.6.4") (version "1.6.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/freeipmi/freeipmi-" (uri (string-append "mirror://gnu/freeipmi/freeipmi-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0g0s4iwx0ng4rv7hp5cc3kkx4drahsc89981gwjblf04lfavppv5")))) "1ncf1s84752xaq07h36wrxa5ww1167s2bizkww0igxv8djyddwk1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
(inputs (inputs
`(("libgcrypt" ,libgcrypt))) `(("libgcrypt" ,libgcrypt)))
(home-page "https://www.gnu.org/software/freeipmi/") (home-page "https://www.gnu.org/software/freeipmi/")

View file

@ -191,39 +191,39 @@ DeuTex has functions such as merging wads, etc.")
(package (package
(name "grfcodec") (name "grfcodec")
(version "6.0.6") (version "6.0.6")
(source (origin (source
(method url-fetch) (origin
(uri (string-append "http://binaries.openttd.org/extra/" (method url-fetch)
name "/" version "/" name "-" version (uri (string-append "https://binaries.openttd.org/extra/"
"-source.tar.xz")) name "/" version "/" name "-" version
(sha256 "-source.tar.xz"))
(base32 (sha256
"08admgnpqcsifpicbm56apgv360fxapqpbbsp10qyk8i22w1ivsk")))) (base32 "08admgnpqcsifpicbm56apgv360fxapqpbbsp10qyk8i22w1ivsk"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f ; no check target '(#:tests? #f ;no check target
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) ; no configure script (delete 'configure) ;no configure script
(replace 'install ; no install target (replace 'install ;no install target
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")) (bin (string-append out "/bin"))
(doc (string-append out "/share/doc")) (doc (string-append out "/share/doc"))
(man (string-append out "/share/man/man1"))) (man (string-append out "/share/man/man1")))
(for-each (lambda (file) (for-each (lambda (file)
(install-file file bin)) (install-file file bin))
'("grfcodec" "grfid" "grfstrip" "nforenum")) '("grfcodec" "grfid" "grfstrip" "nforenum"))
(install-file "COPYING" doc) (install-file "COPYING" doc)
(with-directory-excursion "docs" (with-directory-excursion "docs"
(for-each (lambda (file) (for-each (lambda (file)
(install-file (string-append file ".txt") doc)) (install-file (string-append file ".txt") doc))
'("auto_correct" "commands" "grf" "grfcodec" "grftut" '("auto_correct" "commands" "grf" "grfcodec" "grftut"
"readme" "readme.rpn")) "readme" "readme.rpn"))
(for-each (lambda (file) (for-each (lambda (file)
(install-file file man)) (install-file file man))
(find-files "." "\\.1")))) (find-files "." "\\.1"))))
#t))))) #t)))))
(inputs (inputs
`(("boost" ,boost) `(("boost" ,boost)
("libpng" ,libpng) ("libpng" ,libpng)
@ -240,7 +240,7 @@ with a specific task:
@item @code{nforenum} checks NFO code for errors, making corrections when @item @code{nforenum} checks NFO code for errors, making corrections when
necessary. necessary.
@end enumerate") @end enumerate")
(home-page "http://dev.openttdcoop.org/projects/grfcodec") (home-page "https://dev.openttdcoop.org/projects/grfcodec")
;; GRFCodec, GRFID, and GRFStrip are exclusively under the GPL2. ;; GRFCodec, GRFID, and GRFStrip are exclusively under the GPL2.
;; NFORenum is under the GPL2+. ;; NFORenum is under the GPL2+.
;; The MD5 implementation contained in GRFID is under the zlib license. ;; The MD5 implementation contained in GRFID is under the zlib license.
@ -256,15 +256,14 @@ necessary.
(uri (string-append "https://binaries.openttd.org/extra/catcodec/" (uri (string-append "https://binaries.openttd.org/extra/catcodec/"
version "/catcodec-" version "-source.tar.xz")) version "/catcodec-" version "-source.tar.xz"))
(sha256 (sha256
(base32 (base32 "1qg0c2i4p29sxj0q6qp2jynlrzm5pphz2xhcjqlxa69ycrnlxzs7"))))
"1qg0c2i4p29sxj0q6qp2jynlrzm5pphz2xhcjqlxa69ycrnlxzs7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no tests `(#:tests? #f ; no tests
#:make-flags (list (string-append "prefix=" %output)) #:make-flags (list (string-append "prefix=" %output))
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(delete 'configure)))) (delete 'configure))))
(home-page "http://dev.openttdcoop.org/projects/catcodec") (home-page "https://dev.openttdcoop.org/projects/catcodec")
(synopsis "Encode/decode OpenTTD sounds") (synopsis "Encode/decode OpenTTD sounds")
(description "catcodec encodes and decodes sounds for OpenTTD. These (description "catcodec encodes and decodes sounds for OpenTTD. These
sounds are not much more than some metadata (description and filename) and raw sounds are not much more than some metadata (description and filename) and raw
@ -632,6 +631,7 @@ garbage collection and can be extended with plugins.")
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f ; no check target '(#:tests? #f ; no check target
#:configure-flags '("-DPHYSFS_BUILD_STATIC=OFF")
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-CMakeLists.txt (add-after 'unpack 'patch-CMakeLists.txt
(lambda _ (lambda _
@ -681,7 +681,6 @@ archive on a per-file basis.")
("mesa" ,mesa) ("mesa" ,mesa)
("mpg123" ,mpg123) ("mpg123" ,mpg123)
("openal" ,openal) ("openal" ,openal)
("physfs" ,physfs)
("sdl2" ,sdl2) ("sdl2" ,sdl2)
("zlib" ,zlib))) ("zlib" ,zlib)))
(synopsis "2D game framework for Lua") (synopsis "2D game framework for Lua")
@ -1157,7 +1156,7 @@ developed mainly for Ren'py.")
(native-inputs (native-inputs
`(("python2-cython" ,python2-cython) `(("python2-cython" ,python2-cython)
("xdg-utils" ,xdg-utils))) ("xdg-utils" ,xdg-utils)))
(home-page "http://www.renpy.org/") (home-page "https://www.renpy.org/")
(synopsis "Ren'py python module") (synopsis "Ren'py python module")
(description "This package contains the shared libraries and Python (description "This package contains the shared libraries and Python
modules of Ren'py.") modules of Ren'py.")
@ -1345,7 +1344,7 @@ if __name__ == \"__main__\":
("xorg-server" ,xorg-server))) ("xorg-server" ,xorg-server)))
(outputs (outputs
(list "out" "tutorial" "the-question")) (list "out" "tutorial" "the-question"))
(home-page "http://www.renpy.org/") (home-page "https://www.renpy.org/")
(synopsis "Visual Novel Engine") (synopsis "Visual Novel Engine")
(description "Ren'Py is a visual novel engine that helps you use words, (description "Ren'Py is a visual novel engine that helps you use words,
images, and sounds to tell interactive stories that run on computers and images, and sounds to tell interactive stories that run on computers and
@ -1585,11 +1584,7 @@ games.")
(build-system scons-build-system) (build-system scons-build-system)
(arguments (arguments
`(#:scons ,scons-python2 `(#:scons ,scons-python2
#:scons-flags (list "platform=x11" #:scons-flags (list "platform=x11" "target=release_debug"
,@(if (string-prefix? "aarch64" (or (%current-target-system)
(%current-system)))
`("CCFLAGS=-DNO_THREADS")
'())
;; Avoid using many of the bundled libs. ;; Avoid using many of the bundled libs.
;; Note: These options can be found in the SConstruct file. ;; Note: These options can be found in the SConstruct file.
"builtin_bullet=no" "builtin_bullet=no"
@ -1608,7 +1603,7 @@ games.")
"builtin_wslay=no" "builtin_wslay=no"
"builtin_zlib=no" "builtin_zlib=no"
"builtin_zstd=no") "builtin_zstd=no")
#:tests? #f ; There are no tests #:tests? #f ; There are no tests
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'scons-use-env (add-after 'unpack 'scons-use-env
@ -1621,41 +1616,46 @@ games.")
"env_base = Environment(tools=custom_tools)\n" "env_base = Environment(tools=custom_tools)\n"
"env_base = Environment(ENV=os.environ)"))) "env_base = Environment(ENV=os.environ)")))
#t)) #t))
;; Build headless tools, used for packaging games without depending on X.
(add-after 'build 'build-headless
(lambda* (#:key scons-flags #:allow-other-keys)
(apply invoke "scons"
`(,(string-append "-j" (number->string (parallel-job-count)))
"platform=server" ,@(delete "platform=x11" scons-flags)))))
(replace 'install (replace 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))) (headless (assoc-ref outputs "headless"))
(zenity (assoc-ref inputs "zenity")))
;; Strip build info from filenames.
(with-directory-excursion "bin" (with-directory-excursion "bin"
(if (file-exists? "godot.x11.tools.64") (for-each
(rename-file "godot.x11.tools.64" "godot") (lambda (file)
(rename-file "godot.x11.tools.32" "godot")) (let ((dest (car (string-split (basename file) #\.))))
(install-file "godot" bin)) (rename-file file dest)))
;; Tell Godot where to find zenity for OS.alert(). (find-files "." "godot.*\\.x11\\.opt\\.tools.*"))
(wrap-program (string-append bin "/godot") (install-file "godot" (string-append out "/bin"))
`("PATH" ":" prefix (install-file "godot_server" (string-append headless "/bin")))
(,(string-append (assoc-ref %build-inputs "zenity") "/bin")))) ;; Tell the editor where to find zenity for OS.alert().
#t))) (wrap-program (string-append out "/bin/godot")
`("PATH" ":" prefix (,(string-append zenity "/bin")))))
#t))
(add-after 'install 'install-godot-desktop (add-after 'install 'install-godot-desktop
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(desktop (string-append out "/share/applications")) (applications (string-append out "/share/applications"))
(icon-dir (string-append out "/share/pixmaps"))) (icons (string-append out "/share/icons/hicolor")))
(rename-file "icon.png" "godot.png") (mkdir-p applications)
(install-file "godot.png" icon-dir) (copy-file "misc/dist/linux/org.godotengine.Godot.desktop"
(mkdir-p desktop) (string-append applications "/godot.desktop"))
(with-output-to-file (for-each (lambda (icon dest)
(string-append desktop "/godot.desktop") (mkdir-p (dirname dest))
(lambda _ (copy-file icon dest))
(format #t '("icon.png" "icon.svg")
"[Desktop Entry]~@ `(,(string-append icons "/256x256/apps/godot.png")
Name=godot~@ ,(string-append icons "/scalable/apps/godot.svg"))))
Comment=The godot game engine~@ #t)))))
Exec=~a/bin/godot~@ (outputs '("out" "headless"))
TryExec=~@*~a/bin/godot~@
Icon=godot~@
Type=Application~%"
out)))
#t))))))
(native-inputs `(("pkg-config" ,pkg-config))) (native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("alsa-lib" ,alsa-lib) (inputs `(("alsa-lib" ,alsa-lib)
("bullet" ,bullet) ("bullet" ,bullet)

View file

@ -23,7 +23,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com> ;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com>
;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info> ;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info>
;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017, 2018, 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2019 nee <nee-git@hidamari.blue> ;;; Copyright © 2017, 2019 nee <nee-git@hidamari.blue>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
@ -450,7 +450,7 @@ possible, while battling many vicious aliens.")
(define-public cataclysm-dda (define-public cataclysm-dda
(package (package
(name "cataclysm-dda") (name "cataclysm-dda")
(version "0.E") (version "0.E-2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -458,7 +458,7 @@ possible, while battling many vicious aliens.")
(url "https://github.com/CleverRaven/Cataclysm-DDA.git") (url "https://github.com/CleverRaven/Cataclysm-DDA.git")
(commit version))) (commit version)))
(sha256 (sha256
(base32 "0pbi0fw37zimzdklfj58s1ql0wlqq7dy6idkcsib3hn910ajaxan")) (base32 "15l6w6lxays7qmsv0ci2ry53asb9an9dh7l7fc13256k085qcg68"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -626,8 +626,9 @@ tired of cows, a variety of other ASCII-art messengers are available.")
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ;; no check target `(#:tests? #f ; no check target
#:make-flags (list "CC=gcc") #:make-flags
(list ,(string-append "CC=" (cc-for-target)))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'bootstrap) (delete 'bootstrap)
@ -978,7 +979,7 @@ automata. The following features are available:
(define-public julius (define-public julius
(package (package
(name "julius") (name "julius")
(version "1.4.0") (version "1.4.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -987,7 +988,7 @@ automata. The following features are available:
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "01rygr592ar530qv1flmaiq8icl0qdxgc8lhkcdyn1g09941z47v")) (base32 "12hhnhdwgz7hd3hlndbnk15pxggm1375qs0764ija4nl1gbpb110"))
;; Remove unused bundled libraries. ;; Remove unused bundled libraries.
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
@ -1157,15 +1158,15 @@ destroying an ancient book using a special wand.")
(define-public gnome-chess (define-public gnome-chess
(package (package
(name "gnome-chess") (name "gnome-chess")
(version "3.36.0") (version "3.36.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/gnome-chess/"
(version-major+minor version) "/" (version-major+minor version) "/"
name "-" version ".tar.xz")) "gnome-chess-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1a9fgi749gy1f60vbcyrqqkab9vqs42hji70q73k1xx8rv0agmg0")))) "165bk8s3nngyqbikggspj4rff5nxxfkfcmgzjb4grmsrgbqwk5di"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
'(#:glib-or-gtk? #t '(#:glib-or-gtk? #t
@ -1314,15 +1315,14 @@ Chess). It is similar to standard chess but this variant is far more complicate
(define-public ltris (define-public ltris
(package (package
(name "ltris") (name "ltris")
(version "1.0.19") (version "1.0.20")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://prdownloads.sourceforge.net/lgames/" (uri (string-append "http://prdownloads.sourceforge.net/lgames/"
"ltris-" version ".tar.gz")) "ltris-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "16zbqsc4amx9g3yjv6054nh4ia09dgfp8k6q4qxpjicl3dw3z0in"))))
"1895wv1fqklrj4apkz47rnkcfhfav7zjknskw6p0886j35vrwslg"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(;; The code in LTris uses traditional GNU semantics for inline functions '(;; The code in LTris uses traditional GNU semantics for inline functions
@ -1733,6 +1733,83 @@ can be explored and changed freely.")
license:gpl3+ license:gpl3+
license:silofl1.1)))) license:silofl1.1))))
(define-public superstarfighter
(package
(name "superstarfighter")
(version "0.6.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/notapixelstudio/superstarfighter.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1fly63yf5ls1xwm15if4lxwy67wi84k4gvjllljpykrl18vw2y0y"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;there are no tests
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(chdir "godot")
(setenv "HOME" (getcwd))
(with-output-to-file "export_presets.cfg"
(lambda ()
(display
"[preset.0]
name=\"Guix\"
platform=\"Linux/X11\"
runnable=true
[preset.0.options]")))
#t))
(replace 'build
(lambda _
(let ((godot (assoc-ref %build-inputs "godot-headless")))
(invoke (string-append godot "/bin/godot_server")
"--export-pack" "Guix"
"superstarfighter.pck" "project.godot"))
#t))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(share (string-append out "/share"))
(data (string-append share "/superstarfighter"))
(icons (string-append share "/icons/hicolor/256x256/apps")))
(install-file "superstarfighter.pck" data)
(mkdir-p bin)
(call-with-output-file (string-append bin "/superstarfighter")
(lambda (port)
(format port
"#!/bin/sh~@
exec ~a/bin/godot --main-pack ~a/superstarfighter.pck~%"
(assoc-ref inputs "godot")
data)
(chmod port #o755)))
(mkdir-p icons)
(copy-file "icon.png" (string-append icons "/" ,name ".png"))
(make-desktop-entry-file
(string-append share "/applications/" ,name ".desktop")
#:name "SuperStarfighter"
#:comment "Fast-paced arcade combat game"
#:exec ,name
#:icon ,name
#:categories '("Game" "ArcadeGame")))
#t)))))
(native-inputs
`(("godot-headless" ,godot "headless")))
(inputs
`(("godot" ,godot)))
(home-page "https://notapixel.itch.io/superstarfighter")
(synopsis "Fast-paced local multiplayer arcade game")
(description "In SuperStarfighter, up to four local players compete in a
2D arena with fast-moving ships and missiles. Different game types are
available, as well as a single-player mode with AI-controlled ships.")
(license (list license:expat ; game
license:silofl1.1)))) ; fonts
(define-public xshogi (define-public xshogi
(package (package
(name "xshogi") (name "xshogi")
@ -1814,16 +1891,15 @@ that beneath its ruins lay buried an ancient evil.")
(define-public angband (define-public angband
(package (package
(name "angband") (name "angband")
(version "4.2.0") (version "4.2.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://rephial.org/downloads/" (uri (string-append "https://rephial.org/downloads/"
(version-major+minor version) (version-major+minor version)
"/angband-" version ".tar.gz")) "/angband-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32 "03qdavkj2ik02mqjxmlm5bn17ba3yxb1rirp8ghnxy3bsk4kbmxc"))
"0vdm1ymm28wawp94nl1p5q3lhc0k7cnn2kkvvrkfx962gif4kqfk"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; So, some of the sounds/graphics/tilesets are under different ;; So, some of the sounds/graphics/tilesets are under different
@ -1856,7 +1932,7 @@ that beneath its ruins lay buried an ancient evil.")
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake))) ("automake" ,automake)))
(inputs `(("ncurses" ,ncurses))) (inputs `(("ncurses" ,ncurses)))
(home-page "http://rephial.org/") (home-page "https://rephial.org/")
(synopsis "Dungeon exploration roguelike") (synopsis "Dungeon exploration roguelike")
(description "Angband is a Classic dungeon exploration roguelike. Explore (description "Angband is a Classic dungeon exploration roguelike. Explore
the depths below Angband, seeking riches, fighting monsters, and preparing to the depths below Angband, seeking riches, fighting monsters, and preparing to
@ -1976,7 +2052,7 @@ asynchronously and at a user-defined speed.")
(define-public chess (define-public chess
(package (package
(name "chess") (name "chess")
(version "6.2.6") (version "6.2.7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1984,7 +2060,7 @@ asynchronously and at a user-defined speed.")
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0kxhdv01ia91v2y0cmzbll391ns2vbmn65jjrv37h4s1srszh5yn")))) "0ilq4bfl0lwyzf11q7n2skydjhalfn3bgxhrp5hjxs5bc5d6fdp5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "https://www.gnu.org/software/chess/") (home-page "https://www.gnu.org/software/chess/")
(synopsis "Full chess implementation") (synopsis "Full chess implementation")
@ -2894,7 +2970,7 @@ falling, themeable graphics and sounds, and replays.")
(define-public wesnoth (define-public wesnoth
(package (package
(name "wesnoth") (name "wesnoth")
(version "1.14.11") (version "1.14.12")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
@ -2903,7 +2979,7 @@ falling, themeable graphics and sounds, and replays.")
"wesnoth-" version ".tar.bz2")) "wesnoth-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1i8mz6gw3qar09bscczhki0g4scj8pl58v85rp0g55r4bcq41l5v")))) "027bc1363hdgahw7dvd22fvvqd132byxnljfbq6lvlr5ci01q8mk"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ;no check target `(#:tests? #f)) ;no check target
@ -3904,7 +3980,7 @@ tactics.")
(define-public starfighter (define-public starfighter
(package (package
(name "starfighter") (name "starfighter")
(version "2.0.0.3") (version "2.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -3913,7 +3989,7 @@ tactics.")
(version-major+minor version) "-src.tar.gz")) (version-major+minor version) "-src.tar.gz"))
(sha256 (sha256
(base32 (base32
"13vi5kh9ahws4f52421cbyw0jn7pmbnld358lqfmr6flql7ilj3b")))) "1ldd9cbvl694ps4sapr8213m3zjrci7gii5x3kjjfalkikmndpd2"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -4742,24 +4818,27 @@ emerges from a sewer hole and pulls her below ground.")
(define-public cdogs-sdl (define-public cdogs-sdl
(package (package
(name "cdogs-sdl") (name "cdogs-sdl")
(version "0.6.9") (version "0.8.0")
(source (origin (source
(method git-fetch) (origin
(uri (git-reference (method git-fetch)
(url "https://github.com/cxong/cdogs-sdl.git") (uri (git-reference
(commit version))) (url "https://github.com/cxong/cdogs-sdl.git")
(file-name (git-file-name name version)) (commit version)))
(sha256 (file-name (git-file-name name version))
(base32 (sha256
"13gyv2hzk43za1n3lsjnd5v64xlzfzq7n10scd1rcbsnk1n007zr")))) (base32 "0vx37zb2iw7sfw5a2bs97ydlmb301nvy485ybdm8g46c5hn9s13c"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list (string-append "-DCDOGS_DATA_DIR=" (list (string-append "-DCDOGS_DATA_DIR="
(assoc-ref %outputs "out") (assoc-ref %outputs "out")
"/share/cdogs-sdl/")))) "/share/cdogs-sdl/"))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs (inputs
`(("mesa" ,mesa) `(("gtk+" ,gtk+)
("mesa" ,mesa)
("sdl2" ,sdl2) ("sdl2" ,sdl2)
("sdl2-image" ,sdl2-image) ("sdl2-image" ,sdl2-image)
("sdl2-mixer" ,sdl2-mixer))) ("sdl2-mixer" ,sdl2-mixer)))
@ -5730,6 +5809,14 @@ some graphical niceities, and numerous bug-fixes and other improvements.")
(string-append "LDFLAGS=-Wl,-rpath=" vulkanlib) (string-append "LDFLAGS=-Wl,-rpath=" vulkanlib)
"-CQuake")) "-CQuake"))
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-for-new-vulkan
(lambda _
;; Mimic upstream commit a869a22d9b51c68e for
;; compatibility with newer vulkan-headers.
(substitute* "Quake/gl_rmisc.c"
(("VK_DYNAMIC_STATE_RANGE_SIZE")
"3"))
#t))
(delete 'configure) (delete 'configure)
(add-after 'unpack 'fix-makefile-paths (add-after 'unpack 'fix-makefile-paths
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
@ -6299,7 +6386,7 @@ original.")
(define-public fortune-mod (define-public fortune-mod
(package (package
(name "fortune-mod") (name "fortune-mod")
(version "2.12.0") (version "2.28.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -6308,8 +6395,7 @@ original.")
(commit (string-append "fortune-mod-" version)))) (commit (string-append "fortune-mod-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "1ppzgnffgdcmq6fq4gmdq2ig10ip2bnfgklkb3i8nc6bdxm7pb89"))))
"0laxgqsdg7kvpvvm1f54b94ga9r0cr9g3ffii8avg8fy65x6pzc9"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:test-target "check" `(#:test-target "check"
@ -6587,7 +6673,7 @@ quotation from a collection of quotes.")
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("libtool" ,libtool) ("libtool" ,libtool)
("gmp" ,gmp))) ("gmp" ,gmp)))
(home-page "http://xonotic.org") (home-page "https://xonotic.org")
(synopsis "Fast-paced first-person shooter game") (synopsis "Fast-paced first-person shooter game")
(description (description
"Xonotic is a free, fast-paced first-person shooter. "Xonotic is a free, fast-paced first-person shooter.
@ -6759,7 +6845,7 @@ when packaged in Blorb container files or optionally from individual files.")
(define-public libmanette (define-public libmanette
(package (package
(name "libmanette") (name "libmanette")
(version "0.2.3") (version "0.2.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/libmanette/" (uri (string-append "mirror://gnome/sources/libmanette/"
@ -6767,7 +6853,7 @@ when packaged in Blorb container files or optionally from individual files.")
"libmanette-" version ".tar.xz")) "libmanette-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1zxh7jn2zg7hivmal5zxam6fxvjsd1w6hlw0m2kysk76b8anbw60")))) "1xrc6rh73v5w3kbkflzv1yg8sbxk4wf06hfk95raxhxlssza9q2g"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
`(("glib" ,glib "bin") ; for glib-compile-resources `(("glib" ,glib "bin") ; for glib-compile-resources
@ -7282,7 +7368,7 @@ where the player draws runes in real time to effect the desired spell.")
(define-public edgar (define-public edgar
(package (package
(name "edgar") (name "edgar")
(version "1.32") (version "1.33")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -7290,7 +7376,7 @@ where the player draws runes in real time to effect the desired spell.")
(string-append "https://github.com/riksweeney/edgar/releases/download/" (string-append "https://github.com/riksweeney/edgar/releases/download/"
version "/edgar-" version "-1.tar.gz")) version "/edgar-" version "-1.tar.gz"))
(sha256 (sha256
(base32 "12lam6qcscc5ima1w2ksd1cvsvxbd17h6mqkgsqpzx8ap43p2r5p")))) (base32 "1mbx7dvizdca4g1blcv3bdh6yxd13k47rkya4rdzg0nvvz24m175"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments '(#:tests? #f ; there are no tests (arguments '(#:tests? #f ; there are no tests
#:make-flags #:make-flags

View file

@ -3,6 +3,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -93,7 +94,6 @@
("ncurses" ,ncurses) ("ncurses" ,ncurses)
("guile" ,guile-2.0) ("guile" ,guile-2.0)
("python-wrapper" ,python-wrapper) ("python-wrapper" ,python-wrapper)
("dejagnu" ,dejagnu)
("source-highlight" ,source-highlight) ("source-highlight" ,source-highlight)
;; Allow use of XML-formatted syscall information. This enables 'catch ;; Allow use of XML-formatted syscall information. This enables 'catch
@ -101,6 +101,7 @@
("libxml2" ,libxml2))) ("libxml2" ,libxml2)))
(native-inputs (native-inputs
`(("texinfo" ,texinfo) `(("texinfo" ,texinfo)
("dejagnu" ,dejagnu)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(home-page "https://www.gnu.org/software/gdb/") (home-page "https://www.gnu.org/software/gdb/")
(synopsis "The GNU debugger") (synopsis "The GNU debugger")
@ -130,3 +131,15 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
;; This is the fixed version that packages depend on. Update it rarely ;; This is the fixed version that packages depend on. Update it rarely
;; enough to avoid massive rebuilds. ;; enough to avoid massive rebuilds.
gdb-9.1) gdb-9.1)
(define-public gdb-9.2
(package
(inherit gdb)
(version "9.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz"))
(sha256
(base32
"0mf5fn8v937qwnal4ykn3ji1y2sxk0fa1yfqi679hxmpg6pdf31n"))))))

View file

@ -7,7 +7,7 @@
;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Miguel <rosen644835@gmail.com> ;;; Copyright © 2019 Miguel <rosen644835@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -148,8 +148,14 @@ translated messages from the catalogs. Nearly all GNU packages use Gettext.")
(define-public libtextstyle (define-public libtextstyle
(package (package
(name "libtextstyle") (name "libtextstyle")
(version (package-version gettext-minimal)) (version "0.20.2")
(source (package-source gettext-minimal)) (source (origin
(inherit (package-source gnu-gettext))
(uri (string-append "mirror://gnu/gettext/gettext-"
version ".tar.gz"))
(sha256
(base32
"1wc9q3y8rsbd757v985vxqcyqsxs7cxk4x7rzsjmq7d4ij8d1fgc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '("--disable-static") '(#:configure-flags '("--disable-static")

View file

@ -51,7 +51,7 @@
(define-public babl (define-public babl
(package (package
(name "babl") (name "babl")
(version "0.1.74") (version "0.1.78")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/babl/" (uri (list (string-append "https://download.gimp.org/pub/babl/"
@ -65,7 +65,7 @@
"/babl-" version ".tar.xz"))) "/babl-" version ".tar.xz")))
(sha256 (sha256
(base32 (base32
"03nfcvy3453xkfvsfcnsfcjf2vg2pin09qnr9jlssdysa1lhnwcs")))) "0fjjfb0pbgimlqi7rk8cqz8pq595b7gw8nrpkxfmixdz6cv4km8p"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -90,7 +90,7 @@ provided, as well as a framework to add new color models and data types.")
(define-public gegl (define-public gegl
(package (package
(name "gegl") (name "gegl")
(version "0.4.22") (version "0.4.24")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/gegl/" (uri (list (string-append "https://download.gimp.org/pub/gegl/"
@ -104,7 +104,7 @@ provided, as well as a framework to add new color models and data types.")
"/gegl-" version ".tar.xz"))) "/gegl-" version ".tar.xz")))
(sha256 (sha256
(base32 (base32
"0q9cckf90fb82qc5d496fjz459f1xw4j4p3rff1f57yivx0yr20q")))) "0ji57s7cba94vzy49agn7x47ca61rccm6rif0cb0s6rl4ygljrbp"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -135,7 +135,7 @@ buffers.")
(define-public gimp (define-public gimp
(package (package
(name "gimp") (name "gimp")
(version "2.10.18") (version "2.10.20")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.gimp.org/pub/gimp/v" (uri (string-append "https://download.gimp.org/pub/gimp/v"
@ -143,7 +143,7 @@ buffers.")
"/gimp-" version ".tar.bz2")) "/gimp-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"05np26g61fyr72s7qjfrcck8v57r0yswq5ihvqyzvgzfx08y3gv5")))) "0g3vzh1bjffqx94mfghmwvkhncv71cgah2mnfx17q00s9f3rybz1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" (outputs '("out"
"doc")) ; 9 MiB of gtk-doc HTML "doc")) ; 9 MiB of gtk-doc HTML

Some files were not shown because too many files have changed in this diff Show more