me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into core-updates

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

View File

@ -89,6 +89,10 @@
(eval . (put 'with-database 'scheme-indent-function 2))
(eval . (put '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.

View File

@ -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
View File

@ -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.

View File

@ -0,0 +1,82 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;;
;;; Validate 'etc/news.scm'.
;;;
(use-modules (git)
(guix git)
(guix ui)
(guix channels)
(srfi srfi-26)
(ice-9 match))
;; XXX: These two things are currently private.
(define read-channel-news (@@ (guix channels) read-channel-news))
(define channel-news-entries (cut struct-ref <> 0))
(define (all-the-news directory)
"Return the <channel-news> read from DIRECTORY, a checkout of the 'guix'
channel."
(call-with-input-file (string-append directory "/etc/news.scm")
read-channel-news))
(define (validate-texinfo str type language)
"Parse STR as a Texinfo fragment and raise an error if that fails."
(catch #t
(lambda ()
(texi->plain-text str))
(lambda (key . args)
(print-exception (current-error-port) #f key args)
(report-error (G_ "the Texinfo snippet below is invalid (~a, ~a):~%")
type language)
(display str (current-error-port))
(exit 1))))
(define (validate-news-entry repository entry)
"Validate ENTRY, a <channel-news-entry>, making sure it refers to an
existent commit of REPOSITORY and contains only valid Texinfo."
(catch 'git-error
(lambda ()
(let ((commit (commit-lookup repository
(string->oid
(channel-news-entry-commit entry)))))
(for-each (match-lambda
((language . title)
(validate-texinfo title 'title language)))
(channel-news-entry-title entry))
(for-each (match-lambda
((language . body)
(validate-texinfo body 'body language)))
(channel-news-entry-body entry))))
(lambda (key error . rest)
(if (= GIT_ENOTFOUND (git-error-code error))
(leave (G_ "commit '~a' of entry '~a' does not exist~%")
(channel-news-entry-commit entry)
(channel-news-entry-title entry))
(apply throw key error rest)))))
(let* ((this-directory (dirname (current-filename)))
(top-directory (string-append this-directory "/.."))
(entries (channel-news-entries (all-the-news top-directory))))
(with-repository top-directory repository
(for-each (cut validate-news-entry repository <>)
entries)
(info (G_ "All ~a channel news entries are valid.~%")
(length entries))))

View File

@ -22,32 +22,28 @@
;;;
(use-modules (git)
(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)))

View File

@ -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

View File

@ -136,9 +136,9 @@ if test "x$guix_cv_have_recent_guile_sqlite3" != "xyes"; then
AC_MSG_ERROR([A recent Guile-SQLite3 could not be found; please install it.])
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.

View File

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

View File

@ -501,7 +501,7 @@ It is a good idea to strip commit identifiers in the @code{version}
field to, say, 7 digits. It avoids an aesthetic annoyance (assuming
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 didnt receive any reply after two weeks, and if

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,114 @@
digraph "Guix package" {
"139781154519456" [label = "gcc-core-mesboot0@2.95.3", shape = box, fontname = Helvetica];
"139781154519456" -> "139781154519632" [color = darkgoldenrod];
"139781154519456" -> "139781154520688" [color = darkgoldenrod];
"139781154519456" -> "139781034971312" [color = darkgoldenrod];
"139781154519456" -> "139781154520160" [color = darkgoldenrod];
"139781154519456" -> "139781034971664" [color = darkgoldenrod];
"139781154519456" -> "139781154519984" [color = darkgoldenrod];
"139781154519456" -> "139781154519808" [color = darkgoldenrod];
"139781154519456" -> "139781154520512" [color = darkgoldenrod];
"139781154519456" -> "139781034971488" [color = darkgoldenrod];
"139781154519456" -> "139781034972896" [color = darkgoldenrod];
"139781154519456" -> "139781034972368" [color = darkgoldenrod];
"139781154519456" -> "139781034973072" [color = darkgoldenrod];
"139781154519456" -> "139781131267872" [color = darkgoldenrod];
"139781154519632" [label = "binutils-mesboot0@2.14", shape = box, fontname = Helvetica];
"139781154519632" -> "139781154520688" [color = peachpuff4];
"139781154519632" -> "139781034971312" [color = peachpuff4];
"139781154519632" -> "139781154520160" [color = peachpuff4];
"139781154519632" -> "139781034971664" [color = peachpuff4];
"139781154519632" -> "139781154519984" [color = peachpuff4];
"139781154519632" -> "139781154519808" [color = peachpuff4];
"139781154519632" -> "139781154520512" [color = peachpuff4];
"139781154519632" -> "139781034971488" [color = peachpuff4];
"139781154519632" -> "139781034972896" [color = peachpuff4];
"139781154519632" -> "139781034972368" [color = peachpuff4];
"139781154519632" -> "139781034973072" [color = peachpuff4];
"139781154519632" -> "139781131267872" [color = peachpuff4];
"139781154520688" [label = "bash-mesboot0@2.05b", shape = box, fontname = Helvetica];
"139781154520688" -> "139781034971488" [color = magenta];
"139781154520688" -> "139781034971840" [color = magenta];
"139781154520688" -> "139781034972896" [color = magenta];
"139781154520688" -> "139781034972368" [color = magenta];
"139781154520688" -> "139781034973072" [color = magenta];
"139781154520688" -> "139781131267872" [color = magenta];
"139781034971488" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
"139781034971488" -> "139781034971840" [color = dimgrey];
"139781034971488" -> "139781034972896" [color = dimgrey];
"139781034971488" -> "139781034972368" [color = dimgrey];
"139781034971488" -> "139781034973072" [color = dimgrey];
"139781034971488" -> "139781131267872" [color = dimgrey];
"139781034971840" [label = "tcc-boot0@0.9.26-1103-g6e62e0e", shape = box, fontname = Helvetica];
"139781034971840" -> "139781034972016" [color = magenta];
"139781034971840" -> "139781131266816" [color = magenta];
"139781034971840" -> "139781034972896" [color = magenta];
"139781034971840" -> "139781034972368" [color = magenta];
"139781034971840" -> "139781034973072" [color = magenta];
"139781034971840" -> "139781131267872" [color = magenta];
"139781034972016" [label = "mes-boot@0.22", shape = box, fontname = Helvetica];
"139781034972016" -> "139781034972192" [color = cyan3];
"139781034972016" -> "139781131266816" [color = cyan3];
"139781034972016" -> "139781034972896" [color = cyan3];
"139781034972016" -> "139781034972368" [color = cyan3];
"139781034972016" -> "139781034973072" [color = cyan3];
"139781034972016" -> "139781131267872" [color = cyan3];
"139781034972192" [label = "bootstrap-mes-rewired@0.19", shape = ellipse, fontname = Helvetica];
"139781034972192" -> "139781131266640" [color = darkseagreen];
"139781034972192" -> "139781034972896" [color = darkseagreen];
"139781131266640" [label = "bootstrap-mes@0", shape = ellipse, fontname = Helvetica];
"139781034972896" [label = "gash-boot@0.2.0", shape = box, fontname = Helvetica];
"139781034972896" -> "139781034973072" [color = darkviolet];
"139781034972896" -> "139781131267872" [color = darkviolet];
"139781034973072" [label = "bootar@1", shape = box, fontname = Helvetica];
"139781034973072" -> "139781131267872" [color = darkviolet];
"139781131267872" [label = "guile-bootstrap@2.0", shape = ellipse, fontname = Helvetica];
"139781131266816" [label = "bootstrap-mescc-tools@0.5.2", shape = ellipse, fontname = Helvetica];
"139781034972368" [label = "gash-utils-boot@0.1.0", shape = box, fontname = Helvetica];
"139781034972368" -> "139781034973072" [color = darkseagreen];
"139781034972368" -> "139781034972896" [color = darkseagreen];
"139781034972368" -> "139781131267872" [color = darkseagreen];
"139781034971312" [label = "bzip2-mesboot@1.0.8", shape = box, fontname = Helvetica];
"139781034971312" -> "139781034971488" [color = cyan3];
"139781034971312" -> "139781034971840" [color = cyan3];
"139781034971312" -> "139781034972896" [color = cyan3];
"139781034971312" -> "139781034972368" [color = cyan3];
"139781034971312" -> "139781034973072" [color = cyan3];
"139781034971312" -> "139781131267872" [color = cyan3];
"139781154520160" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
"139781154520160" -> "139781034971488" [color = red];
"139781154520160" -> "139781034971840" [color = red];
"139781154520160" -> "139781034972896" [color = red];
"139781154520160" -> "139781034972368" [color = red];
"139781154520160" -> "139781034973072" [color = red];
"139781154520160" -> "139781131267872" [color = red];
"139781034971664" [label = "gzip-mesboot@1.2.4", shape = box, fontname = Helvetica];
"139781034971664" -> "139781034971840" [color = red];
"139781034971664" -> "139781034972896" [color = red];
"139781034971664" -> "139781034972368" [color = red];
"139781034971664" -> "139781034973072" [color = red];
"139781034971664" -> "139781131267872" [color = red];
"139781154519984" [label = "patch-mesboot@2.5.9", shape = box, fontname = Helvetica];
"139781154519984" -> "139781034971488" [color = blue];
"139781154519984" -> "139781034971840" [color = blue];
"139781154519984" -> "139781034972896" [color = blue];
"139781154519984" -> "139781034972368" [color = blue];
"139781154519984" -> "139781034973072" [color = blue];
"139781154519984" -> "139781131267872" [color = blue];
"139781154519808" [label = "sed-mesboot0@1.18", shape = box, fontname = Helvetica];
"139781154519808" -> "139781034971488" [color = red];
"139781154519808" -> "139781034971840" [color = red];
"139781154519808" -> "139781034972896" [color = red];
"139781154519808" -> "139781034972368" [color = red];
"139781154519808" -> "139781034973072" [color = red];
"139781154519808" -> "139781131267872" [color = red];
"139781154520512" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
"139781154520512" -> "139781034971312" [color = darkviolet];
"139781154520512" -> "139781034971488" [color = darkviolet];
"139781154520512" -> "139781034971840" [color = darkviolet];
"139781154520512" -> "139781034972896" [color = darkviolet];
"139781154520512" -> "139781034972368" [color = darkviolet];
"139781154520512" -> "139781034973072" [color = darkviolet];
"139781154520512" -> "139781131267872" [color = darkviolet];
}

View File

@ -1,123 +0,0 @@
digraph "Guix bag" {
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" [label = "gcc-mesboot@4.9.4", shape = box, fontname = Helvetica];
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = darkviolet];
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" [color = darkviolet];
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = darkviolet];
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" [color = darkviolet];
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkviolet];
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkviolet];
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkviolet];
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkviolet];
"/gnu/store/5gkanb1d995yrpdd2h4iqkjmc5g1j0q4-gcc-mesboot-4.9.4.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = darkviolet];
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [label = "binutils-mesboot@2.20.1a", shape = box, fontname = Helvetica];
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = dimgrey];
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = dimgrey];
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [color = dimgrey];
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = dimgrey];
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = dimgrey];
"/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = dimgrey];
"/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = Helvetica];
"/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = peachpuff4];
"/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = peachpuff4];
"/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = peachpuff4];
"/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
"/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" -> "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [color = cyan3];
"/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" -> "/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" [color = cyan3];
"/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = cyan3];
"/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [label = "mes-boot@0.18", shape = box, fontname = Helvetica];
"/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = darkviolet];
"/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkviolet];
"/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" -> "/gnu/store/viccpx5izm9z0ci5nvib0xkdrsfqixlr-bootstrap-mes-0.drv" [color = darkviolet];
"/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [label = "bootstrap-mescc-tools@0.5.2", shape = box, fontname = Helvetica];
"/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [label = "bootstrap-binaries@0", shape = box, fontname = Helvetica];
"/gnu/store/viccpx5izm9z0ci5nvib0xkdrsfqixlr-bootstrap-mes-0.drv" [label = "bootstrap-mes@0", shape = box, fontname = Helvetica];
"/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" [label = "tcc-boot0@0.9.26-5.c7b3f59", shape = box, fontname = Helvetica];
"/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [color = dimgrey];
"/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/gd83makzwnb2aq1x0hylfsi8gaxln5js-bootstrap-mescc-tools-0.5.2.drv" [color = dimgrey];
"/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/p437zhq42yavzknp3miacrgnaw206h7i-tcc-boot0-0.9.26-5.c7b3f59.drv" -> "/gnu/store/viccpx5izm9z0ci5nvib0xkdrsfqixlr-bootstrap-mes-0.drv" [color = dimgrey];
"/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
"/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/as3hax4r1zzxz4ihlzj9yq3rs83gm93c-mes-boot-0.18.drv" [color = peachpuff4];
"/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = peachpuff4];
"/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = peachpuff4];
"/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
"/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = darkgoldenrod];
"/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkgoldenrod];
"/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkgoldenrod];
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [label = "glibc-mesboot0@2.2.5", shape = box, fontname = Helvetica];
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" [color = darkseagreen];
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkseagreen];
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [color = darkseagreen];
"/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = darkseagreen];
"/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" [label = "gcc-core-mesboot@2.95.3", shape = box, fontname = Helvetica];
"/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = dimgrey];
"/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/xjvyz26a4m191p5aqyifi7fw57vjps15-tcc-boot-0.9.27.drv" [color = dimgrey];
"/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = dimgrey];
"/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = dimgrey];
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [label = "mesboot-headers@0.18", shape = box, fontname = Helvetica];
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = cyan3];
"/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = cyan3];
"/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap@0", shape = box, fontname = Helvetica];
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [label = "gcc-mesboot0@2.95.3", shape = box, fontname = Helvetica];
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/ia8z1bsk6hw80inpxxn751n4haas5zbv-gcc-core-mesboot-2.95.3.drv" [color = darkseagreen];
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkseagreen];
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
"/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = darkseagreen];
"/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" [label = "gcc-mesboot1-wrapper@4.7.4", shape = box, fontname = Helvetica];
"/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" [color = red];
"/gnu/store/86dqsl7b3qrzxl0zd049i5rl7l19gnk0-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = red];
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" [label = "glibc-mesboot@2.16.0", shape = box, fontname = Helvetica];
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = blue];
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = blue];
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" [color = blue];
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = blue];
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = blue];
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = blue];
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = blue];
"/gnu/store/f89fk16sm2l8amhjqli2zg6hil71c7m3-glibc-mesboot-2.16.0.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = blue];
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" [label = "glibc-headers-mesboot@2.16.0", shape = box, fontname = Helvetica];
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = red];
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = red];
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [color = red];
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/kd7b9sba79s1l7hjdhav51gvci5ws4jy-mesboot-headers-0.18.drv" [color = red];
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = red];
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = red];
"/gnu/store/l92gwa7d9jylv25q7fra0hd4cqsxyxz8-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = red];
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" [label = "gcc-mesboot1@4.7.4", shape = box, fontname = Helvetica];
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/91nyq32kpndqj8qywqx17zy1ahv4xzgf-binutils-mesboot-2.20.1a.drv" [color = darkseagreen];
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [color = darkseagreen];
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/yn5ryq346dhxhjsg3glcnb0wmdz4cn8c-diffutils-mesboot-2.7.drv" [color = darkseagreen];
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
"/gnu/store/8jk8qkbvi8bgf1h2m0f8c2gmriql52p4-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [color = darkseagreen];
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" [label = "make-mesboot@3.82", shape = box, fontname = Helvetica];
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/0w4i240rlsq7bd9ig4nixpbijkf4qy12-binutils-mesboot0-2.20.1a.drv" [color = magenta];
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/0admz8igq3lvcyga32gp87q2g7918zwy-glibc-mesboot0-2.2.5.drv" [color = magenta];
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/r9rsmhz659147krcvksx53b0mjdavr05-gcc-mesboot0-2.95.3.drv" [color = magenta];
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/mrbi3ffh1v62b7sc3g40qvz0i0dbbvbi-make-mesboot0-3.80.drv" [color = magenta];
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = magenta];
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/00rjhpbkzk86s4pksjg934l310iaxxjr-bootstrap-binaries-0.drv" [color = magenta];
"/gnu/store/79zblx3zhbmycl30kvwylpxyhjv52qi4-make-mesboot-3.82.drv" -> "/gnu/store/q8d60ln0dxjvqd2ymi1g6xyk3046m23n-linux-libre-headers-bootstrap-0.drv" [color = magenta];
}

