Merge branch 'master' into core-updates
This commit is contained in:
commit
4193095e18
371 changed files with 20643 additions and 9734 deletions
|
@ -89,6 +89,10 @@
|
|||
|
||||
(eval . (put 'with-database 'scheme-indent-function 2))
|
||||
(eval . (put 'call-with-transaction 'scheme-indent-function 2))
|
||||
(eval . (put 'with-statement 'scheme-indent-function 3))
|
||||
(eval . (put 'call-with-retrying-transaction 'scheme-indent-function 2))
|
||||
(eval . (put 'call-with-savepoint 'scheme-indent-function 1))
|
||||
(eval . (put 'call-with-retrying-savepoint 'scheme-indent-function 1))
|
||||
|
||||
(eval . (put 'call-with-container 'scheme-indent-function 1))
|
||||
(eval . (put 'container-excursion 'scheme-indent-function 1))
|
||||
|
@ -96,6 +100,10 @@
|
|||
|
||||
(eval . (put 'call-with-progress-reporter 'scheme-indent-function 1))
|
||||
(eval . (put 'with-temporary-git-repository 'scheme-indent-function 2))
|
||||
(eval . (put 'with-environment-variables 'scheme-indent-function 1))
|
||||
(eval . (put 'with-fresh-gnupg-setup 'scheme-indent-function 1))
|
||||
|
||||
(eval . (put 'with-paginated-output-port 'scheme-indent-function 1))
|
||||
|
||||
;; This notably allows '(' in Paredit to not insert a space when the
|
||||
;; preceding symbol is one of these.
|
||||
|
|
28
Makefile.am
28
Makefile.am
|
@ -7,7 +7,7 @@
|
|||
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
# Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
# Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
# Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
# Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
# Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
# Copyright © 2018 Nikita <nikita@n0.is>
|
||||
# Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
|
||||
|
@ -104,6 +104,7 @@ MODULES = \
|
|||
guix/lint.scm \
|
||||
guix/glob.scm \
|
||||
guix/git.scm \
|
||||
guix/git-authenticate.scm \
|
||||
guix/graph.scm \
|
||||
guix/cache.scm \
|
||||
guix/cve.scm \
|
||||
|
@ -318,7 +319,8 @@ MODULES += $(STORE_MODULES)
|
|||
dist_noinst_DATA = \
|
||||
guix/tests.scm \
|
||||
guix/tests/http.scm \
|
||||
guix/tests/git.scm
|
||||
guix/tests/git.scm \
|
||||
guix/tests/gnupg.scm
|
||||
|
||||
# Auxiliary files for packages.
|
||||
AUX_FILES = \
|
||||
|
@ -346,6 +348,7 @@ AUX_FILES = \
|
|||
EXAMPLES = \
|
||||
gnu/system/examples/asus-c201.tmpl \
|
||||
gnu/system/examples/bare-bones.tmpl \
|
||||
gnu/system/examples/bare-hurd.tmpl \
|
||||
gnu/system/examples/beaglebone-black.tmpl \
|
||||
gnu/system/examples/desktop.tmpl \
|
||||
gnu/system/examples/lightweight-desktop.tmpl \
|
||||
|
@ -403,6 +406,7 @@ SCM_TESTS = \
|
|||
tests/gem.scm \
|
||||
tests/gexp.scm \
|
||||
tests/git.scm \
|
||||
tests/git-authenticate.scm \
|
||||
tests/glob.scm \
|
||||
tests/gnu-maintenance.scm \
|
||||
tests/grafts.scm \
|
||||
|
@ -557,6 +561,7 @@ EXTRA_DIST += \
|
|||
build-aux/cuirass/guix-modular.scm \
|
||||
build-aux/cuirass/hydra-to-cuirass.scm \
|
||||
build-aux/check-final-inputs-self-contained.scm \
|
||||
build-aux/check-channel-news.scm \
|
||||
build-aux/compile-as-derivation.scm \
|
||||
build-aux/generate-authors.scm \
|
||||
build-aux/git-authenticate.scm \
|
||||
|
@ -574,6 +579,8 @@ EXTRA_DIST += \
|
|||
tests/dsa.key \
|
||||
tests/ed25519.key \
|
||||
tests/ed25519.sec \
|
||||
tests/ed25519bis.key \
|
||||
tests/ed25519bis.sec \
|
||||
build-aux/config.rpath \
|
||||
bootstrap \
|
||||
doc/build.scm \
|
||||
|
@ -626,17 +633,17 @@ $(guix_install_go_files): install-nobase_dist_guilemoduleDATA
|
|||
install-data-hook:
|
||||
touch "$(DESTDIR)$(guileobjectdir)/guix/config.go"
|
||||
|
||||
# Commit corresponding to the 'v1.0.1' tag.
|
||||
commit_v1_0_1 = d68de958b60426798ed62797ff7c96c327a672ac
|
||||
# Commit corresponding to the 'v1.0.0' tag.
|
||||
commit_v1_0_0 = 6298c3ffd9654d3231a6f25390b056483e8f407c
|
||||
|
||||
# Authenticate the current Git checkout by checking signatures on every commit
|
||||
# starting from $(commit_v1_0_1).
|
||||
authenticate:
|
||||
# starting from $(commit_v1_0_0).
|
||||
authenticate: guix/openpgp.go guix/git-authenticate.go guix/git.go
|
||||
$(AM_V_at)echo "Authenticating Git checkout..." ; \
|
||||
"$(top_builddir)/pre-inst-env" $(GUILE) \
|
||||
--no-auto-compile -e git-authenticate \
|
||||
"$(top_srcdir)/build-aux/git-authenticate.scm" \
|
||||
"$(commit_v1_0_1)"
|
||||
"$(commit_v1_0_0)"
|
||||
|
||||
# Assuming Guix is already installed and the daemon is up and running, this
|
||||
# rule builds from $(srcdir), creating and building derivations.
|
||||
|
@ -885,6 +892,11 @@ assert-final-inputs-self-contained: $(GOBJECTS)
|
|||
$(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \
|
||||
"$(top_srcdir)/build-aux/check-final-inputs-self-contained.scm"
|
||||
|
||||
# Validate channel news.
|
||||
check-channel-news: $(GOBJECTS)
|
||||
$(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \
|
||||
"$(top_srcdir)/build-aux/check-channel-news.scm"
|
||||
|
||||
# Compute the Hydra jobs and write them in the target file.
|
||||
hydra-jobs.scm: $(GOBJECTS)
|
||||
$(AM_V_at)$(MKDIR_P) "`dirname "$@"`"
|
||||
|
@ -904,7 +916,7 @@ cuirass-jobs.scm: $(GOBJECTS)
|
|||
|
||||
.PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version
|
||||
.PHONY: assert-no-store-file-names assert-binaries-available
|
||||
.PHONY: assert-final-inputs-self-contained
|
||||
.PHONY: assert-final-inputs-self-contained check-channel-news
|
||||
.PHONY: clean-go make-go as-derivation authenticate
|
||||
.PHONY: update-guix-package update-NEWS release
|
||||
|
||||
|
|
25
README
25
README
|
@ -18,27 +18,12 @@ Guix is based on the [[https://nixos.org/nix/][Nix]] package manager.
|
|||
|
||||
* Requirements
|
||||
|
||||
GNU Guix currently depends on the following packages:
|
||||
If you are building Guix from source, please see the manual for build
|
||||
instructions and requirements, either by running:
|
||||
|
||||
- [[https://gnu.org/software/guile/][GNU Guile 2.2.x]]
|
||||
- [[https://notabug.org/cwebber/guile-gcrypt][Guile-Gcrypt]] 0.1.0 or later
|
||||
- [[https://www.gnu.org/software/make/][GNU Make]]
|
||||
- [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled
|
||||
- [[https://notabug.org/guile-sqlite3/guile-sqlite3][Guile-SQLite3]], version 0.1.0 or later
|
||||
- [[https://gitlab.com/guile-git/guile-git][Guile-Git]]
|
||||
- [[http://www.zlib.net/][zlib]]
|
||||
- [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]]
|
||||
info -f doc/guix.info "Requirements"
|
||||
|
||||
Unless `--disable-daemon' was passed, the following packages are needed:
|
||||
|
||||
- [[https://gnupg.org/][GNU libgcrypt]]
|
||||
- [[https://sqlite.org/][SQLite 3]]
|
||||
- [[https://gcc.gnu.org][GCC's g++]]
|
||||
- optionally [[http://www.bzip.org][libbz2]]
|
||||
|
||||
When `--disable-daemon' was passed, you instead need the following:
|
||||
|
||||
- [[https://nixos.org/nix/][Nix]]
|
||||
or by checking the [[https://guix.gnu.org/manual/en/html_node/Requirements.html][web copy of the manual]].
|
||||
|
||||
* Installation
|
||||
|
||||
|
@ -46,7 +31,7 @@ See the manual for the installation instructions, either by running
|
|||
|
||||
info -f doc/guix.info "Installation"
|
||||
|
||||
or by checking the [[https://www.gnu.org/software/guix/manual/guix.html#Installation][web copy of the manual]].
|
||||
or by checking the [[https://guix.gnu.org/manual/en/html_node/Installation.html][web copy of the manual]].
|
||||
|
||||
For information on installation from a Git checkout, please see the section
|
||||
"Building from Git" in the manual.
|
||||
|
|
82
build-aux/check-channel-news.scm
Normal file
82
build-aux/check-channel-news.scm
Normal file
|
@ -0,0 +1,82 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;;
|
||||
;;; Validate 'etc/news.scm'.
|
||||
;;;
|
||||
|
||||
(use-modules (git)
|
||||
(guix git)
|
||||
(guix ui)
|
||||
(guix channels)
|
||||
(srfi srfi-26)
|
||||
(ice-9 match))
|
||||
|
||||
;; XXX: These two things are currently private.
|
||||
(define read-channel-news (@@ (guix channels) read-channel-news))
|
||||
(define channel-news-entries (cut struct-ref <> 0))
|
||||
|
||||
(define (all-the-news directory)
|
||||
"Return the <channel-news> read from DIRECTORY, a checkout of the 'guix'
|
||||
channel."
|
||||
(call-with-input-file (string-append directory "/etc/news.scm")
|
||||
read-channel-news))
|
||||
|
||||
(define (validate-texinfo str type language)
|
||||
"Parse STR as a Texinfo fragment and raise an error if that fails."
|
||||
(catch #t
|
||||
(lambda ()
|
||||
(texi->plain-text str))
|
||||
(lambda (key . args)
|
||||
(print-exception (current-error-port) #f key args)
|
||||
(report-error (G_ "the Texinfo snippet below is invalid (~a, ~a):~%")
|
||||
type language)
|
||||
(display str (current-error-port))
|
||||
(exit 1))))
|
||||
|
||||
(define (validate-news-entry repository entry)
|
||||
"Validate ENTRY, a <channel-news-entry>, making sure it refers to an
|
||||
existent commit of REPOSITORY and contains only valid Texinfo."
|
||||
(catch 'git-error
|
||||
(lambda ()
|
||||
(let ((commit (commit-lookup repository
|
||||
(string->oid
|
||||
(channel-news-entry-commit entry)))))
|
||||
(for-each (match-lambda
|
||||
((language . title)
|
||||
(validate-texinfo title 'title language)))
|
||||
(channel-news-entry-title entry))
|
||||
(for-each (match-lambda
|
||||
((language . body)
|
||||
(validate-texinfo body 'body language)))
|
||||
(channel-news-entry-body entry))))
|
||||
(lambda (key error . rest)
|
||||
(if (= GIT_ENOTFOUND (git-error-code error))
|
||||
(leave (G_ "commit '~a' of entry '~a' does not exist~%")
|
||||
(channel-news-entry-commit entry)
|
||||
(channel-news-entry-title entry))
|
||||
(apply throw key error rest)))))
|
||||
|
||||
(let* ((this-directory (dirname (current-filename)))
|
||||
(top-directory (string-append this-directory "/.."))
|
||||
(entries (channel-news-entries (all-the-news top-directory))))
|
||||
(with-repository top-directory repository
|
||||
(for-each (cut validate-news-entry repository <>)
|
||||
entries)
|
||||
(info (G_ "All ~a channel news entries are valid.~%")
|
||||
(length entries))))
|
|
@ -22,32 +22,28 @@
|
|||
;;;
|
||||
|
||||
(use-modules (git)
|
||||
(guix git)
|
||||
(guix openpgp)
|
||||
(guix base16)
|
||||
((guix utils)
|
||||
#:select (cache-directory with-atomic-file-output))
|
||||
((guix build utils) #:select (mkdir-p))
|
||||
(guix git)
|
||||
(guix git-authenticate)
|
||||
(guix i18n)
|
||||
((guix openpgp)
|
||||
#:select (openpgp-public-key-fingerprint
|
||||
openpgp-format-fingerprint))
|
||||
(guix progress)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-11)
|
||||
(srfi srfi-26)
|
||||
(srfi srfi-34)
|
||||
(srfi srfi-35)
|
||||
(rnrs bytevectors)
|
||||
(rnrs io ports)
|
||||
(ice-9 match)
|
||||
(ice-9 format)
|
||||
(ice-9 pretty-print))
|
||||
|
||||
|
||||
(define %committers
|
||||
;; List of committers. These are the user names found on
|
||||
(define %historical-committers
|
||||
;; List of "historical" committers---people once authorized committers
|
||||
;; before the '.guix-authorizations' file was created.
|
||||
;;
|
||||
;; These are the user names found on
|
||||
;; <https://savannah.gnu.org/project/memberlist.php?group=guix> along with
|
||||
;; the fingerprint of the signing (sub)key.
|
||||
;;
|
||||
;; TODO: Replace this statically-defined list by an in-repo list.
|
||||
'(("andreas"
|
||||
"AD17 A21E F8AE D8F1 CC02 DBD9 F7D5 C9BF 765C 61E3")
|
||||
("ajgrf"
|
||||
|
@ -214,13 +210,13 @@
|
|||
("wingo"
|
||||
"FF47 8FB2 64DE 32EC 2967 25A3 DDC0 F535 8812 F8F2")))
|
||||
|
||||
(define %authorized-signing-keys
|
||||
;; Fingerprint of authorized signing keys.
|
||||
(define %historical-authorized-signing-keys
|
||||
;; Fingerprint of historically authorized signing keys.
|
||||
(map (match-lambda
|
||||
((name fingerprint)
|
||||
(base16-string->bytevector
|
||||
(string-downcase (string-filter char-set:graphic fingerprint)))))
|
||||
%committers))
|
||||
%historical-committers))
|
||||
|
||||
(define %commits-with-bad-signature
|
||||
;; Commits with a known-bad signature.
|
||||
|
@ -230,195 +226,9 @@
|
|||
;; Commits lacking a signature.
|
||||
'())
|
||||
|
||||
(define (commit-signing-key repo commit-id keyring)
|
||||
"Return the OpenPGP key that signed COMMIT-ID (an OID). Raise an exception
|
||||
if the commit is unsigned, has an invalid signature, or if its signing key is
|
||||
not in KEYRING."
|
||||
(let-values (((signature signed-data)
|
||||
(catch 'git-error
|
||||
(lambda ()
|
||||
(commit-extract-signature repo commit-id))
|
||||
(lambda _
|
||||
(values #f #f)))))
|
||||
(unless signature
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "commit ~a lacks a signature")
|
||||
commit-id))))))
|
||||
|
||||
(let ((signature (string->openpgp-packet signature)))
|
||||
(with-fluids ((%default-port-encoding "UTF-8"))
|
||||
(let-values (((status data)
|
||||
(verify-openpgp-signature signature keyring
|
||||
(open-input-string signed-data))))
|
||||
(match status
|
||||
('bad-signature
|
||||
;; There's a signature but it's invalid.
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "signature verification failed \
|
||||
for commit ~a")
|
||||
(oid->string commit-id)))))))
|
||||
('missing-key
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "could not authenticate \
|
||||
commit ~a: key ~a is missing")
|
||||
(oid->string commit-id)
|
||||
data))))))
|
||||
('good-signature data)))))))
|
||||
|
||||
(define (read-authorizations port)
|
||||
"Read authorizations in the '.guix-authorizations' format from PORT, and
|
||||
return a list of authorized fingerprints."
|
||||
(match (read port)
|
||||
(('authorizations ('version 0)
|
||||
(((? string? fingerprints) _ ...) ...)
|
||||
_ ...)
|
||||
(map (lambda (fingerprint)
|
||||
(base16-string->bytevector
|
||||
(string-downcase (string-filter char-set:graphic fingerprint))))
|
||||
fingerprints))))
|
||||
|
||||
(define* (commit-authorized-keys repository commit
|
||||
#:optional (default-authorizations '()))
|
||||
"Return the list of OpenPGP fingerprints authorized to sign COMMIT, based on
|
||||
authorizations listed in its parent commits. If one of the parent commits
|
||||
does not specify anything, fall back to DEFAULT-AUTHORIZATIONS."
|
||||
(define (commit-authorizations commit)
|
||||
(catch 'git-error
|
||||
(lambda ()
|
||||
(let* ((tree (commit-tree commit))
|
||||
(entry (tree-entry-bypath tree ".guix-authorizations"))
|
||||
(blob (blob-lookup repository (tree-entry-id entry))))
|
||||
(read-authorizations
|
||||
(open-bytevector-input-port (blob-content blob)))))
|
||||
(lambda (key error)
|
||||
(if (= (git-error-code error) GIT_ENOTFOUND)
|
||||
default-authorizations
|
||||
(throw key error)))))
|
||||
|
||||
(apply lset-intersection bytevector=?
|
||||
(map commit-authorizations (commit-parents commit))))
|
||||
|
||||
(define (authenticate-commit repository commit keyring)
|
||||
"Authenticate COMMIT from REPOSITORY and return the signing key fingerprint.
|
||||
Raise an error when authentication fails."
|
||||
(define id
|
||||
(commit-id commit))
|
||||
|
||||
(define signing-key
|
||||
(commit-signing-key repository id keyring))
|
||||
|
||||
(unless (member (openpgp-public-key-fingerprint signing-key)
|
||||
(commit-authorized-keys repository commit
|
||||
%authorized-signing-keys))
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "commit ~a not signed by an authorized \
|
||||
key: ~a")
|
||||
(oid->string id)
|
||||
(openpgp-format-fingerprint
|
||||
(openpgp-public-key-fingerprint
|
||||
signing-key))))))))
|
||||
|
||||
signing-key)
|
||||
|
||||
(define (load-keyring-from-blob repository oid keyring)
|
||||
"Augment KEYRING with the keyring available in the blob at OID, which may or
|
||||
may not be ASCII-armored."
|
||||
(let* ((blob (blob-lookup repository oid))
|
||||
(port (open-bytevector-input-port (blob-content blob))))
|
||||
(get-openpgp-keyring (if (port-ascii-armored? port)
|
||||
(open-bytevector-input-port (read-radix-64 port))
|
||||
port)
|
||||
keyring)))
|
||||
|
||||
(define (load-keyring-from-reference repository reference)
|
||||
"Load the '.key' files from the tree at REFERENCE in REPOSITORY and return
|
||||
an OpenPGP keyring."
|
||||
(let* ((reference (branch-lookup repository
|
||||
(string-append "origin/" reference)
|
||||
BRANCH-REMOTE))
|
||||
(target (reference-target reference))
|
||||
(commit (commit-lookup repository target))
|
||||
(tree (commit-tree commit)))
|
||||
(fold (lambda (name keyring)
|
||||
(if (string-suffix? ".key" name)
|
||||
(let ((entry (tree-entry-bypath tree name)))
|
||||
(load-keyring-from-blob repository
|
||||
(tree-entry-id entry)
|
||||
keyring))
|
||||
keyring))
|
||||
%empty-keyring
|
||||
(tree-list tree))))
|
||||
|
||||
(define* (authenticate-commits repository commits
|
||||
#:key
|
||||
(keyring-reference "keyring")
|
||||
(report-progress (const #t)))
|
||||
"Authenticate COMMITS, a list of commit objects, calling REPORT-PROGRESS for
|
||||
each of them. Return an alist showing the number of occurrences of each key.
|
||||
The OpenPGP keyring is loaded from KEYRING-REFERENCE in REPOSITORY."
|
||||
(define keyring
|
||||
(load-keyring-from-reference repository keyring-reference))
|
||||
|
||||
(fold (lambda (commit stats)
|
||||
(report-progress)
|
||||
(let ((signer (authenticate-commit repository commit keyring)))
|
||||
(match (assq signer stats)
|
||||
(#f (cons `(,signer . 1) stats))
|
||||
((_ . count) (cons `(,signer . ,(+ count 1))
|
||||
(alist-delete signer stats))))))
|
||||
'()
|
||||
commits))
|
||||
|
||||
(define commit-short-id
|
||||
(compose (cut string-take <> 7) oid->string commit-id))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Caching.
|
||||
;;;
|
||||
|
||||
(define (authenticated-commit-cache-file)
|
||||
"Return the name of the file that contains the cache of
|
||||
previously-authenticated commits."
|
||||
(string-append (cache-directory) "/authentication/channels/guix"))
|
||||
|
||||
(define (previously-authenticated-commits)
|
||||
"Return the previously-authenticated commits as a list of commit IDs (hex
|
||||
strings)."
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(call-with-input-file (authenticated-commit-cache-file)
|
||||
read))
|
||||
(lambda args
|
||||
(if (= ENOENT (system-error-errno args))
|
||||
'()
|
||||
(apply throw args)))))
|
||||
|
||||
(define (cache-authenticated-commit commit-id)
|
||||
"Record in ~/.cache COMMIT-ID and its closure as authenticated (only
|
||||
COMMIT-ID is written to cache, though)."
|
||||
(define %max-cache-length
|
||||
;; Maximum number of commits in cache.
|
||||
200)
|
||||
|
||||
(let ((lst (delete-duplicates
|
||||
(cons commit-id (previously-authenticated-commits))))
|
||||
(file (authenticated-commit-cache-file)))
|
||||
(mkdir-p (dirname file))
|
||||
(with-atomic-file-output file
|
||||
(lambda (port)
|
||||
(let ((lst (if (> (length lst) %max-cache-length)
|
||||
(take lst %max-cache-length) ;truncate
|
||||
lst)))
|
||||
(chmod port #o600)
|
||||
(display ";; List of previously-authenticated commits.\n\n"
|
||||
port)
|
||||
(pretty-print lst port))))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Entry point.
|
||||
|
@ -461,6 +271,8 @@ COMMIT-ID is written to cache, though)."
|
|||
(let ((stats (call-with-progress-reporter reporter
|
||||
(lambda (report)
|
||||
(authenticate-commits repository commits
|
||||
#:default-authorizations
|
||||
%historical-authorized-signing-keys
|
||||
#:report-progress report)))))
|
||||
(cache-authenticated-commit (oid->string (commit-id end-commit)))
|
||||
|
||||
|
|
|
@ -112,7 +112,8 @@ COMMIT."
|
|||
#:select? version-controlled?))
|
||||
(hash (query-path-hash store source))
|
||||
(location (package-definition-location))
|
||||
(old-hash (origin-sha256 (package-source guix))))
|
||||
(old-hash (content-hash-value
|
||||
(origin-hash (package-source guix)))))
|
||||
(edit-expression location
|
||||
(update-definition commit hash
|
||||
#:old-hash old-hash
|
||||
|
|
|
@ -136,9 +136,9 @@ if test "x$guix_cv_have_recent_guile_sqlite3" != "xyes"; then
|
|||
AC_MSG_ERROR([A recent Guile-SQLite3 could not be found; please install it.])
|
||||
fi
|
||||
|
||||
GUILE_MODULE_AVAILABLE([have_guile_gcrypt], [(gcrypt hash)])
|
||||
if test "x$have_guile_gcrypt" != "xyes"; then
|
||||
AC_MSG_ERROR([Guile-Gcrypt could not be found; please install it.])
|
||||
GUIX_CHECK_GUILE_GCRYPT
|
||||
if test "x$guix_cv_have_recent_guile_gcrypt" != "xyes"; then
|
||||
AC_MSG_ERROR([A recent Guile-Gcrypt could not be found; please install it.])
|
||||
fi
|
||||
|
||||
dnl Guile-newt is used by the graphical installer.
|
||||
|
|
|
@ -141,7 +141,7 @@ as well as images, OS examples, and translations."
|
|||
(date->string date "~B ~Y")
|
||||
version version))))))
|
||||
|
||||
(install-file #$(file-append* documentation "/htmlxref.cnf")
|
||||
(install-file #$(file-append documentation "/htmlxref.cnf")
|
||||
#$output)
|
||||
|
||||
(for-each (lambda (texi)
|
||||
|
@ -182,11 +182,12 @@ content=\"width=device-width, initial-scale=1\" />"))
|
|||
;; Guile-Lib with a hotfix for (htmlprag).
|
||||
(package
|
||||
(inherit guile-lib)
|
||||
(source (origin
|
||||
(inherit (package-source guile-lib))
|
||||
(modules '(( guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments guile-lib)
|
||||
((#:phases phases '%standard-phases)
|
||||
`(modify-phases ,phases
|
||||
(add-before 'build 'fix-htmlprag
|
||||
(lambda _
|
||||
;; When parsing
|
||||
;; "<body><blockquote><p>foo</p>\n</blockquote></body>",
|
||||
;; 'html->shtml' would mistakenly close 'blockquote' right
|
||||
|
@ -195,11 +196,7 @@ content=\"width=device-width, initial-scale=1\" />"))
|
|||
(substitute* "src/htmlprag.scm"
|
||||
(("^[[:blank:]]*\\(p[[:blank:]]+\\. \\(body td th\\)\\).*")
|
||||
""))
|
||||
#t))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments guile-lib)
|
||||
((#:phases phases '%standard-phases)
|
||||
`(modify-phases ,phases
|
||||
#t))
|
||||
(add-before 'check 'skip-known-failure
|
||||
(lambda _
|
||||
;; XXX: The above change causes one test failure among
|
||||
|
|
|
@ -501,7 +501,7 @@ It is a good idea to strip commit identifiers in the @code{version}
|
|||
field to, say, 7 digits. It avoids an aesthetic annoyance (assuming
|
||||
aesthetics have a role to play here) as well as problems related to OS
|
||||
limits such as the maximum shebang length (127 bytes for the Linux
|
||||
kernel.) It is best to use the full commit identifiers in
|
||||
kernel). It is best to use the full commit identifiers in
|
||||
@code{origin}s, though, to avoid ambiguities. A typical package
|
||||
definition may look like this:
|
||||
|
||||
|
@ -938,7 +938,7 @@ your @code{operating-system} configuration:
|
|||
@lisp
|
||||
(service qemu-binfmt-service-type
|
||||
(qemu-binfmt-configuration
|
||||
(platforms (lookup-qemu-platforms "arm" "aarch64" "mips64el"))
|
||||
(platforms (lookup-qemu-platforms "arm" "aarch64"))
|
||||
(guix-support? #t)))
|
||||
@end lisp
|
||||
|
||||
|
@ -951,7 +951,6 @@ commands, respectively:
|
|||
@example
|
||||
guix build --system=armhf-linux --rounds=2 hello
|
||||
guix build --system=aarch64-linux --rounds=2 hello
|
||||
guix build --system=mips64el-linux --rounds=2 hello
|
||||
@end example
|
||||
|
||||
@item
|
||||
|
@ -1278,6 +1277,14 @@ When pushing a commit on behalf of somebody else, please add a
|
|||
with @command{git am --signoff}. This improves tracking of who did
|
||||
what.
|
||||
|
||||
When adding channel news entries (@pxref{Channels, Writing Channel
|
||||
News}), make sure they are well-formed by running the following command
|
||||
right before pushing:
|
||||
|
||||
@example
|
||||
make check-channel-news
|
||||
@end example
|
||||
|
||||
For anything else, please post to @email{guix-patches@@gnu.org} and
|
||||
leave time for a review, without committing anything (@pxref{Submitting
|
||||
Patches}). If you didn’t receive any reply after two weeks, and if
|
||||
|
|
|
@ -14,6 +14,7 @@ Copyright @copyright{} 2019 Pierre Neidhardt@*
|
|||
Copyright @copyright{} 2020 Oleg Pykhalov@*
|
||||
Copyright @copyright{} 2020 Matthew Brooks@*
|
||||
Copyright @copyright{} 2020 Marcin Karpezo@*
|
||||
Copyright @copyright{} 2020 Brice Waegeneire@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
|
@ -1323,8 +1324,10 @@ reference.
|
|||
|
||||
@menu
|
||||
* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System.
|
||||
* Connecting to Wireguard VPN:: Connecting to a Wireguard VPN.
|
||||
* Customizing a Window Manager:: Handle customization of a Window manager on Guix System.
|
||||
* Setting up a bind mount:: Setting up a bind mount in the file-systems definition.
|
||||
* Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor.
|
||||
@end menu
|
||||
|
||||
@node Customizing the Kernel
|
||||
|
@ -1567,6 +1570,83 @@ likely that you'll need to modify the initrd on a machine using a custom
|
|||
kernel, since certain modules which are expected to be built may not be
|
||||
available for inclusion into the initrd.
|
||||
|
||||
@node Connecting to Wireguard VPN
|
||||
@section Connecting to Wireguard VPN
|
||||
|
||||
To connect to a Wireguard VPN server you need the kernel module to be
|
||||
loaded in memory and a package providing networking tools that support
|
||||
it (e.g. @code{wireguard-tools} or @code{network-manager}).
|
||||
|
||||
Here is a configuration example for Linux-Libre < 5.6, where the module
|
||||
is out of tree and need to be loaded manually---following revisions of
|
||||
the kernel have it built-in and so don't need such configuration:
|
||||
|
||||
@lisp
|
||||
(use-modules (gnu))
|
||||
(use-service-modules desktop)
|
||||
(use-package-modules vpn)
|
||||
|
||||
(operating-system
|
||||
;; …
|
||||
(services (cons (simple-service 'wireguard-module
|
||||
kernel-module-loader-service-type
|
||||
'("wireguard"))
|
||||
%desktop-services))
|
||||
(packages (cons wireguard-tools %base-packages))
|
||||
(kernel-loadable-modules (list wireguard-linux-compat)))
|
||||
@end lisp
|
||||
|
||||
After reconfiguring and restarting your system you can either use
|
||||
Wireguard tools or NetworkManager to connect to a VPN server.
|
||||
|
||||
@subsection Using Wireguard tools
|
||||
|
||||
To test your Wireguard setup it is convenient to use @command{wg-quick}.
|
||||
Just give it a configuration file @command{wg-quick up ./wg0.conf}; or
|
||||
put that file in @file{/etc/wireguard} and run @command{wg-quick up wg0}
|
||||
instead.
|
||||
|
||||
@quotation Note
|
||||
Be warned that the author described this command as a: “[…] very quick
|
||||
and dirty bash script […]”.
|
||||
@end quotation
|
||||
|
||||
@subsection Using NetworkManager
|
||||
|
||||
Thanks to NetworkManager support for Wireguard we can connect to our VPN
|
||||
using @command{nmcli} command. Up to this point this guide assumes that
|
||||
you're using Network Manager service provided by
|
||||
@code{%desktop-services}. Ortherwise you need to adjust your services
|
||||
list to load @code{network-manager-service-type} and reconfigure your
|
||||
Guix system.
|
||||
|
||||
To import your VPN configuration execute nmcli import command:
|
||||
|
||||
@example shell
|
||||
# nmcli connection import type wireguard file wg0.conf
|
||||
Connection 'wg0' (edbee261-aa5a-42db-b032-6c7757c60fde) successfully added
|
||||
@end example
|
||||
|
||||
This will create a configuration file in
|
||||
@file{/etc/NetworkManager/wg0.nmconnection}. Next connect to the
|
||||
Wireguard server:
|
||||
|
||||
@example shell
|
||||
$ nmcli connection up wg0
|
||||
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)
|
||||
@end example
|
||||
|
||||
By default NetworkManager will connect automatically on system boot. To
|
||||
change that behaviour you need to edit your config:
|
||||
|
||||
@example shell
|
||||
# nmcli connection modify wg0 connection.autoconnect no
|
||||
@end example
|
||||
|
||||
For more specific information about NetworkManager and wireguard
|
||||
@uref{https://blogs.gnome.org/thaller/2019/03/15/wireguard-in-networkmanager/,see
|
||||
this post by thaller}.
|
||||
|
||||
@node Customizing a Window Manager
|
||||
@section Customizing a Window Manager
|
||||
@cindex wm
|
||||
|
@ -1617,6 +1697,47 @@ Then you need to add the following code to a StumpWM configuration file
|
|||
(set-font (make-instance 'xft:font :family "DejaVu Sans Mono" :subfamily "Book" :size 11))
|
||||
@end lisp
|
||||
|
||||
@node Session lock
|
||||
@subsection Session lock
|
||||
@cindex sessionlock
|
||||
|
||||
Depending on your environment, locking the screen of your session might come built in
|
||||
or it might be something you have to set up yourself. If you use a desktop environment
|
||||
like GNOME or KDE, it's usually built in. If you use a plain window manager like
|
||||
StumpWM or EXWM, you might have to set it up yourself.
|
||||
|
||||
@node Xorg
|
||||
@subsubsection Xorg
|
||||
|
||||
If you use Xorg, you can use the utility
|
||||
@uref{https://www.mankier.com/1/xss-lock, xss-lock} to lock the screen of your session.
|
||||
xss-lock is triggered by DPMS which since Xorg 1.8 is auto-detected and enabled if
|
||||
ACPI is also enabled at kernel runtime.
|
||||
|
||||
To use xss-lock, you can simple execute it and put it into the background before
|
||||
you start your window manager from e.g. your @file{~/.xsession}:
|
||||
|
||||
@example
|
||||
xss-lock -- slock &
|
||||
exec stumpwm
|
||||
@end example
|
||||
|
||||
In this example, xss-lock uses @code{slock} to do the actual locking of the screen when
|
||||
it determines it's appropriate, like when you suspend your device.
|
||||
|
||||
For slock to be allowed to be a screen locker for the graphical session, it needs to
|
||||
be made setuid-root so it can authenticate users, and it needs a PAM service. This
|
||||
can be achieved by adding the following service to your @file{config.scm}:
|
||||
|
||||
@lisp
|
||||
(screen-locker-service slock)
|
||||
@end lisp
|
||||
|
||||
If you manually lock your screen, e.g. by directly calling slock when you want to lock
|
||||
your screen but not suspend it, it's a good idea to notify xss-lock about this so no
|
||||
confusion occurs. This can be done by executing @code{xset s activate} immediately
|
||||
before you execute slock.
|
||||
|
||||
@node Setting up a bind mount
|
||||
@section Setting up a bind mount
|
||||
|
||||
|
@ -1666,6 +1787,62 @@ mount itself.
|
|||
))
|
||||
@end lisp
|
||||
|
||||
@node Getting substitutes from Tor
|
||||
@section Getting substitutes from Tor
|
||||
|
||||
Guix daemon can use a HTTP proxy to get substitutes, here we are
|
||||
configuring it to get them via Tor.
|
||||
|
||||
@quotation Warning
|
||||
@emph{Not all} Guix daemon's traffic will go through Tor! Only
|
||||
HTTP/HTTPS will get proxied; FTP, Git protocol, SSH, etc connections
|
||||
will still go through the clearnet. Again, this configuration isn't
|
||||
foolproof some of your traffic won't get routed by Tor at all. Use it
|
||||
at your own risk.
|
||||
@end quotation
|
||||
|
||||
Guix's substitute server is available as a Onion service, if you want
|
||||
to use it to get your substitutes from Tor configure your system as
|
||||
follow:
|
||||
|
||||
@lisp
|
||||
(use-modules (gnu))
|
||||
(use-service-module base networking)
|
||||
|
||||
(operating-system
|
||||
…
|
||||
(services
|
||||
(cons
|
||||
(service tor-service-type
|
||||
(tor-configuration
|
||||
(config-file (plain-file "tor-config"
|
||||
"HTTPTunnelPort 127.0.0.1:9250"))))
|
||||
(modify-services %base-services
|
||||
(guix-service-type
|
||||
config => (guix-configuration
|
||||
(inherit config)
|
||||
;; ci.guix.gnu.org's Onion service
|
||||
(substitute-urls "https://bp7o7ckwlewr4slm.onion")
|
||||
(http-proxy "http://localhost:9250")))))))
|
||||
@end lisp
|
||||
|
||||
This will keep a tor process running that provides a HTTP CONNECT tunnel
|
||||
which will be used by @command{guix-daemon}. The daemon can use other
|
||||
protocols than HTTP(S) to get remote resources, request using those
|
||||
protocols won't go through Tor since we are only setting a HTTP tunnel
|
||||
here. Note that @code{substitutes-urls} is using HTTPS and not HTTP or
|
||||
it won't work, that's a limitation of Tor's tunnel; you may want to use
|
||||
@command{privoxy} instead to avoid such limitations.
|
||||
|
||||
If you don't want to always get substitutes through Tor but using it just
|
||||
some of the times, then skip the @code{guix-configuration}. When you
|
||||
want to get a substitute from the Tor tunnel run:
|
||||
|
||||
@example
|
||||
sudo herd set-http-proxy guix-daemon http://localhost:9250
|
||||
guix build --substitute-urls=https://bp7o7ckwlewr4slm.onion …
|
||||
@end example
|
||||
|
||||
@c *********************************************************************
|
||||
@node Advanced package management
|
||||
@chapter Advanced package management
|
||||
|
|
603
doc/guix.texi
603
doc/guix.texi
File diff suppressed because it is too large
Load diff
114
doc/images/gcc-core-mesboot0-graph.dot
Normal file
114
doc/images/gcc-core-mesboot0-graph.dot
Normal file
|
@ -0,0 +1,114 @@
|
|||
digraph "Guix package" {
|
||||
"139781154519456" [label = "gcc-core-mesboot0@2.95.3", shape = box, fontname = Helvetica];
|
||||
"139781154519456" -> "139781154519632" [color = darkgoldenrod];
|
||||
"139781154519456" -> "139781154520688" [color = darkgoldenrod];
|
||||
"139781154519456" -> "139781034971312" [color = darkgoldenrod];
|
||||
"139781154519456" -> "139781154520160" [color = darkgoldenrod];
|
||||
"139781154519456" -> "139781034971664" [color = darkgoldenrod];
|
||||
"139781154519456" -> "139781154519984" [color = darkgoldenrod];
|
||||
"139781154519456" -> "139781154519808" [color = darkgoldenrod];
|
||||
"139781154519456" -> "139781154520512" [color = darkgoldenrod];
|
||||
"139781154519456" -> "139781034971488" [color = darkgoldenrod];
|
||||
"139781154519456" -> "139781034972896" [color = darkgoldenrod];
|
||||
"139781154519456" -> "139781034972368" [color = darkgoldenrod];
|
||||
"139781154519456" -> "139781034973072" [color = darkgoldenrod];
|
||||
"139781154519456" -> "139781131267872" [color = darkgoldenrod];
|
||||
"139781154519632" [label = "binutils-mesboot0@2.14", shape = box, fontname = Helvetica];
|
||||
"139781154519632" -> "139781154520688" [color = peachpuff4];
|
||||
"139781154519632" -> "139781034971312" [color = peachpuff4];
|
||||
"139781154519632" -> "139781154520160" [color = peachpuff4];
|
||||
"139781154519632" -> "139781034971664" [color = peachpuff4];
|
||||
"139781154519632" -> "139781154519984" [color = peachpuff4];
|
||||
"139781154519632" -> "139781154519808" [color = peachpuff4];
|
||||
"139781154519632" -> "139781154520512" [color = peachpuff4];
|
||||
"139781154519632" -> "139781034971488" [color = peachpuff4];
|
||||
"139781154519632" -> "139781034972896" [color = peachpuff4];
|
||||
"139781154519632" -> "139781034972368" [color = peachpuff4];
|
||||
"139781154519632" -> "139781034973072" [color = peachpuff4];
|
||||
"139781154519632" -> "139781131267872" [color = peachpuff4];
|
||||
"139781154520688" [label = "bash-mesboot0@2.05b", shape = box, fontname = Helvetica];
|
||||
"139781154520688" -> "139781034971488" [color = magenta];
|
||||
"139781154520688" -> "139781034971840" [color = magenta];
|
||||
"139781154520688" -> "139781034972896" [color = magenta];
|
||||
"139781154520688" -> "139781034972368" [color = magenta];
|
||||
"139781154520688" -> "139781034973072" [color = magenta];
|
||||
"139781154520688" -> "139781131267872" [color = magenta];
|
||||
"139781034971488" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
|
||||
"139781034971488" -> "139781034971840" [color = dimgrey];
|
||||
"139781034971488" -> "139781034972896" [color = dimgrey];
|
||||
"139781034971488" -> "139781034972368" [color = dimgrey];
|
||||
"139781034971488" -> "139781034973072" [color = dimgrey];
|
||||
"139781034971488" -> "139781131267872" [color = dimgrey];
|
||||
"139781034971840" [label = "tcc-boot0@0.9.26-1103-g6e62e0e", shape = box, fontname = Helvetica];
|
||||
"139781034971840" -> "139781034972016" [color = magenta];
|
||||
"139781034971840" -> "139781131266816" [color = magenta];
|
||||
"139781034971840" -> "139781034972896" [color = magenta];
|
||||
"139781034971840" -> "139781034972368" [color = magenta];
|
||||
"139781034971840" -> "139781034973072" [color = magenta];
|
||||
"139781034971840" -> "139781131267872" [color = magenta];
|
||||
"139781034972016" [label = "mes-boot@0.22", shape = box, fontname = Helvetica];
|
||||
"139781034972016" -> "139781034972192" [color = cyan3];
|
||||
"139781034972016" -> "139781131266816" [color = cyan3];
|
||||
"139781034972016" -> "139781034972896" [color = cyan3];
|
||||
"139781034972016" -> "139781034972368" [color = cyan3];
|
||||
"139781034972016" -> "139781034973072" [color = cyan3];
|
||||
"139781034972016" -> "139781131267872" [color = cyan3];
|
||||
"139781034972192" [label = "bootstrap-mes-rewired@0.19", shape = ellipse, fontname = Helvetica];
|
||||
"139781034972192" -> "139781131266640" [color = darkseagreen];
|
||||
"139781034972192" -> "139781034972896" [color = darkseagreen];
|
||||
"139781131266640" [label = "bootstrap-mes@0", shape = ellipse, fontname = Helvetica];
|
||||
"139781034972896" [label = "gash-boot@0.2.0", shape = box, fontname = Helvetica];
|
||||
"139781034972896" -> "139781034973072" [color = darkviolet];
|
||||
"139781034972896" -> "139781131267872" [color = darkviolet];
|
||||
"139781034973072" [label = "bootar@1", shape = box, fontname = Helvetica];
|
||||
"139781034973072" -> "139781131267872" [color = darkviolet];
|
||||
"139781131267872" [label = "guile-bootstrap@2.0", shape = ellipse, fontname = Helvetica];
|
||||
"139781131266816" [label = "bootstrap-mescc-tools@0.5.2", shape = ellipse, fontname = Helvetica];
|
||||
"139781034972368" [label = "gash-utils-boot@0.1.0", shape = box, fontname = Helvetica];
|
||||
"139781034972368" -> "139781034973072" [color = darkseagreen];
|
||||
"139781034972368" -> "139781034972896" [color = darkseagreen];
|
||||
"139781034972368" -> "139781131267872" [color = darkseagreen];
|
||||
"139781034971312" [label = "bzip2-mesboot@1.0.8", shape = box, fontname = Helvetica];
|
||||
"139781034971312" -> "139781034971488" [color = cyan3];
|
||||
"139781034971312" -> "139781034971840" [color = cyan3];
|
||||
"139781034971312" -> "139781034972896" [color = cyan3];
|
||||
"139781034971312" -> "139781034972368" [color = cyan3];
|
||||
"139781034971312" -> "139781034973072" [color = cyan3];
|
||||
"139781034971312" -> "139781131267872" [color = cyan3];
|
||||
"139781154520160" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
|
||||
"139781154520160" -> "139781034971488" [color = red];
|
||||
"139781154520160" -> "139781034971840" [color = red];
|
||||
"139781154520160" -> "139781034972896" [color = red];
|
||||
"139781154520160" -> "139781034972368" [color = red];
|
||||
"139781154520160" -> "139781034973072" [color = red];
|
||||
"139781154520160" -> "139781131267872" [color = red];
|
||||
"139781034971664" [label = "gzip-mesboot@1.2.4", shape = box, fontname = Helvetica];
|
||||
"139781034971664" -> "139781034971840" [color = red];
|
||||
"139781034971664" -> "139781034972896" [color = red];
|
||||
"139781034971664" -> "139781034972368" [color = red];
|
||||
"139781034971664" -> "139781034973072" [color = red];
|
||||
"139781034971664" -> "139781131267872" [color = red];
|
||||
"139781154519984" [label = "patch-mesboot@2.5.9", shape = box, fontname = Helvetica];
|
||||
"139781154519984" -> "139781034971488" [color = blue];
|
||||
"139781154519984" -> "139781034971840" [color = blue];
|
||||
"139781154519984" -> "139781034972896" [color = blue];
|
||||
"139781154519984" -> "139781034972368" [color = blue];
|
||||
"139781154519984" -> "139781034973072" [color = blue];
|
||||
"139781154519984" -> "139781131267872" [color = blue];
|
||||
"139781154519808" [label = "sed-mesboot0@1.18", shape = box, fontname = Helvetica];
|
||||
"139781154519808" -> "139781034971488" [color = red];
|
||||
"139781154519808" -> "139781034971840" [color = red];
|
||||
"139781154519808" -> "139781034972896" [color = red];
|
||||
"139781154519808" -> "139781034972368" [color = red];
|
||||
"139781154519808" -> "139781034973072" [color = red];
|
||||
"139781154519808" -> "139781131267872" [color = red];
|
||||
"139781154520512" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
|
||||
"139781154520512" -> "139781034971312" [color = darkviolet];
|
||||
"139781154520512" -> "139781034971488" [color = darkviolet];
|
||||
"139781154520512" -> "139781034971840" [color = darkviolet];
|
||||
"139781154520512" -> "139781034972896" [color = darkviolet];
|
||||
"139781154520512" -> "139781034972368" [color = darkviolet];
|
||||
"139781154520512" -> "139781034973072" [color = darkviolet];
|
||||
"139781154520512" -> "139781131267872" [color = darkviolet];
|
||||
|
||||
}
|
|
@ -1,123 +0,0 @@
|
|||
digraph "Guix bag" {
|
||||
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" [label = "gcc-mesboot@4.9.4", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = darkviolet];
|
||||
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" [color = darkviolet];
|
||||
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = darkviolet];
|
||||
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" [color = darkviolet];
|
||||
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkviolet];
|
||||
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkviolet];
|
||||
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkviolet];
|
||||
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkviolet];
|
||||
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = darkviolet];
|
||||
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [label = "binutils-mesboot@2.20.1a", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = dimgrey];
|
||||
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = dimgrey];
|
||||
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [color = dimgrey];
|
||||
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
|
||||
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
|
||||
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = dimgrey];
|
||||
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = dimgrey];
|
||||
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = dimgrey];
|
||||
"/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = peachpuff4];
|
||||
"/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
|
||||
"/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
|
||||
"/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = peachpuff4];
|
||||
"/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = peachpuff4];
|
||||
"/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" -> "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [color = cyan3];
|
||||
"/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" -> "/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" [color = cyan3];
|
||||
"/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = cyan3];
|
||||
"/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [label = "mes-boot@0.18", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = darkviolet];
|
||||
"/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkviolet];
|
||||
"/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" -> "/gnu/store/viccpx5izm9z0ci5nvib0xkdrsfqixlr-bootstrap-mes-0.drv" [color = darkviolet];
|
||||
"/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [label = "bootstrap-mescc-tools@0.5.2", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [label = "bootstrap-binaries@0", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/viccpx5izm9z0ci5nvib0xkdrsfqixlr-bootstrap-mes-0.drv" [label = "bootstrap-mes@0", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" [label = "tcc-boot0@0.9.26-5.c7b3f59", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [color = dimgrey];
|
||||
"/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = dimgrey];
|
||||
"/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
|
||||
"/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/viccpx5izm9z0ci5nvib0xkdrsfqixlr-bootstrap-mes-0.drv" [color = dimgrey];
|
||||
"/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [color = peachpuff4];
|
||||
"/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = peachpuff4];
|
||||
"/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
|
||||
"/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
|
||||
"/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = peachpuff4];
|
||||
"/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = darkgoldenrod];
|
||||
"/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkgoldenrod];
|
||||
"/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkgoldenrod];
|
||||
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [label = "glibc-mesboot0@2.2.5", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
|
||||
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" [color = darkseagreen];
|
||||
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
|
||||
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
|
||||
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkseagreen];
|
||||
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [color = darkseagreen];
|
||||
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = darkseagreen];
|
||||
"/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" [label = "gcc-core-mesboot@2.95.3", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = dimgrey];
|
||||
"/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = dimgrey];
|
||||
"/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
|
||||
"/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
|
||||
"/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = dimgrey];
|
||||
"/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = dimgrey];
|
||||
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [label = "mesboot-headers@0.18", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = cyan3];
|
||||
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = cyan3];
|
||||
"/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap@0", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [label = "gcc-mesboot0@2.95.3", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
|
||||
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" [color = darkseagreen];
|
||||
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
|
||||
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
|
||||
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
|
||||
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkseagreen];
|
||||
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
|
||||
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = darkseagreen];
|
||||
"/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" [label = "gcc-mesboot1-wrapper@4.7.4", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
|
||||
"/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" [color = red];
|
||||
"/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = red];
|
||||
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" [label = "glibc-mesboot@2.16.0", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = blue];
|
||||
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = blue];
|
||||
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" [color = blue];
|
||||
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = blue];
|
||||
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
|
||||
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
|
||||
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = blue];
|
||||
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = blue];
|
||||
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = blue];
|
||||
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" [label = "glibc-headers-mesboot@2.16.0", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = red];
|
||||
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = red];
|
||||
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = red];
|
||||
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [color = red];
|
||||
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
|
||||
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
|
||||
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = red];
|
||||
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = red];
|
||||
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = red];
|
||||
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [label = "gcc-mesboot1@4.7.4", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = darkseagreen];
|
||||
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [color = darkseagreen];
|
||||
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
|
||||
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
|
||||
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
|
||||
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkseagreen];
|
||||
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
|
||||
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = darkseagreen];
|
||||
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [label = "make-mesboot@3.82", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = magenta];
|
||||
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = magenta];
|
||||
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [color = magenta];
|
||||
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = magenta];
|
||||
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = magenta];
|
||||
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = magenta];
|
||||
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = magenta];
|
||||
|
||||
}
|
|
@ -39,7 +39,7 @@ DOT_FILES = \
|
|||
%D%/images/bootstrap-packages.dot \
|
||||
%D%/images/coreutils-graph.dot \
|
||||
%D%/images/coreutils-bag-graph.dot \
|
||||
%D%/images/gcc-mesboot-bag-graph.dot \
|
||||
%D%/images/gcc-core-mesboot0-graph.dot \
|
||||
%D%/images/service-graph.dot \
|
||||
%D%/images/shepherd-graph.dot
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
|
@ -115,6 +115,24 @@ _guix_is_dash_m ()
|
|||
esac }
|
||||
}
|
||||
|
||||
_guix_is_dash_C ()
|
||||
{
|
||||
[ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-C" ] \
|
||||
|| { case "${COMP_WORDS[$COMP_CWORD]}" in
|
||||
--channels=*) true;;
|
||||
*) false;;
|
||||
esac }
|
||||
}
|
||||
|
||||
_guix_is_dash_p ()
|
||||
{
|
||||
[ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-p" ] \
|
||||
|| { case "${COMP_WORDS[$COMP_CWORD]}" in
|
||||
--profile=*) true;;
|
||||
*) false;;
|
||||
esac }
|
||||
}
|
||||
|
||||
_guix_complete_file ()
|
||||
{
|
||||
# Let Readline complete file names.
|
||||
|
@ -130,6 +148,17 @@ _guix_complete_pid ()
|
|||
|
||||
declare _guix_subcommands
|
||||
|
||||
_guix_complete_subcommand ()
|
||||
{
|
||||
if [ -z "$_guix_subcommands" ]
|
||||
then
|
||||
# Cache the list of subcommands to speed things up.
|
||||
_guix_subcommands="$(guix --help 2> /dev/null \
|
||||
| grep '^ ' | cut -c 2-)"
|
||||
fi
|
||||
COMPREPLY=($(compgen -W "$_guix_subcommands" -- "$word_at_point"))
|
||||
}
|
||||
|
||||
_guix_complete ()
|
||||
{
|
||||
local word_count=${#COMP_WORDS[*]}
|
||||
|
@ -147,13 +176,7 @@ _guix_complete ()
|
|||
|
||||
case $COMP_CWORD in
|
||||
1)
|
||||
if [ -z "$_guix_subcommands" ]
|
||||
then
|
||||
# Cache the list of subcommands to speed things up.
|
||||
_guix_subcommands="$(guix --help 2> /dev/null \
|
||||
| grep '^ ' | cut -c 2-)"
|
||||
fi
|
||||
COMPREPLY=($(compgen -W "$_guix_subcommands" -- "$word_at_point"))
|
||||
_guix_complete_subcommand
|
||||
;;
|
||||
*)
|
||||
if _guix_is_command "package"
|
||||
|
@ -169,13 +192,28 @@ _guix_complete ()
|
|||
fi
|
||||
elif _guix_is_command "install"
|
||||
then
|
||||
if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p
|
||||
then
|
||||
_guix_complete_file
|
||||
else
|
||||
_guix_complete_available_package "$word_at_point"
|
||||
fi
|
||||
elif _guix_is_command "remove"
|
||||
then
|
||||
if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p
|
||||
then
|
||||
_guix_complete_file
|
||||
else
|
||||
_guix_complete_installed_package "$word_at_point"
|
||||
fi
|
||||
elif _guix_is_command "upgrade"
|
||||
then
|
||||
if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p
|
||||
then
|
||||
_guix_complete_file
|
||||
else
|
||||
_guix_complete_installed_package "$word_at_point"
|
||||
fi
|
||||
elif _guix_is_command "build"
|
||||
then
|
||||
if _guix_is_dash_L || _guix_is_dash_m
|
||||
|
@ -193,6 +231,20 @@ _guix_complete ()
|
|||
2) _guix_complete_subcommand;;
|
||||
*) _guix_complete_file;; # TODO: restrict to *.scm
|
||||
esac
|
||||
elif _guix_is_command "pull"
|
||||
then
|
||||
if _guix_is_dash_C || _guix_is_dash_p
|
||||
then
|
||||
_guix_complete_file
|
||||
fi
|
||||
elif _guix_is_command "time-machine"
|
||||
then
|
||||
if _guix_is_dash_C
|
||||
then
|
||||
_guix_complete_file
|
||||
else
|
||||
_guix_complete_subcommand
|
||||
fi
|
||||
elif _guix_is_command "container"
|
||||
then
|
||||
case $COMP_CWORD in
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#!/bin/sh
|
||||
|
||||
# This hook script prevents the user from pushing to Savannah if any of the new
|
||||
# commits' OpenPGP signatures cannot be verified.
|
||||
# commits' OpenPGP signatures cannot be verified, or if a commit is signed
|
||||
# with an unauthorized key.
|
||||
|
||||
# Called by "git push" after it has checked the remote status, but before
|
||||
# anything has been pushed. If this script exits with a non-zero status nothing
|
||||
|
@ -19,51 +20,13 @@
|
|||
#
|
||||
# <local ref> <local sha1> <remote ref> <remote sha1>
|
||||
|
||||
z40=0000000000000000000000000000000000000000
|
||||
|
||||
# Only use the hook when pushing to Savannah.
|
||||
case "$2" in
|
||||
*git.sv.gnu.org*)
|
||||
break
|
||||
*.gnu.org*)
|
||||
exec make authenticate check-channel-news
|
||||
exit 127
|
||||
;;
|
||||
*)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
while read local_ref local_sha remote_ref remote_sha
|
||||
do
|
||||
if [ "$local_sha" = $z40 ]
|
||||
then
|
||||
# Handle delete
|
||||
:
|
||||
else
|
||||
if [ "$remote_sha" = $z40 ]
|
||||
then
|
||||
# We are pushing a new branch. To prevent wasting too
|
||||
# much time for this relatively rare case, we examine
|
||||
# all commits since the first signed commit, rather than
|
||||
# the full history. This check *will* fail, and the user
|
||||
# will need to temporarily disable the hook to push the
|
||||
# new branch.
|
||||
range="e3d0fcbf7e55e8cbe8d0a1c5a24d73f341d7243b..$local_sha"
|
||||
else
|
||||
# Update to existing branch, examine new commits
|
||||
range="$remote_sha..$local_sha"
|
||||
fi
|
||||
|
||||
# Verify the signatures of all commits being pushed.
|
||||
ret=0
|
||||
for commit in $(git rev-list $range)
|
||||
do
|
||||
if ! git verify-commit $commit >/dev/null 2>&1
|
||||
then
|
||||
printf "%s failed signature check\n" $commit
|
||||
ret=1
|
||||
fi
|
||||
done
|
||||
exit $ret
|
||||
fi
|
||||
done
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -48,6 +48,7 @@ REQUIRE=(
|
|||
"groupadd"
|
||||
"tail"
|
||||
"tr"
|
||||
"xz"
|
||||
)
|
||||
|
||||
PAS=$'[ \033[32;1mPASS\033[0m ] '
|
||||
|
@ -141,7 +142,7 @@ chk_init_sys()
|
|||
_msg "${INF}init system is: upstart"
|
||||
INIT_SYS="upstart"
|
||||
return 0
|
||||
elif [[ $(systemctl) =~ -\.mount ]]; then
|
||||
elif [[ $(systemctl 2>/dev/null) =~ -\.mount ]]; then
|
||||
_msg "${INF}init system is: systemd"
|
||||
INIT_SYS="systemd"
|
||||
return 0
|
||||
|
|
30
etc/news.scm
30
etc/news.scm
|
@ -1,8 +1,10 @@
|
|||
;; GNU Guix news, for use by 'guix pull'.
|
||||
;;
|
||||
;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;
|
||||
;; Copying and distribution of this file, with or without modification, are
|
||||
;; permitted in any medium without royalty provided the copyright notice and
|
||||
|
@ -11,6 +13,34 @@
|
|||
(channel-news
|
||||
(version 0)
|
||||
|
||||
(entry (commit "b460ba7992a0b4af2ddb5927dcf062784539ef7b")
|
||||
(title (en "Add support to boot from a Btrfs subvolume")
|
||||
(de "Unterstützung für Systemstart von einem
|
||||
Btrfs-Unterlaufwerk hinzugefügt")
|
||||
(fr "Ajout du support pour démarrer depuis un sous-volume Btrfs")
|
||||
(nl "Nieuwe ondersteuning voor het opstarten vanaf een Btrfs-subvolume"))
|
||||
(body
|
||||
(en "The generation of the GRUB configuration file produced from an
|
||||
operating system declaration now takes into account the use of a Btrfs
|
||||
subvolume for the partition holding @file{/gnu/store}. Run the command
|
||||
@command{info \"(guix) Btrfs file system\"} for more information and
|
||||
examples.")
|
||||
(de "Für die Erzeugung einer GRUB-Konfigurationsdatei aus einer
|
||||
Betriebssystemdeklaration kann jetzt ein Btrfs-Unterlaufwerk („Subvolume“) für
|
||||
die Partition mit @file{/gnu/store} angegeben werden. Führen Sie
|
||||
@command{info \"(guix) Btrfs file system\"} aus, wenn Sie mehr Informationen
|
||||
und Beispiele sehen möchten.")
|
||||
(fr "La génération du fichier de configuration de GRUB produite à
|
||||
partir de la déclaration d'un @code{operating-system} tient maintenant compte
|
||||
de l'utilisation d'un sous-volume Btrfs pour la partition contenant
|
||||
@file{/gnu/store}. Exécutez la commande @command{info\"(guix) Btrfs file
|
||||
system\"} pour des exemples et plus d'information.")
|
||||
(nl "Het opmaken van het GRUB-configuratiebestand op basis van
|
||||
een @code{operating-system}-declaratie houdt nu rekening met het gebruik van
|
||||
een Btrfs-subvolume voor de partitie die @file{/gnu/store} bevat. Voer
|
||||
@command{info \"(guix) Btrfs file system\"} uit voor meer informatie en
|
||||
voorbeelden.")))
|
||||
|
||||
(entry (commit "6456232164890dbf5aa20394ee24637feb4b7b9e")
|
||||
(title (en "@command{guix pack -RR} introduces a new execution
|
||||
engine")
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -33,6 +34,9 @@
|
|||
menu-entry-linux-arguments
|
||||
menu-entry-initrd
|
||||
menu-entry-device-mount-point
|
||||
menu-entry-multiboot-kernel
|
||||
menu-entry-multiboot-arguments
|
||||
menu-entry-multiboot-modules
|
||||
|
||||
menu-entry->sexp
|
||||
sexp->menu-entry
|
||||
|
@ -42,6 +46,7 @@
|
|||
bootloader-name
|
||||
bootloader-package
|
||||
bootloader-installer
|
||||
bootloader-disk-image-installer
|
||||
bootloader-configuration-file
|
||||
bootloader-configuration-file-generator
|
||||
|
||||
|
@ -76,22 +81,41 @@
|
|||
(default #f))
|
||||
(device-mount-point menu-entry-device-mount-point
|
||||
(default #f))
|
||||
(linux menu-entry-linux)
|
||||
(linux menu-entry-linux
|
||||
(default #f))
|
||||
(linux-arguments menu-entry-linux-arguments
|
||||
(default '())) ; list of string-valued gexps
|
||||
(initrd menu-entry-initrd)) ; file name of the initrd as a gexp
|
||||
(initrd menu-entry-initrd ; file name of the initrd as a gexp
|
||||
(default #f))
|
||||
(multiboot-kernel menu-entry-multiboot-kernel
|
||||
(default #f))
|
||||
(multiboot-arguments menu-entry-multiboot-arguments
|
||||
(default '())) ; list of string-valued gexps
|
||||
(multiboot-modules menu-entry-multiboot-modules
|
||||
(default '()))) ; list of multiboot commands, where
|
||||
; a command is a list of <string>
|
||||
|
||||
(define (menu-entry->sexp entry)
|
||||
"Return ENTRY serialized as an sexp."
|
||||
(match entry
|
||||
(($ <menu-entry> label device mount-point linux linux-arguments initrd)
|
||||
(($ <menu-entry> label device mount-point linux linux-arguments initrd #f
|
||||
())
|
||||
`(menu-entry (version 0)
|
||||
(label ,label)
|
||||
(device ,device)
|
||||
(device-mount-point ,mount-point)
|
||||
(linux ,linux)
|
||||
(linux-arguments ,linux-arguments)
|
||||
(initrd ,initrd)))))
|
||||
(initrd ,initrd)))
|
||||
(($ <menu-entry> label device mount-point #f () #f
|
||||
multiboot-kernel multiboot-arguments multiboot-modules)
|
||||
`(menu-entry (version 0)
|
||||
(label ,label)
|
||||
(device ,device)
|
||||
(device-mount-point ,mount-point)
|
||||
(multiboot-kernel ,multiboot-kernel)
|
||||
(multiboot-arguments ,multiboot-arguments)
|
||||
(multiboot-modules ,multiboot-modules)))))
|
||||
|
||||
(define (sexp->menu-entry sexp)
|
||||
"Turn SEXP, an sexp as returned by 'menu-entry->sexp', into a <menu-entry>
|
||||
|
@ -108,7 +132,20 @@ record."
|
|||
(device-mount-point mount-point)
|
||||
(linux linux)
|
||||
(linux-arguments linux-arguments)
|
||||
(initrd initrd)))))
|
||||
(initrd initrd)))
|
||||
(('menu-entry ('version 0)
|
||||
('label label) ('device device)
|
||||
('device-mount-point mount-point)
|
||||
('multiboot-kernel multiboot-kernel)
|
||||
('multiboot-arguments multiboot-arguments)
|
||||
('multiboot-modules multiboot-modules) _ ...)
|
||||
(menu-entry
|
||||
(label label)
|
||||
(device device)
|
||||
(device-mount-point mount-point)
|
||||
(multiboot-kernel multiboot-kernel)
|
||||
(multiboot-arguments multiboot-arguments)
|
||||
(multiboot-modules multiboot-modules)))))
|
||||
|
||||
|
||||
;;;
|
||||
|
@ -125,6 +162,8 @@ record."
|
|||
(name bootloader-name)
|
||||
(package bootloader-package)
|
||||
(installer bootloader-installer)
|
||||
(disk-image-installer bootloader-disk-image-installer
|
||||
(default #f))
|
||||
(configuration-file bootloader-configuration-file)
|
||||
(configuration-file-generator bootloader-configuration-file-generator))
|
||||
|
||||
|
|
|
@ -82,7 +82,8 @@
|
|||
(define* (depthcharge-configuration-file config entries
|
||||
#:key
|
||||
(system (%current-system))
|
||||
(old-entries '()))
|
||||
(old-entries '())
|
||||
#:allow-other-keys)
|
||||
(match entries
|
||||
((entry)
|
||||
(let ((kernel (menu-entry-linux entry))
|
||||
|
|
|
@ -28,7 +28,8 @@
|
|||
(define* (extlinux-configuration-file config entries
|
||||
#:key
|
||||
(system (%current-system))
|
||||
(old-entries '()))
|
||||
(old-entries '())
|
||||
#:allow-other-keys)
|
||||
"Return the U-Boot configuration file corresponding to CONFIG, a
|
||||
<u-boot-configuration> object, and where the store is available at STORE-FS, a
|
||||
<file-system> object. OLD-ENTRIES is taken to be a list of menu entries
|
||||
|
|
|
@ -2,9 +2,10 @@
|
|||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020 Stefan <stefan-guix@vodafonemail.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -37,19 +38,13 @@
|
|||
#:use-module (ice-9 regex)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-2)
|
||||
#:export (grub-image
|
||||
grub-image?
|
||||
grub-image-aspect-ratio
|
||||
grub-image-file
|
||||
|
||||
grub-theme
|
||||
#:export (grub-theme
|
||||
grub-theme?
|
||||
grub-theme-images
|
||||
grub-theme-image
|
||||
grub-theme-resolution
|
||||
grub-theme-color-normal
|
||||
grub-theme-color-highlight
|
||||
|
||||
%background-image
|
||||
%default-theme
|
||||
grub-theme-gfxmode
|
||||
|
||||
grub-bootloader
|
||||
grub-efi-bootloader
|
||||
|
@ -64,119 +59,102 @@
|
|||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define* (normalize-file file mount-point store-directory-prefix)
|
||||
"Strip MOUNT-POINT and prepend STORE-DIRECTORY-PREFIX, if any, to FILE, a
|
||||
G-expression or other lowerable object denoting a file name."
|
||||
|
||||
(define (strip-mount-point mount-point file)
|
||||
"Strip MOUNT-POINT from FILE, which is a gexp or other lowerable object
|
||||
denoting a file name."
|
||||
(match mount-point
|
||||
((? string? mount-point)
|
||||
(if mount-point
|
||||
(if (string=? mount-point "/")
|
||||
file
|
||||
#~(let ((file #$file))
|
||||
(if (string-prefix? #$mount-point file)
|
||||
(substring #$file #$(string-length mount-point))
|
||||
file))))
|
||||
(#f file)))
|
||||
file)))
|
||||
file))
|
||||
|
||||
(define (prepend-store-directory-prefix store-directory-prefix file)
|
||||
(if store-directory-prefix
|
||||
#~(string-append #$store-directory-prefix #$file)
|
||||
file))
|
||||
|
||||
(prepend-store-directory-prefix store-directory-prefix
|
||||
(strip-mount-point mount-point file)))
|
||||
|
||||
|
||||
(define-record-type* <grub-image>
|
||||
grub-image make-grub-image
|
||||
grub-image?
|
||||
(aspect-ratio grub-image-aspect-ratio ;rational number
|
||||
(default 4/3))
|
||||
(file grub-image-file)) ;file-valued gexp (SVG)
|
||||
|
||||
(define-record-type* <grub-theme>
|
||||
;; Default theme contributed by Felipe López.
|
||||
grub-theme make-grub-theme
|
||||
grub-theme?
|
||||
(images grub-theme-images
|
||||
(default '())) ;list of <grub-image>
|
||||
(image grub-theme-image
|
||||
(default (file-append %artwork-repository
|
||||
"/grub/GuixSD-fully-black-4-3.svg")))
|
||||
(resolution grub-theme-resolution
|
||||
(default '(1024 . 768)))
|
||||
(color-normal grub-theme-color-normal
|
||||
(default '((fg . cyan) (bg . blue))))
|
||||
(default '((fg . light-gray) (bg . black))))
|
||||
(color-highlight grub-theme-color-highlight
|
||||
(default '((fg . white) (bg . blue))))
|
||||
(gfxmode grub-gfxmode
|
||||
(default '((fg . yellow) (bg . black))))
|
||||
(gfxmode grub-theme-gfxmode
|
||||
(default '("auto")))) ;list of string
|
||||
|
||||
(define %background-image
|
||||
(grub-image
|
||||
(aspect-ratio 4/3)
|
||||
(file (file-append %artwork-repository
|
||||
"/grub/GuixSD-fully-black-4-3.svg"))))
|
||||
|
||||
(define %default-theme
|
||||
;; Default theme contributed by Felipe López.
|
||||
(grub-theme
|
||||
(images (list %background-image))
|
||||
(color-highlight '((fg . yellow) (bg . black)))
|
||||
(color-normal '((fg . light-gray) (bg . black))))) ;XXX: #x303030
|
||||
|
||||
|
||||
;;;
|
||||
;;; Background image & themes.
|
||||
;;;
|
||||
|
||||
(define (bootloader-theme config)
|
||||
"Return user defined theme in CONFIG if defined or %default-theme
|
||||
"Return user defined theme in CONFIG if defined or a default theme
|
||||
otherwise."
|
||||
(or (bootloader-configuration-theme config) %default-theme))
|
||||
(or (bootloader-configuration-theme config) (grub-theme)))
|
||||
|
||||
(define* (svg->png svg #:key width height)
|
||||
"Build a PNG of HEIGHT x WIDTH from SVG."
|
||||
(define* (image->png image #:key width height)
|
||||
"Build a PNG of HEIGHT x WIDTH from IMAGE if its file suffix is \".svg\".
|
||||
Otherwise the picture in IMAGE is just copied."
|
||||
(computed-file "grub-image.png"
|
||||
(with-imported-modules '((gnu build svg))
|
||||
(with-extensions (list guile-rsvg guile-cairo)
|
||||
#~(begin
|
||||
#~(if (string-suffix? ".svg" #+image)
|
||||
(begin
|
||||
(use-modules (gnu build svg))
|
||||
(svg->png #+svg #$output
|
||||
(svg->png #+image #$output
|
||||
#:width #$width
|
||||
#:height #$height))))))
|
||||
#:height #$height))
|
||||
(copy-file #+image #$output))))))
|
||||
|
||||
(define* (grub-background-image config #:key (width 1024) (height 768))
|
||||
"Return the GRUB background image defined in CONFIG with a ratio of
|
||||
WIDTH/HEIGHT, or #f if none was found."
|
||||
(let* ((ratio (/ width height))
|
||||
(image (find (lambda (image)
|
||||
(= (grub-image-aspect-ratio image) ratio))
|
||||
(grub-theme-images
|
||||
(bootloader-theme config)))))
|
||||
(define* (grub-background-image config)
|
||||
"Return the GRUB background image defined in CONFIG or #f if none was found.
|
||||
If the suffix of the image file is \".svg\", then it is converted into a PNG
|
||||
file with the resolution provided in CONFIG."
|
||||
(let* ((theme (bootloader-theme config))
|
||||
(image (grub-theme-image theme)))
|
||||
(and image
|
||||
(svg->png (grub-image-file image)
|
||||
#:width width #:height height))))
|
||||
(match (grub-theme-resolution theme)
|
||||
(((? number? width) . (? number? height))
|
||||
(image->png image #:width width #:height height))
|
||||
(_ #f)))))
|
||||
|
||||
(define* (eye-candy config store-device store-mount-point
|
||||
#:key system port)
|
||||
"Return a gexp that writes to PORT (a port-valued gexp) the
|
||||
'grub.cfg' part concerned with graphics mode, background images, colors, and
|
||||
all that. STORE-DEVICE designates the device holding the store, and
|
||||
STORE-MOUNT-POINT is its mount point; these are used to determine where the
|
||||
background image and fonts must be searched for. SYSTEM must be the target
|
||||
system string---e.g., \"x86_64-linux\"."
|
||||
(define setup-gfxterm-body
|
||||
(let ((gfxmode
|
||||
(or (and-let* ((theme (bootloader-configuration-theme config))
|
||||
(gfxmode (grub-gfxmode theme)))
|
||||
(string-join gfxmode ";"))
|
||||
"auto")))
|
||||
|
||||
;; Intel and EFI systems need to be switched into graphics mode, whereas
|
||||
;; most other modern architectures have no other mode and therefore
|
||||
;; don't need to be switched.
|
||||
|
||||
;; XXX: Do we really need to restrict to x86 systems? We could imitate
|
||||
;; what the GRUB default configuration does and decide based on whether
|
||||
;; a user provided 'gfxterm' in the terminal-outputs field of their
|
||||
;; bootloader-configuration record.
|
||||
(if (string-match "^(x86_64|i[3-6]86)-" system)
|
||||
(format #f "
|
||||
set gfxmode=~a
|
||||
insmod all_video
|
||||
insmod gfxterm~%" gfxmode)
|
||||
"")))
|
||||
|
||||
#:key store-directory-prefix port)
|
||||
"Return a gexp that writes to PORT (a port-valued gexp) the 'grub.cfg' part
|
||||
concerned with graphics mode, background images, colors, and all that.
|
||||
STORE-DEVICE designates the device holding the store, and STORE-MOUNT-POINT is
|
||||
its mount point; these are used to determine where the background image and
|
||||
fonts must be searched for. STORE-DIRECTORY-PREFIX is a directory prefix to
|
||||
prepend to any store file name."
|
||||
(define (setup-gfxterm config font-file)
|
||||
(if (memq 'gfxterm (bootloader-configuration-terminal-outputs config))
|
||||
#~(format #f "if loadfont ~a; then
|
||||
setup_gfxterm
|
||||
fi~%" #+font-file)
|
||||
#~(format #f "
|
||||
if loadfont ~a; then
|
||||
set gfxmode=~a
|
||||
insmod all_video
|
||||
insmod gfxterm
|
||||
fi~%"
|
||||
#+font-file
|
||||
#$(string-join
|
||||
(grub-theme-gfxmode (bootloader-theme config))
|
||||
";"))
|
||||
""))
|
||||
|
||||
(define (theme-colors type)
|
||||
|
@ -186,16 +164,17 @@ fi~%" #+font-file)
|
|||
(symbol->string (assoc-ref colors 'bg)))))
|
||||
|
||||
(define font-file
|
||||
(strip-mount-point store-mount-point
|
||||
(file-append grub "/share/grub/unicode.pf2")))
|
||||
(normalize-file (file-append grub "/share/grub/unicode.pf2")
|
||||
store-mount-point
|
||||
store-directory-prefix))
|
||||
|
||||
(define image
|
||||
(grub-background-image config))
|
||||
(normalize-file (grub-background-image config)
|
||||
store-mount-point
|
||||
store-directory-prefix))
|
||||
|
||||
(and image
|
||||
#~(format #$port "
|
||||
function setup_gfxterm {~a}
|
||||
|
||||
# Set 'root' to the partition that contains /gnu/store.
|
||||
~a
|
||||
|
||||
|
@ -210,12 +189,11 @@ else
|
|||
set menu_color_normal=cyan/blue
|
||||
set menu_color_highlight=white/blue
|
||||
fi~%"
|
||||
#$setup-gfxterm-body
|
||||
#$(grub-root-search store-device font-file)
|
||||
#$(setup-gfxterm config font-file)
|
||||
#$(grub-setup-io config)
|
||||
|
||||
#$(strip-mount-point store-mount-point image)
|
||||
#$image
|
||||
#$(theme-colors grub-theme-color-normal)
|
||||
#$(theme-colors grub-theme-color-highlight))))
|
||||
|
||||
|
@ -323,52 +301,84 @@ code."
|
|||
(define* (grub-configuration-file config entries
|
||||
#:key
|
||||
(system (%current-system))
|
||||
(old-entries '()))
|
||||
(old-entries '())
|
||||
store-directory-prefix)
|
||||
"Return the GRUB configuration file corresponding to CONFIG, a
|
||||
<bootloader-configuration> object, and where the store is available at
|
||||
STORE-FS, a <file-system> object. OLD-ENTRIES is taken to be a list of menu
|
||||
entries corresponding to old generations of the system."
|
||||
entries corresponding to old generations of the system.
|
||||
STORE-DIRECTORY-PREFIX may be used to specify a store prefix, as is required
|
||||
when booting a root file system on a Btrfs subvolume."
|
||||
(define all-entries
|
||||
(append entries (bootloader-configuration-menu-entries config)))
|
||||
(define (menu-entry->gexp entry)
|
||||
(let ((device (menu-entry-device entry))
|
||||
(device-mount-point (menu-entry-device-mount-point entry))
|
||||
(label (menu-entry-label entry))
|
||||
(kernel (menu-entry-linux entry))
|
||||
(arguments (menu-entry-linux-arguments entry))
|
||||
(initrd (menu-entry-initrd entry)))
|
||||
(let ((label (menu-entry-label entry))
|
||||
(linux (menu-entry-linux entry))
|
||||
(device (menu-entry-device entry))
|
||||
(device-mount-point (menu-entry-device-mount-point entry)))
|
||||
(if linux
|
||||
(let ((arguments (menu-entry-linux-arguments entry))
|
||||
(linux (normalize-file linux
|
||||
device-mount-point
|
||||
store-directory-prefix))
|
||||
(initrd (normalize-file (menu-entry-initrd entry)
|
||||
device-mount-point
|
||||
store-directory-prefix)))
|
||||
;; Here DEVICE is the store and DEVICE-MOUNT-POINT is its mount point.
|
||||
;; Use the right file names for KERNEL and INITRD in case
|
||||
;; Use the right file names for LINUX and INITRD in case
|
||||
;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a
|
||||
;; separate partition.
|
||||
(let ((kernel (strip-mount-point device-mount-point kernel))
|
||||
(initrd (strip-mount-point device-mount-point initrd)))
|
||||
|
||||
;; When BTRFS-SUBVOLUME-FILE-NAME is defined, prepend it the linux and
|
||||
;; initrd paths, to allow booting from a Btrfs subvolume.
|
||||
#~(format port "menuentry ~s {
|
||||
~a
|
||||
linux ~a ~a
|
||||
initrd ~a
|
||||
}~%"
|
||||
#$label
|
||||
#$(grub-root-search device kernel)
|
||||
#$kernel (string-join (list #$@arguments))
|
||||
#$initrd))))
|
||||
(define sugar
|
||||
#$(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
|
||||
#$kernel
|
||||
#$root-index (string-join (list #$@arguments) " " 'prefix)
|
||||
(string-join (map string-join '#$modules)
|
||||
"\n module " 'prefix))))))
|
||||
|
||||
(define (sugar)
|
||||
(let* ((entry (first all-entries))
|
||||
(device (menu-entry-device entry))
|
||||
(mount-point (menu-entry-device-mount-point entry)))
|
||||
(eye-candy config
|
||||
(menu-entry-device (first all-entries))
|
||||
(menu-entry-device-mount-point (first all-entries))
|
||||
#:system system
|
||||
#:port #~port))
|
||||
device
|
||||
mount-point
|
||||
#:store-directory-prefix store-directory-prefix
|
||||
#:port #~port)))
|
||||
|
||||
(define keyboard-layout-config
|
||||
(let ((layout (bootloader-configuration-keyboard-layout config))
|
||||
(let* ((layout (bootloader-configuration-keyboard-layout config))
|
||||
(grub (bootloader-package
|
||||
(bootloader-configuration-bootloader config))))
|
||||
#~(let ((keymap #$(and layout
|
||||
(keyboard-layout-file layout #:grub grub))))
|
||||
(when keymap
|
||||
(bootloader-configuration-bootloader config)))
|
||||
(keymap* (and layout
|
||||
(keyboard-layout-file layout #:grub grub)))
|
||||
(keymap (and keymap*
|
||||
(if store-directory-prefix
|
||||
#~(string-append #$store-directory-prefix
|
||||
#$keymap*)
|
||||
keymap*))))
|
||||
#~(when #$keymap
|
||||
(format port "\
|
||||
insmod keylayouts
|
||||
keymap ~a~%" keymap)))))
|
||||
keymap ~a~%" #$keymap))))
|
||||
|
||||
(define builder
|
||||
#~(call-with-output-file #$output
|
||||
|
@ -377,7 +387,7 @@ keymap ~a~%" keymap)))))
|
|||
"# This file was generated from your Guix configuration. Any changes
|
||||
# will be lost upon reconfiguration.
|
||||
")
|
||||
#$sugar
|
||||
#$(sugar)
|
||||
#$keyboard-layout-config
|
||||
(format port "
|
||||
set default=~a
|
||||
|
@ -413,18 +423,65 @@ fi~%"))))
|
|||
|
||||
(define install-grub
|
||||
#~(lambda (bootloader device mount-point)
|
||||
;; Install GRUB on DEVICE which is mounted at MOUNT-POINT.
|
||||
(let ((grub (string-append bootloader "/sbin/grub-install"))
|
||||
(install-dir (string-append mount-point "/boot")))
|
||||
;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or
|
||||
;; root partition.
|
||||
;; Install GRUB on DEVICE which is mounted at MOUNT-POINT. If DEVICE
|
||||
;; is #f, then we populate the disk-image rooted at MOUNT-POINT.
|
||||
(if device
|
||||
(begin
|
||||
;; Tell 'grub-install' that there might be a LUKS-encrypted
|
||||
;; /boot or root partition.
|
||||
(setenv "GRUB_ENABLE_CRYPTODISK" "y")
|
||||
|
||||
;; Hide potentially confusing messages from the user, such as
|
||||
;; "Installing for i386-pc platform."
|
||||
(invoke/quiet grub "--no-floppy" "--target=i386-pc"
|
||||
"--boot-directory" install-dir
|
||||
device))))
|
||||
device))
|
||||
;; When creating a disk-image, only install GRUB modules.
|
||||
(copy-recursively (string-append bootloader "/lib/")
|
||||
install-dir)))))
|
||||
|
||||
(define install-grub-disk-image
|
||||
#~(lambda (bootloader root-index image)
|
||||
;; Install GRUB on the given IMAGE. The root partition index is
|
||||
;; ROOT-INDEX.
|
||||
(let ((grub-mkimage
|
||||
(string-append bootloader "/bin/grub-mkimage"))
|
||||
(modules '("biosdisk" "part_msdos" "fat" "ext2"))
|
||||
(grub-bios-setup
|
||||
(string-append bootloader "/sbin/grub-bios-setup"))
|
||||
(root-device (format #f "hd0,msdos~a" root-index))
|
||||
(boot-img (string-append bootloader "/lib/grub/i386-pc/boot.img"))
|
||||
(device-map "device.map"))
|
||||
|
||||
;; Create a minimal, standalone GRUB image that will be written
|
||||
;; directly in the MBR-GAP (space between the end of the MBR and the
|
||||
;; first partition).
|
||||
(apply invoke grub-mkimage
|
||||
"-O" "i386-pc"
|
||||
"-o" "core.img"
|
||||
"-p" (format #f "(~a)/boot/grub" root-device)
|
||||
modules)
|
||||
|
||||
;; Create a device mapping file.
|
||||
(call-with-output-file device-map
|
||||
(lambda (port)
|
||||
(format port "(hd0) ~a~%" image)))
|
||||
|
||||
;; Copy the default boot.img, that will be written on the MBR sector
|
||||
;; by GRUB-BIOS-SETUP.
|
||||
(copy-file boot-img "boot.img")
|
||||
|
||||
;; Install both the "boot.img" and the "core.img" files on the given
|
||||
;; IMAGE. On boot, the MBR sector will execute the minimal GRUB
|
||||
;; written in the MBR-GAP. GRUB configuration and missing modules will
|
||||
;; be read from ROOT-DEVICE.
|
||||
(invoke grub-bios-setup
|
||||
"-m" device-map
|
||||
"-r" root-device
|
||||
"-d" "."
|
||||
image))))
|
||||
|
||||
(define install-grub-efi
|
||||
#~(lambda (bootloader efi-dir mount-point)
|
||||
|
@ -455,21 +512,20 @@ fi~%"))))
|
|||
(name 'grub)
|
||||
(package grub)
|
||||
(installer install-grub)
|
||||
(disk-image-installer install-grub-disk-image)
|
||||
(configuration-file "/boot/grub/grub.cfg")
|
||||
(configuration-file-generator grub-configuration-file)))
|
||||
|
||||
(define grub-minimal-bootloader
|
||||
(define* grub-minimal-bootloader
|
||||
(bootloader
|
||||
(name 'grub)
|
||||
(package grub-minimal)
|
||||
(installer install-grub)
|
||||
(configuration-file "/boot/grub/grub.cfg")
|
||||
(configuration-file-generator grub-configuration-file)))
|
||||
(inherit grub-bootloader)
|
||||
(package grub-minimal)))
|
||||
|
||||
(define* grub-efi-bootloader
|
||||
(bootloader
|
||||
(inherit grub-bootloader)
|
||||
(installer install-grub-efi)
|
||||
(disk-image-installer #f)
|
||||
(name 'grub-efi)
|
||||
(package grub-efi)))
|
||||
|
||||
|
|
|
@ -320,7 +320,9 @@ improvement."
|
|||
|
||||
(define (boot-time-system)
|
||||
"Return the '--system' argument passed on the kernel command line."
|
||||
(find-long-option "--system" (linux-command-line)))
|
||||
(find-long-option "--system" (if (string-contains %host-type "linux-gnu")
|
||||
(linux-command-line)
|
||||
(command-line))))
|
||||
|
||||
(define* (activate-current-system
|
||||
#:optional (system (or (getenv "GUIX_NEW_SYSTEM")
|
||||
|
|
|
@ -661,8 +661,10 @@ were found."
|
|||
|
||||
(match spec
|
||||
((? string?)
|
||||
(if (string-contains spec ":/")
|
||||
spec ; do not resolve NFS devices
|
||||
;; Nothing to do, but wait until SPEC shows up.
|
||||
(resolve identity spec identity))
|
||||
(resolve identity spec identity)))
|
||||
((? file-system-label?)
|
||||
;; Resolve the label.
|
||||
(resolve find-partition-by-label
|
||||
|
|
205
gnu/build/hurd-boot.scm
Normal file
205
gnu/build/hurd-boot.scm
Normal file
|
@ -0,0 +1,205 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu build hurd-boot)
|
||||
#:use-module (system repl error-handling)
|
||||
#:autoload (system repl repl) (start-repl)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module ((guix build syscalls)
|
||||
#:hide (file-system-type))
|
||||
#:export (make-hurd-device-nodes
|
||||
boot-hurd-system))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; Utility procedures useful to boot a Hurd system.
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
;; XXX FIXME c&p from linux-boot.scm
|
||||
(define (find-long-option option arguments)
|
||||
"Find OPTION among ARGUMENTS, where OPTION is something like \"--load\".
|
||||
Return the value associated with OPTION, or #f on failure."
|
||||
(let ((opt (string-append option "=")))
|
||||
(and=> (find (cut string-prefix? opt <>)
|
||||
arguments)
|
||||
(lambda (arg)
|
||||
(substring arg (+ 1 (string-index arg #\=)))))))
|
||||
|
||||
;; XXX FIXME c&p from guix/utils.scm
|
||||
(define (readlink* file)
|
||||
"Call 'readlink' until the result is not a symlink."
|
||||
(define %max-symlink-depth 50)
|
||||
|
||||
(let loop ((file file)
|
||||
(depth 0))
|
||||
(define (absolute target)
|
||||
(if (absolute-file-name? target)
|
||||
target
|
||||
(string-append (dirname file) "/" target)))
|
||||
|
||||
(if (>= depth %max-symlink-depth)
|
||||
file
|
||||
(call-with-values
|
||||
(lambda ()
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(values #t (readlink file)))
|
||||
(lambda args
|
||||
(let ((errno (system-error-errno args)))
|
||||
(if (or (= errno EINVAL))
|
||||
(values #f file)
|
||||
(apply throw args))))))
|
||||
(lambda (success? target)
|
||||
(if success?
|
||||
(loop (absolute target) (+ depth 1))
|
||||
file))))))
|
||||
|
||||
(define* (make-hurd-device-nodes #:optional (root "/"))
|
||||
"Make some of the nodes needed on GNU/Hurd."
|
||||
(define (scope dir)
|
||||
(string-append root (if (string-suffix? "/" root) "" "/") dir))
|
||||
|
||||
(mkdir (scope "dev"))
|
||||
(for-each (lambda (file)
|
||||
(call-with-output-file (scope file)
|
||||
(lambda (port)
|
||||
(display file port) ;avoid hard-linking
|
||||
(chmod port #o666))))
|
||||
'("dev/null"
|
||||
"dev/zero"
|
||||
"dev/full"
|
||||
"dev/random"
|
||||
"dev/urandom"))
|
||||
;; Don't create /dev/console, /dev/vcs, etc.: they are created by
|
||||
;; console-run on first boot.
|
||||
|
||||
(mkdir (scope "servers"))
|
||||
(for-each (lambda (file)
|
||||
(call-with-output-file (scope (string-append "servers/" file))
|
||||
(lambda (port)
|
||||
(display file port) ;avoid hard-linking
|
||||
(chmod port #o444))))
|
||||
'("startup"
|
||||
"exec"
|
||||
"proc"
|
||||
"password"
|
||||
"default-pager"
|
||||
"crash-dump-core"
|
||||
"kill"
|
||||
"suspend"))
|
||||
|
||||
(mkdir (scope "servers/socket"))
|
||||
;; Don't create /servers/socket/1 & co: runsystem does that on first boot.
|
||||
|
||||
;; TODO: Set the 'gnu.translator' extended attribute for passive translator
|
||||
;; settings?
|
||||
)
|
||||
|
||||
|
||||
(define* (boot-hurd-system #:key (on-error 'debug))
|
||||
"This procedure is meant to be called from an early RC script.
|
||||
|
||||
Install the relevant passive translators on the first boot. Then, run system
|
||||
activation by using the kernel command-line options '--system' and '--load';
|
||||
starting the Shepherd.
|
||||
|
||||
XXX TODO: see linux-boot.scm:boot-system.
|
||||
XXX TODO: add proper file-system checking, mounting
|
||||
XXX TODO: move bits to (new?) (hurd?) (activation?) services
|
||||
XXX TODO: use settrans/setxattr instead of MAKEDEV
|
||||
|
||||
"
|
||||
(define translators
|
||||
'(("/servers/crash-dump-core" ("/hurd/crash" "--dump-core"))
|
||||
("/servers/crash-kill" ("/hurd/crash" "--kill"))
|
||||
("/servers/crash-suspend" ("/hurd/crash" "--suspend"))
|
||||
("/servers/password" ("/hurd/password"))
|
||||
("/servers/socket/1" ("/hurd/pflocal"))
|
||||
("/servers/socket/2" ("/hurd/pfinet" "--interface" "eth0"
|
||||
"--address" "10.0.2.15" ;the default QEMU guest IP
|
||||
"--netmask" "255.255.255.0"
|
||||
"--gateway" "10.0.2.2"
|
||||
"--ipv6" "/servers/socket/16"))))
|
||||
|
||||
(display "Welcome, this is GNU's early boot Guile.\n")
|
||||
(display "Use '--repl' for an initrd REPL.\n\n")
|
||||
|
||||
(call-with-error-handling
|
||||
(lambda ()
|
||||
|
||||
(define (translated? node)
|
||||
;; Return true if a translator is installed on NODE.
|
||||
(with-output-to-port (%make-void-port "w")
|
||||
(lambda ()
|
||||
(with-error-to-port (%make-void-port "w")
|
||||
(lambda ()
|
||||
(zero? (system* "showtrans" "--silent" node)))))))
|
||||
|
||||
(let* ((args (command-line))
|
||||
(system (find-long-option "--system" args))
|
||||
(to-load (find-long-option "--load" args)))
|
||||
|
||||
(format #t "Creating essential servers...\n")
|
||||
(setenv "PATH" (string-append system "/profile/bin"
|
||||
":" system "/profile/sbin"))
|
||||
(for-each (match-lambda
|
||||
((node command)
|
||||
(unless (translated? node)
|
||||
(mkdir-p (dirname node))
|
||||
(apply invoke "settrans" "--create" node command))))
|
||||
translators)
|
||||
|
||||
(format #t "Creating essential device nodes...\n")
|
||||
(with-directory-excursion "/dev"
|
||||
(invoke "MAKEDEV" "--devdir=/dev" "std")
|
||||
(invoke "MAKEDEV" "--devdir=/dev" "vcs")
|
||||
(invoke "MAKEDEV" "--devdir=/dev" "tty1""tty2" "tty3" "tty4" "tty5" "tty6")
|
||||
(invoke "MAKEDEV" "--devdir=/dev" "ptyp0" "ptyp1" "ptyp2")
|
||||
(invoke "MAKEDEV" "--devdir=/dev" "console"))
|
||||
|
||||
(false-if-exception (delete-file "/hurd"))
|
||||
(let ((hurd/hurd (readlink* (string-append system "/profile/hurd"))))
|
||||
(symlink hurd/hurd "/hurd"))
|
||||
|
||||
(format #t "Starting pager...\n")
|
||||
(unless (zero? (system* "/hurd/mach-defpager"))
|
||||
(format #t "FAILED...Good luck!\n"))
|
||||
|
||||
(cond ((member "--repl" args)
|
||||
(format #t "Starting repl...\n")
|
||||
(start-repl))
|
||||
(to-load
|
||||
(format #t "loading '~a'...\n" to-load)
|
||||
(primitive-load to-load)
|
||||
(format (current-error-port)
|
||||
"boot program '~a' terminated, rebooting~%"
|
||||
to-load)
|
||||
(sleep 2)
|
||||
(reboot))
|
||||
(else
|
||||
(display "no boot file passed via '--load'\n")
|
||||
(display "entering a warm and cozy REPL\n")
|
||||
(start-repl)))))
|
||||
#:on-error on-error))
|
||||
|
||||
;;; hurd-boot.scm ends here
|
|
@ -47,9 +47,10 @@
|
|||
"Take SEXP, a tuple as returned by 'partition->gexp', and turn it into a
|
||||
<partition> record."
|
||||
(match sexp
|
||||
((size file-system label uuid)
|
||||
((size file-system file-system-options label uuid)
|
||||
(partition (size size)
|
||||
(file-system file-system)
|
||||
(file-system-options file-system-options)
|
||||
(label label)
|
||||
(uuid uuid)))))
|
||||
|
||||
|
@ -63,25 +64,30 @@
|
|||
take the partition metadata size into account, take a 25% margin."
|
||||
(* 1.25 (file-size root)))
|
||||
|
||||
(define* (make-ext4-image partition target root
|
||||
(define* (make-ext-image partition target root
|
||||
#:key
|
||||
(owner-uid 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))
|
||||
(fs (partition-file-system partition))
|
||||
(fs-options (partition-file-system-options partition))
|
||||
(label (partition-label partition))
|
||||
(uuid (partition-uuid partition))
|
||||
(options "lazy_itable_init=1,lazy_journal_init=1"))
|
||||
(invoke "mke2fs" "-t" "ext4" "-d" root
|
||||
"-L" label "-U" (uuid->string uuid)
|
||||
"-E" (format #f "root_owner=~a:~a,~a"
|
||||
owner-uid owner-gid options)
|
||||
target
|
||||
(format #f "~ak"
|
||||
(journal-options "lazy_itable_init=1,lazy_journal_init=1"))
|
||||
(apply invoke
|
||||
`("mke2fs" "-t" ,fs "-d" ,root
|
||||
"-L" ,label "-U" ,(uuid->string uuid)
|
||||
"-E" ,(format #f "root_owner=~a:~a,~a"
|
||||
owner-uid owner-gid journal-options)
|
||||
,@fs-options
|
||||
,target
|
||||
,(format #f "~ak"
|
||||
(size-in-kib
|
||||
(if (eq? size 'guess)
|
||||
(estimate-partition-size root)
|
||||
size))))))
|
||||
size)))))))
|
||||
|
||||
(define* (make-vfat-image partition target root)
|
||||
"Handle the creation of VFAT partition images. See 'make-partition-image'."
|
||||
|
@ -105,8 +111,8 @@ ROOT directory to populate the image."
|
|||
(let* ((partition (sexp->partition partition-sexp))
|
||||
(type (partition-file-system partition)))
|
||||
(cond
|
||||
((string=? type "ext4")
|
||||
(make-ext4-image partition target root))
|
||||
((string-prefix? "ext" type)
|
||||
(make-ext-image partition target root))
|
||||
((string=? type "vfat")
|
||||
(make-vfat-image partition target root))
|
||||
(else
|
||||
|
@ -140,19 +146,22 @@ deduplicates files common to CLOSURE and the rest of PREFIX."
|
|||
|
||||
(define* (initialize-efi-partition root
|
||||
#:key
|
||||
bootloader-package
|
||||
grub-efi
|
||||
#:allow-other-keys)
|
||||
"Install in ROOT directory, an EFI loader using BOOTLOADER-PACKAGE."
|
||||
(install-efi-loader bootloader-package root))
|
||||
"Install in ROOT directory, an EFI loader using GRUB-EFI."
|
||||
(install-efi-loader grub-efi root))
|
||||
|
||||
(define* (initialize-root-partition root
|
||||
#:key
|
||||
bootcfg
|
||||
bootcfg-location
|
||||
bootloader-package
|
||||
bootloader-installer
|
||||
(deduplicate? #t)
|
||||
references-graphs
|
||||
(register-closures? #t)
|
||||
system-directory
|
||||
make-device-nodes
|
||||
#:allow-other-keys)
|
||||
"Initialize the given ROOT directory. Use BOOTCFG and BOOTCFG-LOCATION to
|
||||
install the bootloader configuration.
|
||||
|
@ -164,6 +173,10 @@ of the directory of the 'system' derivation."
|
|||
(populate-root-file-system system-directory root)
|
||||
(populate-store references-graphs root)
|
||||
|
||||
;; Populate /dev.
|
||||
(when make-device-nodes
|
||||
(make-device-nodes root))
|
||||
|
||||
(when register-closures?
|
||||
(for-each (lambda (closure)
|
||||
(register-closure root
|
||||
|
@ -172,6 +185,9 @@ of the directory of the 'system' derivation."
|
|||
#:deduplicate? deduplicate?))
|
||||
references-graphs))
|
||||
|
||||
(when bootloader-installer
|
||||
(display "installing bootloader...\n")
|
||||
(bootloader-installer bootloader-package #f root))
|
||||
(when bootcfg
|
||||
(install-boot-config bootcfg bootcfg-location root)))
|
||||
|
||||
|
|
|
@ -40,7 +40,6 @@
|
|||
find-long-option
|
||||
find-long-options
|
||||
make-essential-device-nodes
|
||||
make-hurd-device-nodes
|
||||
make-static-device-nodes
|
||||
configure-qemu-networking
|
||||
|
||||
|
@ -324,36 +323,6 @@ one specific hardware device. These we have to create."
|
|||
;; File systems in user space (FUSE).
|
||||
(mknod (scope "dev/fuse") 'char-special #o666 (device-number 10 229)))
|
||||
|
||||
(define* (make-hurd-device-nodes #:optional (root "/"))
|
||||
"Make some of the nodes needed on GNU/Hurd."
|
||||
(define (scope dir)
|
||||
(string-append root
|
||||
(if (string-suffix? "/" root)
|
||||
""
|
||||
"/")
|
||||
dir))
|
||||
|
||||
(mkdir (scope "dev"))
|
||||
(for-each (lambda (file)
|
||||
(call-with-output-file (scope file)
|
||||
(lambda (port)
|
||||
(chmod port #o666))))
|
||||
'("dev/null"
|
||||
"dev/zero"
|
||||
"dev/full"
|
||||
"dev/random"
|
||||
"dev/urandom"))
|
||||
;; Don't create /dev/console, /dev/vcs, etc.: they are created by
|
||||
;; console-run on first boot.
|
||||
|
||||
(mkdir (scope "servers"))
|
||||
(mkdir (scope "servers/socket"))
|
||||
;; Don't create /servers/socket/1 & co: runsystem does that on first boot.
|
||||
|
||||
;; TODO: Set the 'gnu.translator' extended attribute for passive translator
|
||||
;; settings?
|
||||
)
|
||||
|
||||
(define %host-qemu-ipv4-address
|
||||
(inet-pton AF_INET "10.0.2.10"))
|
||||
|
||||
|
@ -498,25 +467,13 @@ upon error."
|
|||
(define (root-mount-point? fs)
|
||||
(string=? (file-system-mount-point fs) "/"))
|
||||
|
||||
(define root-fs-type
|
||||
(or (any (lambda (fs)
|
||||
(and (root-mount-point? fs)
|
||||
(file-system-type fs)))
|
||||
mounts)
|
||||
"ext4"))
|
||||
|
||||
(define root-fs-flags
|
||||
(mount-flags->bit-mask (or (any (lambda (fs)
|
||||
(and (root-mount-point? fs)
|
||||
(file-system-flags fs)))
|
||||
mounts)
|
||||
'())))
|
||||
|
||||
(define root-fs-options
|
||||
(any (lambda (fs)
|
||||
(and (root-mount-point? fs)
|
||||
(file-system-options fs)))
|
||||
mounts))
|
||||
(define (device-string->file-system-device device-string)
|
||||
;; The "--root=SPEC" kernel command-line option always provides a
|
||||
;; string, but the string can represent a device, a UUID, or a
|
||||
;; label. So check for all three.
|
||||
(cond ((string-prefix? "/" device-string) device-string)
|
||||
((uuid device-string) => identity)
|
||||
(else (file-system-label device-string))))
|
||||
|
||||
(display "Welcome, this is GNU's early boot Guile.\n")
|
||||
(display "Use '--repl' for an initrd REPL.\n\n")
|
||||
|
@ -526,7 +483,21 @@ upon error."
|
|||
(mount-essential-file-systems)
|
||||
(let* ((args (linux-command-line))
|
||||
(to-load (find-long-option "--load" args))
|
||||
(root (find-long-option "--root" args)))
|
||||
(root-fs (find root-mount-point? mounts))
|
||||
(root-fs-type (or (and=> root-fs file-system-type)
|
||||
"ext4"))
|
||||
(root-fs-device (and=> root-fs file-system-device))
|
||||
(root-fs-flags (mount-flags->bit-mask
|
||||
(or (and=> root-fs file-system-flags)
|
||||
'())))
|
||||
(root-options (if root-fs
|
||||
(file-system-options root-fs)
|
||||
#f))
|
||||
;; --root takes precedence over the 'device' field of the root
|
||||
;; <file-system> record.
|
||||
(root-device (or (and=> (find-long-option "--root" args)
|
||||
device-string->file-system-device)
|
||||
root-fs-device)))
|
||||
|
||||
(when (member "--repl" args)
|
||||
(start-repl))
|
||||
|
@ -561,21 +532,12 @@ upon error."
|
|||
|
||||
(setenv "EXT2FS_NO_MTAB_OK" "1")
|
||||
|
||||
(if root
|
||||
;; The "--root=SPEC" kernel command-line option always provides a
|
||||
;; string, but the string can represent a device, a UUID, or a
|
||||
;; label. So check for all three.
|
||||
(let ((device-spec (cond ((string-prefix? "/" root) root)
|
||||
((uuid root) => identity)
|
||||
((string-contains root ":/") #f) ; nfs
|
||||
(else (file-system-label root)))))
|
||||
(mount-root-file-system (if device-spec
|
||||
(canonicalize-device-spec device-spec)
|
||||
root)
|
||||
(if root-device
|
||||
(mount-root-file-system (canonicalize-device-spec root-device)
|
||||
root-fs-type
|
||||
#:volatile-root? volatile-root?
|
||||
#:flags root-fs-flags
|
||||
#:options root-fs-options))
|
||||
#:options root-options)
|
||||
(mount "none" "/root" "tmpfs"))
|
||||
|
||||
;; Mount the specified file systems.
|
||||
|
@ -602,4 +564,4 @@ upon error."
|
|||
(start-repl)))))
|
||||
#:on-error on-error))
|
||||
|
||||
;;; linux-initrd.scm ends here
|
||||
;;; linux-boot.scm ends here
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -21,6 +21,7 @@
|
|||
#:use-module (gnu build linux-container)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (make-forkexec-constructor/container))
|
||||
|
||||
|
@ -91,7 +92,10 @@
|
|||
|
||||
;; XXX: Lazy-bind the Shepherd to avoid a compile-time dependency.
|
||||
(module-autoload! (current-module)
|
||||
'(shepherd service) '(read-pid-file exec-command))
|
||||
'(shepherd service)
|
||||
'(read-pid-file exec-command %precious-signals))
|
||||
(module-autoload! (current-module)
|
||||
'(shepherd system) '(unblock-signals))
|
||||
|
||||
(define* (read-pid-file/container pid pid-file #:key (max-delay 5))
|
||||
"Read PID-FILE in the container namespaces of PID, which exists in a
|
||||
|
@ -101,7 +105,8 @@ separate mount and PID name space. Return the \"outer\" PID. "
|
|||
(read-pid-file pid-file
|
||||
#:max-delay max-delay)))
|
||||
(#f
|
||||
(catch-system-error (kill pid SIGTERM))
|
||||
;; Send SIGTERM to the whole process group.
|
||||
(catch-system-error (kill (- pid) SIGTERM))
|
||||
#f)
|
||||
((? integer? container-pid)
|
||||
;; XXX: When COMMAND is started in a separate PID namespace, its
|
||||
|
@ -158,6 +163,14 @@ namespace, in addition to essential bind-mounts such /proc."
|
|||
(let ((pid (run-container container-directory
|
||||
mounts namespaces 1
|
||||
(lambda ()
|
||||
;; First restore the default handlers.
|
||||
(for-each (cut sigaction <> SIG_DFL)
|
||||
%precious-signals)
|
||||
|
||||
;; Unblock any signals that have been blocked
|
||||
;; by the parent process.
|
||||
(unblock-signals %precious-signals)
|
||||
|
||||
(mkdir-p "/var/run")
|
||||
(clean-up pid-file)
|
||||
|
||||
|
|
|
@ -84,8 +84,6 @@
|
|||
linux initrd
|
||||
make-disk-image?
|
||||
single-file-output?
|
||||
target-arm32?
|
||||
target-aarch64?
|
||||
(disk-image-size (* 100 (expt 2 20)))
|
||||
(disk-image-format "qcow2")
|
||||
(references-graphs '()))
|
||||
|
@ -101,7 +99,14 @@ access it via /dev/hda.
|
|||
REFERENCES-GRAPHS can specify a list of reference-graph files as produced by
|
||||
the #:references-graphs parameter of 'derivation'."
|
||||
|
||||
(define target-arm? (or target-arm32? target-aarch64?))
|
||||
(define target-arm32?
|
||||
(string-prefix? "arm-" %host-type))
|
||||
|
||||
(define target-aarch64?
|
||||
(string-prefix? "aarch64-" %host-type))
|
||||
|
||||
(define target-arm?
|
||||
(or target-arm32? target-aarch64?))
|
||||
|
||||
(define arch-specific-flags
|
||||
`(;; On ARM, a machine has to be specified. Use "virt" machine to avoid
|
||||
|
|
|
@ -219,19 +219,21 @@ system.")
|
|||
(run-with-store store
|
||||
(mbegin %store-monad
|
||||
(set-guile-for-build (default-guile))
|
||||
(lower-object
|
||||
(system-image
|
||||
(image
|
||||
(inherit efi-disk-image)
|
||||
(size (* 1500 MiB))
|
||||
(operating-system installation-os))))))
|
||||
(operating-system installation-os)))))))
|
||||
(->job 'iso9660-image
|
||||
(run-with-store store
|
||||
(mbegin %store-monad
|
||||
(set-guile-for-build (default-guile))
|
||||
(lower-object
|
||||
(system-image
|
||||
(image
|
||||
(inherit iso9660-image)
|
||||
(operating-system installation-os)))))))
|
||||
(operating-system installation-os))))))))
|
||||
'()))
|
||||
|
||||
(define channel-build-system
|
||||
|
|
|
@ -22,7 +22,9 @@
|
|||
partition?
|
||||
partition-device
|
||||
partition-size
|
||||
partition-offset
|
||||
partition-file-system
|
||||
partition-file-system-options
|
||||
partition-label
|
||||
partition-uuid
|
||||
partition-flags
|
||||
|
@ -31,6 +33,7 @@
|
|||
image
|
||||
image-name
|
||||
image-format
|
||||
image-target
|
||||
image-size
|
||||
image-operating-system
|
||||
image-partitions
|
||||
|
@ -47,7 +50,10 @@
|
|||
partition?
|
||||
(device partition-device (default #f))
|
||||
(size partition-size)
|
||||
(offset partition-offset (default 0))
|
||||
(file-system partition-file-system (default "ext4"))
|
||||
(file-system-options partition-file-system-options
|
||||
(default '()))
|
||||
(label partition-label (default #f))
|
||||
(uuid partition-uuid (default #f))
|
||||
(flags partition-flags (default '()))
|
||||
|
@ -62,6 +68,8 @@
|
|||
image make-image
|
||||
image?
|
||||
(format image-format) ;symbol
|
||||
(target image-target
|
||||
(default #f))
|
||||
(size image-size ;size in bytes as integer
|
||||
(default 'guess))
|
||||
(operating-system image-operating-system ;<operating-system>
|
||||
|
|
|
@ -127,8 +127,8 @@ USERS."
|
|||
(lambda (port)
|
||||
(match (string-tokenize (read-string port) %not-nul)
|
||||
((argv0 _ ...)
|
||||
(unless (member (pk (basename argv0)) spare)
|
||||
(syslog "Killing process ~a~%" pid)
|
||||
(unless (member (basename argv0) spare)
|
||||
(syslog "Killing process ~a (~a)~%" pid argv0)
|
||||
(kill pid SIGKILL)))
|
||||
(_ #f))))))
|
||||
pids)))
|
||||
|
@ -146,6 +146,8 @@ be much appreciated."
|
|||
(catch #t
|
||||
(lambda ()
|
||||
(let ((tmp-dir "/remove"))
|
||||
(syslog "Unmounting cow-store.~%")
|
||||
|
||||
(mkdir-p tmp-dir)
|
||||
(mount (%store-directory) tmp-dir "" MS_MOVE)
|
||||
|
||||
|
@ -153,6 +155,8 @@ be much appreciated."
|
|||
;; restart it.
|
||||
(restart-service 'guix-daemon)
|
||||
|
||||
(syslog "Killing cow users.")
|
||||
|
||||
;; Kill all processes started while the cow-store was active (logins
|
||||
;; on other TTYs for instance).
|
||||
(kill-cow-users tmp-dir)
|
||||
|
@ -160,6 +164,7 @@ be much appreciated."
|
|||
;; Try to umount the store overlay. Some process such as udevd
|
||||
;; workers might still be active, so do some retries.
|
||||
(let loop ((try 5))
|
||||
(syslog "Umount try ~a~%" (- 5 try))
|
||||
(sleep 1)
|
||||
(let ((umounted? (false-if-exception (umount tmp-dir))))
|
||||
(if (and (not umounted?) (> try 0))
|
||||
|
@ -203,7 +208,18 @@ or #f. Return #t on success and #f on failure."
|
|||
(lambda ()
|
||||
(start-service 'cow-store (list (%installer-target-dir))))
|
||||
(lambda ()
|
||||
(run-command install-command #:locale locale))
|
||||
;; If there are any connected clients, assume that we are running
|
||||
;; installation tests. In that case, dump the standard and error
|
||||
;; outputs to syslog.
|
||||
(if (not (null? (current-clients)))
|
||||
(with-output-to-file "/dev/console"
|
||||
(lambda ()
|
||||
(with-error-to-file "/dev/console"
|
||||
(lambda ()
|
||||
(setvbuf (current-output-port) 'none)
|
||||
(setvbuf (current-error-port) 'none)
|
||||
(run-command install-command #:locale locale)))))
|
||||
(run-command install-command #:locale locale)))
|
||||
(lambda ()
|
||||
(stop-service 'cow-store)
|
||||
;; Remove the store overlay created at cow-store service start.
|
||||
|
|
58
gnu/local.mk
58
gnu/local.mk
|
@ -19,7 +19,7 @@
|
|||
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
|
||||
# Copyright © 2018, 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
|
||||
# Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
# Copyright © 2018, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
# Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
|
||||
# Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
|
||||
# Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
|
@ -157,6 +157,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/debian.scm \
|
||||
%D%/packages/debug.scm \
|
||||
%D%/packages/dejagnu.scm \
|
||||
%D%/packages/dhall.scm \
|
||||
%D%/packages/dico.scm \
|
||||
%D%/packages/dictionaries.scm \
|
||||
%D%/packages/diffoscope.scm \
|
||||
|
@ -394,6 +395,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/nvi.scm \
|
||||
%D%/packages/ocaml.scm \
|
||||
%D%/packages/ocr.scm \
|
||||
%D%/packages/openkinect.scm \
|
||||
%D%/packages/onc-rpc.scm \
|
||||
%D%/packages/opencl.scm \
|
||||
%D%/packages/openbox.scm \
|
||||
|
@ -403,6 +405,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/orpheus.scm \
|
||||
%D%/packages/ots.scm \
|
||||
%D%/packages/package-management.scm \
|
||||
%D%/packages/pantheon.scm \
|
||||
%D%/packages/parallel.scm \
|
||||
%D%/packages/password-utils.scm \
|
||||
%D%/packages/patchutils.scm \
|
||||
|
@ -410,6 +413,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/pcre.scm \
|
||||
%D%/packages/pdf.scm \
|
||||
%D%/packages/pem.scm \
|
||||
%D%/packages/pep.scm \
|
||||
%D%/packages/perl.scm \
|
||||
%D%/packages/perl-check.scm \
|
||||
%D%/packages/perl-compression.scm \
|
||||
|
@ -579,6 +583,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/services/games.scm \
|
||||
%D%/services/getmail.scm \
|
||||
%D%/services/guix.scm \
|
||||
%D%/services/hurd.scm \
|
||||
%D%/services/kerberos.scm \
|
||||
%D%/services/linux.scm \
|
||||
%D%/services/lirc.scm \
|
||||
|
@ -634,6 +639,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/build/cross-toolchain.scm \
|
||||
%D%/build/image.scm \
|
||||
%D%/build/file-systems.scm \
|
||||
%D%/build/hurd-boot.scm \
|
||||
%D%/build/install.scm \
|
||||
%D%/build/linux-boot.scm \
|
||||
%D%/build/linux-container.scm \
|
||||
|
@ -745,6 +751,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/akonadi-not-relocatable.patch \
|
||||
%D%/packages/patches/akonadi-timestamps.patch \
|
||||
%D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \
|
||||
%D%/packages/patches/alsa-modular-synth-fix-vocoder.patch \
|
||||
%D%/packages/patches/amule-crypto-6.patch \
|
||||
%D%/packages/patches/anki-mpv-args.patch \
|
||||
%D%/packages/patches/antiword-CVE-2014-8123.patch \
|
||||
|
@ -798,11 +805,9 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/bitcoin-core-python-compat.patch \
|
||||
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
|
||||
%D%/packages/patches/blender-2.79-python-3.7-fix.patch \
|
||||
%D%/packages/patches/bluez-CVE-2020-0556.patch \
|
||||
%D%/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch \
|
||||
%D%/packages/patches/byobu-writable-status.patch \
|
||||
%D%/packages/patches/calibre-msgpack-compat.patch \
|
||||
%D%/packages/patches/calibre-no-updates-dialog.patch \
|
||||
%D%/packages/patches/calibre-remove-test-bs4.patch \
|
||||
%D%/packages/patches/calibre-remove-test-sqlite.patch \
|
||||
%D%/packages/patches/calibre-remove-test-unrar.patch \
|
||||
%D%/packages/patches/casync-renameat2-declaration.patch \
|
||||
|
@ -849,16 +854,15 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/cvs-CVE-2017-12836.patch \
|
||||
%D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch \
|
||||
%D%/packages/patches/date-output-pkg-config-files.patch \
|
||||
%D%/packages/patches/darkice-workaround-fpermissive-error.patch \
|
||||
%D%/packages/patches/datefudge-gettimeofday.patch \
|
||||
%D%/packages/patches/dbacl-include-locale.h.patch \
|
||||
%D%/packages/patches/dbus-helper-search-path.patch \
|
||||
%D%/packages/patches/dbus-CVE-2020-12049.patch \
|
||||
%D%/packages/patches/dbus-c++-gcc-compat.patch \
|
||||
%D%/packages/patches/dbus-c++-threading-mutex.patch \
|
||||
%D%/packages/patches/dconf-meson-0.52.patch \
|
||||
%D%/packages/patches/debops-constants-for-external-program-names.patch \
|
||||
%D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \
|
||||
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
|
||||
%D%/packages/patches/desmume-gcc6-fixes.patch \
|
||||
%D%/packages/patches/desmume-gcc7-fixes.patch \
|
||||
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
|
||||
|
@ -886,13 +890,12 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
|
||||
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \
|
||||
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
|
||||
%D%/packages/patches/emacs-magit-log-format-author-margin.patch \
|
||||
%D%/packages/patches/emacs-libgit-use-system-libgit2.patch \
|
||||
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
|
||||
%D%/packages/patches/emacs-source-date-epoch.patch \
|
||||
%D%/packages/patches/emacs-telega-test-env.patch \
|
||||
%D%/packages/patches/emacs-undohist-ignored.patch \
|
||||
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
|
||||
%D%/packages/patches/emacs-zones-called-interactively.patch \
|
||||
%D%/packages/patches/enjarify-setup-py.patch \
|
||||
%D%/packages/patches/enlightenment-fix-setuid-path.patch \
|
||||
%D%/packages/patches/erlang-man-path.patch \
|
||||
|
@ -900,6 +903,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/evilwm-lost-focus-bug.patch \
|
||||
%D%/packages/patches/evolution-data-server-locales.patch \
|
||||
%D%/packages/patches/evolution-data-server-libical-compat.patch \
|
||||
%D%/packages/patches/exercism-disable-self-update.patch \
|
||||
%D%/packages/patches/exiv2-CVE-2017-14860.patch \
|
||||
%D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \
|
||||
%D%/packages/patches/extempore-unbundle-external-dependencies.patch \
|
||||
|
@ -977,7 +981,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ghostscript-no-header-id.patch \
|
||||
%D%/packages/patches/ghostscript-no-header-uuid.patch \
|
||||
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
|
||||
%D%/packages/patches/git-annex-S3v4.patch \
|
||||
%D%/packages/patches/glib-tests-timer.patch \
|
||||
%D%/packages/patches/glibc-CVE-2015-5180.patch \
|
||||
%D%/packages/patches/glibc-CVE-2015-7547.patch \
|
||||
|
@ -1041,6 +1044,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gromacs-tinyxml2.patch \
|
||||
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
|
||||
%D%/packages/patches/grub-efi-fat-serial-number.patch \
|
||||
%D%/packages/patches/grub-setup-root.patch \
|
||||
%D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \
|
||||
%D%/packages/patches/gspell-dash-test.patch \
|
||||
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
|
||||
|
@ -1051,11 +1055,11 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/guile-3.0-relocatable.patch \
|
||||
%D%/packages/patches/guile-linux-syscalls.patch \
|
||||
%D%/packages/patches/guile-3.0-linux-syscalls.patch \
|
||||
%D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \
|
||||
%D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \
|
||||
%D%/packages/patches/guile-present-coding.patch \
|
||||
%D%/packages/patches/guile-rsvg-pkgconfig.patch \
|
||||
%D%/packages/patches/guile-emacs-fix-configure.patch \
|
||||
%D%/packages/patches/guile-sqlite3-fix-cross-compilation.patch \
|
||||
%D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
|
||||
%D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
|
||||
%D%/packages/patches/gtk2-theme-paths.patch \
|
||||
|
@ -1065,8 +1069,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
|
||||
%D%/packages/patches/gzdoom-search-in-installed-share.patch \
|
||||
%D%/packages/patches/gzdoom-find-system-libgme.patch \
|
||||
%D%/packages/patches/haskell-mode-unused-variables.patch \
|
||||
%D%/packages/patches/haskell-mode-make-check.patch \
|
||||
%D%/packages/patches/hdf4-architectures.patch \
|
||||
%D%/packages/patches/hdf4-reproducibility.patch \
|
||||
%D%/packages/patches/hdf4-shared-fortran.patch \
|
||||
|
@ -1080,8 +1082,10 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/hdf-eos5-remove-gctp.patch \
|
||||
%D%/packages/patches/hdf-eos5-fix-szip.patch \
|
||||
%D%/packages/patches/hdf-eos5-fortrantests.patch \
|
||||
%D%/packages/patches/http-parser-fix-assertion-on-armhf.patch \
|
||||
%D%/packages/patches/hubbub-sort-entities.patch \
|
||||
%D%/packages/patches/hurd-cross.patch \
|
||||
%D%/packages/patches/hurd-xattr.patch \
|
||||
%D%/packages/patches/hplip-remove-imageprocessor.patch \
|
||||
%D%/packages/patches/hydra-disable-darcs-test.patch \
|
||||
%D%/packages/patches/icecat-makeicecat.patch \
|
||||
|
@ -1105,6 +1109,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \
|
||||
%D%/packages/patches/java-commons-collections-fix-java8.patch \
|
||||
%D%/packages/patches/java-jeromq-fix-tests.patch \
|
||||
%D%/packages/patches/java-openjfx-build-jdk_version.patch \
|
||||
%D%/packages/patches/java-powermock-fix-java-files.patch \
|
||||
%D%/packages/patches/java-simple-xml-fix-tests.patch \
|
||||
%D%/packages/patches/java-svg-salamander-Fix-non-det.patch \
|
||||
|
@ -1116,12 +1121,9 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/jsoncpp-fix-inverted-case.patch \
|
||||
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
|
||||
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
|
||||
%D%/packages/patches/libffi-3.3-powerpc-fixes.patch \
|
||||
%D%/packages/patches/libnftnl-dont-check-NFTNL_FLOWTABLE_SIZE.patch \
|
||||
%D%/packages/patches/libvirt-create-machine-cgroup.patch \
|
||||
%D%/packages/patches/libziparchive-add-includes.patch \
|
||||
%D%/packages/patches/localed-xorg-keyboard.patch \
|
||||
%D%/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch \
|
||||
%D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \
|
||||
%D%/packages/patches/kiki-level-selection-crash.patch \
|
||||
%D%/packages/patches/kiki-makefile.patch \
|
||||
|
@ -1136,8 +1138,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/kpackage-allow-external-paths.patch \
|
||||
%D%/packages/patches/kmplayer-aarch64.patch \
|
||||
%D%/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch \
|
||||
%D%/packages/patches/kpmcore-fix-tests.patch \
|
||||
%D%/packages/patches/kpmcore-remove-broken-test.patch \
|
||||
%D%/packages/patches/kobodeluxe-paths.patch \
|
||||
%D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \
|
||||
%D%/packages/patches/kobodeluxe-const-charp-conversion.patch \
|
||||
|
@ -1158,6 +1158,9 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ldc-disable-phobos-tests.patch \
|
||||
%D%/packages/patches/leela-zero-gtest.patch \
|
||||
%D%/packages/patches/less-hurd-path-max.patch \
|
||||
%D%/packages/patches/lib2geom-enable-assertions.patch \
|
||||
%D%/packages/patches/lib2geom-link-tests-against-glib.patch \
|
||||
%D%/packages/patches/lib2geom-use-system-googletest.patch \
|
||||
%D%/packages/patches/liba52-enable-pic.patch \
|
||||
%D%/packages/patches/liba52-link-with-libm.patch \
|
||||
%D%/packages/patches/liba52-set-soname.patch \
|
||||
|
@ -1166,10 +1169,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/libbase-use-own-logging.patch \
|
||||
%D%/packages/patches/libbonobo-activation-test-race.patch \
|
||||
%D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
|
||||
%D%/packages/patches/libdrm-symbol-check.patch \
|
||||
%D%/packages/patches/libexif-CVE-2016-6328.patch \
|
||||
%D%/packages/patches/libexif-CVE-2017-7544.patch \
|
||||
%D%/packages/patches/libexif-CVE-2018-20030.patch \
|
||||
%D%/packages/patches/libdrm-realpath-virtio.patch \
|
||||
%D%/packages/patches/libextractor-exiv2.patch \
|
||||
%D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \
|
||||
%D%/packages/patches/libgit2-mtime-0.patch \
|
||||
|
@ -1237,7 +1237,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/luit-posix.patch \
|
||||
%D%/packages/patches/luminance-hdr-qt-printer.patch \
|
||||
%D%/packages/patches/lvm2-static-link.patch \
|
||||
%D%/packages/patches/lxsession-use-gapplication.patch \
|
||||
%D%/packages/patches/make-impure-dirs.patch \
|
||||
%D%/packages/patches/mariadb-client-test-32bit.patch \
|
||||
%D%/packages/patches/mars-install.patch \
|
||||
|
@ -1295,7 +1294,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/netsurf-y2038-tests.patch \
|
||||
%D%/packages/patches/netsurf-longer-test-timeout.patch \
|
||||
%D%/packages/patches/ngircd-handle-zombies.patch \
|
||||
%D%/packages/patches/nm-plugin-path.patch \
|
||||
%D%/packages/patches/network-manager-plugin-path.patch \
|
||||
%D%/packages/patches/nsis-env-passthru.patch \
|
||||
%D%/packages/patches/nss-increase-test-timeout.patch \
|
||||
%D%/packages/patches/nss-pkgconfig.patch \
|
||||
|
@ -1325,6 +1324,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/openocd-nrf52.patch \
|
||||
%D%/packages/patches/openssh-hurd.patch \
|
||||
%D%/packages/patches/openresolv-restartcmd-guix.patch \
|
||||
%D%/packages/patches/openscad-parser-boost-1.72.patch \
|
||||
%D%/packages/patches/openssl-runpath.patch \
|
||||
%D%/packages/patches/openssl-1.1-c-rehash-in.patch \
|
||||
%D%/packages/patches/openssl-c-rehash-in.patch \
|
||||
|
@ -1363,6 +1363,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/perl-www-curl-remove-symbol.patch \
|
||||
%D%/packages/patches/picprog-non-intel-support.patch \
|
||||
%D%/packages/patches/pidgin-add-search-path.patch \
|
||||
%D%/packages/patches/pidgin-libnm.patch \
|
||||
%D%/packages/patches/pinball-const-fix.patch \
|
||||
%D%/packages/patches/pinball-cstddef.patch \
|
||||
%D%/packages/patches/pinball-missing-separators.patch \
|
||||
|
@ -1376,7 +1377,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/plink-endian-detection.patch \
|
||||
%D%/packages/patches/plib-CVE-2011-4620.patch \
|
||||
%D%/packages/patches/plib-CVE-2012-4552.patch \
|
||||
%D%/packages/patches/plotutils-libpng-jmpbuf.patch \
|
||||
%D%/packages/patches/podofo-cmake-3.12.patch \
|
||||
%D%/packages/patches/portaudio-audacity-compat.patch \
|
||||
%D%/packages/patches/portmidi-modular-build.patch \
|
||||
|
@ -1397,7 +1397,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/pygpgme-disable-problematic-tests.patch \
|
||||
%D%/packages/patches/pyqt-configure.patch \
|
||||
%D%/packages/patches/pyqt-public-sip.patch \
|
||||
%D%/packages/patches/pyqt-unbundled-qt.patch \
|
||||
%D%/packages/patches/python-2-deterministic-build-info.patch \
|
||||
%D%/packages/patches/python-2.7-adjust-tests.patch \
|
||||
%D%/packages/patches/python-2.7-search-paths.patch \
|
||||
|
@ -1411,6 +1410,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-CVE-2018-14647.patch \
|
||||
%D%/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch \
|
||||
%D%/packages/patches/python-alembic-exceptions-cause.patch \
|
||||
%D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \
|
||||
%D%/packages/patches/python-axolotl-AES-fix.patch \
|
||||
%D%/packages/patches/python-cairocffi-dlopen-path.patch \
|
||||
%D%/packages/patches/python-cross-compile.patch \
|
||||
|
@ -1434,17 +1434,18 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
|
||||
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
|
||||
%D%/packages/patches/python-robotframework-honor-source-date-epoch.patch \
|
||||
%D%/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch \
|
||||
%D%/packages/patches/python-slugify-depend-on-unidecode.patch \
|
||||
%D%/packages/patches/python2-subprocess32-disable-input-test.patch \
|
||||
%D%/packages/patches/python-unittest2-python3-compat.patch \
|
||||
%D%/packages/patches/python-unittest2-remove-argparse.patch \
|
||||
%D%/packages/patches/python-waitress-fix-tests.patch \
|
||||
%D%/packages/patches/pypy3-7.3.1-fix-tests.patch \
|
||||
%D%/packages/patches/qemu-glibc-2.27.patch \
|
||||
%D%/packages/patches/qrcodegen-cpp-make-install.patch \
|
||||
%D%/packages/patches/qt4-ldflags.patch \
|
||||
%D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \
|
||||
%D%/packages/patches/qtbase-use-TZDIR.patch \
|
||||
%D%/packages/patches/qtbase-QTBUG-81715.patch \
|
||||
%D%/packages/patches/qtscript-disable-tests.patch \
|
||||
%D%/packages/patches/quagga-reproducible-build.patch \
|
||||
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
|
||||
|
@ -1467,6 +1468,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/racket-store-checksum-override.patch \
|
||||
%D%/packages/patches/retroarch-disable-online-updater.patch \
|
||||
%D%/packages/patches/ruby-rack-ignore-failing-test.patch \
|
||||
%D%/packages/patches/ruby-sanitize-system-libxml.patch \
|
||||
%D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
|
||||
%D%/packages/patches/runc-CVE-2019-5736.patch \
|
||||
%D%/packages/patches/rust-1.19-mrustc.patch \
|
||||
|
@ -1533,10 +1535,12 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/tipp10-fix-compiling.patch \
|
||||
%D%/packages/patches/tipp10-remove-license-code.patch \
|
||||
%D%/packages/patches/tk-find-library.patch \
|
||||
%D%/packages/patches/transmission-CVE-2018-10756.patch \
|
||||
%D%/packages/patches/ttf2eot-cstddef.patch \
|
||||
%D%/packages/patches/ttfautohint-source-date-epoch.patch \
|
||||
%D%/packages/patches/tomb-fix-errors-on-open.patch \
|
||||
%D%/packages/patches/tuxpaint-stamps-path.patch \
|
||||
%D%/packages/patches/twinkle-bcg729.patch \
|
||||
%D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \
|
||||
%D%/packages/patches/u-boot-DT-for-Pinebook-Pro.patch \
|
||||
%D%/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch \
|
||||
|
@ -1579,7 +1583,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \
|
||||
%D%/packages/patches/weasyprint-library-paths.patch \
|
||||
%D%/packages/patches/webkitgtk-share-store.patch \
|
||||
%D%/packages/patches/websocketpp-fix-for-boost-1.70.patch \
|
||||
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
|
||||
%D%/packages/patches/wicd-bitrate-none-fix.patch \
|
||||
%D%/packages/patches/wicd-get-selected-profile-fix.patch \
|
||||
%D%/packages/patches/wicd-urwid-1.3.patch \
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -58,6 +59,7 @@
|
|||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system ruby)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
|
@ -121,6 +123,7 @@
|
|||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages terminals)
|
||||
|
@ -210,7 +213,7 @@ usual file attributes can be checked for inconsistencies.")
|
|||
(define-public progress
|
||||
(package
|
||||
(name "progress")
|
||||
(version "0.14")
|
||||
(version "0.15")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -218,7 +221,7 @@ usual file attributes can be checked for inconsistencies.")
|
|||
(url "https://github.com/Xfennec/progress.git")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1lk2v4b767klib93an4g3f7z5qrv9kdk9jf7545vw1immc4kamrl"))
|
||||
(base32 "1cnb4ixlhshn139mj5sr42k5m6gjjbyqvkn1324c47niwrgp7dqm"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
|
@ -228,8 +231,14 @@ usual file attributes can be checked for inconsistencies.")
|
|||
`(("ncurses" ,ncurses)))
|
||||
(arguments
|
||||
`(#:tests? #f ; no test suite
|
||||
#:make-flags (list "CC=gcc"
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:make-flags
|
||||
(let ((target ,(%current-target-system)))
|
||||
(list ,(string-append "CC=" (cc-for-target))
|
||||
(string-append "PKG_CONFIG="
|
||||
(if target
|
||||
(string-append target "-pkg-config")
|
||||
"pkg-config"))
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out"))))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)))) ; no configure script
|
||||
|
@ -244,14 +253,14 @@ and provides a \"top-like\" mode (monitoring).")
|
|||
(define-public shepherd
|
||||
(package
|
||||
(name "shepherd")
|
||||
(version "0.8.0")
|
||||
(version "0.8.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/shepherd/shepherd-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02lbc8z5gd8v8wfi4yh1zww8mk03w0zcwnmk4l4p3vpjlvlb63ll"))))
|
||||
"0x9zr0x3xvk4qkb6jnda451d5iyrl06cz1bjzjsm0lxvjj3fabyk"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--localstatedir=/var")))
|
||||
|
@ -429,6 +438,71 @@ services.")
|
|||
graphs and can export its output to different formats.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public facter
|
||||
(package
|
||||
(name "facter")
|
||||
(version "4.0.26")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/puppetlabs/facter-ng")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bab3by926gavbhkvp0in82vim575ybj8z6av3b12jdvla1s9rmz"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'delete-facter-ng-gemspec
|
||||
(lambda _
|
||||
;; XXX: ruby-build-system incorrectly finds
|
||||
;; facter-ng.gemspec from this directory and tries to
|
||||
;; build that instead of the proper facter.gemspec.
|
||||
;; Just delete it as a workaround, as it appears to
|
||||
;; only exist for backwards-compatibility after the
|
||||
;; facter-ng->facter rename.
|
||||
(delete-file "agent/facter-ng.gemspec")
|
||||
#t))
|
||||
(add-after 'unpack 'embed-iproute-reference
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((iproute (assoc-ref inputs "iproute")))
|
||||
;; Provide an absolute reference to the 'ip' executable
|
||||
;; to avoid propagating it.
|
||||
(substitute* "lib/resolvers/networking_linux_resolver.rb"
|
||||
(("execute\\('ip")
|
||||
(string-append "execute('" iproute "/sbin/ip")))
|
||||
#t)))
|
||||
(delete 'check)
|
||||
(add-after 'wrap 'check
|
||||
(lambda* (#:key tests? outputs #:allow-other-keys)
|
||||
;; XXX: The test suite wants to run Bundler and
|
||||
;; complains that the gemspec is invalid. For now
|
||||
;; just make sure that we can run the wrapped
|
||||
;; executable directly.
|
||||
(if tests?
|
||||
(invoke (string-append (assoc-ref outputs "out")
|
||||
"/bin/facter")
|
||||
;; Many facts depend on /sys, /etc/os-release,
|
||||
;; etc, so we only run a small sample.
|
||||
"facterversion" "architecture"
|
||||
"kernel" "kernelversion")
|
||||
(format #t "tests disabled~%"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("iproute" ,iproute)
|
||||
("ruby-hocon" ,ruby-hocon)
|
||||
("ruby-sys-filesystem" ,ruby-sys-filesystem)
|
||||
("ruby-thor" ,ruby-thor)))
|
||||
(synopsis "Collect and display system facts")
|
||||
(description
|
||||
"Facter is a tool that gathers basic facts about nodes (systems) such
|
||||
as hardware details, network settings, OS type and version, and more. These
|
||||
facts can be collected on the command line with the @command{facter} command
|
||||
or via the @code{facter} Ruby library.")
|
||||
(home-page "https://github.com/puppetlabs/facter-ng")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public htop
|
||||
(package
|
||||
(name "htop")
|
||||
|
@ -718,7 +792,7 @@ would need and has several interesting built-in capabilities.")
|
|||
(define-public netcat-openbsd
|
||||
(package
|
||||
(name "netcat-openbsd")
|
||||
(version "1.206-1")
|
||||
(version "1.217-1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -727,14 +801,12 @@ would need and has several interesting built-in capabilities.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"08r3mmck3s5pbvwyq19wp5g8jqcxza3cm8nkc6jm7rqn4jdydc4z"))))
|
||||
"0kcvi3pav2fdx5c22psjv5dggk4cmrqiaq2cklhqngsk4a7vrjan"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no test suite
|
||||
#:make-flags
|
||||
(list "CC=gcc"
|
||||
(string-append "CFLAGS=-I" (assoc-ref %build-inputs "libbsd") "/include")
|
||||
"LDFLAGS=-lbsd")
|
||||
(list "CC=gcc")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
|
@ -1309,6 +1381,7 @@ system administrator.")
|
|||
(delete-file-recursively "lib/zlib")
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs (list "out" "python"))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--docdir=" (assoc-ref %outputs "out")
|
||||
|
@ -1366,7 +1439,22 @@ system administrator.")
|
|||
(substitute* "plugins/sudoers/Makefile.in"
|
||||
(("^pre-install:" match)
|
||||
(string-append match "\ndisabled-" match)))
|
||||
#t)))
|
||||
#t))
|
||||
(add-after 'install 'separate-python-output
|
||||
(lambda* (#:key target outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(out:python (assoc-ref outputs "python")))
|
||||
(if target
|
||||
(mkdir-p (string-append out:python "/empty"))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(let ((old (string-append out "/" file))
|
||||
(new (string-append out:python "/" file)))
|
||||
(mkdir-p (dirname new))
|
||||
(rename-file old new)))
|
||||
(list "libexec/sudo/python_plugin.so"
|
||||
"libexec/sudo/python_plugin.la")))
|
||||
#t))))
|
||||
|
||||
;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
|
||||
;; the chroot's /etc/passwd doesn't have it. Turn off the tests.
|
||||
|
@ -1391,6 +1479,54 @@ commands and their arguments.")
|
|||
;; See <http://www.sudo.ws/sudo/license.html>.
|
||||
(license license:x11)))
|
||||
|
||||
(define-public opendoas
|
||||
(package
|
||||
(name "opendoas")
|
||||
(version "6.6.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Duncaen/OpenDoas.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"07kkc5729p654jrgfsc8zyhiwicgmq38yacmwfvay2b3gmy728zn"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
;; The configure script doesn't accept most of the default flags.
|
||||
(lambda* (#:key configure-flags #:allow-other-keys)
|
||||
;; The configure script can only be told which compiler to use
|
||||
;; through environment variables.
|
||||
(setenv "CC" ,(cc-for-target))
|
||||
(apply invoke "./configure" configure-flags)))
|
||||
(add-before 'install 'fix-makefile
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "bsd.prog.mk"
|
||||
(("^\tchown.*$") ""))
|
||||
#t)))
|
||||
#:configure-flags
|
||||
(list (string-append "--prefix=" (assoc-ref %outputs "out"))
|
||||
;; Nothing is done with this value (yet?) but it's supported.
|
||||
;; (string-append "--target=" (or ,(%current-target-system) ""))
|
||||
"--with-timestamp")
|
||||
;; Compiler choice is not carried over from the configure script.
|
||||
#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target)))
|
||||
#:tests? #f)) ; no test suite
|
||||
(native-inputs
|
||||
`(("bison" ,bison)))
|
||||
(home-page "https://github.com/Duncaen/OpenDoas")
|
||||
(synopsis "Portable version of OpenBSD's doas command")
|
||||
(description "Doas is a minimal replacement for the venerable sudo. It was
|
||||
initially written by Ted Unangst of the OpenBSD project to provide 95% of the
|
||||
features of sudo with a fraction of the codebase.")
|
||||
(license (list license:bsd-3 ; libbsd/*
|
||||
license:isc)))) ; everything else
|
||||
|
||||
(define-public wpa-supplicant-minimal
|
||||
(package
|
||||
(name "wpa-supplicant-minimal")
|
||||
|
@ -1691,7 +1827,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
|
|||
(define-public acpica
|
||||
(package
|
||||
(name "acpica")
|
||||
(version "20200430")
|
||||
(version "20200528")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1699,7 +1835,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hiaz9lrmjzdbi5zl0ajfflja41cixzx2j76iyx02qbjlmy9cfjc"))))
|
||||
"01ajxnz9dpnvdbib7yv20dw21a1yyfgwiw3whg0xi57cf4app2md"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("flex" ,flex)
|
||||
("bison" ,bison)))
|
||||
|
@ -2027,13 +2163,13 @@ of supported upstream metrics systems simultaneously.")
|
|||
(define-public ansible
|
||||
(package
|
||||
(name "ansible")
|
||||
(version "2.9.6")
|
||||
(version "2.9.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ansible" version))
|
||||
(sha256
|
||||
(base32 "1jfbp1i3nl4yvqwd5ssy43dz3pq2x03mn875vb8r56gqh43kmksr"))))
|
||||
(base32 "1l99vwkl48iwr8ffd1ihqia995mz8h8hwk4akm4w0cgiifp88gg8"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-bcrypt" ,python-bcrypt)
|
||||
|
@ -2629,13 +2765,13 @@ a new command using the matched rule, and runs it.")
|
|||
(define-public di
|
||||
(package
|
||||
(name "di")
|
||||
(version "4.47.3")
|
||||
(version "4.48")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0m4npba50sf5s61g5z3xd2r7937zwja941f2h3f081xi24c2hfck"))))
|
||||
(base32 "0crvvfsxh8ryc0j19a2x52i9zacvggm8zi6j3kzygkcwnpz4km8r"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; obscure test failures
|
||||
|
@ -2644,7 +2780,7 @@ a new command using the matched rule, and runs it.")
|
|||
(delete 'configure) ; no configure script
|
||||
(add-before 'build 'setup-environment
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(setenv "CC" "gcc")
|
||||
(setenv "CC" ,(cc-for-target))
|
||||
(setenv "prefix" (assoc-ref outputs "out"))
|
||||
#t)))
|
||||
#:make-flags (list "--environment-overrides")))
|
||||
|
@ -3118,14 +3254,14 @@ everyone's screenshots nowadays.")
|
|||
(define-public nnn
|
||||
(package
|
||||
(name "nnn")
|
||||
(version "2.8.1")
|
||||
(version "3.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/jarun/nnn/releases/download/v"
|
||||
version "/nnn-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1g47bndxld875d0xb3pgmlw223mz47p1xcvwym861y6l4zkgiyp0"))))
|
||||
(base32 "1zflz7yj5wzdnl0728g8qrld2z6dqn7sblbmkjvyqlv1fwjd1fsf"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)
|
||||
|
@ -3336,7 +3472,7 @@ Python loading in HPC environments.")
|
|||
(let ((real-name "inxi"))
|
||||
(package
|
||||
(name "inxi-minimal")
|
||||
(version "3.0.38-1")
|
||||
(version "3.1.01-1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -3345,7 +3481,7 @@ Python loading in HPC environments.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name real-name version))
|
||||
(sha256
|
||||
(base32 "1qw3sxgd3ly916bzzl3873s3flngwd3vh57slw0shsj7ivz8bfnm"))))
|
||||
(base32 "0r204w0r06ibdr4dck7yw2nmvj7xq68bjr7xwwiy7liqdml0n0yc"))))
|
||||
(build-system trivial-build-system)
|
||||
(inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
|
||||
;;;
|
||||
|
@ -25,22 +25,23 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages pkg-config))
|
||||
|
||||
(define-public adns
|
||||
(package
|
||||
(name "adns")
|
||||
(version "1.5.1")
|
||||
(version "1.6.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append "mirror://gnu/adns/adns-"
|
||||
version ".tar.gz")
|
||||
(string-append
|
||||
"http://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-"
|
||||
"https://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-"
|
||||
version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"1ssfh94ck6kn98nf2yy6743srpgqgd167va5ja3bwx42igqjc42v"))))
|
||||
"1pi0xl07pav4zm2jrbrfpv43s1r1q1y12awgak8k7q41m5jp4hpv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; Make sure the programs under bin/ fine libadns.so.
|
||||
|
@ -50,6 +51,8 @@
|
|||
|
||||
;; XXX: Tests expect real name resolution to work.
|
||||
#:tests? #f))
|
||||
(native-inputs
|
||||
`(("m4" ,m4)))
|
||||
(home-page "https://www.gnu.org/software/adns/")
|
||||
(synopsis "Asynchronous DNS client library and utilities")
|
||||
(description
|
||||
|
|
|
@ -609,7 +609,7 @@ matrices, and polynomials over the integers and over finite fields.")
|
|||
(define-public singular
|
||||
(package
|
||||
(name "singular")
|
||||
(version "4.1.2p1")
|
||||
(version "4.1.3p2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -623,7 +623,7 @@ matrices, and polynomials over the integers and over finite fields.")
|
|||
#\.) "-")
|
||||
"/singular-" version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0kvd55353fiqyq1msmi0kka66n5h0aqs7m3km60r01b1w2f8085m"))))
|
||||
"1524yrni7gh0hir5ckridq671q5s6avfjdsdyahj51kzdl3wcypf"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
|
@ -111,7 +111,7 @@ dictionaries, including personal ones.")
|
|||
(uri (string-append "mirror://gnu/aspell/dict/" dict-name
|
||||
"/" prefix dict-name "-"
|
||||
version ".tar.bz2"))
|
||||
(sha256 sha256)))
|
||||
(hash (content-hash sha256))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -163,7 +163,7 @@ dictionaries, including personal ones.")
|
|||
(method url-fetch)
|
||||
(uri (string-append "https://www.softcatala.org/pub/softcatala/aspell/"
|
||||
version "/aspell6-ca-" version ".tar.bz2"))
|
||||
(sha256 sha256)))
|
||||
(hash (content-hash sha256))))
|
||||
(home-page "https://www.softcatala.org/pub/softcatala/aspell/"))))
|
||||
|
||||
(define-public aspell-dict-de
|
||||
|
@ -264,7 +264,7 @@ dictionaries, including personal ones.")
|
|||
(uri (string-append "mirror://sourceforge/linguistico/"
|
||||
"Dizionario%20italiano%20per%20Aspell/" version "/"
|
||||
"aspell6-it-" version ".tar.bz2"))
|
||||
(sha256 sha256)))
|
||||
(hash (content-hash sha256))))
|
||||
(home-page
|
||||
"http://linguistico.sourceforge.net/pages/dizionario_italiano.html"))))
|
||||
|
||||
|
|
|
@ -149,14 +149,14 @@ to the clients.")
|
|||
(define-public fasm
|
||||
(package
|
||||
(name "fasm")
|
||||
(version "1.73.22")
|
||||
(version "1.73.24")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://flatassembler.net/fasm-"
|
||||
version ".tgz"))
|
||||
(sha256
|
||||
(base32 "1pb0rcfdsb0h89khjjrbikz5wjdllavj3ajim0rcyh7x12xr1hw5"))))
|
||||
(base32 "142vxhs8mh8isvlzq7ir0asmqda410phzxmk9gk9b43dldskkj7k"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests exist
|
||||
|
@ -347,14 +347,14 @@ Supported architectures are:
|
|||
(define-public xa
|
||||
(package
|
||||
(name "xa")
|
||||
(version "2.3.10")
|
||||
(version "2.3.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.floodgap.com/retrotech/xa"
|
||||
"/dists/xa-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0y5sd247g11jfk5msxy91hz2nhpy7smj125dzfyfhjsjnqk5nyw6"))))
|
||||
"0b81r7mvzqxgnbbmhixcnrf9nc72v1nqaw19k67221g3k561dwij"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; TODO: custom test harness, not sure how it works
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019 by Amar Singh <nly@disroot.org>
|
||||
;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
|
||||
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
|
||||
|
@ -128,7 +128,7 @@ header.")
|
|||
(define-public gnuastro
|
||||
(package
|
||||
(name "gnuastro")
|
||||
(version "0.11")
|
||||
(version "0.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -136,7 +136,10 @@ header.")
|
|||
version ".tar.lz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0c1yc2qb7vrqad96savfn06rn01izlfz0va738signv93qqj5k3v"))))
|
||||
"0ypk1c72q778cixfa52vjxzbd5m4qc6hfjgnipy16sfa7mnspmyf"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--disable-static")))
|
||||
(inputs
|
||||
`(("cfitsio" ,cfitsio)
|
||||
("gsl" ,gsl)
|
||||
|
@ -147,7 +150,6 @@ header.")
|
|||
(native-inputs
|
||||
`(("libtool" ,libtool)
|
||||
("lzip" ,lzip)))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.gnu.org/software/gnuastro/")
|
||||
(synopsis "Astronomy utilities")
|
||||
(description "The GNU Astronomy Utilities (Gnuastro) is a suite of
|
||||
|
|
|
@ -175,7 +175,9 @@ implementation of Adaptive Multi Rate Narrowband and Wideband
|
|||
"/" version "/ams-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0"))))
|
||||
"1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0"))
|
||||
(patches
|
||||
(search-patches "alsa-modular-synth-fix-vocoder.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -183,6 +185,17 @@ implementation of Adaptive Multi Rate Narrowband and Wideband
|
|||
"CXXFLAGS=-std=gnu++11")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'set-paths 'hide-default-gcc
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((gcc (assoc-ref inputs "gcc")))
|
||||
;; Remove the default GCC from CPLUS_INCLUDE_PATH to prevent
|
||||
;; conflicts with the GCC 5 input.
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-join
|
||||
(delete (string-append gcc "/include/c++")
|
||||
(string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
|
||||
":"))
|
||||
#t)))
|
||||
;; Insert an extra space between linker flags.
|
||||
(add-before 'configure 'add-missing-space
|
||||
(lambda _
|
||||
|
@ -203,7 +216,7 @@ implementation of Adaptive Multi Rate Narrowband and Wideband
|
|||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("qttools" ,qttools)
|
||||
("gcc" ,gcc-5)))
|
||||
("gcc@5" ,gcc-5)))
|
||||
(home-page "http://alsamodular.sourceforge.net/")
|
||||
(synopsis "Realtime modular synthesizer and effect processor")
|
||||
(description
|
||||
|
@ -851,30 +864,30 @@ emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.")
|
|||
(define-public csound
|
||||
(package
|
||||
(name "csound")
|
||||
(version "6.13.0")
|
||||
(source (origin
|
||||
(version "6.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/csound/csound.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14822ybqyp31z18gky2y9zadr9dkbhabg97y139py73w7v3af1bh"))))
|
||||
(base32 "1sr9knfhbm2m0wpkjq2l5n471vnl51wy4p6j4m95zqybimzb4s2j"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("boost" ,boost)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("libsndfile" ,libsndfile)
|
||||
("liblo" ,liblo)
|
||||
("ladspa" ,ladspa)
|
||||
("jack" ,jack-1)
|
||||
("gettext" ,gettext-minimal)))
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
("gettext" ,gettext-minimal)
|
||||
("zlib" ,zlib)))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("boost" ,boost)
|
||||
("jack" ,jack-1)
|
||||
("ladspa" ,ladspa)
|
||||
("liblo" ,liblo)
|
||||
("libsndfile" ,libsndfile)
|
||||
("pulseaudio" ,pulseaudio)))
|
||||
(home-page "https://csound.com/")
|
||||
(synopsis "Sound and music computing system")
|
||||
(description
|
||||
|
@ -1242,7 +1255,7 @@ follower.")
|
|||
(define-public fluidsynth
|
||||
(package
|
||||
(name "fluidsynth")
|
||||
(version "2.1.2")
|
||||
(version "2.1.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1251,7 +1264,7 @@ follower.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0pf8hjn15isf772nz8qcqja700aay8nhdwmr24djkj42c7chf96j"))))
|
||||
"0dv6jprz2bzasvk91x2rv2pqyyvxkc72s4r6vsqw723a3kqa5bhc"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no check target
|
||||
|
@ -1961,14 +1974,14 @@ included are the command line utilities @code{send_osc} and @code{dump_osc}.")
|
|||
(define-public lilv
|
||||
(package
|
||||
(name "lilv")
|
||||
(version "0.24.6")
|
||||
(version "0.24.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.drobilla.net/lilv-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1p3hafsxgs5d4za7n66lf5nz74qssfqpmk520cm7iq2njvvlqm2z"))))
|
||||
"0063i5zgf3d3accwmyx651hw0wh5ik7kji2hvfkcdbl1qia3dp6a"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
|
@ -2191,7 +2204,7 @@ buffers, and audio capture.")
|
|||
(define-public patchage
|
||||
(package
|
||||
(name "patchage")
|
||||
(version "1.0.0")
|
||||
(version "1.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.drobilla.net/patchage-"
|
||||
|
@ -2199,7 +2212,7 @@ buffers, and audio capture.")
|
|||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb"))))
|
||||
"0dk3fiac10m83mwss3026yz7ygc47c2iw924cwwnh2fyydc9bsy6"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
|
@ -3373,17 +3386,18 @@ with support for HD extensions.")
|
|||
(define-public bs1770gain
|
||||
(package
|
||||
(name "bs1770gain")
|
||||
(version "0.6.7")
|
||||
(version "0.7.0")
|
||||
(home-page "https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/bs1770gain/bs1770gain/"
|
||||
version "/bs1770gain-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "13hsbqj1dkpz1gbclnjxv50kr7b4gcjai6c1l38g01433h217qjc"))
|
||||
(base32 "0a2dcaxvxy5m3a5sb1lhplsymvz3ypaiidc5xn9qy01h53zvyvkp"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
`(begin
|
||||
;; XXX
|
||||
(substitute* (find-files "." "\\.[ch]$")
|
||||
(("^ \\* N..o.*") ""))
|
||||
|
@ -3395,12 +3409,11 @@ with support for HD extensions.")
|
|||
"configure.ac"
|
||||
"configure")
|
||||
(("https?://bs1770gain[^/]*/")
|
||||
"https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html"))
|
||||
,home-page))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("ffmpeg" ,ffmpeg)
|
||||
("sox" ,sox)))
|
||||
(home-page "https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html")
|
||||
(synopsis "Tool to adjust loudness of media files")
|
||||
(description
|
||||
"BS1770GAIN is a loudness scanner compliant with ITU-R BS.1770 and its
|
||||
|
@ -3573,14 +3586,14 @@ on the ALSA software PCM plugin.")
|
|||
(define-public snd
|
||||
(package
|
||||
(name "snd")
|
||||
(version "19.9")
|
||||
(version "20.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
|
||||
"snd-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13s8fahpsjygjdrcwmprcrz23ny3klaj2rh2xzdv3bfs69gxvhys"))))
|
||||
"0irdizlng2s3akmxdbfxcbd93bbjz9543nh7fisszim6v0ks59d9"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
|
@ -3930,15 +3943,15 @@ other Gnaural instances, allowing synchronous sessions between many users.")
|
|||
(define-public darkice
|
||||
(package
|
||||
(name "darkice")
|
||||
(version "1.3")
|
||||
(version "1.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/darkice/darkice/"
|
||||
version "/darkice-" version ".tar.gz"))
|
||||
(uri (string-append "https://github.com/rafael2k/darkice/releases/"
|
||||
"download/v" version "/darkice-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1rlxds7ssq7nk2in4s46xws7xy9ylxsqgcz85hxjgh17lsm0y39c"))
|
||||
(patches
|
||||
(search-patches "darkice-workaround-fpermissive-error.patch"))))
|
||||
(base32
|
||||
"05yq7lggxygrkd76yiqby3msrgdn082p0qlvmzzv9xbw8hmyra76"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("lame" ,lame)
|
||||
|
@ -3988,7 +4001,7 @@ stream to one or more IceCast and/or ShoutCast servers.")
|
|||
(define-public redkite
|
||||
(package
|
||||
(name "redkite")
|
||||
(version "0.8.0")
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -3997,8 +4010,7 @@ stream to one or more IceCast and/or ShoutCast servers.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1747w1kg8y9jbl11xi018d85dm38xk7843pz26sh0k5fdv87a10q"))))
|
||||
(base32 "17kv2jc4jvn3sdicz3sf8dnf25wbvv7ijzkr0mm0sbrrjz6vrwz0"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ;no tests included
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -562,14 +563,13 @@ detection, and lossless compression.")
|
|||
(define-public borg
|
||||
(package
|
||||
(name "borg")
|
||||
(version "1.1.11")
|
||||
(version "1.1.13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "borgbackup" version))
|
||||
(sha256
|
||||
(base32
|
||||
"190gjzx83b6p64nqj840x382dgz9gfv0gm7wj585lnkrpa90j29n"))
|
||||
(base32 "089q3flmwbz7dc28zlscwylf64kgck3jf1n6lqpwww8hlrk8cjhn"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -652,7 +652,8 @@ detection, and lossless compression.")
|
|||
;; These tests assume the kernel supports FUSE.
|
||||
"and not test_fuse "
|
||||
"and not test_fuse_allow_damaged_files "
|
||||
"and not test_mount_hardlinks")))))
|
||||
"and not test_mount_hardlinks "
|
||||
"and not test_readonly_mount ")))))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -736,14 +737,14 @@ changes are stored.")
|
|||
(define-public wimlib
|
||||
(package
|
||||
(name "wimlib")
|
||||
(version "1.13.1")
|
||||
(version "1.13.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://wimlib.net/downloads/"
|
||||
"wimlib-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pxgrpr3dr81rcf2jh71aiiq3v4anc5sj1nld18f2vhvbijbrx27"))))
|
||||
"0id9ym3hzij4kpdrk0sz3ijxp5r0z1md5jch83pml9hdy1zbx5bj"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
@ -1026,17 +1027,53 @@ stored previously can be read back in full at any time. The program
|
|||
is format-agnostic, so you can feed virtually any files to it.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public dump
|
||||
(package
|
||||
(name "dump")
|
||||
(version "0.4b46")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/dump/dump/"
|
||||
version "/dump-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15rg5y15ak0ppqlhcih78layvg7cwp6hc16p3c58xs8svlkxjqc0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
`("--sysconfdir=/etc"
|
||||
"--disable-readline"
|
||||
"--disable-rmt")))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("openssl" ,openssl-1.0)
|
||||
("zlib" ,zlib)
|
||||
("util-linux" ,util-linux "lib")
|
||||
("e2fsprogs" ,e2fsprogs)))
|
||||
(home-page "https://dump.sourceforge.io/")
|
||||
(synopsis "Ext2/3/4 filesystem dump/restore utilities")
|
||||
(description "Dump examines files in a filesystem, determines which ones
|
||||
need to be backed up, and copies those files to a specified disk, tape or
|
||||
other storage medium. Subsequent incremental backups can then be layered on
|
||||
top of the full backup. The restore command performs the inverse function of
|
||||
dump; it can restore a full backup of a filesystem. Single files and
|
||||
directory subtrees may also be restored from full or partial backups in
|
||||
interractive mode.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public burp
|
||||
(package
|
||||
(name "burp")
|
||||
(version "2.3.24")
|
||||
(version "2.3.28")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/burp/burp-" version
|
||||
"/burp-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0dmahqx8ldqdrx9b47r7ag3m801n7h3kclcqja1cc1jzhfhfq27w"))))
|
||||
"18f8cjsb87skabvz4cl5pdln35qmim7x686js1xzpld6wyl9kv2k"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -1351,7 +1351,7 @@ command.")
|
|||
(define-public tzdata
|
||||
(package
|
||||
(name "tzdata")
|
||||
(version "2019c")
|
||||
(version "2020a")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1359,7 +1359,7 @@ command.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr"))))
|
||||
"18lrp0zh8m931jjlrv8lvjas4ka5dfkzdbwnbw5lwd2dlbn62wal"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f
|
||||
|
@ -1409,7 +1409,7 @@ command.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn"))))))
|
||||
"0sfnlqw1p93r7klny69rwr94fh22mz632h52phgzfgg01q9gfakx"))))))
|
||||
(home-page "https://www.iana.org/time-zones")
|
||||
(synopsis "Database of current and historical time zones")
|
||||
(description "The Time Zone Database (often called tz or zoneinfo)
|
||||
|
@ -1426,7 +1426,26 @@ and daylight-saving rules.")
|
|||
;;; package.
|
||||
(define-public tzdata-for-tests
|
||||
(hidden-package
|
||||
(package/inherit tzdata)))
|
||||
(package
|
||||
(inherit tzdata)
|
||||
(version "2019c")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://data.iana.org/time-zones/releases/tzdata"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr"))))
|
||||
(inputs
|
||||
`(("tzcode" ,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://data.iana.org/time-zones/releases/tzcode"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn")))))))))
|
||||
|
||||
(define-public libiconv
|
||||
(package
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
|
@ -38,8 +38,11 @@
|
|||
#:use-module (guix store)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:autoload (guix gnupg) (gnupg-verify*)
|
||||
#:autoload (gcrypt hash) (port-sha256)
|
||||
#:autoload (guix base32) (bytevector->nix-base32-string)
|
||||
|
||||
;; See <https://bugs.gnu.org/41457> for why not #:autoload here.
|
||||
#:use-module ((gcrypt hash) #:select (port-sha256))
|
||||
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 format))
|
||||
|
@ -48,12 +51,12 @@
|
|||
"Return the URL of Bash patch number SEQNO."
|
||||
(format #f "mirror://gnu/bash/bash-5.0-patches/bash50-~3,'0d" seqno))
|
||||
|
||||
(define (bash-patch seqno sha256)
|
||||
"Return the origin of Bash patch SEQNO, with expected hash SHA256"
|
||||
(define (bash-patch seqno sha256-bv)
|
||||
"Return the origin of Bash patch SEQNO, with expected hash SHA256-BV."
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (patch-url seqno))
|
||||
(sha256 sha256)))
|
||||
(sha256 sha256-bv)))
|
||||
|
||||
(define-syntax-rule (patch-series (seqno hash) ...)
|
||||
(list (bash-patch seqno (base32 hash))
|
||||
|
|
|
@ -46,14 +46,14 @@
|
|||
(define-public fio
|
||||
(package
|
||||
(name "fio")
|
||||
(version "3.19")
|
||||
(version "3.20")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://brick.kernel.dk/snaps/"
|
||||
"fio-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"01nc7igmcc6hda32d1y8vidd9x9pdlxvf3i1pwrzvmi6xvmbfvab"))))
|
||||
"1mwqafn81a9pxy2kw9rl4p3r2brhg2ckwrcwzy0q4gffxgn3k9c7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:test-target "test"
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -73,6 +73,7 @@
|
|||
(uri (string-append
|
||||
"https://github.com/transmission/transmission-releases/raw/"
|
||||
"master/transmission-" version ".tar.xz"))
|
||||
(patches (search-patches "transmission-CVE-2018-10756.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zbbj7rlm6m7vb64x68a64cwmijhsrwx9l63hbwqs7zr9742qi1m"))))
|
||||
|
@ -314,15 +315,15 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
|
|||
(define-public uget
|
||||
(package
|
||||
(name "uget")
|
||||
(version "2.0.8")
|
||||
(source (origin
|
||||
(version "2.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/urlget/"
|
||||
"uget%20%28stable%29/" version "/uget-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0919cf7lfk1djdl003cahqjvafdliv7v2l8r5wg95n4isqggdk75"))))
|
||||
(base32 "0rg2mr2cndxvnjib8zm5dp7y2hgbvnqkz2j2jmg0xlzfh9d34b2m"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
|
@ -336,7 +337,7 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
|
|||
(native-inputs
|
||||
`(("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "http://ugetdm.com/")
|
||||
(home-page "https://ugetdm.com/")
|
||||
(synopsis "Universal download manager with GTK+ interface")
|
||||
(description
|
||||
"uGet is portable download manager with GTK+ interface supporting
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -241,12 +242,40 @@ across a broad spectrum of applications.")
|
|||
(arguments (substitute-keyword-arguments (package-arguments boost)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
;; This was removed after boost-1.67.
|
||||
(add-before 'configure 'more-bin-sh-patching
|
||||
(lambda _
|
||||
(substitute* "tools/build/doc/bjam.qbk"
|
||||
(("/bin/sh") (which "sh")))))
|
||||
(delete 'provide-libboost_python)))))
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((icu (assoc-ref inputs "icu4c"))
|
||||
(out (assoc-ref outputs "out")))
|
||||
(substitute* (append
|
||||
(find-files "tools/build/src/engine/" "execunix\\.c.*")
|
||||
'("libs/config/configure"
|
||||
"libs/spirit/classic/phoenix/test/runtest.sh"
|
||||
"tools/build/doc/bjam.qbk"
|
||||
"tools/build/src/engine/Jambase"))
|
||||
(("/bin/sh") (which "sh")))
|
||||
|
||||
(setenv "SHELL" (which "sh"))
|
||||
(setenv "CONFIG_SHELL" (which "sh"))
|
||||
|
||||
,@(if (%current-target-system)
|
||||
`((call-with-output-file "user-config.jam"
|
||||
(lambda (port)
|
||||
(format port
|
||||
"using gcc : cross : ~a-c++ ;"
|
||||
,(%current-target-system)))))
|
||||
'())
|
||||
|
||||
(invoke "./bootstrap.sh"
|
||||
(string-append "--prefix=" out)
|
||||
;; Auto-detection looks for ICU only in traditional
|
||||
;; install locations.
|
||||
(string-append "--with-icu=" icu)
|
||||
"--with-toolset=gcc"))))
|
||||
(delete 'provide-libboost_python)))
|
||||
((#:make-flags make-flags)
|
||||
`(cons* "--without-python" ,make-flags))))
|
||||
(native-inputs
|
||||
(alist-delete "python" (package-native-inputs boost)))
|
||||
(properties '((hidden? . #t)))))
|
||||
|
||||
(define-public boost-sync
|
||||
|
@ -293,7 +322,7 @@ Boost.Thread.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1nayaqshhzr1n6jj43bpvvay36d5gn075h0b95psii5x8ingszdk"))))
|
||||
"13i5j43nggb46i6qpaf7gk53i7zp7pimphl7sydyfqz2m9yx5cdy"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 nee <nee@cock.li>
|
||||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
|
||||
|
@ -96,6 +96,7 @@
|
|||
"0zgp5m3hmc9jh8wpjx6czzkh5id2y8n1k823x2mjvm2sk6b28ag5"))
|
||||
(patches (search-patches
|
||||
"grub-efi-fat-serial-number.patch"
|
||||
"grub-setup-root.patch"
|
||||
"grub-verifiers-Blocklist-fallout-cleanup.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -1016,7 +1017,8 @@ tools, and more.")
|
|||
(guix build utils)
|
||||
(ice-9 regex) ; for string-match
|
||||
(srfi srfi-26)) ; for cut
|
||||
#:make-flags (list "CC=gcc")
|
||||
#:make-flags
|
||||
(list ,(string-append "CC=" (cc-for-target)))
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2018, 2019 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
|
||||
;;; Copyright © 2019 Léo Le Bouter <lle-bout@zaclys.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -151,14 +152,14 @@ built for SYSTEM."
|
|||
(format #f (G_ "could not find bootstrap binary '~a' \
|
||||
for system '~a'")
|
||||
program system))))))
|
||||
((sha256)
|
||||
((bv)
|
||||
(origin
|
||||
(method url-fetch/executable)
|
||||
(uri (map (cute string-append <>
|
||||
(bootstrap-executable-file-name system program))
|
||||
%bootstrap-executable-base-urls))
|
||||
(file-name program)
|
||||
(sha256 sha256)))))))
|
||||
(hash (content-hash bv sha256))))))))
|
||||
|
||||
|
||||
;;;
|
||||
|
@ -285,6 +286,7 @@ or false to signal an error."
|
|||
((string=? system "i686-gnu") "/lib/ld.so.1")
|
||||
((string=? system "aarch64-linux") "/lib/ld-linux-aarch64.so.1")
|
||||
((string=? system "powerpc-linux") "/lib/ld.so.1")
|
||||
((string=? system "powerpc64-linux") "/lib/ld64.so.1")
|
||||
((string=? system "powerpc64le-linux") "/lib/ld64.so.2")
|
||||
((string=? system "alpha-linux") "/lib/ld-linux.so.2")
|
||||
((string=? system "s390x-linux") "/lib/ld64.so.1")
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
|
||||
;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -33,12 +34,14 @@
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python))
|
||||
|
@ -310,3 +313,38 @@ Service. It allows you to checkout, commit, perform reviews etc. The vast
|
|||
majority of the OBS functionality is available via commands and the rest can
|
||||
be reached via direct API calls.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public compiledb
|
||||
(package
|
||||
(name "compiledb")
|
||||
(version "0.10.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "compiledb" version))
|
||||
(sha256
|
||||
(base32 "0vlngsdxfakyl8b7rnvn8h3l216lhbrrydr04yhy6kd03zflgfq6"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'no-compat-shim-dependency
|
||||
;; shutilwhich is only needed for python 3.3 and earlier
|
||||
(lambda _
|
||||
(substitute* "setup.py" (("^ *'shutilwhich'\n") ""))
|
||||
(substitute* "compiledb/compiler.py" (("shutilwhich") "shutil")))))))
|
||||
(propagated-inputs
|
||||
`(("python-bashlex" ,python-bashlex)
|
||||
("python-click" ,python-click)))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)))
|
||||
(home-page
|
||||
"https://github.com/nickdiego/compiledb")
|
||||
(synopsis
|
||||
"Generate Clang JSON Compilation Database files for make-based build systems")
|
||||
(description
|
||||
"@code{compiledb} provides a @code{make} python wrapper script which,
|
||||
besides executing the make build command, updates the JSON compilation
|
||||
database file corresponding to that build, resulting in a command-line
|
||||
interface similar to Bear.")
|
||||
(license license:gpl3)))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -32,7 +32,7 @@
|
|||
(define-public busybox
|
||||
(package
|
||||
(name "busybox")
|
||||
(version "1.29.3")
|
||||
(version "1.31.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -40,11 +40,18 @@
|
|||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dzg45vgy2w1xcd3p6h8d76ykhabbvk1h0lf8yb24ikrwlv8cr4p"))))
|
||||
"1659aabzp8w4hayr4z8kcpbk2z1q2wqhw7i1yb0l72b45ykl1yfh"))
|
||||
(patches
|
||||
(search-patches
|
||||
"busybox-1.31.1-fix-build-with-glibc-2.31.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'disable-timestamps
|
||||
(lambda _
|
||||
(setenv "KCONFIG_NOTIMESTAMP" "1")
|
||||
#t))
|
||||
(add-before 'configure 'disable-taskset
|
||||
;; This feature fails its tests in the build environment,
|
||||
;; was default 'n' until after 1.26.2.
|
||||
|
@ -75,6 +82,9 @@
|
|||
(substitute* "testsuite/date/date-works-1"
|
||||
(("/bin/date") (which "date")))
|
||||
|
||||
(substitute* "testsuite/start-stop-daemon.tests"
|
||||
(("/bin/false") (which "false")))
|
||||
|
||||
;; The pidof tests assume that pid 1 is called "init" but that is not
|
||||
;; true in guix build environment
|
||||
(substitute* "testsuite/pidof.tests"
|
||||
|
@ -113,7 +123,7 @@ any small or embedded system.")
|
|||
(define-public toybox
|
||||
(package
|
||||
(name "toybox")
|
||||
(version "0.8.2")
|
||||
(version "0.8.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -121,7 +131,7 @@ any small or embedded system.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mgya8zxgf30i5w3rhsb3n70kwlhifxbajh6wqdsz6rf8kx609ws"))))
|
||||
"00aw9d809wj1bqlb2fsssdgz7rj0363ya14py0gfdm0rkp98zcpa"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright @ 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -40,6 +42,7 @@
|
|||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
|
@ -235,15 +238,14 @@ whose behaviour is inconsistent across *NIX flavours.")
|
|||
(define-public libhx
|
||||
(package
|
||||
(name "libhx")
|
||||
(version "3.24")
|
||||
(version "3.25")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/libhx/libHX/"
|
||||
"libHX-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0i8v2464p830c15myknvvs6bhxaf663lrqgga95l94ygfynkw6x5"))))
|
||||
(base32 "12avn16f8aqb0cq6jplz0sv7rh6f07m85dwc8dasnnwsvijwbpbj"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://libhx.sourceforge.net")
|
||||
(synopsis "C library with common data structures and functions")
|
||||
|
@ -254,6 +256,57 @@ string formatting and autoresizing, option and config file parsing, type
|
|||
checking casts and more.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public packcc
|
||||
(package
|
||||
(name "packcc")
|
||||
;; We need a few fixes on top of the latest release to prevent test
|
||||
;; failures in Universal Ctags.
|
||||
(version "1.2.5-19-g58d1b9d")
|
||||
(home-page "https://github.com/enechaev/packcc")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0biyv835jlk43fvmmd3p8jafs7k2iw9qlaj37hvsl604ai6rd5aj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ;no tests
|
||||
#:make-flags '("-DUSE_SYSTEM_STRNLEN=1")
|
||||
#:phases (modify-phases %standard-phases
|
||||
;; The project consists of a single source file and has
|
||||
;; no actual build system, so we need to do it manually.
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "gcc" "-o" "packcc" "packcc.c"
|
||||
make-flags)))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(install-file "packcc" (string-append out "/bin"))
|
||||
(install-file "README.md"
|
||||
(string-append out "/share/doc/packcc"))
|
||||
#t))))))
|
||||
(synopsis "Packrat parser generator for C")
|
||||
(description
|
||||
"PackCC is a packrat parser generator for the C programming language.
|
||||
Its main features are:
|
||||
@itemize
|
||||
@item Generates a parser in C from a grammar described in a PEG.
|
||||
@item Gives your parser great efficiency by packrat parsing.
|
||||
@item Supports direct and indirect left-recursive grammar rules.
|
||||
@end itemize
|
||||
The grammar of your parser can be described in a @acronym{PEG, Parsing
|
||||
Expression Grammar}. The PEG is a top-down parsing language, and is similar
|
||||
to the regular-expression grammar. The PEG does not require tokenization to
|
||||
be a separate step, and tokenization rules can be written in the same way as
|
||||
any other grammar rules.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public sparse
|
||||
(package
|
||||
(name "sparse")
|
||||
|
@ -288,3 +341,98 @@ address space pointers point to, or what locks a function acquires or
|
|||
releases.")
|
||||
(home-page "https://sparse.wiki.kernel.org/index.php/Main_Page")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public libestr
|
||||
(package
|
||||
(name "libestr")
|
||||
(version "0.1.11")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rsyslog/libestr.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ca4rj90c0dn7kqpbcchkflxjw88a7rxcnwbr0gply4a28i01nd8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; autogen.sh calls configure at the end of the script.
|
||||
(replace 'bootstrap
|
||||
(lambda _ (invoke "autoreconf" "-vfi"))))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("pkg-config" ,pkg-config)
|
||||
("libtool" ,libtool)))
|
||||
(home-page "https://github.com/rsyslog/libestr")
|
||||
(synopsis "Helper functions for handling strings")
|
||||
(description
|
||||
"This C library contains some essential string manipulation functions and
|
||||
more, like escaping special characters.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public libfastjson
|
||||
(package
|
||||
(name "libfastjson")
|
||||
(version "0.99.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rsyslog/libfastjson.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qhs0g9slj3p0v2z4s3cnsx44msrlb4k78ljg7714qiziqbrbwyl"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)))
|
||||
(home-page "https://github.com/rsyslog/libfastjson")
|
||||
(synopsis "Fast JSON library for C")
|
||||
(description
|
||||
"libfastjson is a fork from json-c aiming to provide: a small library
|
||||
with essential JSON handling functions, sufficiently good JSON support (not
|
||||
100% standards compliant), and very fast processing.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public liblogging
|
||||
(package
|
||||
(name "liblogging")
|
||||
(version "1.0.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rsyslog/liblogging.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1l32m0y65svf5vxsgw935jnqs6842rcqr56dmzwqvr00yfrjhjkp"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; autogen.sh calls configure at the end of the script.
|
||||
(replace 'bootstrap
|
||||
(lambda _ (invoke "autoreconf" "-vfi"))))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("pkg-config" ,pkg-config)
|
||||
("libtool" ,libtool)
|
||||
;; For rst2man.py
|
||||
("python-docutils" ,python-docutils)))
|
||||
(home-page "https://github.com/rsyslog/liblogging")
|
||||
(synopsis "Easy to use and lightweight signal-safe logging library")
|
||||
(description
|
||||
"Liblogging is an easy to use library for logging. It offers an enhanced
|
||||
replacement for the syslog() call, but retains its ease of use.")
|
||||
(license license:bsd-2)))
|
||||
|
|
|
@ -110,7 +110,7 @@ the <tz.h> library for handling time zones and leap seconds.")
|
|||
(define-public libical
|
||||
(package
|
||||
(name "libical")
|
||||
(version "3.0.7")
|
||||
(version "3.0.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -118,22 +118,7 @@ the <tz.h> library for handling time zones and leap seconds.")
|
|||
version "/libical-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1z33wzaazbd7drl6qbh1750whd78xl2cg0gjnxyya9m83vgndgha"))
|
||||
(patches
|
||||
;; Add a patch slated for 3.0.8 which preserves backwards-
|
||||
;; compatibility in the icalattach_new_from_data() function,
|
||||
;; which accidentally changed in 3.0.7 and could break some uses.
|
||||
;; https://gitlab.gnome.org/GNOME/evolution-data-server/issues/185
|
||||
;; http://lists.infradead.org/pipermail/libical-devel/2020-January/000907.html
|
||||
(list (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/libical/libical/commit/"
|
||||
"ae394010c889e4c185160da5e81527849f9de350.patch"))
|
||||
(file-name "libical-3.0.7-preserve-icalattach-api.patch")
|
||||
(sha256
|
||||
(base32
|
||||
"0v8qcxn8a6sh78grzxd61j9478928dx38l5mf8mkdrbxv47vmvvp")))))))
|
||||
"0vr8s7hn8204lyc4ys5bs3j5qss4lmc9ffly2m1a59avyz5cmzh9"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; test suite appears broken
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -30,14 +30,14 @@
|
|||
(define-public ccache
|
||||
(package
|
||||
(name "ccache")
|
||||
(version "3.7.7")
|
||||
(version "3.7.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/ccache/ccache/releases/download/v"
|
||||
version "/ccache-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1kcqii3hr1008gj6jgfsjibwh2ryhsplc9z99m18xwa2zvbddhdp"))))
|
||||
(base32 "0jzl9idnjd9jq64qd8kny7gfd0ydvz5kyq2yslmigfdz8dsxm4zq"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("perl" ,perl) ; for test/run
|
||||
("which" ,(@ (gnu packages base) which))))
|
||||
|
|
|
@ -686,7 +686,7 @@ information is written to standard error.")
|
|||
(define-public asunder
|
||||
(package
|
||||
(name "asunder")
|
||||
(version "2.9.5")
|
||||
(version "2.9.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -695,7 +695,7 @@ information is written to standard error.")
|
|||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"069x6az2r3wlb2hd07iz0hxpxwknw7s9h7pyhnkmzv1pw9ci3kk4"))))
|
||||
"1ycnd82lh7qy1pcbngd4b41s16j9hnm2kyfrncg4cwr3bfk7yg7a"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
'(#:out-of-source? #f
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
(define-public nss-certs
|
||||
(package
|
||||
(name "nss-certs")
|
||||
(version "3.50")
|
||||
(version "3.52.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (let ((version-with-underscores
|
||||
|
@ -87,7 +87,7 @@
|
|||
"nss-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"19rv0vp9nmvn6dy29qsv8f4v7wn5kizrpm59vbszahsjfwcz6p8q"))))
|
||||
"0y4jb9095f7bbgw7d7kvzm4c3g4p5i6y68fwhb8wlkpb7b1imj5w"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"))
|
||||
(native-inputs
|
||||
|
|
|
@ -105,8 +105,8 @@ source code editors and IDEs.")
|
|||
|
||||
;; Some packages require this older version. Removed once no longer needed.
|
||||
(define-public check-0.12
|
||||
(package/inherit
|
||||
check
|
||||
(package
|
||||
(inherit check)
|
||||
(version "0.12.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -396,7 +396,7 @@ and it supports a very flexible form of test discovery.")
|
|||
(define-public doctest
|
||||
(package
|
||||
(name "doctest")
|
||||
(version "2.3.7")
|
||||
(version "2.3.8")
|
||||
(home-page "https://github.com/onqtam/doctest")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -404,7 +404,7 @@ and it supports a very flexible form of test discovery.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"134lx7pjnglrl4wdmyr9dz3rjb6d4ir6rvapg00gp52n44dbhnrq"))))
|
||||
"16w907750jnp98vdzkn72lzwy1zyryaqvfi80lbdp398pj23rq65"))))
|
||||
(build-system cmake-build-system)
|
||||
(synopsis "C++ test framework")
|
||||
(description
|
||||
|
@ -584,14 +584,13 @@ but it works for any C/C++ project.")
|
|||
(define-public python-parameterized
|
||||
(package
|
||||
(name "python-parameterized")
|
||||
(version "0.7.3")
|
||||
(version "0.7.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "parameterized" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0g1q6n7fkanjv7i1djzw62f46xf573jvza7afabh3baqjqxy7rpd"))))
|
||||
(base32 "1444fdz5bj0k10nmhxv0bv2gfrfisi7hfzqdndb0pvhf4g3qq3qr"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
|
@ -1703,14 +1702,13 @@ normally the case.")
|
|||
(define-public python-pytest-sugar
|
||||
(package
|
||||
(name "python-pytest-sugar")
|
||||
(version "0.9.2")
|
||||
(version "0.9.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-sugar" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1asq7yc4g8bx2sn7yy974mhc9ywvaihasjab4inkirdwn9s7mn7w"))))
|
||||
(base32 "1i0hv3h49zvl62jbiyjag84carbrp3zprqzxffdr291nxavvac0n"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-packaging" ,python-packaging)
|
||||
|
@ -1888,12 +1886,10 @@ unit tests and failing them if the unit test module does not exercise all
|
|||
statements in the module it tests.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
;; Further releases, up to 2.4.3, have failing unit tests. See:
|
||||
;; https://github.com/PyCQA/pylint/issues/3198.
|
||||
(define-public python-pylint
|
||||
(package
|
||||
(name "python-pylint")
|
||||
(version "2.3.1")
|
||||
(version "2.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1902,9 +1898,11 @@ statements in the module it tests.")
|
|||
(commit (string-append "pylint-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"17vvzbcqmkhr4icq5p3737nbiiyj1y3g1pa08n9mb1bsnvxmqq0z"))))
|
||||
(base32 "04cgbh2z1mygar63plzziyz34yg6bdr4i0g63jp256fgnqwb1bi3"))))
|
||||
(build-system python-build-system)
|
||||
;; FIXME: Tests are failing since version 2.4.3, see:
|
||||
;; https://github.com/PyCQA/pylint/issues/3198.
|
||||
(arguments '(#:tests? #f))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)
|
||||
("python-pytest-runner" ,python-pytest-runner)
|
||||
|
@ -1913,7 +1911,8 @@ statements in the module it tests.")
|
|||
`(("python-astroid" ,python-astroid)
|
||||
("python-isort" ,python-isort)
|
||||
("python-mccabe" ,python-mccabe)
|
||||
("python-six" ,python-six)))
|
||||
("python-six" ,python-six)
|
||||
("python-toml" ,python-toml)))
|
||||
(home-page "https://github.com/PyCQA/pylint")
|
||||
(synopsis "Python source code analyzer which looks for coding standard
|
||||
errors")
|
||||
|
@ -1946,7 +1945,7 @@ possible to write plugins to add your own checks.")
|
|||
(base32
|
||||
"02a89d8a47s7nfiv1ady3j0sg2sbyja3np145brarfp5x9qxz9x2"))))
|
||||
(arguments
|
||||
`(,@(package-arguments pylint)
|
||||
`(,@(strip-keyword-arguments '(#:tests?) (package-arguments pylint))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
|
@ -2519,7 +2518,7 @@ provides a simple way to achieve this.")
|
|||
(define-public umockdev
|
||||
(package
|
||||
(name "umockdev")
|
||||
(version "0.13.2")
|
||||
(version "0.14.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/martinpitt/umockdev/"
|
||||
|
@ -2527,7 +2526,7 @@ provides a simple way to achieve this.")
|
|||
"umockdev-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"095v3abc321s584sga04y16lcmdzsdi88h24wcrm78v7vq484g74"))))
|
||||
"1g78jcrvb7yyh0q5kv5409wjqf8nlfqnw1rknm3a247mcx317dpz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -2539,6 +2538,7 @@ provides a simple way to achieve this.")
|
|||
#t)))))
|
||||
(native-inputs
|
||||
`(("vala" ,vala)
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
("gtk-doc" ,gtk-doc)
|
||||
("pkg-config" ,pkg-config)
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;;
|
||||
|
@ -47,8 +47,8 @@
|
|||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public cuirass
|
||||
(let ((commit "9559fd18d4b89bf797216fbe187f2b26b0a2d165")
|
||||
(revision "30"))
|
||||
(let ((commit "2280ae18eb25aa7034636c58bf288c9bd5a8fa3b")
|
||||
(revision "31"))
|
||||
(package
|
||||
(name "cuirass")
|
||||
(version (git-version "0.0.1" revision commit))
|
||||
|
@ -60,7 +60,7 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"026cpcws8mb483mywwx2znpy9i7lw5n3lyqa9k6d87kxmw59060c"))))
|
||||
"1gbmpwgiwy740d936b052gfivzw52pgrny7j7lbl56wi9wnawkc9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:modules ((guix build utils)
|
||||
|
@ -123,7 +123,7 @@
|
|||
`(("guile" ,guile-3.0)
|
||||
("guile-fibers" ,guile-fibers)
|
||||
("guile-gcrypt" ,guile-gcrypt)
|
||||
("guile-json" ,guile-json-3)
|
||||
("guile-json" ,guile-json-4)
|
||||
("guile-sqlite3" ,guile-sqlite3)
|
||||
("guile-git" ,guile-git)
|
||||
;; FIXME: this is propagated by "guile-git", but it needs to be among
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2013, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
|
||||
|
@ -13,6 +13,7 @@
|
|||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2019 Hartmut Goebel <h.goebel@goebel-consult.de>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -43,11 +44,16 @@
|
|||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages perl-compression)
|
||||
|
@ -55,9 +61,8 @@
|
|||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages lua))
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
;;; Tools to deal with source code: metrics, cross-references, etc.
|
||||
|
||||
|
@ -135,18 +140,26 @@ highlighting your own code that seemed comprehensible when you wrote it.")
|
|||
(list (string-append "--with-ncurses="
|
||||
(assoc-ref %build-inputs "ncurses"))
|
||||
(string-append "--with-sqlite3="
|
||||
(assoc-ref %build-inputs "sqlite")))
|
||||
(assoc-ref %build-inputs "sqlite"))
|
||||
"--disable-static")
|
||||
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'post-install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Install the Emacs Lisp file in the right place.
|
||||
;; Install the plugin files in the right place.
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(data (string-append out "/share/gtags"))
|
||||
(vim (string-append out "/share/vim/vimfiles/plugin"))
|
||||
(lisp (string-append out "/share/emacs/site-lisp")))
|
||||
(install-file (string-append data "/gtags.el") lisp)
|
||||
(delete-file (string-append data "/gtags.el"))
|
||||
(mkdir-p lisp)
|
||||
(mkdir-p vim)
|
||||
(rename-file (string-append data "/gtags.el")
|
||||
(string-append lisp "/gtags.el"))
|
||||
(rename-file (string-append data "/gtags.vim")
|
||||
(string-append vim "/gtags.vim"))
|
||||
(rename-file (string-append data "/gtags-cscope.vim")
|
||||
(string-append vim "/gtags-cscope.vim"))
|
||||
#t))))))
|
||||
(home-page "https://www.gnu.org/software/global/")
|
||||
(synopsis "Cross-environment source code tag system")
|
||||
|
@ -217,7 +230,7 @@ COCOMO model or user-provided parameters.")
|
|||
(define-public cloc
|
||||
(package
|
||||
(name "cloc")
|
||||
(version "1.84")
|
||||
(version "1.86")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -226,7 +239,7 @@ COCOMO model or user-provided parameters.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "14xikdwcr6pcnkk2i43zrsj88z8b3mrv0svbnbvxvarw1id83pnn"))))
|
||||
(base32 "082gj2b3x11bilz8c572dd60vn6n0fhld5zhi7wk7g1wy9wlgm9w"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("coreutils" ,coreutils)
|
||||
|
@ -321,6 +334,83 @@ features that are not supported by the standard @code{stdio} implementation.")
|
|||
(license (license:non-copyleft
|
||||
"http://sourceforge.net/p/ctrio/git/ci/master/tree/README"))))
|
||||
|
||||
(define-public universal-ctags
|
||||
;; The project is unable to decide whether to use 1.0 or 6.0 as the
|
||||
;; first public release version (it started as a fork of another ctags
|
||||
;; project that was on version 5.8), and five years later have been
|
||||
;; unable to tag a release. Thus, we just take the master branch.
|
||||
(let ((commit "0c78c0c4a68030df0d025c90bad291108b5e7107")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "universal-ctags")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/universal-ctags/ctags")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0lnxc3kwi6srw0015m16vyjfdc7pdr9d1qzxjsbfv3c69ag87jhc"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Remove the bundled PackCC and associated build rules.
|
||||
(substitute* "Makefile.am"
|
||||
(("\\$\\(packcc_verbose\\)\\$\\(PACKCC\\)")
|
||||
"packcc")
|
||||
(("\\$\\(PEG_SRCS\\) \\$\\(PEG_HEADS\\): packcc\\$\\(EXEEXT\\)")
|
||||
"$(PEG_SRCS) $(PEG_HEADS):")
|
||||
(("noinst_PROGRAMS \\+= packcc")
|
||||
""))
|
||||
(delete-file-recursively "misc/packcc")
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-files-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))
|
||||
#t))
|
||||
(add-before 'bootstrap 'patch-optlib2c
|
||||
(lambda _
|
||||
;; The autogen.sh script calls out to optlib2c to
|
||||
;; generate translations, so we can not wait for the
|
||||
;; patch-source-shebangs phase.
|
||||
(patch-shebang "misc/optlib2c")
|
||||
#t))
|
||||
(add-before 'check 'patch-tests
|
||||
(lambda _
|
||||
(substitute* "misc/units"
|
||||
(("SHELL=/bin/sh")
|
||||
(string-append "SHELL=" (which "sh"))))
|
||||
(substitute* "Tmain/utils.sh"
|
||||
(("/bin/echo") (which "echo")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("packcc" ,packcc)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("jansson" ,jansson)
|
||||
("libseccomp" ,libseccomp)
|
||||
("libxml2" ,libxml2)
|
||||
("libyaml" ,libyaml)))
|
||||
(home-page "https://ctags.io/")
|
||||
(synopsis "Generate tag files for source code")
|
||||
(description
|
||||
"Universal Ctags generates an index (or tag) file of language objects
|
||||
found in source files for many popular programming languages. This index
|
||||
makes it easy for text editors and other tools to locate the indexed items.
|
||||
Universal Ctags improves on traditional ctags because of its multilanguage
|
||||
support, its ability for the user to define new languages searched by regular
|
||||
expressions, and its ability to generate emacs-style TAGS files.")
|
||||
(license license:gpl2+))))
|
||||
|
||||
(define-public withershins
|
||||
(package
|
||||
(name "withershins")
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
;;; Copyright © 2015, 2016, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
|
@ -875,7 +875,8 @@ extract such file systems.")
|
|||
(symlink "pigz" (string-append bin "/unpigz"))
|
||||
(install-file "pigz.1" man)
|
||||
#t))))
|
||||
#:make-flags (list "CC=gcc")
|
||||
#:make-flags
|
||||
(list ,(string-append "CC=" (cc-for-target)))
|
||||
#:test-target "tests"))
|
||||
(inputs `(("zlib" ,zlib)))
|
||||
(home-page "https://zlib.net/pigz/")
|
||||
|
@ -1682,7 +1683,7 @@ of archives.")
|
|||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "CC=gcc")))
|
||||
(list ,(string-append "CC=" (cc-for-target)))))
|
||||
(home-page "https://www.nongnu.org/lzip/lunzip.html")
|
||||
(synopsis "Small, stand-alone lzip decompressor")
|
||||
(description
|
||||
|
@ -1709,7 +1710,7 @@ Lunzip is intended to be fully compatible with the regular lzip package.")
|
|||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "CC=gcc")))
|
||||
(list ,(string-append "CC=" (cc-for-target)))))
|
||||
(home-page "https://www.nongnu.org/lzip/clzip.html")
|
||||
(synopsis "Small, stand-alone lzip compressor and decompressor")
|
||||
(description
|
||||
|
@ -1939,7 +1940,7 @@ download times, and other distribution and storage costs.")
|
|||
(define-public quazip
|
||||
(package
|
||||
(name "quazip")
|
||||
(version "0.9")
|
||||
(version "0.9.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1948,7 +1949,7 @@ download times, and other distribution and storage costs.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0psvf3d9akyyx3bckc9325nmbp97xiagf8la4vhca5xn2f430fbn"))))
|
||||
"11icgwv2xyxhd1hm1add51xv54zwkcqkg85d1xqlgiigvbm196iq"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ;no test
|
||||
|
@ -2098,7 +2099,7 @@ file compression algorithm.")
|
|||
(define-public xarchiver
|
||||
(package
|
||||
(name "xarchiver")
|
||||
(version "0.5.4.14")
|
||||
(version "0.5.4.15")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2107,7 +2108,7 @@ file compression algorithm.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1iklwgykgymrwcc5p1cdbh91v0ih1m58s3w9ndl5kyd44bwlb7px"))))
|
||||
(base32 "0a3y54r5zp2c0cqm77r07qrl1vh200wvqmbhm35diy22fvkq5mwc"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
|
@ -2115,7 +2116,7 @@ file compression algorithm.")
|
|||
("libxslt" ,libxslt)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("adwaita-icon-theme" ,adwaita-icon-theme) ; Hard-coded theme
|
||||
`(("adwaita-icon-theme" ,adwaita-icon-theme) ; hard-coded theme
|
||||
("gtk+" ,gtk+)))
|
||||
(home-page "https://github.com/ib/xarchiver")
|
||||
(synopsis "Graphical front-end for archive operations")
|
||||
|
@ -2204,11 +2205,8 @@ computations.")
|
|||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:make-flags
|
||||
(let ((target ,(%current-target-system)))
|
||||
(list (string-append "CC=" (if target
|
||||
(string-append target "-gcc")
|
||||
"gcc"))
|
||||
(string-append "DESTDIR=" (assoc-ref %outputs "out"))))
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "DESTDIR=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
|
|
|
@ -297,7 +297,7 @@ tools (containers, algorithms) used by other QuantStack packages.")
|
|||
(define-public ccls
|
||||
(package
|
||||
(name "ccls")
|
||||
(version "0.20190823.5")
|
||||
(version "0.20190823.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -305,11 +305,11 @@ tools (containers, algorithms) used by other QuantStack packages.")
|
|||
(url "https://github.com/MaskRay/ccls")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "0b2pkpzn576b92zcxpwchpkyw2fww6s69818rx4g9z34kzm35zy5"))
|
||||
(base32 "11h5nwk4qqshf3i8yr4bxpnvmidrhkzd0zxhf1xqv8cv6r08k47f"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; no check target.
|
||||
'(#:tests? #f)) ; no check target
|
||||
(inputs
|
||||
`(("rapidjson" ,rapidjson)))
|
||||
(native-inputs
|
||||
|
@ -458,7 +458,7 @@ point and then, after each tween step, plugging back the result.")
|
|||
(define-public abseil-cpp
|
||||
(package
|
||||
(name "abseil-cpp")
|
||||
(version "20200225.1")
|
||||
(version "20200225.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -467,7 +467,7 @@ point and then, after each tween step, plugging back the result.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"035bffayslawc19q2gmlkr6n6r7k7mvriaq7352rv6gyzaplr98w"))))
|
||||
"0dwxg54pv6ihphbia0iw65r64whd7v8nm4wwhcz219642cgpv54y"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
|
||||
;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
|
@ -18967,14 +18967,14 @@ rust.")
|
|||
(define-public rust-rpassword-4
|
||||
(package
|
||||
(name "rust-rpassword")
|
||||
(version "4.0.3")
|
||||
(version "4.0.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "rpassword" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0jnl8wzmdazkpzqs0vsw0n0vm0v4b8chqifd6s84nl9w2ybhx7ym"))))
|
||||
(base32 "17z99xazhhbaczw0ib1vnnq450j0zacdn8b2zcbdir68sdbicdwr"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
|
@ -20380,7 +20380,7 @@ proven statistical guarantees.")
|
|||
(define-public rust-serde-bytes-0.11
|
||||
(package
|
||||
(name "rust-serde-bytes")
|
||||
(version "0.11.3")
|
||||
(version "0.11.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -20388,8 +20388,7 @@ proven statistical guarantees.")
|
|||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bl45kf3c71xclv7wzk5525nswm4bgsnjd3s1s15f4k2a8whfnij"))))
|
||||
(base32 "1fcb6sw8wkrj4ylm118wkb31hw124nkjnqyhbgqnd8w85zfhgbhn"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
|
@ -20400,8 +20399,7 @@ proven statistical guarantees.")
|
|||
("rust-serde-derive" ,rust-serde-derive-1.0)
|
||||
("rust-serde-test" ,rust-serde-test-1.0))))
|
||||
(home-page "https://github.com/serde-rs/bytes")
|
||||
(synopsis
|
||||
"Handle of integer arrays and vectors for Serde")
|
||||
(synopsis "Handle integer arrays and vectors for Serde")
|
||||
(description
|
||||
"Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
@ -23747,14 +23745,14 @@ in Rust.")
|
|||
(define-public rust-tokio-0.2
|
||||
(package
|
||||
(name "rust-tokio")
|
||||
(version "0.2.18")
|
||||
(version "0.2.21")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "tokio" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "04v7rfkrlr8cx30ygy0n45skf6pdbif0zisn9a5xrdnjfb81dvrl"))))
|
||||
(base32 "0n1dxsjv9fxv3kmr3nh4n8v8pqckwgdlls942msysavhp4kzm6fh"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
|
@ -25681,15 +25679,14 @@ designed for reexporting.")
|
|||
(define-public rust-version-check-0.9
|
||||
(package
|
||||
(name "rust-version-check")
|
||||
(version "0.9.1")
|
||||
(version "0.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "version_check" version))
|
||||
(file-name (string-append name "-" version ".crate"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7"))))
|
||||
(base32 "1vbaqdf802qinsq8q20w8w0qn2pv0rkq5p73ijcblrwxcvjp5adm"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/SergioBenitez/version_check")
|
||||
(synopsis "Check that the installed rustc meets some version requirements")
|
||||
|
@ -27435,7 +27432,7 @@ to XDG Base Directory specification")
|
|||
(define-public rust-xml-rs-0.8
|
||||
(package
|
||||
(name "rust-xml-rs")
|
||||
(version "0.8.1")
|
||||
(version "0.8.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -27444,7 +27441,14 @@ to XDG Base Directory specification")
|
|||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0c905wsmk995xypxljpxzq6vv660r1pzgyrpsfiz13kw3hf0dzcs"))))
|
||||
"12ndxyhzxw2zdr76ql8nfdwb2vwhvdkrxwk4pbjafqfglmjv0zdh"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; 'doctest' isn't stable until rust-1.40
|
||||
(substitute* "src/lib.rs"
|
||||
(("\\(doctest") "(test"))
|
||||
#t))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-development-inputs
|
||||
|
@ -27478,22 +27482,20 @@ to XDG Base Directory specification")
|
|||
(define-public rust-yaml-rust-0.4
|
||||
(package
|
||||
(name "rust-yaml-rust")
|
||||
(version "0.4.3")
|
||||
(version "0.4.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "yaml-rust" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ka3qhqc5lvk3hz14wmsj32jhmh44blcbfrx5hfxli2gg38kv4k5"))))
|
||||
(base32 "038byay0dxsz6isckviz4qshfpyjqmyvda7pq96i6d53y4ickw1r"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-linked-hash-map" ,rust-linked-hash-map-0.5))
|
||||
#:cargo-development-inputs
|
||||
(("rust-quickcheck" ,rust-quickcheck-0.7))))
|
||||
(("rust-quickcheck" ,rust-quickcheck-0.9))))
|
||||
(home-page "https://chyh1990.github.io/yaml-rust/")
|
||||
(synopsis "The missing YAML 1.2 parser for rust")
|
||||
(description
|
||||
|
|
|
@ -1031,7 +1031,7 @@ quickly by using all your CPU cores and hardware acceleration.")
|
|||
(define-public minisign
|
||||
(package
|
||||
(name "minisign")
|
||||
(version "0.8")
|
||||
(version "0.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1039,8 +1039,7 @@ quickly by using all your CPU cores and hardware acceleration.")
|
|||
(string-append "https://github.com/jedisct1/minisign/releases/download/"
|
||||
version "/minisign-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10hhgwxf9rcdlr00shrkcyxndrc22dh5lj8k5z27xg3nc0jba3hk"))))
|
||||
(base32 "1h9cfvvm6lqq33b2wdar1x3w4k7zyrscavllyb0l5dmcdabq60r2"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
; No test suite
|
||||
|
@ -1064,7 +1063,7 @@ Trusted comments are signed, thus verified, before being displayed.")
|
|||
(define-public libolm
|
||||
(package
|
||||
(name "libolm")
|
||||
(version "3.1.4")
|
||||
(version "3.1.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1072,7 +1071,7 @@ Trusted comments are signed, thus verified, before being displayed.")
|
|||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"06s7rw4a9vn35wzz7chxn54mp0sjgbpv2bzz9lq0g4hnzw33cjbi"))
|
||||
"030g0jmmvhx2dh32k708sz6cdd5q1wz48i4gigh6dclqk10w28lm"))
|
||||
(file-name (git-file-name name version))))
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("argon2" ,argon2)
|
||||
("json-c" ,json-c)
|
||||
("json-c" ,json-c-0.13) ;XXX update this for cryptsetup >= 2.3
|
||||
("libgcrypt" ,libgcrypt)
|
||||
("lvm2" ,lvm2) ; device-mapper
|
||||
("popt" ,popt)
|
||||
|
@ -138,7 +138,7 @@ files). This assumes LIBRARY uses Libtool."
|
|||
(inherit (static-library libgcrypt))
|
||||
(propagated-inputs
|
||||
`(("libgpg-error-host" ,(static-library libgpg-error)))))))
|
||||
`(("json-c" ,json-c)
|
||||
`(("json-c" ,json-c-0.13)
|
||||
("libgcrypt" ,libgcrypt-static)
|
||||
("lvm2" ,lvm2-static)
|
||||
("util-linux" ,util-linux "static")
|
||||
|
|
|
@ -125,12 +125,6 @@
|
|||
(("/usr/local/lib/cups/filter")
|
||||
(string-append out "/lib/cups/filter")))
|
||||
#t)))
|
||||
(add-after 'unpack 'patch-for-poppler
|
||||
(lambda _
|
||||
(substitute* "filter/pdf.cxx"
|
||||
(("GooString \\*field_name;" m)
|
||||
(string-append "const " m)))
|
||||
#t))
|
||||
(add-after 'install 'wrap-filters
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Some filters expect to find 'gs' in $PATH. We cannot
|
||||
|
@ -250,7 +244,7 @@ device-specific programs to convert and print many types of files.")
|
|||
(license license:asl2.0)))
|
||||
|
||||
(define-public cups
|
||||
(package (inherit cups-minimal)
|
||||
(package/inherit cups-minimal
|
||||
(name "cups")
|
||||
(arguments
|
||||
`(;; Three tests fail:
|
||||
|
@ -421,14 +415,14 @@ should only be used as part of the Guix cups-pk-helper service.")
|
|||
(define-public hplip
|
||||
(package
|
||||
(name "hplip")
|
||||
(version "3.20.3")
|
||||
(version "3.20.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/hplip/hplip/" version
|
||||
"/hplip-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sh6cg7yjc11x1cm4477iaslj9n8ksghs85hqwgfbk7m5b2pw2a1"))
|
||||
"0nj79r61fzddwwzf8kcc0qkp4y9qx46v15iarz6h6y3v91wbsjq0"))
|
||||
(modules '((guix build utils)))
|
||||
(patches (search-patches "hplip-remove-imageprocessor.patch"))
|
||||
(snippet
|
||||
|
|
|
@ -26,14 +26,13 @@
|
|||
(define-public ropgadget
|
||||
(package
|
||||
(name "ropgadget")
|
||||
(version "6.2")
|
||||
(version "6.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ROPGadget" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0idiicgpijar9l9kqmfdh865c2mkfgxg0q7lpz77jc09l6q0afjh"))))
|
||||
(base32 "0v34w88if3p4vn46aby24msfnxj6znmkf4848n4d24jnykxcsqk9"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-capstone" ,python-capstone)))
|
||||
|
|
|
@ -88,7 +88,9 @@
|
|||
#:use-module (gnu packages language)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages parallel)
|
||||
|
@ -98,6 +100,7 @@
|
|||
#:use-module (gnu packages perl-web)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-web)
|
||||
|
@ -105,6 +108,8 @@
|
|||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages rdf)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages regex)
|
||||
#:use-module (gnu packages rpc)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages sphinx)
|
||||
|
@ -679,7 +684,7 @@ Language.")
|
|||
(define-public mariadb
|
||||
(package
|
||||
(name "mariadb")
|
||||
(version "10.1.44")
|
||||
(version "10.1.45")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://downloads.mariadb.com/MariaDB"
|
||||
|
@ -687,7 +692,7 @@ Language.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fah6d50hldq0farxwr8mj3jnniwdz0d1wsha07nx37fc79h7wi1"))
|
||||
"1mfs0x4c0z7d306n128dxdawk3llk25vxif5zwl20fv1z5qhz3wx"))
|
||||
(patches (search-patches "mariadb-client-test-32bit.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
@ -933,7 +938,7 @@ as a drop-in replacement of MySQL.")
|
|||
(define-public mariadb-connector-c
|
||||
(package
|
||||
(name "mariadb-connector-c")
|
||||
(version "3.1.6")
|
||||
(version "3.1.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -942,13 +947,12 @@ as a drop-in replacement of MySQL.")
|
|||
version "-src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"083724f5daaqyzdcx508caz6fk2hs89jff85zg28ih43vxkvnrnj"))))
|
||||
"0yrzhsxmjiwkhchagx8dymzhvxl3k5h40wn9wpicqjvgjb9k8523"))))
|
||||
(inputs
|
||||
`(("openssl" ,openssl)))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
;; No tests.
|
||||
'(#:tests? #f))
|
||||
'(#:tests? #f)) ; no tests
|
||||
(home-page "https://mariadb.com/kb/en/mariadb-connector-c/")
|
||||
(synopsis "Client library to connect to MySQL or MariaDB")
|
||||
(description "The MariaDB Connector/C is used to connect applications
|
||||
|
@ -959,14 +963,14 @@ developed in C/C++ to MariaDB and MySQL databases.")
|
|||
(define-public postgresql
|
||||
(package
|
||||
(name "postgresql")
|
||||
(version "10.12")
|
||||
(version "10.13")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rsab4zf4rx7pvvhlwhb04kb95aiad9cwazc4ksbvg2gij47z3rq"))
|
||||
"1qal0yp7a90yzya7hl56gsmw5fvacplrdhpn7h9gnbyr1i2iyw2d"))
|
||||
(patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -1143,7 +1147,7 @@ including field and record folding.")))
|
|||
(define-public rocksdb
|
||||
(package
|
||||
(name "rocksdb")
|
||||
(version "6.8.1")
|
||||
(version "6.10.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1152,7 +1156,7 @@ including field and record folding.")))
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0i6qglyrcqwxnrvq67zm7ln79a4sj8mzgij9h0nz5zkxax8v1zg1"))
|
||||
"0rp8q73dx5f1nkcf2qp6fljm4dpj281y6cqckqgv976kvwvqdgz1"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -1459,7 +1463,7 @@ extremely small.")
|
|||
(define-public perl-dbi
|
||||
(package
|
||||
(name "perl-dbi")
|
||||
(version "1.642")
|
||||
(version "1.643")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1467,7 +1471,7 @@ extremely small.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pbzqazrx7pnw4nbyaf27in4b6yddkirbd2ws7mnqa2n7812a81z"))))
|
||||
"1yinx39960y241vf2sknxj0dfz82a5m9gvklq5rw78k0nlyrjawa"))))
|
||||
(build-system perl-build-system)
|
||||
(synopsis "Database independent interface for Perl")
|
||||
(description "This package provides an database interface for Perl.")
|
||||
|
@ -1703,7 +1707,7 @@ columns, primary keys, unique constraints and relationships.")
|
|||
(define-public perl-dbd-sqlite
|
||||
(package
|
||||
(name "perl-dbd-sqlite")
|
||||
(version "1.62")
|
||||
(version "1.64")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1711,7 +1715,7 @@ columns, primary keys, unique constraints and relationships.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0p78ri1q6xpc1i98i6mlriv8n66iz8r5r11dlsknjm4y58rfz0mx"))))
|
||||
"00gz5aw3xrr92lf9nfk0dhmy7a8jzmxhznddd9b0a8w4a1xqzbpl"))))
|
||||
(build-system perl-build-system)
|
||||
(inputs `(("sqlite" ,sqlite)))
|
||||
(propagated-inputs `(("perl-dbi" ,perl-dbi)))
|
||||
|
@ -1749,14 +1753,14 @@ libmysqlclient. It will fill an aray with long options, ready to be parsed by
|
|||
(define-public perl-sql-abstract
|
||||
(package
|
||||
(name "perl-sql-abstract")
|
||||
(version "1.86")
|
||||
(version "1.87")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
|
||||
"SQL-Abstract-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1pwcm8hwxcgidyyrak37lx69d85q728jxsb0b14jz93gbvdgg9z7"))))
|
||||
(base32 "0jhw91b23wc9bkfwcgvka4x5ddxk58m9bcp5ay7a3vx77nla09p9"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-module-install" ,perl-module-install)
|
||||
|
@ -2049,17 +2053,14 @@ database.")
|
|||
(define-public perl-db-file
|
||||
(package
|
||||
(name "perl-db-file")
|
||||
(version "1.852")
|
||||
(version "1.853")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/P/PM/PMQS/DB_File-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/DB_File-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"14c30xyqx9c1hxw40bqbzls41al8gmklxv5jbk2kknmn4dsrbdrs"))))
|
||||
(base32 "1y967si45vj0skip1hnhicbv9da29fv6qcfwnsbnvj06n36mkj6h"))))
|
||||
(build-system perl-build-system)
|
||||
(inputs `(("bdb" ,bdb)))
|
||||
(native-inputs `(("perl-test-pod" ,perl-test-pod)))
|
||||
|
@ -2081,16 +2082,16 @@ database.")
|
|||
(define-public lmdb
|
||||
(package
|
||||
(name "lmdb")
|
||||
(version "0.9.24")
|
||||
(version "0.9.25")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/LMDB/lmdb.git")
|
||||
(url "https://git.openldap.org/openldap/openldap.git")
|
||||
(commit (string-append "LMDB_" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "088q6m8fvr12w43s461h7cvpg5hj8csaqj6n9pci150dz7bk5lxm"))))
|
||||
(base32 "0i60zlca8r6fib23gdgl4c80gxpx24772ggpvz94yr7zaai4k11w"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
|
@ -2102,7 +2103,7 @@ database.")
|
|||
(substitute* "Makefile"
|
||||
(("/usr/local") (assoc-ref outputs "out")))
|
||||
#t)))))
|
||||
(home-page "https://symas.com/products/lightning-memory-mapped-database")
|
||||
(home-page "https://symas.com/lmdb/")
|
||||
(synopsis "Lightning Memory-Mapped Database library")
|
||||
(description
|
||||
"The @dfn{Lightning Memory-Mapped Database} (LMDB) is a high-performance
|
||||
|
@ -2182,14 +2183,14 @@ on another machine, accessed via TCP/IP.")
|
|||
(define-public python-peewee
|
||||
(package
|
||||
(name "python-peewee")
|
||||
(version "2.10.2")
|
||||
(version "3.9.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "peewee" version))
|
||||
(sha256
|
||||
(base32
|
||||
"10f2mrd5hw6rjklrzaix2lsxlgc8vx3xak54arcy6yd791zhchi3"))))
|
||||
"1j4sh946k0736m7pd54z0y6i2hjhgg3kdllx1pwq8xkzzcgrx1xw"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; Fails to import test data
|
||||
|
@ -2382,13 +2383,13 @@ etc., and an SQL engine for performing simple SQL queries.")
|
|||
(define-public python-lmdb
|
||||
(package
|
||||
(name "python-lmdb")
|
||||
(version "0.95")
|
||||
(version "0.98")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "lmdb" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nx9f193gzl33r1lbqhb96h1igya7pz8wmahr8m9x5zgc05hal91"))
|
||||
"027pgbdhhdcbwj53vrzr6a60gjhmz4s75gl3180fd4q8pwlbq986"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete bundled lmdb source files.
|
||||
|
@ -2424,9 +2425,6 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.")
|
|||
;; but not actually needed on platforms currently supported by Guix.
|
||||
license:bsd-3))))
|
||||
|
||||
(define-public python2-lmdb
|
||||
(package-with-python2 python-lmdb))
|
||||
|
||||
(define-public python-orator
|
||||
(package
|
||||
(name "python-orator")
|
||||
|
@ -3223,10 +3221,12 @@ Monitor read/write activity on a mongo server
|
|||
@end table")
|
||||
(license license:asl2.0)))
|
||||
|
||||
;; There are many wrappers for this in other languages. When touching, please
|
||||
;; be sure to ensure all dependencies continue to build.
|
||||
(define-public apache-arrow
|
||||
(package
|
||||
(name "apache-arrow")
|
||||
(version "0.10.0")
|
||||
(version "0.17.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -3236,7 +3236,7 @@ Monitor read/write activity on a mongo server
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"04xkp922b8qrrnpvv9ixxnvk7151n1plzx6aqdff6frn9651zvxs"))))
|
||||
"02r6yx3yhywzikd3b0vfkjgddhfiriyx2vpm3jf5880wq59x798a"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
|
@ -3249,40 +3249,91 @@ Monitor read/write activity on a mongo server
|
|||
(setenv "BOOST_ROOT" (assoc-ref %build-inputs "boost"))
|
||||
(setenv "BROTLI_HOME" (assoc-ref %build-inputs "brotli"))
|
||||
(setenv "FLATBUFFERS_HOME" (assoc-ref %build-inputs "flatbuffers"))
|
||||
(setenv "JEMALLOC_HOME" (assoc-ref %build-inputs "jemalloc"))
|
||||
(setenv "RAPIDJSON_HOME" (assoc-ref %build-inputs "rapidjson"))
|
||||
#t)))
|
||||
#:build-type "Release"
|
||||
#:configure-flags
|
||||
(list "-DARROW_PYTHON=ON"
|
||||
"-DARROW_GLOG=ON"
|
||||
;; Parquet options
|
||||
"-DARROW_PARQUET=ON"
|
||||
"-DPARQUET_BUILD_EXECUTABLES=ON"
|
||||
;; The maintainers disallow using system versions of
|
||||
;; jemalloc:
|
||||
;; https://issues.apache.org/jira/browse/ARROW-3507. This
|
||||
;; is unfortunate because jemalloc increases performance:
|
||||
;; https://arrow.apache.org/blog/2018/07/20/jemalloc/.
|
||||
"-DARROW_JEMALLOC=OFF"
|
||||
|
||||
;; Install to PREFIX/lib (the default is
|
||||
;; PREFIX/lib64).
|
||||
(string-append "-DCMAKE_INSTALL_LIBDIR="
|
||||
(assoc-ref %outputs "out")
|
||||
;; The CMake option ARROW_DEPENDENCY_SOURCE is a global
|
||||
;; option that instructs the build system how to resolve
|
||||
;; each dependency. SYSTEM = Finding the dependency in
|
||||
;; system paths using CMake's built-in find_package
|
||||
;; function, or using pkg-config for packages that do not
|
||||
;; have this feature
|
||||
"-DARROW_DEPENDENCY_SOURCE=SYSTEM"
|
||||
|
||||
;; Split output into its component packages.
|
||||
(string-append "-DCMAKE_INSTALL_PREFIX="
|
||||
(assoc-ref %outputs "lib"))
|
||||
(string-append "-DCMAKE_INSTALL_RPATH="
|
||||
(assoc-ref %outputs "lib")
|
||||
"/lib")
|
||||
(string-append "-DCMAKE_INSTALL_BINDIR="
|
||||
(assoc-ref %outputs "out")
|
||||
"/bin")
|
||||
(string-append "-DCMAKE_INSTALL_INCLUDEDIR="
|
||||
(assoc-ref %outputs "include")
|
||||
"/share/include")
|
||||
|
||||
;; XXX These Guix package offer static
|
||||
;; libraries that are not position independent,
|
||||
;; and ld fails to link them into the arrow .so
|
||||
"-DARROW_WITH_SNAPPY=OFF"
|
||||
"-DARROW_WITH_ZLIB=OFF"
|
||||
"-DARROW_WITH_ZSTD=OFF"
|
||||
"-DARROW_WITH_LZ4=OFF"
|
||||
|
||||
"-DARROW_WITH_SNAPPY=ON"
|
||||
"-DARROW_WITH_ZLIB=ON"
|
||||
"-DARROW_WITH_ZSTD=ON"
|
||||
"-DARROW_WITH_LZ4=ON"
|
||||
"-DARROW_COMPUTE=ON"
|
||||
"-DARROW_CSV=ON"
|
||||
"-DARROW_DATASET=ON"
|
||||
"-DARROW_FILESYSTEM=ON"
|
||||
"-DARROW_HDFS=ON"
|
||||
"-DARROW_JSON=ON"
|
||||
;; Arrow Python C++ integration library (required for
|
||||
;; building pyarrow). This library must be built against
|
||||
;; the same Python version for which you are building
|
||||
;; pyarrow. NumPy must also be installed. Enabling this
|
||||
;; option also enables ARROW_COMPUTE, ARROW_CSV,
|
||||
;; ARROW_DATASET, ARROW_FILESYSTEM, ARROW_HDFS, and
|
||||
;; ARROW_JSON.
|
||||
"-DARROW_PYTHON=ON"
|
||||
|
||||
;; Building the tests forces on all the
|
||||
;; optional features and the use of static
|
||||
;; libraries.
|
||||
"-DARROW_BUILD_TESTS=OFF"
|
||||
"-DBENCHMARK_ENABLE_GTEST_TESTS=OFF"
|
||||
;;"-DBENCHMARK_ENABLE_TESTING=OFF"
|
||||
"-DARROW_BUILD_STATIC=OFF")))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("rapidjson" ,rapidjson)
|
||||
("brotli" ,google-brotli)
|
||||
("flatbuffers" ,flatbuffers)
|
||||
("jemalloc" ,jemalloc)
|
||||
("double-conversion" ,double-conversion)
|
||||
("snappy" ,snappy)
|
||||
("gflags" ,gflags)
|
||||
("glog" ,glog)
|
||||
("apache-thrift" ,apache-thrift "lib")
|
||||
("protobuf" ,protobuf)
|
||||
("rapidjson" ,rapidjson)
|
||||
("zlib" ,zlib)
|
||||
("bzip2" ,bzip2)
|
||||
("lz4" ,lz4)
|
||||
("zstd" ,zstd "lib")
|
||||
("re2" ,re2)
|
||||
("grpc" ,grpc)
|
||||
("python-3" ,python)
|
||||
("python-numpy" ,python-numpy)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(outputs '("out" "lib" "include"))
|
||||
(home-page "https://arrow.apache.org/")
|
||||
(synopsis "Columnar in-memory analytics")
|
||||
(description "Apache Arrow is a columnar in-memory analytics layer
|
||||
|
@ -3294,18 +3345,8 @@ algorithm implementations.")
|
|||
|
||||
(define-public python-pyarrow
|
||||
(package
|
||||
(inherit apache-arrow)
|
||||
(name "python-pyarrow")
|
||||
(version "0.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/apache/arrow")
|
||||
(commit (string-append "apache-arrow-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"04xkp922b8qrrnpvv9ixxnvk7151n1plzx6aqdff6frn9651zvxs"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; XXX There are no tests in the "python" directory
|
||||
|
@ -3314,26 +3355,29 @@ algorithm implementations.")
|
|||
(delete 'build) ; XXX the build is performed again during the install phase
|
||||
(add-after 'unpack 'enter-source-directory
|
||||
(lambda _ (chdir "python") #t))
|
||||
(add-after 'unpack 'set-env
|
||||
(add-after 'unpack 'make-git-checkout-writable
|
||||
(lambda _
|
||||
(setenv "ARROW_HOME" (assoc-ref %build-inputs "apache-arrow"))
|
||||
(for-each make-file-writable (find-files "."))
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
`(("apache-arrow" ,apache-arrow)
|
||||
`(("apache-arrow" ,apache-arrow "lib")
|
||||
("python-numpy" ,python-numpy)
|
||||
("python-pandas" ,python-pandas)
|
||||
("python-six" ,python-six)))
|
||||
(native-inputs
|
||||
`(("cmake" ,cmake-minimal)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python-cython" ,python-cython)
|
||||
("python-pytest" ,python-pytest)
|
||||
("python-pytest-runner" ,python-pytest-runner)
|
||||
("python-setuptools-scm" ,python-setuptools-scm)))
|
||||
(outputs '("out"))
|
||||
(home-page "https://arrow.apache.org/docs/python/")
|
||||
(synopsis "Python bindings for Apache Arrow")
|
||||
(description "This library provides a Pythonic API wrapper for the reference
|
||||
Arrow C++ implementation, along with tools for interoperability with pandas,
|
||||
NumPy, and other traditional Python scientific computing packages.")
|
||||
(description
|
||||
"This library provides a Pythonic API wrapper for the reference Arrow C++
|
||||
implementation, along with tools for interoperability with pandas, NumPy, and
|
||||
other traditional Python scientific computing packages.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python2-pyarrow
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -43,6 +44,7 @@
|
|||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages ncurses)
|
||||
|
@ -596,3 +598,37 @@ GDB with very efficient reverse-execution, which in combination with standard
|
|||
GDB/x86 features like hardware data watchpoints, makes debugging much more
|
||||
fun.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public mspdebug
|
||||
(package
|
||||
(name "mspdebug")
|
||||
(version "0.25")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dlbeer/mspdebug.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0prgwb5vx6fd4bj12ss1bbb6axj2kjyriyjxqrzd58s5jyyy8d3c"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no test suite
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)) ; no configure script
|
||||
#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
"INSTALL=install"
|
||||
(string-append "PREFIX=" %output))))
|
||||
(inputs
|
||||
`(("libusb-compat" ,libusb-compat)
|
||||
("readline" ,readline)))
|
||||
(synopsis "Debugging tool for MSP430 MCUs")
|
||||
(description "MspDebug supports FET430UIF, eZ430, RF2500 and Olimex
|
||||
MSP430-JTAG-TINY programmers, as well as many other compatible
|
||||
devices. It can be used as a proxy for gdb or as an independent
|
||||
debugger with support for programming, disassembly and reverse
|
||||
engineering.")
|
||||
(home-page "https://github.com/dlbeer/mspdebug")
|
||||
(license license:gpl2+)))
|
||||
|
|
143
gnu/packages/dhall.scm
Normal file
143
gnu/packages/dhall.scm
Normal file
|
@ -0,0 +1,143 @@
|
|||
;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages dhall)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages haskell-xyz)
|
||||
#:use-module (gnu packages haskell-check)
|
||||
#:use-module (gnu packages haskell-crypto)
|
||||
#:use-module (gnu packages haskell-web)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system haskell)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages))
|
||||
|
||||
(define-public dhall
|
||||
(package
|
||||
(name "dhall")
|
||||
(version "1.32.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://hackage.haskell.org/package/dhall/dhall-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1imj0bh5365pdizvjbw2wqz0g9hakigf1zm4fr6379qdchxpp90p"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs
|
||||
`(("ghc-aeson" ,ghc-aeson)
|
||||
("ghc-aeson-pretty" ,ghc-aeson-pretty)
|
||||
("ghc-ansi-terminal" ,ghc-ansi-terminal)
|
||||
("ghc-atomic-write" ,ghc-atomic-write-0.2.0.7)
|
||||
("ghc-case-insensitive" ,ghc-case-insensitive)
|
||||
("ghc-cborg" ,ghc-cborg)
|
||||
("ghc-cborg-json" ,ghc-cborg-json)
|
||||
("ghc-contravariant" ,ghc-contravariant)
|
||||
("ghc-data-fix" ,ghc-data-fix)
|
||||
("ghc-diff" ,ghc-diff)
|
||||
("ghc-dotgen" ,ghc-dotgen)
|
||||
("ghc-either" ,ghc-either)
|
||||
("ghc-exceptions" ,ghc-exceptions)
|
||||
("ghc-half" ,ghc-half)
|
||||
("ghc-hashable" ,ghc-hashable)
|
||||
("ghc-lens-family-core" ,ghc-lens-family-core)
|
||||
("ghc-megaparsec" ,ghc-megaparsec)
|
||||
("ghc-memory" ,ghc-memory)
|
||||
("ghc-network-uri" ,ghc-network-uri)
|
||||
("ghc-optparse-applicative" ,ghc-optparse-applicative)
|
||||
("ghc-parsers" ,ghc-parsers)
|
||||
("ghc-parser-combinators" ,ghc-parser-combinators)
|
||||
("ghc-prettyprinter" ,ghc-prettyprinter-1.6)
|
||||
("ghc-prettyprinter-ansi-terminal" ,ghc-prettyprinter-ansi-terminal)
|
||||
("ghc-pretty-simple" ,ghc-pretty-simple)
|
||||
("ghc-profunctors" ,ghc-profunctors)
|
||||
("ghc-repline" ,ghc-repline-0.3)
|
||||
("ghc-serialise" ,ghc-serialise)
|
||||
("ghc-scientific" ,ghc-scientific)
|
||||
("ghc-text-manipulate" ,ghc-text-manipulate)
|
||||
("ghc-th-lift-instances" ,ghc-th-lift-instances)
|
||||
("ghc-transformers-compat" ,ghc-transformers-compat)
|
||||
("ghc-unordered-containers" ,ghc-unordered-containers)
|
||||
("ghc-uri-encode" ,ghc-uri-encode)
|
||||
("ghc-vector" ,ghc-vector)
|
||||
("ghc-cryptonite" ,ghc-cryptonite)
|
||||
("ghc-http-types" ,ghc-http-types)
|
||||
("ghc-http-client" ,ghc-http-client)
|
||||
("ghc-http-client-tls" ,ghc-http-client-tls)))
|
||||
(native-inputs
|
||||
`(("ghc-foldl" ,ghc-foldl)
|
||||
("ghc-generic-random" ,ghc-generic-random-1.3.0.1)
|
||||
("ghc-quickcheck" ,ghc-quickcheck)
|
||||
("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
|
||||
("ghc-semigroups" ,ghc-semigroups)
|
||||
("ghc-special-values" ,ghc-special-values)
|
||||
("ghc-spoon" ,ghc-spoon)
|
||||
("ghc-tasty" ,ghc-tasty)
|
||||
("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
|
||||
("ghc-tasty-hunit" ,ghc-tasty-hunit)
|
||||
("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
|
||||
("ghc-turtle" ,ghc-turtle)
|
||||
("ghc-mockery" ,ghc-mockery)
|
||||
("ghc-doctest" ,ghc-doctest)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-network-tests
|
||||
(lambda _
|
||||
(with-directory-excursion "dhall-lang/tests"
|
||||
(for-each
|
||||
delete-file
|
||||
'("import/failure/referentiallyInsane.dhall"
|
||||
"import/success/customHeadersA.dhall"
|
||||
"import/success/noHeaderForwardingA.dhall"
|
||||
"import/success/unit/RemoteAsTextA.dhall"
|
||||
"import/success/unit/SimpleRemoteA.dhall"
|
||||
"import/success/unit/asLocation/RemoteChain1A.dhall"
|
||||
"import/success/unit/asLocation/RemoteChain2A.dhall"
|
||||
"import/success/unit/asLocation/RemoteChain3A.dhall"
|
||||
"import/success/unit/asLocation/RemoteChainEnvA.dhall"
|
||||
"import/success/unit/asLocation/RemoteChainMissingA.dhall"
|
||||
"type-inference/success/CacheImportsA.dhall"
|
||||
"type-inference/success/CacheImportsCanonicalizeA.dhall")))
|
||||
(substitute* "src/Dhall/Tutorial.hs"
|
||||
(((string-append
|
||||
"-- >>> input auto "
|
||||
"\"https://raw.githubusercontent.com/dhall-lang"
|
||||
"/dhall-haskell/18e4e9a18dc53271146df3ccf5b4177c3552236b/"
|
||||
"examples/True\" :: IO Bool"))
|
||||
"")
|
||||
(((string-append
|
||||
"-- >>> input auto "
|
||||
"\"False == "
|
||||
"https://raw.githubusercontent.com/dhall-lang"
|
||||
"/dhall-haskell/18e4e9a18dc53271146df3ccf5b4177c3552236b/"
|
||||
"examples/True\" :: IO Bool"))
|
||||
""))
|
||||
#t)))))
|
||||
(home-page "https://dhall-lang.org/")
|
||||
(synopsis "Configuration language guaranteed to terminate")
|
||||
(description
|
||||
"Dhall is an explicitly typed configuration language that is not Turing
|
||||
complete. Despite being Turing incomplete, Dhall is a real programming
|
||||
language with a type-checker and evaluator.
|
||||
|
||||
Use this library to parse, type-check, evaluate, and pretty-print the Dhall
|
||||
configuration language. This package also includes an executable which
|
||||
type-checks a Dhall file and reduces the file to a fully evaluated normal
|
||||
form.")
|
||||
(license license:bsd-3)))
|
|
@ -119,7 +119,7 @@ acronyms distributed as an info document.")
|
|||
"GCIDE is a free dictionary based on a combination of sources. It can
|
||||
be used via the GNU Dico program or accessed online at
|
||||
http://gcide.gnu.org.ua/")
|
||||
(home-page "http://gcide.gnu.org.ua/")
|
||||
(home-page "https://gcide.gnu.org.ua/")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public diction
|
||||
|
@ -205,14 +205,14 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
|
|||
(define-public grammalecte
|
||||
(package
|
||||
(name "grammalecte")
|
||||
(version "1.9.0")
|
||||
(version "1.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch/zipbomb)
|
||||
(uri (string-append "https://grammalecte.net/grammalecte/zip/"
|
||||
"Grammalecte-fr-v" version ".zip"))
|
||||
(sha256
|
||||
(base32 "1dmbmvf27dy0cnq2x7ldp9xmni8fl1p7vflgpy0yrgifgrjvnxzr"))))
|
||||
(base32 "0lyngnvg995qdm9bhqj8vd8aywpcdqmzv3j4j77wxhsfa9k0pz08"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://grammalecte.net")
|
||||
(synopsis "French spelling and grammar checker")
|
||||
|
@ -231,7 +231,7 @@ and a Python library.")
|
|||
(define-public translate-shell
|
||||
(package
|
||||
(name "translate-shell")
|
||||
(version "0.9.6.11")
|
||||
(version "0.9.6.12")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -240,7 +240,7 @@ and a Python library.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "137fz3ahzf65hfqcs4k7hhrmfjlhlw7wr3gfsvk88bnyqkyw44sm"))))
|
||||
(base32 "075vqnha21rhr1b61dim7dqlfwm1yffyzcaa83s36rpk9r5sddzx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -70,10 +70,9 @@
|
|||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public diffoscope
|
||||
(let ((version "143"))
|
||||
(package
|
||||
(name "diffoscope")
|
||||
(version version)
|
||||
(version "146")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -82,7 +81,7 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0j58dqdk8ln8y0bcnfy37ljs37nkl56lzxqns396300ysln0qiwm"))))
|
||||
"07kd3vshf4wlm0mv3mp6ljbxjq80mcg52w5ks6si1gnpzfbfz07p"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
|
@ -234,7 +233,7 @@ compare two tarballs, ISO images, or PDFs just as easily.
|
|||
Diffoscope has many optional dependencies; @code{diffoscope
|
||||
--list-missing-tools guix} will display optional packages to
|
||||
install.")
|
||||
(license license:gpl3+))))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public reprotest
|
||||
(package
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -22,7 +23,9 @@
|
|||
#:use-module (guix utils)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
|
@ -59,18 +62,22 @@ utilities.")
|
|||
(define-public djview
|
||||
(package
|
||||
(name "djview")
|
||||
(version "4.10.6")
|
||||
(version "4.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/djvu/DjView/"
|
||||
(version-major+minor version) "/"
|
||||
"djview-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.code.sf.net/p/djvu/djview-git")
|
||||
(commit (string-append "release." version))))
|
||||
(sha256
|
||||
(base32 "08bwv8ppdzhryfcnifgzgdilb12jcnivl4ig6hd44f12d76z6il4"))))
|
||||
(base32 "0qlhd0xlxn8i869m0hwdjvwivi2vigqm88wliyr1h7s84zl3qhsy"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)
|
||||
("qttools" ,qttools)))
|
||||
(inputs
|
||||
`(("djvulibre" ,djvulibre)
|
||||
|
@ -86,6 +93,11 @@ utilities.")
|
|||
(lambda _
|
||||
(substitute* "desktopfiles/djvulibre-djview4.desktop"
|
||||
(("Exec=djview4 %f") "Exec=djview %f"))
|
||||
#t))
|
||||
(add-after 'unpack 'make-files-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable
|
||||
(find-files "."))
|
||||
#t)))))
|
||||
(home-page "http://djvu.sourceforge.net/djview4.html")
|
||||
(synopsis "Viewer for the DjVu image format")
|
||||
|
|
|
@ -119,7 +119,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
|
|||
(define-public isc-bind
|
||||
(package
|
||||
(name "bind")
|
||||
(version "9.16.2")
|
||||
(version "9.16.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -127,7 +127,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
|
|||
"/bind-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0gwr4p14zy5jqq050n762rfc33km51qwipcwy6bsvk55ziybgrfr"))))
|
||||
"0zjgaspnx0p0rp83h4yj595s25da7fjis94z9frhv3azvq9nbb17"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs `("out" "utils"))
|
||||
(inputs
|
||||
|
@ -391,14 +391,14 @@ to result in system-wide compromise.")
|
|||
(define-public unbound
|
||||
(package
|
||||
(name "unbound")
|
||||
(version "1.10.0")
|
||||
(version "1.10.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.unbound.net/downloads/unbound-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0mg9divpysr42sp0m693a70693dp8025v6c9dv1yabr4g1jlhbqm"))))
|
||||
(base32 "0dnmh9jjh2v274f0hl31bgv40pl77mmfgky8bkqr5kvi3b17fdmp"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "python"))
|
||||
(native-inputs
|
||||
|
@ -595,14 +595,14 @@ Extensions} (DNSSEC).")
|
|||
(define-public knot
|
||||
(package
|
||||
(name "knot")
|
||||
(version "2.9.3")
|
||||
(version "2.9.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://secure.nic.cz/files/knot-dns/"
|
||||
"knot-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0zm0642hkb16sqkqpa84f89f3s0bw44m837r1nia8m89swvz3bgj"))
|
||||
(base32 "0xmzmhd2m9rb24clrrd9k058harsq67nyjplpbyxvy1g46xah28i"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;;
|
||||
|
@ -47,7 +47,7 @@
|
|||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages virtualization))
|
||||
|
||||
(define %docker-version "19.03.7")
|
||||
(define %docker-version "19.03.11")
|
||||
|
||||
(define-public python-docker-py
|
||||
(package
|
||||
|
@ -314,7 +314,7 @@ built-in registry server of Docker.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1sik109lxmiwgrsnvfip1nnal1xkh8z1mlvys6aknjyh29ll1iq8"))
|
||||
(base32 "1pmbggxbazipl24hxiaccbj32379zv79xba76l78v5131ihx922h"))
|
||||
(patches
|
||||
(search-patches "docker-fix-tests.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
|
@ -544,7 +544,9 @@ built-in registry server of Docker.")
|
|||
(install-file (string-append "bundles/dynbinary-daemon/dockerd-"
|
||||
(getenv "VERSION"))
|
||||
out-bin)
|
||||
#t))))))
|
||||
#t)))
|
||||
(add-after 'install 'remove-go-references
|
||||
(assoc-ref go:%standard-phases 'remove-go-references)))))
|
||||
(inputs
|
||||
`(("btrfs-progs" ,btrfs-progs)
|
||||
("containerd" ,containerd) ; for containerd-shim
|
||||
|
@ -590,7 +592,7 @@ provisioning etc.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "164l33npy8acdbbrz8vcyiwx18vi55wwwikkasg0w43b5bdhz8sx"))))
|
||||
(base32 "1y9ymv70r1hndblr64h19q34arxl2f3dqqi2qcrai5zfimcml6lr"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "github.com/docker/cli"
|
||||
|
|
|
@ -111,7 +111,7 @@ release/xsl/current")
|
|||
("docbook-xsl" ,docbook-xsl)
|
||||
("libxml2" ,libxml2)
|
||||
("libxslt" ,libxslt)))
|
||||
(home-page "http://asciidoc.org/")
|
||||
(home-page "https://asciidoc.org/")
|
||||
(synopsis "Text-based document generation system")
|
||||
(description
|
||||
"AsciiDoc is a text document format for writing notes, documentation,
|
||||
|
|
|
@ -47,8 +47,7 @@
|
|||
popularized by X11-window managers like dwm, to the console. As a console
|
||||
window manager it tries to make it easy to work with multiple console based
|
||||
programs.")
|
||||
(home-page "http://www.brain-dump.org/projects/dvtm/")
|
||||
|
||||
(home-page "https://www.brain-dump.org/projects/dvtm/")
|
||||
;; "dvtm reuses some code of dwm and is released under the same MIT/X11
|
||||
;; license. The terminal emulation part is licensed under the ISC license."
|
||||
;; source: http://www.brain-dump.org/projects/dvtm/#license
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
(define-public liblcf
|
||||
(package
|
||||
(name "liblcf")
|
||||
(version "0.6.1")
|
||||
(version "0.6.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -47,7 +47,7 @@
|
|||
"/liblcf-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qz387r4shbx48r3z7k8llkzz4b039zmak98wxpiwn6a23cssdn5"))))
|
||||
"0n2k4brd264jg9p6918x7dnb2iimpzjh8q3v1fws58450xbgnkqc"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -46,6 +46,7 @@
|
|||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages javascript)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages libreoffice)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
|
@ -82,7 +83,7 @@
|
|||
(define-public calibre
|
||||
(package
|
||||
(name "calibre")
|
||||
(version "3.42.0")
|
||||
(version "4.18.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -91,13 +92,18 @@
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ymdhws3cb44p3fb24vln1wx6s7qnb8rr241jvm6qbj5rnp984dm"))
|
||||
;; Unbundle python2-odfpy.
|
||||
;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
|
||||
"0w9pcfvskjh4v00vjw3i6hzrafy863pgsmmqdx4lffip3p856brw"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Unbundle python2-odfpy.
|
||||
(delete-file-recursively "src/odf")
|
||||
;; Disable test that attempts to load it.
|
||||
(substitute* "setup/test.py"
|
||||
((".*SRC, 'odf'.*")
|
||||
""))
|
||||
|
||||
;; Remove unneeded resources.
|
||||
(delete-file "resources/viewer.js")
|
||||
(delete-file "resources/viewer.html")
|
||||
(delete-file "resources/mozilla-ca-certs.pem")
|
||||
|
@ -105,8 +111,6 @@
|
|||
(delete-file "resources/calibre-portable.sh")
|
||||
#t))
|
||||
(patches (search-patches "calibre-no-updates-dialog.patch"
|
||||
"calibre-msgpack-compat.patch"
|
||||
"calibre-remove-test-bs4.patch" ; TODO: fix test.
|
||||
"calibre-remove-test-sqlite.patch" ; TODO: fix test.
|
||||
"calibre-remove-test-unrar.patch"))))
|
||||
(build-system python-build-system)
|
||||
|
@ -115,12 +119,13 @@
|
|||
("qtbase" ,qtbase) ; for qmake
|
||||
("python2-flake8" ,python2-flake8)
|
||||
("xdg-utils" ,xdg-utils)))
|
||||
;; Beautifulsoup3 is bundled but obsolete and not packaged, so just leave it bundled.
|
||||
(inputs
|
||||
`(("chmlib" ,chmlib)
|
||||
("fontconfig" ,fontconfig)
|
||||
("font-liberation" ,font-liberation)
|
||||
("glib" ,glib)
|
||||
("hunspell" ,hunspell)
|
||||
("hyphen" ,hyphen)
|
||||
("icu4c" ,icu4c)
|
||||
("js-mathjax" ,js-mathjax)
|
||||
("libmtp" ,libmtp)
|
||||
|
@ -132,6 +137,7 @@
|
|||
("poppler" ,poppler)
|
||||
("python" ,python-2)
|
||||
("python2-apsw" ,python2-apsw)
|
||||
("python2-beautifulsoup4" ,python2-beautifulsoup4)
|
||||
("python2-chardet" ,python2-chardet)
|
||||
("python2-cssselect" ,python2-cssselect)
|
||||
("python2-css-parser" ,python2-css-parser)
|
||||
|
@ -153,9 +159,11 @@
|
|||
("python2-pillow" ,python2-pillow)
|
||||
("python2-psutil" ,python2-psutil)
|
||||
("python2-pygments" ,python2-pygments)
|
||||
("python2-pyqtwebengine" ,python2-pyqtwebengine)
|
||||
("python2-pyqt" ,python2-pyqt)
|
||||
("python2-sip" ,python2-sip)
|
||||
("python2-regex" ,python2-regex)
|
||||
("qtwebengine" ,qtwebengine)
|
||||
("sqlite" ,sqlite)))
|
||||
(arguments
|
||||
`(#:python ,python-2
|
||||
|
@ -170,6 +178,18 @@
|
|||
;; We can't use the uninstaller in Guix. Don't build it.
|
||||
(("self\\.create_uninstaller()") ""))
|
||||
#t))
|
||||
(add-after 'patch-source-shebangs 'patch-more-shebangs
|
||||
(lambda _
|
||||
;; Patch various inline shebangs.
|
||||
(substitute* '("src/calibre/gui2/preferences/tweaks.py"
|
||||
"src/calibre/gui2/dialogs/custom_recipes.py"
|
||||
"setup/install.py"
|
||||
"setup/linux-installer.sh")
|
||||
(("#!/usr/bin/env python")
|
||||
(string-append "#!" (which "python")))
|
||||
(("#!/bin/sh")
|
||||
(string-append "#!" (which "sh"))))
|
||||
#t))
|
||||
(add-after 'unpack 'dont-load-remote-icons
|
||||
(lambda _
|
||||
(substitute* "setup/plugins_mirror.py"
|
||||
|
@ -180,9 +200,12 @@
|
|||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((podofo (assoc-ref inputs "podofo"))
|
||||
(pyqt (assoc-ref inputs "python2-pyqt"))
|
||||
(python-sip (assoc-ref inputs "python2-sip"))
|
||||
(out (assoc-ref outputs "out")))
|
||||
(substitute* "setup/build_environment.py"
|
||||
(("sys.prefix") (string-append "'" pyqt "'")))
|
||||
(("= get_sip_dir\\(\\)")
|
||||
(string-append "= '" pyqt "/share/sip'")))
|
||||
|
||||
(substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
|
||||
(("PDFTOHTML = 'pdftohtml'")
|
||||
(string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler")
|
||||
|
@ -195,6 +218,18 @@
|
|||
(substitute* "src/calibre/linux.py"
|
||||
(("'~/.local/share'") "''"))
|
||||
|
||||
;; 'python setup.py rapydscript' uses QtWebEngine, which
|
||||
;; needs to create temporary files in $HOME.
|
||||
(setenv "HOME" "/tmp")
|
||||
|
||||
;; XXX: QtWebEngine will fail if no fonts are available. This
|
||||
;; can likely be removed when fontconfig has been patched to
|
||||
;; include TrueType fonts by default.
|
||||
(symlink (string-append (assoc-ref inputs "font-liberation")
|
||||
"/share/fonts")
|
||||
"/tmp/.fonts")
|
||||
|
||||
(setenv "SIP_BIN" (string-append python-sip "/bin/sip"))
|
||||
(setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo"))
|
||||
(setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"))
|
||||
;; This informs the tests we are a continuous integration
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
|
||||
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -39,6 +40,7 @@
|
|||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages javascript)
|
||||
|
@ -68,6 +70,7 @@
|
|||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system trivial)
|
||||
|
@ -114,7 +117,7 @@
|
|||
("texi2html" ,texi2html)
|
||||
("glib:bin" ,glib "bin")
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "http://gcompris.net")
|
||||
(home-page "https://gcompris.net")
|
||||
(synopsis "Educational software suite")
|
||||
(description "GCompris is an educational software suite comprising of
|
||||
numerous activities for children aged 2 to 10. Some of the activities are
|
||||
|
@ -386,7 +389,10 @@ to open the application in a web browser, for offline usage.")
|
|||
Type=Application~%"
|
||||
out)))
|
||||
#t))))))
|
||||
(inputs `(("python-pyqt" ,python-pyqt)))
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)))
|
||||
(inputs
|
||||
`(("python-pyqt" ,python-pyqt)))
|
||||
(synopsis "School tools for physically disabled children")
|
||||
(description "ToutEnClic is intended to facilitate the schooling
|
||||
of physically disabled children in ordinary schools. It is both
|
||||
|
@ -606,14 +612,14 @@ Portuguese, Spanish and Italian.")
|
|||
(define-public fet
|
||||
(package
|
||||
(name "fet")
|
||||
(version "5.44.4")
|
||||
(version "5.45.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
|
||||
"fet-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "1bji4910v6adhngdh5ajz5bxam9z3yqnh8d1h1xajy6npm6qq3nx"))))
|
||||
(base32 "04jns6wc20rz6cp410znsllknhp4zlf4rn8wgv712855nffs42c6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -645,15 +651,14 @@ hours.")
|
|||
(define-public klavaro
|
||||
(package
|
||||
(name "klavaro")
|
||||
(version "3.09")
|
||||
(version "3.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/klavaro/klavaro-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"12gml7h45b1w9s318h0d5wxw92h7pgajn2kh57j0ak9saq0yb0wr"))))
|
||||
(base32 "0jnzdrndiq6m0bwgid977z5ghp4q61clwdlzfpx4fd2ml5x3iq95"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)
|
||||
|
@ -976,3 +981,35 @@ comparison flags, input-output devices, and a set of binary instructions.
|
|||
The package includes a compiler, a virtual machine, a GUI for the virtual
|
||||
machine, and more.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public exercism
|
||||
(package
|
||||
(name "exercism")
|
||||
(version "3.0.13")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/exercism/cli")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"17gvz9a0sn4p36hf4l77bxhhfipf4x998iay31layqwbnzmb4xy7"))
|
||||
(patches (search-patches "exercism-disable-self-update.patch"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "github.com/exercism/cli/exercism"
|
||||
#:unpack-path "github.com/exercism/cli"))
|
||||
(inputs
|
||||
`(("github.com/blang/semver" ,go-github-com-blang-semver)
|
||||
("github.com/spf13/cobra" ,go-github-com-spf13-cobra)
|
||||
("github.com/spf13/pflag" ,go-github-com-spf13-pflag)
|
||||
("github.com/spf13/viper" ,go-github-com-spf13-viper)
|
||||
("golang.org/x/net" ,go-golang-org-x-net)
|
||||
("golang.org/x/text" ,go-golang-org-x-text)))
|
||||
(home-page "https://exercism.io")
|
||||
(synopsis "Mentored learning for programming languages")
|
||||
(description "Commandline client for exercism.io, a free service providing
|
||||
mentored learning for programming languages.")
|
||||
(license license:expat)))
|
||||
|
|
|
@ -37,14 +37,14 @@
|
|||
(define-public gnu-efi
|
||||
(package
|
||||
(name "gnu-efi")
|
||||
(version "3.0.11")
|
||||
(version "3.0.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/gnu-efi/"
|
||||
"gnu-efi-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "1ffnc4xbzfggs37ymrgfx76j56kk2644c081ivhr2bjkla9ag3gj"))))
|
||||
(base32 "0sbn6am3k5lqafycggh1g964fcwjwnh0i9hhwrk4ncrwzphz55h1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; none exist
|
||||
|
@ -54,8 +54,8 @@
|
|||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(synopsis "EFI toolchain")
|
||||
(description "This package provides an EFI (Extensible Firmware
|
||||
Interface) toolchain for building programs that can run in the
|
||||
(description "This package provides an @acronym{EFI, Extensible Firmware
|
||||
Interface} toolchain for building programs that can run in the
|
||||
environment presented by Intel's EFI.")
|
||||
(home-page "https://directory.fsf.org/wiki/GNU_EFI")
|
||||
;; Distribution is allowed only when accepting all those licenses.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
|
@ -38,7 +38,9 @@
|
|||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages xml))
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26))
|
||||
|
||||
(define-public elfutils
|
||||
(package
|
||||
|
@ -67,10 +69,11 @@
|
|||
(assoc-ref %outputs "out")
|
||||
"/lib"))
|
||||
|
||||
;; Disable tests on MIPS (without changing
|
||||
;; Disable tests on MIPS and PowerPC (without changing
|
||||
;; the arguments list on other systems).
|
||||
,@(if (string-prefix? "mips" (or (%current-target-system)
|
||||
,@(if (any (cute string-prefix? <> (or (%current-target-system)
|
||||
(%current-system)))
|
||||
'("mips" "powerpc"))
|
||||
'(#:tests? #f)
|
||||
'())
|
||||
|
||||
|
@ -109,14 +112,14 @@ object or archive file), @command{eu-strip} (for discarding symbols),
|
|||
(package
|
||||
(name "libabigail")
|
||||
(home-page "https://sourceware.org/libabigail/")
|
||||
(version "1.6")
|
||||
(version "1.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://sourceware.org/pub/libabigail/"
|
||||
"libabigail-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04j07lhvwbp6qp8pdwbf7iqnr7kgpabmqylsw4invpmzwnyp6g6g"))))
|
||||
"0bf8w01l6wm7mm4clfg5rqi30m1ws11qqa4bp2vxghfwgi9ai8i7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--disable-static"
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1040,7 +1040,7 @@ the Raspberry Pi chip."))))
|
|||
(define-public python-libmpsse
|
||||
(package
|
||||
(name "python-libmpsse")
|
||||
(version "1.4")
|
||||
(version "1.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1050,7 +1050,7 @@ the Raspberry Pi chip."))))
|
|||
(file-name "libmpsse-checkout")
|
||||
(sha256
|
||||
(base32
|
||||
"14f1kiiia4kfd9mzwx4h63aa8bpz9aknbrrr7mychnsp3arw0z25"))))
|
||||
"1rypfb96k2szqgygp3jnwg2zq9kwmfz0460dsahn3r2vkzml8wn7"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libftdi" ,libftdi)
|
||||
|
|
|
@ -470,7 +470,7 @@ and Game Boy Color games.")
|
|||
(define-public sameboy
|
||||
(package
|
||||
(name "sameboy")
|
||||
(version "0.12.3")
|
||||
(version "0.13.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -479,7 +479,7 @@ and Game Boy Color games.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0m5rv2x8qck1kr43xq186pp4kaiay7gd1x775n9qrljcd7z4x6fs"))))
|
||||
(base32 "19qb1ib9sk5bjdv4arbwkv8l2afpll5axrif3wi7p2yhvpba10c0"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("rgbds" ,rgbds)
|
||||
|
@ -489,7 +489,7 @@ and Game Boy Color games.")
|
|||
`(("sdl2" ,sdl2)))
|
||||
(arguments
|
||||
`(#:tests? #f ; There are no tests
|
||||
#:make-flags `("CC=gcc" "CONF=release"
|
||||
#:make-flags `("CC=gcc" "NATIVE_CC=gcc" "CONF=release"
|
||||
,(string-append "DATA_DIR="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/sameboy/"))
|
||||
|
@ -1274,7 +1274,7 @@ play them on systems for which they were never designed!")
|
|||
(define-public mame
|
||||
(package
|
||||
(name "mame")
|
||||
(version "0.220")
|
||||
(version "0.221")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1283,7 +1283,7 @@ play them on systems for which they were never designed!")
|
|||
(commit (apply string-append "mame" (string-split version #\.)))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0x3yr195zi7xjr21p1c2l8c0vhg0a0af0mpz4i1w7q7r9krvcvz4"))
|
||||
(base32 "07fl7alj9zlyb93i8lnn4706ndy3qiv0pjvwnwysk5rqa0r3463y"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled libraries.
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
#:use-module (gnu packages commencement)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages digest)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
|
@ -82,6 +83,7 @@
|
|||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages image-processing)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages linux) ;FIXME: for pcb
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages maths)
|
||||
|
@ -103,6 +105,7 @@
|
|||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages openkinect)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public librecad
|
||||
|
@ -535,7 +538,7 @@ featuring various improvements and bug fixes.")))
|
|||
(copy-recursively "doc" doc)
|
||||
(copy-recursively "examples" examples)
|
||||
#t))))))
|
||||
(home-page "http://www.rle.mit.edu/cpg/research_codes.htm")
|
||||
(home-page "https://www.rle.mit.edu/cpg/research_codes.htm")
|
||||
(synopsis "Multipole-accelerated capacitance extraction program")
|
||||
(description
|
||||
"Fastcap is a capacitance extraction program based on a
|
||||
|
@ -583,7 +586,7 @@ multipole-accelerated algorithm.")
|
|||
(copy-recursively "doc" doc)
|
||||
(copy-recursively "examples" examples)
|
||||
#t))))))
|
||||
(home-page "http://www.rle.mit.edu/cpg/research_codes.htm")
|
||||
(home-page "https://www.rle.mit.edu/cpg/research_codes.htm")
|
||||
(synopsis "Multipole-accelerated inductance analysis program")
|
||||
(description
|
||||
"Fasthenry is an inductance extraction program based on a
|
||||
|
@ -1334,7 +1337,7 @@ bindings for Python, Java, OCaml and more.")
|
|||
(define-public radare2
|
||||
(package
|
||||
(name "radare2")
|
||||
(version "4.2.1")
|
||||
(version "4.4.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1342,39 +1345,37 @@ bindings for Python, Java, OCaml and more.")
|
|||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"14b9433cgc2nabhz836zfgvgh2dwailcmvy05krsa0inmzbvx9fg"))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(substitute* "libr/asm/p/Makefile"
|
||||
(("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))
|
||||
(substitute* "libr/parse/p/Makefile"
|
||||
(("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))
|
||||
(substitute* "libr/bin/p/Makefile"
|
||||
(("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))
|
||||
#t))))
|
||||
"0gwdnrnk7wdgkajp2qwg4fyplh7nsbmf01bzx07px6xmiscd9z2s"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; tests require git and network access
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'mklibdir
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(mkdir-p (string-append (assoc-ref %outputs "out") "/lib"))
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(mkdir-p (string-append (assoc-ref outputs "out") "/lib"))
|
||||
#t)))
|
||||
#:configure-flags
|
||||
(list "--with-sysmagic" "--with-syszip" "--with-openssl"
|
||||
"--without-nonpic" "--with-rpath" "--with-syscapstone")
|
||||
(list "--with-openssl"
|
||||
"--with-rpath"
|
||||
"--with-syscapstone"
|
||||
"--with-sysmagic"
|
||||
"--with-syszip"
|
||||
"--with-sysxxhash")
|
||||
#:make-flags
|
||||
(list "CC=gcc")))
|
||||
;; TODO: Add gmp and libzip and make the build system actually find them.
|
||||
(inputs
|
||||
`(("openssl" ,openssl)
|
||||
("zip" ,zip)
|
||||
("gmp" ,gmp)
|
||||
("capstone" ,capstone)))
|
||||
`(("capstone" ,capstone)
|
||||
("libuv" ,libuv)
|
||||
("openssl" ,openssl)
|
||||
("zip" ,zip)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
;; In the Libs: section of r_hash.pc.
|
||||
`(("xxhash" ,xxhash)))
|
||||
(home-page "https://radare.org/")
|
||||
(synopsis "Reverse engineering framework")
|
||||
(description
|
||||
|
@ -2047,17 +2048,18 @@ simulator backends @code{Qucsator}, @code{ngspice} and @code{Xyce}.")
|
|||
(define-public librepcb
|
||||
(package
|
||||
(name "librepcb")
|
||||
(version "0.1.3")
|
||||
(version "0.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.librepcb.org/releases/"
|
||||
version "/librepcb-" version "-source.zip"))
|
||||
(sha256
|
||||
(base32 "1ich849dsx2hmcwlwbry4mkg374n940l3hy6srh4qms2rm7vd7x0"))))
|
||||
(base32 "1b5dkanz3q0y5ag80w0l85hn7axrachb5m9zvyv4zvzrfy09wa88"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)
|
||||
("qtsvg" ,qtsvg)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("qttools" ,qttools) ; for lrelease
|
||||
|
@ -2174,7 +2176,7 @@ simulation.")
|
|||
(define-public cutter
|
||||
(package
|
||||
(name "cutter")
|
||||
(version "1.10.1")
|
||||
(version "1.10.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2183,8 +2185,7 @@ simulation.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gvsrcskcdd1hxrjpkpc657anmfs25f174vxk4wzvn385rnmrxd3"))))
|
||||
(base32 "0qj8jyij02nif4jpirl09ygwnv8a9zi3vkb5sf5s8mg7qwlpnvyk"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -2193,8 +2194,8 @@ simulation.")
|
|||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(radare2 (assoc-ref inputs "radare2")))
|
||||
;; fix pkg-config detection ./src/lib_radare2.pri:PREFIX=/usr/lib
|
||||
;; override `qmake PREFIX=`
|
||||
;; Fix pkg-config detection ./src/lib_radare2.pri:PREFIX=/usr/lib
|
||||
;; override `qmake PREFIX=`.
|
||||
(substitute* "./src/lib_radare2.pri"
|
||||
(("PREFIX") "R2PREFIX")
|
||||
(("R2PREFIX=/usr") (string-append "R2PREFIX=" radare2)))
|
||||
|
@ -2263,7 +2264,9 @@ specification can be downloaded at @url{http://3mf.io/specification/}.")
|
|||
".src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0nbgk5q5pgnw53la0kccdcpz2f4xf6d6076rkn0q08z57hkc85ha"))))
|
||||
"0nbgk5q5pgnw53la0kccdcpz2f4xf6d6076rkn0q08z57hkc85ha"))
|
||||
(patches (search-patches
|
||||
"openscad-parser-boost-1.72.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
|
@ -2617,3 +2620,60 @@ accessible through a simple API")
|
|||
model files. Its main goal is to simplify the creation of 3DS import and
|
||||
export filters.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public meshlab
|
||||
(package
|
||||
(name "meshlab")
|
||||
(version "2020.05")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cnr-isti-vclab/meshlab")
|
||||
(commit (string-append "Meshlab-" version))
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "00sim20ka9vjwljixdj4cqd285j21mpaq05ari7nqq2w8yyglp5m"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)
|
||||
("qtscript" ,qtscript)
|
||||
("qtxmlpatterns" ,qtxmlpatterns)
|
||||
("mesa" ,mesa)
|
||||
("glu" ,glu)
|
||||
("glew" ,glew)
|
||||
("muparser" ,muparser)
|
||||
("gmp" ,gmp)
|
||||
("eigen" ,eigen)
|
||||
("libfreenect" ,libfreenect)
|
||||
("lib3ds" ,lib3ds)
|
||||
("openctm" ,openctm)
|
||||
;; FIXME: Compilation fails with system qhull:
|
||||
;; https://github.com/cnr-isti-vclab/meshlab/issues/678
|
||||
;; ("qhull" ,qhull)
|
||||
))
|
||||
(arguments
|
||||
`(#:tests? #f ; Has no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'go-to-source-dir
|
||||
(lambda _ (chdir "src") #t))
|
||||
(add-after 'install 'move-files
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((lib (string-append (assoc-ref outputs "out")
|
||||
"/lib")))
|
||||
(rename-file
|
||||
(string-append lib "/meshlab/libmeshlab-common.so")
|
||||
(string-append lib "/libmeshlab-common.so"))
|
||||
#t))))))
|
||||
(synopsis "3D triangular mesh processing and editing software")
|
||||
(home-page "https://www.meshlab.net/")
|
||||
(description "MeshLab is a system for the processing and
|
||||
editing of unstructured large 3D triangular meshes. It is aimed to help the
|
||||
processing of the typical not-so-small unstructured models arising in 3D
|
||||
scanning, providing a set of tools for editing, cleaning, healing, inspecting,
|
||||
rendering and converting this kind of meshes. These tools include MeshLab
|
||||
proper, a versatile program with a graphical user interface, and meshlabserver,
|
||||
a program that can perform mesh processing tasks in batch mode, without a
|
||||
GUI.")
|
||||
(license license:gpl3+)))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
|
||||
;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de>
|
||||
|
@ -33,6 +33,7 @@
|
|||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages avahi)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bittorrent)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages code)
|
||||
#:use-module (gnu packages compression)
|
||||
|
@ -69,7 +70,7 @@
|
|||
(define-public efl
|
||||
(package
|
||||
(name "efl")
|
||||
(version "1.23.3")
|
||||
(version "1.24.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -77,7 +78,7 @@
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"00b9lp3h65254kdb1ys15fv7p3ln7qsvf15jkw4kli5ymagadkjk"))))
|
||||
"0w3srvigg4kfi7xq76c7y4hnq5yr2gxrrsvlyj1g2wc1igz1vyg1"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
`(("check" ,check)
|
||||
|
@ -93,6 +94,7 @@
|
|||
("libraw" ,libraw)
|
||||
("librsvg" ,librsvg)
|
||||
("libspectre" ,libspectre)
|
||||
("libtiff" ,libtiff)
|
||||
("libxau" ,libxau)
|
||||
("libxcomposite" ,libxcomposite)
|
||||
("libxcursor" ,libxcursor)
|
||||
|
@ -102,18 +104,19 @@
|
|||
("libxi" ,libxi)
|
||||
("libxfixes" ,libxfixes)
|
||||
("libxinerama" ,libxinerama)
|
||||
("libxp" ,libxp)
|
||||
("libxrandr" ,libxrandr)
|
||||
("libxrender" ,libxrender)
|
||||
("libxss" ,libxscrnsaver)
|
||||
("libxtst" ,libxtst)
|
||||
("libwebp" ,libwebp)
|
||||
("openjpeg" ,openjpeg)
|
||||
("poppler" ,poppler)
|
||||
("util-linux" ,util-linux "lib")
|
||||
("wayland-protocols" ,wayland-protocols)))
|
||||
(propagated-inputs
|
||||
;; All these inputs are in package config files in section
|
||||
;; Requires.private.
|
||||
`(("avahi" ,avahi)
|
||||
("bullet" ,bullet)
|
||||
("dbus" ,dbus)
|
||||
("elogind" ,elogind)
|
||||
("eudev" ,eudev)
|
||||
|
@ -122,30 +125,32 @@
|
|||
("fribidi" ,fribidi)
|
||||
("glib" ,glib)
|
||||
("harfbuzz" ,harfbuzz)
|
||||
("luajit" ,luajit)
|
||||
("libinput" ,libinput-minimal)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("libpng" ,libpng)
|
||||
("libsndfile" ,libsndfile)
|
||||
("libtiff" ,libtiff)
|
||||
("libwebp" ,libwebp)
|
||||
("libpng" ,libpng)
|
||||
("libx11" ,libx11)
|
||||
("libxkbcommon" ,libxkbcommon)
|
||||
("luajit" ,luajit)
|
||||
("lz4" ,lz4)
|
||||
("openssl" ,openssl)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("util-linux" ,util-linux "lib")
|
||||
("wayland" ,wayland)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:configure-flags '("-Dsystemd=false"
|
||||
"-Delogind=true"
|
||||
"-Dembedded-lz4=false"
|
||||
"-Devas-loaders-disabler=json"
|
||||
"-Dbuild-examples=false"
|
||||
"-Decore-imf-loaders-disabler=scim"
|
||||
"-Davahi=true"
|
||||
"-Dglib=true"
|
||||
"-Dmount-path=/run/setuid-programs/mount"
|
||||
"-Dunmount-path=/run/setuid-programs/umount"
|
||||
;(string-append "-Ddictionaries-hyphen-dir="
|
||||
; (assoc-ref %build-inputs "hyphen")
|
||||
; "/share/hyphen")
|
||||
"-Delogind=true"
|
||||
"-Dnetwork-backend=connman"
|
||||
,@(match (%current-system)
|
||||
("armhf-linux"
|
||||
|
@ -153,22 +158,27 @@
|
|||
(_
|
||||
'("-Dopengl=full")))
|
||||
;; for wayland
|
||||
"-Dwl-deprecated=true" ; ecore_wayland
|
||||
"-Ddrm-deprecated=true" ; ecore_drm
|
||||
"-Dwl=true"
|
||||
"-Ddrm=true")
|
||||
#:tests? #f ; Many tests fail due to timeouts and network requests.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; If we don't hardcode the location of libcurl.so then we
|
||||
;; have to wrap the outputs of efl's dependencies in curl.
|
||||
(add-after 'unpack 'hardcode-libcurl-location
|
||||
;; If we don't hardcode the location of libcurl.so and others then we
|
||||
;; have to wrap the outputs of efl's dependencies in those libraries.
|
||||
(add-after 'unpack 'hardcode-dynamic-libraries
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((curl (assoc-ref inputs "curl"))
|
||||
(lib (string-append curl "/lib/")))
|
||||
(let ((curl (assoc-ref inputs "curl"))
|
||||
(pulse (assoc-ref inputs "pulseaudio"))
|
||||
(sndfile (assoc-ref inputs "libsndfile"))
|
||||
(lib "/lib/"))
|
||||
(substitute* "src/lib/ecore_con/ecore_con_url_curl.c"
|
||||
(("libcurl.so.?" libcurl) ; libcurl.so.[45]
|
||||
(string-append lib libcurl)))
|
||||
(string-append curl lib libcurl)))
|
||||
(substitute* "src/lib/ecore_audio/ecore_audio.c"
|
||||
(("libpulse.so.0" libpulse)
|
||||
(string-append pulse lib libpulse))
|
||||
(("libsndfile.so.1" libsnd)
|
||||
(string-append sndfile lib libsnd)))
|
||||
#t)))
|
||||
(add-after 'unpack 'fix-install-paths
|
||||
(lambda _
|
||||
|
@ -283,7 +293,7 @@ Libraries with some extra bells and whistles.")
|
|||
(define-public enlightenment
|
||||
(package
|
||||
(name "enlightenment")
|
||||
(version "0.23.1")
|
||||
(version "0.24.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -291,19 +301,20 @@ Libraries with some extra bells and whistles.")
|
|||
"enlightenment/enlightenment-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0d1cyl07w9pvi2pf029kablazks2q9aislzl46b6fq5m1465jc75"))
|
||||
"02aadl5fqvpmpjnisrc4aw7ffwyp1109y4k1wvmp33ciihbvdqmf"))
|
||||
(patches (search-patches "enlightenment-fix-setuid-path.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-Dsystemd=false")
|
||||
`(#:configure-flags
|
||||
(let ((efl (assoc-ref %build-inputs "efl")))
|
||||
(list "-Dsystemd=false"
|
||||
"-Dpackagekit=false"
|
||||
(string-append "-Dedje-cc=" efl "/bin/edje_cc")
|
||||
(string-append "-Deldbus-codegen=" efl "/bin/eldbus-codegen")
|
||||
(string-append "-Deet=" efl "/bin/eet")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'bootstrap) ; We don't want to run the autogen script.
|
||||
(add-after 'unpack 'fix-dot-desktop-creation
|
||||
(lambda _
|
||||
(substitute* "data/session/meson.build"
|
||||
(("HAVE_WAYLAND'.*") "HAVE_WAYLAND') == true\n"))
|
||||
#t))
|
||||
(add-before 'configure 'set-system-actions
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "HOME" "/tmp")
|
||||
|
@ -311,7 +322,6 @@ Libraries with some extra bells and whistles.")
|
|||
(setxkbmap (assoc-ref inputs "setxkbmap"))
|
||||
(utils (assoc-ref inputs "util-linux"))
|
||||
(libc (assoc-ref inputs "libc"))
|
||||
(bluez (assoc-ref inputs "bluez"))
|
||||
(bc (assoc-ref inputs "bc"))
|
||||
(efl (assoc-ref inputs "efl")))
|
||||
;; We need to patch the path to 'base.lst' to be able
|
||||
|
@ -328,23 +338,22 @@ Libraries with some extra bells and whistles.")
|
|||
"src/modules/conf_intl/e_int_config_intl.c"
|
||||
"src/modules/wizard/page_010.c")
|
||||
(("locale -a") (string-append libc "/bin/locale -a")))
|
||||
(substitute* "src/bin/e_import_config_dialog.c"
|
||||
(("%s/edje_cc -v %s %s %s\", e_prefix_bin_get\\(\\)")
|
||||
(string-append efl "/bin/edje_cc -v %s %s %s\"")))
|
||||
(substitute* "src/modules/everything/evry_plug_apps.c"
|
||||
(("/usr/bin/") ""))
|
||||
(substitute* '("src/bin/e_sys_main.c"
|
||||
"src/bin/e_util_suid.h")
|
||||
(("PATH=/bin:/usr/bin:/sbin:/usr/sbin")
|
||||
(string-append "PATH=/run/setuid-programs:"
|
||||
"/run/current-system/profile/bin:"
|
||||
"/run/current-system/profile/sbin")))
|
||||
(substitute* "src/modules/everything/evry_plug_calc.c"
|
||||
(("bc -l") (string-append bc "/bin/bc -l")))
|
||||
(substitute* "data/etc/meson.build"
|
||||
(("/bin/mount") "/run/setuid-programs/mount")
|
||||
(("/bin/umount") "/run/setuid-programs/umount")
|
||||
(("/usr/bin/eject") (string-append utils "/bin/eject"))
|
||||
(("/usr/bin/l2ping") (string-append bluez "/bin/l2ling"))
|
||||
(("/bin/rfkill") (string-append utils "/sbin/rfkill"))
|
||||
(("SUSPEND = ''") "SUSPEND = '/run/current-system/profile/bin/loginctl suspend'")
|
||||
(("HIBERNATE = ''") "HIBERNATE = '/run/current-system/profile/bin/loginctl hibernate'")
|
||||
(("/sbin/shutdown -h now") "/run/current-system/profile/bin/loginctl poweroff now")
|
||||
(("/sbin/shutdown -r now") "/run/current-system/profile/bin/loginctl reboot now"))
|
||||
(("/usr/bin/eject") (string-append utils "/bin/eject")))
|
||||
(substitute* "src/bin/system/e_system_power.c"
|
||||
(("systemctl") "loginctl"))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
|
@ -389,7 +398,7 @@ embedded systems.")
|
|||
(define-public python-efl
|
||||
(package
|
||||
(name "python-efl")
|
||||
(version "1.23.0")
|
||||
(version "1.24.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -397,7 +406,7 @@ embedded systems.")
|
|||
"python/python-efl-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16yn6a1b9167nfmryyi44ma40m20ansfpwgrvqzfvwix7qaz9pib"))
|
||||
"1vk1cdd959gia4a9qzyq56a9zw3lqf9ck66k8c9g3c631mp5cfpy"))
|
||||
(modules '((guix build utils)))
|
||||
;; Remove files generated by Cython
|
||||
(snippet
|
||||
|
@ -590,3 +599,42 @@ directories.
|
|||
"This is a process monitor and system monitor using the
|
||||
@dfn{Enlightenment Foundation Libraries} (EFL).")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public epour
|
||||
(package
|
||||
(name "epour")
|
||||
(version "0.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.enlightenment.org/rel/apps/epour"
|
||||
"/epour-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0g9f9p01hsq6dcf4cs1pwq95g6fpkyjgwqlvdjk1km1i5gj5ygqw"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no test target
|
||||
#:use-setuptools? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'find-theme-dir
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "epour/gui/__init__.py"
|
||||
(("join\\(data_path")
|
||||
(string-append "join(\"" out "/share/epour\"")))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)
|
||||
("python-distutils-extra" ,python-distutils-extra)))
|
||||
(inputs
|
||||
`(("libtorrent-rasterbar" ,libtorrent-rasterbar)
|
||||
("python-dbus" ,python-dbus)
|
||||
("python-efl" ,python-efl)
|
||||
("python-pyxdg" ,python-pyxdg)))
|
||||
(home-page "https://www.enlightenment.org")
|
||||
(synopsis "EFL Bittorrent client")
|
||||
(description "Epour is a BitTorrent client based on the @dfn{Enlightenment
|
||||
Foundation Libraries} (EFL) and rb-libtorrent.")
|
||||
(license license:gpl3+)))
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system linux-module)
|
||||
#:use-module (guix build-system trivial)
|
||||
|
@ -53,7 +54,9 @@
|
|||
#:use-module (gnu packages photo)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages rsync)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages valgrind)
|
||||
|
@ -100,7 +103,7 @@ file permissions, timestamps, symbolic and hard links, and extended attributes.
|
|||
|
||||
Each file in the archive is protected by a checksum. If part of the archive
|
||||
is corrupted you'll lose the affected file(s) but not the whole back-up.")
|
||||
(home-page "http://www.fsarchiver.org/")
|
||||
(home-page "https://www.fsarchiver.org/")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public gphotofs
|
||||
|
@ -187,6 +190,38 @@ caching system, and lets you assign different roles to each device based on its
|
|||
performance and other characteristics.")
|
||||
(license license:gpl2+))))
|
||||
|
||||
(define-public exfatprogs
|
||||
(package
|
||||
(name "exfatprogs")
|
||||
(version "1.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/exfatprogs/exfatprogs")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1s47qvhr702z5c19wfqz8cwl9ammmincs7a8vjc6p974wnnjg77y"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "--disable-static")))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/exfatprogs/exfatprogs")
|
||||
(synopsis "Tools to create, check, and repair exFAT file systems")
|
||||
(description
|
||||
"These are command-line user space tools for the @acronym{exFAT,
|
||||
Extensible File Allocation Table} file systems. Included are
|
||||
@command{mkfs.exfat} to create (format) new exFAT file systems, and
|
||||
@command{fsck.exfat} to check their consistency and repair them.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public httpfs2
|
||||
(package
|
||||
(name "httpfs2")
|
||||
|
@ -323,7 +358,7 @@ from the jfsutils package. It is meant to be used in initrds.")
|
|||
(define-public disorderfs
|
||||
(package
|
||||
(name "disorderfs")
|
||||
(version "0.5.9")
|
||||
(version "0.5.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -333,7 +368,7 @@ from the jfsutils package. It is meant to be used in initrds.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0irgr9hkm9icx1s44m9382484yx8hddzjxbsz621ip9c946pif0g"))))
|
||||
"0lsisx5118k0qk0b5klbxl03rvhycnznyfx05yxmjawh85bfhmlh"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
@ -491,8 +526,9 @@ network. LIBNFS offers three different APIs, for different use :
|
|||
))))
|
||||
|
||||
(define-public apfs-fuse
|
||||
(let ((commit "c7036a3030d128bcecefc1eabc47c039ccfdcec9")
|
||||
(revision "0"))
|
||||
;; Later versions require FUSE 3.
|
||||
(let ((commit "7b89418e8dc27103d3c4f8fa348086ffcd634c17")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "apfs-fuse")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
|
@ -504,11 +540,13 @@ network. LIBNFS offers three different APIs, for different use :
|
|||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1akd4cx1f9cyq6sfk9ybv4chhjwjlnqi8ic4z5ajnd5x0g76nz3r"))
|
||||
"0x2siy3cmnm9wsdfazg3xc8r3kbg73gijmnn1vjw33pp71ckylxr"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No test suite
|
||||
#:configure-flags
|
||||
'("-DUSE_FUSE3=OFF") ; FUSE 3 is not packaged yet.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; No 'install' target in CMakeLists.txt
|
||||
|
@ -523,6 +561,7 @@ network. LIBNFS offers three different APIs, for different use :
|
|||
(install-file "apfs-dump-quick" bin)
|
||||
(install-file "apfs-fuse" bin)
|
||||
(install-file "libapfs.a" lib)
|
||||
(install-file "../source/README.md" doc)
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("bzip2" ,bzip2)
|
||||
|
@ -646,3 +685,100 @@ APFS.")
|
|||
originally developed for Solaris and is now maintained by the OpenZFS
|
||||
community.")
|
||||
(license license:cddl1.0)))
|
||||
|
||||
(define-public mergerfs
|
||||
(package
|
||||
(name "mergerfs")
|
||||
(version "2.29.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/trapexit/mergerfs/releases/download/"
|
||||
version "/mergerfs-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17gizw4vgbqqjd2ykkfpp276942jb5qclp0lkiwkmq1yjgyjqfmk"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No tests exist.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'fix-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(setenv "CC" "gcc")
|
||||
;; These were copied from the package libfuse.
|
||||
(substitute* '("libfuse/lib/mount_util.c" "libfuse/util/mount_util.c")
|
||||
(("/bin/(u?)mount" _ maybe-u)
|
||||
(string-append (assoc-ref inputs "util-linux")
|
||||
"/bin/" maybe-u "mount")))
|
||||
(substitute* '("libfuse/util/mount.mergerfs.c")
|
||||
(("/bin/sh")
|
||||
(which "sh")))
|
||||
;; The Makefile does not allow overriding PREFIX via make variables.
|
||||
(substitute* '("Makefile" "libfuse/Makefile")
|
||||
(("= /usr/local") (string-append "= " (assoc-ref outputs "out")))
|
||||
;; cannot chown as build user
|
||||
(("chown root:root") "true"))
|
||||
#t)))))
|
||||
;; mergerfs bundles a heavily modified copy of libfuse.
|
||||
(inputs `(("util-linux" ,util-linux)))
|
||||
(home-page "https://github.com/trapexit/mergerfs")
|
||||
(synopsis "Featureful union filesystem")
|
||||
(description "mergerfs is a union filesystem geared towards simplifying
|
||||
storage and management of files across numerous commodity storage devices. It
|
||||
is similar to mhddfs, unionfs, and aufs.")
|
||||
(license (list
|
||||
license:isc ; mergerfs
|
||||
license:gpl2 license:lgpl2.0 ; Imported libfuse code.
|
||||
))))
|
||||
|
||||
(define-public mergerfs-tools
|
||||
(let ((commit "c926779d87458d103f3b674603bf97801ae2486d")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "mergerfs-tools")
|
||||
;; No released version exists.
|
||||
(version (git-version "0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/trapexit/mergerfs-tools.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"04hhwcib0xv4cf1mkj8zrp2aqpxkncml9iqg4m1mz6a5zhzsk0vm"))))
|
||||
(build-system copy-build-system)
|
||||
(inputs
|
||||
`(("python" ,python)
|
||||
("python-xattr" ,python-xattr)
|
||||
("rsync" ,rsync)))
|
||||
(arguments
|
||||
'(#:install-plan
|
||||
'(("src/" "bin/"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* (find-files "src" "^mergerfs\\.")
|
||||
(("'rsync'")
|
||||
(string-append "'" (assoc-ref inputs "rsync") "/bin/rsync'"))
|
||||
(("'rm'")
|
||||
(string-append "'" (assoc-ref inputs "coreutils") "/bin/rm'")))
|
||||
(substitute* "src/mergerfs.mktrash"
|
||||
(("xattr")
|
||||
(string-append (assoc-ref inputs "python-xattr") "/bin/xattr"))
|
||||
(("mkdir")
|
||||
(string-append (assoc-ref inputs "coreutils") "/bin/mkdir")))
|
||||
#t)))))
|
||||
(synopsis "Tools to help manage data in a mergerfs pool")
|
||||
(description "mergerfs-tools is a suite of programs that can audit
|
||||
permissions and ownership of files and directories on a mergerfs volume,
|
||||
duplicates files and directories across branches in its pool, find and remove
|
||||
duplicate files, balance pool drives, consolidate files in a single mergerfs
|
||||
directory onto a single drive and create FreeDesktop.org Trash specification
|
||||
compatible directories.")
|
||||
(home-page "https://github.com/trapexit/mergerfs-tools")
|
||||
(license license:isc))))
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
|
||||
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
|
||||
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
|
||||
;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
|
@ -19,6 +19,7 @@
|
|||
;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch>
|
||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -172,23 +173,22 @@ line client and a client based on Qt.")
|
|||
(define-public homebank
|
||||
(package
|
||||
(name "homebank")
|
||||
(version "5.2.8")
|
||||
(version "5.4.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://homebank.free.fr/public/homebank-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13ampiv68y30kc0p2560g3yz8whqpwnidfcnb9lndv93b9ca767y"))))
|
||||
"0bkjvd819kw9cwmr3macggbg8yil3yc8v2za8pjrl6g746s89kn6"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("intltool" ,intltool)))
|
||||
(inputs
|
||||
`(("gtk+" ,gtk+)
|
||||
("libofx" ,libofx)
|
||||
("libsoup" ,libsoup)))
|
||||
(arguments
|
||||
`(#:configure-flags (list "-without-ofx"))) ; libofx is not available yet
|
||||
(home-page "http://homebank.free.fr/")
|
||||
(synopsis "Graphical personal accounting application")
|
||||
(description "HomeBank allows you to manage your personal accounts at
|
||||
|
@ -475,7 +475,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
|
|||
(define-public electron-cash
|
||||
(package
|
||||
(name "electron-cash")
|
||||
(version "4.0.14")
|
||||
(version "4.0.15")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -484,7 +484,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dp7cj1185h6xfz6jzh0iq58zvg3wq9hl96bkgxkf5h4ygni2vm6"))))
|
||||
(base32 "0bvj64fdxpi0dbivhgv509kqq503zjp7r7xckl8q5c48j5h1zik2"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("libevent" ,libevent)
|
||||
|
@ -547,7 +547,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
|
|||
;; the system's dynamically linked library.
|
||||
(package
|
||||
(name "monero")
|
||||
(version "0.15.0.5")
|
||||
(version "0.16.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -568,7 +568,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
|
|||
#t))
|
||||
(sha256
|
||||
(base32
|
||||
"06zzwa0y8ic6x3y2fy501788r51p4klanyvmm76ywrwf087njlkv"))))
|
||||
"0x74h5z0nxxxip97ibc854pqmrgd8r4d6w62m424f66i8gbzfskh"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
|
@ -666,7 +666,7 @@ the Monero command line client and daemon.")
|
|||
(define-public monero-gui
|
||||
(package
|
||||
(name "monero-gui")
|
||||
(version "0.15.0.4")
|
||||
(version "0.16.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -676,14 +676,16 @@ the Monero command line client and daemon.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"12m5fgnxkr11q2arx1m5ccpxqm5ljcvm6l547dwqn297zs5jim4z"))))
|
||||
"06vdrsj5y9k0zn32hspyxc7sw1kkyrvi3chzkdbnxk9jvyj8k4ld"))))
|
||||
(build-system qt-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
`(("monero-source" ,(package-source monero))
|
||||
("pkg-config" ,pkg-config)
|
||||
("qttools" ,qttools)))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("hidapi" ,hidapi)
|
||||
("libgcrypt" ,libgcrypt)
|
||||
("libsodium" ,libsodium)
|
||||
("libunwind" ,libunwind)
|
||||
("libusb" ,libusb)
|
||||
|
@ -705,7 +707,16 @@ the Monero command line client and daemon.")
|
|||
`(#:tests? #f ; No tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-makefile-vars
|
||||
(add-after 'unpack 'get-monero-extra-files
|
||||
;; Some headers and GnuPG public keys of the monero package source
|
||||
;; code are required to build the GUI.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(invoke "tar" "-xv" "--wildcards" "--strip-components=1"
|
||||
"-C" "monero"
|
||||
"-f" (assoc-ref inputs "monero-source")
|
||||
"*.asc" "*.h")
|
||||
#t))
|
||||
(add-after 'get-monero-extra-files 'fix-makefile-vars
|
||||
(lambda _
|
||||
(substitute* "src/zxcvbn-c/makefile"
|
||||
(("\\?=") "="))
|
||||
|
@ -1510,14 +1521,14 @@ like Flowee the Hub, which Fulcrum connects to over RPC.")
|
|||
(define-public flowee
|
||||
(package
|
||||
(name "flowee")
|
||||
(version "2020.03.3")
|
||||
(version "2020.04.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gitlab.com/FloweeTheHub/thehub/-/archive/"
|
||||
version "/thehub-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0ksyh7ll3v9p8f5y15vcb2vkrpzb4h0ricag9j90ad4b4rfsnpjw"))))
|
||||
(base32 "1vwvaxm3b71pfx8l4rrv06wqks6xdf2333w856b36s1bzvj53rhc"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-Dbuild_tests=ON" "-Denable_gui=OFF")
|
||||
|
@ -1535,6 +1546,8 @@ like Flowee the Hub, which Fulcrum connects to over RPC.")
|
|||
(lambda _
|
||||
(substitute* "testing/CMakeLists.txt"
|
||||
(("test_api") ""))
|
||||
(substitute* "testing/CMakeLists.txt"
|
||||
(("add_subdirectory\\(api\\)") ""))
|
||||
#t))
|
||||
(add-after 'configure 'set-build-info
|
||||
;; Their genbuild.sh to generate a build.h fails in guix (no .git dir) .
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
|
||||
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
|
||||
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -196,7 +197,7 @@ itself."))))
|
|||
(define-public font-cantarell
|
||||
(package
|
||||
(name "font-abattis-cantarell")
|
||||
(version "0.111")
|
||||
(version "0.201")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/cantarell-fonts/"
|
||||
|
@ -204,11 +205,10 @@ itself."))))
|
|||
"/cantarell-fonts-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05hpnhihwm9sxlq1qn993g03pwkmpjbn0dvnba71r1gfjv0jp2w5"))))
|
||||
"0qwqmkczqy09fdj8l11nr841ks0dwsydqg55qyms12m4yvjn87xn"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
`(("appstream-glib" ,appstream-glib)
|
||||
("gettext" ,gettext-minimal))) ;for msgfmt
|
||||
`(("gettext" ,gettext-minimal))) ; for msgfmt
|
||||
(home-page "https://wiki.gnome.org/Projects/CantarellFonts")
|
||||
(synopsis "Cantarell sans-serif typeface")
|
||||
(description "The Cantarell font family is a contemporary Humanist
|
||||
|
@ -310,14 +310,14 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over
|
|||
(define-public font-liberation
|
||||
(package
|
||||
(name "font-liberation")
|
||||
(version "2.00.5")
|
||||
(version "2.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/liberationfonts/liberation-fonts/"
|
||||
"files/2926169/liberation-fonts-ttf-" version ".tar.gz"))
|
||||
"files/4743886/liberation-fonts-ttf-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0kdjsbf0y716k1kv0i0ixdpvg7b9b8xkcsg6favaxdc7pshg0kzi"))))
|
||||
(base32 "1jkg8j8jx7ffj13z5ilw7dids99dyypljm1pv06ycmghw1pw3qlf"))))
|
||||
(build-system font-build-system)
|
||||
(home-page "https://github.com/liberationfonts")
|
||||
(synopsis "Fonts compatible with Arial, Times New Roman, and Courier New")
|
||||
|
@ -678,7 +678,7 @@ for use at smaller text sizes")))
|
|||
(define-public font-gnu-unifont
|
||||
(package
|
||||
(name "font-gnu-unifont")
|
||||
(version "13.0.01")
|
||||
(version "13.0.02")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -688,7 +688,7 @@ for use at smaller text sizes")))
|
|||
(string-append "mirror://gnu/unifont/unifont-"
|
||||
version "/unifont-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32 "1svzm3xahb2m8r79ha9gb1z3zlckykx9d87cghswj7dxn9868j4b"))))
|
||||
(base32 "1fg908qadh14kfbpzqfj3vgzlxgx68sdlwhl2prz7arq5r45dami"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" ; TrueType version
|
||||
"pcf" ; PCF (bitmap) version
|
||||
|
@ -1068,7 +1068,7 @@ vector graphics.")
|
|||
(define-public font-tamzen
|
||||
(package
|
||||
(name "font-tamzen")
|
||||
(version "1.11.4")
|
||||
(version "1.11.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1077,8 +1077,7 @@ vector graphics.")
|
|||
(commit (string-append "Tamzen-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"17kgmvg6q32mqhx9g44hjvzv0si0mnpprga4z7na930g2zdd8846"))))
|
||||
(base32 "00x5fipzqimglvshhqwycdhaqslbvn3rl06jnswhyxfvz16ymj7s"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
|
@ -1122,16 +1121,14 @@ later hand-tweaked with the gbdfed(1) editor:
|
|||
(define-public font-comic-neue
|
||||
(package
|
||||
(name "font-comic-neue")
|
||||
;; The ‘v2.3’ and ‘v2.4’ releases at https://github.com/crozynski/comicneue
|
||||
;; are equivalent. The home page hosts 2.3, not 2.4, so we use that here.
|
||||
(version "2.3")
|
||||
(version "2.5")
|
||||
(source (origin
|
||||
(method url-fetch/zipbomb)
|
||||
(uri (string-append
|
||||
"http://www.comicneue.com/comic-neue-" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"1695hkpd8kqnr2a88p8xs496slgzxjjkzpa9aa33ml3pnh7519zk"))))
|
||||
"1ng0m0zs7qr91qy5ff0l01l27npr76961c6zfkxnhxf68zpwz5k4"))))
|
||||
(build-system font-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -1250,6 +1247,34 @@ programming. Iosevka is completely generated from its source code.")
|
|||
(for-each make-file-writable (find-files "." ".*"))
|
||||
#t)))))))
|
||||
|
||||
(define-public font-sarasa-gothic
|
||||
(package
|
||||
(name "font-sarasa-gothic")
|
||||
(version "0.12.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/be5invis/Sarasa-Gothic"
|
||||
"/releases/download/v" version
|
||||
"/sarasa-gothic-ttc-" version ".7z"))
|
||||
(sha256
|
||||
(base32 "1g6k9d5lajchbhsh3g12fk5cgilyy6yw09fals9vc1f9wsqvac86"))))
|
||||
(build-system font-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(mkdir "source")
|
||||
(chdir "source")
|
||||
(invoke "7z" "x" source))))))
|
||||
(native-inputs `(("p7zip" ,p7zip)))
|
||||
(home-page "https://github.com/be5invis/Sarasa-Gothic")
|
||||
(license license:silofl1.1)
|
||||
(synopsis "Sarasa Gothic / 更纱黑体 / 更紗黑體 / 更紗ゴシック / 사라사 고딕")
|
||||
(description
|
||||
"Sarasa Gothic is a programming font based on Iosevka and Source Han Sans,
|
||||
most CJK characters are same height, and double width as ASCII characters.")))
|
||||
|
||||
(define-public font-go
|
||||
(let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")
|
||||
(revision "1"))
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
|
@ -292,6 +293,12 @@ fonts to/from the WOFF2 format.")
|
|||
(define-public fontconfig
|
||||
(package
|
||||
(name "fontconfig")
|
||||
|
||||
;; This replacement is not security-related, but works around the fact
|
||||
;; that gs-fonts are not recognized by newer versions of Pango, causing
|
||||
;; many applications to fail to find fonts otherwise.
|
||||
(replacement fontconfig/font-dejavu)
|
||||
|
||||
(version "2.13.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -348,6 +355,13 @@ high quality, anti-aliased and subpixel rendered text on a display.")
|
|||
"See COPYING in the distribution."))
|
||||
(home-page "https://www.freedesktop.org/wiki/Software/fontconfig")))
|
||||
|
||||
(define fontconfig/font-dejavu
|
||||
(package
|
||||
(inherit fontconfig)
|
||||
(inputs
|
||||
;; XXX: Reuse the name to avoid having to override the configure flags.
|
||||
`(("gs-fonts" ,font-dejavu)))))
|
||||
|
||||
(define-public t1lib
|
||||
(package
|
||||
(name "t1lib")
|
||||
|
|
|
@ -340,7 +340,7 @@ FOSS FPGA place and route tool.")
|
|||
(define-public gtkwave
|
||||
(package
|
||||
(name "gtkwave")
|
||||
(version "3.3.103")
|
||||
(version "3.3.104")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -350,7 +350,7 @@ FOSS FPGA place and route tool.")
|
|||
(string-append "http://gtkwave.sourceforge.net/"
|
||||
"gtkwave-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32 "1xzaxqbabj4sb4n10yki5acglx3736pwl3kwlq4k7i96rzvsn9f3"))))
|
||||
(base32 "0kw9a33gx60kn069yhx5pyk39x1z3pwaj8l1qqwq943v62lx23fj"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("gperf" ,gperf)
|
||||
|
|
|
@ -185,14 +185,14 @@ freedesktop.org project.")
|
|||
;; Updating this will rebuild over 700 packages through libinput-minimal.
|
||||
(package
|
||||
(name "libinput")
|
||||
(version "1.15.2")
|
||||
(version "1.15.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://freedesktop.org/software/libinput/"
|
||||
"libinput-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ivpb4sghl80cs7jg3xrs53kckif6wy81cny3a8mry94nszky74p"))))
|
||||
"15ww4jl3lcxyi8m8idg8canklbqv729gnwpkz7r98c1w8a7zq3m9"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-Ddocumentation=false")
|
||||
|
@ -1084,7 +1084,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.")
|
|||
(define-public libqmi
|
||||
(package
|
||||
(name "libqmi")
|
||||
(version "1.24.4")
|
||||
(version "1.24.14")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1092,7 +1092,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.")
|
|||
"libqmi-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12licfsszr6qxpg9b2b04qm2glk8d42fcy32zr8jzwrgr7gbl5h3"))))
|
||||
"0zshxqbm9ldybgrzh7pjmwmfjvvvfd0xh8qhgl8xiqdb9ply73r0"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libgudev" ,libgudev)))
|
||||
|
@ -1115,7 +1115,7 @@ which speak the Qualcomm MSM Interface (QMI) protocol.")
|
|||
(define-public modem-manager
|
||||
(package
|
||||
(name "modem-manager")
|
||||
(version "1.10.8")
|
||||
(version "1.12.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1123,15 +1123,11 @@ which speak the Qualcomm MSM Interface (QMI) protocol.")
|
|||
"ModemManager-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16hnl0sdriqgv4v30mfs64mdl9rw7lsh802zlm3ggwxxil3p9qfb"))))
|
||||
"1apq9camys2gaw6y6ic1ld20cncfwpmxnzvh4j5zkbbjpf5hbcxj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
`(,(string-append "--with-udev-base-dir=" %output "/lib/udev")
|
||||
;; FIXME: Without this flag the build fails with "error: assignment
|
||||
;; from incompatible pointer type" whenever the return value of
|
||||
;; "g_object_ref" is assigned to "ctx->self".
|
||||
"--disable-more-warnings")))
|
||||
`(,(string-append "--with-udev-base-dir=" %output "/lib/udev"))))
|
||||
(native-inputs
|
||||
`(("glib:bin" ,glib "bin") ; for glib-mkenums
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -28,15 +28,17 @@
|
|||
(define-public freeipmi
|
||||
(package
|
||||
(name "freeipmi")
|
||||
(version "1.6.4")
|
||||
(version "1.6.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/freeipmi/freeipmi-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0g0s4iwx0ng4rv7hp5cc3kkx4drahsc89981gwjblf04lfavppv5"))))
|
||||
"1ncf1s84752xaq07h36wrxa5ww1167s2bizkww0igxv8djyddwk1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--disable-static")))
|
||||
(inputs
|
||||
`(("libgcrypt" ,libgcrypt)))
|
||||
(home-page "https://www.gnu.org/software/freeipmi/")
|
||||
|
|
|
@ -191,14 +191,14 @@ DeuTex has functions such as merging wads, etc.")
|
|||
(package
|
||||
(name "grfcodec")
|
||||
(version "6.0.6")
|
||||
(source (origin
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://binaries.openttd.org/extra/"
|
||||
(uri (string-append "https://binaries.openttd.org/extra/"
|
||||
name "/" version "/" name "-" version
|
||||
"-source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08admgnpqcsifpicbm56apgv360fxapqpbbsp10qyk8i22w1ivsk"))))
|
||||
(base32 "08admgnpqcsifpicbm56apgv360fxapqpbbsp10qyk8i22w1ivsk"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ;no check target
|
||||
|
@ -240,7 +240,7 @@ with a specific task:
|
|||
@item @code{nforenum} checks NFO code for errors, making corrections when
|
||||
necessary.
|
||||
@end enumerate")
|
||||
(home-page "http://dev.openttdcoop.org/projects/grfcodec")
|
||||
(home-page "https://dev.openttdcoop.org/projects/grfcodec")
|
||||
;; GRFCodec, GRFID, and GRFStrip are exclusively under the GPL2.
|
||||
;; NFORenum is under the GPL2+.
|
||||
;; The MD5 implementation contained in GRFID is under the zlib license.
|
||||
|
@ -256,15 +256,14 @@ necessary.
|
|||
(uri (string-append "https://binaries.openttd.org/extra/catcodec/"
|
||||
version "/catcodec-" version "-source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qg0c2i4p29sxj0q6qp2jynlrzm5pphz2xhcjqlxa69ycrnlxzs7"))))
|
||||
(base32 "1qg0c2i4p29sxj0q6qp2jynlrzm5pphz2xhcjqlxa69ycrnlxzs7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
#:make-flags (list (string-append "prefix=" %output))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(home-page "http://dev.openttdcoop.org/projects/catcodec")
|
||||
(home-page "https://dev.openttdcoop.org/projects/catcodec")
|
||||
(synopsis "Encode/decode OpenTTD sounds")
|
||||
(description "catcodec encodes and decodes sounds for OpenTTD. These
|
||||
sounds are not much more than some metadata (description and filename) and raw
|
||||
|
@ -632,6 +631,7 @@ garbage collection and can be extended with plugins.")
|
|||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no check target
|
||||
#:configure-flags '("-DPHYSFS_BUILD_STATIC=OFF")
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-CMakeLists.txt
|
||||
(lambda _
|
||||
|
@ -681,7 +681,6 @@ archive on a per-file basis.")
|
|||
("mesa" ,mesa)
|
||||
("mpg123" ,mpg123)
|
||||
("openal" ,openal)
|
||||
("physfs" ,physfs)
|
||||
("sdl2" ,sdl2)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "2D game framework for Lua")
|
||||
|
@ -1157,7 +1156,7 @@ developed mainly for Ren'py.")
|
|||
(native-inputs
|
||||
`(("python2-cython" ,python2-cython)
|
||||
("xdg-utils" ,xdg-utils)))
|
||||
(home-page "http://www.renpy.org/")
|
||||
(home-page "https://www.renpy.org/")
|
||||
(synopsis "Ren'py python module")
|
||||
(description "This package contains the shared libraries and Python
|
||||
modules of Ren'py.")
|
||||
|
@ -1345,7 +1344,7 @@ if __name__ == \"__main__\":
|
|||
("xorg-server" ,xorg-server)))
|
||||
(outputs
|
||||
(list "out" "tutorial" "the-question"))
|
||||
(home-page "http://www.renpy.org/")
|
||||
(home-page "https://www.renpy.org/")
|
||||
(synopsis "Visual Novel Engine")
|
||||
(description "Ren'Py is a visual novel engine that helps you use words,
|
||||
images, and sounds to tell interactive stories that run on computers and
|
||||
|
@ -1585,11 +1584,7 @@ games.")
|
|||
(build-system scons-build-system)
|
||||
(arguments
|
||||
`(#:scons ,scons-python2
|
||||
#:scons-flags (list "platform=x11"
|
||||
,@(if (string-prefix? "aarch64" (or (%current-target-system)
|
||||
(%current-system)))
|
||||
`("CCFLAGS=-DNO_THREADS")
|
||||
'())
|
||||
#:scons-flags (list "platform=x11" "target=release_debug"
|
||||
;; Avoid using many of the bundled libs.
|
||||
;; Note: These options can be found in the SConstruct file.
|
||||
"builtin_bullet=no"
|
||||
|
@ -1621,41 +1616,46 @@ games.")
|
|||
"env_base = Environment(tools=custom_tools)\n"
|
||||
"env_base = Environment(ENV=os.environ)")))
|
||||
#t))
|
||||
;; Build headless tools, used for packaging games without depending on X.
|
||||
(add-after 'build 'build-headless
|
||||
(lambda* (#:key scons-flags #:allow-other-keys)
|
||||
(apply invoke "scons"
|
||||
`(,(string-append "-j" (number->string (parallel-job-count)))
|
||||
"platform=server" ,@(delete "platform=x11" scons-flags)))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(headless (assoc-ref outputs "headless"))
|
||||
(zenity (assoc-ref inputs "zenity")))
|
||||
;; Strip build info from filenames.
|
||||
(with-directory-excursion "bin"
|
||||
(if (file-exists? "godot.x11.tools.64")
|
||||
(rename-file "godot.x11.tools.64" "godot")
|
||||
(rename-file "godot.x11.tools.32" "godot"))
|
||||
(install-file "godot" bin))
|
||||
;; Tell Godot where to find zenity for OS.alert().
|
||||
(wrap-program (string-append bin "/godot")
|
||||
`("PATH" ":" prefix
|
||||
(,(string-append (assoc-ref %build-inputs "zenity") "/bin"))))
|
||||
#t)))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(let ((dest (car (string-split (basename file) #\.))))
|
||||
(rename-file file dest)))
|
||||
(find-files "." "godot.*\\.x11\\.opt\\.tools.*"))
|
||||
(install-file "godot" (string-append out "/bin"))
|
||||
(install-file "godot_server" (string-append headless "/bin")))
|
||||
;; Tell the editor where to find zenity for OS.alert().
|
||||
(wrap-program (string-append out "/bin/godot")
|
||||
`("PATH" ":" prefix (,(string-append zenity "/bin")))))
|
||||
#t))
|
||||
(add-after 'install 'install-godot-desktop
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(desktop (string-append out "/share/applications"))
|
||||
(icon-dir (string-append out "/share/pixmaps")))
|
||||
(rename-file "icon.png" "godot.png")
|
||||
(install-file "godot.png" icon-dir)
|
||||
(mkdir-p desktop)
|
||||
(with-output-to-file
|
||||
(string-append desktop "/godot.desktop")
|
||||
(lambda _
|
||||
(format #t
|
||||
"[Desktop Entry]~@
|
||||
Name=godot~@
|
||||
Comment=The godot game engine~@
|
||||
Exec=~a/bin/godot~@
|
||||
TryExec=~@*~a/bin/godot~@
|
||||
Icon=godot~@
|
||||
Type=Application~%"
|
||||
out)))
|
||||
#t))))))
|
||||
(applications (string-append out "/share/applications"))
|
||||
(icons (string-append out "/share/icons/hicolor")))
|
||||
(mkdir-p applications)
|
||||
(copy-file "misc/dist/linux/org.godotengine.Godot.desktop"
|
||||
(string-append applications "/godot.desktop"))
|
||||
(for-each (lambda (icon dest)
|
||||
(mkdir-p (dirname dest))
|
||||
(copy-file icon dest))
|
||||
'("icon.png" "icon.svg")
|
||||
`(,(string-append icons "/256x256/apps/godot.png")
|
||||
,(string-append icons "/scalable/apps/godot.svg"))))
|
||||
#t)))))
|
||||
(outputs '("out" "headless"))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("alsa-lib" ,alsa-lib)
|
||||
("bullet" ,bullet)
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com>
|
||||
;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info>
|
||||
;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017, 2018, 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2019 nee <nee-git@hidamari.blue>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
|
@ -450,7 +450,7 @@ possible, while battling many vicious aliens.")
|
|||
(define-public cataclysm-dda
|
||||
(package
|
||||
(name "cataclysm-dda")
|
||||
(version "0.E")
|
||||
(version "0.E-2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -458,7 +458,7 @@ possible, while battling many vicious aliens.")
|
|||
(url "https://github.com/CleverRaven/Cataclysm-DDA.git")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "0pbi0fw37zimzdklfj58s1ql0wlqq7dy6idkcsib3hn910ajaxan"))
|
||||
(base32 "15l6w6lxays7qmsv0ci2ry53asb9an9dh7l7fc13256k085qcg68"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -626,8 +626,9 @@ tired of cows, a variety of other ASCII-art messengers are available.")
|
|||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;; no check target
|
||||
#:make-flags (list "CC=gcc")
|
||||
`(#:tests? #f ; no check target
|
||||
#:make-flags
|
||||
(list ,(string-append "CC=" (cc-for-target)))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'bootstrap)
|
||||
|
@ -978,7 +979,7 @@ automata. The following features are available:
|
|||
(define-public julius
|
||||
(package
|
||||
(name "julius")
|
||||
(version "1.4.0")
|
||||
(version "1.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -987,7 +988,7 @@ automata. The following features are available:
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "01rygr592ar530qv1flmaiq8icl0qdxgc8lhkcdyn1g09941z47v"))
|
||||
(base32 "12hhnhdwgz7hd3hlndbnk15pxggm1375qs0764ija4nl1gbpb110"))
|
||||
;; Remove unused bundled libraries.
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
@ -1157,15 +1158,15 @@ destroying an ancient book using a special wand.")
|
|||
(define-public gnome-chess
|
||||
(package
|
||||
(name "gnome-chess")
|
||||
(version "3.36.0")
|
||||
(version "3.36.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(uri (string-append "mirror://gnome/sources/gnome-chess/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
"gnome-chess-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1a9fgi749gy1f60vbcyrqqkab9vqs42hji70q73k1xx8rv0agmg0"))))
|
||||
"165bk8s3nngyqbikggspj4rff5nxxfkfcmgzjb4grmsrgbqwk5di"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
'(#:glib-or-gtk? #t
|
||||
|
@ -1314,15 +1315,14 @@ Chess). It is similar to standard chess but this variant is far more complicate
|
|||
(define-public ltris
|
||||
(package
|
||||
(name "ltris")
|
||||
(version "1.0.19")
|
||||
(version "1.0.20")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://prdownloads.sourceforge.net/lgames/"
|
||||
"ltris-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1895wv1fqklrj4apkz47rnkcfhfav7zjknskw6p0886j35vrwslg"))))
|
||||
(base32 "16zbqsc4amx9g3yjv6054nh4ia09dgfp8k6q4qxpjicl3dw3z0in"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(;; The code in LTris uses traditional GNU semantics for inline functions
|
||||
|
@ -1733,6 +1733,83 @@ can be explored and changed freely.")
|
|||
license:gpl3+
|
||||
license:silofl1.1))))
|
||||
|
||||
(define-public superstarfighter
|
||||
(package
|
||||
(name "superstarfighter")
|
||||
(version "0.6.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/notapixelstudio/superstarfighter.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1fly63yf5ls1xwm15if4lxwy67wi84k4gvjllljpykrl18vw2y0y"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;there are no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(chdir "godot")
|
||||
(setenv "HOME" (getcwd))
|
||||
(with-output-to-file "export_presets.cfg"
|
||||
(lambda ()
|
||||
(display
|
||||
"[preset.0]
|
||||
name=\"Guix\"
|
||||
platform=\"Linux/X11\"
|
||||
runnable=true
|
||||
[preset.0.options]")))
|
||||
#t))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(let ((godot (assoc-ref %build-inputs "godot-headless")))
|
||||
(invoke (string-append godot "/bin/godot_server")
|
||||
"--export-pack" "Guix"
|
||||
"superstarfighter.pck" "project.godot"))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(share (string-append out "/share"))
|
||||
(data (string-append share "/superstarfighter"))
|
||||
(icons (string-append share "/icons/hicolor/256x256/apps")))
|
||||
(install-file "superstarfighter.pck" data)
|
||||
(mkdir-p bin)
|
||||
(call-with-output-file (string-append bin "/superstarfighter")
|
||||
(lambda (port)
|
||||
(format port
|
||||
"#!/bin/sh~@
|
||||
exec ~a/bin/godot --main-pack ~a/superstarfighter.pck~%"
|
||||
(assoc-ref inputs "godot")
|
||||
data)
|
||||
(chmod port #o755)))
|
||||
(mkdir-p icons)
|
||||
(copy-file "icon.png" (string-append icons "/" ,name ".png"))
|
||||
(make-desktop-entry-file
|
||||
(string-append share "/applications/" ,name ".desktop")
|
||||
#:name "SuperStarfighter"
|
||||
#:comment "Fast-paced arcade combat game"
|
||||
#:exec ,name
|
||||
#:icon ,name
|
||||
#:categories '("Game" "ArcadeGame")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("godot-headless" ,godot "headless")))
|
||||
(inputs
|
||||
`(("godot" ,godot)))
|
||||
(home-page "https://notapixel.itch.io/superstarfighter")
|
||||
(synopsis "Fast-paced local multiplayer arcade game")
|
||||
(description "In SuperStarfighter, up to four local players compete in a
|
||||
2D arena with fast-moving ships and missiles. Different game types are
|
||||
available, as well as a single-player mode with AI-controlled ships.")
|
||||
(license (list license:expat ; game
|
||||
license:silofl1.1)))) ; fonts
|
||||
|
||||
(define-public xshogi
|
||||
(package
|
||||
(name "xshogi")
|
||||
|
@ -1814,16 +1891,15 @@ that beneath its ruins lay buried an ancient evil.")
|
|||
(define-public angband
|
||||
(package
|
||||
(name "angband")
|
||||
(version "4.2.0")
|
||||
(version "4.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://rephial.org/downloads/"
|
||||
(uri (string-append "https://rephial.org/downloads/"
|
||||
(version-major+minor version)
|
||||
"/angband-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vdm1ymm28wawp94nl1p5q3lhc0k7cnn2kkvvrkfx962gif4kqfk"))
|
||||
(base32 "03qdavkj2ik02mqjxmlm5bn17ba3yxb1rirp8ghnxy3bsk4kbmxc"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; So, some of the sounds/graphics/tilesets are under different
|
||||
|
@ -1856,7 +1932,7 @@ that beneath its ruins lay buried an ancient evil.")
|
|||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)))
|
||||
(inputs `(("ncurses" ,ncurses)))
|
||||
(home-page "http://rephial.org/")
|
||||
(home-page "https://rephial.org/")
|
||||
(synopsis "Dungeon exploration roguelike")
|
||||
(description "Angband is a Classic dungeon exploration roguelike. Explore
|
||||
the depths below Angband, seeking riches, fighting monsters, and preparing to
|
||||
|
@ -1976,7 +2052,7 @@ asynchronously and at a user-defined speed.")
|
|||
(define-public chess
|
||||
(package
|
||||
(name "chess")
|
||||
(version "6.2.6")
|
||||
(version "6.2.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1984,7 +2060,7 @@ asynchronously and at a user-defined speed.")
|
|||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0kxhdv01ia91v2y0cmzbll391ns2vbmn65jjrv37h4s1srszh5yn"))))
|
||||
"0ilq4bfl0lwyzf11q7n2skydjhalfn3bgxhrp5hjxs5bc5d6fdp5"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.gnu.org/software/chess/")
|
||||
(synopsis "Full chess implementation")
|
||||
|
@ -2894,7 +2970,7 @@ falling, themeable graphics and sounds, and replays.")
|
|||
(define-public wesnoth
|
||||
(package
|
||||
(name "wesnoth")
|
||||
(version "1.14.11")
|
||||
(version "1.14.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
|
||||
|
@ -2903,7 +2979,7 @@ falling, themeable graphics and sounds, and replays.")
|
|||
"wesnoth-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1i8mz6gw3qar09bscczhki0g4scj8pl58v85rp0g55r4bcq41l5v"))))
|
||||
"027bc1363hdgahw7dvd22fvvqd132byxnljfbq6lvlr5ci01q8mk"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ;no check target
|
||||
|
@ -3904,7 +3980,7 @@ tactics.")
|
|||
(define-public starfighter
|
||||
(package
|
||||
(name "starfighter")
|
||||
(version "2.0.0.3")
|
||||
(version "2.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -3913,7 +3989,7 @@ tactics.")
|
|||
(version-major+minor version) "-src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13vi5kh9ahws4f52421cbyw0jn7pmbnld358lqfmr6flql7ilj3b"))))
|
||||
"1ldd9cbvl694ps4sapr8213m3zjrci7gii5x3kjjfalkikmndpd2"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
@ -4742,24 +4818,27 @@ emerges from a sewer hole and pulls her below ground.")
|
|||
(define-public cdogs-sdl
|
||||
(package
|
||||
(name "cdogs-sdl")
|
||||
(version "0.6.9")
|
||||
(source (origin
|
||||
(version "0.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cxong/cdogs-sdl.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"13gyv2hzk43za1n3lsjnd5v64xlzfzq7n10scd1rcbsnk1n007zr"))))
|
||||
(base32 "0vx37zb2iw7sfw5a2bs97ydlmb301nvy485ybdm8g46c5hn9s13c"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "-DCDOGS_DATA_DIR="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/cdogs-sdl/"))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("mesa" ,mesa)
|
||||
`(("gtk+" ,gtk+)
|
||||
("mesa" ,mesa)
|
||||
("sdl2" ,sdl2)
|
||||
("sdl2-image" ,sdl2-image)
|
||||
("sdl2-mixer" ,sdl2-mixer)))
|
||||
|
@ -5730,6 +5809,14 @@ some graphical niceities, and numerous bug-fixes and other improvements.")
|
|||
(string-append "LDFLAGS=-Wl,-rpath=" vulkanlib)
|
||||
"-CQuake"))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-for-new-vulkan
|
||||
(lambda _
|
||||
;; Mimic upstream commit a869a22d9b51c68e for
|
||||
;; compatibility with newer vulkan-headers.
|
||||
(substitute* "Quake/gl_rmisc.c"
|
||||
(("VK_DYNAMIC_STATE_RANGE_SIZE")
|
||||
"3"))
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'fix-makefile-paths
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
|
@ -6299,7 +6386,7 @@ original.")
|
|||
(define-public fortune-mod
|
||||
(package
|
||||
(name "fortune-mod")
|
||||
(version "2.12.0")
|
||||
(version "2.28.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -6308,8 +6395,7 @@ original.")
|
|||
(commit (string-append "fortune-mod-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0laxgqsdg7kvpvvm1f54b94ga9r0cr9g3ffii8avg8fy65x6pzc9"))))
|
||||
(base32 "1ppzgnffgdcmq6fq4gmdq2ig10ip2bnfgklkb3i8nc6bdxm7pb89"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:test-target "check"
|
||||
|
@ -6587,7 +6673,7 @@ quotation from a collection of quotes.")
|
|||
("pkg-config" ,pkg-config)
|
||||
("libtool" ,libtool)
|
||||
("gmp" ,gmp)))
|
||||
(home-page "http://xonotic.org")
|
||||
(home-page "https://xonotic.org")
|
||||
(synopsis "Fast-paced first-person shooter game")
|
||||
(description
|
||||
"Xonotic is a free, fast-paced first-person shooter.
|
||||
|
@ -6759,7 +6845,7 @@ when packaged in Blorb container files or optionally from individual files.")
|
|||
(define-public libmanette
|
||||
(package
|
||||
(name "libmanette")
|
||||
(version "0.2.3")
|
||||
(version "0.2.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/libmanette/"
|
||||
|
@ -6767,7 +6853,7 @@ when packaged in Blorb container files or optionally from individual files.")
|
|||
"libmanette-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zxh7jn2zg7hivmal5zxam6fxvjsd1w6hlw0m2kysk76b8anbw60"))))
|
||||
"1xrc6rh73v5w3kbkflzv1yg8sbxk4wf06hfk95raxhxlssza9q2g"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
`(("glib" ,glib "bin") ; for glib-compile-resources
|
||||
|
@ -7282,7 +7368,7 @@ where the player draws runes in real time to effect the desired spell.")
|
|||
(define-public edgar
|
||||
(package
|
||||
(name "edgar")
|
||||
(version "1.32")
|
||||
(version "1.33")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -7290,7 +7376,7 @@ where the player draws runes in real time to effect the desired spell.")
|
|||
(string-append "https://github.com/riksweeney/edgar/releases/download/"
|
||||
version "/edgar-" version "-1.tar.gz"))
|
||||
(sha256
|
||||
(base32 "12lam6qcscc5ima1w2ksd1cvsvxbd17h6mqkgsqpzx8ap43p2r5p"))))
|
||||
(base32 "1mbx7dvizdca4g1blcv3bdh6yxd13k47rkya4rdzg0nvvz24m175"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:tests? #f ; there are no tests
|
||||
#:make-flags
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -93,7 +94,6 @@
|
|||
("ncurses" ,ncurses)
|
||||
("guile" ,guile-2.0)
|
||||
("python-wrapper" ,python-wrapper)
|
||||
("dejagnu" ,dejagnu)
|
||||
("source-highlight" ,source-highlight)
|
||||
|
||||
;; Allow use of XML-formatted syscall information. This enables 'catch
|
||||
|
@ -101,6 +101,7 @@
|
|||
("libxml2" ,libxml2)))
|
||||
(native-inputs
|
||||
`(("texinfo" ,texinfo)
|
||||
("dejagnu" ,dejagnu)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://www.gnu.org/software/gdb/")
|
||||
(synopsis "The GNU debugger")
|
||||
|
@ -130,3 +131,15 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
|
|||
;; This is the fixed version that packages depend on. Update it rarely
|
||||
;; enough to avoid massive rebuilds.
|
||||
gdb-9.1)
|
||||
|
||||
(define-public gdb-9.2
|
||||
(package
|
||||
(inherit gdb)
|
||||
(version "9.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gdb/gdb-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mf5fn8v937qwnal4ykn3ji1y2sxk0fa1yfqi679hxmpg6pdf31n"))))))
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Miguel <rosen644835@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -148,8 +148,14 @@ translated messages from the catalogs. Nearly all GNU packages use Gettext.")
|
|||
(define-public libtextstyle
|
||||
(package
|
||||
(name "libtextstyle")
|
||||
(version (package-version gettext-minimal))
|
||||
(source (package-source gettext-minimal))
|
||||
(version "0.20.2")
|
||||
(source (origin
|
||||
(inherit (package-source gnu-gettext))
|
||||
(uri (string-append "mirror://gnu/gettext/gettext-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wc9q3y8rsbd757v985vxqcyqsxs7cxk4x7rzsjmq7d4ij8d1fgc"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--disable-static")
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
(define-public babl
|
||||
(package
|
||||
(name "babl")
|
||||
(version "0.1.74")
|
||||
(version "0.1.78")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append "https://download.gimp.org/pub/babl/"
|
||||
|
@ -65,7 +65,7 @@
|
|||
"/babl-" version ".tar.xz")))
|
||||
(sha256
|
||||
(base32
|
||||
"03nfcvy3453xkfvsfcnsfcjf2vg2pin09qnr9jlssdysa1lhnwcs"))))
|
||||
"0fjjfb0pbgimlqi7rk8cqz8pq595b7gw8nrpkxfmixdz6cv4km8p"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -90,7 +90,7 @@ provided, as well as a framework to add new color models and data types.")
|
|||
(define-public gegl
|
||||
(package
|
||||
(name "gegl")
|
||||
(version "0.4.22")
|
||||
(version "0.4.24")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append "https://download.gimp.org/pub/gegl/"
|
||||
|
@ -104,7 +104,7 @@ provided, as well as a framework to add new color models and data types.")
|
|||
"/gegl-" version ".tar.xz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0q9cckf90fb82qc5d496fjz459f1xw4j4p3rff1f57yivx0yr20q"))))
|
||||
"0ji57s7cba94vzy49agn7x47ca61rccm6rif0cb0s6rl4ygljrbp"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -135,7 +135,7 @@ buffers.")
|
|||
(define-public gimp
|
||||
(package
|
||||
(name "gimp")
|
||||
(version "2.10.18")
|
||||
(version "2.10.20")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.gimp.org/pub/gimp/v"
|
||||
|
@ -143,7 +143,7 @@ buffers.")
|
|||
"/gimp-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"05np26g61fyr72s7qjfrcck8v57r0yswq5ihvqyzvgzfx08y3gv5"))))
|
||||
"0g3vzh1bjffqx94mfghmwvkhncv71cgah2mnfx17q00s9f3rybz1"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"
|
||||
"doc")) ; 9 MiB of gtk-doc HTML
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue