mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-07-09 19:34:04 +02:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 48aa30ce73 | |||
| adf577dcc4 | |||
| 1a9fc8e228 | |||
| 2921b6a611 | |||
| 3aa11dfbed | |||
| 542e7fb57f |
@@ -34,8 +34,6 @@
|
||||
|
||||
(eval . (put 'modify-services 'scheme-indent-function 1))
|
||||
(eval . (put 'with-directory-excursion 'scheme-indent-function 1))
|
||||
(eval . (put 'with-file-lock 'scheme-indent-function 1))
|
||||
|
||||
(eval . (put 'package 'scheme-indent-function 0))
|
||||
(eval . (put 'origin 'scheme-indent-function 0))
|
||||
(eval . (put 'build-system 'scheme-indent-function 0))
|
||||
@@ -55,8 +53,6 @@
|
||||
(eval . (put 'call-with-decompressed-port 'scheme-indent-function 2))
|
||||
(eval . (put 'call-with-gzip-input-port 'scheme-indent-function 1))
|
||||
(eval . (put 'call-with-gzip-output-port 'scheme-indent-function 1))
|
||||
(eval . (put 'call-with-lzip-input-port 'scheme-indent-function 1))
|
||||
(eval . (put 'call-with-lzip-output-port 'scheme-indent-function 1))
|
||||
(eval . (put 'signature-case 'scheme-indent-function 1))
|
||||
(eval . (put 'emacs-batch-eval 'scheme-indent-function 0))
|
||||
(eval . (put 'emacs-batch-edit-file 'scheme-indent-function 1))
|
||||
|
||||
@@ -25,7 +25,6 @@ Deck Pickard <deck.r.pickard@gmail.com> <nebu@kipple>
|
||||
Eric Bavier <bavier@member.fsf.org> <ericbavier@gmail.com>
|
||||
Eric Dvorsak <eric@dvorsak.fr> <yenda1@gmail.com>
|
||||
George Clemmer <myglc2@gmail.com>
|
||||
ison <ison@airmail.cc> <ison111@protonmail.com>
|
||||
Ivan Vilata i Balaguer <ivan@selidor.net>
|
||||
Jeff Mickey <j@codemac.net> <jm@igneous.io>
|
||||
John Darrington <jmd@gnu.org> <john@darrington.wattle.id.au>
|
||||
|
||||
@@ -42,7 +42,7 @@ make sure to run ‘git pull --rebase’.
|
||||
All commits that are pushed to the central repository on Savannah must be
|
||||
signed with an OpenPGP key, and the public key should be uploaded to your user
|
||||
account on Savannah and to public key servers, such as
|
||||
‘keys.openpgp.org’. To configure Git to automatically sign commits,
|
||||
‘pool.sks-keyservers.net’. To configure Git to automatically sign commits,
|
||||
run:
|
||||
|
||||
git config commit.gpgsign true
|
||||
|
||||
+63
-76
@@ -78,7 +78,6 @@ MODULES = \
|
||||
guix/modules.scm \
|
||||
guix/download.scm \
|
||||
guix/discovery.scm \
|
||||
guix/bzr-download.scm \
|
||||
guix/git-download.scm \
|
||||
guix/hg-download.scm \
|
||||
guix/swh.scm \
|
||||
@@ -90,7 +89,6 @@ MODULES = \
|
||||
guix/nar.scm \
|
||||
guix/derivations.scm \
|
||||
guix/grafts.scm \
|
||||
guix/repl.scm \
|
||||
guix/inferior.scm \
|
||||
guix/describe.scm \
|
||||
guix/channels.scm \
|
||||
@@ -98,7 +96,6 @@ MODULES = \
|
||||
guix/self.scm \
|
||||
guix/upstream.scm \
|
||||
guix/licenses.scm \
|
||||
guix/lint.scm \
|
||||
guix/glob.scm \
|
||||
guix/git.scm \
|
||||
guix/graph.scm \
|
||||
@@ -106,7 +103,6 @@ MODULES = \
|
||||
guix/cve.scm \
|
||||
guix/workers.scm \
|
||||
guix/zlib.scm \
|
||||
guix/lzlib.scm \
|
||||
guix/build-system.scm \
|
||||
guix/build-system/android-ndk.scm \
|
||||
guix/build-system/ant.scm \
|
||||
@@ -126,7 +122,6 @@ MODULES = \
|
||||
guix/build-system/guile.scm \
|
||||
guix/build-system/haskell.scm \
|
||||
guix/build-system/linux-module.scm \
|
||||
guix/build-system/node.scm \
|
||||
guix/build-system/perl.scm \
|
||||
guix/build-system/python.scm \
|
||||
guix/build-system/ocaml.scm \
|
||||
@@ -147,7 +142,6 @@ MODULES = \
|
||||
guix/svn-download.scm \
|
||||
guix/colors.scm \
|
||||
guix/i18n.scm \
|
||||
guix/diagnostics.scm \
|
||||
guix/ui.scm \
|
||||
guix/status.scm \
|
||||
guix/build/android-ndk-build-system.scm \
|
||||
@@ -165,14 +159,12 @@ MODULES = \
|
||||
guix/build/font-build-system.scm \
|
||||
guix/build/go-build-system.scm \
|
||||
guix/build/asdf-build-system.scm \
|
||||
guix/build/bzr.scm \
|
||||
guix/build/git.scm \
|
||||
guix/build/hg.scm \
|
||||
guix/build/glib-or-gtk-build-system.scm \
|
||||
guix/build/gnu-build-system.scm \
|
||||
guix/build/gnu-dist.scm \
|
||||
guix/build/guile-build-system.scm \
|
||||
guix/build/node-build-system.scm \
|
||||
guix/build/perl-build-system.scm \
|
||||
guix/build/python-build-system.scm \
|
||||
guix/build/ocaml-build-system.scm \
|
||||
@@ -185,7 +177,6 @@ MODULES = \
|
||||
guix/build/haskell-build-system.scm \
|
||||
guix/build/linux-module-build-system.scm \
|
||||
guix/build/store-copy.scm \
|
||||
guix/build/json.scm \
|
||||
guix/build/utils.scm \
|
||||
guix/build/union.scm \
|
||||
guix/build/profiles.scm \
|
||||
@@ -249,7 +240,6 @@ MODULES = \
|
||||
guix/scripts/describe.scm \
|
||||
guix/scripts/system.scm \
|
||||
guix/scripts/system/search.scm \
|
||||
guix/scripts/system/reconfigure.scm \
|
||||
guix/scripts/lint.scm \
|
||||
guix/scripts/challenge.scm \
|
||||
guix/scripts/import/crate.scm \
|
||||
@@ -272,7 +262,6 @@ MODULES = \
|
||||
guix/scripts/weather.scm \
|
||||
guix/scripts/container.scm \
|
||||
guix/scripts/container/exec.scm \
|
||||
guix/scripts/deploy.scm \
|
||||
guix.scm \
|
||||
$(GNU_SYSTEM_MODULES)
|
||||
|
||||
@@ -280,7 +269,6 @@ if HAVE_GUILE_SSH
|
||||
|
||||
MODULES += \
|
||||
guix/ssh.scm \
|
||||
guix/remote.scm \
|
||||
guix/scripts/copy.scm \
|
||||
guix/store/ssh.scm
|
||||
|
||||
@@ -308,12 +296,12 @@ dist_noinst_DATA = guix/tests.scm guix/tests/http.scm
|
||||
AUX_FILES = \
|
||||
gnu/packages/aux-files/chromium/master-preferences.json \
|
||||
gnu/packages/aux-files/emacs/guix-emacs.el \
|
||||
gnu/packages/aux-files/linux-libre/5.2-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.2-arm-veyron.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.2-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.2-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.2-x86_64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.0-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.0-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.0-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.0-x86_64.conf \
|
||||
gnu/packages/aux-files/linux-libre/4.19-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.0-arm-veyron.conf \
|
||||
gnu/packages/aux-files/linux-libre/4.19-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/4.19-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/4.19-x86_64.conf \
|
||||
@@ -333,7 +321,6 @@ EXAMPLES = \
|
||||
gnu/system/examples/beaglebone-black.tmpl \
|
||||
gnu/system/examples/desktop.tmpl \
|
||||
gnu/system/examples/lightweight-desktop.tmpl \
|
||||
gnu/system/examples/docker-image.tmpl \
|
||||
gnu/system/examples/vm-image.tmpl
|
||||
|
||||
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go $(dist_noinst_DATA:%.scm=%.go)
|
||||
@@ -362,77 +349,75 @@ TEST_EXTENSIONS = .scm .sh
|
||||
if CAN_RUN_TESTS
|
||||
|
||||
SCM_TESTS = \
|
||||
tests/accounts.scm \
|
||||
tests/base16.scm \
|
||||
tests/base32.scm \
|
||||
tests/base64.scm \
|
||||
tests/bournish.scm \
|
||||
tests/builders.scm \
|
||||
tests/build-utils.scm \
|
||||
tests/cache.scm \
|
||||
tests/challenge.scm \
|
||||
tests/channels.scm \
|
||||
tests/combinators.scm \
|
||||
tests/containers.scm \
|
||||
tests/cpan.scm \
|
||||
tests/cpio.scm \
|
||||
tests/cran.scm \
|
||||
tests/crate.scm \
|
||||
tests/cve.scm \
|
||||
tests/debug-link.scm \
|
||||
tests/derivations.scm \
|
||||
tests/discovery.scm \
|
||||
tests/elpa.scm \
|
||||
tests/file-systems.scm \
|
||||
tests/gem.scm \
|
||||
tests/gexp.scm \
|
||||
tests/glob.scm \
|
||||
tests/gnu-maintenance.scm \
|
||||
tests/grafts.scm \
|
||||
tests/graph.scm \
|
||||
tests/gremlin.scm \
|
||||
tests/hackage.scm \
|
||||
tests/import-utils.scm \
|
||||
tests/inferior.scm \
|
||||
tests/lint.scm \
|
||||
tests/lzlib.scm \
|
||||
tests/modules.scm \
|
||||
tests/monads.scm \
|
||||
tests/nar.scm \
|
||||
tests/opam.scm \
|
||||
tests/packages.scm \
|
||||
tests/pack.scm \
|
||||
tests/pki.scm \
|
||||
tests/gem.scm \
|
||||
tests/pki.scm \
|
||||
tests/print.scm \
|
||||
tests/processes.scm \
|
||||
tests/profiles.scm \
|
||||
tests/publish.scm \
|
||||
tests/pypi.scm \
|
||||
tests/records.scm \
|
||||
tests/scripts.scm \
|
||||
tests/scripts-build.scm \
|
||||
tests/search-paths.scm \
|
||||
tests/services.scm \
|
||||
tests/sets.scm \
|
||||
tests/size.scm \
|
||||
tests/snix.scm \
|
||||
tests/status.scm \
|
||||
tests/store-database.scm \
|
||||
tests/store-deduplication.scm \
|
||||
tests/store-roots.scm \
|
||||
tests/store.scm \
|
||||
tests/modules.scm \
|
||||
tests/gnu-maintenance.scm \
|
||||
tests/substitute.scm \
|
||||
tests/swh.scm \
|
||||
tests/syscalls.scm \
|
||||
tests/system.scm \
|
||||
tests/texlive.scm \
|
||||
tests/builders.scm \
|
||||
tests/derivations.scm \
|
||||
tests/glob.scm \
|
||||
tests/grafts.scm \
|
||||
tests/ui.scm \
|
||||
tests/union.scm \
|
||||
tests/status.scm \
|
||||
tests/records.scm \
|
||||
tests/processes.scm \
|
||||
tests/upstream.scm \
|
||||
tests/combinators.scm \
|
||||
tests/discovery.scm \
|
||||
tests/utils.scm \
|
||||
tests/uuid.scm \
|
||||
tests/build-utils.scm \
|
||||
tests/packages.scm \
|
||||
tests/snix.scm \
|
||||
tests/hackage.scm \
|
||||
tests/cran.scm \
|
||||
tests/elpa.scm \
|
||||
tests/texlive.scm \
|
||||
tests/store.scm \
|
||||
tests/monads.scm \
|
||||
tests/gexp.scm \
|
||||
tests/nar.scm \
|
||||
tests/union.scm \
|
||||
tests/profiles.scm \
|
||||
tests/search-paths.scm \
|
||||
tests/syscalls.scm \
|
||||
tests/inferior.scm \
|
||||
tests/gremlin.scm \
|
||||
tests/debug-link.scm \
|
||||
tests/bournish.scm \
|
||||
tests/lint.scm \
|
||||
tests/publish.scm \
|
||||
tests/scripts.scm \
|
||||
tests/size.scm \
|
||||
tests/graph.scm \
|
||||
tests/challenge.scm \
|
||||
tests/cache.scm \
|
||||
tests/cve.scm \
|
||||
tests/workers.scm \
|
||||
tests/zlib.scm
|
||||
tests/zlib.scm \
|
||||
tests/file-systems.scm \
|
||||
tests/uuid.scm \
|
||||
tests/system.scm \
|
||||
tests/accounts.scm \
|
||||
tests/services.scm \
|
||||
tests/scripts-build.scm \
|
||||
tests/containers.scm \
|
||||
tests/opam.scm \
|
||||
tests/pack.scm \
|
||||
tests/pypi.scm \
|
||||
tests/import-utils.scm \
|
||||
tests/store-database.scm \
|
||||
tests/store-deduplication.scm \
|
||||
tests/store-roots.scm
|
||||
|
||||
SH_TESTS = \
|
||||
tests/guix-build.sh \
|
||||
@@ -498,8 +483,9 @@ check-system: $(GOBJECTS)
|
||||
-e '(@@ (run-system-tests) run-system-tests)' \
|
||||
$(top_srcdir)/build-aux/run-system-tests.scm
|
||||
|
||||
# Public keys used to sign substitutes.
|
||||
# Public key used to sign substitutes from hydra.gnu.org & co.
|
||||
dist_pkgdata_DATA = \
|
||||
etc/substitutes/hydra.gnu.org.pub \
|
||||
etc/substitutes/berlin.guixsd.org.pub \
|
||||
etc/substitutes/ci.guix.gnu.org.pub \
|
||||
etc/substitutes/ci.guix.info.pub
|
||||
@@ -551,6 +537,7 @@ EXTRA_DIST += \
|
||||
build-aux/config.rpath \
|
||||
bootstrap \
|
||||
doc/build.scm \
|
||||
release.nix \
|
||||
$(TESTS)
|
||||
|
||||
if !BUILD_DAEMON_OFFLOAD
|
||||
|
||||
@@ -11,56 +11,6 @@ Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
|
||||
Please send Guix bug reports to bug-guix@gnu.org.
|
||||
|
||||
* Changes in 1.0.1 (since 1.0.0)
|
||||
** Package management
|
||||
*** The ‘https_proxy’ environment variable is now honored
|
||||
** Distribution
|
||||
*** ‘guix system docker-image’ now produces images with an entry point
|
||||
*** New ‘--network’ option for ‘guix system container’
|
||||
*** ‘gcc’ package is now hidden; ‘gcc-toolchain’ is what users want
|
||||
*** ‘mcron’ service now logs to /var/log/mcron.log
|
||||
*** Dovecot: ‘auth-verbose-passwords?’ renamed from ‘auth-verbose-passwords’
|
||||
*** ‘slim’ service now allows for multiple instances on different VTs
|
||||
*** 70 new packages
|
||||
*** 483 package updates
|
||||
|
||||
Noteworthy updates:
|
||||
gdb 8.3, ghc 8.4.3, glibc 2.28, gnupg 2.2.15, go 1.12.1, guile 2.2.4,
|
||||
icecat 60.6.2-guix1, icedtea 3.7.0, linux-libre 5.1.2, python 3.7.0,
|
||||
rust 1.34.1, shepherd 0.6.1
|
||||
|
||||
** Programming interfaces
|
||||
*** New (guix lzlib) module, to be used eventually for substitute compression
|
||||
** Noteworthy bug fixes
|
||||
*** Installer appends packages to ‘%base-packages’
|
||||
(<https://bugs.gnu.org/35541>)
|
||||
*** Installer allows for arbitrary-long passphrases and passwords
|
||||
(<https://bugs.gnu.org/35716>)
|
||||
*** ‘network-manager-applet’ is provided as part of ‘%desktop-services’
|
||||
(<https://bugs.gnu.org/35554>)
|
||||
*** Installer can create Btrfs file systems
|
||||
(<https://bugs.gnu.org/35655>)
|
||||
*** Installer password entry visibility can be toggled
|
||||
(<https://bugs.gnu.org/35540>)
|
||||
*** ‘guix-daemon.service’ file for systemd selects a valid UTF-8 locale
|
||||
(<https://bugs.gnu.org/35671>)
|
||||
*** ‘gnome-tweak-tool’ starts correctly
|
||||
(<https://bugs.gnu.org/35597>)
|
||||
*** ‘getlogin’ C function now works as expected
|
||||
(<https://bugs.gnu.org/35553>)
|
||||
*** Leading zeros are preserved when serializing FAT UUIDs
|
||||
(<https://bugs.gnu.org/35582>)
|
||||
*** ‘guix search’ now searches output names
|
||||
(<https://bugs.gnu.org/35588>)
|
||||
*** ‘guix environment’ in non ad-hoc mode honors package transformations
|
||||
(<https://bugs.gnu.org/35618>)
|
||||
*** ‘guix refresh’ correctly determines the latest version for GitHub
|
||||
(<https://bugs.gnu.org/35684>)
|
||||
|
||||
** Native language support
|
||||
*** New preliminary translation of the manual to Russian
|
||||
*** Updated translations: da, de, es, fr
|
||||
|
||||
* Changes in 1.0.0 (since 0.16.0)
|
||||
** Package management
|
||||
*** New ‘-v’/‘--verbosity’ option for all commands
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
(package-name "GNU Guix")
|
||||
(package-version "0")
|
||||
(bug-report-address "bug-guix@gnu.org")
|
||||
(home-page-url "https://guix.gnu.org"))
|
||||
(home-page-url "https://gnu.org/s/guix"))
|
||||
|
||||
;; Hack so that Geiser is not confused.
|
||||
(define defmod 'define-module)
|
||||
@@ -399,7 +399,6 @@ files."
|
||||
(mlet %store-monad ((build (build-program source version guile-version
|
||||
#:pull-version pull-version))
|
||||
(system (if system (return system) (current-system)))
|
||||
(home -> (getenv "HOME"))
|
||||
|
||||
;; Note: Use the deprecated names here because the
|
||||
;; caller might be Guix <= 0.16.0.
|
||||
@@ -420,9 +419,6 @@ files."
|
||||
;; $GUILE_LOAD_PATH & co.
|
||||
(with-clean-environment
|
||||
(setenv "GUILE_WARN_DEPRECATED" "no") ;be quiet and drive
|
||||
(when home
|
||||
;; Inherit HOME so that 'xdg-directory' works.
|
||||
(setenv "HOME" home))
|
||||
(open-pipe* OPEN_READ
|
||||
(derivation->output-path build)
|
||||
source system version
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -24,37 +24,17 @@
|
||||
(guix grafts)
|
||||
(guix packages)
|
||||
(guix derivations)
|
||||
(gnu packages)
|
||||
(gnu packages certs)
|
||||
(gnu packages emacs)
|
||||
(gnu packages make-bootstrap)
|
||||
(gnu packages ssh)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26)
|
||||
(ice-9 format))
|
||||
|
||||
(define (packages-for-system system)
|
||||
"Return the list of packages to check for SYSTEM."
|
||||
(let ((base (list %bootstrap-tarballs emacs nss-certs openssh)))
|
||||
;; On Intel systems, make sure key packages proposed by the installer are
|
||||
;; available.
|
||||
(if (member system '("x86_64-linux" "i686-linux"))
|
||||
(append (map specification->package
|
||||
'("xfce" "gnome" "mate" "enlightenment"
|
||||
"openbox" "awesome" "i3-wm" "ratpoison"
|
||||
"network-manager-applet" "xlockmore"
|
||||
"linux-libre" "grub-hybrid" "xorg-server"
|
||||
"libreoffice"
|
||||
;; FIXME: Add IceCat when Rust is available on i686.
|
||||
#;"icecat"))
|
||||
base)
|
||||
base)))
|
||||
|
||||
(with-store store
|
||||
(parameterize ((%graft? #f))
|
||||
(let* ((native (append-map (lambda (system)
|
||||
(map (cut package-derivation store <> system)
|
||||
(packages-for-system system)))
|
||||
(list %bootstrap-tarballs emacs)))
|
||||
%hydra-supported-systems))
|
||||
(cross (map (cut package-cross-derivation store
|
||||
%bootstrap-tarballs <>)
|
||||
|
||||
+17
-42
@@ -91,45 +91,20 @@ to 'make'."
|
||||
|
||||
(match (command-line)
|
||||
((_ . files)
|
||||
(catch #t
|
||||
(lambda ()
|
||||
(compile-files srcdir (getcwd)
|
||||
(filter file-needs-compilation? files)
|
||||
#:workers (parallel-job-count)
|
||||
#:host host
|
||||
#:report-load (lambda (file total completed)
|
||||
(when file
|
||||
(format #t "[~3d%] LOAD ~a~%"
|
||||
(% (+ 1 completed) (* 2 total))
|
||||
file)
|
||||
(force-output)))
|
||||
#:report-compilation (lambda (file total completed)
|
||||
(when file
|
||||
(format #t "[~3d%] GUILEC ~a~%"
|
||||
(% (+ total completed 1)
|
||||
(* 2 total))
|
||||
(scm->go file))
|
||||
(force-output)))))
|
||||
(lambda _
|
||||
(primitive-exit 1))
|
||||
(lambda args
|
||||
;; Try to report the error in an intelligible way.
|
||||
(let* ((stack (make-stack #t))
|
||||
(frame (if (> (stack-length stack) 1)
|
||||
(stack-ref stack 1) ;skip the 'throw' frame
|
||||
(stack-ref stack 0)))
|
||||
(ui (false-if-exception
|
||||
(resolve-module '(guix ui))))
|
||||
(report (and ui
|
||||
(false-if-exception
|
||||
(module-ref ui 'report-load-error)))))
|
||||
(if report
|
||||
;; In Guile <= 2.2.5, 'current-load-port' was not exported.
|
||||
(let ((load-port ((module-ref (resolve-module '(ice-9 ports))
|
||||
'current-load-port))))
|
||||
(report (or (and=> load-port port-filename) "?.scm")
|
||||
args frame))
|
||||
(begin
|
||||
(print-exception (current-error-port) frame
|
||||
(car args) (cdr args))
|
||||
(display-backtrace stack (current-error-port)))))))))
|
||||
(compile-files srcdir (getcwd)
|
||||
(filter file-needs-compilation? files)
|
||||
#:workers (parallel-job-count)
|
||||
#:host host
|
||||
#:report-load (lambda (file total completed)
|
||||
(when file
|
||||
(format #t "[~3d%] LOAD ~a~%"
|
||||
(% (+ 1 completed) (* 2 total))
|
||||
file)
|
||||
(force-output)))
|
||||
#:report-compilation (lambda (file total completed)
|
||||
(when file
|
||||
(format #t "[~3d%] GUILEC ~a~%"
|
||||
(% (+ total completed 1)
|
||||
(* 2 total))
|
||||
(scm->go file))
|
||||
(force-output))))))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -105,7 +105,7 @@ paragraph."
|
||||
(define (write-packages-updates news-file old new)
|
||||
"Write to NEWS-FILE the list of packages upgraded between OLD and NEW."
|
||||
(define important
|
||||
'("gcc-toolchain" "glibc" "binutils" "gdb" ;toolchain
|
||||
'("gcc" "glibc" "binutils" "gdb" ;toolchain
|
||||
"shepherd" "linux-libre" "xorg-server" "cups" ;OS
|
||||
"gnome" "xfce" "enlightenment" "lxde" "mate" ;desktop env.
|
||||
"guile" "bash" "python" "python2" "perl" ;languages
|
||||
|
||||
+2
-12
@@ -119,8 +119,8 @@ if test "x$have_guile_git" != "xyes"; then
|
||||
fi
|
||||
|
||||
dnl Check for Guile-JSON.
|
||||
GUIX_CHECK_GUILE_JSON
|
||||
if test "x$guix_cv_have_recent_guile_json" != "xyes"; then
|
||||
GUILE_MODULE_AVAILABLE([have_guile_json], [(json)])
|
||||
if test "x$have_guile_json" != "xyes"; then
|
||||
AC_MSG_ERROR([Guile-JSON is missing; please install it.])
|
||||
fi
|
||||
|
||||
@@ -250,16 +250,6 @@ AC_MSG_CHECKING([for zlib's shared library name])
|
||||
AC_MSG_RESULT([$LIBZ])
|
||||
AC_SUBST([LIBZ])
|
||||
|
||||
dnl Library name of lzlib suitable for 'dynamic-link'.
|
||||
GUIX_LIBLZ_FILE_NAME([LIBLZ])
|
||||
if test "x$LIBLZ" = "x"; then
|
||||
LIBLZ="liblz"
|
||||
else
|
||||
# Strip the .so or .so.1 extension since that's what 'dynamic-link' expects.
|
||||
LIBLZ="`echo $LIBLZ | sed -es'/\.so\(\.[[0-9.]]\+\)\?//g'`"
|
||||
fi
|
||||
AC_SUBST([LIBLZ])
|
||||
|
||||
dnl Check for Guile-SSH, for the (guix ssh) module.
|
||||
GUIX_CHECK_GUILE_SSH
|
||||
AM_CONDITIONAL([HAVE_GUILE_SSH],
|
||||
|
||||
+138
-201
@@ -34,7 +34,6 @@
|
||||
(gnu packages gawk)
|
||||
(gnu packages gettext)
|
||||
(gnu packages guile)
|
||||
(gnu packages iso-codes)
|
||||
(gnu packages texinfo)
|
||||
(gnu packages tex)
|
||||
(srfi srfi-19)
|
||||
@@ -177,9 +176,6 @@ makeinfo OPTIONS."
|
||||
#:languages languages
|
||||
#:date date))
|
||||
|
||||
(define images
|
||||
(texinfo-manual-images source))
|
||||
|
||||
(define build
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
@@ -187,7 +183,7 @@ makeinfo OPTIONS."
|
||||
(ice-9 match))
|
||||
|
||||
(define (normalize language)
|
||||
;; Normalize LANGUAGE. For instance, "zh_CN" becomes "zh-cn".
|
||||
;; Normalize LANGUAGE. For instance, "zh_CN" become "zh-cn".
|
||||
(string-map (match-lambda
|
||||
(#\_ #\-)
|
||||
(chr chr))
|
||||
@@ -231,15 +227,7 @@ makeinfo OPTIONS."
|
||||
""
|
||||
(string-append "." language))
|
||||
".html")
|
||||
opts)
|
||||
|
||||
;; Make sure images are available.
|
||||
(symlink #$images
|
||||
(string-append #$output "/" (normalize language)
|
||||
"/images"))
|
||||
(symlink #$images
|
||||
(string-append #$output "/" (normalize language)
|
||||
"/html_node/images"))))
|
||||
opts)))
|
||||
'#$languages))))
|
||||
|
||||
(computed-file (string-append manual "-html-manual") build))
|
||||
@@ -377,208 +365,157 @@ from SOURCE."
|
||||
(manual "guix")
|
||||
(date 1))
|
||||
(define build
|
||||
(with-extensions (list guile-json-3)
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
(json)
|
||||
(ice-9 match)
|
||||
(ice-9 popen)
|
||||
(sxml simple)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-19))
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
(ice-9 match)
|
||||
(ice-9 popen)
|
||||
(sxml simple)
|
||||
(srfi srfi-19))
|
||||
|
||||
(define (normalize language) ;XXX: deduplicate
|
||||
;; Normalize LANGUAGE. For instance, "zh_CN" becomes "zh-cn".
|
||||
(string-map (match-lambda
|
||||
(#\_ #\-)
|
||||
(chr chr))
|
||||
(string-downcase language)))
|
||||
(define (normalize language) ;XXX: deduplicate
|
||||
;; Normalize LANGUAGE. For instance, "zh_CN" become "zh-cn".
|
||||
(string-map (match-lambda
|
||||
(#\_ #\-)
|
||||
(chr chr))
|
||||
(string-downcase language)))
|
||||
|
||||
(define-syntax-rule (with-language language exp ...)
|
||||
(let ((lang (getenv "LANGUAGE")))
|
||||
(dynamic-wind
|
||||
(lambda ()
|
||||
(setenv "LANGUAGE" language)
|
||||
(setlocale LC_MESSAGES))
|
||||
(lambda () exp ...)
|
||||
(lambda ()
|
||||
(if lang
|
||||
(setenv "LANGUAGE" lang)
|
||||
(unsetenv "LANGUAGE"))
|
||||
(setlocale LC_MESSAGES)))))
|
||||
(define-syntax-rule (with-language language exp ...)
|
||||
(let ((lang (getenv "LANGUAGE")))
|
||||
(dynamic-wind
|
||||
(lambda ()
|
||||
(setenv "LANGUAGE" language)
|
||||
(setlocale LC_MESSAGES))
|
||||
(lambda () exp ...)
|
||||
(lambda ()
|
||||
(if lang
|
||||
(setenv "LANGUAGE" lang)
|
||||
(unsetenv "LANGUAGE"))
|
||||
(setlocale LC_MESSAGES)))))
|
||||
|
||||
;; (put 'with-language 'scheme-indent-function 1)
|
||||
(define* (translate str language
|
||||
#:key (domain "guix-manual"))
|
||||
(define exp
|
||||
`(begin
|
||||
(bindtextdomain "guix-manual"
|
||||
#+(guix-manual-text-domain
|
||||
source
|
||||
languages))
|
||||
(bindtextdomain "iso_639-3" ;language names
|
||||
#+(file-append iso-codes
|
||||
"/share/locale"))
|
||||
(write (gettext ,str ,domain))))
|
||||
;; (put 'with-language 'scheme-indent-function 1)
|
||||
(define* (translate str language
|
||||
#:key (domain "guix-manual"))
|
||||
(define exp
|
||||
`(begin
|
||||
(bindtextdomain "guix-manual"
|
||||
#+(guix-manual-text-domain
|
||||
source
|
||||
languages))
|
||||
(write (gettext ,str "guix-manual"))))
|
||||
|
||||
(with-language language
|
||||
;; Since the 'gettext' function caches msgid translations,
|
||||
;; regardless of $LANGUAGE, we have to spawn a new process each
|
||||
;; time we want to translate to a different language. Bah!
|
||||
(let* ((pipe (open-pipe* OPEN_READ
|
||||
#+(file-append guile-2.2
|
||||
"/bin/guile")
|
||||
"-c" (object->string exp)))
|
||||
(str (read pipe)))
|
||||
(close-pipe pipe)
|
||||
str)))
|
||||
(with-language language
|
||||
;; Since the 'gettext' function caches msgid translations,
|
||||
;; regardless of $LANGUAGE, we have to spawn a new process each
|
||||
;; time we want to translate to a different language. Bah!
|
||||
(let* ((pipe (open-pipe* OPEN_READ
|
||||
#+(file-append guile-2.2
|
||||
"/bin/guile")
|
||||
"-c" (object->string exp)))
|
||||
(str (read pipe)))
|
||||
(close-pipe pipe)
|
||||
str)))
|
||||
|
||||
(define (seconds->string seconds language)
|
||||
(let* ((time (make-time time-utc 0 seconds))
|
||||
(date (time-utc->date time)))
|
||||
(with-language language (date->string date "~e ~B ~Y"))))
|
||||
(define (seconds->string seconds language)
|
||||
(let* ((time (make-time time-utc 0 seconds))
|
||||
(date (time-utc->date time)))
|
||||
(with-language language (date->string date "~e ~B ~Y"))))
|
||||
|
||||
(define (guix-url path)
|
||||
(string-append #$%web-site-url path))
|
||||
(define (guix-url path)
|
||||
(string-append #$%web-site-url path))
|
||||
|
||||
(define (sxml-index language title body)
|
||||
;; FIXME: Avoid duplicating styling info from guix-artwork.git.
|
||||
`(html (@ (lang ,language))
|
||||
(head
|
||||
(title ,(string-append title " — GNU Guix"))
|
||||
(meta (@ (charset "UTF-8")))
|
||||
(meta (@ (name "viewport") (content "width=device-width, initial-scale=1.0")))
|
||||
;; Menu prefetch.
|
||||
(link (@ (rel "prefetch") (href ,(guix-url "menu/index.html"))))
|
||||
;; Base CSS.
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/elements.css"))))
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/common.css"))))
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/messages.css"))))
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/navbar.css"))))
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/breadcrumbs.css"))))
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/buttons.css"))))
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/footer.css"))))
|
||||
(define (sxml-index language)
|
||||
(define title
|
||||
(translate "GNU Guix Reference Manual" language))
|
||||
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/page.css"))))
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/post.css")))))
|
||||
(body
|
||||
(header (@ (class "navbar"))
|
||||
(h1 (a (@ (class "branding")
|
||||
(href #$%web-site-url)))
|
||||
(span (@ (class "a11y-offset"))
|
||||
"Guix"))
|
||||
(nav (@ (class "menu"))))
|
||||
(nav (@ (class "breadcrumbs"))
|
||||
(a (@ (class "crumb")
|
||||
(href #$%web-site-url))
|
||||
"Home"))
|
||||
,body
|
||||
(footer))))
|
||||
;; FIXME: Avoid duplicating styling info from guix-artwork.git.
|
||||
`(html (@ (lang ,language))
|
||||
(head
|
||||
(title ,(string-append title " — GNU Guix"))
|
||||
(meta (@ (charset "UTF-8")))
|
||||
(meta (@ (name "viewport") (content "width=device-width, initial-scale=1.0")))
|
||||
;; Menu prefetch.
|
||||
(link (@ (rel "prefetch") (href ,(guix-url "menu/index.html"))))
|
||||
;; Base CSS.
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/elements.css"))))
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/common.css"))))
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/messages.css"))))
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/navbar.css"))))
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/breadcrumbs.css"))))
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/buttons.css"))))
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/footer.css"))))
|
||||
|
||||
(define (language-index language)
|
||||
(define title
|
||||
(translate "GNU Guix Reference Manual" language))
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/page.css"))))
|
||||
(link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/post.css")))))
|
||||
(body
|
||||
(header (@ (class "navbar"))
|
||||
(h1 (a (@ (class "branding")
|
||||
(href #$%web-site-url)))
|
||||
(span (@ (class "a11y-offset"))
|
||||
"Guix"))
|
||||
(nav (@ (class "menu"))))
|
||||
(nav (@ (class "breadcrumbs"))
|
||||
(a (@ (class "crumb")
|
||||
(href #$%web-site-url))
|
||||
"Home"))
|
||||
(main
|
||||
(article
|
||||
(@ (class "page centered-block limit-width"))
|
||||
(h2 ,title)
|
||||
(p (@ (class "post-metadata centered-text"))
|
||||
#$version " — "
|
||||
,(seconds->string #$date language))
|
||||
|
||||
(sxml-index
|
||||
language title
|
||||
`(main
|
||||
(article
|
||||
(@ (class "page centered-block limit-width"))
|
||||
(h2 ,title)
|
||||
(p (@ (class "post-metadata centered-text"))
|
||||
#$version " — "
|
||||
,(seconds->string #$date language))
|
||||
(div
|
||||
(ul
|
||||
(li (a (@ (href "html_node"))
|
||||
"HTML, with one page per node"))
|
||||
(li (a (@ (href
|
||||
,(string-append
|
||||
#$manual
|
||||
(if (string=? language
|
||||
"en")
|
||||
""
|
||||
(string-append "."
|
||||
language))
|
||||
".html")))
|
||||
"HTML, entirely on one page"))
|
||||
,@(if (member language '("ru" "zh_CN"))
|
||||
'()
|
||||
`((li (a (@ (href ,(string-append
|
||||
#$manual
|
||||
(if (string=? language "en")
|
||||
""
|
||||
(string-append "."
|
||||
language))
|
||||
".pdf"))))
|
||||
"PDF")))))))
|
||||
(footer))))
|
||||
|
||||
(div
|
||||
(ul
|
||||
(li (a (@ (href "html_node"))
|
||||
"HTML, with one page per node"))
|
||||
(li (a (@ (href
|
||||
,(string-append
|
||||
#$manual
|
||||
(if (string=? language
|
||||
"en")
|
||||
""
|
||||
(string-append "."
|
||||
language))
|
||||
".html")))
|
||||
"HTML, entirely on one page"))
|
||||
,@(if (member language '("ru" "zh_CN"))
|
||||
'()
|
||||
`((li (a (@ (href ,(string-append
|
||||
#$manual
|
||||
(if (string=? language "en")
|
||||
""
|
||||
(string-append "."
|
||||
language))
|
||||
".pdf"))))
|
||||
"PDF")))))))))
|
||||
(define (write-index language file)
|
||||
(call-with-output-file file
|
||||
(lambda (port)
|
||||
(display "<!DOCTYPE html>\n" port)
|
||||
(sxml->xml (sxml-index language) port))))
|
||||
|
||||
(define %iso639-languages
|
||||
(vector->list
|
||||
(assoc-ref (call-with-input-file
|
||||
#+(file-append iso-codes
|
||||
"/share/iso-codes/json/iso_639-3.json")
|
||||
json->scm)
|
||||
"639-3")))
|
||||
(setenv "GUIX_LOCPATH"
|
||||
#+(file-append glibc-utf8-locales "/lib/locale"))
|
||||
(setenv "LC_ALL" "en_US.utf8")
|
||||
(setlocale LC_ALL "en_US.utf8")
|
||||
|
||||
(define (language-code->name code)
|
||||
"Return the full name of a language from its ISO-639-3 code."
|
||||
(let ((code (match (string-index code #\_)
|
||||
(#f code)
|
||||
(index (string-take code index)))))
|
||||
(any (lambda (language)
|
||||
(and (string=? (or (assoc-ref language "alpha_2")
|
||||
(assoc-ref language "alpha_3"))
|
||||
code)
|
||||
(assoc-ref language "name")))
|
||||
%iso639-languages)))
|
||||
(bindtextdomain "guix-manual"
|
||||
#+(guix-manual-text-domain source languages))
|
||||
|
||||
(define (top-level-index languages)
|
||||
(define title
|
||||
"GNU Guix Reference Manual")
|
||||
(sxml-index
|
||||
"en" title
|
||||
`(main
|
||||
(article
|
||||
(@ (class "page centered-block limit-width"))
|
||||
(h2 ,title)
|
||||
(div
|
||||
"The GNU Guix Reference Manual is available in the following
|
||||
languages:\n"
|
||||
(ul
|
||||
,@(map (lambda (language)
|
||||
`(li (a (@ (href ,(normalize language)))
|
||||
,(translate
|
||||
(language-code->name language)
|
||||
language
|
||||
#:domain "iso_639-3"))))
|
||||
languages)))))))
|
||||
(for-each (lambda (language)
|
||||
(define directory
|
||||
(string-append #$output "/"
|
||||
(normalize language)))
|
||||
|
||||
(define (write-html file sxml)
|
||||
(call-with-output-file file
|
||||
(lambda (port)
|
||||
(display "<!DOCTYPE html>\n" port)
|
||||
(sxml->xml sxml port))))
|
||||
|
||||
(setenv "GUIX_LOCPATH"
|
||||
#+(file-append glibc-utf8-locales "/lib/locale"))
|
||||
(setenv "LC_ALL" "en_US.utf8")
|
||||
(setlocale LC_ALL "en_US.utf8")
|
||||
|
||||
(for-each (lambda (language)
|
||||
(define directory
|
||||
(string-append #$output "/"
|
||||
(normalize language)))
|
||||
|
||||
(mkdir-p directory)
|
||||
(write-html (string-append directory "/index.html")
|
||||
(language-index language)))
|
||||
'#$languages)
|
||||
|
||||
(write-html (string-append #$output "/index.html")
|
||||
(top-level-index '#$languages))))))
|
||||
(mkdir-p directory)
|
||||
(write-index language
|
||||
(string-append directory
|
||||
"/index.html")))
|
||||
'#$languages))))
|
||||
|
||||
(computed-file "html-indexes" build))
|
||||
|
||||
|
||||
+22
-24
@@ -38,20 +38,9 @@ version from the Git repository:
|
||||
git clone https://git.savannah.gnu.org/git/guix.git
|
||||
@end example
|
||||
|
||||
The easiest way to set up a development environment for Guix is, of
|
||||
course, by using Guix! The following command starts a new shell where
|
||||
all the dependencies and appropriate environment variables are set up to
|
||||
hack on Guix:
|
||||
|
||||
@example
|
||||
guix environment guix --pure
|
||||
@end example
|
||||
|
||||
@xref{Invoking guix environment}, for more information on that command.
|
||||
|
||||
If you are unable to use Guix when building Guix from a checkout, the
|
||||
following are the required packages in addition to those mentioned in the
|
||||
installation instructions (@pxref{Requirements}).
|
||||
When building Guix from a checkout,
|
||||
the following packages are required in addition to those mentioned in
|
||||
the installation instructions (@pxref{Requirements}).
|
||||
|
||||
@itemize
|
||||
@item @url{http://gnu.org/software/autoconf/, GNU Autoconf};
|
||||
@@ -62,11 +51,20 @@ installation instructions (@pxref{Requirements}).
|
||||
@item @url{http://www.gnu.org/software/help2man/, GNU Help2man (optional)}.
|
||||
@end itemize
|
||||
|
||||
On Guix, extra dependencies can be added by instead running @command{guix
|
||||
environment} with @option{--ad-hoc}:
|
||||
The easiest way to set up a development environment for Guix is, of
|
||||
course, by using Guix! The following command starts a new shell where
|
||||
all the dependencies and appropriate environment variables are set up to
|
||||
hack on Guix:
|
||||
|
||||
@example
|
||||
guix environment guix --pure --ad-hoc help2man git strace
|
||||
guix environment guix
|
||||
@end example
|
||||
|
||||
@xref{Invoking guix environment}, for more information on that command.
|
||||
Extra dependencies can be added with @option{--ad-hoc}:
|
||||
|
||||
@example
|
||||
guix environment guix --ad-hoc help2man git strace
|
||||
@end example
|
||||
|
||||
Run @command{./bootstrap} to generate the build system infrastructure
|
||||
@@ -115,8 +113,8 @@ run @code{make install}. To do that, you first need to have an environment
|
||||
with all the dependencies available (@pxref{Building from Git}), and then
|
||||
simply prefix each command with
|
||||
@command{./pre-inst-env} (the @file{pre-inst-env} script lives in the
|
||||
top build tree of Guix; it is generated by @command{./configure}).
|
||||
An example@footnote{The @option{-E} flag to
|
||||
top build tree of Guix; it is generated by @command{./configure}),
|
||||
as in@footnote{The @option{-E} flag to
|
||||
@command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set
|
||||
such that @command{guix-daemon} and the tools it uses can find the Guile
|
||||
modules they need.}:
|
||||
@@ -127,7 +125,7 @@ $ ./pre-inst-env guix build hello
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
Similarly, an example for a Guile session using the Guix modules:
|
||||
Similarly, for a Guile session using the Guix modules:
|
||||
|
||||
@example
|
||||
$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'
|
||||
@@ -283,7 +281,8 @@ Once your package builds correctly, please send us a patch
|
||||
(@pxref{Submitting Patches}). Well, if you need help, we will be happy to
|
||||
help you too. Once the patch is committed in the Guix repository, the
|
||||
new package automatically gets built on the supported platforms by
|
||||
@url{@value{SUBSTITUTE-SERVER}, our continuous integration system}.
|
||||
@url{http://hydra.gnu.org/jobset/gnu/master, our continuous integration
|
||||
system}.
|
||||
|
||||
@cindex substituter
|
||||
Users can obtain the new package definition simply by running
|
||||
@@ -894,7 +893,7 @@ changes). This branch is intended to be merged in @code{master} every
|
||||
2.5 months or so.
|
||||
@end table
|
||||
|
||||
All these branches are @uref{@value{SUBSTITUTE-SERVER},
|
||||
All these branches are @uref{https://hydra.gnu.org/project/gnu,
|
||||
tracked by our build farm} and merged into @code{master} once
|
||||
everything has been successfully built. This allows us to fix issues
|
||||
before they hit users, and to reduce the window during which pre-built
|
||||
@@ -984,6 +983,5 @@ first send one message to @email{guix-patches@@gnu.org}, and then send
|
||||
subsequent patches to @email{@var{NNN}@@debbugs.gnu.org} to make sure
|
||||
they are kept together. See
|
||||
@uref{https://debbugs.gnu.org/Advanced.html, the Debbugs documentation}
|
||||
for more information. You can install @command{git send-email} with
|
||||
@command{guix install git:send-email}.
|
||||
for more information.
|
||||
@c Debbugs bug: https://debbugs.gnu.org/db/15/15361.html
|
||||
|
||||
+242
-1142
File diff suppressed because it is too large
Load Diff
+1
-4
@@ -22,10 +22,9 @@
|
||||
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
info_TEXINFOS = %D%/guix.texi \
|
||||
%D%/guix.de.texi \
|
||||
%D%/guix.es.texi \
|
||||
%D%/guix.fr.texi \
|
||||
%D%/guix.ru.texi \
|
||||
%D%/guix.de.texi \
|
||||
%D%/guix.zh_CN.texi
|
||||
|
||||
%C%_guix_TEXINFOS = \
|
||||
@@ -61,12 +60,10 @@ TRANSLATED_INFO = \
|
||||
%D%/guix.de.texi \
|
||||
%D%/guix.es.texi \
|
||||
%D%/guix.fr.texi \
|
||||
%D%/guix.ru.texi \
|
||||
%D%/guix.zh_CN.texi \
|
||||
%D%/contributing.de.texi \
|
||||
%D%/contributing.es.texi \
|
||||
%D%/contributing.fr.texi \
|
||||
%D%/contributing.ru.texi \
|
||||
%D%/contributing.zh_CN.texi
|
||||
|
||||
# Bundle this file so that makeinfo finds it in out-of-source-tree builds.
|
||||
|
||||
@@ -7,7 +7,7 @@ Description=Build daemon for GNU Guix
|
||||
|
||||
[Service]
|
||||
ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild
|
||||
Environment='GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
|
||||
Environment=GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale
|
||||
RemainAfterExit=yes
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
|
||||
+13
-18
@@ -3,7 +3,6 @@
|
||||
# Copyright © 2017 sharlatan <sharlatanus@gmail.com>
|
||||
# Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
# Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
# Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -86,12 +85,14 @@ _debug()
|
||||
|
||||
chk_require()
|
||||
{ # Check that every required command is available.
|
||||
declare -a cmds
|
||||
declare -a warn
|
||||
local c
|
||||
|
||||
cmds=(${1})
|
||||
|
||||
_debug "--- [ $FUNCNAME ] ---"
|
||||
|
||||
for c in "$@"; do
|
||||
for c in ${cmds[@]}; do
|
||||
command -v "$c" &>/dev/null || warn+=("$c")
|
||||
done
|
||||
|
||||
@@ -100,17 +101,10 @@ chk_require()
|
||||
return 1; }
|
||||
|
||||
_msg "${PAS}verification of required commands completed"
|
||||
}
|
||||
|
||||
chk_gpg_keyring()
|
||||
{ # Check whether the Guix release signing public key is present.
|
||||
_debug "--- [ $FUNCNAME ] ---"
|
||||
|
||||
# Without --dry-run this command will create a ~/.gnupg owned by root on
|
||||
# systems where gpg has never been used, causing errors and confusion.
|
||||
gpg --dry-run --list-keys ${OPENPGP_SIGNING_KEY_ID} >/dev/null 2>&1 || (
|
||||
gpg --list-keys ${OPENPGP_SIGNING_KEY_ID} >/dev/null 2>&1 || (
|
||||
_err "${ERR}Missing OpenPGP public key. Fetch it with this command:"
|
||||
echo " wget https://sv.gnu.org/people/viewgpg.php?user_id=15145 -qO - | gpg --import -"
|
||||
echo " gpg --keyserver pool.sks-keyservers.net --recv-keys ${OPENPGP_SIGNING_KEY_ID}"
|
||||
exit 1
|
||||
)
|
||||
}
|
||||
@@ -368,12 +362,14 @@ sys_enable_guix_daemon()
|
||||
}
|
||||
|
||||
sys_authorize_build_farms()
|
||||
{ # authorize the public key of the build farm
|
||||
{ # authorize the public keys of the two build farms
|
||||
while true; do
|
||||
read -p "Permit downloading pre-built package binaries from the project's build farm? (yes/no) " yn
|
||||
read -p "Permit downloading pre-built package binaries from the project's build farms? (yes/no) " yn
|
||||
case $yn in
|
||||
[Yy]*) guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/ci.guix.gnu.org.pub" &&
|
||||
_msg "${PAS}Authorized public key for ci.guix.gnu.org";
|
||||
[Yy]*) guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/hydra.gnu.org.pub" &&
|
||||
_msg "${PAS}Authorized public key for hydra.gnu.org";
|
||||
guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/ci.guix.info.pub" &&
|
||||
_msg "${PAS}Authorized public key for ci.guix.info";
|
||||
break;;
|
||||
[Nn]*) _msg "${INF}Skipped authorizing build farm public keys"
|
||||
break;;
|
||||
@@ -421,8 +417,7 @@ main()
|
||||
_msg "Starting installation ($(date))"
|
||||
|
||||
chk_term
|
||||
chk_require "${REQUIRE[@]}"
|
||||
chk_gpg_keyring
|
||||
chk_require "${REQUIRE[*]}"
|
||||
chk_init_sys
|
||||
chk_sys_arch
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ Description=Publish the GNU Guix store
|
||||
|
||||
[Service]
|
||||
ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix publish --user=nobody --port=8181
|
||||
Environment='GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
|
||||
Environment=GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale
|
||||
RemainAfterExit=yes
|
||||
StandardOutput=syslog
|
||||
StandardError=syslog
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: guix-bzr-reference
|
||||
# key: bzr-reference...
|
||||
# --
|
||||
(bzr-reference
|
||||
(url "$1")
|
||||
(revision ${2:ref}))
|
||||
@@ -9,17 +9,15 @@
|
||||
"cvs-fetch"
|
||||
"git-fetch"
|
||||
"hg-fetch"
|
||||
"svn-fetch"
|
||||
"bzr-fetch")})
|
||||
"svn-fetch")})
|
||||
(uri ${1:$(cond ((equal yas-text "git-fetch") "git-reference...")
|
||||
((equal yas-text "svn-fetch") "svn-reference...")
|
||||
((equal yas-text "hg-fetch") "hg-reference...")
|
||||
((equal yas-text "cvs-fetch") "cvs-reference...")
|
||||
((equal yas-text "bzr-fetch") "bzr-reference...")
|
||||
(t "(string-append \\"https://\\" version \\".tar.gz\\")"))}$0)
|
||||
${1:$(cond ((equal yas-text "git-fetch")
|
||||
"(file-name (git-file-name name version))")
|
||||
((member yas-text '("svn-fetch" "hg-fetch" "cvs-fetch" "bzr-fetch"))
|
||||
((member yas-text '("svn-fetch" "hg-fetch" "cvs-fetch"))
|
||||
"(file-name (string-append name \\"-\\" version \\"-checkout\\"))")
|
||||
(t ""))}
|
||||
(sha256
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
(public-key
|
||||
(rsa
|
||||
(n #00DB1634E3D9DFAC97AE4734DAE968CCB15EE4815C82BDC254883DBB49FE1EF32268E82D4BBE0E35298C481C9DA1551642FAFF05AEC1A60712F1BB4BE7D25D7EFF7A4F89704A5A9AC232870CB9F2476C3B538A0E990A8825DEB73081D317001FB8A188600F2FEF5F5F570E857F3EE4355077A3C3918ED72723A56BA55C466D400658974D7DAD1F6B7B63C192B9C2704D98BBFF1C3BD5B8EF11A8ADC83ACB8FD8E9F1E792FDAD262415D13F2DEE55F330908CFDA9C3C8C32B64F7DD088457D34F445E2E2C83C6D680549DC9B6E6573B89496567204ED285E67A279F2F667080BA941D80D015CE87B0FB6A91A99CECC7D91D2D210B00E4B6E611DA51DB008F1DFE3FCAC6B27393FA781D45F9A15FC7B8785A3E86BA6592B2916CA22CF1E40FC85F85CACA590461154F58F3580B16398908EF32076F411299C28727C94D88B6A618F84DD73AEBED8270BCB6690928CB1BF250C35E1F6BF3B1B30D05BA246ECE8F69D9065DE26F4B3E0D814D70A9C27CB5B7B050C9090590D3A9EF83374F2643E5446FBD39DDB124DBF6DFDAA6D18E2560AD0CBFA11C959C9B7316BF19963A191967054E9FD97DC14D71082B30B1C90A46E8996682474C3BCB51BA0882958897B6DD35E41B5174D0A6BCDE97B89043E95BD1B70DE61DA666893B417196A180005466BC3A742FDF04E89B04460E3E6BC72E7F1B5FEA5B3092FEE551A3C447C12E104E65#)
|
||||
(e #010001#)
|
||||
)
|
||||
)
|
||||
+2
-2
@@ -29,7 +29,7 @@
|
||||
;;; Code:
|
||||
|
||||
(define %artwork-repository
|
||||
(let ((commit "2f2fe74c1078be605a6a93c2193fd6c715cebbb0"))
|
||||
(let ((commit "b975164c19c9c0f5d91e5731ec1683e7510c1326"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -39,6 +39,6 @@
|
||||
"-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0c8r0phvm3wgf914n2kw1461cwdjl2zbzqvzq9x7d9pwkgv7xmq7")))))
|
||||
"1fad7az077q9ds3jhp00jfsr8rfw4ws042wmnai52k7jv4kbxwyf")))))
|
||||
|
||||
;;; artwork.scm ends here
|
||||
|
||||
@@ -360,6 +360,7 @@ entries corresponding to old generations of the system."
|
||||
(keyboard-layout-file layout #:grub grub))))
|
||||
(when keymap
|
||||
(format port "\
|
||||
terminal_input at_keyboard
|
||||
insmod keylayouts
|
||||
keymap ~a~%" keymap)))))
|
||||
|
||||
|
||||
+1
-11
@@ -51,7 +51,6 @@
|
||||
group-entry-gid
|
||||
group-entry-members
|
||||
|
||||
%password-lock-file
|
||||
write-group
|
||||
write-passwd
|
||||
write-shadow
|
||||
@@ -225,11 +224,6 @@ each field."
|
||||
(serialization list->comma-separated comma-separated->list)
|
||||
(default '())))
|
||||
|
||||
(define %password-lock-file
|
||||
;; The password database lock file used by libc's 'lckpwdf'. Users should
|
||||
;; grab this lock with 'with-file-lock' when they access the databases.
|
||||
"/etc/.pwd.lock")
|
||||
|
||||
(define (database-writer file mode entry->string)
|
||||
(lambda* (entries #:optional (file-or-port file))
|
||||
"Write ENTRIES to FILE-OR-PORT. When FILE-OR-PORT is a file name, write
|
||||
@@ -249,13 +243,9 @@ to it atomically and set the appropriate permissions."
|
||||
(lambda ()
|
||||
(chmod port mode)
|
||||
(write-entries port)
|
||||
|
||||
(fsync port)
|
||||
(close-port port)
|
||||
(rename-file template file-or-port))
|
||||
(lambda ()
|
||||
(unless (port-closed? port)
|
||||
(close-port port))
|
||||
(close-port port)
|
||||
(when (file-exists? template)
|
||||
(delete-file template))))))))
|
||||
|
||||
|
||||
+14
-19
@@ -22,7 +22,6 @@
|
||||
#:use-module (gnu build accounts)
|
||||
#:use-module (gnu build linux-boot)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module ((guix build syscalls) #:select (with-file-lock))
|
||||
#:use-module (ice-9 ftw)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 vlist)
|
||||
@@ -130,26 +129,22 @@ group records) are all available."
|
||||
;; Allow home directories to be created under /var/lib.
|
||||
(mkdir-p "/var/lib")
|
||||
|
||||
;; Take same lock as libc's 'lckpwdf' (but without a timeout) while we read
|
||||
;; and write the databases. This ensures there's no race condition with
|
||||
;; other tools that might be accessing it at the same time.
|
||||
(with-file-lock %password-lock-file
|
||||
(let-values (((groups passwd shadow)
|
||||
(user+group-databases users groups)))
|
||||
(write-group groups)
|
||||
(write-passwd passwd)
|
||||
(write-shadow shadow)))
|
||||
(let-values (((groups passwd shadow)
|
||||
(user+group-databases users groups)))
|
||||
(write-group groups)
|
||||
(write-passwd passwd)
|
||||
(write-shadow shadow)
|
||||
|
||||
;; Home directories of non-system accounts are created by
|
||||
;; 'activate-user-home'.
|
||||
(for-each make-home-directory system-accounts)
|
||||
;; Home directories of non-system accounts are created by
|
||||
;; 'activate-user-home'.
|
||||
(for-each make-home-directory system-accounts)
|
||||
|
||||
;; Turn shared home directories, such as /var/empty, into root-owned,
|
||||
;; read-only places.
|
||||
(for-each (lambda (directory)
|
||||
(chown directory 0 0)
|
||||
(chmod directory #o555))
|
||||
(duplicates (map user-account-home-directory system-accounts))))
|
||||
;; Turn shared home directories, such as /var/empty, into root-owned,
|
||||
;; read-only places.
|
||||
(for-each (lambda (directory)
|
||||
(chown directory 0 0)
|
||||
(chmod directory #o555))
|
||||
(duplicates (map user-account-home-directory system-accounts)))))
|
||||
|
||||
(define (activate-user-home users)
|
||||
"Create and populate the home directory of USERS, a list of tuples, unless
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -96,7 +95,7 @@ C_INCLUDE_PATH et al."
|
||||
;; We're building the sans-libc cross-compiler, so nothing to do.
|
||||
#t)))
|
||||
|
||||
(define* (set-cross-path/mingw #:key inputs target #:allow-other-keys)
|
||||
(define* (set-cross-path/mingw #:key inputs #:allow-other-keys)
|
||||
"Add the cross MinGW headers to CROSS_C_*_INCLUDE_PATH, and remove them from
|
||||
C_*INCLUDE_PATH."
|
||||
(let ((libc (assoc-ref inputs "libc"))
|
||||
@@ -113,7 +112,7 @@ C_*INCLUDE_PATH."
|
||||
|
||||
(if libc
|
||||
(let ((cpath (string-append libc "/include"
|
||||
":" libc "/" target "/include")))
|
||||
":" libc "/i686-w64-mingw32/include")))
|
||||
(for-each (cut setenv <> cpath)
|
||||
%gcc-cross-include-paths))
|
||||
|
||||
@@ -143,7 +142,7 @@ C_*INCLUDE_PATH."
|
||||
(when libc
|
||||
(setenv "CROSS_LIBRARY_PATH"
|
||||
(string-append libc "/lib"
|
||||
":" libc "/" target "/lib")))
|
||||
":" libc "/i686-w64-mingw32/lib")))
|
||||
|
||||
(setenv "CPP" (string-append gcc "/bin/cpp"))
|
||||
(for-each (lambda (var)
|
||||
@@ -169,12 +168,8 @@ C_*INCLUDE_PATH."
|
||||
a target triplet."
|
||||
(modify-phases phases
|
||||
(add-before 'configure 'set-cross-path
|
||||
;; This mingw32 target checking logic should match that of target-mingw?
|
||||
;; in (guix utils), but (guix utils) is too large too copy over to the
|
||||
;; build side entirely and for now we have no way to select variables to
|
||||
;; copy over. See (gnu packages cross-base) for more details.
|
||||
(if (string-suffix? "-mingw32" target)
|
||||
(cut set-cross-path/mingw #:target target <...>)
|
||||
(if (string-contains target "mingw")
|
||||
set-cross-path/mingw
|
||||
set-cross-path))
|
||||
(add-after 'install 'make-cross-binutils-visible
|
||||
(cut make-cross-binutils-visible #:target target <...>))
|
||||
|
||||
@@ -517,8 +517,6 @@ upon error."
|
||||
(unless (pre-mount)
|
||||
(error "pre-mount actions failed")))
|
||||
|
||||
(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
|
||||
@@ -535,8 +533,6 @@ upon error."
|
||||
(for-each mount-file-system
|
||||
(remove root-mount-point? mounts))
|
||||
|
||||
(setenv "EXT2FS_NO_MTAB_OK" #f)
|
||||
|
||||
(if to-load
|
||||
(begin
|
||||
(switch-root "/root")
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 rdelim)
|
||||
#:use-module (srfi srfi-98)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix build syscalls)
|
||||
#:use-module (gnu system file-systems) ;<file-system>
|
||||
@@ -130,14 +131,9 @@ for the process."
|
||||
"/dev/random"
|
||||
"/dev/urandom"
|
||||
"/dev/tty"
|
||||
"/dev/ptmx"
|
||||
"/dev/fuse"))
|
||||
|
||||
;; Mount a new devpts instance on /dev/pts.
|
||||
(when (file-exists? "/dev/ptmx")
|
||||
(mount* "none" (scope "/dev/pts") "devpts" 0
|
||||
"newinstance,mode=0620")
|
||||
(symlink "/dev/pts/ptmx" (scope "/dev/ptmx")))
|
||||
|
||||
;; Setup the container's /dev/console by bind mounting the pseudo-terminal
|
||||
;; associated with standard input when there is one.
|
||||
(let* ((in (current-input-port))
|
||||
@@ -283,21 +279,6 @@ that host UIDs (respectively GIDs) map to in the namespace."
|
||||
(_ ;unexpected termination
|
||||
#f)))))))))
|
||||
|
||||
;; FIXME: This is copied from (guix utils), which we cannot use because it
|
||||
;; would pull (guix config) and all.
|
||||
(define (call-with-temporary-directory proc)
|
||||
"Call PROC with a name of a temporary directory; close the directory and
|
||||
delete it when leaving the dynamic extent of this call."
|
||||
(let* ((directory (or (getenv "TMPDIR") "/tmp"))
|
||||
(template (string-append directory "/guix-directory.XXXXXX"))
|
||||
(tmp-dir (mkdtemp! template)))
|
||||
(dynamic-wind
|
||||
(const #t)
|
||||
(lambda ()
|
||||
(proc tmp-dir))
|
||||
(lambda ()
|
||||
(false-if-exception (delete-file-recursively tmp-dir))))))
|
||||
|
||||
(define* (call-with-container mounts thunk #:key (namespaces %namespaces)
|
||||
(host-uids 1) (guest-uid 0) (guest-gid 0))
|
||||
"Run THUNK in a new container process and return its exit status.
|
||||
|
||||
@@ -1,95 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019 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/>.
|
||||
|
||||
(define-module (gnu build locale)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (ice-9 rdelim)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 regex)
|
||||
#:export (build-locale
|
||||
normalize-codeset
|
||||
locale->name+codeset
|
||||
read-supported-locales))
|
||||
|
||||
(define locale-rx
|
||||
;; Regexp matching a locale line in 'localedata/SUPPORTED'.
|
||||
(make-regexp
|
||||
"^[[:space:]]*([[:graph:]]+)/([[:graph:]]+)[[:space:]]*\\\\$"))
|
||||
|
||||
(define (read-supported-locales port)
|
||||
"Read the 'localedata/SUPPORTED' file from PORT. That file is actually a
|
||||
makefile snippet, with one locale per line, and a header that can be
|
||||
discarded."
|
||||
(let loop ((locales '()))
|
||||
(define line
|
||||
(read-line port))
|
||||
|
||||
(cond ((eof-object? line)
|
||||
(reverse locales))
|
||||
((string-prefix? "#" (string-trim line)) ;comment
|
||||
(loop locales))
|
||||
((string-contains line "=") ;makefile variable assignment
|
||||
(loop locales))
|
||||
(else
|
||||
(match (regexp-exec locale-rx line)
|
||||
(#f
|
||||
(loop locales))
|
||||
(m
|
||||
(loop (alist-cons (match:substring m 1)
|
||||
(match:substring m 2)
|
||||
locales))))))))
|
||||
|
||||
(define (normalize-codeset codeset)
|
||||
"Compute the \"normalized\" variant of CODESET."
|
||||
;; info "(libc) Using gettextized software", for the algorithm used to
|
||||
;; compute the normalized codeset.
|
||||
(letrec-syntax ((-> (syntax-rules ()
|
||||
((_ proc value)
|
||||
(proc value))
|
||||
((_ proc rest ...)
|
||||
(proc (-> rest ...))))))
|
||||
(-> (lambda (str)
|
||||
(if (string-every char-set:digit str)
|
||||
(string-append "iso" str)
|
||||
str))
|
||||
string-downcase
|
||||
(lambda (str)
|
||||
(string-filter char-set:letter+digit str))
|
||||
codeset)))
|
||||
|
||||
(define* (build-locale locale
|
||||
#:key
|
||||
(localedef "localedef")
|
||||
(directory ".")
|
||||
(codeset "UTF-8")
|
||||
(name (string-append locale "." codeset)))
|
||||
"Compute locale data for LOCALE and CODESET--e.g., \"en_US\" and
|
||||
\"UTF-8\"--with LOCALEDEF, and store it in DIRECTORY under NAME."
|
||||
(format #t "building locale '~a'...~%" name)
|
||||
(invoke localedef "--no-archive" "--prefix" directory
|
||||
"-i" locale "-f" codeset
|
||||
(string-append directory "/" name)))
|
||||
|
||||
(define (locale->name+codeset locale)
|
||||
"Split a locale name such as \"aa_ER@saaho.UTF-8\" into two values: the
|
||||
language/territory/modifier part, and the codeset."
|
||||
(match (string-rindex locale #\.)
|
||||
(#f (values locale #f))
|
||||
(dot (values (string-take locale dot)
|
||||
(string-drop locale (+ dot 1))))))
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@@ -310,8 +310,6 @@ PREDICATE, whichever comes first. Raise an error when TIMEOUT is exceeded."
|
||||
(#\? . "shift-slash")
|
||||
(#\[ . "bracket_left")
|
||||
(#\] . "bracket_right")
|
||||
(#\{ . "shift-bracket_left")
|
||||
(#\} . "shift-bracket_right")
|
||||
(#\( . "shift-9")
|
||||
(#\) . "shift-0")
|
||||
(#\/ . "slash")
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -81,14 +81,6 @@
|
||||
(not (memq 'user namespaces)))
|
||||
accounts
|
||||
'())
|
||||
|
||||
;; Tell the process what timezone we're in. This
|
||||
;; makes sure that, for instance, its syslog
|
||||
;; messages have the correct timestamp.
|
||||
,(file-system-mapping
|
||||
(source "/etc/localtime")
|
||||
(target source))
|
||||
|
||||
,%store-mapping))) ;XXX: coarse-grain
|
||||
(map file-system-mapping->bind-mount
|
||||
(filter (lambda (mapping)
|
||||
|
||||
+2
-17
@@ -145,7 +145,6 @@ the #:references-graphs parameter of 'derivation'."
|
||||
(_ #f))
|
||||
|
||||
(apply invoke qemu "-nographic" "-no-reboot"
|
||||
"-smp" (number->string (parallel-job-count))
|
||||
"-m" (number->string memory-size)
|
||||
"-object" "rng-random,filename=/dev/urandom,id=guixsd-vm-rng"
|
||||
"-device" "virtio-rng-pci,rng=guixsd-vm-rng"
|
||||
@@ -423,8 +422,7 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
|
||||
;; Graft the configuration file onto the image.
|
||||
(string-append "boot/grub/grub.cfg=" config-file))))
|
||||
|
||||
(define* (make-iso9660-image xorriso grub-mkrescue-environment
|
||||
grub config-file os-drv target
|
||||
(define* (make-iso9660-image grub config-file os-drv target
|
||||
#:key (volume-id "Guix_image") (volume-uuid #f)
|
||||
register-closures? (closures '()))
|
||||
"Given a GRUB package, creates an iso image as TARGET, using CONFIG-FILE as
|
||||
@@ -432,9 +430,6 @@ GRUB configuration and OS-DRV as the stuff in it."
|
||||
(define grub-mkrescue
|
||||
(string-append grub "/bin/grub-mkrescue"))
|
||||
|
||||
(define grub-mkrescue-sed.sh
|
||||
(string-append xorriso "/bin/grub-mkrescue-sed.sh"))
|
||||
|
||||
(define target-store
|
||||
(string-append "/tmp/root" (%store-directory)))
|
||||
|
||||
@@ -487,19 +482,9 @@ GRUB configuration and OS-DRV as the stuff in it."
|
||||
#x77777777)
|
||||
16))
|
||||
|
||||
(setenv "MKRESCUE_SED_MODE" "original")
|
||||
(setenv "MKRESCUE_SED_XORRISO" (string-append xorriso
|
||||
"/bin/xorriso"))
|
||||
(setenv "MKRESCUE_SED_IN_EFI_NO_PT" "yes")
|
||||
(for-each (match-lambda
|
||||
((name . value) (setenv name value)))
|
||||
grub-mkrescue-environment)
|
||||
|
||||
(let ((pipe
|
||||
(apply open-pipe* OPEN_WRITE
|
||||
grub-mkrescue
|
||||
(string-append "--xorriso=" grub-mkrescue-sed.sh)
|
||||
"-o" target
|
||||
grub-mkrescue "-o" target
|
||||
(string-append "boot/grub/grub.cfg=" config-file)
|
||||
"etc=/tmp/root/etc"
|
||||
"var=/tmp/root/var"
|
||||
|
||||
+3
-6
@@ -130,8 +130,7 @@ SYSTEM."
|
||||
"aarch64-linux-gnu"
|
||||
"powerpc-linux-gnu"
|
||||
"i586-pc-gnu" ;aka. GNU/Hurd
|
||||
"i686-w64-mingw32"
|
||||
"x86_64-w64-mingw32"))
|
||||
"i686-w64-mingw32"))
|
||||
|
||||
(define %guixsd-supported-systems
|
||||
'("x86_64-linux" "i686-linux" "armhf-linux"))
|
||||
@@ -194,11 +193,9 @@ system.")
|
||||
(define channel-build-system
|
||||
;; Build system used to "convert" a channel instance to a package.
|
||||
(let* ((build (lambda* (store name inputs
|
||||
#:key instance system
|
||||
#:allow-other-keys)
|
||||
#:key instance #:allow-other-keys)
|
||||
(run-with-store store
|
||||
(channel-instances->derivation (list instance))
|
||||
#:system system)))
|
||||
(channel-instances->derivation (list instance)))))
|
||||
(lower (lambda* (name #:key system instance #:allow-other-keys)
|
||||
(bag
|
||||
(name name)
|
||||
|
||||
+3
-12
@@ -39,7 +39,6 @@
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu system locale)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:export (installer-program))
|
||||
@@ -69,7 +68,7 @@ version of this file."
|
||||
(setlocale LC_ALL "en_US.utf8")))
|
||||
|
||||
(define builder
|
||||
(with-extensions (list guile-json-3)
|
||||
(with-extensions (list guile-json)
|
||||
(with-imported-modules (source-module-closure
|
||||
'((gnu installer locale)))
|
||||
#~(begin
|
||||
@@ -119,7 +118,7 @@ been performed at build time."
|
||||
(string-append #$file "/" #$name ".go")))
|
||||
|
||||
(let* ((supported-locales #~(supported-locales->locales
|
||||
#+(glibc-supported-locales)))
|
||||
#$(local-file "installer/aux-files/SUPPORTED")))
|
||||
(iso-codes #~(string-append #$iso-codes "/share/iso-codes/json/"))
|
||||
(iso639-3 #~(string-append #$iso-codes "iso_639-3.json"))
|
||||
(iso639-5 #~(string-append #$iso-codes "iso_639-5.json"))
|
||||
@@ -292,7 +291,6 @@ selected keymap."
|
||||
cryptsetup
|
||||
dosfstools ;mkfs.fat
|
||||
e2fsprogs ;mkfs.ext4
|
||||
btrfs-progs
|
||||
kbd ;chvt
|
||||
guix ;guix system init call
|
||||
util-linux ;mkwap
|
||||
@@ -313,7 +311,7 @@ selected keymap."
|
||||
;; packages …), etc. modules.
|
||||
(with-extensions (list guile-gcrypt guile-newt
|
||||
guile-parted guile-bytestructures
|
||||
guile-json-3 guile-git guix)
|
||||
guile-json guile-git guix)
|
||||
(with-imported-modules `(,@(source-module-closure
|
||||
`(,@modules
|
||||
(gnu services herd)
|
||||
@@ -337,8 +335,6 @@ selected keymap."
|
||||
(gnu services herd)
|
||||
(guix i18n)
|
||||
(guix build utils)
|
||||
((system repl debug)
|
||||
#:select (terminal-width))
|
||||
(ice-9 match))
|
||||
|
||||
;; Initialize gettext support so that installers can use
|
||||
@@ -362,11 +358,6 @@ selected keymap."
|
||||
(bindtextdomain "xkeyboard-config"
|
||||
#+(file-append xkeyboard-config "/share/locale"))
|
||||
|
||||
;; Initialize 'terminal-width' in (system repl debug)
|
||||
;; to a large-enough value to make backtrace more
|
||||
;; verbose.
|
||||
(terminal-width 200)
|
||||
|
||||
(let* ((current-installer newt-installer)
|
||||
(steps (#$steps current-installer)))
|
||||
((installer-init current-installer))
|
||||
|
||||
@@ -0,0 +1,484 @@
|
||||
aa_DJ.UTF-8 UTF-8
|
||||
aa_DJ ISO-8859-1
|
||||
aa_ER UTF-8
|
||||
aa_ER@saaho UTF-8
|
||||
aa_ET UTF-8
|
||||
af_ZA.UTF-8 UTF-8
|
||||
af_ZA ISO-8859-1
|
||||
agr_PE UTF-8
|
||||
ak_GH UTF-8
|
||||
am_ET UTF-8
|
||||
an_ES.UTF-8 UTF-8
|
||||
an_ES ISO-8859-15
|
||||
anp_IN UTF-8
|
||||
ar_AE.UTF-8 UTF-8
|
||||
ar_AE ISO-8859-6
|
||||
ar_BH.UTF-8 UTF-8
|
||||
ar_BH ISO-8859-6
|
||||
ar_DZ.UTF-8 UTF-8
|
||||
ar_DZ ISO-8859-6
|
||||
ar_EG.UTF-8 UTF-8
|
||||
ar_EG ISO-8859-6
|
||||
ar_IN UTF-8
|
||||
ar_IQ.UTF-8 UTF-8
|
||||
ar_IQ ISO-8859-6
|
||||
ar_JO.UTF-8 UTF-8
|
||||
ar_JO ISO-8859-6
|
||||
ar_KW.UTF-8 UTF-8
|
||||
ar_KW ISO-8859-6
|
||||
ar_LB.UTF-8 UTF-8
|
||||
ar_LB ISO-8859-6
|
||||
ar_LY.UTF-8 UTF-8
|
||||
ar_LY ISO-8859-6
|
||||
ar_MA.UTF-8 UTF-8
|
||||
ar_MA ISO-8859-6
|
||||
ar_OM.UTF-8 UTF-8
|
||||
ar_OM ISO-8859-6
|
||||
ar_QA.UTF-8 UTF-8
|
||||
ar_QA ISO-8859-6
|
||||
ar_SA.UTF-8 UTF-8
|
||||
ar_SA ISO-8859-6
|
||||
ar_SD.UTF-8 UTF-8
|
||||
ar_SD ISO-8859-6
|
||||
ar_SS UTF-8
|
||||
ar_SY.UTF-8 UTF-8
|
||||
ar_SY ISO-8859-6
|
||||
ar_TN.UTF-8 UTF-8
|
||||
ar_TN ISO-8859-6
|
||||
ar_YE.UTF-8 UTF-8
|
||||
ar_YE ISO-8859-6
|
||||
ayc_PE UTF-8
|
||||
az_AZ UTF-8
|
||||
az_IR UTF-8
|
||||
as_IN UTF-8
|
||||
ast_ES.UTF-8 UTF-8
|
||||
ast_ES ISO-8859-15
|
||||
be_BY.UTF-8 UTF-8
|
||||
be_BY CP1251
|
||||
be_BY@latin UTF-8
|
||||
bem_ZM UTF-8
|
||||
ber_DZ UTF-8
|
||||
ber_MA UTF-8
|
||||
bg_BG.UTF-8 UTF-8
|
||||
bg_BG CP1251
|
||||
bhb_IN.UTF-8 UTF-8
|
||||
bho_IN UTF-8
|
||||
bho_NP UTF-8
|
||||
bi_VU UTF-8
|
||||
bn_BD UTF-8
|
||||
bn_IN UTF-8
|
||||
bo_CN UTF-8
|
||||
bo_IN UTF-8
|
||||
br_FR.UTF-8 UTF-8
|
||||
br_FR ISO-8859-1
|
||||
br_FR@euro ISO-8859-15
|
||||
brx_IN UTF-8
|
||||
bs_BA.UTF-8 UTF-8
|
||||
bs_BA ISO-8859-2
|
||||
byn_ER UTF-8
|
||||
ca_AD.UTF-8 UTF-8
|
||||
ca_AD ISO-8859-15
|
||||
ca_ES.UTF-8 UTF-8
|
||||
ca_ES ISO-8859-1
|
||||
ca_ES@euro ISO-8859-15
|
||||
ca_ES@valencia UTF-8
|
||||
ca_FR.UTF-8 UTF-8
|
||||
ca_FR ISO-8859-15
|
||||
ca_IT.UTF-8 UTF-8
|
||||
ca_IT ISO-8859-15
|
||||
ce_RU UTF-8
|
||||
chr_US UTF-8
|
||||
cmn_TW UTF-8
|
||||
crh_UA UTF-8
|
||||
cs_CZ.UTF-8 UTF-8
|
||||
cs_CZ ISO-8859-2
|
||||
csb_PL UTF-8
|
||||
cv_RU UTF-8
|
||||
cy_GB.UTF-8 UTF-8
|
||||
cy_GB ISO-8859-14
|
||||
da_DK.UTF-8 UTF-8
|
||||
da_DK ISO-8859-1
|
||||
de_AT.UTF-8 UTF-8
|
||||
de_AT ISO-8859-1
|
||||
de_AT@euro ISO-8859-15
|
||||
de_BE.UTF-8 UTF-8
|
||||
de_BE ISO-8859-1
|
||||
de_BE@euro ISO-8859-15
|
||||
de_CH.UTF-8 UTF-8
|
||||
de_CH ISO-8859-1
|
||||
de_DE.UTF-8 UTF-8
|
||||
de_DE ISO-8859-1
|
||||
de_DE@euro ISO-8859-15
|
||||
de_IT.UTF-8 UTF-8
|
||||
de_IT ISO-8859-1
|
||||
de_LI.UTF-8 UTF-8
|
||||
de_LU.UTF-8 UTF-8
|
||||
de_LU ISO-8859-1
|
||||
de_LU@euro ISO-8859-15
|
||||
doi_IN UTF-8
|
||||
dv_MV UTF-8
|
||||
dz_BT UTF-8
|
||||
el_GR.UTF-8 UTF-8
|
||||
el_GR ISO-8859-7
|
||||
el_GR@euro ISO-8859-7
|
||||
el_CY.UTF-8 UTF-8
|
||||
el_CY ISO-8859-7
|
||||
en_AG UTF-8
|
||||
en_AU.UTF-8 UTF-8
|
||||
en_AU ISO-8859-1
|
||||
en_BW.UTF-8 UTF-8
|
||||
en_BW ISO-8859-1
|
||||
en_CA.UTF-8 UTF-8
|
||||
en_CA ISO-8859-1
|
||||
en_DK.UTF-8 UTF-8
|
||||
en_DK ISO-8859-1
|
||||
en_GB.UTF-8 UTF-8
|
||||
en_GB ISO-8859-1
|
||||
en_HK.UTF-8 UTF-8
|
||||
en_HK ISO-8859-1
|
||||
en_IE.UTF-8 UTF-8
|
||||
en_IE ISO-8859-1
|
||||
en_IE@euro ISO-8859-15
|
||||
en_IL UTF-8
|
||||
en_IN UTF-8
|
||||
en_NG UTF-8
|
||||
en_NZ.UTF-8 UTF-8
|
||||
en_NZ ISO-8859-1
|
||||
en_PH.UTF-8 UTF-8
|
||||
en_PH ISO-8859-1
|
||||
en_SC.UTF-8 UTF-8
|
||||
en_SG.UTF-8 UTF-8
|
||||
en_SG ISO-8859-1
|
||||
en_US.UTF-8 UTF-8
|
||||
en_US ISO-8859-1
|
||||
en_ZA.UTF-8 UTF-8
|
||||
en_ZA ISO-8859-1
|
||||
en_ZM UTF-8
|
||||
en_ZW.UTF-8 UTF-8
|
||||
en_ZW ISO-8859-1
|
||||
eo UTF-8
|
||||
es_AR.UTF-8 UTF-8
|
||||
es_AR ISO-8859-1
|
||||
es_BO.UTF-8 UTF-8
|
||||
es_BO ISO-8859-1
|
||||
es_CL.UTF-8 UTF-8
|
||||
es_CL ISO-8859-1
|
||||
es_CO.UTF-8 UTF-8
|
||||
es_CO ISO-8859-1
|
||||
es_CR.UTF-8 UTF-8
|
||||
es_CR ISO-8859-1
|
||||
es_CU UTF-8
|
||||
es_DO.UTF-8 UTF-8
|
||||
es_DO ISO-8859-1
|
||||
es_EC.UTF-8 UTF-8
|
||||
es_EC ISO-8859-1
|
||||
es_ES.UTF-8 UTF-8
|
||||
es_ES ISO-8859-1
|
||||
es_ES@euro ISO-8859-15
|
||||
es_GT.UTF-8 UTF-8
|
||||
es_GT ISO-8859-1
|
||||
es_HN.UTF-8 UTF-8
|
||||
es_HN ISO-8859-1
|
||||
es_MX.UTF-8 UTF-8
|
||||
es_MX ISO-8859-1
|
||||
es_NI.UTF-8 UTF-8
|
||||
es_NI ISO-8859-1
|
||||
es_PA.UTF-8 UTF-8
|
||||
es_PA ISO-8859-1
|
||||
es_PE.UTF-8 UTF-8
|
||||
es_PE ISO-8859-1
|
||||
es_PR.UTF-8 UTF-8
|
||||
es_PR ISO-8859-1
|
||||
es_PY.UTF-8 UTF-8
|
||||
es_PY ISO-8859-1
|
||||
es_SV.UTF-8 UTF-8
|
||||
es_SV ISO-8859-1
|
||||
es_US.UTF-8 UTF-8
|
||||
es_US ISO-8859-1
|
||||
es_UY.UTF-8 UTF-8
|
||||
es_UY ISO-8859-1
|
||||
es_VE.UTF-8 UTF-8
|
||||
es_VE ISO-8859-1
|
||||
et_EE.UTF-8 UTF-8
|
||||
et_EE ISO-8859-1
|
||||
et_EE.ISO-8859-15 ISO-8859-15
|
||||
eu_ES.UTF-8 UTF-8
|
||||
eu_ES ISO-8859-1
|
||||
eu_ES@euro ISO-8859-15
|
||||
fa_IR UTF-8
|
||||
ff_SN UTF-8
|
||||
fi_FI.UTF-8 UTF-8
|
||||
fi_FI ISO-8859-1
|
||||
fi_FI@euro ISO-8859-15
|
||||
fil_PH UTF-8
|
||||
fo_FO.UTF-8 UTF-8
|
||||
fo_FO ISO-8859-1
|
||||
fr_BE.UTF-8 UTF-8
|
||||
fr_BE ISO-8859-1
|
||||
fr_BE@euro ISO-8859-15
|
||||
fr_CA.UTF-8 UTF-8
|
||||
fr_CA ISO-8859-1
|
||||
fr_CH.UTF-8 UTF-8
|
||||
fr_CH ISO-8859-1
|
||||
fr_FR.UTF-8 UTF-8
|
||||
fr_FR ISO-8859-1
|
||||
fr_FR@euro ISO-8859-15
|
||||
fr_LU.UTF-8 UTF-8
|
||||
fr_LU ISO-8859-1
|
||||
fr_LU@euro ISO-8859-15
|
||||
fur_IT UTF-8
|
||||
fy_NL UTF-8
|
||||
fy_DE UTF-8
|
||||
ga_IE.UTF-8 UTF-8
|
||||
ga_IE ISO-8859-1
|
||||
ga_IE@euro ISO-8859-15
|
||||
gd_GB.UTF-8 UTF-8
|
||||
gd_GB ISO-8859-15
|
||||
gez_ER UTF-8
|
||||
gez_ER@abegede UTF-8
|
||||
gez_ET UTF-8
|
||||
gez_ET@abegede UTF-8
|
||||
gl_ES.UTF-8 UTF-8
|
||||
gl_ES ISO-8859-1
|
||||
gl_ES@euro ISO-8859-15
|
||||
gu_IN UTF-8
|
||||
gv_GB.UTF-8 UTF-8
|
||||
gv_GB ISO-8859-1
|
||||
ha_NG UTF-8
|
||||
hak_TW UTF-8
|
||||
he_IL.UTF-8 UTF-8
|
||||
he_IL ISO-8859-8
|
||||
hi_IN UTF-8
|
||||
hif_FJ UTF-8
|
||||
hne_IN UTF-8
|
||||
hr_HR.UTF-8 UTF-8
|
||||
hr_HR ISO-8859-2
|
||||
hsb_DE ISO-8859-2
|
||||
hsb_DE.UTF-8 UTF-8
|
||||
ht_HT UTF-8
|
||||
hu_HU.UTF-8 UTF-8
|
||||
hu_HU ISO-8859-2
|
||||
hy_AM UTF-8
|
||||
hy_AM.ARMSCII-8 ARMSCII-8
|
||||
ia_FR UTF-8
|
||||
id_ID.UTF-8 UTF-8
|
||||
id_ID ISO-8859-1
|
||||
ig_NG UTF-8
|
||||
ik_CA UTF-8
|
||||
is_IS.UTF-8 UTF-8
|
||||
is_IS ISO-8859-1
|
||||
it_CH.UTF-8 UTF-8
|
||||
it_CH ISO-8859-1
|
||||
it_IT.UTF-8 UTF-8
|
||||
it_IT ISO-8859-1
|
||||
it_IT@euro ISO-8859-15
|
||||
iu_CA UTF-8
|
||||
ja_JP.EUC-JP EUC-JP
|
||||
ja_JP.UTF-8 UTF-8
|
||||
ka_GE.UTF-8 UTF-8
|
||||
ka_GE GEORGIAN-PS
|
||||
kab_DZ UTF-8
|
||||
kk_KZ.UTF-8 UTF-8
|
||||
kk_KZ PT154
|
||||
kl_GL.UTF-8 UTF-8
|
||||
kl_GL ISO-8859-1
|
||||
km_KH UTF-8
|
||||
kn_IN UTF-8
|
||||
ko_KR.EUC-KR EUC-KR
|
||||
ko_KR.UTF-8 UTF-8
|
||||
kok_IN UTF-8
|
||||
ks_IN UTF-8
|
||||
ks_IN@devanagari UTF-8
|
||||
ku_TR.UTF-8 UTF-8
|
||||
ku_TR ISO-8859-9
|
||||
kw_GB.UTF-8 UTF-8
|
||||
kw_GB ISO-8859-1
|
||||
ky_KG UTF-8
|
||||
lb_LU UTF-8
|
||||
lg_UG.UTF-8 UTF-8
|
||||
lg_UG ISO-8859-10
|
||||
li_BE UTF-8
|
||||
li_NL UTF-8
|
||||
lij_IT UTF-8
|
||||
ln_CD UTF-8
|
||||
lo_LA UTF-8
|
||||
lt_LT.UTF-8 UTF-8
|
||||
lt_LT ISO-8859-13
|
||||
lv_LV.UTF-8 UTF-8
|
||||
lv_LV ISO-8859-13
|
||||
lzh_TW UTF-8
|
||||
mag_IN UTF-8
|
||||
mai_IN UTF-8
|
||||
mai_NP UTF-8
|
||||
mfe_MU UTF-8
|
||||
mg_MG.UTF-8 UTF-8
|
||||
mg_MG ISO-8859-15
|
||||
mhr_RU UTF-8
|
||||
mi_NZ.UTF-8 UTF-8
|
||||
mi_NZ ISO-8859-13
|
||||
miq_NI UTF-8
|
||||
mjw_IN UTF-8
|
||||
mk_MK.UTF-8 UTF-8
|
||||
mk_MK ISO-8859-5
|
||||
ml_IN UTF-8
|
||||
mn_MN UTF-8
|
||||
mni_IN UTF-8
|
||||
mr_IN UTF-8
|
||||
ms_MY.UTF-8 UTF-8
|
||||
ms_MY ISO-8859-1
|
||||
mt_MT.UTF-8 UTF-8
|
||||
mt_MT ISO-8859-3
|
||||
my_MM UTF-8
|
||||
nan_TW UTF-8
|
||||
nan_TW@latin UTF-8
|
||||
nb_NO.UTF-8 UTF-8
|
||||
nb_NO ISO-8859-1
|
||||
nds_DE UTF-8
|
||||
nds_NL UTF-8
|
||||
ne_NP UTF-8
|
||||
nhn_MX UTF-8
|
||||
niu_NU UTF-8
|
||||
niu_NZ UTF-8
|
||||
nl_AW UTF-8
|
||||
nl_BE.UTF-8 UTF-8
|
||||
nl_BE ISO-8859-1
|
||||
nl_BE@euro ISO-8859-15
|
||||
nl_NL.UTF-8 UTF-8
|
||||
nl_NL ISO-8859-1
|
||||
nl_NL@euro ISO-8859-15
|
||||
nn_NO.UTF-8 UTF-8
|
||||
nn_NO ISO-8859-1
|
||||
nr_ZA UTF-8
|
||||
nso_ZA UTF-8
|
||||
oc_FR.UTF-8 UTF-8
|
||||
oc_FR ISO-8859-1
|
||||
om_ET UTF-8
|
||||
om_KE.UTF-8 UTF-8
|
||||
om_KE ISO-8859-1
|
||||
or_IN UTF-8
|
||||
os_RU UTF-8
|
||||
pa_IN UTF-8
|
||||
pa_PK UTF-8
|
||||
pap_AW UTF-8
|
||||
pap_CW UTF-8
|
||||
pl_PL.UTF-8 UTF-8
|
||||
pl_PL ISO-8859-2
|
||||
ps_AF UTF-8
|
||||
pt_BR.UTF-8 UTF-8
|
||||
pt_BR ISO-8859-1
|
||||
pt_PT.UTF-8 UTF-8
|
||||
pt_PT ISO-8859-1
|
||||
pt_PT@euro ISO-8859-15
|
||||
quz_PE UTF-8
|
||||
raj_IN UTF-8
|
||||
ro_RO.UTF-8 UTF-8
|
||||
ro_RO ISO-8859-2
|
||||
ru_RU.KOI8-R KOI8-R
|
||||
ru_RU.UTF-8 UTF-8
|
||||
ru_RU ISO-8859-5
|
||||
ru_UA.UTF-8 UTF-8
|
||||
ru_UA KOI8-U
|
||||
rw_RW UTF-8
|
||||
sa_IN UTF-8
|
||||
sat_IN UTF-8
|
||||
sc_IT UTF-8
|
||||
sd_IN UTF-8
|
||||
sd_IN@devanagari UTF-8
|
||||
se_NO UTF-8
|
||||
sgs_LT UTF-8
|
||||
shn_MM UTF-8
|
||||
shs_CA UTF-8
|
||||
si_LK UTF-8
|
||||
sid_ET UTF-8
|
||||
sk_SK.UTF-8 UTF-8
|
||||
sk_SK ISO-8859-2
|
||||
sl_SI.UTF-8 UTF-8
|
||||
sl_SI ISO-8859-2
|
||||
sm_WS UTF-8
|
||||
so_DJ.UTF-8 UTF-8
|
||||
so_DJ ISO-8859-1
|
||||
so_ET UTF-8
|
||||
so_KE.UTF-8 UTF-8
|
||||
so_KE ISO-8859-1
|
||||
so_SO.UTF-8 UTF-8
|
||||
so_SO ISO-8859-1
|
||||
sq_AL.UTF-8 UTF-8
|
||||
sq_AL ISO-8859-1
|
||||
sq_MK UTF-8
|
||||
sr_ME UTF-8
|
||||
sr_RS UTF-8
|
||||
sr_RS@latin UTF-8
|
||||
ss_ZA UTF-8
|
||||
st_ZA.UTF-8 UTF-8
|
||||
st_ZA ISO-8859-1
|
||||
sv_FI.UTF-8 UTF-8
|
||||
sv_FI ISO-8859-1
|
||||
sv_FI@euro ISO-8859-15
|
||||
sv_SE.UTF-8 UTF-8
|
||||
sv_SE ISO-8859-1
|
||||
sw_KE UTF-8
|
||||
sw_TZ UTF-8
|
||||
szl_PL UTF-8
|
||||
ta_IN UTF-8
|
||||
ta_LK UTF-8
|
||||
tcy_IN.UTF-8 UTF-8
|
||||
te_IN UTF-8
|
||||
tg_TJ.UTF-8 UTF-8
|
||||
tg_TJ KOI8-T
|
||||
th_TH.UTF-8 UTF-8
|
||||
th_TH TIS-620
|
||||
the_NP UTF-8
|
||||
ti_ER UTF-8
|
||||
ti_ET UTF-8
|
||||
tig_ER UTF-8
|
||||
tk_TM UTF-8
|
||||
tl_PH.UTF-8 UTF-8
|
||||
tl_PH ISO-8859-1
|
||||
tn_ZA UTF-8
|
||||
to_TO UTF-8
|
||||
tpi_PG UTF-8
|
||||
tr_CY.UTF-8 UTF-8
|
||||
tr_CY ISO-8859-9
|
||||
tr_TR.UTF-8 UTF-8
|
||||
tr_TR ISO-8859-9
|
||||
ts_ZA UTF-8
|
||||
tt_RU UTF-8
|
||||
tt_RU@iqtelif UTF-8
|
||||
ug_CN UTF-8
|
||||
uk_UA.UTF-8 UTF-8
|
||||
uk_UA KOI8-U
|
||||
unm_US UTF-8
|
||||
ur_IN UTF-8
|
||||
ur_PK UTF-8
|
||||
uz_UZ.UTF-8 UTF-8
|
||||
uz_UZ ISO-8859-1
|
||||
uz_UZ@cyrillic UTF-8
|
||||
ve_ZA UTF-8
|
||||
vi_VN UTF-8
|
||||
wa_BE ISO-8859-1
|
||||
wa_BE@euro ISO-8859-15
|
||||
wa_BE.UTF-8 UTF-8
|
||||
wae_CH UTF-8
|
||||
wal_ET UTF-8
|
||||
wo_SN UTF-8
|
||||
xh_ZA.UTF-8 UTF-8
|
||||
xh_ZA ISO-8859-1
|
||||
yi_US.UTF-8 UTF-8
|
||||
yi_US CP1255
|
||||
yo_NG UTF-8
|
||||
yue_HK UTF-8
|
||||
yuw_PG UTF-8
|
||||
zh_CN.GB18030 GB18030
|
||||
zh_CN.GBK GBK
|
||||
zh_CN.UTF-8 UTF-8
|
||||
zh_CN GB2312
|
||||
zh_HK.UTF-8 UTF-8
|
||||
zh_HK BIG5-HKSCS
|
||||
zh_SG.UTF-8 UTF-8
|
||||
zh_SG.GBK GBK
|
||||
zh_SG GB2312
|
||||
zh_TW.EUC-TW EUC-TW
|
||||
zh_TW.UTF-8 UTF-8
|
||||
zh_TW BIG5
|
||||
zu_ZA.UTF-8 UTF-8
|
||||
zu_ZA ISO-8859-1
|
||||
@@ -108,7 +108,7 @@
|
||||
(define-record-type* <service>
|
||||
service make-service
|
||||
service?
|
||||
(name service-name) ; string or #f
|
||||
(name service-name) ; string
|
||||
(type service-type) ; string
|
||||
(path service-path) ; string
|
||||
(strength service-strength) ; integer
|
||||
|
||||
+41
-23
@@ -19,7 +19,6 @@
|
||||
|
||||
(define-module (gnu installer locale)
|
||||
#:use-module (gnu installer utils)
|
||||
#:use-module ((gnu build locale) #:select (normalize-codeset))
|
||||
#:use-module (guix records)
|
||||
#:use-module (json)
|
||||
#:use-module (srfi srfi-1)
|
||||
@@ -63,15 +62,32 @@
|
||||
(define (locale-modifier assoc)
|
||||
(assoc-ref assoc 'modifier))
|
||||
|
||||
(define* (locale-string->locale string #:optional codeset)
|
||||
"Return the locale association list built from the parsing of STRING and,
|
||||
optionally, CODESET."
|
||||
(define (locale-string->locale string)
|
||||
"Return the locale association list built from the parsing of STRING."
|
||||
(let ((matches (string-match locale-regexp string)))
|
||||
`((language . ,(match:substring matches 1))
|
||||
(territory . ,(match:substring matches 3))
|
||||
(codeset . ,(or codeset (match:substring matches 5)))
|
||||
(codeset . ,(match:substring matches 5))
|
||||
(modifier . ,(match:substring matches 7)))))
|
||||
|
||||
(define (normalize-codeset codeset)
|
||||
"Compute the \"normalized\" variant of CODESET."
|
||||
;; info "(libc) Using gettextized software", for the algorithm used to
|
||||
;; compute the normalized codeset.
|
||||
(letrec-syntax ((-> (syntax-rules ()
|
||||
((_ proc value)
|
||||
(proc value))
|
||||
((_ proc rest ...)
|
||||
(proc (-> rest ...))))))
|
||||
(-> (lambda (str)
|
||||
(if (string-every char-set:digit str)
|
||||
(string-append "iso" str)
|
||||
str))
|
||||
string-downcase
|
||||
(lambda (str)
|
||||
(string-filter char-set:letter+digit str))
|
||||
codeset)))
|
||||
|
||||
(define (locale->locale-string locale)
|
||||
"Reverse operation of locale-string->locale."
|
||||
(let ((language (locale-language locale))
|
||||
@@ -91,12 +107,17 @@ optionally, CODESET."
|
||||
'())))))
|
||||
|
||||
(define (supported-locales->locales supported-locales)
|
||||
"Given SUPPORTED-LOCALES, a file produced by 'glibc-supported-locales',
|
||||
return a list of locales where each locale is an alist."
|
||||
(map (match-lambda
|
||||
((locale . codeset)
|
||||
(locale-string->locale locale codeset)))
|
||||
(call-with-input-file supported-locales read)))
|
||||
"Parse the SUPPORTED-LOCALES file from the glibc and return the matching
|
||||
list of LOCALE association lists."
|
||||
(call-with-input-file supported-locales
|
||||
(lambda (port)
|
||||
(let ((lines (read-lines port)))
|
||||
(map (lambda (line)
|
||||
(match (string-split line #\ )
|
||||
((locale-string codeset)
|
||||
(let ((line-locale (locale-string->locale locale-string)))
|
||||
(assoc-set! line-locale 'codeset codeset)))))
|
||||
lines)))))
|
||||
|
||||
|
||||
;;;
|
||||
@@ -134,18 +155,16 @@ ISO639-3 and ISO639-5 files."
|
||||
(lambda (port-iso639-5)
|
||||
(filter-map
|
||||
(lambda (hash)
|
||||
(let ((alpha2 (assoc-ref hash "alpha_2"))
|
||||
(alpha3 (assoc-ref hash "alpha_3"))
|
||||
(name (assoc-ref hash "name")))
|
||||
(let ((alpha2 (hash-ref hash "alpha_2"))
|
||||
(alpha3 (hash-ref hash "alpha_3"))
|
||||
(name (hash-ref hash "name")))
|
||||
(and (supported-locale? locales alpha2 alpha3)
|
||||
`((alpha2 . ,alpha2)
|
||||
(alpha3 . ,alpha3)
|
||||
(name . ,name)))))
|
||||
(append
|
||||
(vector->list
|
||||
(assoc-ref (json->scm port-iso639-3) "639-3"))
|
||||
(vector->list
|
||||
(assoc-ref (json->scm port-iso639-5) "639-5")))))))))
|
||||
(hash-ref (json->scm port-iso639-3) "639-3")
|
||||
(hash-ref (json->scm port-iso639-5) "639-5"))))))))
|
||||
|
||||
(define (language-code->language-name languages language-code)
|
||||
"Using LANGUAGES as a list of ISO639 association lists, return the language
|
||||
@@ -181,11 +200,10 @@ ISO3166 file."
|
||||
(call-with-input-file iso3166
|
||||
(lambda (port)
|
||||
(map (lambda (hash)
|
||||
`((alpha2 . ,(assoc-ref hash "alpha_2"))
|
||||
(alpha3 . ,(assoc-ref hash "alpha_3"))
|
||||
(name . ,(assoc-ref hash "name"))))
|
||||
(vector->list
|
||||
(assoc-ref (json->scm port) "3166-1"))))))
|
||||
`((alpha2 . ,(hash-ref hash "alpha_2"))
|
||||
(alpha3 . ,(hash-ref hash "alpha_3"))
|
||||
(name . ,(hash-ref hash "name"))))
|
||||
(hash-ref (json->scm port) "3166-1")))))
|
||||
|
||||
(define (territory-code->territory-name territories territory-code)
|
||||
"Using TERRITORIES as a list of ISO3166 association lists return the
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -24,7 +23,6 @@
|
||||
#:use-module (gnu installer newt page)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (ice-9 format)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:use-module (newt)
|
||||
@@ -60,28 +58,24 @@ connection is pending."
|
||||
service))
|
||||
|
||||
(define (run-ethernet-page)
|
||||
(match (ethernet-services)
|
||||
(()
|
||||
(run-error-page
|
||||
(G_ "No ethernet service available, please try again.")
|
||||
(G_ "No service"))
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))
|
||||
((service)
|
||||
;; Only one service is available so return it directly.
|
||||
service)
|
||||
((services ...)
|
||||
(run-listbox-selection-page
|
||||
#:info-text (G_ "Please select an ethernet network.")
|
||||
#:title (G_ "Ethernet connection")
|
||||
#:listbox-items services
|
||||
#:listbox-item->text ethernet-service->text
|
||||
#:listbox-height (min (+ (length services) 2) 10)
|
||||
#:button-text (G_ "Exit")
|
||||
#:button-callback-procedure
|
||||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))
|
||||
#:listbox-callback-procedure connect-ethernet-service))))
|
||||
(let ((services (ethernet-services)))
|
||||
(if (null? services)
|
||||
(begin
|
||||
(run-error-page
|
||||
(G_ "No ethernet service available, please try again.")
|
||||
(G_ "No service"))
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))
|
||||
(run-listbox-selection-page
|
||||
#:info-text (G_ "Please select an ethernet network.")
|
||||
#:title (G_ "Ethernet connection")
|
||||
#:listbox-items services
|
||||
#:listbox-item->text ethernet-service->text
|
||||
#:button-text (G_ "Exit")
|
||||
#:button-callback-procedure
|
||||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))
|
||||
#:listbox-callback-procedure connect-ethernet-service))))
|
||||
|
||||
@@ -32,7 +32,7 @@ process from."
|
||||
steps))
|
||||
|
||||
(run-listbox-selection-page
|
||||
#:info-text (G_ "Choose where you want to resume the install. \
|
||||
#:info-text (G_ "Choose where you want to resume the install.\
|
||||
You can also abort the installation by pressing the Abort button.")
|
||||
#:title (G_ "Installation menu")
|
||||
#:listbox-items (steps->items steps)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -29,7 +28,6 @@
|
||||
#:use-module (srfi srfi-11)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (newt)
|
||||
#:export (run-network-page))
|
||||
|
||||
@@ -55,38 +53,32 @@ Internet and return the selected technology. For now, only technologies with
|
||||
(string=? type "wifi"))))
|
||||
(connman-technologies)))
|
||||
|
||||
(match (technology-items)
|
||||
(()
|
||||
(case (choice-window
|
||||
(G_ "Internet access")
|
||||
(G_ "Continue")
|
||||
(G_ "Exit")
|
||||
(G_ "The install process requires Internet access but no \
|
||||
network devices were found. Do you want to continue anyway?"))
|
||||
((1) (raise
|
||||
(condition
|
||||
(&installer-step-break))))
|
||||
((2) (raise
|
||||
(condition
|
||||
(&installer-step-abort))))))
|
||||
((technology)
|
||||
;; Since there's only one technology available, skip the selection
|
||||
;; screen.
|
||||
technology)
|
||||
((items ...)
|
||||
(run-listbox-selection-page
|
||||
#:info-text (G_ "The install process requires Internet access.\
|
||||
(let ((items (technology-items)))
|
||||
(if (null? items)
|
||||
(case (choice-window
|
||||
(G_ "Internet access")
|
||||
(G_ "Continue")
|
||||
(G_ "Exit")
|
||||
(G_ "The install process requires Internet access but no \
|
||||
network device were found. Do you want to continue anyway?"))
|
||||
((1) (raise
|
||||
(condition
|
||||
(&installer-step-break))))
|
||||
((2) (raise
|
||||
(condition
|
||||
(&installer-step-abort)))))
|
||||
(run-listbox-selection-page
|
||||
#:info-text (G_ "The install process requires Internet access.\
|
||||
Please select a network device.")
|
||||
#:title (G_ "Internet access")
|
||||
#:listbox-items items
|
||||
#:listbox-item->text technology->text
|
||||
#:listbox-height (min (+ (length items) 2) 10)
|
||||
#:button-text (G_ "Exit")
|
||||
#:button-callback-procedure
|
||||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))))))
|
||||
#:title (G_ "Internet access")
|
||||
#:listbox-items items
|
||||
#:listbox-item->text technology->text
|
||||
#:button-text (G_ "Exit")
|
||||
#:button-callback-procedure
|
||||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))))))
|
||||
|
||||
(define (find-technology-by-type technologies type)
|
||||
"Find and return a technology with the given TYPE in TECHNOLOGIES list."
|
||||
|
||||
+10
-32
@@ -75,7 +75,6 @@ this page to TITLE."
|
||||
#:key
|
||||
(allow-empty-input? #f)
|
||||
(default-text #f)
|
||||
(input-hide-checkbox? #f)
|
||||
(input-field-width 40)
|
||||
(input-flags 0))
|
||||
"Run a page to prompt user for an input. The given TEXT will be displayed
|
||||
@@ -87,38 +86,22 @@ input box, such as FLAG-PASSWORD."
|
||||
(make-reflowed-textbox -1 -1 text
|
||||
input-field-width
|
||||
#:flags FLAG-BORDER))
|
||||
(input-visible-cb
|
||||
(make-checkbox -1 -1 (G_ "Hide") #\x "x "))
|
||||
(input-flags* (if input-hide-checkbox?
|
||||
(logior FLAG-PASSWORD FLAG-SCROLL
|
||||
input-flags)
|
||||
input-flags))
|
||||
(grid (make-grid 1 3))
|
||||
(input-entry (make-entry -1 -1 20
|
||||
#:flags input-flags*))
|
||||
#:flags input-flags))
|
||||
(ok-button (make-button -1 -1 (G_ "OK")))
|
||||
(grid (vertically-stacked-grid
|
||||
GRID-ELEMENT-COMPONENT text-box
|
||||
GRID-ELEMENT-SUBGRID
|
||||
(apply
|
||||
horizontal-stacked-grid
|
||||
GRID-ELEMENT-COMPONENT input-entry
|
||||
`(,@(if input-hide-checkbox?
|
||||
(list GRID-ELEMENT-COMPONENT input-visible-cb)
|
||||
'())))
|
||||
GRID-ELEMENT-COMPONENT ok-button))
|
||||
(form (make-form)))
|
||||
|
||||
(add-component-callback
|
||||
input-visible-cb
|
||||
(lambda (component)
|
||||
(set-entry-flags input-entry
|
||||
FLAG-PASSWORD
|
||||
FLAG-ROLE-TOGGLE)))
|
||||
|
||||
(when default-text
|
||||
(set-entry-text input-entry default-text))
|
||||
|
||||
(add-form-to-grid grid form #t)
|
||||
(set-grid-field grid 0 0 GRID-ELEMENT-COMPONENT text-box)
|
||||
(set-grid-field grid 0 1 GRID-ELEMENT-COMPONENT input-entry
|
||||
#:pad-top 1)
|
||||
(set-grid-field grid 0 2 GRID-ELEMENT-COMPONENT ok-button
|
||||
#:pad-top 1)
|
||||
|
||||
(add-components-to-form form text-box input-entry ok-button)
|
||||
(make-wrapped-grid-window grid title)
|
||||
(let ((error-page (lambda ()
|
||||
(run-error-page (G_ "Please enter a non empty input.")
|
||||
@@ -576,12 +559,7 @@ ITEMS when 'Ok' is pressed."
|
||||
'())))))
|
||||
(form (make-form)))
|
||||
|
||||
(set-textbox-text file-textbox
|
||||
(receive (_w _h text)
|
||||
(reflow-text file-text
|
||||
file-textbox-width
|
||||
0 0)
|
||||
text))
|
||||
(set-textbox-text file-textbox file-text)
|
||||
(add-form-to-grid grid form #t)
|
||||
(make-wrapped-grid-window grid title)
|
||||
|
||||
|
||||
@@ -49,8 +49,6 @@
|
||||
#:title (G_ "Partition scheme")
|
||||
#:listbox-items items
|
||||
#:listbox-item->text cdr
|
||||
#:listbox-height 4
|
||||
#:sort-listbox-items? #f ;keep the 'root' option first
|
||||
#:button-text (G_ "Exit")
|
||||
#:button-callback-procedure button-exit-action)))
|
||||
(car result)))
|
||||
@@ -79,7 +77,6 @@ DEVICES list."
|
||||
#:title (G_ "Disk")
|
||||
#:listbox-items (device-items)
|
||||
#:listbox-item->text cdr
|
||||
#:listbox-height 10
|
||||
#:button-text (G_ "Exit")
|
||||
#:button-callback-procedure button-exit-action))
|
||||
(device (car result)))
|
||||
@@ -120,7 +117,7 @@ Be careful, all data on the disk will be lost.")
|
||||
(run-listbox-selection-page
|
||||
#:info-text (G_ "Please select the file-system type for this partition.")
|
||||
#:title (G_ "File-system type")
|
||||
#:listbox-items '(ext4 btrfs fat16 fat32 swap)
|
||||
#:listbox-items '(ext4 btrfs fat32 swap)
|
||||
#:listbox-item->text user-fs-type-name
|
||||
#:sort-listbox-items? #f
|
||||
#:button-text (G_ "Exit")
|
||||
@@ -155,18 +152,21 @@ USER-PARTITIONS list. Return this list with password fields filled-in."
|
||||
(file-name (user-partition-file-name user-part))
|
||||
(password-page
|
||||
(lambda ()
|
||||
;; Note: Don't use FLAG-PASSWORD here because this is the
|
||||
;; first bit of text that the user types in, so it's
|
||||
;; probably safer if they can see that the keyboard layout
|
||||
;; they chose is in effect.
|
||||
(run-input-page
|
||||
(format #f (G_ "Please enter the password for the \
|
||||
encryption of partition ~a (label: ~a).") file-name crypt-label)
|
||||
(G_ "Password required")
|
||||
#:input-hide-checkbox? #t)))
|
||||
(G_ "Password required"))))
|
||||
(password-confirm-page
|
||||
(lambda ()
|
||||
(run-input-page
|
||||
(format #f (G_ "Please confirm the password for the \
|
||||
encryption of partition ~a (label: ~a).") file-name crypt-label)
|
||||
(G_ "Password confirmation required")
|
||||
#:input-hide-checkbox? #t))))
|
||||
#:input-flags FLAG-PASSWORD))))
|
||||
(if crypt-label
|
||||
(let loop ()
|
||||
(let ((password (password-page))
|
||||
@@ -731,10 +731,8 @@ by pressing the Exit button.~%~%")))
|
||||
(result (run-listbox-selection-page
|
||||
#:info-text (G_ "Please select a partitioning method.")
|
||||
#:title (G_ "Partitioning method")
|
||||
#:listbox-height (+ (length items) 2)
|
||||
#:listbox-items items
|
||||
#:listbox-item->text cdr
|
||||
#:sort-listbox-items? #f
|
||||
#:button-text (G_ "Exit")
|
||||
#:button-callback-procedure button-exit-action))
|
||||
(method (car result)))
|
||||
@@ -752,7 +750,10 @@ by pressing the Exit button.~%~%")))
|
||||
(disk-commit disk)
|
||||
disk)))
|
||||
(scheme (symbol-append method '- (run-scheme-page)))
|
||||
(user-partitions (auto-partition! disk #:scheme scheme)))
|
||||
(user-partitions (append
|
||||
(auto-partition disk #:scheme scheme)
|
||||
(create-special-user-partitions
|
||||
(disk-partitions disk)))))
|
||||
(run-disk-page (list disk) user-partitions
|
||||
#:guided? #t)))
|
||||
((eq? method 'manual)
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
|
||||
(define-module (gnu installer newt user)
|
||||
#:use-module (gnu installer user)
|
||||
#:use-module ((gnu installer steps) #:select (&installer-step-abort))
|
||||
#:use-module (gnu installer newt page)
|
||||
#:use-module (gnu installer newt utils)
|
||||
#:use-module (guix i18n)
|
||||
@@ -28,8 +27,6 @@
|
||||
#:use-module (ice-9 receive)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:export (run-user-page))
|
||||
|
||||
(define* (run-user-add-page #:key (name "") (real-name "")
|
||||
@@ -37,7 +34,7 @@
|
||||
"Run a form to enter the user name, home directory, and password. Use NAME,
|
||||
REAL-NAME, and HOME-DIRECTORY as the initial values in the form."
|
||||
(define (pad-label label)
|
||||
(string-pad-right label 25))
|
||||
(string-pad-right label 20))
|
||||
|
||||
(let* ((label-name
|
||||
(make-label -1 -1 (pad-label (G_ "Name"))))
|
||||
@@ -47,19 +44,16 @@ REAL-NAME, and HOME-DIRECTORY as the initial values in the form."
|
||||
(make-label -1 -1 (pad-label (G_ "Home directory"))))
|
||||
(label-password
|
||||
(make-label -1 -1 (pad-label (G_ "Password"))))
|
||||
(entry-width 35)
|
||||
(entry-width 30)
|
||||
(entry-name (make-entry -1 -1 entry-width
|
||||
#:initial-value name))
|
||||
(entry-real-name (make-entry -1 -1 entry-width
|
||||
#:initial-value real-name))
|
||||
(entry-home-directory (make-entry -1 -1 entry-width
|
||||
#:initial-value home-directory))
|
||||
(password-visible-cb
|
||||
(make-checkbox -1 -1 (G_ "Hide") #\x "x "))
|
||||
(entry-password (make-entry -1 -1 entry-width
|
||||
#:flags (logior FLAG-PASSWORD
|
||||
FLAG-SCROLL)))
|
||||
(entry-grid (make-grid 3 5))
|
||||
#:flags FLAG-PASSWORD))
|
||||
(entry-grid (make-grid 2 5))
|
||||
(button-grid (make-grid 1 1))
|
||||
(ok-button (make-button -1 -1 (G_ "OK")))
|
||||
(grid (make-grid 1 2))
|
||||
@@ -77,12 +71,6 @@ REAL-NAME, and HOME-DIRECTORY as the initial values in the form."
|
||||
(set-entry-grid-field 0 3 label-password)
|
||||
(set-entry-grid-field 1 3 entry-password)
|
||||
|
||||
(set-grid-field entry-grid
|
||||
2 3
|
||||
GRID-ELEMENT-COMPONENT
|
||||
password-visible-cb
|
||||
#:pad-left 1)
|
||||
|
||||
(set-grid-field button-grid 0 0 GRID-ELEMENT-COMPONENT ok-button)
|
||||
|
||||
(add-component-callback
|
||||
@@ -95,19 +83,11 @@ REAL-NAME, and HOME-DIRECTORY as the initial values in the form."
|
||||
(set-entry-text entry-real-name
|
||||
(string-titlecase (entry-value entry-name))))))
|
||||
|
||||
(add-component-callback
|
||||
password-visible-cb
|
||||
(lambda (component)
|
||||
(set-entry-flags entry-password
|
||||
FLAG-PASSWORD
|
||||
FLAG-ROLE-TOGGLE)))
|
||||
|
||||
(add-components-to-form form
|
||||
label-name label-real-name
|
||||
label-home-directory label-password
|
||||
entry-name entry-real-name
|
||||
entry-home-directory entry-password
|
||||
password-visible-cb
|
||||
ok-button)
|
||||
|
||||
(make-wrapped-grid-window (vertically-stacked-grid
|
||||
@@ -156,7 +136,7 @@ a thunk, if the confirmation doesn't match PASSWORD, and return its result."
|
||||
(run-input-page (G_ "Please confirm the password.")
|
||||
(G_ "Password confirmation required")
|
||||
#:allow-empty-input? #t
|
||||
#:input-hide-checkbox? #t))
|
||||
#:input-flags FLAG-PASSWORD))
|
||||
|
||||
(if (string=? password confirmation)
|
||||
password
|
||||
@@ -173,7 +153,7 @@ a thunk, if the confirmation doesn't match PASSWORD, and return its result."
|
||||
(run-input-page (G_ "Please choose a password for the system \
|
||||
administrator (\"root\").")
|
||||
(G_ "System administrator password")
|
||||
#:input-hide-checkbox? #t))
|
||||
#:input-flags FLAG-PASSWORD))
|
||||
|
||||
(confirm-password password run-root-password-page))
|
||||
|
||||
@@ -199,7 +179,7 @@ administrator (\"root\").")
|
||||
(list GRID-ELEMENT-COMPONENT del-button)))))
|
||||
(ok-button (make-button -1 -1 (G_ "OK")))
|
||||
(exit-button (make-button -1 -1 (G_ "Exit")))
|
||||
(title (G_ "User creation"))
|
||||
(title "User creation")
|
||||
(grid
|
||||
(vertically-stacked-grid
|
||||
GRID-ELEMENT-COMPONENT info-textbox
|
||||
@@ -251,11 +231,7 @@ administrator (\"root\").")
|
||||
(run-error-page (G_ "Please create at least one user.")
|
||||
(G_ "No user"))
|
||||
(run users))
|
||||
(reverse users))
|
||||
((components=? argument exit-button)
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort)))))))
|
||||
(reverse users)))))
|
||||
(lambda ()
|
||||
(destroy-form-and-pop form))))))
|
||||
|
||||
|
||||
@@ -144,7 +144,6 @@ of <service-item> records present in LISTBOX."
|
||||
(let ((services (connman-services)))
|
||||
(filter (lambda (service)
|
||||
(and (string=? (service-type service) "wifi")
|
||||
(service-name service)
|
||||
(not (string-null? (service-name service)))))
|
||||
services)))
|
||||
|
||||
|
||||
+14
-41
@@ -105,7 +105,8 @@
|
||||
mkpart
|
||||
rmpart
|
||||
|
||||
auto-partition!
|
||||
create-adjacent-partitions
|
||||
auto-partition
|
||||
|
||||
&no-root-mount-point
|
||||
no-root-mount-point?
|
||||
@@ -258,7 +259,6 @@ inferior to MAX-SIZE, #f otherwise."
|
||||
(case fs-type
|
||||
((ext4) "ext4")
|
||||
((btrfs) "btrfs")
|
||||
((fat16) "fat16")
|
||||
((fat32) "fat32")
|
||||
((swap) "linux-swap")))
|
||||
|
||||
@@ -267,7 +267,6 @@ inferior to MAX-SIZE, #f otherwise."
|
||||
(case fs-type
|
||||
((ext4) "ext4")
|
||||
((btrfs) "btrfs")
|
||||
((fat16) "fat")
|
||||
((fat32) "vfat")))
|
||||
|
||||
(define (partition-filesystem-user-type partition)
|
||||
@@ -279,7 +278,6 @@ of <user-partition> record."
|
||||
(cond
|
||||
((string=? name "ext4") 'ext4)
|
||||
((string=? name "btrfs") 'btrfs)
|
||||
((string=? name "fat16") 'fat16)
|
||||
((string=? name "fat32") 'fat32)
|
||||
((or (string=? name "swsusp")
|
||||
(string=? name "linux-swap(v0)")
|
||||
@@ -820,8 +818,8 @@ cause them to cross."
|
||||
;; Auto partitionning.
|
||||
;;
|
||||
|
||||
(define* (create-adjacent-partitions! disk partitions
|
||||
#:key (last-partition-end 0))
|
||||
(define* (create-adjacent-partitions disk partitions
|
||||
#:key (last-partition-end 0))
|
||||
"Create the given PARTITIONS on DISK. LAST-PARTITION-END is the sector from
|
||||
which we want to start creating partitions. The START and END of each created
|
||||
partition are computed from its SIZE value and the position of the last
|
||||
@@ -887,18 +885,15 @@ USER-PARTITIONS list and return the updated list."
|
||||
(need-formatting? #t)))
|
||||
user-partitions))
|
||||
|
||||
(define* (auto-partition! disk
|
||||
#:key
|
||||
(scheme 'entire-root))
|
||||
(define* (auto-partition disk
|
||||
#:key
|
||||
(scheme 'entire-root))
|
||||
"Automatically create partitions on DISK. All the previous
|
||||
partitions (except the ESP on a GPT disk, if present) are wiped. SCHEME is the
|
||||
desired partitioning scheme. It can be 'entire-root or
|
||||
'entire-root-home. 'entire-root will create a swap partition and a root
|
||||
partition occupying all the remaining space. 'entire-root-home will create a
|
||||
swap partition, a root partition and a home partition.
|
||||
|
||||
Return the complete list of partitions on DISK, including the ESP when it
|
||||
exists."
|
||||
swap partition, a root partition and a home partition."
|
||||
(let* ((device (disk-device disk))
|
||||
(disk-type (disk-disk-type disk))
|
||||
(has-extended? (disk-type-check-feature
|
||||
@@ -1004,13 +999,10 @@ exists."
|
||||
(mount-point "/home")))))))
|
||||
(new-partitions* (force-user-partitions-formatting
|
||||
new-partitions)))
|
||||
(append (if esp-partition
|
||||
(list (partition->user-partition esp-partition))
|
||||
'())
|
||||
(create-adjacent-partitions! disk
|
||||
new-partitions*
|
||||
#:last-partition-end
|
||||
(or end-esp-partition 0))))))
|
||||
(create-adjacent-partitions disk
|
||||
new-partitions*
|
||||
#:last-partition-end
|
||||
(or end-esp-partition 0)))))
|
||||
|
||||
|
||||
;;
|
||||
@@ -1050,23 +1042,13 @@ bit bucket."
|
||||
(with-error-to-port (%make-void-port "w")
|
||||
(lambda () exp ...)))))
|
||||
|
||||
(define (create-btrfs-file-system partition)
|
||||
"Create an btrfs file-system for PARTITION file-name."
|
||||
(with-null-output-ports
|
||||
(invoke "mkfs.btrfs" "-f" partition)))
|
||||
|
||||
(define (create-ext4-file-system partition)
|
||||
"Create an ext4 file-system for PARTITION file-name."
|
||||
(with-null-output-ports
|
||||
(invoke "mkfs.ext4" "-F" partition)))
|
||||
|
||||
(define (create-fat16-file-system partition)
|
||||
"Create a fat16 file-system for PARTITION file-name."
|
||||
(with-null-output-ports
|
||||
(invoke "mkfs.fat" "-F16" partition)))
|
||||
|
||||
(define (create-fat32-file-system partition)
|
||||
"Create a fat32 file-system for PARTITION file-name."
|
||||
"Create an ext4 file-system for PARTITION file-name."
|
||||
(with-null-output-ports
|
||||
(invoke "mkfs.fat" "-F32" partition)))
|
||||
|
||||
@@ -1124,18 +1106,10 @@ NEED-FORMATING? field set to #t."
|
||||
(luks-format-and-open user-partition))
|
||||
|
||||
(case fs-type
|
||||
((btrfs)
|
||||
(and need-formatting?
|
||||
(not (eq? type 'extended))
|
||||
(create-btrfs-file-system file-name)))
|
||||
((ext4)
|
||||
(and need-formatting?
|
||||
(not (eq? type 'extended))
|
||||
(create-ext4-file-system file-name)))
|
||||
((fat16)
|
||||
(and need-formatting?
|
||||
(not (eq? type 'extended))
|
||||
(create-fat16-file-system file-name)))
|
||||
((fat32)
|
||||
(and need-formatting?
|
||||
(not (eq? type 'extended))
|
||||
@@ -1318,8 +1292,7 @@ USER-PARTITIONS, or return nothing."
|
||||
(()
|
||||
'())
|
||||
((modules ...)
|
||||
`((initrd-modules (append ',modules
|
||||
%base-initrd-modules))))))
|
||||
`((initrd-modules ',modules)))))
|
||||
|
||||
(define (user-partitions->configuration user-partitions)
|
||||
"Return the configuration field for USER-PARTITIONS."
|
||||
|
||||
@@ -75,13 +75,10 @@
|
||||
(packages '((specification->package "awesome"))))
|
||||
(desktop-environment
|
||||
(name "i3")
|
||||
(packages (map (lambda (package)
|
||||
`(specification->package ,package))
|
||||
'("i3-wm" "i3status" "dmenu" "st"))))
|
||||
(packages '((specification->package "i3-wm"))))
|
||||
(desktop-environment
|
||||
(name "ratpoison")
|
||||
(packages '((specification->package "ratpoison")
|
||||
(specification->package "xterm"))))
|
||||
(packages '((specification->package "ratpoison"))))
|
||||
|
||||
;; Networking.
|
||||
(system-service
|
||||
@@ -133,13 +130,11 @@
|
||||
(if (null? snippets)
|
||||
`(,@(if (null? packages)
|
||||
'()
|
||||
`((packages (append (list ,@packages)
|
||||
%base-packages))))
|
||||
`((packages (list ,@packages))))
|
||||
(services ,base))
|
||||
`(,@(if (null? packages)
|
||||
'()
|
||||
`((packages (append (list ,@packages)
|
||||
%base-packages))))
|
||||
`((packages (list ,@packages))))
|
||||
(services (append (list ,@snippets
|
||||
|
||||
,@(if desktop?
|
||||
|
||||
@@ -71,12 +71,7 @@
|
||||
installer-step?
|
||||
(id installer-step-id) ;symbol
|
||||
(description installer-step-description ;string
|
||||
(default #f)
|
||||
|
||||
;; Make it thunked so that 'G_' is called at the
|
||||
;; right time, as opposed to being called once
|
||||
;; when the installer starts.
|
||||
(thunked))
|
||||
(default #f))
|
||||
(compute installer-step-compute) ;procedure
|
||||
(configuration-formatter installer-step-configuration-formatter ;procedure
|
||||
(default #f)))
|
||||
|
||||
+35
-84
@@ -15,12 +15,11 @@
|
||||
# Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
# Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
# Copyright © 2017, 2018, 2019 Gábor Boskovits <boskovits@gmail.com>
|
||||
# Copyright © 2017, 2018 Gábor Boskovits <boskovits@gmail.com>
|
||||
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
|
||||
# Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
# Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
|
||||
# Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
# Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@@ -122,7 +121,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/cpp.scm \
|
||||
%D%/packages/cppi.scm \
|
||||
%D%/packages/cran.scm \
|
||||
%D%/packages/crates-io.scm \
|
||||
%D%/packages/cross-base.scm \
|
||||
%D%/packages/crypto.scm \
|
||||
%D%/packages/cryptsetup.scm \
|
||||
@@ -196,7 +194,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/gcc.scm \
|
||||
%D%/packages/gd.scm \
|
||||
%D%/packages/gdb.scm \
|
||||
%D%/packages/genealogy.scm \
|
||||
%D%/packages/genimage.scm \
|
||||
%D%/packages/geo.scm \
|
||||
%D%/packages/gettext.scm \
|
||||
@@ -238,13 +235,11 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/haskell-check.scm \
|
||||
%D%/packages/haskell-crypto.scm \
|
||||
%D%/packages/haskell-web.scm \
|
||||
%D%/packages/haskell-xyz.scm \
|
||||
%D%/packages/ham-radio.scm \
|
||||
%D%/packages/hexedit.scm \
|
||||
%D%/packages/hugs.scm \
|
||||
%D%/packages/hurd.scm \
|
||||
%D%/packages/hyperledger.scm \
|
||||
%D%/packages/i2p.scm \
|
||||
%D%/packages/ibus.scm \
|
||||
%D%/packages/icu4c.scm \
|
||||
%D%/packages/idris.scm \
|
||||
@@ -266,7 +261,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/jrnl.scm \
|
||||
%D%/packages/jose.scm \
|
||||
%D%/packages/julia.scm \
|
||||
%D%/packages/kawa.scm \
|
||||
%D%/packages/kde.scm \
|
||||
%D%/packages/kde-frameworks.scm \
|
||||
%D%/packages/kde-plasma.scm \
|
||||
@@ -301,7 +295,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/llvm.scm \
|
||||
%D%/packages/lout.scm \
|
||||
%D%/packages/logging.scm \
|
||||
%D%/packages/logo.scm \
|
||||
%D%/packages/lolcode.scm \
|
||||
%D%/packages/lsof.scm \
|
||||
%D%/packages/lua.scm \
|
||||
@@ -441,10 +434,8 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/smalltalk.scm \
|
||||
%D%/packages/sml.scm \
|
||||
%D%/packages/speech.scm \
|
||||
%D%/packages/sphinx.scm \
|
||||
%D%/packages/spice.scm \
|
||||
%D%/packages/sqlite.scm \
|
||||
%D%/packages/squirrel.scm \
|
||||
%D%/packages/ssh.scm \
|
||||
%D%/packages/sssd.scm \
|
||||
%D%/packages/stalonetray.scm \
|
||||
@@ -475,7 +466,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/uml.scm \
|
||||
%D%/packages/unrtf.scm \
|
||||
%D%/packages/upnp.scm \
|
||||
%D%/packages/usb-modeswitch.scm \
|
||||
%D%/packages/uucp.scm \
|
||||
%D%/packages/valgrind.scm \
|
||||
%D%/packages/version-control.scm \
|
||||
@@ -492,7 +482,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/wget.scm \
|
||||
%D%/packages/wicd.scm \
|
||||
%D%/packages/wine.scm \
|
||||
%D%/packages/wireservice.scm \
|
||||
%D%/packages/wm.scm \
|
||||
%D%/packages/wordnet.scm \
|
||||
%D%/packages/wv.scm \
|
||||
@@ -505,12 +494,10 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/packages/xorg.scm \
|
||||
%D%/packages/xfce.scm \
|
||||
%D%/packages/zile.scm \
|
||||
%D%/packages/zwave.scm \
|
||||
\
|
||||
%D%/services.scm \
|
||||
%D%/services/admin.scm \
|
||||
%D%/services/audio.scm \
|
||||
%D%/services/auditd.scm \
|
||||
%D%/services/avahi.scm \
|
||||
%D%/services/base.scm \
|
||||
%D%/services/certbot.scm \
|
||||
@@ -526,7 +513,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/services/docker.scm \
|
||||
%D%/services/authentication.scm \
|
||||
%D%/services/games.scm \
|
||||
%D%/services/getmail.scm \
|
||||
%D%/services/kerberos.scm \
|
||||
%D%/services/lirc.scm \
|
||||
%D%/services/virtualization.scm \
|
||||
@@ -535,7 +521,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/services/messaging.scm \
|
||||
%D%/services/monitoring.scm \
|
||||
%D%/services/networking.scm \
|
||||
%D%/services/nix.scm \
|
||||
%D%/services/nfs.scm \
|
||||
%D%/services/security-token.scm \
|
||||
%D%/services/shepherd.scm \
|
||||
@@ -568,9 +553,6 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/system/uuid.scm \
|
||||
%D%/system/vm.scm \
|
||||
\
|
||||
%D%/machine.scm \
|
||||
%D%/machine/ssh.scm \
|
||||
\
|
||||
%D%/build/accounts.scm \
|
||||
%D%/build/activation.scm \
|
||||
%D%/build/bootloader.scm \
|
||||
@@ -598,10 +580,8 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/tests/mail.scm \
|
||||
%D%/tests/messaging.scm \
|
||||
%D%/tests/networking.scm \
|
||||
%D%/tests/reconfigure.scm \
|
||||
%D%/tests/rsync.scm \
|
||||
%D%/tests/security-token.scm \
|
||||
%D%/tests/singularity.scm \
|
||||
%D%/tests/ssh.scm \
|
||||
%D%/tests/version-control.scm \
|
||||
%D%/tests/virtualization.scm \
|
||||
@@ -637,7 +617,7 @@ INSTALLER_MODULES = \
|
||||
%D%/installer/newt/user.scm \
|
||||
%D%/installer/newt/utils.scm \
|
||||
%D%/installer/newt/welcome.scm \
|
||||
%D%/installer/newt/wifi.scm
|
||||
%D%/installer/newt/wifi.scm
|
||||
|
||||
# Always ship the installer modules but compile them only when
|
||||
# ENABLE_INSTALLER is true.
|
||||
@@ -649,11 +629,11 @@ endif
|
||||
|
||||
installerdir = $(guilemoduledir)/%D%/installer
|
||||
dist_installer_DATA = \
|
||||
%D%/installer/aux-files/logo.txt
|
||||
%D%/installer/aux-files/logo.txt \
|
||||
%D%/installer/aux-files/SUPPORTED
|
||||
|
||||
# Modules that do not need to be compiled.
|
||||
MODULES_NOT_COMPILED += \
|
||||
%D%/build/locale.scm \
|
||||
%D%/build/shepherd.scm \
|
||||
%D%/build/svg.scm
|
||||
|
||||
@@ -663,7 +643,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/4store-unset-preprocessor-directive.patch \
|
||||
%D%/packages/patches/a2ps-CVE-2001-1593.patch \
|
||||
%D%/packages/patches/a2ps-CVE-2014-0466.patch \
|
||||
%D%/packages/patches/a2ps-CVE-2015-8107.patch \
|
||||
%D%/packages/patches/abiword-explictly-cast-bools.patch \
|
||||
%D%/packages/patches/abiword-black-drawing-with-gtk322.patch \
|
||||
%D%/packages/patches/acl-fix-perl-regex.patch \
|
||||
@@ -685,6 +664,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/apr-skip-getservbyname-test.patch \
|
||||
%D%/packages/patches/aria2-CVE-2019-3500.patch \
|
||||
%D%/packages/patches/aspell-default-dict-dir.patch \
|
||||
%D%/packages/patches/at-spi2-core-meson-compat.patch \
|
||||
%D%/packages/patches/ath9k-htc-firmware-binutils.patch \
|
||||
%D%/packages/patches/ath9k-htc-firmware-gcc.patch \
|
||||
%D%/packages/patches/ath9k-htc-firmware-objcopy.patch \
|
||||
@@ -697,23 +677,20 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/avidemux-install-to-lib.patch \
|
||||
%D%/packages/patches/awesome-reproducible-png.patch \
|
||||
%D%/packages/patches/azr3.patch \
|
||||
%D%/packages/patches/bash-4.4-linux-pgrp-pipe.patch \
|
||||
%D%/packages/patches/bash-completion-directories.patch \
|
||||
%D%/packages/patches/bastet-change-source-of-unordered_set.patch \
|
||||
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
|
||||
%D%/packages/patches/beets-python-3.7-fix.patch \
|
||||
%D%/packages/patches/beignet-correct-file-names.patch \
|
||||
%D%/packages/patches/benchmark-unbundle-googletest.patch \
|
||||
%D%/packages/patches/biber-fix-encoding-write.patch \
|
||||
%D%/packages/patches/bind-fix-unused-pk11-ecc-constants.patch \
|
||||
%D%/packages/patches/binutils-loongson-workaround.patch \
|
||||
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
|
||||
%D%/packages/patches/blender-2.79-python-3.7-fix.patch \
|
||||
%D%/packages/patches/boost-fix-icu-build.patch \
|
||||
%D%/packages/patches/byobu-writable-status.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/calibre-use-packaged-feedparser.patch \
|
||||
%D%/packages/patches/casync-renameat2-declaration.patch \
|
||||
%D%/packages/patches/catdoc-CVE-2017-11110.patch \
|
||||
%D%/packages/patches/cdparanoia-fpic.patch \
|
||||
@@ -739,6 +716,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/clementine-use-openssl.patch \
|
||||
%D%/packages/patches/clisp-remove-failing-test.patch \
|
||||
%D%/packages/patches/clucene-pkgconfig.patch \
|
||||
%D%/packages/patches/clx-remove-demo.patch \
|
||||
%D%/packages/patches/coda-use-system-libs.patch \
|
||||
%D%/packages/patches/combinatorial-blas-awpm.patch \
|
||||
%D%/packages/patches/combinatorial-blas-io-fix.patch \
|
||||
@@ -746,20 +724,16 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/cpufrequtils-fix-aclocal.patch \
|
||||
%D%/packages/patches/crawl-upgrade-saves.patch \
|
||||
%D%/packages/patches/crda-optional-gcrypt.patch \
|
||||
%D%/packages/patches/csvkit-fix-tests.patch \
|
||||
%D%/packages/patches/clucene-contribs-lib.patch \
|
||||
%D%/packages/patches/cube-nocheck.patch \
|
||||
%D%/packages/patches/cursynth-wave-rand.patch \
|
||||
%D%/packages/patches/cvs-CVE-2017-12836.patch \
|
||||
%D%/packages/patches/darkice-workaround-fpermissive-error.patch \
|
||||
%D%/packages/patches/cvs-2017-12836.patch \
|
||||
%D%/packages/patches/dbus-helper-search-path.patch \
|
||||
%D%/packages/patches/dbus-CVE-2019-12749.patch \
|
||||
%D%/packages/patches/dealii-mpi-deprecations.patch \
|
||||
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
|
||||
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
|
||||
%D%/packages/patches/diffutils-gets-undeclared.patch \
|
||||
%D%/packages/patches/diffutils-getopt.patch \
|
||||
%D%/packages/patches/dkimproxy-add-ipv6-support.patch \
|
||||
%D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch \
|
||||
%D%/packages/patches/doc++-include-directives.patch \
|
||||
%D%/packages/patches/doc++-segfault-fix.patch \
|
||||
@@ -768,20 +742,18 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/docker-use-fewer-modprobes.patch \
|
||||
%D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \
|
||||
%D%/packages/patches/doxygen-test.patch \
|
||||
%D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \
|
||||
%D%/packages/patches/dstat-skip-devices-without-io.patch \
|
||||
%D%/packages/patches/dvd+rw-tools-add-include.patch \
|
||||
%D%/packages/patches/efl-mesa-compat.patch \
|
||||
%D%/packages/patches/elfutils-tests-ptrace.patch \
|
||||
%D%/packages/patches/elixir-path-length.patch \
|
||||
%D%/packages/patches/einstein-build.patch \
|
||||
%D%/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch \
|
||||
%D%/packages/patches/emacs-exec-path.patch \
|
||||
%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-scheme-complete-scheme-r5rs-info.patch \
|
||||
%D%/packages/patches/emacs-source-date-epoch.patch \
|
||||
%D%/packages/patches/emacs-unpackaged-req.patch \
|
||||
%D%/packages/patches/emacs-realgud-fix-configure-ac.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 \
|
||||
@@ -791,7 +763,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/evilwm-lost-focus-bug.patch \
|
||||
%D%/packages/patches/exiv2-CVE-2017-14860.patch \
|
||||
%D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \
|
||||
%D%/packages/patches/expat-CVE-2018-20843.patch \
|
||||
%D%/packages/patches/extundelete-e2fsprogs-1.44.patch \
|
||||
%D%/packages/patches/fastcap-mulGlobal.patch \
|
||||
%D%/packages/patches/fastcap-mulSetup.patch \
|
||||
@@ -810,6 +781,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/findutils-localstatedir.patch \
|
||||
%D%/packages/patches/findutils-makedev.patch \
|
||||
%D%/packages/patches/findutils-test-xargs.patch \
|
||||
%D%/packages/patches/flac-CVE-2017-6888.patch \
|
||||
%D%/packages/patches/flann-cmake-3.11.patch \
|
||||
%D%/packages/patches/flint-ldconfig.patch \
|
||||
%D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \
|
||||
@@ -841,10 +813,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gcc-6-cross-environment-variables.patch \
|
||||
%D%/packages/patches/gcc-6-source-date-epoch-1.patch \
|
||||
%D%/packages/patches/gcc-6-source-date-epoch-2.patch \
|
||||
%D%/packages/patches/gcc-8-cross-environment-variables.patch \
|
||||
%D%/packages/patches/gcc-8-strmov-store-file-names.patch \
|
||||
%D%/packages/patches/gcc-9-asan-fix-limits-include.patch \
|
||||
%D%/packages/patches/gcc-9-strmov-store-file-names.patch \
|
||||
%D%/packages/patches/gd-CVE-2018-5711.patch \
|
||||
%D%/packages/patches/gd-CVE-2018-1000222.patch \
|
||||
%D%/packages/patches/gd-CVE-2019-6977.patch \
|
||||
@@ -885,10 +854,12 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/glibc-2.27-git-fixes.patch \
|
||||
%D%/packages/patches/glibc-2.28-git-fixes.patch \
|
||||
%D%/packages/patches/glusterfs-use-PATH-instead-of-hardcodes.patch \
|
||||
%D%/packages/patches/glog-gcc-5-demangling.patch \
|
||||
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
|
||||
%D%/packages/patches/gmp-faulty-test.patch \
|
||||
%D%/packages/patches/gnome-shell-theme.patch \
|
||||
%D%/packages/patches/gnome-tweaks-search-paths.patch \
|
||||
%D%/packages/patches/gnome-tweak-tool-search-paths.patch \
|
||||
%D%/packages/patches/gnucash-fix-test-transaction-failure.patch \
|
||||
%D%/packages/patches/gnutls-skip-trust-store-test.patch \
|
||||
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
|
||||
%D%/packages/patches/gobject-introspection-cc.patch \
|
||||
@@ -899,9 +870,12 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/grep-timing-sensitive-test.patch \
|
||||
%D%/packages/patches/groff-source-date-epoch.patch \
|
||||
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
|
||||
%D%/packages/patches/grub-binutils-compat.patch \
|
||||
%D%/packages/patches/grub-check-error-efibootmgr.patch \
|
||||
%D%/packages/patches/grub-efi-fat-serial-number.patch \
|
||||
%D%/packages/patches/gsl-test-i686.patch \
|
||||
%D%/packages/patches/gspell-dash-test.patch \
|
||||
%D%/packages/patches/gst-plugins-good-libvpx-compat.patch \
|
||||
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
|
||||
%D%/packages/patches/guile-2.2-default-utf8.patch \
|
||||
%D%/packages/patches/guile-default-utf8.patch \
|
||||
@@ -911,14 +885,12 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/guile-relocatable.patch \
|
||||
%D%/packages/patches/guile-rsvg-pkgconfig.patch \
|
||||
%D%/packages/patches/guile-emacs-fix-configure.patch \
|
||||
%D%/packages/patches/gstreamer-buffer-reset-offset.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 \
|
||||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
|
||||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
|
||||
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
||||
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
|
||||
%D%/packages/patches/gzdoom-search-in-installed-share.patch \
|
||||
%D%/packages/patches/haskell-mode-unused-variables.patch \
|
||||
%D%/packages/patches/haskell-mode-make-check.patch \
|
||||
@@ -949,9 +921,9 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
|
||||
%D%/packages/patches/idris-test-no-node.patch \
|
||||
%D%/packages/patches/ilmbase-fix-tests.patch \
|
||||
%D%/packages/patches/inkscape-poppler-compat3.patch \
|
||||
%D%/packages/patches/intltool-perl-compatibility.patch \
|
||||
%D%/packages/patches/irrlicht-use-system-libs.patch \
|
||||
%D%/packages/patches/isc-dhcp-4.4.1-fixes-for-newer-bind.patch \
|
||||
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
|
||||
%D%/packages/patches/jacal-fix-texinfo.patch \
|
||||
%D%/packages/patches/jamvm-arm.patch \
|
||||
@@ -965,6 +937,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/java-xerces-xjavac_taskdef.patch \
|
||||
%D%/packages/patches/jbig2dec-ignore-testtest.patch \
|
||||
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
|
||||
%D%/packages/patches/khmer-use-libraries.patch \
|
||||
%D%/packages/patches/libziparchive-add-includes.patch \
|
||||
%D%/packages/patches/localed-xorg-keyboard.patch \
|
||||
%D%/packages/patches/kiki-level-selection-crash.patch \
|
||||
@@ -986,14 +959,9 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \
|
||||
%D%/packages/patches/kodi-skip-test-449.patch \
|
||||
%D%/packages/patches/laby-make-install.patch \
|
||||
%D%/packages/patches/lcalc-default-parameters-1.patch \
|
||||
%D%/packages/patches/lcalc-default-parameters-2.patch \
|
||||
%D%/packages/patches/lcalc-lcommon-h.patch \
|
||||
%D%/packages/patches/lcalc-using-namespace-std.patch \
|
||||
%D%/packages/patches/lcms-CVE-2018-16435.patch \
|
||||
%D%/packages/patches/ldc-bootstrap-disable-tests.patch \
|
||||
%D%/packages/patches/ldc-disable-phobos-tests.patch \
|
||||
%D%/packages/patches/leela-zero-gtest.patch \
|
||||
%D%/packages/patches/liba52-enable-pic.patch \
|
||||
%D%/packages/patches/liba52-link-with-libm.patch \
|
||||
%D%/packages/patches/liba52-set-soname.patch \
|
||||
@@ -1010,9 +978,15 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/libcroco-CVE-2017-7960.patch \
|
||||
%D%/packages/patches/libcroco-CVE-2017-7961.patch \
|
||||
%D%/packages/patches/libdrm-symbol-check.patch \
|
||||
%D%/packages/patches/libevent-dns-tests.patch \
|
||||
%D%/packages/patches/libevent-2.0-CVE-2016-10195.patch \
|
||||
%D%/packages/patches/libevent-2.0-CVE-2016-10196.patch \
|
||||
%D%/packages/patches/libevent-2.0-CVE-2016-10197.patch \
|
||||
%D%/packages/patches/libevent-2.0-evbuffer-add-use-last-with-datap.patch \
|
||||
%D%/packages/patches/libevent-2.1-dns-tests.patch \
|
||||
%D%/packages/patches/libevent-2.1-skip-failing-test.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/libgcrypt-make-yat2m-reproducible.patch \
|
||||
%D%/packages/patches/libgit2-avoid-python.patch \
|
||||
%D%/packages/patches/libgit2-mtime-0.patch \
|
||||
@@ -1026,8 +1000,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/libotr-test-auth-fix.patch \
|
||||
%D%/packages/patches/libmad-armv7-thumb-pt1.patch \
|
||||
%D%/packages/patches/libmad-armv7-thumb-pt2.patch \
|
||||
%D%/packages/patches/libmad-length-check.patch \
|
||||
%D%/packages/patches/libmad-md_size.patch \
|
||||
%D%/packages/patches/libmad-frame-length.patch \
|
||||
%D%/packages/patches/libmad-mips-newgcc.patch \
|
||||
%D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
|
||||
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
|
||||
@@ -1064,7 +1037,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \
|
||||
%D%/packages/patches/llvm-for-extempore.patch \
|
||||
%D%/packages/patches/lm-sensors-hwmon-attrs.patch \
|
||||
%D%/packages/patches/lrcalc-includes.patch \
|
||||
%D%/packages/patches/lrzip-CVE-2017-8842.patch \
|
||||
%D%/packages/patches/lua-CVE-2014-5461.patch \
|
||||
%D%/packages/patches/lua-pkgconfig.patch \
|
||||
@@ -1078,7 +1050,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/lxsession-use-gapplication.patch \
|
||||
%D%/packages/patches/make-glibc-compat.patch \
|
||||
%D%/packages/patches/make-impure-dirs.patch \
|
||||
%D%/packages/patches/mame-rapidjson-fix.patch \
|
||||
%D%/packages/patches/mariadb-client-test-32bit.patch \
|
||||
%D%/packages/patches/mars-install.patch \
|
||||
%D%/packages/patches/mars-sfml-2.3.patch \
|
||||
@@ -1123,8 +1094,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/netsurf-longer-test-timeout.patch \
|
||||
%D%/packages/patches/nfs-utils-missing-headers.patch \
|
||||
%D%/packages/patches/ngircd-handle-zombies.patch \
|
||||
%D%/packages/patches/nm-plugin-path.patch \
|
||||
%D%/packages/patches/nss-freebl-stubs.patch \
|
||||
%D%/packages/patches/nss-increase-test-timeout.patch \
|
||||
%D%/packages/patches/nss-pkgconfig.patch \
|
||||
%D%/packages/patches/ntfs-3g-CVE-2019-9755.patch \
|
||||
@@ -1142,7 +1111,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \
|
||||
%D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \
|
||||
%D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
|
||||
%D%/packages/patches/ocaml-piqilib-Update-base64.patch \
|
||||
%D%/packages/patches/omake-fix-non-determinism.patch \
|
||||
%D%/packages/patches/ola-readdir-r.patch \
|
||||
%D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \
|
||||
@@ -1156,7 +1124,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/openssl-1.1-c-rehash-in.patch \
|
||||
%D%/packages/patches/openssl-c-rehash-in.patch \
|
||||
%D%/packages/patches/openssl-CVE-2019-1559.patch \
|
||||
%D%/packages/patches/open-zwave-hidapi.patch \
|
||||
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \
|
||||
%D%/packages/patches/osip-CVE-2017-7853.patch \
|
||||
%D%/packages/patches/ots-no-include-missing-file.patch \
|
||||
@@ -1170,7 +1137,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/patchelf-rework-for-arm.patch \
|
||||
%D%/packages/patches/patchutils-test-perms.patch \
|
||||
%D%/packages/patches/patch-hurd-path-max.patch \
|
||||
%D%/packages/patches/pcre2-fix-jit_match-crash.patch \
|
||||
%D%/packages/patches/perl-autosplit-default-time.patch \
|
||||
%D%/packages/patches/perl-deterministic-ordering.patch \
|
||||
%D%/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \
|
||||
@@ -1195,10 +1161,9 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/pixman-CVE-2016-5296.patch \
|
||||
%D%/packages/patches/plink-1.07-unclobber-i.patch \
|
||||
%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/polkit-CVE-2018-19788.patch \
|
||||
%D%/packages/patches/portaudio-audacity-compat.patch \
|
||||
%D%/packages/patches/portmidi-modular-build.patch \
|
||||
%D%/packages/patches/postgresql-disable-resolve_symlinks.patch \
|
||||
@@ -1241,12 +1206,10 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-mox3-python3.6-compat.patch \
|
||||
%D%/packages/patches/python-testtools.patch \
|
||||
%D%/packages/patches/python-paste-remove-timing-test.patch \
|
||||
%D%/packages/patches/python-pyatspi-python-37.patch \
|
||||
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
|
||||
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
|
||||
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
|
||||
%D%/packages/patches/python-robotframework-honor-source-date-epoch.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 \
|
||||
@@ -1264,7 +1227,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/randomjungle-disable-static-build.patch \
|
||||
%D%/packages/patches/rapicorn-isnan.patch \
|
||||
%D%/packages/patches/raptor2-heap-overflow.patch \
|
||||
%D%/packages/patches/ratpoints-sturm_and_rp_private.patch \
|
||||
%D%/packages/patches/ratpoison-shell.patch \
|
||||
%D%/packages/patches/rcs-5.9.4-noreturn.patch \
|
||||
%D%/packages/patches/rct-add-missing-headers.patch \
|
||||
@@ -1272,7 +1234,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/readline-6.2-CVE-2014-2524.patch \
|
||||
%D%/packages/patches/red-eclipse-remove-gamma-name-hack.patch \
|
||||
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
|
||||
%D%/packages/patches/ri-li-modernize_cpp.patch \
|
||||
%D%/packages/patches/ripperx-missing-file.patch \
|
||||
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
|
||||
%D%/packages/patches/rtags-separate-rct.patch \
|
||||
@@ -1288,12 +1249,14 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch \
|
||||
%D%/packages/patches/rust-bootstrap-stage0-test.patch \
|
||||
%D%/packages/patches/rust-coresimd-doctest.patch \
|
||||
%D%/packages/patches/rust-1.30-gdb-llvm.patch \
|
||||
%D%/packages/patches/rust-reproducible-builds.patch \
|
||||
%D%/packages/patches/rxvt-unicode-escape-sequences.patch \
|
||||
%D%/packages/patches/scalapack-blacs-mpi-deprecations.patch \
|
||||
%D%/packages/patches/scheme48-tests.patch \
|
||||
%D%/packages/patches/scotch-build-parallelism.patch \
|
||||
%D%/packages/patches/scotch-integer-declarations.patch \
|
||||
%D%/packages/patches/scribus-poppler.patch \
|
||||
%D%/packages/patches/sdl-libx11-1.6.patch \
|
||||
%D%/packages/patches/seq24-rename-mutex.patch \
|
||||
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
|
||||
@@ -1303,27 +1266,19 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/slim-sigusr1.patch \
|
||||
%D%/packages/patches/slim-reset.patch \
|
||||
%D%/packages/patches/slim-login.patch \
|
||||
%D%/packages/patches/slim-display.patch \
|
||||
%D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \
|
||||
%D%/packages/patches/sooperlooper-build-with-wx-30.patch \
|
||||
%D%/packages/patches/soundconverter-remove-gconf-dependency.patch \
|
||||
%D%/packages/patches/sssd-curl-compat.patch \
|
||||
%D%/packages/patches/steghide-fixes.patch \
|
||||
%D%/packages/patches/strace-ipc-tests.patch \
|
||||
%D%/packages/patches/streamlink-update-test.patch \
|
||||
%D%/packages/patches/stumpwm-fix-broken-read-one-line.patch \
|
||||
%D%/packages/patches/superlu-dist-awpm-grid.patch \
|
||||
%D%/packages/patches/superlu-dist-fix-mpi-deprecations.patch \
|
||||
%D%/packages/patches/superlu-dist-scotchmetis.patch \
|
||||
%D%/packages/patches/supertux-fix-build-with-gcc5.patch \
|
||||
%D%/packages/patches/supertux-unbundle-squirrel.patch \
|
||||
%D%/packages/patches/swig-guile-gc.patch \
|
||||
%D%/packages/patches/swish-e-search.patch \
|
||||
%D%/packages/patches/swish-e-format-security.patch \
|
||||
%D%/packages/patches/symmetrica-bruch.patch \
|
||||
%D%/packages/patches/symmetrica-int32.patch \
|
||||
%D%/packages/patches/symmetrica-return_values.patch \
|
||||
%D%/packages/patches/symmetrica-sort_sum_rename.patch \
|
||||
%D%/packages/patches/stumpwm-fix-broken-read-one-line.patch \
|
||||
%D%/packages/patches/t1lib-CVE-2010-2642.patch \
|
||||
%D%/packages/patches/t1lib-CVE-2011-0764.patch \
|
||||
%D%/packages/patches/t1lib-CVE-2011-1552+.patch \
|
||||
@@ -1354,7 +1309,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/totem-meson-easy-codec.patch \
|
||||
%D%/packages/patches/tuxpaint-stamps-path.patch \
|
||||
%D%/packages/patches/twinkle-include-qregexpvalidator.patch \
|
||||
%D%/packages/patches/txr-shell.patch \
|
||||
%D%/packages/patches/u-boot-fix-mkimage-header-verification.patch \
|
||||
%D%/packages/patches/unzip-CVE-2014-8139.patch \
|
||||
%D%/packages/patches/unzip-CVE-2014-8140.patch \
|
||||
@@ -1373,7 +1327,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/util-linux-tests.patch \
|
||||
%D%/packages/patches/upower-builddir.patch \
|
||||
%D%/packages/patches/upx-fix-CVE-2017-15056.patch \
|
||||
%D%/packages/patches/usb-modeswitch-accept-config-arg.patch \
|
||||
%D%/packages/patches/valgrind-enable-arm.patch \
|
||||
%D%/packages/patches/vboot-utils-fix-format-load-address.patch \
|
||||
%D%/packages/patches/vboot-utils-fix-tests-show-contents.patch \
|
||||
@@ -1390,6 +1343,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/wavpack-CVE-2018-6767.patch \
|
||||
%D%/packages/patches/wavpack-CVE-2018-7253.patch \
|
||||
%D%/packages/patches/wavpack-CVE-2018-7254.patch \
|
||||
%D%/packages/patches/webkitgtk-sse2.patch \
|
||||
%D%/packages/patches/weechat-python.patch \
|
||||
%D%/packages/patches/wicd-bitrate-none-fix.patch \
|
||||
%D%/packages/patches/wicd-get-selected-profile-fix.patch \
|
||||
@@ -1409,14 +1363,11 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
|
||||
%D%/packages/patches/xf86-video-sis-xorg-compat.patch \
|
||||
%D%/packages/patches/xf86-video-tga-remove-mibstore.patch \
|
||||
%D%/packages/patches/xf86-video-voodoo-pcitag.patch \
|
||||
%D%/packages/patches/xfce4-panel-plugins.patch \
|
||||
%D%/packages/patches/xfce4-session-fix-xflock4.patch \
|
||||
%D%/packages/patches/xfce4-settings-defaults.patch \
|
||||
%D%/packages/patches/xinetd-fix-fd-leak.patch \
|
||||
%D%/packages/patches/xinetd-CVE-2013-4342.patch \
|
||||
%D%/packages/patches/xorriso-no-partition-table-in-inner-efi.patch \
|
||||
%D%/packages/patches/xorriso-no-mbr-in-inner-efi.patch
|
||||
%D%/packages/patches/xinetd-CVE-2013-4342.patch
|
||||
|
||||
MISC_DISTRO_FILES = \
|
||||
%D%/packages/ld-wrapper.in
|
||||
|
||||
-132
@@ -1,132 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.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 machine)
|
||||
#:use-module (gnu system)
|
||||
#:use-module (guix derivations)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix store)
|
||||
#:use-module ((guix utils) #:select (source-properties->location))
|
||||
#:use-module (srfi srfi-35)
|
||||
#:export (environment-type
|
||||
environment-type?
|
||||
environment-type-name
|
||||
environment-type-description
|
||||
environment-type-location
|
||||
|
||||
machine
|
||||
machine?
|
||||
this-machine
|
||||
|
||||
machine-operating-system
|
||||
machine-environment
|
||||
machine-configuration
|
||||
machine-display-name
|
||||
|
||||
deploy-machine
|
||||
roll-back-machine
|
||||
machine-remote-eval
|
||||
|
||||
&deploy-error
|
||||
deploy-error?
|
||||
deploy-error-should-roll-back
|
||||
deploy-error-captured-args))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; This module provides the types used to declare individual machines in a
|
||||
;;; heterogeneous Guix deployment. The interface allows users of specify system
|
||||
;;; configurations and the means by which resources should be provisioned on a
|
||||
;;; per-host basis.
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
|
||||
;;;
|
||||
;;; Declarations for resources that can be provisioned.
|
||||
;;;
|
||||
|
||||
(define-record-type* <environment-type> environment-type
|
||||
make-environment-type
|
||||
environment-type?
|
||||
|
||||
;; Interface to the environment type's deployment code. Each procedure
|
||||
;; should take the same arguments as the top-level procedure of this file
|
||||
;; that shares the same name. For example, 'machine-remote-eval' should be
|
||||
;; of the form '(machine-remote-eval machine exp)'.
|
||||
(machine-remote-eval environment-type-machine-remote-eval) ; procedure
|
||||
(deploy-machine environment-type-deploy-machine) ; procedure
|
||||
(roll-back-machine environment-type-roll-back-machine) ; procedure
|
||||
|
||||
;; Metadata.
|
||||
(name environment-type-name) ; symbol
|
||||
(description environment-type-description ; string
|
||||
(default #f))
|
||||
(location environment-type-location ; <location>
|
||||
(default (and=> (current-source-location)
|
||||
source-properties->location))
|
||||
(innate)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Declarations for machines in a deployment.
|
||||
;;;
|
||||
|
||||
(define-record-type* <machine> machine
|
||||
make-machine
|
||||
machine?
|
||||
this-machine
|
||||
(operating-system machine-operating-system) ; <operating-system>
|
||||
(environment machine-environment) ; symbol
|
||||
(configuration machine-configuration ; configuration object
|
||||
(default #f))) ; specific to environment
|
||||
|
||||
(define (machine-display-name machine)
|
||||
"Return the host-name identifying MACHINE."
|
||||
(operating-system-host-name (machine-operating-system machine)))
|
||||
|
||||
(define (machine-remote-eval machine exp)
|
||||
"Evaluate EXP, a gexp, on MACHINE. Ensure that all the elements EXP refers to
|
||||
are built and deployed to MACHINE beforehand."
|
||||
(let ((environment (machine-environment machine)))
|
||||
((environment-type-machine-remote-eval environment) machine exp)))
|
||||
|
||||
(define (deploy-machine machine)
|
||||
"Monadic procedure transferring the new system's OS closure to the remote
|
||||
MACHINE, activating it on MACHINE and switching MACHINE to the new generation."
|
||||
(let ((environment (machine-environment machine)))
|
||||
((environment-type-deploy-machine environment) machine)))
|
||||
|
||||
(define (roll-back-machine machine)
|
||||
"Monadic procedure rolling back to the previous system generation on
|
||||
MACHINE. Return the number of the generation that was current before switching
|
||||
and the new generation number."
|
||||
(let ((environment (machine-environment machine)))
|
||||
((environment-type-roll-back-machine environment) machine)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Error types.
|
||||
;;;
|
||||
|
||||
(define-condition-type &deploy-error &error
|
||||
deploy-error?
|
||||
(should-roll-back deploy-error-should-roll-back)
|
||||
(captured-args deploy-error-captured-args))
|
||||
@@ -1,470 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.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 machine ssh)
|
||||
#:use-module (gnu bootloader)
|
||||
#:use-module (gnu machine)
|
||||
#:autoload (gnu packages gnupg) (guile-gcrypt)
|
||||
#:use-module (gnu system)
|
||||
#:use-module (gnu system file-systems)
|
||||
#:use-module (gnu system uuid)
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (guix modules)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (guix pki)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix remote)
|
||||
#:use-module (guix scripts system reconfigure)
|
||||
#:use-module (guix ssh)
|
||||
#:use-module (guix store)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gcrypt pk-crypto)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 textual-ports)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-19)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:export (managed-host-environment-type
|
||||
|
||||
machine-ssh-configuration
|
||||
machine-ssh-configuration?
|
||||
machine-ssh-configuration
|
||||
|
||||
machine-ssh-configuration-host-name
|
||||
machine-ssh-configuration-build-locally?
|
||||
machine-ssh-configuration-authorize?
|
||||
machine-ssh-configuration-port
|
||||
machine-ssh-configuration-user
|
||||
machine-ssh-configuration-session))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; This module implements remote evaluation and system deployment for
|
||||
;;; machines that are accessible over SSH and have a known host-name. In the
|
||||
;;; sense of the broader "machine" interface, we describe the environment for
|
||||
;;; such machines as 'managed-host.
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
|
||||
;;;
|
||||
;;; Parameters for the SSH client.
|
||||
;;;
|
||||
|
||||
(define-record-type* <machine-ssh-configuration> machine-ssh-configuration
|
||||
make-machine-ssh-configuration
|
||||
machine-ssh-configuration?
|
||||
this-machine-ssh-configuration
|
||||
(host-name machine-ssh-configuration-host-name) ; string
|
||||
(system machine-ssh-configuration-system) ; string
|
||||
(build-locally? machine-ssh-configuration-build-locally? ; boolean
|
||||
(default #t))
|
||||
(authorize? machine-ssh-configuration-authorize? ; boolean
|
||||
(default #t))
|
||||
(port machine-ssh-configuration-port ; integer
|
||||
(default 22))
|
||||
(user machine-ssh-configuration-user ; string
|
||||
(default "root"))
|
||||
(identity machine-ssh-configuration-identity ; path to a private key
|
||||
(default #f))
|
||||
(session machine-ssh-configuration-session ; session
|
||||
(default #f)))
|
||||
|
||||
(define (machine-ssh-session machine)
|
||||
"Return the SSH session that was given in MACHINE's configuration, or create
|
||||
one from the configuration's parameters if one was not provided."
|
||||
(maybe-raise-unsupported-configuration-error machine)
|
||||
(let ((config (machine-configuration machine)))
|
||||
(or (machine-ssh-configuration-session config)
|
||||
(let ((host-name (machine-ssh-configuration-host-name config))
|
||||
(user (machine-ssh-configuration-user config))
|
||||
(port (machine-ssh-configuration-port config))
|
||||
(identity (machine-ssh-configuration-identity config)))
|
||||
(open-ssh-session host-name
|
||||
#:user user
|
||||
#:port port
|
||||
#:identity identity)))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Remote evaluation.
|
||||
;;;
|
||||
|
||||
(define (machine-become-command machine)
|
||||
"Return as a list of strings the program and arguments necessary to run a
|
||||
shell command with escalated privileges for MACHINE's configuration."
|
||||
(if (string= "root" (machine-ssh-configuration-user
|
||||
(machine-configuration machine)))
|
||||
'()
|
||||
'("/run/setuid-programs/sudo" "-n" "--")))
|
||||
|
||||
(define (managed-host-remote-eval machine exp)
|
||||
"Internal implementation of 'machine-remote-eval' for MACHINE instances with
|
||||
an environment type of 'managed-host."
|
||||
(maybe-raise-unsupported-configuration-error machine)
|
||||
(let ((config (machine-configuration machine)))
|
||||
(remote-eval exp (machine-ssh-session machine)
|
||||
#:build-locally?
|
||||
(machine-ssh-configuration-build-locally? config)
|
||||
#:system
|
||||
(machine-ssh-configuration-system config))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Safety checks.
|
||||
;;;
|
||||
|
||||
(define (machine-check-file-system-availability machine)
|
||||
"Raise a '&message' error condition if any of the file-systems specified in
|
||||
MACHINE's 'system' declaration do not exist on the machine."
|
||||
(define file-systems
|
||||
(filter (lambda (fs)
|
||||
(and (file-system-mount? fs)
|
||||
(not (member (file-system-type fs)
|
||||
%pseudo-file-system-types))
|
||||
(not (memq 'bind-mount (file-system-flags fs)))))
|
||||
(operating-system-file-systems (machine-operating-system machine))))
|
||||
|
||||
(define (check-literal-file-system fs)
|
||||
(define remote-exp
|
||||
#~(catch 'system-error
|
||||
(lambda ()
|
||||
(stat #$(file-system-device fs))
|
||||
#t)
|
||||
(lambda args
|
||||
(system-error-errno args))))
|
||||
|
||||
(mlet %store-monad ((errno (machine-remote-eval machine remote-exp)))
|
||||
(when (number? errno)
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "device '~a' not found: ~a")
|
||||
(file-system-device fs)
|
||||
(strerror errno)))))))
|
||||
(return #t)))
|
||||
|
||||
(define (check-labeled-file-system fs)
|
||||
(define remote-exp
|
||||
(with-imported-modules '((gnu build file-systems))
|
||||
#~(begin
|
||||
(use-modules (gnu build file-systems))
|
||||
(find-partition-by-label #$(file-system-label->string
|
||||
(file-system-device fs))))))
|
||||
|
||||
(mlet %store-monad ((result (machine-remote-eval machine remote-exp)))
|
||||
(unless result
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "no file system with label '~a'")
|
||||
(file-system-label->string
|
||||
(file-system-device fs))))))))
|
||||
(return #t)))
|
||||
|
||||
(define (check-uuid-file-system fs)
|
||||
(define remote-exp
|
||||
(with-imported-modules (source-module-closure
|
||||
'((gnu build file-systems)
|
||||
(gnu system uuid)))
|
||||
#~(begin
|
||||
(use-modules (gnu build file-systems)
|
||||
(gnu system uuid))
|
||||
|
||||
(define uuid
|
||||
(string->uuid #$(uuid->string (file-system-device fs))))
|
||||
|
||||
(find-partition-by-uuid uuid))))
|
||||
|
||||
(mlet %store-monad ((result (machine-remote-eval machine remote-exp)))
|
||||
(unless result
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "no file system with UUID '~a'")
|
||||
(uuid->string (file-system-device fs))))))))
|
||||
(return #t)))
|
||||
|
||||
(mbegin %store-monad
|
||||
(mapm %store-monad check-literal-file-system
|
||||
(filter (lambda (fs)
|
||||
(string? (file-system-device fs)))
|
||||
file-systems))
|
||||
(mapm %store-monad check-labeled-file-system
|
||||
(filter (lambda (fs)
|
||||
(file-system-label? (file-system-device fs)))
|
||||
file-systems))
|
||||
(mapm %store-monad check-uuid-file-system
|
||||
(filter (lambda (fs)
|
||||
(uuid? (file-system-device fs)))
|
||||
file-systems))))
|
||||
|
||||
(define (machine-check-initrd-modules machine)
|
||||
"Raise a '&message' error condition if any of the modules needed by
|
||||
'needed-for-boot' file systems in MACHINE are not available in the initrd."
|
||||
(define file-systems
|
||||
(filter file-system-needed-for-boot?
|
||||
(operating-system-file-systems (machine-operating-system machine))))
|
||||
|
||||
(define (missing-modules fs)
|
||||
(define remote-exp
|
||||
(let ((device (file-system-device fs)))
|
||||
(with-imported-modules (source-module-closure
|
||||
'((gnu build file-systems)
|
||||
(gnu build linux-modules)
|
||||
(gnu system uuid)))
|
||||
#~(begin
|
||||
(use-modules (gnu build file-systems)
|
||||
(gnu build linux-modules)
|
||||
(gnu system uuid))
|
||||
|
||||
(define dev
|
||||
#$(cond ((string? device) device)
|
||||
((uuid? device) #~(find-partition-by-uuid
|
||||
(string->uuid
|
||||
#$(uuid->string device))))
|
||||
((file-system-label? device)
|
||||
#~(find-partition-by-label
|
||||
(file-system-label->string #$device)))))
|
||||
|
||||
(missing-modules dev '#$(operating-system-initrd-modules
|
||||
(machine-operating-system machine)))))))
|
||||
(mlet %store-monad ((missing (machine-remote-eval machine remote-exp)))
|
||||
(return (list fs missing))))
|
||||
|
||||
(mlet %store-monad ((device (mapm %store-monad missing-modules file-systems)))
|
||||
(for-each (match-lambda
|
||||
((fs missing)
|
||||
(unless (null? missing)
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "~a missing modules ~{ ~a~}~%")
|
||||
(file-system-device fs)
|
||||
missing))))))))
|
||||
device)
|
||||
(return #t)))
|
||||
|
||||
(define (machine-check-building-for-appropriate-system machine)
|
||||
"Raise a '&message' error condition if MACHINE is configured to be built
|
||||
locally and the 'system' field does not match the '%current-system' reported
|
||||
by MACHINE."
|
||||
(let ((config (machine-configuration machine))
|
||||
(system (remote-system (machine-ssh-session machine))))
|
||||
(when (and (machine-ssh-configuration-build-locally? config)
|
||||
(not (string= system (machine-ssh-configuration-system config))))
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "incorrect target system \
|
||||
('~a' was given, while the system reports that it is '~a')~%")
|
||||
(machine-ssh-configuration-system config)
|
||||
system)))))))
|
||||
(with-monad %store-monad (return #t)))
|
||||
|
||||
(define (check-deployment-sanity machine)
|
||||
"Raise a '&message' error condition if it is clear that deploying MACHINE's
|
||||
'system' declaration would fail."
|
||||
;; Order is important here -- an incorrect value for 'system' will cause
|
||||
;; invocations of 'remote-eval' to fail.
|
||||
(mbegin %store-monad
|
||||
(machine-check-building-for-appropriate-system machine)
|
||||
(machine-check-file-system-availability machine)
|
||||
(machine-check-initrd-modules machine)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; System deployment.
|
||||
;;;
|
||||
|
||||
(define (machine-boot-parameters machine)
|
||||
"Monadic procedure returning a list of 'boot-parameters' for the generations
|
||||
of MACHINE's system profile, ordered from most recent to oldest."
|
||||
(define bootable-kernel-arguments
|
||||
(@@ (gnu system) bootable-kernel-arguments))
|
||||
|
||||
(define remote-exp
|
||||
(with-extensions (list guile-gcrypt)
|
||||
(with-imported-modules (source-module-closure '((guix config)
|
||||
(guix profiles)))
|
||||
#~(begin
|
||||
(use-modules (guix config)
|
||||
(guix profiles)
|
||||
(ice-9 textual-ports))
|
||||
|
||||
(define %system-profile
|
||||
(string-append %state-directory "/profiles/system"))
|
||||
|
||||
(define (read-file path)
|
||||
(call-with-input-file path
|
||||
(lambda (port)
|
||||
(get-string-all port))))
|
||||
|
||||
(map (lambda (generation)
|
||||
(let* ((system-path (generation-file-name %system-profile
|
||||
generation))
|
||||
(boot-parameters-path (string-append system-path
|
||||
"/parameters"))
|
||||
(time (stat:mtime (lstat system-path))))
|
||||
(list generation
|
||||
system-path
|
||||
time
|
||||
(read-file boot-parameters-path))))
|
||||
(reverse (generation-numbers %system-profile)))))))
|
||||
|
||||
(mlet* %store-monad ((generations (machine-remote-eval machine remote-exp)))
|
||||
(return
|
||||
(map (lambda (generation)
|
||||
(match generation
|
||||
((generation system-path time serialized-params)
|
||||
(let* ((params (call-with-input-string serialized-params
|
||||
read-boot-parameters))
|
||||
(root (boot-parameters-root-device params))
|
||||
(label (boot-parameters-label params)))
|
||||
(boot-parameters
|
||||
(inherit params)
|
||||
(label
|
||||
(string-append label " (#"
|
||||
(number->string generation) ", "
|
||||
(let ((time (make-time time-utc 0 time)))
|
||||
(date->string (time-utc->date time)
|
||||
"~Y-~m-~d ~H:~M"))
|
||||
")"))
|
||||
(kernel-arguments
|
||||
(append (bootable-kernel-arguments system-path root)
|
||||
(boot-parameters-kernel-arguments params))))))))
|
||||
generations))))
|
||||
|
||||
(define-syntax-rule (with-roll-back should-roll-back? mbody ...)
|
||||
"Catch exceptions that arise when binding MBODY, a monadic expression in
|
||||
%STORE-MONAD, and collect their arguments in a &deploy-error condition, with
|
||||
the 'should-roll-back' field set to SHOULD-ROLL-BACK?"
|
||||
(catch #t
|
||||
(lambda ()
|
||||
mbody ...)
|
||||
(lambda args
|
||||
(raise (condition (&deploy-error
|
||||
(should-roll-back should-roll-back?)
|
||||
(captured-args args)))))))
|
||||
|
||||
(define (deploy-managed-host machine)
|
||||
"Internal implementation of 'deploy-machine' for MACHINE instances with an
|
||||
environment type of 'managed-host."
|
||||
(maybe-raise-unsupported-configuration-error machine)
|
||||
(when (machine-ssh-configuration-authorize?
|
||||
(machine-configuration machine))
|
||||
(unless (file-exists? %public-key-file)
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "no signing key '~a'. \
|
||||
have you run 'guix archive --generate-key?'")
|
||||
%public-key-file))))))
|
||||
(remote-authorize-signing-key (call-with-input-file %public-key-file
|
||||
(lambda (port)
|
||||
(string->canonical-sexp
|
||||
(get-string-all port))))
|
||||
(machine-ssh-session machine)))
|
||||
(mlet %store-monad ((_ (check-deployment-sanity machine))
|
||||
(boot-parameters (machine-boot-parameters machine)))
|
||||
(let* ((os (machine-operating-system machine))
|
||||
(eval (cut machine-remote-eval machine <>))
|
||||
(menu-entries (map boot-parameters->menu-entry boot-parameters))
|
||||
(bootloader-configuration (operating-system-bootloader os))
|
||||
(bootcfg (operating-system-bootcfg os menu-entries)))
|
||||
(mbegin %store-monad
|
||||
(with-roll-back #f
|
||||
(switch-to-system eval os))
|
||||
(with-roll-back #t
|
||||
(mbegin %store-monad
|
||||
(upgrade-shepherd-services eval os)
|
||||
(install-bootloader eval bootloader-configuration bootcfg)))))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Roll-back.
|
||||
;;;
|
||||
|
||||
(define (roll-back-managed-host machine)
|
||||
"Internal implementation of 'roll-back-machine' for MACHINE instances with
|
||||
an environment type of 'managed-host."
|
||||
(define remote-exp
|
||||
(with-extensions (list guile-gcrypt)
|
||||
(with-imported-modules (source-module-closure '((guix config)
|
||||
(guix profiles)))
|
||||
#~(begin
|
||||
(use-modules (guix config)
|
||||
(guix profiles))
|
||||
|
||||
(define %system-profile
|
||||
(string-append %state-directory "/profiles/system"))
|
||||
|
||||
(define target-generation
|
||||
(relative-generation %system-profile -1))
|
||||
|
||||
(if target-generation
|
||||
(switch-to-generation %system-profile target-generation)
|
||||
'error)))))
|
||||
|
||||
(define roll-back-failure
|
||||
(condition (&message (message (G_ "could not roll-back machine")))))
|
||||
|
||||
(mlet* %store-monad ((boot-parameters (machine-boot-parameters machine))
|
||||
(_ -> (if (< (length boot-parameters) 2)
|
||||
(raise roll-back-failure)))
|
||||
(entries -> (map boot-parameters->menu-entry
|
||||
(list (second boot-parameters))))
|
||||
(old-entries -> (map boot-parameters->menu-entry
|
||||
(drop boot-parameters 2)))
|
||||
(bootloader -> (operating-system-bootloader
|
||||
(machine-operating-system machine)))
|
||||
(bootcfg (lower-object
|
||||
((bootloader-configuration-file-generator
|
||||
(bootloader-configuration-bootloader
|
||||
bootloader))
|
||||
bootloader entries
|
||||
#:old-entries old-entries)))
|
||||
(remote-result (machine-remote-eval machine remote-exp)))
|
||||
(when (eqv? 'error remote-result)
|
||||
(raise roll-back-failure))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Environment type.
|
||||
;;;
|
||||
|
||||
(define managed-host-environment-type
|
||||
(environment-type
|
||||
(machine-remote-eval managed-host-remote-eval)
|
||||
(deploy-machine deploy-managed-host)
|
||||
(roll-back-machine roll-back-managed-host)
|
||||
(name 'managed-host-environment-type)
|
||||
(description "Provisioning for machines that are accessible over SSH
|
||||
and have a known host-name. This entails little more than maintaining an SSH
|
||||
connection to the host.")))
|
||||
|
||||
(define (maybe-raise-unsupported-configuration-error machine)
|
||||
"Raise an error if MACHINE's configuration is not an instance of
|
||||
<machine-ssh-configuration>."
|
||||
(let ((config (machine-configuration machine))
|
||||
(environment (environment-type-name (machine-environment machine))))
|
||||
(unless (and config (machine-ssh-configuration? config))
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "unsupported machine configuration '~a'
|
||||
for environment of type '~a'")
|
||||
config
|
||||
environment))))))))
|
||||
+2
-6
@@ -534,18 +534,14 @@ optionally contain a version number and an output name, as in these examples:
|
||||
guile@2.0.9:debug
|
||||
|
||||
If SPEC does not specify a version number, return the preferred newest
|
||||
version; if SPEC does not specify an output, return OUTPUT.
|
||||
|
||||
When OUTPUT is false and SPEC does not specify any output, return #f as the
|
||||
output."
|
||||
version; if SPEC does not specify an output, return OUTPUT."
|
||||
(let-values (((name version sub-drv)
|
||||
(package-specification->name+version+output spec output)))
|
||||
(match (%find-package spec name version)
|
||||
(#f
|
||||
(values #f #f))
|
||||
(package
|
||||
(if (or (and (not output) (not sub-drv))
|
||||
(member sub-drv (package-outputs package)))
|
||||
(if (member sub-drv (package-outputs package))
|
||||
(values package sub-drv)
|
||||
(leave (G_ "package `~a' lacks output `~a'~%")
|
||||
(package-full-name package)
|
||||
|
||||
+75
-265
@@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;; Copyright © 2014, 2015, 2016, 2018, 2019 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
|
||||
@@ -24,7 +24,6 @@
|
||||
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
|
||||
;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -90,7 +89,6 @@
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages terminals)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages groff)
|
||||
@@ -115,14 +113,14 @@
|
||||
(define-public aide
|
||||
(package
|
||||
(name "aide")
|
||||
(version "0.16.2")
|
||||
(version "0.16.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/aide/aide/releases/download/v"
|
||||
version "/aide-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "15xp47sz7kk1ciffw3f5xw2jg2mb2lqrbr3q6p4bkbz5dap9iy8p"))))
|
||||
(base32 "1dqhc0c24wa4zid06pfy61k357yvzh28ij86bk9jf6hcqzn7qaqg"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
@@ -183,14 +181,14 @@ and provides a \"top-like\" mode (monitoring).")
|
||||
(define-public shepherd
|
||||
(package
|
||||
(name "shepherd")
|
||||
(version "0.6.1")
|
||||
(version "0.6.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/shepherd/shepherd-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xn6mb5bh8bpfgdrh09ja31jk0ln7bmxbbf0vjcqxkkixs2wl6sk"))))
|
||||
"1ys2w83vm62spr8bx38sccfdpy9fqmj7wfywm5k8ihsy2k61da2i"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--localstatedir=/var")))
|
||||
@@ -371,7 +369,7 @@ application (for console or X terminals) and requires ncurses.")
|
||||
(define-public pies
|
||||
(package
|
||||
(name "pies")
|
||||
(version "1.4")
|
||||
(version "1.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -379,7 +377,7 @@ application (for console or X terminals) and requires ncurses.")
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"14jb4pa4zs26d5j2skxbaypnwhsx2lw8jgj1irrgs03c2dnf7gp6"))))
|
||||
"12r7rjjyibjdj08dvwbp0iflfpzl4s0zhn6cr6zj3hwf9gbzgl1g"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
@@ -388,7 +386,7 @@ application (for console or X terminals) and requires ncurses.")
|
||||
;; Use the right shell when executing user-provided
|
||||
;; shell commands.
|
||||
(let ((bash (assoc-ref inputs "bash")))
|
||||
(substitute* '("src/progman.c" "src/comp.c")
|
||||
(substitute* "src/progman.c"
|
||||
(("\"/bin/sh\"")
|
||||
(string-append "\"" bash "/bin/sh\"")))
|
||||
#t))))))
|
||||
@@ -438,7 +436,7 @@ hostname.")
|
||||
(define-public shadow
|
||||
(package
|
||||
(name "shadow")
|
||||
(version "4.7")
|
||||
(version "4.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -446,7 +444,7 @@ hostname.")
|
||||
"download/" version "/shadow-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0v71474rx38lg9kidrm4xbk35sg3icv3s5pk2b42icp3lyj9dqg5"))))
|
||||
"10smy01km2bqjjvsd2jz17zvrxbzj89qczyb1amk38j28bcci609"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(;; Assume System V `setpgrp (void)', which is the default on GNU
|
||||
@@ -482,7 +480,7 @@ hostname.")
|
||||
"-linux")
|
||||
`(("linux-pam" ,linux-pam))
|
||||
'()))
|
||||
(home-page "https://github.com/shadow-maint/shadow")
|
||||
(home-page "http://pkg-shadow.alioth.debian.org/")
|
||||
(synopsis "Authentication-related tools such as passwd, su, and login")
|
||||
(description
|
||||
"Shadow provides a number of authentication-related tools, including:
|
||||
@@ -684,9 +682,9 @@ connection alive.")
|
||||
(define-public isc-dhcp
|
||||
(let* ((bind-major-version "9")
|
||||
(bind-minor-version "11")
|
||||
(bind-patch-version "9")
|
||||
(bind-release-type "") ; for patch release, use "-P"
|
||||
(bind-release-version "") ; for patch release, e.g. "6"
|
||||
(bind-patch-version "4")
|
||||
(bind-release-type "-P") ; for patch release, use "-P"
|
||||
(bind-release-version "2") ; for patch release, e.g. "6"
|
||||
(bind-version (string-append bind-major-version
|
||||
"."
|
||||
bind-minor-version
|
||||
@@ -710,18 +708,7 @@ connection alive.")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'replace-bundled-bind
|
||||
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
||||
;; XXX TODO: Remove the following invocation of 'patch' when
|
||||
;; isc-dhcp is updated. It should be needed only for 4.4.1.
|
||||
(let ((patch (string-append (assoc-ref (or native-inputs inputs)
|
||||
"patch")
|
||||
"/bin/patch"))
|
||||
(the-patch (assoc-ref (or native-inputs inputs)
|
||||
"fixes-for-newer-bind.patch")))
|
||||
(format #t "applying '~a'...~%" the-patch)
|
||||
(invoke patch "--force" "--no-backup-if-mismatch"
|
||||
"-p1" "--input" the-patch))
|
||||
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(delete-file "bind/bind.tar.gz")
|
||||
(copy-file (assoc-ref inputs "bind-source-tarball")
|
||||
"bind/bind.tar.gz")
|
||||
@@ -754,18 +741,15 @@ connection alive.")
|
||||
;; shell is used.
|
||||
(with-directory-excursion "bind"
|
||||
(substitute* "Makefile"
|
||||
(("\\./configure ")
|
||||
(("\\./configure")
|
||||
(let ((sh (which "sh")))
|
||||
(string-append "./configure CONFIG_SHELL="
|
||||
sh " SHELL=" sh " "))))
|
||||
sh " SHELL=" sh))))
|
||||
|
||||
(let ((bind-directory (string-append "bind-" ,bind-version)))
|
||||
(invoke "tar" "xf" "bind.tar.gz")
|
||||
(for-each patch-shebang
|
||||
(find-files bind-directory ".*"))
|
||||
(substitute* (string-append bind-directory "/configure")
|
||||
(("/usr/bin/file")
|
||||
(which "file")))
|
||||
(invoke "tar" "cf" "bind.tar.gz"
|
||||
bind-directory
|
||||
;; avoid non-determinism in the archive
|
||||
@@ -801,15 +785,7 @@ connection alive.")
|
||||
(list inetutils net-tools coreutils sed))))
|
||||
#t))))))
|
||||
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
("file" ,file)
|
||||
|
||||
;; XXX TODO: Remove the following patch, and also the 'patch'
|
||||
;; program, when isc-dhcp is updated.
|
||||
("fixes-for-newer-bind.patch"
|
||||
,(search-patch "isc-dhcp-4.4.1-fixes-for-newer-bind.patch"))
|
||||
("patch" ,patch)))
|
||||
(native-inputs `(("perl" ,perl)))
|
||||
|
||||
(inputs `(("inetutils" ,inetutils)
|
||||
("net-tools" ,net-tools)
|
||||
@@ -825,7 +801,7 @@ connection alive.")
|
||||
"/bind-" bind-version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"03n57as73ygw6g3lqsmq2idkykajpbskzgixixdvi5a76m4g0fwn"))))
|
||||
"04fq17zksd2b3w6w6padps5n7b6s2lasxpksbhl4378h56vgfnm8"))))
|
||||
|
||||
;; When cross-compiling, we need the cross Coreutils and sed.
|
||||
;; Otherwise just use those from %FINAL-INPUTS.
|
||||
@@ -899,10 +875,8 @@ through the network interface controller.")
|
||||
(version "0.13.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://web.archive.org/web/20161221100811/"
|
||||
"http://jnettop.kubs.info/dist/jnettop-"
|
||||
version ".tar.gz"))
|
||||
(uri (string-append "http://jnettop.kubs.info/dist/jnettop-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1855np7c4b0bqzhf1l1dyzxb90fpnvrirdisajhci5am6als31z9"))))
|
||||
@@ -913,8 +887,7 @@ through the network interface controller.")
|
||||
`(("glib" ,glib)
|
||||
("ncurses" ,ncurses)
|
||||
("libpcap" ,libpcap)))
|
||||
(home-page
|
||||
"https://web.archive.org/web/20160703195221/http://jnettop.kubs.info/wiki/")
|
||||
(home-page "http://jnettop.kubs.info/")
|
||||
(synopsis "Visualize network traffic by bandwidth use")
|
||||
(description
|
||||
"Jnettop is a traffic visualiser, which captures traffic going
|
||||
@@ -935,51 +908,6 @@ by bandwidth they use.")
|
||||
(base32
|
||||
"0rmk2p3f2wz1h092anidjclh212rv3gxyk0c641qk3frlrjnw6mp"))))
|
||||
(build-system perl-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'refer-to-inputs
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* (list "lib/App/ClusterSSH/Config.pm"
|
||||
"t/15config.t")
|
||||
(("xterm")
|
||||
(which "xterm")))
|
||||
#t))
|
||||
(add-before 'check 'delete-failing-tests
|
||||
(lambda _
|
||||
;; This checks whether all code is nicely formatted. The above
|
||||
;; ‘refer-to-inputs’ phase breaks this pedantry, so disable it.
|
||||
(delete-file "t/perltidy.t")
|
||||
;; Update the manifest so t/manifest.t happily passes.
|
||||
(substitute* "MANIFEST"
|
||||
(("t/perltidy.t\n") ""))
|
||||
#t))
|
||||
(add-after 'install 'augment-library-path
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(with-directory-excursion bin
|
||||
(for-each
|
||||
(lambda (program)
|
||||
(wrap-program program
|
||||
`("PERL5LIB" ":" prefix
|
||||
,(map (lambda (file-name)
|
||||
(string-append file-name
|
||||
"/lib/perl5/site_perl"))
|
||||
(cons out
|
||||
(map (lambda (input)
|
||||
(assoc-ref inputs input))
|
||||
;; These may be propagated and hence
|
||||
;; not explicitly listed as inputs.
|
||||
(list "perl-class-data-inheritable"
|
||||
"perl-devel-stacktrace"
|
||||
"perl-exception-class"
|
||||
"perl-tk"
|
||||
"perl-try-tiny"
|
||||
"perl-x11-protocol"
|
||||
"perl-x11-protocol-other")))))))
|
||||
(find-files "." ".*")))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("perl-cpan-changes" ,perl-cpan-changes)
|
||||
("perl-file-slurp" ,perl-file-slurp)
|
||||
@@ -993,14 +921,13 @@ by bandwidth they use.")
|
||||
("perl-test-pod-coverage" ,perl-test-pod-coverage)
|
||||
("perl-test-trap" ,perl-test-trap)
|
||||
("perltidy" ,perltidy)))
|
||||
(inputs
|
||||
`(("perl-exception-class" ,perl-exception-class)
|
||||
("perl-sort-naturally" ,perl-sort-naturally)
|
||||
(propagated-inputs
|
||||
`(("xterm" ,xterm)
|
||||
("perl-exception-class" ,perl-exception-class)
|
||||
("perl-tk" ,perl-tk)
|
||||
("perl-try-tiny" ,perl-try-tiny)
|
||||
("perl-x11-protocol" ,perl-x11-protocol)
|
||||
("perl-x11-protocol-other" ,perl-x11-protocol-other)
|
||||
("xterm" ,xterm)))
|
||||
("perl-x11-protocol-other" ,perl-x11-protocol-other)))
|
||||
;; The clusterssh.sourceforge.net address requires login to view
|
||||
(home-page "https://sourceforge.net/projects/clusterssh/")
|
||||
(synopsis "Secure concurrent multi-server terminal control")
|
||||
@@ -1203,23 +1130,16 @@ commands and their arguments.")
|
||||
(define-public wpa-supplicant-minimal
|
||||
(package
|
||||
(name "wpa-supplicant-minimal")
|
||||
(version "2.9")
|
||||
(version "2.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://w1.fi/releases/wpa_supplicant-"
|
||||
version ".tar.gz"))
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05qzak1mssnxcgdrafifxh9w86a4ha69qabkg4bsigk499xyxggw"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(substitute* "wpa_supplicant/defconfig"
|
||||
;; Disable D-Bus to save ~14MiB on the closure size.
|
||||
(("^CONFIG_CTRL_IFACE_DBUS" line _)
|
||||
(string-append "#" line)))
|
||||
#t))))
|
||||
"0x1hqyahq44jyla8jl6791nnwrgicrhidadikrnqxsm2nw36pskn"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
@@ -1232,7 +1152,8 @@ commands and their arguments.")
|
||||
(display "
|
||||
CONFIG_DEBUG_SYSLOG=y
|
||||
|
||||
CONFIG_TLS=openssl
|
||||
# Choose GnuTLS (the default is OpenSSL.)
|
||||
CONFIG_TLS=gnutls
|
||||
|
||||
CONFIG_DRIVER_NL80211=y
|
||||
CFLAGS += $(shell pkg-config libnl-3.0 --cflags)
|
||||
@@ -1266,7 +1187,8 @@ commands and their arguments.")
|
||||
(inputs
|
||||
`(("readline" ,readline)
|
||||
("libnl" ,libnl)
|
||||
("openssl" ,openssl)))
|
||||
("gnutls" ,gnutls)
|
||||
("libgcrypt" ,libgcrypt))) ;needed by crypto_gnutls.c
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "https://w1.fi/wpa_supplicant/")
|
||||
@@ -1299,6 +1221,7 @@ command.")
|
||||
(lambda _
|
||||
(let ((port (open-file ".config" "al")))
|
||||
(display "
|
||||
CONFIG_CTRL_IFACE_DBUS=y
|
||||
CONFIG_CTRL_IFACE_DBUS_NEW=y
|
||||
CONFIG_CTRL_IFACE_DBUS_INTRO=y\n" port)
|
||||
(close-port port))
|
||||
@@ -1354,72 +1277,6 @@ command.")
|
||||
#t))))))
|
||||
(synopsis "Graphical user interface for WPA supplicant")))
|
||||
|
||||
(define-public hostapd
|
||||
(package
|
||||
(name "hostapd")
|
||||
(version "2.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://w1.fi/releases/hostapd-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1c74rrazkhy4lr7pwgwa2igzca7h9l4brrs7672kiv7fwqmm57wj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; This is mostly copied from 'wpa-supplicant' above.
|
||||
(chdir "hostapd")
|
||||
(copy-file "defconfig" ".config")
|
||||
(let ((port (open-file ".config" "al")))
|
||||
(display "
|
||||
CONFIG_LIBNL32=y
|
||||
CONFIG_IEEE80211R=y
|
||||
CONFIG_IEEE80211N=y
|
||||
CONFIG_IEEE80211AC=y\n" port)
|
||||
(close-port port))
|
||||
#t))
|
||||
(add-after 'install 'install-man-pages
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(man (string-append out "/share/man"))
|
||||
(man1 (string-append man "/man1"))
|
||||
(man8 (string-append man "/man8")))
|
||||
(define (copy-man-page target)
|
||||
(lambda (file)
|
||||
(install-file file target)))
|
||||
|
||||
(for-each (copy-man-page man1)
|
||||
(find-files "." "\\.1"))
|
||||
(for-each (copy-man-page man8)
|
||||
(find-files "." "\\.8"))
|
||||
#t))))
|
||||
|
||||
#:make-flags (list "CC=gcc"
|
||||
(string-append "BINDIR=" (assoc-ref %outputs "out")
|
||||
"/sbin")
|
||||
(string-append "LIBDIR=" (assoc-ref %outputs "out")
|
||||
"/lib"))
|
||||
#:tests? #f))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
|
||||
;; There's an optional dependency on SQLite.
|
||||
(inputs `(("openssl" ,openssl)
|
||||
("libnl" ,libnl)))
|
||||
(home-page "https://w1.fi/hostapd/")
|
||||
(synopsis "Daemon for Wi-Fi access points and authentication servers")
|
||||
(description
|
||||
"hostapd is a user-space daemon for WiFi access points and authentication
|
||||
servers. It implements IEEE 802.11 access point management, IEEE
|
||||
802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, and RADIUS
|
||||
authentication server.")
|
||||
|
||||
;; Same license as wpa_supplicant.
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public wakelan
|
||||
(package
|
||||
(name "wakelan")
|
||||
@@ -1490,7 +1347,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
|
||||
(define-public acpica
|
||||
(package
|
||||
(name "acpica")
|
||||
(version "20190703")
|
||||
(version "20190405")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -1498,7 +1355,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0kp3ian3lffx9709ajrr3bp6b9cb6c6v1crjziyr8j8pp639jlwz"))))
|
||||
"0hv6r65l8vk3f6i3by7i47vc1917qm47838bpq80lfn22784y53y"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("flex" ,flex)
|
||||
("bison" ,bison)))
|
||||
@@ -1521,28 +1378,6 @@ tables. This package contains only the user-space tools needed for ACPI table
|
||||
development, not the kernel implementation of ACPI.")
|
||||
(license license:gpl2))) ; dual GPLv2/ACPICA Licence
|
||||
|
||||
(define-public s-tui
|
||||
(package
|
||||
(name "s-tui")
|
||||
(version "0.8.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "s-tui" version))
|
||||
(sha256
|
||||
(base32
|
||||
"00lsh2v4i8rwfyjyxx5lijd6rnk9smcfffhzg5sv94ijpcnh216m"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("python-psutil" ,python-psutil)
|
||||
("python-urwid" ,python-urwid)))
|
||||
(home-page "https://github.com/amanusk/s-tui")
|
||||
(synopsis "Interactive terminal stress test and monitoring tool")
|
||||
(description
|
||||
"The Stress Terminal UI displays graphs of the CPU frequency,
|
||||
utilization, temperature and power.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public stress
|
||||
(package
|
||||
(name "stress")
|
||||
@@ -1607,20 +1442,20 @@ characters can be replaced as well, as can UTF-8 characters.")
|
||||
(define-public testdisk
|
||||
(package
|
||||
(name "testdisk")
|
||||
(version "7.1")
|
||||
(version "7.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.cgsecurity.org/testdisk-"
|
||||
(uri (string-append "http://www.cgsecurity.org/testdisk-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zlh44w67py416hkvw6nrfmjickc2d43v51vcli5p374d5sw84ql"))))
|
||||
"0ba4wfz2qrf60vwvb1qsq9l6j0pgg81qgf7fh22siaz649mkpfq0"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ntfs-3g" ,ntfs-3g)
|
||||
("util-linux" ,util-linux)
|
||||
("openssl" ,openssl)
|
||||
;; FIXME: add reiserfs.
|
||||
;; FIXME: add reiserfs
|
||||
("zlib" ,zlib)
|
||||
("e2fsprogs" ,e2fsprogs)
|
||||
("libjpeg" ,libjpeg)
|
||||
@@ -1660,14 +1495,14 @@ environment variable is set and output is to tty.")
|
||||
(define-public direvent
|
||||
(package
|
||||
(name "direvent")
|
||||
(version "5.2")
|
||||
(version "5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/direvent/direvent-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0m9vi01b1km0cpknflyzsjnknbava0s1n6393b2bpjwyvb6j5613"))
|
||||
"1nwvjmx7kb14ni34c0b8x9a3791pc20gvhj7xaj66d8q4h6n0qf4"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
(substitute* "tests/testsuite"
|
||||
@@ -1824,13 +1659,13 @@ of supported upstream metrics systems simultaneously.")
|
||||
(define-public ansible
|
||||
(package
|
||||
(name "ansible")
|
||||
(version "2.8.1")
|
||||
(version "2.7.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ansible" version))
|
||||
(sha256
|
||||
(base32 "0ia4x17ywym3r1m96ar4h0wc2xlylhbjp6x4wzwkh4p2i0x1vmg1"))))
|
||||
(base32 "15721d0bxymghxnlnknq43lszlxg3ybbcp2p5v424hhw6wg2v944"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-bcrypt" ,python-bcrypt)
|
||||
@@ -2067,20 +1902,11 @@ displays a table of current bandwidth usage by pairs of hosts.")
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nj486bbg1adfg298zck96vgx57kchcypc1zdz1n7w540vyksxcr"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Don't insist on write access to /var.
|
||||
(substitute* "src/etc/Makefile.in"
|
||||
(("\\$\\(INSTALL\\)(.*)localstatedir" _ middle)
|
||||
(string-append "-$(INSTALL)" middle "localstatedir")))
|
||||
#t))))
|
||||
"1nj486bbg1adfg298zck96vgx57kchcypc1zdz1n7w540vyksxcr"))))
|
||||
(inputs
|
||||
`(("openssl" ,openssl)
|
||||
("libgcrypt" ,libgcrypt)))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:configure-flags '("--localstatedir=/var")))
|
||||
(home-page "https://dun.github.io/munge/")
|
||||
(synopsis "Cluster computing authentication service")
|
||||
(description
|
||||
@@ -2214,41 +2040,25 @@ results (ndiff), and a packet generation and response analysis tool (nping).")
|
||||
(define-public dstat
|
||||
(package
|
||||
(name "dstat")
|
||||
(version "0.7.4")
|
||||
(version "0.7.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dagwieers/dstat.git")
|
||||
(commit (string-append "v" version))))
|
||||
(commit version)))
|
||||
(file-name (git-file-name "dstat" version))
|
||||
(sha256
|
||||
(base32 "1qnmkhqmjd1m3if05jj29dvr5hn6kayq9bkkkh881w472c0zhp8v"))
|
||||
(patches (search-patches "dstat-fix-crash-when-specifying-delay.patch"
|
||||
"dstat-skip-devices-without-io.patch"))))
|
||||
(base32 "0sbpna531034gr40w4g9cwz35s2fpf9h654paznsxw9fih91rfa5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no make check
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "DESTDIR=" out)
|
||||
"prefix=/"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-python3-DeprecationWarning
|
||||
(lambda _
|
||||
(substitute* "dstat"
|
||||
(("collections") "collections.abc"))
|
||||
#t))
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'install 'wrap
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(wrap-program (string-append out "/bin/dstat")
|
||||
`("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("python" ,python-wrapper)
|
||||
("python-six" ,python-six)))
|
||||
;; No configure script.
|
||||
#:phases (modify-phases %standard-phases (delete 'configure))))
|
||||
(inputs `(("python-2" ,python-2)))
|
||||
(synopsis "Versatile resource statistics tool")
|
||||
(description "Dstat is a versatile replacement for @command{vmstat},
|
||||
@command{iostat}, @command{netstat}, and @command{ifstat}. Dstat overcomes
|
||||
@@ -2266,7 +2076,7 @@ throughput (in the same interval).")
|
||||
(define-public thefuck
|
||||
(package
|
||||
(name "thefuck")
|
||||
(version "3.29")
|
||||
(version "3.28")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2275,7 +2085,7 @@ throughput (in the same interval).")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1qhxwjjgrzpqrqjv7l2847ywpln76lyd6j8bl9gz2r6kl0fx2fqs"))
|
||||
(base32 "070b2sx8r0b4hry6xg97psxlikxghmz91zicg2cm6kc1yhgz4agc"))
|
||||
(patches (search-patches "thefuck-test-environ.patch"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
@@ -2310,19 +2120,19 @@ a new command using the matched rule, and runs it.")
|
||||
(define-public di
|
||||
(package
|
||||
(name "di")
|
||||
(version "4.47.1")
|
||||
(version "4.47")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1bdbl9k3gqf4h6g21difqc0w17pjid6r587y19wi37vx36aava7f"))))
|
||||
(base32 "0zlapxlzjizwzwa8xwrwibhcbkh0wx7n74gvjpp6wlwq7cgiq0xm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; obscure test failures
|
||||
`(#:tests? #f ; obscure test failures.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(delete 'configure)
|
||||
(add-before 'build 'setup-environment
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(setenv "CC" "gcc")
|
||||
@@ -2341,7 +2151,7 @@ produce uniform output across heterogeneous networks.")
|
||||
(define-public cbatticon
|
||||
(package
|
||||
(name "cbatticon")
|
||||
(version "1.6.9")
|
||||
(version "1.6.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2349,7 +2159,7 @@ produce uniform output across heterogeneous networks.")
|
||||
(url "https://github.com/valr/cbatticon.git")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "0kw09d678sd3m18fmi4380sl4a2m5lkfmq0kps16cdmq7z80rvaf"))
|
||||
(base32 "16g26vin1693dbdr9qsnw36fdchx394lp79gvp7gcbw0w1ny9av6"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -2552,7 +2362,7 @@ in order to be able to find it.
|
||||
(define-public sedsed
|
||||
(package
|
||||
(name "sedsed")
|
||||
(version "1.1")
|
||||
(version "1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2561,10 +2371,11 @@ in order to be able to find it.
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05cl35mwljdb9ynbbsfa8zx6ig8r0xncbg2cir9vwn5manndjj18"))))
|
||||
(base32 "0009lsjsxhqmgaklpwq15hhd94hpiy7r4va69yy0ig3mxi6zbg2z"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
#:python ,python-2
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-sed-in
|
||||
@@ -2581,30 +2392,29 @@ in order to be able to find it.
|
||||
;; Just one file to copy around
|
||||
(install-file "sedsed.py" bin)
|
||||
#t)))
|
||||
(add-after 'wrap 'symlink
|
||||
(add-after 'install 'symlink
|
||||
;; Create 'sedsed' symlink to "sedsed.py".
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(sed (string-append bin "/sedsed"))
|
||||
(sedpy (string-append bin "/sedsed.py")))
|
||||
(symlink sedpy sed)
|
||||
(symlink sedpy sed)
|
||||
#t))))))
|
||||
(home-page "https://aurelio.net/projects/sedsed")
|
||||
(home-page "http://aurelio.net/projects/sedsed")
|
||||
(synopsis "Sed sed scripts")
|
||||
(description
|
||||
"@code{sedsed} can debug, indent, tokenize and HTMLize your @command{sed}
|
||||
script.
|
||||
"@code{sedsed} can debug, indent, tokenize and HTMLize your sed(1) script.
|
||||
|
||||
In debug mode, it reads your script and adds extra commands to it. When
|
||||
In debug mode it reads your script and add extra commands to it. When
|
||||
executed you can see the data flow between the commands, revealing all the
|
||||
magic sed performs on its internal buffers.
|
||||
magic sed does on its internal buffers.
|
||||
|
||||
In indent mode, your script is reformatted with standard spacing.
|
||||
In indent mode your script is reformatted with standard spacing.
|
||||
|
||||
In tokenize mode, you can see the elements of every command you use.
|
||||
In tokenize mode you can see the elements of every command you use.
|
||||
|
||||
In HTMLize mode, your script is converted to a beautiful colored HTML file,
|
||||
In HTMLize mode your script is converted to a beautiful colored HTML file,
|
||||
with all the commands and parameters identified for your viewing pleasure.
|
||||
|
||||
With sedsed you can master any sed script. No more secrets, no more hidden
|
||||
@@ -2628,7 +2438,7 @@ buffers.")
|
||||
`(#:tests? #f ; many of the tests try to load kernel modules
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'bootstrap
|
||||
(add-after 'unpack 'autogen
|
||||
(lambda _
|
||||
;; Don't run configure in this phase.
|
||||
(setenv "NOCONFIGURE" "1")
|
||||
@@ -2955,7 +2765,7 @@ Python loading in HPC environments.")
|
||||
(let ((real-name "inxi"))
|
||||
(package
|
||||
(name "inxi-minimal")
|
||||
(version "3.0.34-1")
|
||||
(version "3.0.33-1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2964,7 +2774,7 @@ Python loading in HPC environments.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name real-name version))
|
||||
(sha256
|
||||
(base32 "0x2s40lwsan2pk292nspjgyw00f9f5fdfmwfvl50924pxhyxn2fh"))))
|
||||
(base32 "19bfdid4zp39irsdq3m6yyqf2336c30da35qgslrzcr2vh815g8c"))))
|
||||
(build-system trivial-build-system)
|
||||
(inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
|
||||
@@ -64,7 +64,9 @@
|
||||
("ghc-uri-encode" ,ghc-uri-encode)
|
||||
("ghc-parallel" ,ghc-parallel)
|
||||
("ghc-regex-tdfa" ,ghc-regex-tdfa)
|
||||
("ghc-stm" ,ghc-stm)
|
||||
("ghc-strict" ,ghc-strict)
|
||||
("ghc-text" ,ghc-text)
|
||||
("ghc-unordered-containers" ,ghc-unordered-containers)
|
||||
("ghc-zlib" ,ghc-zlib)))
|
||||
(arguments
|
||||
|
||||
+1
-54
@@ -3,7 +3,6 @@
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -27,15 +26,8 @@
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
|
||||
@@ -110,48 +102,3 @@ characters, and is highly robust.")
|
||||
barcodes of the modern ECC200 variety. libdmtx is a shared library, allowing
|
||||
C/C++ programs to use its capabilities without restrictions or overhead.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public zbar
|
||||
(package
|
||||
(name "zbar")
|
||||
(version "0.23")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://linuxtv.org/downloads/zbar/zbar-"
|
||||
version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bmd93a15qpgbsq9c9j33qms18rdrgz6gbc48zi6z9w5pvrvi7z9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags (list "--with-gtk=auto"
|
||||
"--with-python=auto"
|
||||
(string-append "--with-dbusconfdir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/etc")
|
||||
"CXXFLAGS=-std=c++11")))
|
||||
(native-inputs
|
||||
`(("glib" ,glib "bin")
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("gobject-introspection" ,gobject-introspection)
|
||||
("gtk+" ,gtk+)
|
||||
("imagemagick" ,imagemagick)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("python" ,python)
|
||||
("qtbase" ,qtbase)
|
||||
("qtx11extras" ,qtx11extras)
|
||||
("v4l-utils" ,v4l-utils)))
|
||||
(synopsis "Bar code reader")
|
||||
(description
|
||||
"ZBar can read barcodes from various sources, such as video streams,
|
||||
image files, and raw intensity sensors. It supports EAN-13/UPC-A, UPC-E,
|
||||
EAN-8, Code 128, Code 93, Code 39, Codabar, Interleaved 2 of 5, QR Code and SQ
|
||||
Code. Included with the library are basic applications for decoding captured
|
||||
bar code images and using a video device (e.g. webcam) as a bar code scanner.
|
||||
For application developers, language bindings are included for C, C++ and
|
||||
Python as well as GUI widgets for GTK and Qt.")
|
||||
(home-page "https://github.com/mchehab/zbar")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
+48
-535
@@ -43,7 +43,6 @@
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
@@ -93,27 +92,6 @@ multiplication routines such as Toom–Cook and the FFT.")
|
||||
(license license:lgpl3+)
|
||||
(home-page "http://mpfrcx.multiprecision.org/")))
|
||||
|
||||
(define-public gf2x
|
||||
(package
|
||||
(name "gf2x")
|
||||
(version "1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://gforge.inria.fr/frs/download.php/file/36934/gf2x-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0d6vh1mxskvv3bxl6byp7gxxw3zzpkldrxnyajhnl05m0gx7yhk1"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Arithmetic of polynomials over binary finite fields")
|
||||
(description
|
||||
"The gf2x library provides arithmetic of polynomials over finite fields
|
||||
of characteristic 2. It implements the multiplication, squaring and
|
||||
greatest common divisor operations.")
|
||||
(license license:gpl3+)
|
||||
(home-page "https://gforge.inria.fr/projects/gf2x/")))
|
||||
|
||||
(define-public cm
|
||||
(package
|
||||
(name "cm")
|
||||
@@ -144,87 +122,29 @@ line applications.")
|
||||
|
||||
(define-public fplll
|
||||
(package
|
||||
(name "fplll")
|
||||
(version "5.2.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/fplll/fplll.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"015qmrd7nfaysbv1hbwiprz9g6hnww1y1z1xw8f43ysb7k1b5nbg"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)))
|
||||
(inputs
|
||||
`(("gmp" ,gmp)
|
||||
("mpfr" ,mpfr)))
|
||||
(home-page "https://github.com/fplll/fplll")
|
||||
(synopsis "Library for LLL-reduction of euclidean lattices")
|
||||
(description
|
||||
"fplll contains implementations of several lattice algorithms.
|
||||
The implementation relies on floating-point orthogonalization, and LLL
|
||||
is central to the code, hence the name.
|
||||
|
||||
It includes implementations of floating-point LLL reduction
|
||||
algorithms, offering different speed/guarantees ratios. It contains
|
||||
a @emph{wrapper} choosing the estimated best sequence of variants in
|
||||
order to provide a guaranteed output as fast as possible. In the case
|
||||
of the wrapper, the succession of variants is oblivious to the user.
|
||||
|
||||
It includes an implementation of the BKZ reduction algorithm,
|
||||
including the BKZ-2.0 improvements (extreme enumeration
|
||||
pruning, pre-processing of blocks, early termination). Additionally,
|
||||
Slide reduction and self dual BKZ are supported.
|
||||
|
||||
It also includes a floating-point implementation of the
|
||||
Kannan-Fincke-Pohst algorithm that finds a shortest non-zero lattice
|
||||
vector. For the same task, the GaussSieve algorithm is also available
|
||||
in fplll. Finally, it contains a variant of the enumeration algorithm
|
||||
that computes a lattice vector closest to a given vector belonging to
|
||||
the real span of the lattice.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public python-fpylll
|
||||
(package
|
||||
(name "python-fpylll")
|
||||
(version "0.4.1")
|
||||
(source
|
||||
(origin
|
||||
;; Pypi contains and older release, so we use a tagged release from
|
||||
;; Github instead.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/fplll/fpylll.git")
|
||||
(commit (string-append version "dev"))))
|
||||
(sha256
|
||||
(base32
|
||||
"01x2sqdv0sbjj4g4waj0hj4rcn4bq7h17442xaqwbznym9azmn9w"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("fplll" ,fplll)
|
||||
("gmp" ,gmp)
|
||||
("mpfr" ,mpfr)
|
||||
("pari-gp" ,pari-gp)))
|
||||
(propagated-inputs
|
||||
`(("cysignals" ,python-cysignals)
|
||||
("cython" ,python-cython)
|
||||
("flake8" ,python-flake8)
|
||||
("numpy" ,python-numpy)
|
||||
("pytest" ,python-pytest)))
|
||||
(home-page "https://github.com/fplll/fpylll")
|
||||
(synopsis "Python interface for fplll")
|
||||
(description "fpylll is a Python wrapper for fplll.")
|
||||
(license license:gpl2+)))
|
||||
(name "fplll")
|
||||
(version "4.0.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://perso.ens-lyon.fr/damien.stehle/fplll/libfplll-"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"1cbiby7ykis4z84swclpysrljmqhfcllpkcbll1m08rzskgb1a6b"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("gmp" ,gmp)
|
||||
("mpfr" ,mpfr)))
|
||||
(synopsis "Library for LLL-reduction of euclidean lattices")
|
||||
(description
|
||||
"fplll LLL-reduces euclidean lattices. Since version 3, it can also
|
||||
solve the shortest vector problem.")
|
||||
(license license:lgpl2.1+)
|
||||
(home-page "http://perso.ens-lyon.fr/damien.stehle/fplll/")))
|
||||
|
||||
(define-public pari-gp
|
||||
(package
|
||||
(name "pari-gp")
|
||||
(version "2.11.2")
|
||||
(version "2.11.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -232,11 +152,12 @@ the real span of the lattice.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fck8ssmirl8fy7s4mspgrxjs5sag76xbshqlqzkcl3kqyrk4raa"))))
|
||||
"1jfax92jpydjd02fwl30r6b8kfzqqd6sm4yx94gidyz9lqjb7a94"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("texlive" ,(texlive-union
|
||||
(list texlive-amsfonts)))))
|
||||
(list texlive-fonts-amsfonts
|
||||
texlive-latex-amsfonts)))))
|
||||
(inputs `(("gmp" ,gmp)
|
||||
("libx11" ,libx11)
|
||||
("perl" ,perl)
|
||||
@@ -266,7 +187,7 @@ PARI is also available as a C library to allow for faster computations.")
|
||||
(define-public gp2c
|
||||
(package
|
||||
(name "gp2c")
|
||||
(version "0.0.11pl2")
|
||||
(version "0.0.11pl1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -274,7 +195,7 @@ PARI is also available as a C library to allow for faster computations.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wqsf05wgkqvmmsx7jinvzdqav6rl56sr8haibgs31nzz4x9xz9g"))))
|
||||
"1c6f6vmncw032kfzrfyr8bynw6yd3faxpy2285r009fmr0zxfs5s"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("perl" ,perl)))
|
||||
(inputs `(("pari-gp" ,pari-gp)))
|
||||
@@ -297,20 +218,6 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
|
||||
(license license:gpl2)
|
||||
(home-page "https://pari.math.u-bordeaux.fr/")))
|
||||
|
||||
(define fplll-4-cmh
|
||||
(package
|
||||
(inherit fplll)
|
||||
(name "fplll")
|
||||
(version "4.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://perso.ens-lyon.fr/damien.stehle/fplll/libfplll-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1cbiby7ykis4z84swclpysrljmqhfcllpkcbll1m08rzskgb1a6b"))))))
|
||||
|
||||
(define-public cmh
|
||||
(package
|
||||
(name "cmh")
|
||||
@@ -329,7 +236,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
|
||||
("mpfr" ,mpfr)
|
||||
("mpc" ,mpc)
|
||||
("mpfrcx" ,mpfrcx)
|
||||
("fplll" ,fplll-4-cmh)
|
||||
("fplll" ,fplll)
|
||||
("pari-gp" ,pari-gp)))
|
||||
(synopsis "Igusa class polynomial computations")
|
||||
(description
|
||||
@@ -344,7 +251,7 @@ precision.")
|
||||
(define-public giac
|
||||
(package
|
||||
(name "giac")
|
||||
(version "1.5.0-63")
|
||||
(version "1.5.0-49")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; "~parisse/giac" is not used because the maintainer regularly
|
||||
@@ -356,7 +263,7 @@ precision.")
|
||||
"source/giac_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jp7awyp8j8w6fhn802z8ddbq1fxhkyk9xdf0mq0mm0chpkylwqk"))))
|
||||
"0f4pkand9vmqfayw18jm5qxbhcwi1405qfd7ibzh9lwzz6amkm3l"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((ice-9 ftw)
|
||||
@@ -987,7 +894,7 @@ features, and more.")
|
||||
(define-public xtensor
|
||||
(package
|
||||
(name "xtensor")
|
||||
(version "0.20.5")
|
||||
(version "0.17.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -995,7 +902,7 @@ features, and more.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0kkc4ar7p2d94jnclmrh46dwv7ldy9lx630vm9gci3pp4hnhbj9f"))
|
||||
"0w40v5lp0hp8ihf8nnvak373sb5xx0768pxgiqh3nzn57wf8px4r"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
@@ -1021,7 +928,7 @@ xtensor provides:
|
||||
(define-public gap
|
||||
(package
|
||||
(name "gap")
|
||||
(version "4.10.2")
|
||||
(version "4.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1031,7 +938,8 @@ xtensor provides:
|
||||
version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0cp6ddk0469zzv1m1vair6gm27ic6c5m77ri8rn0znq3gaps6x94"))
|
||||
(base32
|
||||
"1dmb8v4p7j1nnf7sx8sg54b49yln36bi9acwp7w1d3a1nxj17ird"))
|
||||
(modules '((guix build utils) (ice-9 ftw) (srfi srfi-1)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -1059,20 +967,20 @@ xtensor provides:
|
||||
;; Optional packages, searched for at start,
|
||||
;; and their depedencies.
|
||||
"alnuth-3.1.0"
|
||||
"AutoDoc-2018.09.20"
|
||||
"autpgrp-1.10"
|
||||
"crisp-1.4.4" ; bsd-2
|
||||
"ctbllib" ; gpl3+ according to doc/chap0.txt
|
||||
; "ctbllib" ; no explicit license, drop
|
||||
"FactInt-1.6.2"
|
||||
"fga"
|
||||
"irredsol-1.4" ; bsd-2
|
||||
"laguna-3.9.2"
|
||||
"laguna-3.9.0"
|
||||
"polenta-1.3.8"
|
||||
"polycyclic-2.14"
|
||||
"radiroot-2.8"
|
||||
"resclasses-4.7.1"
|
||||
"sophus-1.24"
|
||||
"tomlib-1.2.7" ; gpl2+, clarified in the git repository
|
||||
; and the next release
|
||||
; "tomlib-1.2.7" ; no explicit license, drop
|
||||
"utils-0.59"))))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
@@ -1080,11 +988,7 @@ xtensor provides:
|
||||
`(("gmp" ,gmp)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:modules ((ice-9 ftw)
|
||||
(srfi srfi-26)
|
||||
(guix build gnu-build-system)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'build 'build-packages
|
||||
;; Compile all packages that have not been deleted by the
|
||||
@@ -1100,16 +1004,19 @@ xtensor provides:
|
||||
(with-directory-excursion "doc"
|
||||
(invoke "./make_doc"))
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
;; "make check" is expected to appear in gap-4.10.1
|
||||
(invoke "./gap" "tst/testinstall.g")
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(lib (string-append out "/lib"))
|
||||
(prog (string-append bin "/gap"))
|
||||
(prog-real (string-append bin "/.gap-real"))
|
||||
(share (string-append out "/share/gap"))
|
||||
(include (string-append out "/include/gap"))
|
||||
(include-hpc (string-append include "/hpc")))
|
||||
(include (string-append out "/include/gap")))
|
||||
;; Install only the gap binary; the gac compiler is left
|
||||
;; for maybe later. "Wrap" it in a shell script that calls
|
||||
;; the binary with the correct parameter.
|
||||
@@ -1123,37 +1030,12 @@ xtensor provides:
|
||||
prog-real
|
||||
share)))
|
||||
(chmod prog #o755)
|
||||
;; Install the headers, which are needed by Sage. The
|
||||
;; Makefile target "install-headers" was available in
|
||||
;; gap-4.10.0, but has been commented out in gap-4.10.1.
|
||||
(mkdir-p include-hpc)
|
||||
;; Install the headers and the library, which are needed by
|
||||
;; Sage. The Makefile targets are available in gap-4.10.0,
|
||||
;; but planned to be removed in gap-4.10.1.
|
||||
(invoke "make" "install-headers")
|
||||
(invoke "make" "install-libgap")
|
||||
(install-file "gen/config.h" include)
|
||||
(let ((file-name-predicate-without-stat
|
||||
(lambda (regex)
|
||||
(cut (file-name-predicate regex) <> #f))))
|
||||
(with-directory-excursion "src"
|
||||
(for-each
|
||||
(cut install-file <> include)
|
||||
(scandir "."
|
||||
(file-name-predicate-without-stat ".*\\.h$"))))
|
||||
(with-directory-excursion "src/hpc"
|
||||
(for-each
|
||||
(cut install-file <> include-hpc)
|
||||
(scandir "."
|
||||
(file-name-predicate-without-stat ".*\\.h$")))))
|
||||
;; Install the library, which is needed by Sage. The
|
||||
;; Makefile target "install-libgap" was available in
|
||||
;; gap-4.10.0, but has been commented out in gap-4.10.1.
|
||||
;; Compared to the Makefile, which used libtool, the
|
||||
;; following approach of copying files and making symlinks
|
||||
;; is rather pedestrian. There is hope that some later
|
||||
;; version of gap reinstates and completes the install
|
||||
;; targets.
|
||||
(invoke "make" "libgap.la")
|
||||
(install-file "libgap.la" lib)
|
||||
(install-file ".libs/libgap.so.0.0.0" lib)
|
||||
(symlink "libgap.so.0.0.0" (string-append lib "/libgap.so"))
|
||||
(symlink "libgap.so.0.0.0" (string-append lib "/libgap.so.0"))
|
||||
;; Install a certain number of files and directories to
|
||||
;; SHARE, where the wrapped shell script expects them.
|
||||
;; Remove information on the build directory from sysinfo.gap.
|
||||
@@ -1186,372 +1068,3 @@ objects.")
|
||||
;; means that the gpl2+ licence of GAP itself applies, but to be on the
|
||||
;; safe side, we drop them for now.
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public givaro
|
||||
(package
|
||||
(name "givaro")
|
||||
(version "4.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/linbox-team/givaro")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"11wz57q6ijsvfs5r82masxgr319as92syi78lnl9lgdblpc6xigk"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)))
|
||||
(propagated-inputs
|
||||
`(("gmp" ,gmp))) ; gmp++.h includes gmpxx.h
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'setenv
|
||||
;; Prevent the autogen.sh script to carry out the configure
|
||||
;; script, which has not yet been patched to replace /bin/sh.
|
||||
(lambda _
|
||||
(setenv "NOCONFIGURE" "yes")
|
||||
#t)))))
|
||||
(synopsis "Algebraic computations with exact rings and fields")
|
||||
(description
|
||||
"Givaro is a C++ library implementing the basic arithmetic of various
|
||||
algebraic objects: prime fields, extension fields, finite fields, finite
|
||||
rings, polynomials, algebraic numbers, arbitrary precision integers and
|
||||
rationals (C++ wrappers over gmp), fixed precision integers. It also
|
||||
provides data-structures and templated classes for the manipulation of
|
||||
compound objects, such as vectors, matrices and univariate polynomials.")
|
||||
(license license:cecill-b)
|
||||
(home-page "https://github.com/linbox-team/givaro")))
|
||||
|
||||
(define-public fflas-ffpack
|
||||
(package
|
||||
(name "fflas-ffpack")
|
||||
(version "2.4.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/linbox-team/fflas-ffpack")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ynbjd72qrwp0b4kpn0p5d7gddpvj8dlb5fwdxajr5pvkvi3if74"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("openblas" ,openblas)))
|
||||
(propagated-inputs
|
||||
`(("givaro" ,givaro))) ; required according to the .pc file
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--with-blas-libs="
|
||||
(assoc-ref %build-inputs "openblas")
|
||||
"/lib/libopenblas.so"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'setenv
|
||||
;; Prevent the autogen.sh script to carry out the configure
|
||||
;; script, which has not yet been patched to replace /bin/sh.
|
||||
(lambda _
|
||||
(setenv "NOCONFIGURE" "yes")
|
||||
#t)))))
|
||||
(synopsis "C++ library for linear algebra over finite fields")
|
||||
(description
|
||||
"FFLAS-FFPACK is a C++ template library for basic linear algebra
|
||||
operations over a finite field.
|
||||
FFLAS (Finite Field Linear Algebra Subprograms) provides the implementation
|
||||
of a subset of routines of the numerical BLAS; it also supports sparse
|
||||
matrix-vector products.
|
||||
FFPACK (Finite Field Linear Algebra Package) is inspired by the LAPACK
|
||||
library to provide functionalities of higher level, using the kernel
|
||||
of a BLAS. Additionally, it provides routines specific to exact linear
|
||||
algebra, such as the row echelon form.")
|
||||
(license license:lgpl2.1+)
|
||||
(home-page "https://linbox-team.github.io/fflas-ffpack/")))
|
||||
|
||||
(define-public linbox
|
||||
(package
|
||||
(name "linbox")
|
||||
(version "1.6.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/linbox-team/linbox")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"10j6dspbsq7d2l4q3y0c1l1xwmaqqba2fxg59q5bhgk9h5d7q571"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("fflas-ffpack" ,fflas-ffpack)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'setenv
|
||||
;; Prevent the autogen.sh script to carry out the configure
|
||||
;; script, which has not yet been patched to replace /bin/sh.
|
||||
(lambda _
|
||||
(setenv "NOCONFIGURE" "yes")
|
||||
#t)))))
|
||||
(synopsis "C++ library for linear algebra over exact rings")
|
||||
(description
|
||||
"LinBox is a C++ template library for exact linear algebra computation
|
||||
with dense, sparse, and structured matrices over the integers and over
|
||||
finite fields.")
|
||||
(license license:lgpl2.1+)
|
||||
(home-page "https://linbox-team.github.io/linbox/")))
|
||||
|
||||
(define-public m4ri
|
||||
(package
|
||||
(name "m4ri")
|
||||
(version "20140914")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://bitbucket.org/malb/m4ri")
|
||||
(commit (string-append "release-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xfg6pffbn8r1s0y7bn9b8i55l00d41dkmhrpf7pwk53qa3achd3"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("libpng" ,libpng)))
|
||||
(synopsis "Arithmetic of dense matrices over F_2")
|
||||
(description "M4RI is a library for fast arithmetic with dense matrices
|
||||
over F2. The name M4RI comes from the first implemented algorithm: The
|
||||
Method of the Four Russians inversion algorithm published by Gregory Bard.
|
||||
This algorithm in turn is named after the Method of the Four Russians
|
||||
multiplication algorithm.")
|
||||
(license license:gpl2+)
|
||||
(home-page "https://bitbucket.org/malb/m4ri/")))
|
||||
|
||||
(define-public symmetrica
|
||||
(package
|
||||
(name "symmetrica")
|
||||
(version "2.0")
|
||||
(source (origin
|
||||
(method url-fetch/tarbomb)
|
||||
(uri (let ((v (string-join (string-split version #\.) "_")))
|
||||
(string-append "http://www.algorithm.uni-bayreuth.de/"
|
||||
"en/research/SYMMETRICA/"
|
||||
"SYM" v "_tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"1qhfrbd5ybb0sinl9pad64rscr08qvlfzrzmi4p4hk61xn6phlmz"))
|
||||
;; Taken from <https://git.sagemath.org/sage.git/plain/build/pkgs/symmetrica/patches/>
|
||||
(patches (search-patches "symmetrica-bruch.patch"
|
||||
"symmetrica-int32.patch"
|
||||
"symmetrica-return_values.patch"
|
||||
"symmetrica-sort_sum_rename.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no test
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-makefile
|
||||
(lambda _
|
||||
(substitute* "makefile"
|
||||
(("cc -c") "gcc -c -fPIC"))
|
||||
#t))
|
||||
(add-after 'fix-makefile 'turn-off-banner
|
||||
(lambda _
|
||||
(substitute* "de.c"
|
||||
(("(INT no_banner = )FALSE" _ pre) (string-append pre "TRUE")))
|
||||
#t))
|
||||
(delete 'configure) ;no configure script
|
||||
(replace 'install ;no install target
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib"))
|
||||
(inc (string-append out "/include/symmetrica"))
|
||||
(doc (string-append out "/share/doc/symmetrica-" ,version))
|
||||
(static "libsymmetrica.a"))
|
||||
;; Build static library.
|
||||
(apply invoke "ar" "crs" static (find-files "." "\\.o$"))
|
||||
(invoke "ranlib" static)
|
||||
;; Install static library and headers.
|
||||
(for-each (lambda (f) (install-file f inc))
|
||||
(find-files "." "\\.h$"))
|
||||
(install-file "libsymmetrica.a" lib)
|
||||
;; Install documentation.
|
||||
(for-each (lambda (f) (install-file f doc))
|
||||
(find-files "." "\\.doc$"))
|
||||
#t))))))
|
||||
(home-page "http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/")
|
||||
(synopsis "Combinatoric C Library")
|
||||
(description "Symmetrica is a library for combinatorics. It has support
|
||||
for the representation theory of the symmetric group and related groups,
|
||||
combinatorics of tableaux, symmetric functions and polynomials, Schubert
|
||||
polynomials, and the representation theory of Hecke algebras of type A_n.")
|
||||
(license license:public-domain)))
|
||||
|
||||
(define-public m4rie
|
||||
(package
|
||||
(name "m4rie")
|
||||
(version "20150908")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://bitbucket.org/malb/m4rie")
|
||||
(commit (string-append "release-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0r8lv46qx5mkz5kp3ay2jnsp0mbhlqr5z2z220wdk73wdshcznss"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)))
|
||||
(inputs
|
||||
`(("m4ri" ,m4ri)))
|
||||
(synopsis "Arithmetic of dense matrices over F_{2^e}")
|
||||
(description "M4RI is a library for fast arithmetic with dense matrices
|
||||
over finite fields of characteristic 2. So it extends the functionality
|
||||
of M4RI from F_2 to F_{2^e}.")
|
||||
(license license:gpl2+)
|
||||
(home-page "https://bitbucket.org/malb/m4rie/")))
|
||||
|
||||
(define-public eclib
|
||||
(package
|
||||
(name "eclib")
|
||||
(version "20190226")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/JohnCremona/eclib/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1910np1xzyjzszay24xn4b81qhpsvhp5aix9vdpknplni2mq8kwb"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)))
|
||||
(inputs
|
||||
`(("gmp" ,gmp)
|
||||
("ntl" ,ntl)
|
||||
("pari-gp" ,pari-gp)))
|
||||
(synopsis "Ranks of elliptic curves and modular symbols")
|
||||
(description "The eclib package includes mwrank (for 2-descent on
|
||||
elliptic curves over Q) and modular symbol code; it has been written by
|
||||
John Cremona to compute his elliptic curve database.")
|
||||
(license license:gpl2+)
|
||||
(home-page (string-append "http://homepages.warwick.ac.uk/staff/"
|
||||
"J.E.Cremona/mwrank/index.html"))))
|
||||
|
||||
(define-public lrcalc
|
||||
(package
|
||||
(name "lrcalc")
|
||||
(version "1.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://bitbucket.org/asbuch/lrcalc")
|
||||
(commit (string-append "lrcalc-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1c12d04jdyxkkav4ak8d1aqrv594gzihwhpxvc6p9js0ry1fahss"))
|
||||
(patches (search-patches "lrcalc-includes.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'fix-permission
|
||||
(lambda _
|
||||
(chmod "lrcalc.maple.src" #o644)
|
||||
#t)))))
|
||||
(synopsis "Littlewood-Richardson calculator in algebraic combinatorics")
|
||||
(description "The Littlewood-Richardson Calculator (lrcalc) is a
|
||||
program designed to compute Littlewood-Richardson coefficients. It computes
|
||||
single Littlewood-Richardson coefficients, products of Schur functions, or
|
||||
skew Schur functions. In addition it computes products in the small quantum
|
||||
cohomology ring of a Grassmann variety. The software package also includes
|
||||
a program that performs fast computation of the more general multiplicative
|
||||
structure constants of Schubert polynomials.")
|
||||
(license license:gpl2+)
|
||||
(home-page "http://sites.math.rutgers.edu/~asbuch/lrcalc/")))
|
||||
|
||||
(define-public iml
|
||||
(package
|
||||
(name "iml")
|
||||
(version "1.0.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.cs.uwaterloo.ca/~astorjoh/iml-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0akwhhz9b40bz6lrfxpamp7r7wkk48p455qbn04mfnl9a1l6db8x"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gmp", gmp)
|
||||
("cblas" ,openblas))) ; or any other BLAS library; the documentation
|
||||
; mentions ATLAS in particular
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list
|
||||
"--enable-shared"
|
||||
(string-append "--with-gmp-include="
|
||||
(assoc-ref %build-inputs "gmp") "/include")
|
||||
(string-append "--with-gmp-lib="
|
||||
(assoc-ref %build-inputs "gmp") "/lib")
|
||||
"--with-cblas=-lopenblas"
|
||||
(string-append "--with-cblas-include="
|
||||
(assoc-ref %build-inputs "cblas") "/include")
|
||||
(string-append "--with-cblas-lib="
|
||||
(assoc-ref %build-inputs "cblas") "/lib"))))
|
||||
(home-page "https://cs.uwaterloo.ca/~astorjoh/iml.html")
|
||||
(synopsis
|
||||
"Solver for systems of linear equations over the integers")
|
||||
(description
|
||||
"IML is a C library implementing algorithms for computing exact
|
||||
solutions to dense systems of linear equations over the integers.
|
||||
Currently, IML provides the following functionality:
|
||||
|
||||
@itemize
|
||||
@item Nonsingular rational system solving:
|
||||
compute the unique rational solution X to the system AX=B, where A and B
|
||||
are integer matrices, A nonsingular.
|
||||
@item Compute the right nullspace or kernel of an integer matrix.
|
||||
@item Certified linear system solving:
|
||||
compute a minimal denominator solution x to a system Ax=b, where b is an
|
||||
integer vector and A is an integer matrix with arbitrary shape and
|
||||
rank profile.
|
||||
@end itemize
|
||||
|
||||
In addition, IML provides some low level routines for a variety of mod p
|
||||
matrix operations: computing the row-echelon form, determinant, rank
|
||||
profile, and inverse of a mod p matrix. These mod p routines are not
|
||||
general purpose; they require that p satisfy some preconditions based on
|
||||
the dimension of the input matrix (usually p should be prime and should be
|
||||
no more than about 20 bits long).")
|
||||
(license license:bsd-3)))
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -91,17 +90,6 @@ use their packages mostly unmodified in our Android NDK build system.")
|
||||
(define-public android-googletest
|
||||
(package (inherit googletest)
|
||||
(name "android-googletest")
|
||||
(version "1.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/googletest.git")
|
||||
(commit (string-append "release-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399"))))
|
||||
(arguments
|
||||
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")
|
||||
#:phases
|
||||
|
||||
@@ -264,7 +264,7 @@ waveform until they line up with the proper sounds.")
|
||||
(define-public pencil2d
|
||||
(package
|
||||
(name "pencil2d")
|
||||
(version "0.6.4")
|
||||
(version "0.6.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -273,7 +273,7 @@ waveform until they line up with the proper sounds.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0zi8x0w8n817zds2lyw9l8j33c03kiybkrcyy3s5fg66mchmrwnr"))))
|
||||
"097xwvhw7vl9pgknhb40zs6adf7mb1xxfc73h4kiqgp6z59prjl3"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -32,7 +31,7 @@
|
||||
;; The URI does not appear to be easily guessable. For
|
||||
;; example, you cannot download version "9100g" simply
|
||||
;; by replacing "9100h" in the URI.
|
||||
(uri "http://dl.osdn.jp/anthy/37536/anthy-9100h.tar.gz")
|
||||
(uri "http://tcpdiag.dl.osdn.jp/anthy/37536/anthy-9100h.tar.gz")
|
||||
(sha256
|
||||
(base32
|
||||
"0ism4zibcsa5nl77wwi12vdsfjys3waxcphn1p5s7d0qy1sz0mnj"))))
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -25,27 +25,25 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages sqlite))
|
||||
|
||||
(define-public apl
|
||||
(package
|
||||
(name "apl")
|
||||
(version "1.8")
|
||||
(version "1.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/apl/apl-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jxvv2h3y1am1fw6r5sn3say1n0dj8shmscbybl0qhqdia2lqkql"))))
|
||||
"07xq8ddlmz8psvsmwr23gar108ri0lwmw0n6kpxcv8ypas1f5xlg"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.gnu.org/software/apl/")
|
||||
(inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("lapack" ,lapack)
|
||||
("pcre" ,pcre2)
|
||||
("sqlite" ,sqlite)
|
||||
("readline" ,readline)))
|
||||
(arguments
|
||||
|
||||
+3
-81
@@ -6,7 +6,6 @@
|
||||
;;; Copyright © 2016 Christopher Andersson <christopher@8bits.nu>
|
||||
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
|
||||
;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -32,8 +31,7 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (ice-9 match))
|
||||
#:use-module (gnu packages perl))
|
||||
|
||||
(define-public aspell
|
||||
(package
|
||||
@@ -103,14 +101,7 @@ dictionaries, including personal ones.")
|
||||
(define* (aspell-dictionary dict-name full-name
|
||||
#:key version sha256 (prefix "aspell6-"))
|
||||
(package
|
||||
(name (string-append
|
||||
"aspell-dict-"
|
||||
;; Downcase and replace underscore in package names
|
||||
;; to follow Guix naming conventions.
|
||||
(string-map (match-lambda
|
||||
(#\_ #\-)
|
||||
(chr chr))
|
||||
(string-downcase dict-name))))
|
||||
(name (string-append "aspell-dict-" dict-name))
|
||||
(version version)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
@@ -140,22 +131,6 @@ dictionaries, including personal ones.")
|
||||
(home-page "http://aspell.net/")))
|
||||
|
||||
|
||||
(define-public aspell-dict-ar
|
||||
(aspell-dictionary "ar" "Arabic"
|
||||
#:version "1.2-0"
|
||||
#:prefix "aspell6-"
|
||||
#:sha256
|
||||
(base32
|
||||
"1avw40bp8yi5bnkq64ihm2rldgw34lk89yz281q9bmndh95a47h4")))
|
||||
|
||||
(define-public aspell-dict-be
|
||||
(aspell-dictionary "be" "Belarusian"
|
||||
#:version "0.01"
|
||||
#:prefix "aspell5-"
|
||||
#:sha256
|
||||
(base32
|
||||
"1svls9p7rsfi3hs0afh0cssj006qb4v1ik2yzqgj8hm10c6as2sm")))
|
||||
|
||||
(define-public aspell-dict-ca
|
||||
(aspell-dictionary "ca" "Catalan"
|
||||
#:version "2.1.5-1"
|
||||
@@ -170,14 +145,6 @@ dictionaries, including personal ones.")
|
||||
(base32
|
||||
"01p92qj66cqb346gk7hjfynaap5sbcn85xz07kjfdq623ghr8v5s")))
|
||||
|
||||
(define-public aspell-dict-da
|
||||
(aspell-dictionary "da" "Danish"
|
||||
#:version "1.4.42-1"
|
||||
#:prefix "aspell5-"
|
||||
#:sha256
|
||||
(base32
|
||||
"1hfkmiyhgrx5lgrb2mffjbdn1hivrm73wcg7x0iid74p2yb0fjpp")))
|
||||
|
||||
(define-public aspell-dict-el
|
||||
(aspell-dictionary "el" "Greek"
|
||||
#:version "0.08-0"
|
||||
@@ -207,14 +174,6 @@ dictionaries, including personal ones.")
|
||||
(base32
|
||||
"1k5g328ac1hdpp6fsg57d8md6i0aqcwlszp3gbmp5706wyhpydmd")))
|
||||
|
||||
(define-public aspell-dict-fi
|
||||
(aspell-dictionary "fi" "Finnish"
|
||||
#:version "0.7-0"
|
||||
#:prefix "aspell6-"
|
||||
#:sha256
|
||||
(base32
|
||||
"07d5s08ba4dd89cmwy9icc01i6fjdykxlb9ravmhdrhi8mxz1mzq")))
|
||||
|
||||
(define-public aspell-dict-fr
|
||||
(aspell-dictionary "fr" "French"
|
||||
#:version "0.50-3"
|
||||
@@ -237,14 +196,6 @@ dictionaries, including personal ones.")
|
||||
(base32
|
||||
"13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn")))
|
||||
|
||||
(define-public aspell-dict-hi
|
||||
(aspell-dictionary "hi" "Hindi"
|
||||
#:version "0.02-0"
|
||||
#:prefix "aspell6-"
|
||||
#:sha256
|
||||
(base32
|
||||
"0drs374qz4419zx1lf2k281ydxf2750jk5ailafj1x0ncz27h1ys")))
|
||||
|
||||
(define-public aspell-dict-it
|
||||
(let ((version "2.4-20070901-0")
|
||||
(sha256
|
||||
@@ -266,13 +217,6 @@ dictionaries, including personal ones.")
|
||||
(home-page
|
||||
"http://linguistico.sourceforge.net/pages/dizionario_italiano.html"))))
|
||||
|
||||
(define-public aspell-dict-mi
|
||||
(aspell-dictionary "mi" "Maori"
|
||||
#:version "0.50-0"
|
||||
#:sha256
|
||||
(base32
|
||||
"12bxplpd348yx8d2q8qvahi9dlp7qf28qmanzhziwc7np8rixvmy")))
|
||||
|
||||
(define-public aspell-dict-nl
|
||||
(aspell-dictionary "nl" "Dutch"
|
||||
#:version "0.50-2"
|
||||
@@ -281,29 +225,14 @@ dictionaries, including personal ones.")
|
||||
(base32
|
||||
"0ffb87yjsh211hllpc4b9khqqrblial4pzi1h9r3v465z1yhn3j4")))
|
||||
|
||||
(define-public aspell-dict-nn
|
||||
(aspell-dictionary "nn" "Norwegian Nynorsk"
|
||||
#:version "0.50.1-1"
|
||||
#:sha256
|
||||
(base32
|
||||
"0w2k5l5rbqpliripgqwiqixz5ghnjf7i9ggbrc4ly4vy1ia10rmc")))
|
||||
|
||||
(define-public aspell-dict-pt-br
|
||||
(aspell-dictionary "pt_BR" "Brazilian Portuguese"
|
||||
(aspell-dictionary "pt-br" "Brazilian Portuguese"
|
||||
#:version "20090702-0"
|
||||
#:prefix "aspell6-"
|
||||
#:sha256
|
||||
(base32
|
||||
"1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p")))
|
||||
|
||||
(define-public aspell-dict-pt-pt
|
||||
(aspell-dictionary "pt_PT" "Portuguese"
|
||||
#:version "20070510-0"
|
||||
#:prefix "aspell6-"
|
||||
#:sha256
|
||||
(base32
|
||||
"1mnr994cwlag6shy8865ky99lymysiln07mbldcncahg90dagdxq")))
|
||||
|
||||
(define-public aspell-dict-ru
|
||||
(aspell-dictionary "ru" "Russian"
|
||||
#:version "0.99f7-1"
|
||||
@@ -319,13 +248,6 @@ dictionaries, including personal ones.")
|
||||
(base32
|
||||
"02jwkjhr32kvyibnyzgx3smbnm576jwdzg3avdf6zxwckhy5fw4v")))
|
||||
|
||||
(define-public aspell-dict-uk
|
||||
(aspell-dictionary "uk" "Ukrainian"
|
||||
#:version "1.4.0-0"
|
||||
#:sha256
|
||||
(base32
|
||||
"137i4njvnslab6l4s291s11xijr5jsy75lbdph32f9y183lagy9m")))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Hunspell packages made from the Aspell word lists.
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
|
||||
;;; Copyright © 2019 Andy Tai <atai@atai.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -25,20 +24,11 @@
|
||||
(define-module (gnu packages assembly)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages xml)
|
||||
@@ -139,14 +129,14 @@ to the clients.")
|
||||
(define-public fasm
|
||||
(package
|
||||
(name "fasm")
|
||||
(version "1.73.11")
|
||||
(version "1.73.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://flatassembler.net/fasm-"
|
||||
version ".tgz"))
|
||||
(sha256
|
||||
(base32 "1zhbs72qc8bw5158zh6mvzznfamcx5a1bsmbmq9ci0d7wb58sxmg"))))
|
||||
(base32 "1lk8vlr0vg7h8lhiav99paa5a1mi0r2m8agxjmczhhavqhx44c32"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests exist
|
||||
@@ -212,36 +202,3 @@ assembler, a C compiler and a linker. The assembler uses Intel syntax
|
||||
(home-page "https://github.com/jbruchon/dev86")
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public libjit
|
||||
(let ((commit "554c9f5c750daa6e13a6a5cd416873c81c7b8226"))
|
||||
(package
|
||||
(name "libjit")
|
||||
(version "0.1.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.savannah.gnu.org/r/libjit.git")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0p6wklslkkp3s4aisj3w5a53bagqn5fy4m6088ppd4fcfxgqkrcd"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
("help2man" ,help2man)
|
||||
("gettext" ,gettext-minimal)
|
||||
("libtool" ,libtool)
|
||||
("makeinfo" ,texinfo)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://www.gnu.org/software/libjit/")
|
||||
(synopsis "Just-In-Time compilation library")
|
||||
(description
|
||||
"GNU libjit is a library that provides generic Just-In-Time compiler
|
||||
functionality independent of any particular bytecode, language, or
|
||||
runtime")
|
||||
(license license:lgpl2.1+))))
|
||||
|
||||
+21
-134
@@ -1,8 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019 by Amar Singh <nly@disroot.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -23,40 +22,30 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (srfi srfi-1))
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public cfitsio
|
||||
(package
|
||||
(name "cfitsio")
|
||||
(version "3.47")
|
||||
(version "3.450")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/"
|
||||
name "-" version ".tar.gz"))
|
||||
name (string-replace-substring version "." "") ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1vzlxnrjckz78p2wf148v2z3krkwnykfqvlj42sz3q711vqid1a1"))))
|
||||
(base32 "0bmrkw6w65zb0k3mszaaqy1f4zjm2hl7njww74nb5v38wvdi4q5z"))))
|
||||
(build-system gnu-build-system)
|
||||
;; XXX Building with curl currently breaks wcslib. It doesn't use
|
||||
;; pkg-config and hence won't link with -lcurl.
|
||||
@@ -81,25 +70,20 @@ in FITS files.")
|
||||
(define-public wcslib
|
||||
(package
|
||||
(name "wcslib")
|
||||
(version "6.2")
|
||||
(version "5.20")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"ftp://ftp.atnf.csiro.au/pub/software/wcslib/wcslib" version
|
||||
"ftp://ftp.atnf.csiro.au/pub/software/wcslib/" name "-" version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "01fqckazhbfqqhyr0wd9vcks1m2afmsh83l981alxg2r54jgwkdv"))))
|
||||
(base32 "1c8g9kv4dxrnawnqi4spi2p10s2xs7x75pdfxhbqxgcc97dkgh0b"))))
|
||||
(inputs
|
||||
`(("cfitsio" ,cfitsio)))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--with-cfitsiolib="
|
||||
(assoc-ref %build-inputs "cfitsio") "/lib")
|
||||
(string-append "--with-cfitsioinc="
|
||||
(assoc-ref %build-inputs "cfitsio") "/include"))
|
||||
#:phases
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'patch-/bin/sh
|
||||
(lambda _
|
||||
@@ -149,15 +133,15 @@ programs for the manipulation and analysis of astronomical data.")
|
||||
(define-public stellarium
|
||||
(package
|
||||
(name "stellarium")
|
||||
(version "0.19.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/Stellarium/stellarium"
|
||||
"/releases/download/v" version
|
||||
"/stellarium-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0s7v5iyhah258k83kvy2a91a3mdf34r150lcar4mmdsrrcmas98g"))))
|
||||
(version "0.19.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/Stellarium/" name
|
||||
"/releases/download/v" version
|
||||
"/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mjjqcpgm5a1022x0mpqj3v6qkvpm9wqm1hqyg0mlypc5681va8a"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)
|
||||
@@ -167,9 +151,9 @@ programs for the manipulation and analysis of astronomical data.")
|
||||
("qtserialport" ,qtserialport)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal) ; xgettext is used at compile time
|
||||
("perl" ,perl) ; For pod2man
|
||||
("qtbase" ,qtbase) ; Qt MOC is needed at compile time
|
||||
`(("gettext" ,gettext-minimal) ; xgettext is used at compile time
|
||||
("perl" ,perl) ; For pod2man
|
||||
("qtbase" ,qtbase) ; Qt MOC is needed at compile time
|
||||
("qttools" ,qttools)))
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
@@ -192,100 +176,3 @@ programs for the manipulation and analysis of astronomical data.")
|
||||
can be used to control telescopes over a serial port for tracking celestial
|
||||
objects.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public celestia
|
||||
(let ((commit "9dbdf29c4ac3d20afb2d9a80d3dff241ecf81dce"))
|
||||
(package
|
||||
(name "celestia")
|
||||
(version (git-version "1.6.1" "815" commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/celestiaproject/celestia")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"00xibg87l1arzifakgj7s828x9pszcgx7x7ij88a561ig49ryh78"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
("libgit2" ,libgit2)
|
||||
("pkg-config" ,pkg-config)
|
||||
("libtool" ,libtool)
|
||||
("gettext" ,gettext-minimal)))
|
||||
(inputs
|
||||
`(("glu" ,glu)
|
||||
("glew" ,glew)
|
||||
("libtheora" ,libtheora)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libpng" ,libpng)
|
||||
;; maybe required?
|
||||
("mesa" ,mesa)
|
||||
;; optional: fmtlib, Eigen3;
|
||||
("fmt" ,fmt)
|
||||
("eigen" ,eigen)
|
||||
;; glut: for glut interface
|
||||
("freeglut" ,freeglut)))
|
||||
(propagated-inputs
|
||||
`(("lua" ,lua)))
|
||||
(arguments
|
||||
`(#:configure-flags '("-DENABLE_GLUT=ON" "-DENABLE_QT=OFF")
|
||||
#:tests? #f)) ;no tests
|
||||
(home-page "https://celestia.space/")
|
||||
(synopsis "Real-time 3D visualization of space")
|
||||
(description
|
||||
"This simulation program lets you explore our universe in three
|
||||
dimensions. Celestia simulates many different types of celestial objects.
|
||||
From planets and moons to star clusters and galaxies, you can visit every
|
||||
object in the expandable database and view it from any point in space and
|
||||
time. The position and movement of solar system objects is calculated
|
||||
accurately in real time at any rate desired.")
|
||||
(license license:gpl2+))))
|
||||
|
||||
(define-public celestia-gtk
|
||||
(package
|
||||
(inherit celestia)
|
||||
(name "celestia-gtk")
|
||||
(inputs
|
||||
(append (alist-delete "freeglut" (package-inputs celestia))
|
||||
`(("gtk2" ,gtk+-2)
|
||||
("gtkglext" ,gtkglext))))
|
||||
(arguments
|
||||
`(#:configure-flags '("-DENABLE_GTK=ON" "-DENABLE_QT=OFF")
|
||||
#:tests? #f))))
|
||||
|
||||
(define-public libnova
|
||||
(package
|
||||
(name "libnova")
|
||||
(version "0.16")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.code.sf.net/p/libnova/libnova.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0icwylwkixihzni0kgl0j8dx3qhqvym6zv2hkw2dy6v9zvysrb1b"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-git-version
|
||||
(lambda _
|
||||
(substitute* "./git-version-gen"
|
||||
(("/bin/sh") (which "sh")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)))
|
||||
(synopsis "Celestial mechanics, astrometry and astrodynamics library")
|
||||
(description "Libnova is a general purpose, double precision, Celestial
|
||||
Mechanics, Astrometry and Astrodynamics library.")
|
||||
(home-page "http://libnova.sourceforge.net/")
|
||||
(license (list license:lgpl2.0+
|
||||
license:gpl2+)))) ; examples/transforms.c & lntest/*.c
|
||||
|
||||
|
||||
+27
-88
@@ -17,11 +17,10 @@
|
||||
;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
|
||||
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
|
||||
;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org>
|
||||
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -175,14 +174,14 @@ Filter) modules follow the convention of 1V / Octave.")
|
||||
"--enable-jack"
|
||||
"--enable-sndfile"
|
||||
"--enable-samplerate"
|
||||
"--enable-avcodec")
|
||||
;; TODO: enable compilation with avcodec once available.
|
||||
"--disable-avcodec")
|
||||
#:python ,python-2))
|
||||
(inputs
|
||||
`(("jack" ,jack-1)
|
||||
("libsndfile" ,libsndfile)
|
||||
("libsamplerate" ,libsamplerate)
|
||||
("fftwf" ,fftwf)
|
||||
("ffmpeg" ,ffmpeg))) ; for libavcodec
|
||||
("fftwf" ,fftwf)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "https://aubio.org/")
|
||||
@@ -322,7 +321,7 @@ engineers, musicians, soundtrack editors and composers.")
|
||||
(define-public audacity
|
||||
(package
|
||||
(name "audacity")
|
||||
(version "2.3.2")
|
||||
(version "2.2.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -332,7 +331,7 @@ engineers, musicians, soundtrack editors and composers.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"08w96124vv8k4myd4vifq73ningq6404x889wvg2sk016kc4dfv1"))
|
||||
"10maxmjxbmjybj7n4m7a9bbm7g8xxw8f8vbsf7c9ih5j2gr15ihs"))
|
||||
(patches (search-patches "audacity-build-with-system-portaudio.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
@@ -2121,14 +2120,14 @@ different audio devices such as ALSA or PulseAudio.")
|
||||
(define-public qjackctl
|
||||
(package
|
||||
(name "qjackctl")
|
||||
(version "0.5.9")
|
||||
(version "0.5.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
|
||||
version "/qjackctl-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1saywsda9m124rmjp7i3n0llryaliabjxhqhvqr6dm983qy7pypk"))))
|
||||
"1g6a5j74p45yisl28bw4fcc9nr6b710ikk459p4mp6djh9gs8v95"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; no check target
|
||||
@@ -2429,17 +2428,17 @@ the Turtle syntax.")
|
||||
(define-public suil
|
||||
(package
|
||||
(name "suil")
|
||||
(version "0.10.4")
|
||||
(version "0.10.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.drobilla.net/suil-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ay7hl6nr6ip1nn9k2m8ri3b52b6sx9mhixmcy4fy3kr2a88ksd1"))))
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.drobilla.net/suil-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"00d43m0nai63ajb7rkm9v084jcih206y17ib3160zcvzc885ji4z"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
`(#:tests? #f ; no check target
|
||||
#:configure-flags
|
||||
'("CXXFLAGS=-std=gnu++11")))
|
||||
(inputs
|
||||
@@ -2870,17 +2869,19 @@ interface.")
|
||||
(define-public qsynth
|
||||
(package
|
||||
(name "qsynth")
|
||||
(version "0.5.7")
|
||||
(version "0.5.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/qsynth/qsynth/" version
|
||||
"/qsynth-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "18im4w8agj60nkppwbkxqnhpp13z5li3w30kklv4lgs20rvgbvl6"))))
|
||||
(base32 "0h4hhja8qbyzd6v24flw9wr4mwl03nplryx1gyrppn7sg13l1sx6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no "check" phase
|
||||
`(#:tests? #f ; no "check" phase
|
||||
#:configure-flags
|
||||
'("CXXFLAGS=-std=gnu++11")))
|
||||
(native-inputs
|
||||
`(("qttools" ,qttools)
|
||||
("pkg-config" ,pkg-config)))
|
||||
@@ -2888,7 +2889,7 @@ interface.")
|
||||
`(("fluidsynth" ,fluidsynth)
|
||||
("qtbase" ,qtbase)
|
||||
("qtx11extras" ,qtx11extras)))
|
||||
(home-page "https://qsynth.sourceforge.io")
|
||||
(home-page "http://qsynth.sourceforge.net")
|
||||
(synopsis "Graphical user interface for FluidSynth")
|
||||
(description
|
||||
"Qsynth is a GUI front-end application for the FluidSynth SoundFont
|
||||
@@ -3382,14 +3383,14 @@ on the ALSA software PCM plugin.")
|
||||
(define-public snd
|
||||
(package
|
||||
(name "snd")
|
||||
(version "19.5")
|
||||
(version "19.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
|
||||
"snd-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sk6iyykwi2mm3f1g4r0iqbsrwk3zmyagp6jjqkh8njbq42cjr1y"))))
|
||||
"16j3fqyw361wdsr1076f0p3va2y7wdzq1lvr4ijz1ajmbxdlc723"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
@@ -3567,7 +3568,7 @@ representations.")
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "PREFIX=" %output)
|
||||
(string-append "FONT_DIR=" %output "/share/consolefonts"))
|
||||
(string-append "FONT_DIR=" %output "/usr/share/consolefonts"))
|
||||
#:make-flags
|
||||
(let ((lib (string-append %output "/lib")))
|
||||
(list (string-append "cava_LDFLAGS = -L" lib " -Wl,-rpath " lib)))
|
||||
@@ -3700,7 +3701,7 @@ library.")
|
||||
(define-public faudio
|
||||
(package
|
||||
(name "faudio")
|
||||
(version "19.08")
|
||||
(version "19.04")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -3709,7 +3710,7 @@ library.")
|
||||
(commit version)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32 "1v13kfhyr46241vb6a4dcb4gw5f149525sprwa9cj4rv6wlcqgm5"))))
|
||||
(base32 "00lqf8bjcwm4k8yky9jmqghkxijcm2lxspb9zyl1270yqmj05kiw"))))
|
||||
(arguments
|
||||
'(#:tests? #f ; No tests.
|
||||
#:configure-flags '("-DFFMPEG=ON")))
|
||||
@@ -3722,65 +3723,3 @@ library.")
|
||||
(description "FAudio is an XAudio reimplementation that focuses solely on
|
||||
developing fully accurate DirectX Audio runtime libraries.")
|
||||
(license license:zlib)))
|
||||
|
||||
(define-public gnaural
|
||||
(package
|
||||
(name "gnaural")
|
||||
(version "20110606")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/gnaural/Gnaural/gnaural_"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gq519c0imsh57zklyi0f8h64l3ai48lh672c834470z8c6kvbfi"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("gtk+" ,gtk+-2)
|
||||
("libsndfile" ,libsndfile)
|
||||
("portaudio" ,portaudio)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://gnaural.sourceforge.net/")
|
||||
(synopsis "Binaural beat synthesizer")
|
||||
(description "Gnaural is a programmable auditory binaural beat synthesizer
|
||||
intended to be used for brainwave entrainment. Gnaural supports creation of
|
||||
binaural beat tracks of different frequencies and exporting of tracks into
|
||||
different audio formats. Gnaural can also be linked over the internet with
|
||||
other Gnaural instances, allowing synchronous sessions between many users.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public darkice
|
||||
(package
|
||||
(name "darkice")
|
||||
(version "1.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/darkice/darkice/"
|
||||
version "/darkice-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1rlxds7ssq7nk2in4s46xws7xy9ylxsqgcz85hxjgh17lsm0y39c"))
|
||||
(patches
|
||||
(search-patches "darkice-workaround-fpermissive-error.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("lame" ,lame)
|
||||
("libvorbis" ,libvorbis)
|
||||
("opus" ,opus)
|
||||
("twolame" ,twolame)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("jack" ,jack-1)
|
||||
("libsamplerate" ,libsamplerate)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--with-lame-prefix="
|
||||
(assoc-ref %build-inputs "lame")))))
|
||||
(home-page "http://www.darkice.org/")
|
||||
(synopsis "Live audio streamer")
|
||||
(description "DarkIce is a live audio streamer. It takes audio input from
|
||||
a sound card, encodes it into Ogg Vorbis and/or mp3, and sends the audio
|
||||
stream to one or more IceCast and/or ShoutCast servers.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
+69
-439
File diff suppressed because it is too large
Load Diff
+143
-579
File diff suppressed because it is too large
Load Diff
+130
-650
File diff suppressed because it is too large
Load Diff
+179
-551
File diff suppressed because it is too large
Load Diff
+184
-592
File diff suppressed because it is too large
Load Diff
+25
-29
@@ -73,7 +73,7 @@
|
||||
(define-public duplicity
|
||||
(package
|
||||
(name "duplicity")
|
||||
(version "0.7.19")
|
||||
(version "0.7.18.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -82,7 +82,7 @@
|
||||
"-series/" version "/+download/duplicity-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0ag9dknslxlasslwfjhqgcqbkb1mvzzx93ry7lch2lfzcdd91am6"))))
|
||||
(base32 "0j37dgyji36hvb5dbzlmh5rj83jwhni02yq16g6rd3hj8f7qhdn2"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("util-linux" ,util-linux) ; setsid command, for the tests
|
||||
@@ -185,8 +185,7 @@ can even repair them.")
|
||||
`(#:configure-flags
|
||||
`(,(string-append "--sbindir=" (assoc-ref %outputs "out") "/bin"))
|
||||
#:tests? #f))
|
||||
(home-page (string-append "http://web.archive.org/web/20150925223424/"
|
||||
"http://archive.miek.nl/projects/hdup/index.html"))
|
||||
(home-page "http://archive.miek.nl/projects/hdup/index.html")
|
||||
(synopsis "Simple incremental backup tool")
|
||||
(description
|
||||
"Hdup2 is a backup utility, its aim is to make backup really simple. The
|
||||
@@ -512,13 +511,14 @@ detection, and lossless compression.")
|
||||
(define-public borg
|
||||
(package
|
||||
(name "borg")
|
||||
(version "1.1.10")
|
||||
(version "1.1.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "borgbackup" version))
|
||||
(sha256
|
||||
(base32 "1pp70p4n5kamvcbl4d8021ggrxhyykmg9isjg4yd3wags8b19d7g"))
|
||||
(base32
|
||||
"0x95nhv4h34m8cxycbwc4xdz350saaxlgh727b23bgn4ci7gh3vx"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@@ -540,12 +540,7 @@ detection, and lossless compression.")
|
||||
;; Remove bundled shared libraries.
|
||||
(with-directory-excursion "src/borg/algorithms"
|
||||
(for-each delete-file-recursively
|
||||
(list "blake2" "lz4" "msgpack" "zstd")))
|
||||
;; Purge some msgpack references from setup.py or the resulting
|
||||
;; sources will be unbuildable.
|
||||
(substitute* "setup.py"
|
||||
((".*Extension\\('borg\\.algorithms\\.msgpack\\..*") "")
|
||||
(("msgpack_packer_source, msgpack_unpacker_source") ""))
|
||||
(list "blake2" "lz4" "zstd")))
|
||||
#t))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
@@ -569,12 +564,6 @@ detection, and lossless compression.")
|
||||
;; HOME=/homeless-shelter.
|
||||
(setenv "HOME" "/tmp")
|
||||
#t)))
|
||||
(add-after 'unpack 'use-system-msgpack
|
||||
(lambda _
|
||||
(substitute* "src/borg/helpers.py"
|
||||
(("prefer_system_msgpack = False")
|
||||
"prefer_system_msgpack = True"))
|
||||
#t))
|
||||
;; The tests need to be run after Borg is installed.
|
||||
(delete 'check)
|
||||
(add-after 'install 'check
|
||||
@@ -627,7 +616,7 @@ detection, and lossless compression.")
|
||||
;; transitional package for now:
|
||||
;; <https://bugs.gnu.org/30662>
|
||||
("python-msgpack" ,python-msgpack-transitional)
|
||||
("zstd" ,zstd "lib")))
|
||||
("zstd" ,zstd)))
|
||||
(synopsis "Deduplicated, encrypted, authenticated and compressed backups")
|
||||
(description "Borg is a deduplicating backup program. Optionally, it
|
||||
supports compression and authenticated encryption. The main goal of Borg is to
|
||||
@@ -685,14 +674,14 @@ changes are stored.")
|
||||
(define-public wimlib
|
||||
(package
|
||||
(name "wimlib")
|
||||
(version "1.13.1")
|
||||
(version "1.13.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://wimlib.net/downloads/"
|
||||
"wimlib-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pxgrpr3dr81rcf2jh71aiiq3v4anc5sj1nld18f2vhvbijbrx27"))))
|
||||
"02wpsxjlw9vysj6x6q7kmvbcdkpvdzw201mmj5x0q670mapjrnai"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
@@ -883,7 +872,7 @@ is like a time machine for your data. ")
|
||||
(define-public restic
|
||||
(package
|
||||
(name "restic")
|
||||
(version "0.9.5")
|
||||
(version "0.9.4")
|
||||
;; TODO Try packaging the bundled / vendored dependencies in the 'vendor/'
|
||||
;; directory.
|
||||
(source (origin
|
||||
@@ -894,17 +883,20 @@ is like a time machine for your data. ")
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0afl3dv7gzwdc9klikk3fsb57d0px2fwihb0xxb7zq7d8vlhh8p2"))))
|
||||
"13ksprq1ia86px8x4lqrmx0l6y9rb1ppg8pnp7lcx0zxnq7skp67"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "github.com/restic/restic"
|
||||
#:unpack-path "github.com/restic"
|
||||
;; We don't need to install the source code for end-user applications.
|
||||
#:install-source? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-directory-excursion "src/github.com/restic/restic"
|
||||
(with-directory-excursion (string-append
|
||||
"src/github.com/restic/restic-"
|
||||
,version)
|
||||
;; Disable 'restic self-update'. It makes little sense in Guix.
|
||||
(substitute* "build.go" (("selfupdate") ""))
|
||||
(setenv "HOME" (getcwd)) ; for $HOME/.cache/go-build
|
||||
@@ -912,7 +904,9 @@ is like a time machine for your data. ")
|
||||
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(with-directory-excursion "src/github.com/restic/restic"
|
||||
(with-directory-excursion (string-append
|
||||
"src/github.com/restic/restic-"
|
||||
,version)
|
||||
;; Disable FUSE tests.
|
||||
(setenv "RESTIC_TEST_FUSE" "0")
|
||||
(invoke "go" "run" "build.go" "--test"))))
|
||||
@@ -920,7 +914,8 @@ is like a time machine for your data. ")
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(src "src/github.com/restic/restic"))
|
||||
(src (string-append "src/github.com/restic/restic-"
|
||||
,version)))
|
||||
(install-file (string-append src "/restic")
|
||||
(string-append out "/bin"))
|
||||
#t)))
|
||||
@@ -930,7 +925,8 @@ is like a time machine for your data. ")
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(man "/share/man")
|
||||
(man-section (string-append man "/man"))
|
||||
(src "src/github.com/restic/restic/doc/man/"))
|
||||
(src (string-append "src/github.com/restic/restic-"
|
||||
,version "/doc/man/")))
|
||||
;; Install all the man pages to "out".
|
||||
(for-each
|
||||
(lambda (file)
|
||||
@@ -999,14 +995,14 @@ precious backup space.
|
||||
(define-public burp
|
||||
(package
|
||||
(name "burp")
|
||||
(version "2.3.6")
|
||||
(version "2.3.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/burp/burp-" version
|
||||
"/burp-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"101nn30apcbmy9k0wksdf8d4ccw7sfcqzkasgg17a5y332x2imr9"))))
|
||||
"0r82mmfjm57yr4f34za3x3rkgc5z2c7nwbnsjjki16qfc9kjyai3"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("librsync" ,librsync)
|
||||
|
||||
+8
-66
@@ -1,5 +1,5 @@
|
||||
;;; 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 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2019 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
|
||||
@@ -1009,29 +1009,6 @@ with the Linux kernel.")
|
||||
(("/bin/pwd") "pwd"))
|
||||
#t))))))))
|
||||
|
||||
(define-public (make-gcc-libc base-gcc libc)
|
||||
"Return a GCC that targets LIBC."
|
||||
(package (inherit base-gcc)
|
||||
(name (string-append (package-name base-gcc) "-"
|
||||
(package-name libc) "-"
|
||||
(package-version libc)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments
|
||||
(ensure-keyword-arguments (package-arguments base-gcc)
|
||||
'(#:implicit-inputs? #f))
|
||||
((#:make-flags flags)
|
||||
`(let ((libc (assoc-ref %build-inputs "libc")))
|
||||
;; FLAGS_FOR_TARGET are needed for the target libraries to receive
|
||||
;; the -Bxxx for the startfiles.
|
||||
(cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
|
||||
,flags)))))
|
||||
(native-inputs
|
||||
`(("libc" ,libc)
|
||||
("libc:static" ,libc "static")
|
||||
,@(append (package-inputs base-gcc)
|
||||
(fold alist-delete (%final-inputs) '("libc" "libc:static")))))
|
||||
(inputs '())))
|
||||
|
||||
(define-public (make-glibc-locales glibc)
|
||||
(package
|
||||
(inherit glibc)
|
||||
@@ -1050,47 +1027,12 @@ to the @code{share/locale} sub-directory of this package.")
|
||||
(let ((args `(#:tests? #f #:strip-binaries? #f
|
||||
,@(package-arguments glibc))))
|
||||
(substitute-keyword-arguments args
|
||||
((#:modules modules '((guix build utils)
|
||||
(guix build gnu-build-system)))
|
||||
`((srfi srfi-11)
|
||||
(gnu build locale)
|
||||
,@modules))
|
||||
((#:imported-modules modules '())
|
||||
`((gnu build locale)
|
||||
,@%gnu-build-system-modules))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "make" "localedata/install-locales"
|
||||
"-j" (number->string (parallel-job-count)))))
|
||||
(add-after 'build 'symlink-normalized-codesets
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; The above phase does not install locales with names using
|
||||
;; the "normalized codeset." Thus, create symlinks like:
|
||||
;; en_US.utf8 -> en_US.UTF-8
|
||||
(define (locale-directory? file stat)
|
||||
(and (file-is-directory? file)
|
||||
(string-index (basename file) #\_)
|
||||
(string-rindex (basename file) #\.)))
|
||||
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(locales (find-files out locale-directory?
|
||||
#:directories? #t)))
|
||||
(for-each (lambda (directory)
|
||||
(let*-values (((base)
|
||||
(basename directory))
|
||||
((name codeset)
|
||||
(locale->name+codeset base))
|
||||
((normalized)
|
||||
(normalize-codeset codeset)))
|
||||
(unless (string=? codeset normalized)
|
||||
(symlink base
|
||||
(string-append (dirname directory)
|
||||
"/" name "."
|
||||
normalized)))))
|
||||
locales)
|
||||
#t)))
|
||||
(delete 'install)
|
||||
(delete 'move-static-libs)))
|
||||
((#:configure-flags flags)
|
||||
@@ -1215,15 +1157,15 @@ command.")
|
||||
(define-public tzdata
|
||||
(package
|
||||
(name "tzdata")
|
||||
(version "2019b")
|
||||
(version "2019a")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://data.iana.org/time-zones/releases/tzdata"
|
||||
"https://www.iana.org/time-zones/repository/releases/tzdata"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0r0clnlslwm15m1c61dinf1fi9ffgl6aipng7i7yryfwj0n0kn85"))))
|
||||
"0wlpqm4asvi0waaz24xj20iq40gqfypmb4nldjhkfgm09bgnsdlh"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f
|
||||
@@ -1269,11 +1211,11 @@ command.")
|
||||
(inputs `(("tzcode" ,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://data.iana.org/time-zones/releases/tzcode"
|
||||
"http://www.iana.org/time-zones/repository/releases/tzcode"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vbmswvv3li25s31shyllq5v24449lxnrki9hr043nipjd09sirf"))))))
|
||||
"1x9z8fpgnhzlsnps0hamb54ymaskjab7ys9m4i4gpk9hpiig2fc7"))))))
|
||||
(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)
|
||||
@@ -1296,7 +1238,7 @@ and daylight-saving rules.")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://data.iana.org/time-zones/releases/tzdata"
|
||||
"https://www.iana.org/time-zones/repository/releases/tzdata"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
@@ -1305,7 +1247,7 @@ and daylight-saving rules.")
|
||||
`(("tzcode" ,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://data.iana.org/time-zones/releases/tzcode"
|
||||
"http://www.iana.org/time-zones/repository/releases/tzcode"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -292,16 +291,13 @@ without modification.")
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after
|
||||
'install 'remove-redundant-completions
|
||||
(lambda* (#:key
|
||||
inputs native-inputs
|
||||
outputs #:allow-other-keys)
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Util-linux comes with a bunch of completion files for
|
||||
;; its own commands which are more sophisticated and
|
||||
;; up-to-date than those of bash-completion. Remove those
|
||||
;; from bash-completion.
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(util-linux (assoc-ref (or native-inputs inputs)
|
||||
"util-linux"))
|
||||
(util-linux (assoc-ref inputs "util-linux"))
|
||||
(completions (string-append out
|
||||
"/share/bash-completion"
|
||||
"/completions"))
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Dave Love <fx@gnu.org>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -26,10 +25,7 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages maths)
|
||||
@@ -42,14 +38,14 @@
|
||||
(define-public fio
|
||||
(package
|
||||
(name "fio")
|
||||
(version "3.14")
|
||||
(version "3.13")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://brick.kernel.dk/snaps/"
|
||||
"fio-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"047y53nyhnmnxcrsfbsf0gcpxw7bli3n19ycscpxy9974j0fck0v"))))
|
||||
"0ddj7zm04jqlna3w61qyp4qvwnv0r2lc1hzpwrgbvv4fq581w7d2"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:test-target "test"
|
||||
@@ -197,27 +193,3 @@ extension to @code{time} which runs a command multiple times and prints the
|
||||
timing means, standard deviations, mins, medians, and maxes having done so.
|
||||
This can give a much better understanding of the command's performance.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public benchmark
|
||||
(package
|
||||
(name "benchmark")
|
||||
(version "1.5.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/benchmark.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0r9dbg4cbk47gwmayys31a83m3y67k0kh1f6pl8i869rbd609ndh"))
|
||||
(patches (search-patches "benchmark-unbundle-googletest.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("googletest" ,googletest)))
|
||||
(home-page "https://github.com/google/benchmark")
|
||||
(synopsis "Microbenchmark support library")
|
||||
(description
|
||||
"Benchmark is a library to benchmark code snippets,
|
||||
similar to unit tests.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
+245
-1204
File diff suppressed because it is too large
Load Diff
+410
-853
File diff suppressed because it is too large
Load Diff
+34
-37
@@ -1,7 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
@@ -183,38 +183,35 @@ XML-RPC over SCGI.")
|
||||
(license l:gpl2+)))
|
||||
|
||||
(define-public tremc
|
||||
(let ((commit "4d50dab7376601daca13f7be6eabc0eaa057c1b0")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "tremc")
|
||||
(version (git-version "0.9.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tremc/tremc.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qpi65n8rv7l9mg8qyqx70z83inkl8v5r5nks65c99lhscdki0w7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no test suite
|
||||
#:make-flags
|
||||
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The software is just a Python script that must be copied into place.
|
||||
(delete 'configure)
|
||||
(delete 'build))))
|
||||
(inputs
|
||||
`(("python" ,python)))
|
||||
(synopsis "Console client for the Transmission BitTorrent daemon")
|
||||
(description "Tremc is a console client, with a curses interface, for the
|
||||
(package
|
||||
(name "tremc")
|
||||
(version "0.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tremc/tremc.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1yhwvlcyv1s830p5a7q5x3mkb3mbvr5cn5nh7y62l5b6iyyynlvm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no test suite
|
||||
#:make-flags
|
||||
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The software is just a Python script that must be copied into place.
|
||||
(delete 'configure)
|
||||
(delete 'build))))
|
||||
(inputs
|
||||
`(("python" ,python)))
|
||||
(synopsis "Console client for the Transmission BitTorrent daemon")
|
||||
(description "Tremc is a console client, with a curses interface, for the
|
||||
Transmission BitTorrent daemon.")
|
||||
(home-page "https://github.com/tremc/tremc")
|
||||
(license l:gpl3+))))
|
||||
(home-page "https://github.com/tremc/tremc")
|
||||
(license l:gpl3+)))
|
||||
|
||||
(define-public transmission-remote-cli
|
||||
(package
|
||||
@@ -380,17 +377,17 @@ and will take advantage of multiple processor cores where possible.")
|
||||
(define-public libtorrent-rasterbar
|
||||
(package
|
||||
(name "libtorrent-rasterbar")
|
||||
(version "1.1.13")
|
||||
(version "1.1.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"https://github.com/arvidn/libtorrent/releases/download/libtorrent-"
|
||||
"https://github.com/arvidn/libtorrent/releases/download/libtorrent_"
|
||||
(string-join (string-split version #\.) "_")
|
||||
"/libtorrent-rasterbar-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mza92ljjqvlz9582pmls3n45srqhxvw3q348xihcg4fhlchf11h"))))
|
||||
"0isqidr11fnhybr0wvk0qxd97jaikmh8fx9h89b84yd2gyxdw8vw"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
@@ -429,7 +426,7 @@ desktops.")
|
||||
(define-public qbittorrent
|
||||
(package
|
||||
(name "qbittorrent")
|
||||
(version "4.1.6")
|
||||
(version "4.1.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -438,7 +435,7 @@ desktops.")
|
||||
(commit (string-append "release-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1y9kv84sy5fg64wbl4xpm8qh0hjba7ibk045cazp0m736rjmxk8c"))))
|
||||
(base32 "09zcygaxfv9g6av0vsvlyzv4v65wvj766xyfx31yz5ig3xan6ak1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
||||
@@ -82,22 +82,19 @@
|
||||
(define-public grub
|
||||
(package
|
||||
(name "grub")
|
||||
(version "2.04")
|
||||
(version "2.02")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/grub/grub-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zgp5m3hmc9jh8wpjx6czzkh5id2y8n1k823x2mjvm2sk6b28ag5"))
|
||||
(patches (search-patches "grub-efi-fat-serial-number.patch"))))
|
||||
"03vvdfhdmf16121v7xs8is2krwnv15wpkhkf16a4yf8nsfc3f2w1"))
|
||||
(patches (search-patches "grub-check-error-efibootmgr.patch"
|
||||
"grub-binutils-compat.patch"
|
||||
"grub-efi-fat-serial-number.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
;; Counterintuitively, this *disables* a spurious Python dependency by
|
||||
;; calling the ‘true’ binary instead. Python is only needed during
|
||||
;; bootstrapping (for genptl.py), not when building from a release.
|
||||
(list "PYTHON=true")
|
||||
#:phases (modify-phases %standard-phases
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-stuff
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "grub-core/Makefile.in"
|
||||
@@ -130,14 +127,6 @@
|
||||
(substitute* "Makefile.in"
|
||||
(("grub_cmd_date grub_cmd_set_date grub_cmd_sleep")
|
||||
"grub_cmd_date grub_cmd_sleep"))
|
||||
#t))
|
||||
(add-before 'check 'disable-pixel-perfect-test
|
||||
(lambda _
|
||||
;; This test compares many screenshots rendered with an
|
||||
;; older Unifont (9.0.06) than that packaged in Guix.
|
||||
(substitute* "Makefile.in"
|
||||
(("test_unset grub_func_test")
|
||||
"test_unset"))
|
||||
#t)))
|
||||
;; Disable tests on ARM and AARCH64 platforms.
|
||||
#:tests? ,(not (any (cute string-prefix? <> (or (%current-target-system)
|
||||
@@ -158,12 +147,9 @@
|
||||
;; for generating alternative keyboard layouts.
|
||||
("console-setup" ,console-setup)
|
||||
|
||||
;; Needed for ‘grub-mount’, the only reliable way to tell whether a given
|
||||
;; file system will be readable by GRUB without rebooting.
|
||||
("fuse" ,fuse)
|
||||
|
||||
("freetype" ,freetype)
|
||||
;; ("libusb" ,libusb)
|
||||
;; ("fuse" ,fuse)
|
||||
("ncurses" ,ncurses)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
@@ -524,16 +510,17 @@ board-independent tools.")))
|
||||
|
||||
(define-public (make-u-boot-package board triplet)
|
||||
"Returns a u-boot package for BOARD cross-compiled for TRIPLET."
|
||||
(let ((same-arch? (lambda ()
|
||||
(string=? (%current-system)
|
||||
(gnu-triplet->nix-system triplet)))))
|
||||
(let ((same-arch? (if (string-prefix? (%current-system)
|
||||
(gnu-triplet->nix-system triplet))
|
||||
`#t
|
||||
`#f)))
|
||||
(package
|
||||
(inherit u-boot)
|
||||
(name (string-append "u-boot-"
|
||||
(string-replace-substring (string-downcase board)
|
||||
"_" "-")))
|
||||
(native-inputs
|
||||
`(,@(if (not (same-arch?))
|
||||
`(,@(if (not same-arch?)
|
||||
`(("cross-gcc" ,(cross-gcc triplet #:xgcc gcc-7))
|
||||
("cross-binutils" ,(cross-binutils triplet)))
|
||||
`(("gcc-7" ,gcc-7)))
|
||||
@@ -546,7 +533,7 @@ board-independent tools.")))
|
||||
#:test-target "test"
|
||||
#:make-flags
|
||||
(list "HOSTCC=gcc"
|
||||
,@(if (not (same-arch?))
|
||||
,@(if (not same-arch?)
|
||||
`((string-append "CROSS_COMPILE=" ,triplet "-"))
|
||||
'()))
|
||||
#:phases
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
;;; 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 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -30,7 +29,7 @@
|
||||
#:use-module ((guix store)
|
||||
#:select (run-with-store add-to-store add-text-to-store))
|
||||
#:use-module ((guix derivations)
|
||||
#:select (derivation derivation-input derivation->output-path))
|
||||
#:select (derivation derivation->output-path))
|
||||
#:use-module ((guix utils) #:select (gnu-triplet->nix-system))
|
||||
#:use-module (guix memoization)
|
||||
#:use-module (srfi srfi-1)
|
||||
@@ -178,7 +177,6 @@ return value is ignored."
|
||||
((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")
|
||||
((string=? system "riscv64-linux") "/lib/ld-linux-riscv64-lp64d.so.1")
|
||||
|
||||
;; XXX: This one is used bare-bones, without a libc, so add a case
|
||||
;; here just so we can keep going.
|
||||
@@ -188,7 +186,6 @@ return value is ignored."
|
||||
((string=? system "avr") "no-ld.so")
|
||||
((string=? system "propeller-elf") "no-ld.so")
|
||||
((string=? system "i686-mingw") "no-ld.so")
|
||||
((string=? system "x86_64-mingw") "no-ld.so")
|
||||
((string=? system "vc4-elf") "no-ld.so")
|
||||
|
||||
(else (error "dynamic linker name not known for this system"
|
||||
@@ -314,8 +311,7 @@ $out/bin/guile --version~%"
|
||||
(derivation store name
|
||||
bash `(,builder)
|
||||
#:system system
|
||||
#:inputs (list (derivation-input guile))
|
||||
#:sources (list bash builder)
|
||||
#:inputs `((,bash) (,builder) (,guile))
|
||||
#:env-vars `(("GUILE_TARBALL"
|
||||
. ,(derivation->output-path guile))))))
|
||||
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr>
|
||||
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
|
||||
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
|
||||
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
|
||||
;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
|
||||
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -34,7 +33,6 @@
|
||||
#:use-module (gnu packages)
|
||||
#: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)
|
||||
@@ -242,21 +240,21 @@ other lower-level build files.")
|
||||
(define-public osc
|
||||
(package
|
||||
(name "osc")
|
||||
(version "0.165.2")
|
||||
(version "0.162.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openSUSE/osc")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/openSUSE/" name
|
||||
"/archive/" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0yjwvbvv9fgkpiyvrag89zxchyn3nbgp9jz0wn5p0z9450zwfyz6"))))
|
||||
(base32 "0b4kpm96ns4smqyfjysbk2p78d36x44xprpna8zz85q1y5xn57aj"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
`(#:python ,python-2 ; Module is python2 only.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'fix-filename
|
||||
(add-after 'install 'fix-filename-and-remove-unused
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
|
||||
;; Main osc tool is renamed in spec file, not setup.py, let's
|
||||
@@ -264,11 +262,13 @@ other lower-level build files.")
|
||||
(rename-file
|
||||
(string-append bin "osc-wrapper.py")
|
||||
(string-append bin "osc"))
|
||||
#t))))))
|
||||
;; Remove unused and broken script.
|
||||
(delete-file (string-append bin "osc_hotshot.py"))
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("python-m2crypto" ,python-m2crypto)
|
||||
("python-pycurl" ,python-pycurl)
|
||||
("rpm" ,rpm))) ; for python-rpm
|
||||
`(("python2-m2crypto" ,python2-m2crypto)
|
||||
("python2-pycurl" ,python2-pycurl)
|
||||
("python2-urlgrabber" ,python2-urlgrabber)))
|
||||
(home-page "https://github.com/openSUSE/osc")
|
||||
(synopsis "Open Build Service command line tool")
|
||||
(description "@command{osc} is a command line interface to the Open Build
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
;;; 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 © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -54,12 +55,6 @@
|
||||
#t))
|
||||
(replace 'configure
|
||||
(lambda _ (invoke "make" "defconfig")))
|
||||
(add-after 'configure 'dont-install-to-usr
|
||||
(lambda _
|
||||
(substitute* ".config"
|
||||
(("# CONFIG_INSTALL_NO_USR is not set")
|
||||
"CONFIG_INSTALL_NO_USR=y"))
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(substitute* '("testsuite/du/du-s-works"
|
||||
@@ -113,7 +108,7 @@ any small or embedded system.")
|
||||
(define-public toybox
|
||||
(package
|
||||
(name "toybox")
|
||||
(version "0.8.1")
|
||||
(version "0.8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -121,7 +116,7 @@ any small or embedded system.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1czxzvyggm157z8wgxbk8k0n675p1gig9xvrcijsplh9p1i1xi0s"))))
|
||||
"0mirj977zxsxnfaiqndwgsn9calgg312d817fi1hkfbd8kcyrk73"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
@@ -138,12 +133,7 @@ any small or embedded system.")
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "make"
|
||||
(string-append "PREFIX=" out)
|
||||
"install"))))
|
||||
(add-after 'install 'remove-usr-directory
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(delete-file-recursively (string-append out "/usr"))
|
||||
#t))))
|
||||
"install")))))
|
||||
#:test-target "tests"))
|
||||
(native-inputs `(("bc" ,bc)))
|
||||
(synopsis "Many common UNIX utilities in a single executable")
|
||||
|
||||
+1
-30
@@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@@ -29,7 +29,6 @@
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages bootstrap)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages texinfo)
|
||||
@@ -288,31 +287,3 @@ Its three main components are:
|
||||
@end enumerate\n")
|
||||
;; Like the BSD-3 license but with an extra anti patent clause.
|
||||
(license (license:non-copyleft "file://COPYRIGHT"))))
|
||||
|
||||
(define-public libfixposix
|
||||
(package
|
||||
(name "libfixposix")
|
||||
(version "0.4.3")
|
||||
(home-page "https://github.com/sionescu/libfixposix")
|
||||
(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
|
||||
"1x4q6yspi5g2s98vq4qszw4z3zjgk9l5zs8471w4d4cs6l97w08j"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)
|
||||
("check" ,check)))
|
||||
(synopsis "Thin wrapper over POSIX syscalls")
|
||||
(description
|
||||
"The purpose of libfixposix is to offer replacements for parts of POSIX
|
||||
whose behaviour is inconsistent across *NIX flavours.")
|
||||
(license license:boost1.0)))
|
||||
|
||||
@@ -30,14 +30,14 @@
|
||||
(define-public calcurse
|
||||
(package
|
||||
(name "calcurse")
|
||||
(version "4.5.0")
|
||||
(version "4.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://calcurse.org/files/calcurse-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1vjwcmp51h7dsvwn0qx93w9chp3wp970v7d9mjhk7jyamcbfywn3"))))
|
||||
(base32 "0vw2xi6a2lrhrb8n55zq9lv4mzxhby4xdf3hmi1vlfpyrpdwkjzd"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("ncurses" ,ncurses)))
|
||||
(native-inputs `(("tzdata" ,tzdata-for-tests)))
|
||||
|
||||
@@ -35,13 +35,11 @@
|
||||
#:use-module (gnu packages dav)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages time)
|
||||
#:use-module (gnu packages xml)
|
||||
@@ -50,7 +48,7 @@
|
||||
(define-public libical
|
||||
(package
|
||||
(name "libical")
|
||||
(version "3.0.5")
|
||||
(version "3.0.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -58,7 +56,7 @@
|
||||
version "/libical-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rkq9qkvbv76n6k6kc8pxhwj9vhyigkb6flfcn1rk6wwqk451mbs"))))
|
||||
"0ifisnh42cw5z53hp9p52l3ggc7k877zlqk0n06gdhrk0bhidckj"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; test suite appears broken
|
||||
@@ -78,8 +76,7 @@
|
||||
(("\\\"/usr/share/lib/zoneinfo\\\"") "")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("gtk-doc" ,gtk-doc)
|
||||
("perl" ,perl)
|
||||
`(("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
|
||||
+16
-33
@@ -162,20 +162,8 @@ libcdio.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0aq6lvlwlkxz56l5sbvgycr6j5c82ch2bv6zrnc2345ibfpafgx9"))
|
||||
(patches
|
||||
(search-patches "xorriso-no-partition-table-in-inner-efi.patch"
|
||||
"xorriso-no-mbr-in-inner-efi.patch"))))
|
||||
"0aq6lvlwlkxz56l5sbvgycr6j5c82ch2bv6zrnc2345ibfpafgx9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'install-frontends
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(out-bin (string-append out "/bin")))
|
||||
(install-file "frontend/grub-mkrescue-sed.sh" out-bin)
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("acl" ,acl)
|
||||
("readline" ,readline)
|
||||
@@ -725,20 +713,16 @@ session, and it can create M3U playlists.")
|
||||
(package
|
||||
(name "ripit")
|
||||
(version "3.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
;; The original suwald.com domain has expired.
|
||||
(uri (list
|
||||
(string-append "https://web.archive.org/web/20160327050927/"
|
||||
"http://suwald.com/ripit/ripit-" version ".tar.gz")
|
||||
(string-append "https://ponce.cc/slackware/sources/repo/ripit-"
|
||||
version ".tar.gz")))
|
||||
(sha256
|
||||
(base32 "0ap71x477jy9c4jiqazb3y45hxdxm3jbq24x05g3vjyqzigi4x1b"))))
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.suwald.com/ripit/ripit-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ap71x477jy9c4jiqazb3y45hxdxm3jbq24x05g3vjyqzigi4x1b"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no test suite
|
||||
`(#:tests? #f ; No test suite.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
@@ -760,8 +744,7 @@ session, and it can create M3U playlists.")
|
||||
("vorbis-tools" ,vorbis-tools)
|
||||
("wavpack" ,wavpack)
|
||||
("perl-cddb-get" ,perl-cddb-get)))
|
||||
(home-page (string-append "https://web.archive.org/web/20170119092156/"
|
||||
"http://www.suwald.com/ripit/about.php"))
|
||||
(home-page "http://www.suwald.com/ripit/about.php")
|
||||
(synopsis "Command-line program to extract audio CDs")
|
||||
(description "RipIT is used to extract audio from CDs.")
|
||||
(license gpl2)))
|
||||
@@ -884,7 +867,7 @@ CD data, and more. It's mostly compatible with @code{cdrtools}.")
|
||||
(define-public libmirage
|
||||
(package
|
||||
(name "libmirage")
|
||||
(version "3.2.2")
|
||||
(version "3.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -892,7 +875,7 @@ CD data, and more. It's mostly compatible with @code{cdrtools}.")
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0gwrfia0fyhi0b3p2pfyyvrcfcb0qysfzgpdqsqjqbx4xaqx5wpi"))))
|
||||
"1ydph33sfxplp4872dp8ghp574jk5d4qr8hqz61qnznq1b11cnbr"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
@@ -913,7 +896,7 @@ the data stored in various image formats.")
|
||||
(define-public cdemu-daemon
|
||||
(package
|
||||
(name "cdemu-daemon")
|
||||
(version "3.2.2")
|
||||
(version "3.2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -921,7 +904,7 @@ the data stored in various image formats.")
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0himyrhhfjsr4ff5aci7240bpm9x34h20pid412ci8fm16nk929b"))))
|
||||
"171qqcziqgf6dd9n8xs9hc71krhjiyx9qr767s8znidyjj88hbc4"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
@@ -942,7 +925,7 @@ drive and disc (including CD-ROMs and DVD-ROMs).")
|
||||
(define-public cdemu-client
|
||||
(package
|
||||
(name "cdemu-client")
|
||||
(version "3.2.1")
|
||||
(version "3.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@@ -950,7 +933,7 @@ drive and disc (including CD-ROMs and DVD-ROMs).")
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1d8m24qvv62xcwafw5zs4yf39vs64kxl4idqcngd8yyjhrb2ykg5"))))
|
||||
"1zwz987pb2pakfk9kz8a6xa9hq1ip48cn4ryl9z85dik8k2sizm9"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
(define-public nss-certs
|
||||
(package
|
||||
(name "nss-certs")
|
||||
(version "3.45")
|
||||
(version "3.43")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (let ((version-with-underscores
|
||||
@@ -87,7 +87,7 @@
|
||||
"nss-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"12sfq9xvpwpc22qnjsg1if1lmchiy33byrh92wn91phz7li0abqi"))))
|
||||
"1jp27w4w9nj5pkzrbc1zqj6pa09h2yy7vhzyx5fvg1q86fvw22zk"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"))
|
||||
(native-inputs
|
||||
@@ -185,7 +185,7 @@ taken from the NSS package and thus ultimately from the Mozilla project.")
|
||||
(uri "https://letsencrypt.org/certs/isrgrootx1.pem")
|
||||
(sha256
|
||||
(base32
|
||||
"0zycy85ff9ga53z1q03df89ka9iihb9p8bjhw056rq2y4rn3b6ac"))))
|
||||
"0zhd1ps7sz4w1x52xk3v7ng6d0rcyi7y7rcrplwkmilnq5hzjv1y"))))
|
||||
;; "Let’s Encrypt Authority X3", the active Let's Encrypt intermediate
|
||||
;; certificate.
|
||||
("letsencryptauthorityx3.pem"
|
||||
@@ -194,7 +194,7 @@ taken from the NSS package and thus ultimately from the Mozilla project.")
|
||||
(uri "https://letsencrypt.org/certs/letsencryptauthorityx3.pem")
|
||||
(sha256
|
||||
(base32
|
||||
"1kvac1dhm1d02bhrfj6l1cz1dpldz6ishb78zzvy8245zgvh7pdn"))))
|
||||
"0zbamj6c7zqw1j9mbqygc8k1ykgj6xiisp9svmlif5lkbnyjhnkk"))))
|
||||
;; "Let’s Encrypt Authority X4", the backup Let's Encrypt intermediate
|
||||
;; certificate. This will be used for disaster recovery and will only be
|
||||
;; used should Let's Encrypt lose the ability to issue with "Let’s
|
||||
@@ -205,7 +205,7 @@ taken from the NSS package and thus ultimately from the Mozilla project.")
|
||||
(uri "https://letsencrypt.org/certs/letsencryptauthorityx4.pem")
|
||||
(sha256
|
||||
(base32
|
||||
"0giiixknr0mls2ir6qqzb42mq7x9a7vz79gbn7fjszbf87pqhpzm"))))))
|
||||
"003dc94c8qwj634h0dq743x7hqv9rdcfaisdksprkmi2jd107xq4"))))))
|
||||
(home-page "https://letsencrypt.org/certificates/")
|
||||
(synopsis "Let's Encrypt root and intermediate certificates")
|
||||
(description "This package provides a certificate store containing only the
|
||||
|
||||
+18
-36
@@ -447,7 +447,7 @@ test) much simpler.")
|
||||
`(("go-github.com-smartystreets-gunit" ,go-github.com-smartystreets-gunit)))
|
||||
(synopsis "Assertions for testing with Go")
|
||||
(description
|
||||
"The @code{assertions} package provides convenient assertion functions
|
||||
"The @code{assertions} package provides convinient assertion functions
|
||||
for writing tests in Go.")
|
||||
(home-page "https://github.com/smartystreets/assertions")
|
||||
(license license:expat)))
|
||||
@@ -478,19 +478,22 @@ test coverage and has a web user interface that will refresh automatically.")
|
||||
(home-page "https://github.com/smartystreets/goconvey")
|
||||
(license license:expat)))
|
||||
|
||||
;; XXX When updating, check whether ZNC's GOOGLETEST-SOURCES can be
|
||||
;; switched back to simply using (PACKAGE-SOURCE ...).
|
||||
(define-public googletest
|
||||
(package
|
||||
(name "googletest")
|
||||
(version "1.8.1")
|
||||
(version "1.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/googletest.git")
|
||||
(commit (string-append "release-" version))))
|
||||
(url "https://github.com/google/googletest.git")
|
||||
(commit (string-append "release-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0270msj6n7mggh4xqqjp54kswbl7mkcc8px1p5dqdpmw5ngh9fzk"))))
|
||||
(base32
|
||||
"0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
|
||||
@@ -922,27 +925,6 @@ result back.")
|
||||
(define-public python2-pytest-xdist
|
||||
(package-with-python2 python-pytest-xdist))
|
||||
|
||||
(define-public python-pytest-timeout
|
||||
(package
|
||||
(name "python-pytest-timeout")
|
||||
(version "1.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-timeout" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1cczcjhw4xx5sjkhxlhc5c1bkr7x6fcyx12wrnvwfckshdvblc2a"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-pytest" ,python-pytest)))
|
||||
(home-page "http://bitbucket.org/pytest-dev/pytest-timeout/")
|
||||
(synopsis "Plugin for py.test to abort hanging tests")
|
||||
(description
|
||||
"This package provides a py.test plugin that aborts hanging tests after a
|
||||
timeout has been exceeded.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-scripttest
|
||||
(package
|
||||
(name "python-scripttest")
|
||||
@@ -1924,8 +1906,7 @@ backported from Python 2.7 for Python 2.4+.")
|
||||
("python-pyhamcrest" ,python-pyhamcrest)
|
||||
("python-pytest" ,python-pytest)))
|
||||
(propagated-inputs
|
||||
`(("python-importlib-metadata" ,python-importlib-metadata)
|
||||
("python-six" ,python-six)
|
||||
`(("python-six" ,python-six)
|
||||
("python-parse" ,python-parse)
|
||||
("python-parse-type" ,python-parse-type)))
|
||||
(arguments
|
||||
@@ -2040,13 +2021,13 @@ create data based on random numbers and yet remain repeatable.")
|
||||
(define-public python-nose-timer
|
||||
(package
|
||||
(name "python-nose-timer")
|
||||
(version "0.7.5")
|
||||
(version "0.7.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "nose-timer" version))
|
||||
(sha256
|
||||
(base32 "05wzkc88vbzw62pqkvhl33211b90kns0lny70b7qw62rcg4flzk4"))))
|
||||
(base32 "04inck7l1sgkjbiinhifxk45wk2b3czbwh1x2a390hi183fq1q12"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-nose" ,python-nose)
|
||||
@@ -2062,17 +2043,18 @@ create data based on random numbers and yet remain repeatable.")
|
||||
(define-public python-freezegun
|
||||
(package
|
||||
(name "python-freezegun")
|
||||
(version "0.3.12")
|
||||
(version "0.3.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "freezegun" version))
|
||||
(sha256
|
||||
(base32 "1rx57v8ryjncjimg8hys9kx1r3rknvwcl4y340g20jn0sf69qk9a"))))
|
||||
(base32 "1nh0fzqjwg88n57k3qa8mxnmiwrr7lqyd5xvc96qn5g8zcxv8fg8"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-mock" ,python-mock)
|
||||
("python-pytest" ,python-pytest)))
|
||||
("python-nose" ,python-nose)
|
||||
("python-coverage" ,python-coverage)))
|
||||
(propagated-inputs
|
||||
`(("python-six" ,python-six)
|
||||
("python-dateutil" ,python-dateutil)))
|
||||
@@ -2083,7 +2065,7 @@ create data based on random numbers and yet remain repeatable.")
|
||||
;; package does not include the Makefile.
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "pytest" "-vv"))))))
|
||||
(invoke "nosetests" "./tests/"))))))
|
||||
(home-page "https://github.com/spulec/freezegun")
|
||||
(synopsis "Test utility for mocking the datetime module")
|
||||
(description
|
||||
@@ -2097,13 +2079,13 @@ time by mocking the datetime module.")
|
||||
(define-public python-flexmock
|
||||
(package
|
||||
(name "python-flexmock")
|
||||
(version "0.10.4")
|
||||
(version "0.10.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "flexmock" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0b6qw3grhgx58kxlkj7mdma7xdvlj02zabvcf7w2qifnfjwwwcsh"))))
|
||||
"031c624pdqm7cc0xh4yz5k69gqxn2bbrjz13s17684q5shn0ik21"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://flexmock.readthedocs.org")
|
||||
(synopsis "Testing library for Python")
|
||||
|
||||
+74
-177
@@ -1,6 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -36,7 +35,6 @@
|
||||
#:use-module (gnu packages cups)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages gl)
|
||||
@@ -69,12 +67,10 @@
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (srfi srfi-1))
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define %preserved-third-party-files
|
||||
'("base/third_party/cityhash" ;Expat
|
||||
"base/third_party/dmg_fp" ;X11-style
|
||||
'("base/third_party/dmg_fp" ;X11-style
|
||||
"base/third_party/dynamic_annotations" ;BSD-2
|
||||
"base/third_party/icu" ;Unicode, X11-style
|
||||
"base/third_party/superfasthash" ;BSD-3
|
||||
@@ -86,7 +82,7 @@
|
||||
"courgette/third_party/divsufsort" ;Expat
|
||||
"net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
|
||||
"net/third_party/nss" ;MPL-2.0
|
||||
"net/third_party/quiche" ;BSD-3
|
||||
"net/third_party/quic" ;BSD-3
|
||||
"net/third_party/uri_template" ;ASL2.0
|
||||
"third_party/abseil-cpp" ;ASL2.0
|
||||
"third_party/adobe/flash/flapper_version.h" ;no license, trivial
|
||||
@@ -97,19 +93,17 @@
|
||||
"third_party/angle/src/third_party/compiler" ;BSD-2
|
||||
"third_party/angle/src/third_party/libXNVCtrl" ;Expat
|
||||
"third_party/angle/src/third_party/trace_event" ;BSD-3
|
||||
"third_party/angle/third_party/glslang" ;BSD-3
|
||||
"third_party/angle/third_party/spirv-headers" ;Expat
|
||||
"third_party/angle/third_party/spirv-tools" ;Expat
|
||||
"third_party/angle/third_party/vulkan-headers" ;ASL2.0
|
||||
"third_party/angle/third_party/vulkan-loader" ;ASL2.0
|
||||
"third_party/angle/third_party/vulkan-tools" ;ASL2.0
|
||||
"third_party/angle/third_party/vulkan-validation-layers" ;ASL2.0
|
||||
"third_party/apple_apsl" ;APSL2.0
|
||||
"third_party/axe-core" ;MPL2.0
|
||||
"third_party/blink" ;BSD-3, LGPL2+
|
||||
"third_party/boringssl" ;OpenSSL/ISC (Google additions are ISC)
|
||||
"third_party/boringssl/src/third_party/fiat" ;Expat
|
||||
"third_party/boringssl/src/third_party/sike" ;Expat
|
||||
;; XXX: these files are generated by fp-$arch.pl in the above directory.
|
||||
"third_party/boringssl/linux-aarch64/crypto/third_party/sike/asm/fp-armv8.S"
|
||||
"third_party/boringssl/linux-x86_64/crypto/third_party/sike/asm/fp-x86_64.S"
|
||||
"third_party/breakpad" ;BSD-3
|
||||
"third_party/brotli" ;Expat
|
||||
"third_party/cacheinvalidation" ;ASL2.0
|
||||
@@ -126,16 +120,12 @@
|
||||
"third_party/ced" ;BSD-3
|
||||
"third_party/cld_3" ;ASL2.0
|
||||
"third_party/crashpad" ;ASL2.0
|
||||
"third_party/crashpad/crashpad/third_party/lss" ;ASL2.0
|
||||
"third_party/crashpad/crashpad/third_party/zlib/zlib_crashpad.h" ;Zlib
|
||||
"third_party/crc32c" ;BSD-3
|
||||
"third_party/cros_system_api" ;BSD-3
|
||||
"third_party/dav1d" ;BSD-2
|
||||
"third_party/dawn" ;ASL2.0
|
||||
"third_party/dom_distiller_js" ;BSD-3
|
||||
"third_party/emoji-segmenter" ;ASL2.0
|
||||
"third_party/fips181" ;BSD-3
|
||||
"third_party/flatbuffers" ;ASL2.0
|
||||
"third_party/glslang" ;BSD-3, Expat, ASL2.0
|
||||
"third_party/google_input_tools" ;ASL2.0
|
||||
"third_party/google_input_tools/third_party/closure_library" ;ASL2.0
|
||||
"third_party/google_input_tools/third_party/closure_library/third_party/closure" ;Expat
|
||||
@@ -169,7 +159,6 @@
|
||||
"third_party/nasm" ;BSD-2
|
||||
"third_party/node" ;Expat
|
||||
"third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2" ;BSD-2
|
||||
"third_party/openscreen" ;BSD-3
|
||||
"third_party/ots" ;BSD-3
|
||||
"third_party/pdfium" ;BSD-3
|
||||
"third_party/pdfium/third_party/agg23" ;Expat
|
||||
@@ -177,7 +166,6 @@
|
||||
"third_party/pdfium/third_party/bigint" ;Public domain, BSD-3
|
||||
"third_party/pdfium/third_party/skia_shared" ;BSD-3
|
||||
"third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType
|
||||
"third_party/pffft" ;the "FFTPACK" license, similar to BSD-3
|
||||
"third_party/ply" ;BSD-3
|
||||
"third_party/polymer" ;BSD-3
|
||||
"third_party/protobuf" ;BSD-3
|
||||
@@ -188,10 +176,9 @@
|
||||
"third_party/s2cellid" ;ASL2.0
|
||||
"third_party/sfntly" ;ASL2.0
|
||||
"third_party/skia" ;BSD-3
|
||||
"third_party/skia/include/third_party/skcms" ;BSD-3
|
||||
"third_party/skia/third_party/gif" ;MPL1.1/GPL2+/LGPL2.1+
|
||||
"third_party/skia/third_party/skcms" ;BSD-3
|
||||
"third_party/skia/third_party/vulkanmemoryallocator" ;BSD-3, Expat
|
||||
"third_party/skia/third_party/vulkan" ;BSD-3
|
||||
"third_party/smhasher" ;Expat, public domain
|
||||
"third_party/speech-dispatcher" ;GPL2+
|
||||
"third_party/spirv-headers" ;ASL2.0
|
||||
@@ -200,8 +187,6 @@
|
||||
"third_party/ungoogled" ;BSD-3
|
||||
"third_party/usb_ids" ;BSD-3
|
||||
"third_party/usrsctp" ;BSD-2
|
||||
"third_party/wayland/wayland_scanner_wrapper.py" ;BSD-3
|
||||
"third_party/wayland-protocols" ;Expat
|
||||
"third_party/web-animations-js" ;ASL2.0
|
||||
"third_party/webdriver" ;ASL2.0
|
||||
"third_party/webrtc" ;BSD-3
|
||||
@@ -238,80 +223,54 @@ from forcing GEXP-PROMISE."
|
||||
#:system system
|
||||
#:guile-for-build guile)))
|
||||
|
||||
(define %chromium-version "76.0.3809.100")
|
||||
(define %ungoogled-revision "8eba5c0df1a318012e3deab39a9add252a0d56a3")
|
||||
(define %debian-revision "debian/76.0.3809.87-2")
|
||||
(define %chromium-version "73.0.3683.103")
|
||||
(define %ungoogled-revision "4c7fb6d1a86602999f30b58ef8b331b2115c5ad8")
|
||||
(define %debian-revision "debian/73.0.3683.75-1")
|
||||
(define package-revision "0")
|
||||
|
||||
(define %package-version (string-append %chromium-version "-"
|
||||
package-revision "."
|
||||
(string-take %ungoogled-revision 7)))
|
||||
|
||||
(define %chromium-origin
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://commondatastorage.googleapis.com"
|
||||
"/chromium-browser-official/chromium-"
|
||||
%chromium-version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vfjfxsqf8jrmd7y08ln1lpbilwi150875zn2bawwdq87vd3mncc"))))
|
||||
|
||||
(define %ungoogled-origin
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium")
|
||||
(commit %ungoogled-revision)))
|
||||
(file-name (git-file-name "ungoogled-chromium"
|
||||
(string-take %ungoogled-revision 7)))
|
||||
(sha256
|
||||
(base32
|
||||
"08fd9whfc1qky44xqxbypr7jz1rg6cma017wj4b5c5b14grxz6k6"))))
|
||||
|
||||
(define %debian-origin
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://salsa.debian.org/chromium-team/chromium.git")
|
||||
(commit %debian-revision)))
|
||||
(file-name (git-file-name "debian-chromium-packaging"
|
||||
(if (string-prefix? "debian/" %debian-revision)
|
||||
(cadr (string-split %debian-revision #\/))
|
||||
(string-take %debian-revision 7))))
|
||||
(sha256
|
||||
(base32
|
||||
"1fjhpzrxmgjr7i31li1vsfmp0qkbi0cpyc7p1zjwvf2x4da0v907"))))
|
||||
|
||||
(define (gentoo-patch name hash revision)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gitweb.gentoo.org/repo/gentoo.git/plain"
|
||||
"/www-client/chromium/files/" name "?id=" revision))
|
||||
(file-name name)
|
||||
(sha256 (base32 hash))))
|
||||
|
||||
(define-syntax-rule (gentoo-patches (name hash) ...)
|
||||
(list (gentoo-patch name hash "9fd80e7d75aa63843ec33c9d44fee32596ae8f25")
|
||||
...))
|
||||
|
||||
(define %auxiliary-patches
|
||||
;; XXX: Debians "gcc/wrong-namespace.patch" and "fixes/inspector.patch" does
|
||||
;; not work for us, so we take these upstream fixes via Gentoo instead.
|
||||
(gentoo-patches
|
||||
("chromium-76-quiche.patch" "1cs0y16jn7r1nxh0j36vqcsdvigl902kdcqfmyivnxgblrx66l2i")
|
||||
("chromium-76-gcc-blink-namespace1.patch"
|
||||
"0k7nrn0dhvqxj4sg2gndzxih0l1f77h6pv7jhcdz7h69sm4xci2z")
|
||||
("chromium-76-gcc-blink-namespace2.patch"
|
||||
"014y2d8ii9sr340sjbv1fhsjd5s3dl0vbmq5wzlkdjsp91dcn9ch")))
|
||||
|
||||
;; This is a "computed" origin that does the following:
|
||||
;; *) Runs the Ungoogled scripts on a pristine Chromium tarball.
|
||||
;; *) Applies Debians Chromium patches, for their unbundling and GCC work.
|
||||
;; *) Prunes all third_party directories that are not explicitly preserved.
|
||||
;; *) Adjusts "GN" build files such that system libraries are preferred.
|
||||
(define ungoogled-chromium-source
|
||||
(let ((chromium-source %chromium-origin)
|
||||
(ungoogled-source %ungoogled-origin)
|
||||
(debian-source %debian-origin))
|
||||
(let ((chromium-source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://commondatastorage.googleapis.com"
|
||||
"/chromium-browser-official/chromium-"
|
||||
%chromium-version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bskjr7yiwvdab1b5mp36y6964xqpgks6dqazm4qifwqvqcw80pb"))))
|
||||
(ungoogled-source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium")
|
||||
(commit %ungoogled-revision)))
|
||||
(file-name (git-file-name "ungoogled-chromium"
|
||||
(string-take %ungoogled-revision 7)))
|
||||
(sha256
|
||||
(base32
|
||||
"0njx505il07d237fzgbhciy78rz7h77r2ai5crbnsx2gdr9kpvd1"))))
|
||||
(debian-source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://salsa.debian.org/chromium-team/chromium.git")
|
||||
(commit %debian-revision)))
|
||||
(file-name (git-file-name "debian-chromium-packaging"
|
||||
(if (string-prefix? "debian/" %debian-revision)
|
||||
(cadr (string-split %debian-revision #\/))
|
||||
(string-take %debian-revision 7))))
|
||||
(sha256
|
||||
(base32
|
||||
"1pq0l3m7frf9ygxc1gva1191fxf3d1phaaqp7g3b70mgbabp0mxi")))))
|
||||
|
||||
(origin
|
||||
(method computed-origin-method)
|
||||
(file-name (string-append "ungoogled-chromium-" %package-version ".tar.xz"))
|
||||
@@ -343,12 +302,6 @@ from forcing GEXP-PROMISE."
|
||||
(force-output)
|
||||
(invoke "tar" "xf" #+chromium-source)
|
||||
|
||||
;; Ungoogled-Chromium contains a forked subset of the Debian
|
||||
;; patches. Disable those, as we apply newer versions later.
|
||||
(substitute* "patches/series"
|
||||
((".*/debian_buster/.*")
|
||||
""))
|
||||
|
||||
(format #t "Ungooglifying...~%")
|
||||
(force-output)
|
||||
(invoke "python3" "utils/prune_binaries.py" chromium-dir
|
||||
@@ -365,7 +318,16 @@ from forcing GEXP-PROMISE."
|
||||
(force-output)
|
||||
(let* ((debian #+debian-source)
|
||||
(patches (string-append debian "/debian/patches"))
|
||||
(series (string-append patches "/series")))
|
||||
(series (string-append patches "/series"))
|
||||
(grep-q (lambda (query file)
|
||||
(with-input-from-file file
|
||||
(lambda ()
|
||||
(let loop ((line (read-line))
|
||||
(match #f))
|
||||
(if (or match (eof-object? line))
|
||||
(if match #t #f)
|
||||
(loop (read-line)
|
||||
(string-contains line query)))))))))
|
||||
(with-input-from-file series
|
||||
(lambda ()
|
||||
(let loop ((line (read-line)))
|
||||
@@ -373,35 +335,19 @@ from forcing GEXP-PROMISE."
|
||||
(when (and (> (string-length line) 1)
|
||||
;; Skip the Debian-specific ones.
|
||||
(not (string-prefix? "debianization/" line))
|
||||
(not (string-prefix? "buster/" line))
|
||||
;; And those that conflict with Ungoogled.
|
||||
(not (any (cute string-suffix? <> line)
|
||||
'("widevine-buildflag.patch"
|
||||
"signin.patch"
|
||||
"third-party-cookies.patch"
|
||||
|
||||
;; XXX: 'fixes/inspector.patch'
|
||||
;; makes v8 reuse the top-level
|
||||
;; third_party/inspector_protocol
|
||||
;; instead of its own bundled copy,
|
||||
;; but that does not work here for
|
||||
;; some reason. Ignore that patch
|
||||
;; and those that depend on it.
|
||||
"wrong-namespace.patch"
|
||||
"explicit-specialization.patch"
|
||||
"inspector.patch"))))
|
||||
"third-party-cookies.patch")))
|
||||
;; Ungoogled includes a subset of the Debian
|
||||
;; patches. Exclude those already present.
|
||||
(not (grep-q line "../patches/series")))
|
||||
(invoke "patch" "--force" "-p1" "--input"
|
||||
(string-append patches "/" line)
|
||||
"--no-backup-if-mismatch"))
|
||||
(loop (read-line)))))))
|
||||
|
||||
(format #t "Applying Guix-specific patches...~%")
|
||||
(force-output)
|
||||
(for-each (lambda (patch)
|
||||
(invoke "patch" "--force" "-p1" "--input"
|
||||
patch "--no-backup-if-mismatch"))
|
||||
'#+%auxiliary-patches)
|
||||
|
||||
(format #t "Pruning third party files...~%")
|
||||
(force-output)
|
||||
(apply invoke "python"
|
||||
@@ -487,7 +433,6 @@ from forcing GEXP-PROMISE."
|
||||
"enable_reporting=false"
|
||||
"enable_service_discovery=false"
|
||||
"enable_swiftshader=false"
|
||||
"enable_vr=false"
|
||||
"enable_widevine=false"
|
||||
;; Disable type-checking for the Web UI to avoid a Java dependency.
|
||||
"closure_compile=false"
|
||||
@@ -500,14 +445,12 @@ from forcing GEXP-PROMISE."
|
||||
"is_clang=false"
|
||||
;; Disable debugging features to save space. These are normally
|
||||
;; pulled in by "is_official_build", but that requires "is_clang".
|
||||
"blink_symbol_level=0"
|
||||
"enable_iterator_debugging=false"
|
||||
"exclude_unwind_tables=true"
|
||||
;; Optimize for building everything at once, as opposed to
|
||||
;; incrementally for development. See "docs/jumbo.md".
|
||||
"use_jumbo_build=true"
|
||||
;; The default file merge limit of 50 requires huge amounts of RAM.
|
||||
;; Cap it to make sure the build succeeds on commodity hardware.
|
||||
"jumbo_file_merge_limit=8"
|
||||
|
||||
;; Prefer system libraries.
|
||||
"use_system_freetype=true"
|
||||
@@ -515,7 +458,6 @@ from forcing GEXP-PROMISE."
|
||||
"use_system_lcms2=true"
|
||||
"use_system_libdrm=true"
|
||||
"use_system_libjpeg=true"
|
||||
"use_system_libopenjpeg2=true"
|
||||
"use_system_libpng=true"
|
||||
"use_system_zlib=true"
|
||||
"use_gnome_keyring=false" ;deprecated by libsecret
|
||||
@@ -529,7 +471,7 @@ from forcing GEXP-PROMISE."
|
||||
'("use_vaapi=true")
|
||||
'())
|
||||
|
||||
;; Do not artifically restrict formats supported by system ffmpeg.
|
||||
;; Don't arbitrarily restrict formats supported by system ffmpeg.
|
||||
"proprietary_codecs=true"
|
||||
"ffmpeg_branding=\"Chrome\""
|
||||
|
||||
@@ -602,12 +544,12 @@ from forcing GEXP-PROMISE."
|
||||
(substitute* "third_party/webrtc/rtc_base/strings/json.h"
|
||||
(("#include \"third_party/jsoncpp/") "#include \"json/"))
|
||||
|
||||
(substitute* '("components/viz/common/gpu/vulkan_context_provider.h"
|
||||
(substitute* '("ui/gfx/skia_util.h"
|
||||
"components/viz/common/resources/resource_format_utils.h")
|
||||
(("third_party/vulkan/include/") ""))
|
||||
|
||||
(substitute* "third_party/skia/include/gpu/vk/GrVkVulkan.h"
|
||||
(("include/third_party/vulkan/") ""))
|
||||
(("\\.\\./\\.\\./include/third_party/vulkan/") ""))
|
||||
|
||||
;; Building chromedriver embeds some files using the ZIP
|
||||
;; format which doesn't support timestamps before
|
||||
@@ -628,9 +570,6 @@ from forcing GEXP-PROMISE."
|
||||
(setenv "AR" "ar") (setenv "NM" "nm")
|
||||
(setenv "CC" "gcc") (setenv "CXX" "g++")
|
||||
|
||||
;; Prevent GCC from optimizing away null pointer safety checks.
|
||||
(setenv "CXXFLAGS" "-fno-delete-null-pointer-checks")
|
||||
|
||||
;; Work around <https://bugs.gnu.org/30756>.
|
||||
(unsetenv "C_INCLUDE_PATH")
|
||||
(unsetenv "CPLUS_INCLUDE_PATH")
|
||||
@@ -656,11 +595,9 @@ from forcing GEXP-PROMISE."
|
||||
(format #t "Dumping configure flags...\n")
|
||||
(invoke "gn" "args" "out/Release" "--list"))))
|
||||
(replace 'build
|
||||
(lambda* (#:key (parallel-build? #t) #:allow-other-keys)
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(invoke "ninja" "-C" "out/Release"
|
||||
"-j" (if parallel-build?
|
||||
(number->string (parallel-job-count))
|
||||
"1")
|
||||
"-j" (number->string (parallel-job-count))
|
||||
"chrome"
|
||||
"chromedriver")))
|
||||
(replace 'install
|
||||
@@ -704,6 +641,12 @@ from forcing GEXP-PROMISE."
|
||||
(scandir "." (cut regexp-exec install-regexp <>)))
|
||||
(copy-file "chrome" (string-append lib "/chromium"))
|
||||
|
||||
;; TODO: Install icons from "../../chrome/app/themes" into
|
||||
;; "out/share/icons/hicolor/$size".
|
||||
(install-file
|
||||
"product_logo_48.png"
|
||||
(string-append out "/share/icons/48x48/chromium.png"))
|
||||
|
||||
(copy-recursively "locales" locales)
|
||||
(copy-recursively "resources" resources)
|
||||
|
||||
@@ -717,18 +660,8 @@ from forcing GEXP-PROMISE."
|
||||
(,(string-append lib ":" nss "/lib/nss:" mesa "/lib:"
|
||||
udev "/lib")))
|
||||
;; Avoid file manager crash. See <https://bugs.gnu.org/26593>.
|
||||
`("XDG_DATA_DIRS" ":" prefix (,(string-append gtk+ "/share")))))
|
||||
|
||||
(with-directory-excursion "chrome/app/theme/chromium"
|
||||
(for-each
|
||||
(lambda (size)
|
||||
(let ((icons (string-append out "/share/icons/hicolor/"
|
||||
size "x" size "/apps")))
|
||||
(mkdir-p icons)
|
||||
(copy-file (string-append "product_logo_" size ".png")
|
||||
(string-append icons "/chromium.png"))))
|
||||
'("22" "24" "48" "64" "128" "256")))
|
||||
#t))))))
|
||||
`("XDG_DATA_DIRS" ":" prefix (,(string-append gtk+ "/share"))))
|
||||
#t)))))))
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("gcc" ,gcc-8)
|
||||
@@ -762,11 +695,7 @@ from forcing GEXP-PROMISE."
|
||||
("glib" ,glib)
|
||||
("gtk+" ,gtk+)
|
||||
("harfbuzz" ,harfbuzz)
|
||||
|
||||
;; Build against ICU 64 to prevent a localization problem in version 75
|
||||
;; and later: <https://github.com/Eloston/ungoogled-chromium/issues/778>.
|
||||
("icu4c" ,icu4c-64)
|
||||
|
||||
("icu4c" ,icu4c)
|
||||
("jsoncpp" ,jsoncpp)
|
||||
("lcms" ,lcms)
|
||||
("libevent" ,libevent)
|
||||
@@ -807,11 +736,6 @@ from forcing GEXP-PROMISE."
|
||||
("udev" ,eudev)
|
||||
("valgrind" ,valgrind)
|
||||
("vulkan-headers" ,vulkan-headers)))
|
||||
|
||||
;; Building Chromium takes ... a very long time. On a single core, a busy
|
||||
;; mid-end x86 system may need more than 24 hours to complete the build.
|
||||
(properties '((timeout . 144000))) ;40 hours
|
||||
|
||||
(home-page "https://github.com/Eloston/ungoogled-chromium")
|
||||
(description
|
||||
"Ungoogled-Chromium is the Chromium web browser, with some functionality
|
||||
@@ -829,30 +753,3 @@ disabled in order to protect the users privacy.")
|
||||
(license:non-copyleft "chrome://credits"
|
||||
"See chrome://credits for more information.")
|
||||
license:lgpl2.1+))))
|
||||
|
||||
(define-public ungoogled-chromium/wayland
|
||||
(package/inherit ungoogled-chromium
|
||||
(name "ungoogled-chromium-wayland")
|
||||
(inputs
|
||||
`(("wayland" ,wayland)
|
||||
("wayland-protocols" ,wayland-protocols)
|
||||
;; Remove inputs only needed for X11.
|
||||
,@(fold alist-delete (package-inputs ungoogled-chromium)
|
||||
'("libx11" "libxcb" "libxcomposite" "libxcursor"
|
||||
"libxdamage" "libxext" "libxfixes" "libxi"
|
||||
"libxrender" "libxtst" "libxext" "libxrandr"
|
||||
"libxscrnsaver"))))
|
||||
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments ungoogled-chromium)
|
||||
((#:configure-flags flags)
|
||||
`(append (list "use_ozone=true"
|
||||
"ozone_platform_wayland=true"
|
||||
"ozone_auto_platforms=false"
|
||||
"use_xkbcommon=true"
|
||||
"use_system_minigbm=true"
|
||||
"use_system_libwayland=true"
|
||||
(string-append "system_wayland_scanner_path=\""
|
||||
(assoc-ref %build-inputs "wayland")
|
||||
"/bin/wayland-scanner\""))
|
||||
(delete "use_vaapi=true" ,flags)))))))
|
||||
|
||||
+142
-1
@@ -46,6 +46,147 @@
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public hydra
|
||||
(let ((commit "1ff48da3d3d4a425063f5b7dd0b89d35270f8932"))
|
||||
(package
|
||||
(name "hydra")
|
||||
(version (string-append "20151030." (string-take commit 7)))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/NixOS/hydra")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version))
|
||||
(patches (search-patches
|
||||
;; TODO: Remove once we have a darcs input
|
||||
"hydra-disable-darcs-test.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ni8i8v1nxxfr51rz8m6znwpbm77vr7i05k506hmgmg32r938lap"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)
|
||||
("pkg-config" ,pkg-config)
|
||||
;; For documentation
|
||||
("dblatex" ,dblatex)
|
||||
("xsltproc" ,libxslt)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
;; For bootstrap
|
||||
("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
;; For tests
|
||||
("git" ,git)
|
||||
("subversion" ,subversion)
|
||||
("mercurial" ,mercurial)
|
||||
("bazaar" ,bazaar)))
|
||||
(inputs
|
||||
`(("libpqxx" ,libpqxx)
|
||||
("perl" ,perl)
|
||||
("guile" ,guile-2.0)
|
||||
("openssl" ,openssl)
|
||||
("bzip2" ,bzip2)
|
||||
("gzip" ,gzip)
|
||||
("sed" ,sed)
|
||||
("starman" ,starman)
|
||||
("git" ,git)
|
||||
("subversion" ,subversion)
|
||||
("mercurial" ,mercurial)
|
||||
("bazaar" ,bazaar)
|
||||
("nix" ,nix)
|
||||
;; Lots o' perl modules...
|
||||
("perl-catalyst-action-rest" ,perl-catalyst-action-rest)
|
||||
("perl-catalyst-authentication-store-dbix-class"
|
||||
,perl-catalyst-authentication-store-dbix-class)
|
||||
("perl-catalyst-devel" ,perl-catalyst-devel)
|
||||
("perl-catalyst-dispatchtype-regex" ,perl-catalyst-dispatchtype-regex)
|
||||
("perl-catalyst-plugin-accesslog" ,perl-catalyst-plugin-accesslog)
|
||||
("perl-catalyst-plugin-authorization-roles"
|
||||
,perl-catalyst-plugin-authorization-roles)
|
||||
("perl-catalyst-plugin-captcha" ,perl-catalyst-plugin-captcha)
|
||||
("perl-catalyst-plugin-session-state-cookie"
|
||||
,perl-catalyst-plugin-session-state-cookie)
|
||||
("perl-catalyst-plugin-session-store-fastmmap"
|
||||
,perl-catalyst-plugin-session-store-fastmmap)
|
||||
("perl-catalyst-plugin-stacktrace" ,perl-catalyst-plugin-stacktrace)
|
||||
("perl-catalyst-traitfor-request-proxybase"
|
||||
,perl-catalyst-traitfor-request-proxybase)
|
||||
("perl-catalyst-view-download" ,perl-catalyst-view-download)
|
||||
("perl-catalyst-view-json" ,perl-catalyst-view-json)
|
||||
("perl-catalyst-view-tt" ,perl-catalyst-view-tt)
|
||||
("perl-catalystx-roleapplicator" ,perl-catalystx-roleapplicator)
|
||||
("perl-catalystx-script-server-starman"
|
||||
,perl-catalystx-script-server-starman)
|
||||
("perl-crypt-randpasswd" ,perl-crypt-randpasswd)
|
||||
("perl-data-dump" ,perl-data-dump)
|
||||
("perl-datetime" ,perl-datetime)
|
||||
("perl-dbd-pg" ,perl-dbd-pg)
|
||||
("perl-dbd-sqlite" ,perl-dbd-sqlite)
|
||||
("perl-digest-sha1" ,perl-digest-sha1)
|
||||
("perl-email-mime" ,perl-email-mime)
|
||||
("perl-email-sender" ,perl-email-sender)
|
||||
("perl-file-slurp" ,perl-file-slurp)
|
||||
("perl-io-compress" ,perl-io-compress)
|
||||
("perl-ipc-run" ,perl-ipc-run)
|
||||
("perl-json-any" ,perl-json-any)
|
||||
("perl-json-xs" ,perl-json-xs)
|
||||
("perl-libwww" ,perl-libwww)
|
||||
("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
|
||||
("perl-net-amazon-s3" ,perl-net-amazon-s3)
|
||||
("perl-net-statsd" ,perl-net-statsd)
|
||||
("perl-padwalker" ,perl-padwalker)
|
||||
("perl-readonly" ,perl-readonly)
|
||||
("perl-set-scalar" ,perl-set-scalar)
|
||||
("perl-sql-splitstatement" ,perl-sql-splitstatement)
|
||||
("perl-sys-hostname-long" ,perl-sys-hostname-long)
|
||||
("perl-text-diff" ,perl-text-diff)
|
||||
("perl-text-table" ,perl-text-table)
|
||||
("perl-xml-simple" ,perl-xml-simple)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(let ((docbook (assoc-ref %build-inputs "docbook-xsl")))
|
||||
(list (string-append "--with-docbook-xsl="
|
||||
docbook "/xml/xsl/docbook-xsl-"
|
||||
,(package-version docbook-xsl))
|
||||
(string-append "--docdir=" %output
|
||||
"/doc/hydra-" ,version)))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-before
|
||||
'check 'check-setup
|
||||
(lambda _ (setenv "LOGNAME" "test.log")))
|
||||
(add-after
|
||||
'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(wrap-program file
|
||||
`("PATH" ":" prefix
|
||||
(,(string-append out "/bin")
|
||||
,@(map (lambda (i)
|
||||
(string-append (assoc-ref inputs i)
|
||||
"/bin"))
|
||||
'("subversion" "git" "bazaar"
|
||||
"mercurial" "coreutils" "gzip"
|
||||
"sed" "unzip" "nix"))))
|
||||
`("PERL5LIB" ":" prefix
|
||||
(,(string-append out "/libexec/hydra/lib")
|
||||
,@(search-path-as-string->list
|
||||
(getenv "PERL5LIB"))))
|
||||
`("HYDRA_RELEASE" = (,,version))
|
||||
`("HYDRA_HOME" =
|
||||
(,(string-append out "/libexec/hydra")))
|
||||
`("NIX_RELEASE" = (,,(package-version nix)))))
|
||||
(find-files (string-append out "/bin")
|
||||
".*"))))))))
|
||||
(home-page "https://nixos.org/hydra")
|
||||
(synopsis "Continuous build system")
|
||||
(description
|
||||
"Hydra is a tool for continuous integration testing and software
|
||||
release that uses a purely functional language to describe build jobs and
|
||||
their dependencies.")
|
||||
(license l:gpl3+))))
|
||||
|
||||
(define-public cuirass
|
||||
(let ((commit "0b40dca734468e8b12b3ff58e3e779679f17d38e")
|
||||
(revision "21"))
|
||||
@@ -121,7 +262,7 @@
|
||||
`(("guile" ,guile-2.2)
|
||||
("guile-fibers" ,guile-fibers)
|
||||
("guile-gcrypt" ,guile-gcrypt)
|
||||
("guile-json" ,guile-json-1)
|
||||
("guile-json" ,guile-json)
|
||||
("guile-sqlite3" ,guile-sqlite3)
|
||||
("guile-git" ,guile-git)
|
||||
;; FIXME: this is propagated by "guile-git", but it needs to be among
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages tls))
|
||||
|
||||
|
||||
@@ -212,16 +212,16 @@ COCOMO model or user-provided parameters.")
|
||||
(define-public cloc
|
||||
(package
|
||||
(name "cloc")
|
||||
(version "1.82")
|
||||
(version "1.80")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/AlDanial/cloc.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/AlDanial/cloc/releases/download/v" version
|
||||
"/cloc-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0fsz07z0slfg58512fmnlj8pnxkc360bgf7fclg60v9clvcjbjsw"))))
|
||||
(base32
|
||||
"0rqxnaskg5b736asyzfda1113zvpkajyqjf49vl9wgzf1r9m6bq8"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("coreutils" ,coreutils)
|
||||
@@ -541,7 +541,7 @@ independent targets.")
|
||||
(define-public uncrustify
|
||||
(package
|
||||
(name "uncrustify")
|
||||
(version "0.69.0")
|
||||
(version "0.68.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -550,7 +550,7 @@ independent targets.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0sqrg13kp8fwymq40976bq380bzw40g4ss7ihlbq45d0f90ifa1k"))))
|
||||
"0gf6vjcfy8pl7idvwsd500ffj9hri62q0n79kpb6cnfprrqpbgf4"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)
|
||||
|
||||
@@ -54,8 +54,7 @@
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 vlist)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 regex)
|
||||
#:export (make-gcc-toolchain))
|
||||
#:use-module (ice-9 regex))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
@@ -1015,65 +1014,55 @@ COREUTILS-FINAL vs. COREUTILS, etc."
|
||||
;;; GCC toolchain.
|
||||
;;;
|
||||
|
||||
;; Using the following procedure, a gcc toolchain targeting glibc-2.27 can be
|
||||
;; instantiated like this:
|
||||
;;
|
||||
;; (define-public gcc-glibc-2.27-toolchain
|
||||
;; (make-gcc-toolchain gcc glibc-2.27))
|
||||
(define (make-gcc-toolchain gcc)
|
||||
"Return a complete toolchain for GCC."
|
||||
(package
|
||||
(name "gcc-toolchain")
|
||||
(version (package-version gcc))
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
'(#:modules ((guix build union))
|
||||
#:builder (begin
|
||||
(use-modules (ice-9 match)
|
||||
(srfi srfi-26)
|
||||
(guix build union))
|
||||
|
||||
(define* (make-gcc-toolchain gcc
|
||||
#:optional
|
||||
(libc #f))
|
||||
"Return a complete toolchain for GCC. If LIBC is specified, target that libc."
|
||||
(let ((gcc (if libc (make-gcc-libc gcc libc) gcc))
|
||||
(libc (if libc libc glibc-final)))
|
||||
(package
|
||||
(name (string-append (package-name gcc) "-toolchain"))
|
||||
(version (package-version gcc))
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
'(#:modules ((guix build union))
|
||||
#:builder (begin
|
||||
(use-modules (ice-9 match)
|
||||
(srfi srfi-26)
|
||||
(guix build union))
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(match %build-inputs
|
||||
(((names . directories) ...)
|
||||
(union-build out directories)))
|
||||
|
||||
(match %build-inputs
|
||||
(((names . directories) ...)
|
||||
(union-build out directories)))
|
||||
(union-build (assoc-ref %outputs "debug")
|
||||
(list (assoc-ref %build-inputs
|
||||
"libc-debug")))
|
||||
(union-build (assoc-ref %outputs "static")
|
||||
(list (assoc-ref %build-inputs
|
||||
"libc-static")))
|
||||
#t))))
|
||||
|
||||
(union-build (assoc-ref %outputs "debug")
|
||||
(list (assoc-ref %build-inputs
|
||||
"libc-debug")))
|
||||
(union-build (assoc-ref %outputs "static")
|
||||
(list (assoc-ref %build-inputs
|
||||
"libc-static")))
|
||||
#t))))
|
||||
(native-search-paths (package-native-search-paths gcc))
|
||||
(search-paths (package-search-paths gcc))
|
||||
|
||||
(native-search-paths (package-native-search-paths gcc))
|
||||
(search-paths (package-search-paths gcc))
|
||||
(license (package-license gcc))
|
||||
(synopsis "Complete GCC tool chain for C/C++ development")
|
||||
(description
|
||||
"This package provides a complete GCC tool chain for C/C++ development to
|
||||
be installed in user profiles. This includes GCC, as well as libc (headers
|
||||
and binaries, plus debugging symbols in the @code{debug} output), and Binutils.")
|
||||
(home-page "https://gcc.gnu.org/")
|
||||
(outputs '("out" "debug" "static"))
|
||||
|
||||
(license (package-license gcc))
|
||||
(synopsis "Complete GCC tool chain for C/C++ development")
|
||||
(description
|
||||
"This package provides a complete GCC tool chain for C/C++ development to
|
||||
be installed in user profiles. This includes GCC, as well as libc (headers
|
||||
an d binaries, plus debugging symbols in the @code{debug} output), and Binutils.")
|
||||
(home-page "https://gcc.gnu.org/")
|
||||
(outputs '("out" "debug" "static"))
|
||||
|
||||
;; The main raison d'être of this "meta-package" is (1) to conveniently
|
||||
;; install everything that we need, and (2) to make sure ld-wrapper comes
|
||||
;; before Binutils' ld in the user's profile.
|
||||
(inputs `(("gcc" ,gcc)
|
||||
("ld-wrapper" ,(car (assoc-ref %final-inputs "ld-wrapper")))
|
||||
("binutils" ,binutils-final)
|
||||
("libc" ,libc)
|
||||
("libc-debug" ,libc "debug")
|
||||
("libc-static" ,libc "static"))))))
|
||||
;; The main raison d'être of this "meta-package" is (1) to conveniently
|
||||
;; install everything that we need, and (2) to make sure ld-wrapper comes
|
||||
;; before Binutils' ld in the user's profile.
|
||||
(inputs `(("gcc" ,gcc)
|
||||
("ld-wrapper" ,(car (assoc-ref %final-inputs "ld-wrapper")))
|
||||
("binutils" ,binutils-final)
|
||||
("libc" ,glibc-final)
|
||||
("libc-debug" ,glibc-final "debug")
|
||||
("libc-static" ,glibc-final "static")))))
|
||||
|
||||
(define-public gcc-toolchain-4.8
|
||||
(make-gcc-toolchain gcc-4.8))
|
||||
@@ -1096,7 +1085,4 @@ an d binaries, plus debugging symbols in the @code{debug} output), and Binutils
|
||||
(define-public gcc-toolchain-8
|
||||
(make-gcc-toolchain gcc-8))
|
||||
|
||||
(define-public gcc-toolchain-9
|
||||
(make-gcc-toolchain gcc-9))
|
||||
|
||||
;;; commencement.scm ends here
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
@@ -13,7 +13,7 @@
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2016, 2019 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2016, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2016, 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 ng0 <ng0@n0.is>
|
||||
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
|
||||
@@ -23,7 +23,6 @@
|
||||
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -56,13 +55,11 @@
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages valgrind)
|
||||
#:use-module (ice-9 match)
|
||||
@@ -131,16 +128,7 @@ in compression.")
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enter-source
|
||||
(lambda _ (chdir "contrib/minizip") #t))
|
||||
(add-after 'install 'remove-crypt-h
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Remove <minizip/crypt.h> because it interferes with libc's
|
||||
;; <crypt.h> given that 'minizip.pc' says "-I…/include/minizip".
|
||||
;; Fedora does the same:
|
||||
;; <https://src.fedoraproject.org/rpms/zlib/c/4d2785ec3116947872f6f32dc4104e6d36d8a7a4?branch=master>.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(delete-file (string-append out "/include/minizip/crypt.h"))
|
||||
#t))))))
|
||||
(lambda _ (chdir "contrib/minizip") #t)))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
@@ -1363,50 +1351,22 @@ or junctions, and always follows hard links.")
|
||||
(define-public zstd
|
||||
(package
|
||||
(name "zstd")
|
||||
(version "1.4.2")
|
||||
(version "1.3.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/facebook/zstd/releases/download/"
|
||||
"v" version "/zstd-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1ja3nrjynmiwwdjrf6crraizkbagp7y414bqqq2ady91nn1hjwqj"))))
|
||||
(base32 "13nlsqhkn276frxrzjdn7wz0j9zz414lf336885ykyxcvw2a0gr9"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" ;1.1MiB executables and documentation
|
||||
"lib" ;1MiB shared library and headers
|
||||
"static")) ;1MiB static library
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ;no configure script
|
||||
(add-after 'install 'adjust-library-locations
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (assoc-ref outputs "lib"))
|
||||
(static (assoc-ref outputs "static"))
|
||||
(shared-libs (string-append lib "/lib"))
|
||||
(static-libs (string-append static "/lib")))
|
||||
;; Move the static library to its own output to save ~1MiB.
|
||||
(mkdir-p static-libs)
|
||||
(for-each (lambda (ar)
|
||||
(link ar (string-append static-libs "/"
|
||||
(basename ar)))
|
||||
(delete-file ar))
|
||||
(find-files shared-libs "\\.a$"))
|
||||
|
||||
;; While here, remove prefix= from the pkg-config file because it
|
||||
;; is unused, and because it contains a needless reference to $out.
|
||||
;; XXX: It would be great if #:disallow-references worked between
|
||||
;; outputs.
|
||||
(substitute* (string-append shared-libs "/pkgconfig/libzstd.pc")
|
||||
(("^prefix=.*") ""))
|
||||
|
||||
#t))))
|
||||
(delete 'configure)) ; no configure script
|
||||
#:make-flags
|
||||
(list "CC=gcc"
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
(string-append "LIBDIR=" (assoc-ref %outputs "lib") "/lib")
|
||||
(string-append "INCLUDEDIR=" (assoc-ref %outputs "lib") "/include")
|
||||
;; Skip auto-detection of, and creating a dependency on, the build
|
||||
;; environment's ‘xz’ for what amounts to a dubious feature anyway.
|
||||
"HAVE_LZMA=0"
|
||||
@@ -1917,40 +1877,3 @@ compressor. UPX typically reduces the file size of programs and shared
|
||||
libraries by around 50%--70%, thus reducing disk space, network load times,
|
||||
download times, and other distribution and storage costs.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public quazip
|
||||
(package
|
||||
(name "quazip")
|
||||
(version "0.8.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/stachenov/quazip.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1g473gnsbkvxpsv8lbsmhspn7jnq86b05zzgqh11r581v8ndvz5s"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ;no test
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)))
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://stachenov.github.io/quazip/index.html")
|
||||
(synopsis "Qt/C++ wrapper for Minizip")
|
||||
(description "QuaZIP is a simple C++ wrapper over Gilles Vollant's
|
||||
ZIP/UNZIP package that can be used to access ZIP archives. It uses
|
||||
Trolltech's Qt toolkit.
|
||||
|
||||
QuaZIP allows you to access files inside ZIP archives using QIODevice
|
||||
API, and that means that you can also use QTextStream, QDataStream or
|
||||
whatever you would like to use on your zipped files.
|
||||
|
||||
QuaZIP provides complete abstraction of the ZIP/UNZIP API, for both
|
||||
reading from and writing to ZIP archives. ")
|
||||
;; Project is distributed under LGPL, but "quazip/z*" "quazip/unzip.*" are
|
||||
;; distributed under zlib terms.
|
||||
(license (list license:lgpl2.1+ license:zlib))))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
@@ -160,22 +160,13 @@ sharing) to clients via USB, ethernet, WiFi, cellular and Bluetooth.")
|
||||
(invoke "qmake"
|
||||
(string-append "PREFIX="
|
||||
(assoc-ref outputs "out")))))
|
||||
(add-before 'build 'fix-Makefiles
|
||||
(add-before 'install 'fix-Makefiles
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* (find-files "." "Makefile")
|
||||
(("INSTALL_ROOT)")
|
||||
(string-append "INSTALL_ROOT)" out))
|
||||
(("/usr") ""))
|
||||
(substitute* '("apps/cmstapp/cmstapp.pro"
|
||||
"apps/cmstapp/code/control_box/controlbox.cpp"
|
||||
"apps/rootapp/rootapp.pro"
|
||||
"apps/rootapp/system/org.cmst.roothelper.service"
|
||||
"cmst.pri"
|
||||
"cmst.pro")
|
||||
(("/usr") out)
|
||||
(("/etc") (string-append out "/etc")))
|
||||
#t))))))
|
||||
(("/usr/bin") "/bin"))))))))
|
||||
(home-page "https://github.com/andrew-bibb/cmst")
|
||||
(synopsis "Qt frontend for Connman")
|
||||
(description
|
||||
|
||||
+16
-76
@@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Dan Frumin <dfrumin@cs.ru.nl>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@@ -25,7 +25,6 @@
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages perl)
|
||||
@@ -43,7 +42,7 @@
|
||||
(define-public coq
|
||||
(package
|
||||
(name "coq")
|
||||
(version "8.9.1")
|
||||
(version "8.8.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -52,7 +51,7 @@
|
||||
(commit (string-append "V" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1p4z967s18wkblayv12ygqsrqlyk5ax1pz40yf4kag8pva6gblhk"))))
|
||||
(base32 "03v8b57mz3ivsijwxy51avzwiyhla5ijaf98a5a2q29yabdq8dkp"))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "COQPATH")
|
||||
@@ -63,8 +62,6 @@
|
||||
("python" ,python-2)
|
||||
("camlp5" ,camlp5)
|
||||
("ocaml-num" ,ocaml-num)))
|
||||
(native-inputs
|
||||
`(("ocaml-ounit" ,ocaml-ounit)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
@@ -234,14 +231,14 @@ inside Coq.")
|
||||
(define-public coq-gappa
|
||||
(package
|
||||
(name "coq-gappa")
|
||||
(version "1.3.4")
|
||||
(version "1.3.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gforge.inria.fr/frs/download.php/file/37918/gappa-"
|
||||
(uri (string-append "https://gforge.inria.fr/frs/download.php/file/36397/gappa-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wdg07dk4lbq7dr80ywzna0lclwgi8bddzc6yfx19z1zn9yljzxh"))))
|
||||
"19kg2zldaqs4smy7bv9hp650sqg46xbx1ss7jnyagpxdscwn9apd"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("ocaml" ,ocaml)
|
||||
@@ -256,8 +253,7 @@ inside Coq.")
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--libdir=" (assoc-ref %outputs "out")
|
||||
"/lib/coq/user-contrib/Gappa")
|
||||
"CXXFLAGS=-std=c++11")
|
||||
"/lib/coq/user-contrib/Gappa"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'fix-remake
|
||||
@@ -285,7 +281,7 @@ assistant.")
|
||||
(define-public coq-mathcomp
|
||||
(package
|
||||
(name "coq-mathcomp")
|
||||
(version "1.8.0")
|
||||
(version "1.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -294,7 +290,7 @@ assistant.")
|
||||
(commit (string-append "mathcomp-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1sdrw3b6lc8crz02lp90a863rvyzhc9vcfsrdvc9m311yiaad4xv"))))
|
||||
(base32 "1cdzi67jj440xkdpxm10aly80zpn56vjzj2ygb67iq3xpljlv95h"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("ocaml" ,ocaml)
|
||||
@@ -376,7 +372,7 @@ theorems between the two libraries.")
|
||||
(define-public coq-bignums
|
||||
(package
|
||||
(name "coq-bignums")
|
||||
(version "8.9.0")
|
||||
(version "8.8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/coq/bignums/archive/V"
|
||||
@@ -384,7 +380,7 @@ theorems between the two libraries.")
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pmk9smw7a14wrfkvjlvmpxim4bsv6xnm5xkrlld2faqy74a044g"))))
|
||||
"08m1cmq4hkaf4sb0vy978c11rgzvds71cphyadmr2iirpr5815r0"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("ocaml" ,ocaml)
|
||||
@@ -454,7 +450,7 @@ Coq proof assistant.")
|
||||
;; Latest commit on that branch, where work on supporting coq 8.6 and
|
||||
;; more recent versions of coq happen.
|
||||
(let ((branch "coq86-devel")
|
||||
(commit "fa6ef30664511ffa659cbcf3c962715cbee03572"))
|
||||
(commit "d0d73557979796b3d4be7aac72135581c33f26f7"))
|
||||
(package
|
||||
(name "coq-autosubst")
|
||||
(version (git-version "1" branch commit))
|
||||
@@ -465,7 +461,7 @@ Coq proof assistant.")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1cl0bp96bk6lplbl7n5c703vd3gvbs5mvf2qrf8q333kkqd7jqq4"))))
|
||||
(base32 "1852xb5cwkjw3dlc0lp2sakwa40bjzw37qmwz4bn3vqazg1hnh6r"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
@@ -499,16 +495,16 @@ uses Ltac to synthesize the substitution operation.")
|
||||
(define-public coq-equations
|
||||
(package
|
||||
(name "coq-equations")
|
||||
(version "1.2")
|
||||
(version "1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mattam82/Coq-Equations.git")
|
||||
(commit (string-append "v" version "-8.9"))))
|
||||
(commit (string-append "v" version "-8.8"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1q3wvicr43bgy7xn1diwh4j43mnrhprrc2xd22qlbz9cl6bhf8bj"))))
|
||||
"129rxsdsf88vjcw0xhm74yax1hmnk6f8n9ksg0hcyyjq1ijddiwa"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("ocaml" ,ocaml)
|
||||
@@ -536,59 +532,3 @@ compiles everything down to eliminators for inductive types, equality
|
||||
and accessibility, providing a definitional extension to the Coq
|
||||
kernel.")
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public coq-stdpp
|
||||
(package
|
||||
(name "coq-stdpp")
|
||||
(version "1.2.0")
|
||||
(synopsis "Alternative Coq standard library std++")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.mpi-sws.org/iris/stdpp.git")
|
||||
(commit (string-append "coq-stdpp-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "11m7kqxsbxygk41v2wsi3npdzwin9fcnzc1gn0gq0rd57wnqk83i"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("coq" ,coq)))
|
||||
(arguments
|
||||
`(#:tests? #f ;; the tests are being run automaticlly as part of `make all`
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(setenv "COQLIB" (string-append (assoc-ref outputs "out") "/lib/coq/"))
|
||||
(invoke "make"
|
||||
(string-append "COQLIB=" (assoc-ref outputs "out")
|
||||
"/lib/coq/")
|
||||
"install"))))))
|
||||
(description "This project contains an extended \"Standard Library\" for
|
||||
Coq called coq-std++. The key features are:
|
||||
@itemize
|
||||
@item Great number of definitions and lemmas for common data structures such
|
||||
as lists, finite maps, finite sets, and finite multisets.
|
||||
|
||||
@item Type classes for common notations (like ∅, ∪, and Haskell-style monad
|
||||
notations) so that these can be overloaded for different data structures.
|
||||
|
||||
@item It uses type classes to keep track of common properties of types, like
|
||||
it having decidable equality or being countable or finite.
|
||||
|
||||
@item Most data structures are represented in canonical ways so that Leibniz
|
||||
equality can be used as much as possible (for example, for maps we have m1 =
|
||||
m2 iff ∀ i, m1 !! i = m2 !! i). On top of that, the library provides setoid
|
||||
instances for most types and operations.
|
||||
|
||||
@item Various tactics for common tasks, like an ssreflect inspired done tactic
|
||||
for finishing trivial goals, a simple breadth-first solver naive_solver, an
|
||||
equality simplifier simplify_eq, a solver solve_proper for proving
|
||||
compatibility of functions with respect to relations, and a solver set_solver
|
||||
for goals involving set operations.
|
||||
|
||||
@item The library is dependency- and axiom-free.
|
||||
@end itemize")
|
||||
(home-page "https://gitlab.mpi-sws.org/iris/stdpp")
|
||||
(license license:bsd-3)))
|
||||
|
||||
+25
-28
@@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
|
||||
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
@@ -108,19 +108,17 @@ operating system functions.")
|
||||
(package
|
||||
(name "dashel")
|
||||
(version "1.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aseba-community/dashel.git")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "0anks2l2i2qp0wlzqck1qgpq15a3l6dg8lw2h8s4nsj7f61lffwy"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments '(#:tests? #f)) ; no tests
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/aseba-community/dashel")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append home-page "/archive/" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ckzac1rsw3cxmpdpwcqv46jyp7risk5ybq6jjiizbqn7labf6dw"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments '(#:tests? #f)) ;no tests
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(synopsis "Data stream helper encapsulation library")
|
||||
(description
|
||||
"Dashel is a data stream helper encapsulation C++ library. It provides a
|
||||
@@ -132,23 +130,22 @@ combination of these streams.")
|
||||
(define-public xsimd
|
||||
(package
|
||||
(name "xsimd")
|
||||
(version "7.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/QuantStack/xsimd.git")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "1ny2qin1j4h35mljivh8z52kwdyjxf4yxlzb8j52ji91v2ccc88j"))
|
||||
(file-name (git-file-name name version))))
|
||||
(version "4.1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/QuantStack/xsimd/archive/"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0x05l4xpqr9b66sm6lkf48n6x7999ks921x6k2hzkkg6mh3gqd46"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(home-page "https://github.com/QuantStack/xsimd")
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DBUILD_TESTS=ON")
|
||||
#:test-target "xtest"))
|
||||
`(#:test-target "xtest"))
|
||||
(native-inputs
|
||||
`(("googletest" ,googletest)))
|
||||
(home-page "https://github.com/QuantStack/xsimd")
|
||||
(synopsis "C++ wrappers for SIMD intrinsics and math implementations")
|
||||
(description "xsimd provides a unified means for using SIMD features for
|
||||
library authors. Namely, it enables manipulation of batches of numbers with
|
||||
@@ -246,7 +243,7 @@ intuitive syntax and trivial integration.")
|
||||
(define-public xtl
|
||||
(package
|
||||
(name "xtl")
|
||||
(version "0.6.4")
|
||||
(version "0.4.14")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
@@ -255,7 +252,7 @@ intuitive syntax and trivial integration.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0rwdw43fq7c581m6frzsd06h71sf7abk7danwa3cp6wd6cgkwdbk"))
|
||||
"0wwnd9adc1wav2299id17k5fbp0ib5gxkbihlk6jlh3v4i5nz11x"))
|
||||
(file-name (git-file-name name version))))
|
||||
(native-inputs
|
||||
`(("googletest" ,googletest)
|
||||
|
||||
+284
-1354
File diff suppressed because it is too large
Load Diff
@@ -1,952 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
|
||||
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; 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 crates-io)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages))
|
||||
|
||||
;;;
|
||||
;;; Please: Try to add new module packages in alphabetic order.
|
||||
;;;
|
||||
|
||||
(define-public rust-autocfg
|
||||
(package
|
||||
(name "rust-autocfg")
|
||||
(version "0.1.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "autocfg" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0asl6fnc35yk5l2rxwhp25v128jgm45dp754h9z8x51b6n90w4r2"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/cuviper/autocfg")
|
||||
(synopsis "Automatic cfg for Rust compiler features")
|
||||
(description "Rust library for build scripts to automatically configure
|
||||
code based on compiler support. Code snippets are dynamically tested to see
|
||||
if the @code{rustc} will accept them, rather than hard-coding specific version
|
||||
support.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-bencher
|
||||
(package
|
||||
(name "rust-bencher")
|
||||
(version "0.1.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "bencher" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1x8p2xblgqssay8cdykp5pkfc0np0jk5bs5cx4f5av097aav9zbx"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/bluss/bencher/")
|
||||
(synopsis "Port of the libtest benchmark runner to Rust stable")
|
||||
(description "This package provides a port of the libtest (unstable Rust)
|
||||
benchmark runner to Rust stable releases. Supports running benchmarks and
|
||||
filtering based on the name. Benchmark execution works exactly the same way
|
||||
and no more (caveat: black_box is still missing!).")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-bitflags
|
||||
(package
|
||||
(name "rust-bitflags")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "bitflags" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zc1qb1hwsnl2d8rhzicsv9kqd5b2hwbrscrcfw5as4sfr35659x"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/bitflags/bitflags")
|
||||
(synopsis "Macro to generate structures which behave like bitflags")
|
||||
(description "This package provides a macro to generate structures which
|
||||
behave like a set of bitflags.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-cfg-if
|
||||
(package
|
||||
(name "rust-cfg-if")
|
||||
(version "0.1.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cfg-if" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0csygklgz3ybpr0670rkip49zh76m43ar3k7xgypkzbzrwycx1ml"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/alexcrichton/cfg-if")
|
||||
(synopsis "Define an item depending on parameters")
|
||||
(description "This package provides a macro to ergonomically define an item
|
||||
depending on a large number of #[cfg] parameters. Structured like an
|
||||
@code{if-else} chain, the first matching branch is the item that gets emitted.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-discard
|
||||
(package
|
||||
(name "rust-discard")
|
||||
(version "1.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "discard" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1h67ni5bxvg95s91wgicily4ix7lcw7cq0a5gy9njrybaibhyb91"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/Pauan/rust-discard")
|
||||
(synopsis "Allow for intentionally leaking memory")
|
||||
(description "There are situations where you need to intentionally leak some
|
||||
memory but not other memory. This package provides a discard trait which allows
|
||||
for intentionally leaking memory")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-doc-comment
|
||||
(package
|
||||
(name "rust-doc-comment")
|
||||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "doc-comment" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15rsqxgarfpb1yim9sbp9yfgj7p2dq6v51c6bq1a62paii9ylgcj"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/GuillaumeGomez/doc-comment")
|
||||
(synopsis "Macro to generate doc comments")
|
||||
(description "This package provides a way to generate doc comments
|
||||
from macros.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-dtoa
|
||||
(package
|
||||
(name "rust-dtoa")
|
||||
(version "0.4.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "dtoa" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0phbm7i0dpn44gzi07683zxaicjap5064w62pidci4fhhciv8mza"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/dtolnay/dtoa")
|
||||
(synopsis "Fast functions for printing floating-point primitives")
|
||||
(description "This crate provides fast functions for printing
|
||||
floating-point primitives to an @code{io::Write}.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-fallible-iterator
|
||||
(package
|
||||
(name "rust-fallible-iterator")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "fallible-iterator" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xq759lsr8gqss7hva42azn3whgrbrs2sd9xpn92c5ickxm1fhs4"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/sfackler/rust-fallible-iterator")
|
||||
(synopsis "Fallible iterator traits")
|
||||
(description "If the @code{std} or @code{alloc} features are enabled, this
|
||||
crate provides implementations for @code{Box}, @code{Vec}, @code{BTreeMap}, and
|
||||
@code{BTreeSet}. If the @code{std} feature is enabled, this crate additionally
|
||||
provides implementations for @code{HashMap} and @code{HashSet}.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-fnv
|
||||
(package
|
||||
(name "rust-fnv")
|
||||
(version "1.0.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "fnv" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ww56bi1r5b8id3ns9j3qxbi7w5h005rzhiryy0zi9h97raqbb9g"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/servo/rust-fnv")
|
||||
(synopsis "implementation of the Fowler-Noll-Vo hash function")
|
||||
(description "The @code{fnv} hash function is a custom @code{Hasher}
|
||||
implementation that is more efficient for smaller hash keys.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-fs-extra
|
||||
(package
|
||||
(name "rust-fs-extra")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "fs_extra" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0x6675wdhsx277k1k1235jwcv38naf20d8kwrk948ds26hh4lajz"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/webdesus/fs_extra")
|
||||
(synopsis "Extra filesystem methods")
|
||||
(description "Expanding opportunities standard library @code{std::fs} and
|
||||
@code{std::io}. Recursively copy folders with recept information about
|
||||
process and much more.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-futures
|
||||
(package
|
||||
(name "rust-futures")
|
||||
(version "0.1.28")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "futures" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0saq8ffjw1pwf1pzhw3kq1z7dfq6wpd8x93dnni6vbkc799kkp25"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/rust-lang-nursery/futures-rs")
|
||||
(synopsis "Implementation of zero-cost futures in Rust")
|
||||
(description "An implementation of @code{futures} and @code{streams}
|
||||
featuring zero allocations, composability, and iterator-like interfaces.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-hex
|
||||
(package
|
||||
(name "rust-hex")
|
||||
(version "0.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "hex" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xsdcjiik5j750j67zk42qdnmm4ahirk3gmkmcqgq7qls2jjcl40"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/KokaKiwi/rust-hex")
|
||||
(synopsis "Encode and decode data to/from hexadecimals")
|
||||
(description "This crate allows for encoding and decoding data into/from
|
||||
hexadecimal representation.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-itoa
|
||||
(package
|
||||
(name "rust-itoa")
|
||||
(version "0.4.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "itoa" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zvg2d9qv3avhf3d8ggglh6fdyw8kkwqg3r4622ly5yhxnvnc4jh"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/dtolnay/itoa")
|
||||
(synopsis "Fast functions for printing integer primitives")
|
||||
(description "This crate provides fast functions for printing integer
|
||||
primitives to an @code{io::Write}.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-json
|
||||
(package
|
||||
(name "rust-json")
|
||||
(version "0.11.14")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "json" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hj8c6xj5c2aqqszi8naaflmcdbya1i9byyjrq4iybxjb4q91mq1"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/maciejhirsz/json-rust")
|
||||
(synopsis "JSON implementation in Rust")
|
||||
(description "This crate provides a JSON implementation in Rust, reducing
|
||||
friction with idiomatic Rust structs to ease interopability.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-maplit
|
||||
(package
|
||||
(name "rust-maplit")
|
||||
(version "1.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "maplit" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hsczmvd6zkqgzqdjp5hfyg7f339n68w83n4pxvnsszrzssbdjq8"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/bluss/maplit")
|
||||
(synopsis "Collection of Map macros")
|
||||
(description "This crate provides a collection of @code{literal} macros for
|
||||
@code{HashMap}, @code{HashSet}, @code{BTreeMap}, and @code{BTreeSet.}")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-matches
|
||||
(package
|
||||
(name "rust-matches")
|
||||
(version "0.1.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "matches" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"020axl4q7rk9vz90phs7f8jas4imxal9y9kxl4z4v7a6719mrz3z"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/SimonSapin/rust-std-candidates")
|
||||
(synopsis "Macro to evaluate whether an expression matches a pattern.")
|
||||
(description "This package provides a macro to evaluate, as a boolean,
|
||||
whether an expression matches a pattern.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-md5
|
||||
(package
|
||||
(name "rust-md5")
|
||||
(version "0.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "md5" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17b2xm4h4cvxsdjsf3kdrzqv2za60kak961xzi5kmw6g6djcssvy"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/stainless-steel/md5")
|
||||
(synopsis "MD5 hash function in Rust")
|
||||
(description "The package provides the MD5 hash function.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-peeking-take-while
|
||||
(package
|
||||
(name "rust-peeking-take-while")
|
||||
(version "0.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "peeking_take_while" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16bhqr6rdyrp12zv381cxaaqqd0pwysvm1q8h2ygihvypvfprc8r"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/fitzgen/peeking_take_while")
|
||||
(synopsis "Provides the peeking_take_while iterator adaptor method")
|
||||
(description
|
||||
"Like @code{Iterator::take_while}, but calls the predicate on a peeked
|
||||
value. This allows you to use @code{Iterator::by_ref} and
|
||||
@code{Iterator::take_while} together, and still get the first value for which
|
||||
the @code{take_while} predicate returned false after dropping the @code{by_ref}.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-percent-encoding
|
||||
(package
|
||||
(name "rust-percent-encoding")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "percent-encoding" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0m6rkp3iy11la04p6z3492rns6n693pvmx585dvfmzzlzak2hkxs"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/servo/rust-url/")
|
||||
(synopsis "Percent encoding and decoding")
|
||||
(description "This crate provides percent encoding and decoding.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-pin-utils
|
||||
(package
|
||||
(name "rust-pin-utils")
|
||||
(version "0.1.0-alpha.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "pin-utils" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11xmyx00n4m37d546by2rxb8ryxs12v55cc172i3yak1rqccd52q"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/rust-lang-nursery/pin-utils")
|
||||
(synopsis "Utilities for pinning")
|
||||
(description "This crate provides utilities for pinning values on the stack.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-plain
|
||||
(package
|
||||
(name "rust-plain")
|
||||
(version "0.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "plain" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19n1xbxb4wa7w891268bzf6cbwq4qvdb86bik1z129qb0xnnnndl"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/randomites/plain")
|
||||
(synopsis "Rust library that allows reinterpreting data safely")
|
||||
(description "This package provides a small Rust library that allows users
|
||||
to reinterpret data of certain types safely.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-pocket-resources
|
||||
(package
|
||||
(name "rust-pocket-resources")
|
||||
(version "0.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "pocket-resources" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1n2i5vmi8fdbw89wm5nz1ws1z9f1qax911p6ksg4scmdg23z6df1"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/tomaka/pocket-resources")
|
||||
(synopsis "Include resources in your applications")
|
||||
(description "This crate allows you to include resources in your
|
||||
applications.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-ppv-lite86
|
||||
(package
|
||||
(name "rust-ppv-lite86")
|
||||
(version "0.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "ppv-lite86" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06snnv338w341nicfqba2jgln5dsla72ndkgrw7h1dfdb3vgkjz3"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/cryptocorrosion/cryptocorrosion")
|
||||
(synopsis "Implementation of the crypto-simd API for x86")
|
||||
(description "This crate provides an implementation of the crypto-simd API
|
||||
for x86.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-proc-macro2
|
||||
(package
|
||||
(name "rust-proc-macro2")
|
||||
(version "0.4.30")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "proc-macro2" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs (("rust-unicode-xid" ,rust-unicode-xid))
|
||||
#:cargo-development-inputs (("rust-quote" ,rust-quote))))
|
||||
(home-page "https://github.com/alexcrichton/proc-macro2")
|
||||
(synopsis "Stable implementation of the upcoming new `proc_macro` API")
|
||||
(description "This package provides a stable implementation of the upcoming new
|
||||
`proc_macro` API. Comes with an option, off by default, to also reimplement itself
|
||||
in terms of the upstream unstable API.")
|
||||
;; Dual licensed.
|
||||
(license (list license:asl2.0 license:expat))))
|
||||
|
||||
(define-public rust-quick-error
|
||||
(package
|
||||
(name "rust-quick-error")
|
||||
(version "1.2.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "quick-error" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1w6kgwwv7p7zr0yyg5rb315lkk24bimywklwx7fsvsbwi10bjx4j"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "http://github.com/tailhook/quick-error")
|
||||
(synopsis "Macro which makes error types pleasant to write")
|
||||
(description "This crate provides a macro which makes error types pleasant
|
||||
to write.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-quote
|
||||
(package
|
||||
(name "rust-quote")
|
||||
(version "0.6.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "quote" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nw0klza45hf127kfyrpxsxd5jw2l6h21qxalil3hkr7bnf7kx7s"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2))))
|
||||
(home-page "https://github.com/dtolnay/quote")
|
||||
(synopsis "Quasi-quoting macro quote!(...)")
|
||||
(description "Quasi-quoting macro quote!(...)")
|
||||
;; Dual licensed.
|
||||
(license (list license:asl2.0 license:expat))))
|
||||
|
||||
(define-public rust-rustc-std-workspace-core
|
||||
(package
|
||||
(name "rust-rustc-std-workspace-core")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "rustc-std-workspace-core" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1309xhwyai9xpz128xrfjqkmnkvgjwddznmj7brbd8i8f58zamhr"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://crates.io/crates/rustc-std-workspace-core")
|
||||
(synopsis "Explicitly empty crate for rust-lang/rust integration")
|
||||
(description "This crate provides an explicitly empty crate for
|
||||
rust-lang/rust integration.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-scoped-tls
|
||||
(package
|
||||
(name "rust-scoped-tls")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "scoped-tls" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hj8lifzvivdb1z02lfnzkshpvk85nkgzxsy2hc0zky9wf894spa"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/alexcrichton/scoped-tls")
|
||||
(synopsis "Rust library providing the old standard library's scoped_thread_local")
|
||||
(description "This crate provides a library implementation of the standard
|
||||
library's old @code{scoped_thread_local!} macro for providing scoped access to
|
||||
@dfn{thread local storage} (TLS) so any type can be stored into TLS.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-scopeguard
|
||||
(package
|
||||
(name "rust-scopeguard")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "scopeguard" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"03aay84r1f6w87ckbpj6cc4rnsxkxcfs13n5ynxjia0qkgjiabml"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/bluss/scopeguard")
|
||||
(synopsis "Scope guard which will run a closure even out of scope")
|
||||
(description "This package provides a RAII scope guard that will run a
|
||||
given closure when it goes out of scope, even if the code between panics
|
||||
(assuming unwinding panic). Defines the macros @code{defer!},
|
||||
@code{defer_on_unwind!}, @code{defer_on_success!} as shorthands for guards
|
||||
with one of the implemented strategies.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-semver-parser
|
||||
(package
|
||||
(name "rust-semver-parser")
|
||||
(version "0.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "semver-parser" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ahqhvgpzhcsd28id7xnrjv4419i9yyalhm7d7zi430qx0hi2vml"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/steveklabnik/semver-parser")
|
||||
(synopsis "Parsing of the semver spec")
|
||||
(description "This package provides for parsing of the semver spec.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-shlex
|
||||
(package
|
||||
(name "rust-shlex")
|
||||
(version "0.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "shlex" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lmv6san7g8dv6jdfp14m7bdczq9ss7j7bgsfqyqjc3jnjfippvz"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/comex/rust-shlex")
|
||||
(synopsis "Split a string into shell words, like Python's shlex")
|
||||
(description "This crate provides a method to split a string into shell
|
||||
words, like Python's shlex.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-slab
|
||||
(package
|
||||
(name "rust-slab")
|
||||
(version "0.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "slab" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1y59xsa27jk84sxzswjk60xcjf8b4fm5960jwpznrrcmasyva4f1"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/carllerche/slab")
|
||||
(synopsis "Pre-allocated storage for a uniform data type")
|
||||
(description "This create provides a pre-allocated storage for a uniform
|
||||
data type.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-spin
|
||||
(package
|
||||
(name "rust-spin")
|
||||
(version "0.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "spin" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0m9clchsj0rf13bggsgvbv9haiy0f6rhvnvkpvkk8720a5pkydj4"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/mvdnes/spin-rs.git")
|
||||
(synopsis "Synchronization primitives based on spinning")
|
||||
(description "This crate provides synchronization primitives based on
|
||||
spinning. They may contain data, are usable without @code{std},and static
|
||||
initializers are available.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-stdweb-internal-runtime
|
||||
(package
|
||||
(name "rust-stdweb-internal-runtime")
|
||||
(version "0.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "stdweb-internal-runtime" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nhpyra7glbwcpakhpj5a3d7h7kx1ynif473nzshmk226m91f8ym"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/koute/stdweb")
|
||||
(synopsis "Internal runtime for the @code{stdweb} crate")
|
||||
(description "This crate provides internal runtime for the @code{stdweb}
|
||||
crate.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-strsim
|
||||
(package
|
||||
(name "rust-strsim")
|
||||
(version "0.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "strsim" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xphwhf86yxxmcpvm4mikj8ls41f6nf7gqyjm98b74mfk81h6b03"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/dguo/strsim-rs")
|
||||
(synopsis "Rust implementations of string similarity metrics")
|
||||
(description "This crate includes implementations of string similarity
|
||||
metrics. It includes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro,
|
||||
and Jaro-Winkler.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-synstructure-test-traits
|
||||
(package
|
||||
(name "rust-synstructure-test-traits")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "synstructure_test_traits" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1b3fs2b9kc1gy9dilaxqjbdl4z0mlrbbxjzkprdx953rif1c3q66"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://crates.io/crates/synstructure_test_traits")
|
||||
(synopsis "Helper test traits for synstructure doctests")
|
||||
(description
|
||||
"This package provides helper test traits for synstructure doctests.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-typenum
|
||||
(package
|
||||
(name "rust-typenum")
|
||||
(version "1.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "typenum" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sc1jirllfhdi52z1xv9yqzxzpk6v7vadd13n7wvs1wnjipn6bb1"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/paholg/typenum")
|
||||
(synopsis "Rust library for type-level numbers evaluated at compile time")
|
||||
(description "Typenum is a Rust library for type-level numbers evaluated at
|
||||
compile time. It currently supports bits, unsigned integers, and signed
|
||||
integers. It also provides a type-level array of type-level numbers, but its
|
||||
implementation is incomplete.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-ucd-util
|
||||
(package
|
||||
(name "rust-ucd-util")
|
||||
(version "0.1.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "ucd-util" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0x088q5z0m09a2jqcfgsnq955y8syn1mgn35cl78qinkxm4kp6zs"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/BurntSushi/ucd-generate")
|
||||
(synopsis "library for working with the Unicode character database")
|
||||
(description "This package provides a small utility library for working
|
||||
with the Unicode character database.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-unicode-width
|
||||
(package
|
||||
(name "rust-unicode-width")
|
||||
(version "0.1.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "unicode-width" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09k5lipygardwy0660jhls08fsgknrazzivmn804gps53hiqc8w8"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/unicode-rs/unicode-width")
|
||||
(synopsis "Determine displayed width according to Unicode rules")
|
||||
(description "This crate allows you to determine displayed width of
|
||||
@code{char} and @code{str} types according to Unicode Standard Annex #11 rules.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-unicode-xid
|
||||
(package
|
||||
(name "rust-unicode-xid")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "unicode-xid" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1z57lqh4s18rr4x0j4fw4fmp9hf9346h0kmdgqsqx0fhjr3k0wpw"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page
|
||||
"https://github.com/unicode-rs/unicode-xid")
|
||||
(synopsis "Determine Unicode XID related properties")
|
||||
(description "Determine whether characters have the XID_Start
|
||||
or XID_Continue properties according to Unicode Standard Annex #31.")
|
||||
;; Dual licensed.
|
||||
(license (list license:asl2.0 license:expat))))
|
||||
|
||||
(define-public rust-unindent
|
||||
(package
|
||||
(name "rust-unindent")
|
||||
(version "0.1.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "unindent" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1x21ilf78aqcq9xzb9b7i628wm10rhk0jp0chlv06rkc690l8jw3"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/dtolnay/indoc")
|
||||
(synopsis "Remove a column of leading whitespace from a string")
|
||||
(description "This crate allows you to remove a column of leading
|
||||
whitespace from a string.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-wasm-bindgen-shared
|
||||
(package
|
||||
(name "rust-wasm-bindgen-shared")
|
||||
(version "0.2.48")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "wasm-bindgen-shared" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08rnfhjyk0f6liv8n4rdsvhx7r02glkhcbj2lp9lcbkbfpad9hnr"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://rustwasm.github.io/wasm-bindgen/")
|
||||
(synopsis "Shared support between wasm-bindgen and wasm-bindgen cli")
|
||||
(description "This package provides shared support between
|
||||
@code{wasm-bindgen} and @code{wasm-bindgen} cli, an internal dependency.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-winapi
|
||||
(package
|
||||
(name "rust-winapi")
|
||||
(version "0.3.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "winapi" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0w7pbhcl087lkggxdflfp2i92rq89ahsfdkjkv44fgmiy9m3h3pi"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-winapi-i686-pc-windows-gnu"
|
||||
,rust-winapi-i686-pc-windows-gnu)
|
||||
("rust-winapi-x86-64-pc-windows-gnu"
|
||||
,rust-winapi-x86-64-pc-windows-gnu))))
|
||||
(home-page "https://github.com/retep998/winapi-rs")
|
||||
(synopsis "Raw FFI bindings for all of Windows API.")
|
||||
(description
|
||||
"Raw FFI bindings for all of Windows API.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-winapi-i686-pc-windows-gnu
|
||||
(package
|
||||
(name "rust-winapi-i686-pc-windows-gnu")
|
||||
(version "0.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "winapi-i686-pc-windows-gnu" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/retep998/winapi-rs")
|
||||
(synopsis "Import libraries for the i686-pc-windows-gnu target")
|
||||
(description "This crate provides import libraries for the
|
||||
i686-pc-windows-gnu target. Please don't use this crate directly, depend on
|
||||
@code{winapi} instead.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-winapi-x86-64-pc-windows-gnu
|
||||
(package
|
||||
(name "rust-winapi-x86-64-pc-windows-gnu")
|
||||
(version "0.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "winapi-x86_64-pc-windows-gnu" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/retep998/winapi-rs")
|
||||
(synopsis "Import libraries for the x86_64-pc-windows-gnu target")
|
||||
(description "This package provides import libraries for the
|
||||
x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on
|
||||
@code{winapi} instead.")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
+19
-29
@@ -4,7 +4,6 @@
|
||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -40,8 +39,7 @@
|
||||
#:export (cross-binutils
|
||||
cross-libc
|
||||
cross-gcc
|
||||
cross-newlib?
|
||||
cross-kernel-headers))
|
||||
cross-newlib?))
|
||||
|
||||
(define-syntax %xgcc
|
||||
;; GCC package used as the basis for cross-compilation. It doesn't have to
|
||||
@@ -207,10 +205,9 @@ target that libc."
|
||||
(patches
|
||||
(append
|
||||
(origin-patches (package-source xgcc))
|
||||
(cons (cond
|
||||
((version>=? (package-version xgcc) "8.0") (search-patch "gcc-8-cross-environment-variables.patch"))
|
||||
((version>=? (package-version xgcc) "6.0") (search-patch "gcc-6-cross-environment-variables.patch"))
|
||||
(else (search-patch "gcc-cross-environment-variables.patch")))
|
||||
(cons (if (version>=? (package-version xgcc) "6.0")
|
||||
(search-patch "gcc-6-cross-environment-variables.patch")
|
||||
(search-patch "gcc-cross-environment-variables.patch"))
|
||||
(cross-gcc-patches target))))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
@@ -250,7 +247,7 @@ target that libc."
|
||||
(cond
|
||||
((target-mingw? target)
|
||||
(if libc
|
||||
`(("libc" ,libc)
|
||||
`(("libc" ,mingw-w64)
|
||||
,@inputs)
|
||||
`(("mingw-source" ,(package-source mingw-w64))
|
||||
,@inputs)))
|
||||
@@ -278,19 +275,18 @@ target that libc."
|
||||
|
||||
(define* (cross-kernel-headers target
|
||||
#:optional
|
||||
(linux-headers linux-libre-headers)
|
||||
(xgcc (cross-gcc target))
|
||||
(xbinutils (cross-binutils target)))
|
||||
"Return headers depending on TARGET."
|
||||
|
||||
(define xlinux-headers
|
||||
(package (inherit linux-headers)
|
||||
(name (string-append (package-name linux-headers)
|
||||
(package (inherit linux-libre-headers)
|
||||
(name (string-append (package-name linux-libre-headers)
|
||||
"-cross-" target))
|
||||
(arguments
|
||||
(substitute-keyword-arguments
|
||||
`(#:implicit-cross-inputs? #f
|
||||
,@(package-arguments linux-headers))
|
||||
,@(package-arguments linux-libre-headers))
|
||||
((#:phases phases)
|
||||
`(alist-replace
|
||||
'build
|
||||
@@ -303,7 +299,7 @@ target that libc."
|
||||
,phases))))
|
||||
(native-inputs `(("cross-gcc" ,xgcc)
|
||||
("cross-binutils" ,xbinutils)
|
||||
,@(package-native-inputs linux-headers)))))
|
||||
,@(package-native-inputs linux-libre-headers)))))
|
||||
|
||||
(define xgnumach-headers
|
||||
(package (inherit gnumach-headers)
|
||||
@@ -425,15 +421,14 @@ target that libc."
|
||||
|
||||
(define* (cross-libc target
|
||||
#:optional
|
||||
(libc glibc)
|
||||
(xgcc (cross-gcc target))
|
||||
(xbinutils (cross-binutils target))
|
||||
(xheaders (cross-kernel-headers target)))
|
||||
"Return LIBC cross-built for TARGET, a GNU triplet. Use XGCC and XBINUTILS
|
||||
and the cross tool chain."
|
||||
(if (cross-newlib? target libc)
|
||||
(native-libc target libc)
|
||||
(let ((libc libc))
|
||||
"Return a libc cross-built for TARGET, a GNU triplet. Use XGCC and
|
||||
XBINUTILS and the cross tool chain."
|
||||
(if (cross-newlib? target)
|
||||
(native-libc target)
|
||||
(let ((libc glibc))
|
||||
(package (inherit libc)
|
||||
(name (string-append "glibc-cross-" target))
|
||||
(arguments
|
||||
@@ -506,18 +501,13 @@ and the cross tool chain."
|
||||
,@(package-inputs libc) ;FIXME: static-bash
|
||||
,@(package-native-inputs libc)))))))
|
||||
|
||||
(define* (native-libc target
|
||||
#:optional
|
||||
(libc glibc))
|
||||
(define (native-libc target)
|
||||
(if (target-mingw? target)
|
||||
(let ((machine (substring target 0 (string-index target #\-))))
|
||||
(make-mingw-w64 machine))
|
||||
libc))
|
||||
mingw-w64
|
||||
glibc))
|
||||
|
||||
(define* (cross-newlib? target
|
||||
#:optional
|
||||
(libc glibc))
|
||||
(not (eq? (native-libc target libc) libc)))
|
||||
(define (cross-newlib? target)
|
||||
(not (eq? (native-libc target) glibc)))
|
||||
|
||||
|
||||
;;; Concrete cross tool chains are instantiated like this:
|
||||
|
||||
+13
-12
@@ -3,7 +3,7 @@
|
||||
;;; Copyright © 2015, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
|
||||
;;; Copyright © 2016, 2017, 2019 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
@@ -75,7 +75,7 @@
|
||||
(define-public libsodium
|
||||
(package
|
||||
(name "libsodium")
|
||||
(version "1.0.18")
|
||||
(version "1.0.17")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append
|
||||
@@ -86,7 +86,7 @@
|
||||
"releases/old/libsodium-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"1h9ncvj23qbbni958knzsli8dvybcswcjbx0qjjgi922nf848l3g"))))
|
||||
"1cf2d9v1gylz1qcy2zappbf526qfmph6gd6fnn3w2b347vixmhqc"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Portable NaCl-based crypto library")
|
||||
(description
|
||||
@@ -131,15 +131,15 @@ communication, encryption, decryption, signatures, etc.")
|
||||
(define-public signify
|
||||
(package
|
||||
(name "signify")
|
||||
(version "26")
|
||||
(home-page "https://github.com/aperezdc/signify")
|
||||
(version "24")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/aperezdc/signify/releases"
|
||||
"/download/v" version "/signify-" version ".tar.xz"))
|
||||
(uri (string-append "https://github.com/aperezdc/signify/"
|
||||
"archive/v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16sl1yq5bbsads5q4a0fbrf31b0x8r1hi4wagl90nbrhrca98baw"))))
|
||||
"0594vyvkq176xxzaz9xbq8qs0xdnr8s9gkd1prblwpdvnzmw0xvc"))))
|
||||
(build-system gnu-build-system)
|
||||
;; TODO Build with libwaive (described in README.md), to implement something
|
||||
;; like OpenBSD's pledge().
|
||||
@@ -159,6 +159,7 @@ communication, encryption, decryption, signatures, etc.")
|
||||
(description "The signify utility creates and verifies cryptographic
|
||||
signatures using the elliptic curve Ed25519. This is a Linux port of the
|
||||
OpenBSD tool of the same name.")
|
||||
(home-page "https://github.com/aperezdc/signify")
|
||||
;; This package includes third-party code that was originally released under
|
||||
;; various non-copyleft licenses. See the source files for clarification.
|
||||
(license (list license:bsd-3 license:bsd-4 license:expat license:isc
|
||||
@@ -329,14 +330,14 @@ no man page, refer to the home page for usage details.")
|
||||
(define-public tomb
|
||||
(package
|
||||
(name "tomb")
|
||||
(version "2.6")
|
||||
(version "2.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://files.dyne.org/tomb/"
|
||||
"Tomb-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1sr3jcn96mciyn8xd0amd1jzamxxzpybakf8an7laf26gjim1dh2"))))
|
||||
"12c6qldngaw520gvb02inzkhnxbl4k0dwmddrgnaf7xashy6j0wc"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("sudo" ,sudo))) ;presence needed for 'check' phase
|
||||
(inputs
|
||||
@@ -355,7 +356,7 @@ no man page, refer to the home page for usage details.")
|
||||
;; TODO: Build and install gtk and qt trays
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ;no configuration to be done
|
||||
(delete 'configure) ;no configuration to be done
|
||||
(add-after 'install 'i18n
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "-C" "extras/translations"
|
||||
@@ -425,7 +426,7 @@ user's graphical desktop.")
|
||||
`(("openssl" ,openssl)))
|
||||
(home-page "https://www.tarsnap.com/scrypt.html")
|
||||
(synopsis "Memory-hard encryption tool based on scrypt")
|
||||
(description "This package provides a simple password-based encryption
|
||||
(description "This packages provides a simple password-based encryption
|
||||
utility as a demonstration of the @code{scrypt} key derivation function.
|
||||
@code{Scrypt} is designed to be far more resistant against hardware brute-force
|
||||
attacks than alternative functions such as @code{PBKDF2} or @code{bcrypt}.")
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
(define-public cups-filters
|
||||
(package
|
||||
(name "cups-filters")
|
||||
(version "1.25.1")
|
||||
(version "1.22.3")
|
||||
(source(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@@ -65,7 +65,7 @@
|
||||
"cups-filters-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0nlq44jnjcnrbdv0dv5myg5kaycmk6a4klynpvj65xvn3l9cq28s"))
|
||||
"11vilv80l3q7hz8vyhclvjcnlgk93r7p9dvg634186iddjzls0j3"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; install backends, banners and filters to cups-filters output
|
||||
@@ -646,7 +646,7 @@ printer/driver specific, but spooler-independent PPD file.")
|
||||
(uri "http://foo2zjs.rkkda.com/foo2zjs.tar.gz")
|
||||
(sha256
|
||||
(base32
|
||||
"0djzp3ddslmzyxkjhzkhkg6qqqm02whjfnfvh5glprkshcskzlg9"))))
|
||||
"00k22vmghxls7rk2hrbz9v17wi5z8vdk3fmsp2lrfghfcad8nhpx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
(define-public curl
|
||||
(package
|
||||
(name "curl")
|
||||
(replacement curl-7.65.0)
|
||||
(replacement curl-7.64.0)
|
||||
(version "7.63.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
@@ -147,10 +147,10 @@ tunneling, and so on.")
|
||||
"See COPYING in the distribution."))
|
||||
(home-page "https://curl.haxx.se/")))
|
||||
|
||||
(define-public curl-7.65.0
|
||||
(define-public curl-7.64.0
|
||||
(package
|
||||
(inherit curl)
|
||||
(version "7.65.0")
|
||||
(version "7.64.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -158,7 +158,7 @@ tunneling, and so on.")
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kb6p510m0n0y1c8fjxbcs6dyaqgm8i54pjvj29zc14lj9ix4rkp"))))))
|
||||
"00b0mw4fc1pbmbh55maab24x3ijdvkbpl1s4njfa4jnl6kx16brg"))))))
|
||||
|
||||
(define-public kurly
|
||||
(package
|
||||
|
||||
+41
-220
@@ -32,11 +32,6 @@
|
||||
;;; Copyright © 2017 Kristofer Buffington <kristoferbuffington@gmail.com>
|
||||
;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
|
||||
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
|
||||
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
|
||||
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
|
||||
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -71,7 +66,6 @@
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages dbm)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnupg)
|
||||
@@ -93,13 +87,11 @@
|
||||
#:use-module (gnu packages popt)
|
||||
#: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 rdf)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages terminals)
|
||||
@@ -111,9 +103,7 @@
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix bzr-download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system perl)
|
||||
@@ -132,13 +122,12 @@
|
||||
(name "4store")
|
||||
(version "1.1.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/4store/4store.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/4store/4store/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1kzdfmwpzy64cgqlkcz5v4klwx99w0jk7afckyf7yqbqb4rydmpk"))
|
||||
(base32 "004fmcf1w75zhc1x3zc6kc97j4jqn2v5nhk6yb3z3cpfrhzi9j50"))
|
||||
(patches (search-patches "4store-unset-preprocessor-directive.patch"
|
||||
"4store-fix-buildsystem.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
@@ -161,6 +150,12 @@
|
||||
("cyrus-sasl" ,cyrus-sasl)
|
||||
("openssl" ,openssl)
|
||||
("util-linux" ,util-linux)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'generate-configure
|
||||
(lambda _
|
||||
(invoke "sh" "autogen.sh"))))))
|
||||
;; http://www.4store.org has been down for a while now.
|
||||
(home-page "https://github.com/4store/4store")
|
||||
(synopsis "Clustered RDF storage and query engine")
|
||||
@@ -245,7 +240,7 @@ ElasticSearch server")
|
||||
(define-public leveldb
|
||||
(package
|
||||
(name "leveldb")
|
||||
(version "1.22")
|
||||
(version "1.21")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -254,7 +249,7 @@ ElasticSearch server")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qrnhiyq7r4wa1a4wi82zgns35smj94mcjsc7kfs1k6ia9ys79z7"))))
|
||||
"00v0w6883z7a6204894j59nd5v6dazn3c8hvh3sbczv4wiabppw2"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON" "-DLEVELDB_BUILD_TESTS=ON")))
|
||||
@@ -270,14 +265,14 @@ mapping from string keys to string values.")
|
||||
(define-public memcached
|
||||
(package
|
||||
(name "memcached")
|
||||
(version "1.5.16")
|
||||
(version "1.5.13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://memcached.org/files/memcached-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0nnccb697jhdn5gqrh3phibzs6xr4nf4ryv7nmyv5vf11n4jr8j5"))))
|
||||
(base32 "0qsdkjrns4f02lmabq8c7mzl5n4382q2p6a0dvmsjdcpjisagqb1"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libevent" ,libevent)
|
||||
@@ -289,128 +284,6 @@ and generic API, and was originally intended for use with dynamic web
|
||||
applications.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public libmemcached
|
||||
(package
|
||||
(name "libmemcached")
|
||||
(version "1.0.18")
|
||||
;; We build from the sources since we want to build the extra HTML
|
||||
;; documentation which is not included with the release.
|
||||
(source (origin
|
||||
(method bzr-fetch)
|
||||
(uri (bzr-reference
|
||||
(url "lp:libmemcached/1.0")
|
||||
(revision (string-append "tag:" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1842s4dxdh21gdr46q4dgxigidcs6dkqnbnqjwb9l8r0bqx5nb10"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("memcached" ,memcached)
|
||||
("libtool" ,libtool)
|
||||
("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
("perl" ,perl)
|
||||
("python-sphinx" ,python-sphinx))) ;to build the HTML doc.
|
||||
(inputs
|
||||
`(("libevent" ,libevent)
|
||||
("cyrus-sasl" ,cyrus-sasl)))
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'fix-configure.ac
|
||||
;; Move the AC_CONFIG_AUX_DIR macro use under AC_INIT, otherwise we
|
||||
;; get the error ``configure: error: cannot find install-sh,
|
||||
;; install.sh, or shtool in "." "./.." "./../.."`` (see:
|
||||
;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19539 and
|
||||
;; https://bugs.launchpad.net/libmemcached/+bug/1803922).
|
||||
(lambda _
|
||||
(delete-file "bootstrap.sh") ;not useful in the context of Guix
|
||||
(substitute* "configure.ac"
|
||||
(("^AC_CONFIG_AUX_DIR\\(\\[build-aux\\]\\).*") "")
|
||||
(("(^AC_INIT.*)" anchor)
|
||||
(string-append anchor "AC_CONFIG_AUX_DIR([build-aux])\n")))
|
||||
#t))
|
||||
(add-before 'bootstrap 'disable-failing-tests
|
||||
;; See: https://bugs.launchpad.net/libmemcached/+bug/1803926
|
||||
(lambda _
|
||||
;; Mark some heavily failing test suites as expected to fail.
|
||||
(substitute* "Makefile.am"
|
||||
(("(XFAIL_TESTS =[^\n]*)" xfail_tests)
|
||||
(string-append xfail_tests " tests/testudp"
|
||||
" tests/libmemcached-1.0/testapp"
|
||||
" tests/libmemcached-1.0/testsocket")))
|
||||
;; Disable two tests of the unittest test suite.
|
||||
(substitute* "libtest/unittest.cc"
|
||||
((".*echo_fubar_BINARY \\},.*") "")
|
||||
((".*application_doesnotexist_BINARY \\},.*") ""))
|
||||
#t))
|
||||
(add-after 'disable-dns-tests 'build-and-install-html-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((html (string-append (assoc-ref outputs "doc")
|
||||
"/share/doc/libmemcached/html/")))
|
||||
(invoke "make" "install-html")
|
||||
;; Cleanup useless files.
|
||||
(for-each delete-file-recursively
|
||||
(map (lambda (x) (string-append html x))
|
||||
'("_sources" ".doctrees" ".buildinfo"))))
|
||||
#t)))))
|
||||
(home-page "https://libmemcached.org/")
|
||||
(synopsis "C++ library for memcached")
|
||||
(description "libMemcached is a library to use memcached in C/C++
|
||||
applications. It comes with a complete reference guide and documentation of
|
||||
the API, and provides features such as:
|
||||
@itemize
|
||||
@item Asynchronous and synchronous transport support
|
||||
@item Consistent hashing and distribution
|
||||
@item Tunable hashing algorithm to match keys
|
||||
@item Access to large object support
|
||||
@item Local replication
|
||||
@end itemize")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-pylibmc
|
||||
(package
|
||||
(name "python-pylibmc")
|
||||
(version "1.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pylibmc" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1n6nvvhl0g52gpzzwdj1my6049xljkfwyxxygnwda9smrbj7pyay"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'start-memcached-daemon
|
||||
;; The test suite requires a memcached server.
|
||||
(lambda _
|
||||
(invoke "memcached" "-d"))))))
|
||||
(native-inputs
|
||||
`(("memcached" ,memcached)
|
||||
("python-nose" ,python-nose)))
|
||||
(inputs
|
||||
`(("libmemcached" ,libmemcached)
|
||||
("zlib" ,zlib)
|
||||
("cyrus-sasl" ,cyrus-sasl)))
|
||||
(home-page
|
||||
"http://sendapatch.se/projects/pylibmc/")
|
||||
(synopsis
|
||||
"Python client for memcached")
|
||||
(description
|
||||
"@code{pylibmc} is a client in Python for memcached. It is a wrapper
|
||||
around TangentOrg’s libmemcached library, and can be used as a drop-in
|
||||
replacement for the code@{python-memcached} library.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python2-pylibmc
|
||||
(package-with-python2 python-pylibmc))
|
||||
|
||||
(define-public mongodb
|
||||
(package
|
||||
(name "mongodb")
|
||||
@@ -611,15 +484,15 @@ Language.")
|
||||
(define-public mariadb
|
||||
(package
|
||||
(name "mariadb")
|
||||
(version "10.1.41")
|
||||
(version "10.1.38")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://downloads.mariadb.com/MariaDB"
|
||||
"/mariadb-" version "/source/mariadb-"
|
||||
version ".tar.gz"))
|
||||
(uri (string-append "https://downloads.mariadb.org/f/"
|
||||
name "-" version "/source/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wh0073lqw3d9xs150bf2q3qvjwa6886mfi9khmsn7p8vapw6irb"))
|
||||
"0zq77w3ff9q781fn8cv46vy1v4ggb8vjarjvk51k653x4gyg9wfa"))
|
||||
(patches (search-patches "mariadb-client-test-32bit.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
@@ -654,10 +527,6 @@ Language.")
|
||||
;; For now, disable the features that that use libarchive (xtrabackup).
|
||||
"-DWITH_LIBARCHIVE=OFF"
|
||||
|
||||
;; Disable the TokuDB engine, because its test suite frequently fails,
|
||||
;; and loading it crashes the server: <https://bugs.gnu.org/35521>.
|
||||
"-DTOKUDB_OK=OFF"
|
||||
|
||||
;; Ensure the system libraries are used.
|
||||
"-DWITH_JEMALLOC=yes"
|
||||
"-DWITH_PCRE=system"
|
||||
@@ -705,6 +574,9 @@ Language.")
|
||||
;; 2030-12-31. See <https://bugs.gnu.org/34351> for details.
|
||||
"main.mysqldump"
|
||||
|
||||
;; XXX: Fails sporadically.
|
||||
"innodb_fts.crash_recovery"
|
||||
|
||||
;; FIXME: This test fails on i686:
|
||||
;; -myisampack: Can't create/write to file (Errcode: 17 "File exists")
|
||||
;; +myisampack: Can't create/write to file (Errcode: 17 "File exists)
|
||||
@@ -782,6 +654,7 @@ Language.")
|
||||
("libxml2" ,libxml2)
|
||||
("ncurses" ,ncurses)
|
||||
("pcre" ,pcre)
|
||||
("snappy" ,snappy)
|
||||
("xz" ,xz)
|
||||
("zlib" ,zlib)))
|
||||
(propagated-inputs
|
||||
@@ -801,14 +674,14 @@ as a drop-in replacement of MySQL.")
|
||||
(define-public postgresql
|
||||
(package
|
||||
(name "postgresql")
|
||||
(version "10.10")
|
||||
(version "10.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0lzj46dwd9cw94gnqm36bxd7jlhfdyqjrfzr3c4xd3prfn2rnkxd"))
|
||||
"1piyfcrcqscjhnnwn91kdvr764s7d0qz4lgygf9bl6qc71ji1vdz"))
|
||||
(patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@@ -844,31 +717,18 @@ TIMESTAMP. It also supports storage of binary large objects, including
|
||||
pictures, sounds, or video.")
|
||||
(license (license:x11-style "file://COPYRIGHT"))))
|
||||
|
||||
(define-public postgresql-11
|
||||
(package
|
||||
(inherit postgresql)
|
||||
(name "postgresql")
|
||||
(version "11.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"106ikalvrilihlvhq7xj7snq98hgbgq6qsgjrd252wgw1c327pvz"))))))
|
||||
|
||||
(define-public postgresql-9.6
|
||||
(package
|
||||
(inherit postgresql)
|
||||
(name "postgresql")
|
||||
(version "9.6.15")
|
||||
(version "9.6.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
|
||||
version "/postgresql-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"02hp69h2p02asfblkaahblzdz2zmawd2r11h6237y5j7yadgxn9w"))))))
|
||||
"114xay230xia2fagisxahs5fc2mza8hmmkr6ibd7nxllp938931f"))))))
|
||||
|
||||
(define-public python-pymysql
|
||||
(package
|
||||
@@ -942,7 +802,8 @@ organized in a hash table or B+ tree.")
|
||||
(assoc-ref %build-inputs "bash:include")
|
||||
"/include/bash"))))
|
||||
|
||||
(native-inputs `(("bc" ,bc)
|
||||
(native-inputs `(("emacs" ,emacs-minimal)
|
||||
("bc" ,bc)
|
||||
("bash:include" ,bash "include")
|
||||
("check" ,check)
|
||||
("libuuid" ,util-linux)
|
||||
@@ -961,26 +822,6 @@ types are supported, as is encryption.")
|
||||
(license license:gpl3+)
|
||||
(home-page "https://www.gnu.org/software/recutils/")))
|
||||
|
||||
(define-public emacs-recutils
|
||||
(package
|
||||
(inherit recutils)
|
||||
(name "emacs-recutils")
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory
|
||||
(lambda _
|
||||
(chdir "etc")
|
||||
#t)))))
|
||||
(native-inputs '())
|
||||
(inputs '())
|
||||
(synopsis "Emacs mode for working with recutils database files")
|
||||
(description "This package provides an Emacs major mode @code{rec-mode}
|
||||
for working with GNU Recutils text-based, human-editable databases. It
|
||||
supports editing, navigation, and querying of recutils database files
|
||||
including field and record folding.")))
|
||||
|
||||
(define-public rocksdb
|
||||
(package
|
||||
(name "rocksdb")
|
||||
@@ -1535,7 +1376,7 @@ columns, primary keys, unique constraints and relationships.")
|
||||
#:tests? #f))
|
||||
(propagated-inputs
|
||||
`(("perl-dbi" ,perl-dbi)
|
||||
("mysql" ,mariadb)))
|
||||
("mysql" ,mysql)))
|
||||
(home-page "https://metacpan.org/release/DBD-mysql")
|
||||
(synopsis "DBI MySQL interface")
|
||||
(description "This package provides a MySQL driver for the Perl5
|
||||
@@ -1891,7 +1732,7 @@ database.")
|
||||
(define-public perl-db-file
|
||||
(package
|
||||
(name "perl-db-file")
|
||||
(version "1.852")
|
||||
(version "1.843")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1901,7 +1742,7 @@ database.")
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"14c30xyqx9c1hxw40bqbzls41al8gmklxv5jbk2kknmn4dsrbdrs"))))
|
||||
"0sildz1i3fmh949w1scpjsyjx0cbmfw0yna3y70mc6vbwp8y696y"))))
|
||||
(build-system perl-build-system)
|
||||
(inputs `(("bdb" ,bdb)))
|
||||
(native-inputs `(("perl-test-pod" ,perl-test-pod)))
|
||||
@@ -2161,13 +2002,13 @@ etc., and an SQL engine for performing simple SQL queries.")
|
||||
(define-public python-lmdb
|
||||
(package
|
||||
(name "python-lmdb")
|
||||
(version "0.95")
|
||||
(version "0.94")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "lmdb" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nx9f193gzl33r1lbqhb96h1igya7pz8wmahr8m9x5zgc05hal91"))
|
||||
"1zh38gvkqw1jm5105if6rr7ccbgyxr7k2rm5ygb9ab3bq82pyaww"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete bundled lmdb source files.
|
||||
@@ -2431,14 +2272,14 @@ You might also want to install the following optional dependencies:
|
||||
(define-public python-alembic
|
||||
(package
|
||||
(name "python-alembic")
|
||||
(version "1.0.10")
|
||||
(version "1.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "alembic" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dwl0264r6ri2jyrjr68am04x538ab26xwy4crqjnnhm4alwm3c2"))))
|
||||
"0asqz9mwc4w8bsar1icv3ik9jslxrj3gv3yxgmhc6nc6r9qbkg04"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-mock" ,python-mock)
|
||||
@@ -2651,11 +2492,12 @@ database).")
|
||||
"0kv4a1icwdav8jpl7qvnr931lw5h3v22ids6lwq6qpi1hjzf33pz"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("nose" ,python-nose)
|
||||
`(("mariadb" ,mariadb)
|
||||
("nose" ,python-nose)
|
||||
("mock" ,python-mock)
|
||||
("py.test" ,python-pytest)))
|
||||
(inputs
|
||||
`(("mysql" ,mariadb)
|
||||
`(("mysql" ,mysql)
|
||||
("libz" ,zlib)
|
||||
("openssl" ,openssl)))
|
||||
(home-page "https://github.com/PyMySQL/mysqlclient-python")
|
||||
@@ -2793,7 +2635,7 @@ is designed to have a low barrier to entry.")
|
||||
(home-page "https://github.com/benjolitz/trollius-redis")
|
||||
(synopsis "Port of asyncio-redis to trollius")
|
||||
(description "@code{trollius-redis} is a Redis client for Python
|
||||
trollius. It is an asynchronous IO (PEP 3156) implementation of the
|
||||
trollius. It is an asynchronious IO (PEP 3156) implementation of the
|
||||
Redis protocol.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
@@ -3077,24 +2919,3 @@ NumPy, and other traditional Python scientific computing packages.")
|
||||
|
||||
(define-public python2-pyarrow
|
||||
(package-with-python2 python-pyarrow))
|
||||
|
||||
(define-public python-crate
|
||||
(package
|
||||
(name "python-crate")
|
||||
(version "0.23.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "crate" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0s3s7yg4m2zflg9q96aibwb5hizsn10ql63fsj6h5z624qkavnlp"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-urllib3" ,python-urllib3)))
|
||||
(home-page "https://github.com/crate/crate-python")
|
||||
(synopsis "CrateDB Python client")
|
||||
(description
|
||||
"This package provides a Python client library for CrateDB.
|
||||
It implements the Python DB API 2.0 specification and includes support for
|
||||
SQLAlchemy.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user