View File

@ -39,7 +39,7 @@ DOT_FILES = \
%D%/images/bootstrap-packages.dot \
%D%/images/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

View File

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

View File

@ -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

View File

@ -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

View File

@ -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")

View File

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

View File

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

View File

@ -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

View File

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

View File

@ -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")

View File

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

View File

@ -0,0 +1,205 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu build hurd-boot)
#:use-module (system repl error-handling)
#:autoload (system repl repl) (start-repl)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:use-module (guix build utils)
#:use-module ((guix build syscalls)
#:hide (file-system-type))
#:export (make-hurd-device-nodes
boot-hurd-system))
;;; Commentary:
;;;
;;; Utility procedures useful to boot a Hurd system.
;;;
;;; Code:
;; XXX FIXME c&p from linux-boot.scm
(define (find-long-option option arguments)
"Find OPTION among ARGUMENTS, where OPTION is something like \"--load\".
Return the value associated with OPTION, or #f on failure."
(let ((opt (string-append option "=")))
(and=> (find (cut string-prefix? opt <>)
arguments)
(lambda (arg)
(substring arg (+ 1 (string-index arg #\=)))))))
;; XXX FIXME c&p from guix/utils.scm
(define (readlink* file)
"Call 'readlink' until the result is not a symlink."
(define %max-symlink-depth 50)
(let loop ((file file)
(depth 0))
(define (absolute target)
(if (absolute-file-name? target)
target
(string-append (dirname file) "/" target)))
(if (>= depth %max-symlink-depth)
file
(call-with-values
(lambda ()
(catch 'system-error
(lambda ()
(values #t (readlink file)))
(lambda args
(let ((errno (system-error-errno args)))
(if (or (= errno EINVAL))
(values #f file)
(apply throw args))))))
(lambda (success? target)
(if success?
(loop (absolute target) (+ depth 1))
file))))))
(define* (make-hurd-device-nodes #:optional (root "/"))
"Make some of the nodes needed on GNU/Hurd."
(define (scope dir)
(string-append root (if (string-suffix? "/" root) "" "/") dir))
(mkdir (scope "dev"))
(for-each (lambda (file)
(call-with-output-file (scope file)
(lambda (port)
(display file port) ;avoid hard-linking
(chmod port #o666))))
'("dev/null"
"dev/zero"
"dev/full"
"dev/random"
"dev/urandom"))
;; Don't create /dev/console, /dev/vcs, etc.: they are created by
;; console-run on first boot.
(mkdir (scope "servers"))
(for-each (lambda (file)
(call-with-output-file (scope (string-append "servers/" file))
(lambda (port)
(display file port) ;avoid hard-linking
(chmod port #o444))))
'("startup"
"exec"
"proc"
"password"
"default-pager"
"crash-dump-core"
"kill"
"suspend"))
(mkdir (scope "servers/socket"))
;; Don't create /servers/socket/1 & co: runsystem does that on first boot.
;; TODO: Set the 'gnu.translator' extended attribute for passive translator
;; settings?
)
(define* (boot-hurd-system #:key (on-error 'debug))
"This procedure is meant to be called from an early RC script.
Install the relevant passive translators on the first boot. Then, run system
activation by using the kernel command-line options '--system' and '--load';
starting the Shepherd.
XXX TODO: see linux-boot.scm:boot-system.
XXX TODO: add proper file-system checking, mounting
XXX TODO: move bits to (new?) (hurd?) (activation?) services
XXX TODO: use settrans/setxattr instead of MAKEDEV
"
(define translators
'(("/servers/crash-dump-core" ("/hurd/crash" "--dump-core"))
("/servers/crash-kill" ("/hurd/crash" "--kill"))
("/servers/crash-suspend" ("/hurd/crash" "--suspend"))
("/servers/password" ("/hurd/password"))
("/servers/socket/1" ("/hurd/pflocal"))
("/servers/socket/2" ("/hurd/pfinet" "--interface" "eth0"
"--address" "10.0.2.15" ;the default QEMU guest IP
"--netmask" "255.255.255.0"
"--gateway" "10.0.2.2"
"--ipv6" "/servers/socket/16"))))
(display "Welcome, this is GNU's early boot Guile.\n")
(display "Use '--repl' for an initrd REPL.\n\n")
(call-with-error-handling
(lambda ()
(define (translated? node)
;; Return true if a translator is installed on NODE.
(with-output-to-port (%make-void-port "w")
(lambda ()
(with-error-to-port (%make-void-port "w")
(lambda ()
(zero? (system* "showtrans" "--silent" node)))))))
(let* ((args (command-line))
(system (find-long-option "--system" args))
(to-load (find-long-option "--load" args)))
(format #t "Creating essential servers...\n")
(setenv "PATH" (string-append system "/profile/bin"
":" system "/profile/sbin"))
(for-each (match-lambda
((node command)
(unless (translated? node)
(mkdir-p (dirname node))
(apply invoke "settrans" "--create" node command))))
translators)
(format #t "Creating essential device nodes...\n")
(with-directory-excursion "/dev"
(invoke "MAKEDEV" "--devdir=/dev" "std")
(invoke "MAKEDEV" "--devdir=/dev" "vcs")
(invoke "MAKEDEV" "--devdir=/dev" "tty1""tty2" "tty3" "tty4" "tty5" "tty6")
(invoke "MAKEDEV" "--devdir=/dev" "ptyp0" "ptyp1" "ptyp2")
(invoke "MAKEDEV" "--devdir=/dev" "console"))
(false-if-exception (delete-file "/hurd"))
(let ((hurd/hurd (readlink* (string-append system "/profile/hurd"))))
(symlink hurd/hurd "/hurd"))
(format #t "Starting pager...\n")
(unless (zero? (system* "/hurd/mach-defpager"))
(format #t "FAILED...Good luck!\n"))
(cond ((member "--repl" args)
(format #t "Starting repl...\n")
(start-repl))
(to-load
(format #t "loading '~a'...\n" to-load)
(primitive-load to-load)
(format (current-error-port)
"boot program '~a' terminated, rebooting~%"
to-load)
(sleep 2)
(reboot))
(else
(display "no boot file passed via '--load'\n")
(display "entering a warm and cozy REPL\n")
(start-repl)))))
#:on-error on-error))
;;; hurd-boot.scm ends here

View File

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

View File

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

View File

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

View 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

View File

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

View File

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

View File

@ -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.

View File

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

View File

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

View File

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

View File

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

View File

@ -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"))))

View File

@ -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

View File

@ -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

View File

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

View File

@ -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

View File

@ -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

View File

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

View File

@ -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

View File

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

View File

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

View File

@ -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

View File

@ -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")

View File

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

View File

@ -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

View File

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

View File

@ -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

View File

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

View File

@ -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

View File

@ -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

View File

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

View File

@ -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

View File

@ -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")

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -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

View File

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

View File

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

View File

@ -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+)))

View File

@ -0,0 +1,143 @@
;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages dhall)
#:use-module (gnu packages)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages haskell-crypto)
#:use-module (gnu packages haskell-web)
#:use-module (guix download)
#:use-module (guix build-system haskell)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public dhall
(package
(name "dhall")
(version "1.32.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/dhall/dhall-"
version ".tar.gz"))
(sha256
(base32 "1imj0bh5365pdizvjbw2wqz0g9hakigf1zm4fr6379qdchxpp90p"))))
(build-system haskell-build-system)
(inputs
`(("ghc-aeson" ,ghc-aeson)
("ghc-aeson-pretty" ,ghc-aeson-pretty)
("ghc-ansi-terminal" ,ghc-ansi-terminal)
("ghc-atomic-write" ,ghc-atomic-write-0.2.0.7)
("ghc-case-insensitive" ,ghc-case-insensitive)
("ghc-cborg" ,ghc-cborg)
("ghc-cborg-json" ,ghc-cborg-json)
("ghc-contravariant" ,ghc-contravariant)
("ghc-data-fix" ,ghc-data-fix)
("ghc-diff" ,ghc-diff)
("ghc-dotgen" ,ghc-dotgen)
("ghc-either" ,ghc-either)
("ghc-exceptions" ,ghc-exceptions)
("ghc-half" ,ghc-half)
("ghc-hashable" ,ghc-hashable)
("ghc-lens-family-core" ,ghc-lens-family-core)
("ghc-megaparsec" ,ghc-megaparsec)
("ghc-memory" ,ghc-memory)
("ghc-network-uri" ,ghc-network-uri)
("ghc-optparse-applicative" ,ghc-optparse-applicative)
("ghc-parsers" ,ghc-parsers)
("ghc-parser-combinators" ,ghc-parser-combinators)
("ghc-prettyprinter" ,ghc-prettyprinter-1.6)
("ghc-prettyprinter-ansi-terminal" ,ghc-prettyprinter-ansi-terminal)
("ghc-pretty-simple" ,ghc-pretty-simple)
("ghc-profunctors" ,ghc-profunctors)
("ghc-repline" ,ghc-repline-0.3)
("ghc-serialise" ,ghc-serialise)
("ghc-scientific" ,ghc-scientific)
("ghc-text-manipulate" ,ghc-text-manipulate)
("ghc-th-lift-instances" ,ghc-th-lift-instances)
("ghc-transformers-compat" ,ghc-transformers-compat)
("ghc-unordered-containers" ,ghc-unordered-containers)
("ghc-uri-encode" ,ghc-uri-encode)
("ghc-vector" ,ghc-vector)
("ghc-cryptonite" ,ghc-cryptonite)
("ghc-http-types" ,ghc-http-types)
("ghc-http-client" ,ghc-http-client)
("ghc-http-client-tls" ,ghc-http-client-tls)))
(native-inputs
`(("ghc-foldl" ,ghc-foldl)
("ghc-generic-random" ,ghc-generic-random-1.3.0.1)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
("ghc-semigroups" ,ghc-semigroups)
("ghc-special-values" ,ghc-special-values)
("ghc-spoon" ,ghc-spoon)
("ghc-tasty" ,ghc-tasty)
("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
("ghc-tasty-hunit" ,ghc-tasty-hunit)
("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
("ghc-turtle" ,ghc-turtle)
("ghc-mockery" ,ghc-mockery)
("ghc-doctest" ,ghc-doctest)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-network-tests
(lambda _
(with-directory-excursion "dhall-lang/tests"
(for-each
delete-file
'("import/failure/referentiallyInsane.dhall"
"import/success/customHeadersA.dhall"
"import/success/noHeaderForwardingA.dhall"
"import/success/unit/RemoteAsTextA.dhall"
"import/success/unit/SimpleRemoteA.dhall"
"import/success/unit/asLocation/RemoteChain1A.dhall"
"import/success/unit/asLocation/RemoteChain2A.dhall"
"import/success/unit/asLocation/RemoteChain3A.dhall"
"import/success/unit/asLocation/RemoteChainEnvA.dhall"
"import/success/unit/asLocation/RemoteChainMissingA.dhall"
"type-inference/success/CacheImportsA.dhall"
"type-inference/success/CacheImportsCanonicalizeA.dhall")))
(substitute* "src/Dhall/Tutorial.hs"
(((string-append
"-- >>> input auto "
"\"https://raw.githubusercontent.com/dhall-lang"
"/dhall-haskell/18e4e9a18dc53271146df3ccf5b4177c3552236b/"
"examples/True\" :: IO Bool"))
"")
(((string-append
"-- >>> input auto "
"\"False == "
"https://raw.githubusercontent.com/dhall-lang"
"/dhall-haskell/18e4e9a18dc53271146df3ccf5b4177c3552236b/"
"examples/True\" :: IO Bool"))
""))
#t)))))
(home-page "https://dhall-lang.org/")
(synopsis "Configuration language guaranteed to terminate")
(description
"Dhall is an explicitly typed configuration language that is not Turing
complete. Despite being Turing incomplete, Dhall is a real programming
language with a type-checker and evaluator.
Use this library to parse, type-check, evaluate, and pretty-print the Dhall
configuration language. This package also includes an executable which
type-checks a Dhall file and reduces the file to a fully evaluated normal
form.")
(license license:bsd-3)))

View File

@ -119,7 +119,7 @@ acronyms distributed as an info document.")
"GCIDE is a free dictionary based on a combination of sources. It can
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

View File

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

View File

@ -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")

View File

@ -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

View File

@ -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"

View File

@ -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,

View File

@ -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

View File

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

View File

@ -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

View File

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

View File

@ -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.

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -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.

View File

@ -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+)))

View File

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

View File

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

View File

@ -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) .

View File

@ -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"))

View File

@ -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")

View File

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

View File

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

View File

@ -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/")

View File

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

View File

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

View File

@ -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"))))))

View File

@ -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")

View File

@ -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