1
0
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 Message Date
Ludovic Courtès 48aa30ce73 build: Add 'doc/build.scm' to build on-line copies of the manual.
* doc/build.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2019-07-12 15:03:48 +02:00
Ludovic Courtès adf577dcc4 doc: Update htmlxref.cnf.
* doc/htmlxref.cnf (G): Switch to https.
(geiser, guix.de, guix.es, hurd): New entries.
2019-05-04 22:39:59 +02:00
Ludovic Courtès 1a9fc8e228 doc: Warn about missing entries in htmlxref.cnf.
* doc/local.mk (AM_MAKEINFOHTMLFLAGS): New variable.
2019-05-04 22:39:56 +02:00
Ludovic Courtès 2921b6a611 doc: Adjust cross-references for GNU triplets.
* doc/guix.texi (Defining Packages): Reference to 'autoconf' instead of
obsolete 'configure' manual for triplets.
(Additional Build Options): Adjust 'autoconf' node name.
2019-05-04 22:39:52 +02:00
Ludovic Courtès 3aa11dfbed doc: Provide the actual URL to the VM image.
Fixes <https://bugs.gnu.org/35537>.
Reported by Andy Tai <atai@atai.org>.

* doc/guix.texi (Running Guix in a VM): Use @url and provide the actual
URL, without @var{system}.
2019-05-04 22:19:15 +02:00
Ludovic Courtès 542e7fb57f doc: Add note about <https://bugs.gnu.org/35541>.
* doc/guix.texi (Guided Graphical Installation): Add node about
<https://bugs.gnu.org/35541>.
(System Installation): Refer to it.
2019-05-04 22:16:53 +02:00
560 changed files with 58976 additions and 139229 deletions
-4
View File
@@ -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))
-1
View File
@@ -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>
+1 -1
View File
@@ -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
View File
@@ -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
-50
View File
@@ -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
+1 -5
View File
@@ -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
+2 -22
View File
@@ -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
View File
@@ -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))))))
+2 -2
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018 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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+1 -4
View File
@@ -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.
+1 -1
View File
@@ -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
View File
@@ -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
+1 -1
View File
@@ -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}))
+2 -4
View File
@@ -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
+6
View File
@@ -0,0 +1,6 @@
(public-key
(rsa
(n #00DB1634E3D9DFAC97AE4734DAE968CCB15EE4815C82BDC254883DBB49FE1EF32268E82D4BBE0E35298C481C9DA1551642FAFF05AEC1A60712F1BB4BE7D25D7EFF7A4F89704A5A9AC232870CB9F2476C3B538A0E990A8825DEB73081D317001FB8A188600F2FEF5F5F570E857F3EE4355077A3C3918ED72723A56BA55C466D400658974D7DAD1F6B7B63C192B9C2704D98BBFF1C3BD5B8EF11A8ADC83ACB8FD8E9F1E792FDAD262415D13F2DEE55F330908CFDA9C3C8C32B64F7DD088457D34F445E2E2C83C6D680549DC9B6E6573B89496567204ED285E67A279F2F667080BA941D80D015CE87B0FB6A91A99CECC7D91D2D210B00E4B6E611DA51DB008F1DFE3FCAC6B27393FA781D45F9A15FC7B8785A3E86BA6592B2916CA22CF1E40FC85F85CACA590461154F58F3580B16398908EF32076F411299C28727C94D88B6A618F84DD73AEBED8270BCB6690928CB1BF250C35E1F6BF3B1B30D05BA246ECE8F69D9065DE26F4B3E0D814D70A9C27CB5B7B050C9090590D3A9EF83374F2643E5446FBD39DDB124DBF6DFDAA6D18E2560AD0CBFA11C959C9B7316BF19963A191967054E9FD97DC14D71082B30B1C90A46E8996682474C3BCB51BA0882958897B6DD35E41B5174D0A6BCDE97B89043E95BD1B70DE61DA666893B417196A180005466BC3A742FDF04E89B04460E3E6BC72E7F1B5FEA5B3092FEE551A3C447C12E104E65#)
(e #010001#)
)
)
+2 -2
View File
@@ -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
+1
View File
@@ -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
View File
@@ -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
View File
@@ -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
+5 -10
View File
@@ -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 <...>))
-4
View File
@@ -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")
+2 -21
View File
@@ -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.
-95
View File
@@ -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 -3
View File
@@ -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 -9
View File
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018 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
View File
@@ -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
View File
@@ -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
View File
@@ -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))
+484
View File
@@ -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
+1 -1
View File
@@ -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
View File
@@ -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
+21 -27
View File
@@ -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))))
+1 -1
View File
@@ -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)
+25 -33
View File
@@ -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
View File
@@ -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)
+11 -10
View File
@@ -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)
+8 -32
View File
@@ -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))))))
-1
View File
@@ -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
View File
@@ -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."
+4 -9
View File
@@ -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?
+1 -6
View File
@@ -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
View File
@@ -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
View File
@@ -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))
-470
View File
@@ -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
View File
@@ -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
View File
@@ -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)
+2
View File
@@ -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
View File
@@ -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
View File
@@ -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 ToomCook 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)))
-12
View File
@@ -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
+2 -2
View File
@@ -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 -2
View File
@@ -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"))))
+3 -5
View File
@@ -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
View File
@@ -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.
+2 -45
View File
@@ -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
View File
@@ -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
View File
@@ -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+)))
+25 -29
View File
@@ -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
View File
@@ -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
+2 -6
View File
@@ -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"))
+3 -31
View File
@@ -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)))
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+34 -37
View File
@@ -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
+13 -26
View File
@@ -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
+3 -7
View File
@@ -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))))))
+16 -16
View File
@@ -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
+5 -15
View File
@@ -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
View File
@@ -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)))
+2 -2
View File
@@ -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)))
+3 -6
View File
@@ -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
View File
@@ -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)
+5 -5
View File
@@ -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"))))
;; "Lets 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"))))
;; "Lets 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 "Lets
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+1 -1
View File
@@ -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))
+9 -9
View File
@@ -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)
+44 -58
View File
@@ -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
+6 -83
View File
@@ -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))))
+3 -12
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
-952
View File
@@ -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
View File
@@ -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
View File
@@ -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}.")
+3 -3
View File
@@ -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
+4 -4
View File
@@ -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
View File
@@ -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 TangentOrgs 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