Archived
1
0
Fork 0

Merge branch 'master' into core-updates

This commit is contained in:
Marius Bakke 2018-12-11 22:18:05 +01:00
commit b03e4fd526
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
383 changed files with 114393 additions and 25684 deletions

2
.gitignore vendored
View file

@ -90,7 +90,7 @@
/nix/config.h.in /nix/config.h.in
/nix/nix-daemon/nix-daemon.cc /nix/nix-daemon/nix-daemon.cc
/nix/nix-setuid-helper/nix-setuid-helper.cc /nix/nix-setuid-helper/nix-setuid-helper.cc
/nix/scripts/guix-authenticate /nix/scripts/authenticate
/nix/scripts/list-runtime-roots /nix/scripts/list-runtime-roots
/nix/scripts/offload /nix/scripts/offload
/nix/scripts/substitute /nix/scripts/substitute

View file

@ -12,6 +12,7 @@
# Copyright © 2018 Nils Gillmann <ng0@n0.is> # Copyright © 2018 Nils Gillmann <ng0@n0.is>
# Copyright © 2018 Julien Lepiller <julien@lepiller.eu> # Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
# Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> # Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
# #
# This file is part of GNU Guix. # This file is part of GNU Guix.
# #
@ -61,7 +62,9 @@ MODULES = \
guix/base16.scm \ guix/base16.scm \
guix/base32.scm \ guix/base32.scm \
guix/base64.scm \ guix/base64.scm \
guix/ci.scm \
guix/cpio.scm \ guix/cpio.scm \
guix/docker.scm \
guix/records.scm \ guix/records.scm \
guix/pki.scm \ guix/pki.scm \
guix/progress.scm \ guix/progress.scm \
@ -74,6 +77,7 @@ MODULES = \
guix/discovery.scm \ guix/discovery.scm \
guix/git-download.scm \ guix/git-download.scm \
guix/hg-download.scm \ guix/hg-download.scm \
guix/swh.scm \
guix/monads.scm \ guix/monads.scm \
guix/monad-repl.scm \ guix/monad-repl.scm \
guix/gexp.scm \ guix/gexp.scm \
@ -100,6 +104,7 @@ MODULES = \
guix/build-system/android-ndk.scm \ guix/build-system/android-ndk.scm \
guix/build-system/ant.scm \ guix/build-system/ant.scm \
guix/build-system/cargo.scm \ guix/build-system/cargo.scm \
guix/build-system/clojure.scm \
guix/build-system/cmake.scm \ guix/build-system/cmake.scm \
guix/build-system/dub.scm \ guix/build-system/dub.scm \
guix/build-system/emacs.scm \ guix/build-system/emacs.scm \
@ -172,6 +177,8 @@ MODULES = \
guix/build/syscalls.scm \ guix/build/syscalls.scm \
guix/build/gremlin.scm \ guix/build/gremlin.scm \
guix/build/debug-link.scm \ guix/build/debug-link.scm \
guix/build/clojure-build-system.scm \
guix/build/clojure-utils.scm \
guix/build/emacs-utils.scm \ guix/build/emacs-utils.scm \
guix/build/java-utils.scm \ guix/build/java-utils.scm \
guix/build/lisp-utils.scm \ guix/build/lisp-utils.scm \
@ -181,15 +188,24 @@ MODULES = \
guix/build/make-bootstrap.scm \ guix/build/make-bootstrap.scm \
guix/search-paths.scm \ guix/search-paths.scm \
guix/packages.scm \ guix/packages.scm \
guix/import/print.scm \
guix/import/utils.scm \
guix/import/gnu.scm \
guix/import/snix.scm \
guix/import/cabal.scm \ guix/import/cabal.scm \
guix/import/cpan.scm \
guix/import/cran.scm \ guix/import/cran.scm \
guix/import/hackage.scm \ guix/import/crate.scm \
guix/import/elpa.scm \ guix/import/elpa.scm \
guix/import/gem.scm \
guix/import/github.scm \
guix/import/gnome.scm \
guix/import/gnu.scm \
guix/import/hackage.scm \
guix/import/json.scm \
guix/import/opam.scm \
guix/import/print.scm \
guix/import/pypi.scm \
guix/import/snix.scm \
guix/import/stackage.scm \
guix/import/texlive.scm \ guix/import/texlive.scm \
guix/import/utils.scm \
guix/scripts.scm \ guix/scripts.scm \
guix/scripts/download.scm \ guix/scripts/download.scm \
guix/scripts/perform-download.scm \ guix/scripts/perform-download.scm \
@ -201,6 +217,7 @@ MODULES = \
guix/scripts/hash.scm \ guix/scripts/hash.scm \
guix/scripts/pack.scm \ guix/scripts/pack.scm \
guix/scripts/pull.scm \ guix/scripts/pull.scm \
guix/scripts/processes.scm \
guix/scripts/substitute.scm \ guix/scripts/substitute.scm \
guix/scripts/authenticate.scm \ guix/scripts/authenticate.scm \
guix/scripts/refresh.scm \ guix/scripts/refresh.scm \
@ -210,46 +227,29 @@ MODULES = \
guix/scripts/system/search.scm \ guix/scripts/system/search.scm \
guix/scripts/lint.scm \ guix/scripts/lint.scm \
guix/scripts/challenge.scm \ guix/scripts/challenge.scm \
guix/scripts/import/crate.scm \
guix/scripts/import/cran.scm \ guix/scripts/import/cran.scm \
guix/scripts/import/gnu.scm \
guix/scripts/import/nix.scm \
guix/scripts/import/hackage.scm \
guix/scripts/import/elpa.scm \ guix/scripts/import/elpa.scm \
guix/scripts/import/gem.scm \
guix/scripts/import/gnu.scm \
guix/scripts/import/hackage.scm \
guix/scripts/import/json.scm \
guix/scripts/import/nix.scm \
guix/scripts/import/opam.scm \
guix/scripts/import/pypi.scm \
guix/scripts/import/stackage.scm \
guix/scripts/import/texlive.scm \ guix/scripts/import/texlive.scm \
guix/scripts/environment.scm \ guix/scripts/environment.scm \
guix/scripts/publish.scm \ guix/scripts/publish.scm \
guix/scripts/edit.scm \ guix/scripts/edit.scm \
guix/scripts/size.scm \ guix/scripts/size.scm \
guix/scripts/graph.scm \ guix/scripts/graph.scm \
guix/scripts/weather.scm \
guix/scripts/container.scm \ guix/scripts/container.scm \
guix/scripts/container/exec.scm \ guix/scripts/container/exec.scm \
guix.scm \ guix.scm \
$(GNU_SYSTEM_MODULES) $(GNU_SYSTEM_MODULES)
if HAVE_GUILE_JSON
MODULES += \
guix/ci.scm \
guix/docker.scm \
guix/import/cpan.scm \
guix/import/crate.scm \
guix/import/gem.scm \
guix/import/github.scm \
guix/import/gnome.scm \
guix/import/json.scm \
guix/import/opam.scm \
guix/import/pypi.scm \
guix/import/stackage.scm \
guix/scripts/import/crate.scm \
guix/scripts/import/gem.scm \
guix/scripts/import/json.scm \
guix/scripts/import/opam.scm \
guix/scripts/import/pypi.scm \
guix/scripts/import/stackage.scm \
guix/scripts/weather.scm
endif
if HAVE_GUILE_SSH if HAVE_GUILE_SSH
MODULES += \ MODULES += \
@ -279,10 +279,10 @@ dist_noinst_DATA = guix/tests.scm guix/tests/http.scm
# Auxiliary files for packages. # Auxiliary files for packages.
AUX_FILES = \ AUX_FILES = \
gnu/packages/aux-files/emacs/guix-emacs.el \ gnu/packages/aux-files/emacs/guix-emacs.el \
gnu/packages/aux-files/linux-libre/4.18-arm.conf \ gnu/packages/aux-files/linux-libre/4.19-arm.conf \
gnu/packages/aux-files/linux-libre/4.18-arm64.conf \ gnu/packages/aux-files/linux-libre/4.19-arm64.conf \
gnu/packages/aux-files/linux-libre/4.18-i686.conf \ gnu/packages/aux-files/linux-libre/4.19-i686.conf \
gnu/packages/aux-files/linux-libre/4.18-x86_64.conf \ gnu/packages/aux-files/linux-libre/4.19-x86_64.conf \
gnu/packages/aux-files/linux-libre/4.14-arm.conf \ gnu/packages/aux-files/linux-libre/4.14-arm.conf \
gnu/packages/aux-files/linux-libre/4.14-i686.conf \ gnu/packages/aux-files/linux-libre/4.14-i686.conf \
gnu/packages/aux-files/linux-libre/4.14-x86_64.conf \ gnu/packages/aux-files/linux-libre/4.14-x86_64.conf \
@ -329,7 +329,11 @@ SCM_TESTS = \
tests/base16.scm \ tests/base16.scm \
tests/base32.scm \ tests/base32.scm \
tests/base64.scm \ tests/base64.scm \
tests/channels.scm \
tests/cpan.scm \
tests/cpio.scm \ tests/cpio.scm \
tests/crate.scm \
tests/gem.scm \
tests/pki.scm \ tests/pki.scm \
tests/print.scm \ tests/print.scm \
tests/sets.scm \ tests/sets.scm \
@ -343,6 +347,7 @@ SCM_TESTS = \
tests/ui.scm \ tests/ui.scm \
tests/status.scm \ tests/status.scm \
tests/records.scm \ tests/records.scm \
tests/processes.scm \
tests/upstream.scm \ tests/upstream.scm \
tests/combinators.scm \ tests/combinators.scm \
tests/discovery.scm \ tests/discovery.scm \
@ -382,28 +387,22 @@ SCM_TESTS = \
tests/services.scm \ tests/services.scm \
tests/scripts-build.scm \ tests/scripts-build.scm \
tests/containers.scm \ tests/containers.scm \
tests/opam.scm \
tests/pack.scm \ tests/pack.scm \
tests/pypi.scm \
tests/import-utils.scm \ tests/import-utils.scm \
tests/store-database.scm \ tests/store-database.scm \
tests/store-deduplication.scm tests/store-deduplication.scm
if HAVE_GUILE_JSON
SCM_TESTS += \
tests/pypi.scm \
tests/opam.scm \
tests/cpan.scm \
tests/gem.scm \
tests/crate.scm
endif
SH_TESTS = \ SH_TESTS = \
tests/guix-build.sh \ tests/guix-build.sh \
tests/guix-build-branch.sh \
tests/guix-download.sh \ tests/guix-download.sh \
tests/guix-gc.sh \ tests/guix-gc.sh \
tests/guix-hash.sh \ tests/guix-hash.sh \
tests/guix-pack.sh \ tests/guix-pack.sh \
tests/guix-pack-localstatedir.sh \
tests/guix-pack-relocatable.sh \
tests/guix-package.sh \ tests/guix-package.sh \
tests/guix-package-net.sh \ tests/guix-package-net.sh \
tests/guix-system.sh \ tests/guix-system.sh \
@ -460,8 +459,9 @@ check-system: $(GOBJECTS)
# Public key used to sign substitutes from hydra.gnu.org & co. # Public key used to sign substitutes from hydra.gnu.org & co.
dist_pkgdata_DATA = \ dist_pkgdata_DATA = \
hydra.gnu.org.pub \ etc/substitutes/hydra.gnu.org.pub \
berlin.guixsd.org.pub etc/substitutes/berlin.guixsd.org.pub \
etc/substitutes/ci.guix.info.pub
# Bash completion file. # Bash completion file.
dist_bashcompletion_DATA = etc/completion/bash/guix \ dist_bashcompletion_DATA = etc/completion/bash/guix \
@ -593,18 +593,17 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
--enable-daemon \ --enable-daemon \
ac_cv_guix_test_root="$(GUIX_TEST_ROOT)" ac_cv_guix_test_root="$(GUIX_TEST_ROOT)"
# The self-contained tarball. Add 'glibc-utf8-locales' along with glibc just # The self-contained tarball.
# so 'etc/profile' defines 'GUIX_LOCPATH' pointing to a valid set of locales.
guix-binary.%.tar.xz: guix-binary.%.tar.xz:
$(AM_V_GEN)GUIX_PACKAGE_PATH= \ $(AM_V_GEN)GUIX_PACKAGE_PATH= \
tarball=`$(top_builddir)/pre-inst-env guix pack -K -C xz \ tarball=`$(top_builddir)/pre-inst-env guix pack -K -C xz \
-s "$*" --localstatedir guix glibc-utf8-locales \ -s "$*" --localstatedir --profile-name=current-guix guix` ; \
-e '(@@ (gnu packages commencement) glibc-final)'` ; \
cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@" cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@"
dist-hook: $(distdir)/ChangeLog gen-AUTHORS gen-tarball-version dist-hook: $(distdir)/ChangeLog gen-AUTHORS gen-tarball-version
dist-hook: assert-no-store-file-names dist-hook: assert-no-store-file-names
dist-hook: doc-po-update
distcheck-hook: assert-binaries-available assert-final-inputs-self-contained distcheck-hook: assert-binaries-available assert-final-inputs-self-contained
@ -765,7 +764,7 @@ assert-no-store-file-names: $(distdir)/ChangeLog
exit 1 ; \ exit 1 ; \
fi fi
# Make sure hydra.gnu.org has the important binaries. # Make sure important substitutes are available.
assert-binaries-available: $(GOBJECTS) assert-binaries-available: $(GOBJECTS)
$(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \ $(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \
"$(top_srcdir)/build-aux/check-available-binaries.scm" "$(top_srcdir)/build-aux/check-available-binaries.scm"

96
NEWS
View file

@ -11,15 +11,109 @@ Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
Please send Guix bug reports to bug-guix@gnu.org. Please send Guix bug reports to bug-guix@gnu.org.
* Changes since 0.15.0 * Changes in 0.16.0 (since 0.15.0)
** Package management ** Package management
*** Default substitute URL changed to https://ci.guix.info
*** guix pull -l lists new and upgraded packages
*** guix pull now supports channels via ~/.config/guix/channels.scm
*** New --profile or -p option for guix pull
*** ~/.config/guix/current is now a symlink to /var/guix/profiles
*** New guix describe command
*** guix package no longer shows build logs by default
*** guix commands now produce colored output by default
*** User interface now reports grafts separately
*** Manifests can now refer to arbitrary Guix commits using “inferiors”
*** New --with-branch and --with-commit package transformation options
*** guix build -f now accepts any kind of “file-like object”
*** Git checkouts may now be fetched from Software Heritage
*** New guix repl command for use by inferiors
*** New guix processes command
*** guix pack now honors --localstatedir for all its backends
*** New opam importer for guix import
*** guix import pypi has a new --recursive option *** guix import pypi has a new --recursive option
*** guix import hackage has a new --recursive option *** guix import hackage has a new --recursive option
*** guix import stackage has a new --recursive option *** guix import stackage has a new --recursive option
The short option for --lts-version is now -l (used to be -r). The short option for --lts-version is now -l (used to be -r).
*** guix refresh now stores upstream keys in ~/.config/guix/upstream
*** Guix now depends on Guile-Gcrypt
*** Guix now requires Guile-JSON
** Distribution
*** Rust is now bootstrapped from mrustc
*** The GNU Shepherd was upgraded to 0.5.0
*** guix system reconfigure now loads Shepherd service replacements
*** herd schedule mcron now displays mcrons job schedule
*** herd statistics nscd now displays nscd statistics
*** herd invalidate nscd TABLE instructs nscd to invalidate TABLE
*** New services
ddclient, gitolite, iptables, pcscd, prometheus-node-exporter, varnish
*** 985 new packages
*** 1945 package updates
Noteworthy updates:
bash 4.4.23, binutils 2.31.1, cups 2.2.8, enlightenment 0.22.4, gcc 8.2.0,
gdb 8.2, ghc 8.4.3, gimp 2.10.6, glibc 2.28, gnupg 2.2.11, go 1.11.1,
guile 2.2.4, icecat 60.3.0-gnu1, icedtea 3.7.0, libreoffice 6.1.3.2,
linux-libre 4.19.6, ocaml 4.07.1, octave 4.4.1, perl 5.28.0,
python2 2.7.15, python 3.7.0, racket 7.0, rust 1.28.0, r 3.5.1,
sbcl 1.4.13, shepherd 0.5.0, xorg-server 1.20.3
** Programming interfaces
*** New (guix channels) module, see “Channels” in the manual
*** New (guix inferior) module, see “Inferiors” in the manual
*** New (guix describe) module, used by guix describe
*** New (guix status) module, for build progress reporting
*** packages->manifest now accepts inferior packages
*** New build systems: clojure, guile
*** New git-checkout record constructor in (guix git)
*** Shepherd services can now declare custom actions
*** More of the (gnu system …) APIs are now non-monadic
*** New add-file-tree-to-store procedure in (guix store)
*** New (guix swh) module to access Software Heritage
*** New (guix build debug-link) module, for ELF .gnu_debuglink sections
** Noteworthy bug fixes
*** Fix GCC crashes caused by a patch of ours (<https://bugs.gnu.org/31708>)
*** guix import hackage now supports custom-setup field
(<https://bugs.gnu.org/23961>)
*** guix-daemon taken from guix pull looks up guix in the right place
(<https://bugs.gnu.org/32183>)
*** Try several file names when looking up kernel modules
(<https://bugs.gnu.org/31714>)
*** file-system-* services are now always started after udev
(<https://bugs.gnu.org/32313>)
*** Racket now ignores bytecode checksums for files in the store
(<https://bugs.gnu.org/30680>)
*** Grafting now updates CRCs in .gnu_debuglink ELF sections
(<https://bugs.gnu.org/19973>)
*** UUID computation for VMs is now deterministic (<https://bugs.gnu.org/32652>)
*** git-predicate from (guix git) now uses Guile-Git, which fixes corner cases
(<https://bugs.gnu.org/27925>)
*** (guix store database) registers each store item only once
(<https://bugs.gnu.org/32600>)
*** The File > Open dialog in LibreOffice no longer triggers a crash
(<https://bugs.gnu.org/30642>)
*** Account home directory is always honored (<https://bugs.gnu.org/33422>)
** Native language support
*** The manual is now partially translated into German, in addition to French
To read the German manual, just type “info guix.de” or read it on-line at
<https://gnu.org/s/guix/manual/de/html_node>. Consider translating the manual
to your native language by joining the Translation Project:
<https://translationproject.org/domain/guix-manual.html>.
*** Updated translations:
*** New translations:
* Changes in 0.15.0 (since 0.14.0) * Changes in 0.15.0 (since 0.14.0)

4
README
View file

@ -24,10 +24,10 @@ GNU Guix currently depends on the following packages:
- [[https://notabug.org/cwebber/guile-gcrypt][Guile-Gcrypt]] 0.1.0 or later - [[https://notabug.org/cwebber/guile-gcrypt][Guile-Gcrypt]] 0.1.0 or later
- [[https://www.gnu.org/software/make/][GNU Make]] - [[https://www.gnu.org/software/make/][GNU Make]]
- [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled - [[https://www.gnutls.org][GnuTLS]] compiled with guile support enabled
- [[https://notabug.org/civodul/guile-sqlite3][Guile-SQLite3]], version 0.1.0 or later - [[https://notabug.org/guile-sqlite3/guile-sqlite3][Guile-SQLite3]], version 0.1.0 or later
- [[https://gitlab.com/guile-git/guile-git][Guile-Git]] - [[https://gitlab.com/guile-git/guile-git][Guile-Git]]
- [[http://www.zlib.net/][zlib]] - [[http://www.zlib.net/][zlib]]
- optionally [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]], for the 'guix import pypi' command - [[https://savannah.nongnu.org/projects/guile-json/][Guile-JSON]]
Unless `--disable-daemon' was passed, the following packages are needed: Unless `--disable-daemon' was passed, the following packages are needed:

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017 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. ;;; This file is part of GNU Guix.
;;; ;;;
@ -17,7 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; ;;;
;;; Check whether important binaries are available at hydra.gnu.org. ;;; Check whether important binaries are available.
;;; ;;;
(use-modules (guix store) (use-modules (guix store)

View file

@ -17,7 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
;;; ;;;
;;; Check whether important binaries are available at hydra.gnu.org. ;;; Check whether important binaries are available.
;;; ;;;
(use-modules (guix store) (use-modules (guix store)

View file

@ -187,14 +187,14 @@ system.")
(bootloader u-boot-bootloader) (bootloader u-boot-bootloader)
(target #f)))) (target #f))))
#:disk-image-size #:disk-image-size
(* 1024 MiB)))))) (* 1500 MiB))))))
(list (->job 'usb-image (list (->job 'usb-image
(run-with-store store (run-with-store store
(mbegin %store-monad (mbegin %store-monad
(set-guile-for-build (default-guile)) (set-guile-for-build (default-guile))
(system-disk-image installation-os (system-disk-image installation-os
#:disk-image-size #:disk-image-size
(* 1024 MiB))))) (* 1500 MiB)))))
(->job 'iso9660-image (->job 'iso9660-image
(run-with-store store (run-with-store store
(mbegin %store-monad (mbegin %store-monad

View file

@ -30,6 +30,7 @@
(ice-9 match) (ice-9 match)
(ice-9 rdelim) (ice-9 rdelim)
(ice-9 regex) (ice-9 regex)
(ice-9 vlist)
(ice-9 pretty-print)) (ice-9 pretty-print))
(define %header-rx (define %header-rx
@ -98,31 +99,60 @@ paragraph."
(lambda (match port) (lambda (match port)
(let ((stars (match:substring match 1))) (let ((stars (match:substring match 1)))
(format port (format port
"~a ~a new packages~%~%~a~%~%" "~a ~a new packages~%~%"
stars (length added) stars (length added)))))))))
(enumeration->paragraph added)))))))))
(define (write-packages-updates news-file old new) (define (write-packages-updates news-file old new)
"Write to NEWS-FILE the list of packages upgraded between OLD and NEW." "Write to NEWS-FILE the list of packages upgraded between OLD and NEW."
(let ((upgraded (filter-map (match-lambda (define important
'("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
"ghc" "rust" "go" "julia" "r" "ocaml"
"icedtea" "openjdk" "clojure" "sbcl" "racket"
"emacs" "gimp" "inkscape" "libreoffice" ;applications
"octave" "icecat" "gnupg"))
(let* ((table (fold (lambda (package table)
(match package
((name . version)
(vhash-cons name version table))))
vlist-null
new))
(latest (lambda (name)
(let ((versions (vhash-fold* cons '() name table)))
(match (sort versions version>?)
((latest . _) latest)))))
(upgraded (filter-map (match-lambda
((package . new-version) ((package . new-version)
(match (assoc package old) (match (assoc package old)
((_ . old-version) ((_ . old-version)
(and (version>? new-version old-version) (and (string=? new-version
(string-append package "@" (latest package))
new-version))) (version>? new-version old-version)
(cons package new-version)))
(_ #f)))) (_ #f))))
new))) new))
(noteworthy (filter (match-lambda
((package . version)
(member package important)))
upgraded)))
(with-atomic-file-replacement news-file (with-atomic-file-replacement news-file
(lambda (input output) (lambda (input output)
(rewrite-org-section input output (rewrite-org-section input output
(make-regexp "^(\\*+) (.*) package updates") (make-regexp "^(\\*+) (.*) package updates")
(lambda (match port) (lambda (match port)
(let ((stars (match:substring match 1))) (let ((stars (match:substring match 1))
(lst (map (match-lambda
((package . version)
(string-append package " "
version)))
noteworthy)))
(format port (format port
"~a ~a package updates~%~%~a~%~%" "~a ~a package updates~%~%Noteworthy updates:~%~a~%~%"
stars (length upgraded) stars (length upgraded)
(enumeration->paragraph upgraded))))))))) (enumeration->paragraph lst)))))))))
(define (main . args) (define (main . args)
@ -138,6 +168,8 @@ paragraph."
(let-values (((previous-version new-version) (let-values (((previous-version new-version)
(call-with-input-file news-file NEWS->versions))) (call-with-input-file news-file NEWS->versions)))
(format (current-error-port) "Updating NEWS for ~a to ~a...~%"
previous-version new-version)
(let* ((old (call-with-input-file (package-file previous-version) (let* ((old (call-with-input-file (package-file previous-version)
read)) read))
(new (fold-packages (lambda (p r) (new (fold-packages (lambda (p r)

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -133,7 +133,8 @@ COMMIT."
;; Add an indirect GC root for SOURCE in the current directory. ;; Add an indirect GC root for SOURCE in the current directory.
(false-if-exception (delete-file root)) (false-if-exception (delete-file root))
(symlink source root) (symlink source root)
(add-indirect-root store root) (add-indirect-root store
(string-append (getcwd) "/" root))
(format #t "source code for commit ~a: ~a (GC root: ~a)~%" (format #t "source code for commit ~a: ~a (GC root: ~a)~%"
commit source root))))) commit source root)))))

View file

@ -120,15 +120,7 @@ if test "x$guix_build_daemon" = "xyes"; then
dnl Determine the appropriate default list of substitute URLs (GnuTLS dnl Determine the appropriate default list of substitute URLs (GnuTLS
dnl is required so we can default to 'https'.) dnl is required so we can default to 'https'.)
case "x$host_cpu" in guix_substitute_urls="https://ci.guix.info"
xaarch64)
# Currently only berlin.guixsd.org provides aarch64 binaries.
guix_substitute_urls="https://berlin.guixsd.org"
;;
*)
guix_substitute_urls="https://mirror.hydra.gnu.org"
;;
esac
AC_MSG_CHECKING([for default substitute URLs]) AC_MSG_CHECKING([for default substitute URLs])
AC_MSG_RESULT([$guix_substitute_urls]) AC_MSG_RESULT([$guix_substitute_urls])
@ -163,8 +155,8 @@ if test "x$guix_build_daemon" = "xyes"; then
[chmod +x nix/scripts/download]) [chmod +x nix/scripts/download])
AC_CONFIG_FILES([nix/scripts/substitute], AC_CONFIG_FILES([nix/scripts/substitute],
[chmod +x nix/scripts/substitute]) [chmod +x nix/scripts/substitute])
AC_CONFIG_FILES([nix/scripts/guix-authenticate], AC_CONFIG_FILES([nix/scripts/authenticate],
[chmod +x nix/scripts/guix-authenticate]) [chmod +x nix/scripts/authenticate])
AC_CONFIG_FILES([nix/scripts/offload], AC_CONFIG_FILES([nix/scripts/offload],
[chmod +x nix/scripts/offload]) [chmod +x nix/scripts/offload])
fi fi

View file

@ -122,9 +122,11 @@ if test "x$have_guile_git" != "xyes"; then
AC_MSG_ERROR([Guile-Git is missing; please install it.]) AC_MSG_ERROR([Guile-Git is missing; please install it.])
fi fi
dnl Guile-JSON is used in various places. dnl Check for Guile-JSON.
GUILE_MODULE_AVAILABLE([have_guile_json], [(json)]) GUILE_MODULE_AVAILABLE([have_guile_json], [(json)])
AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"]) if test "x$have_guile_json" != "xyes"; then
AC_MSG_ERROR([Guile-JSON is missing; please install it.])
fi
dnl Guile-Sqlite3 is used by the (guix store ...) modules. dnl Guile-Sqlite3 is used by the (guix store ...) modules.
GUIX_CHECK_GUILE_SQLITE3 GUIX_CHECK_GUILE_SQLITE3

534
doc/contributing.de.texi Normal file
View file

@ -0,0 +1,534 @@
@node Mitwirken
@chapter Mitwirken
Dieses Projekt basiert auf Kooperation, daher benötigen wir Ihre Hilfe, um
es wachsen zu lassen! Bitte kontaktieren Sie uns auf
@email{guix-devel@@gnu.org} und @code{#guix} im Freenode-IRC-Netzwerk. Wir
freuen uns auf Ihre Ideen, Fehlerberichte, Patches und alles, was hilfreich
für das Projekt sein könnte. Besonders willkommen ist Hilfe bei der
Erstellung von Paketen (@pxref{Paketrichtlinien}).
@cindex Verhaltensregeln, für Mitwirkende
@cindex Verhaltenskodex für Mitwirkende
Wir möchten eine angenehme, freundliche und von Belästigungen freie Umgebung
bereitstellen, so dass jeder Beiträge nach seinen Fähigkeiten leisten
kann. Zu diesem Zweck verwendet unser Projekt einen »Verhaltenskodex für
Mitwirkende«, der von @url{http://contributor-covenant.org/} übernommen
wurde. Eine übersetzte Fassung finden Sie auf
@url{https://www.contributor-covenant.org/de/version/1/4/code-of-conduct}
sowie eine mitgelieferte, englische Fassung in der Datei
@file{CODE-OF-CONDUCT} im Quellbaum.
Von Mitwirkenden wird nicht erwartet, dass sie in Patches oder in der
Online-Kommunikation ihre echten Namen preisgeben. Sie können einen
beliebigen Namen oder ein Pseudonym ihrer Wahl verwenden.
@menu
* Erstellung aus dem Git:: Das Neueste und Beste.
* Guix vor der Installation ausführen:: Hacker-Tricks.
* Perfekt eingerichtet:: Die richtigen Werkzeuge.
* Code-Stil:: Wie Mitwirkende hygienisch arbeiten.
* Einreichen von Patches:: Teilen Sie Ihre Arbeit.
@end menu
@node Erstellung aus dem Git
@section Erstellung aus dem Git
Wenn Sie an Guix selbst hacken wollen, ist es empfehlenswert, dass Sie die
neueste Version aus dem Git-Softwarebestand verwenden:
@example
git clone https://git.savannah.gnu.org/git/guix.git
@end example
Wenn Sie Guix aus einem Checkout erstellen, sind außer den bereits in den
Installationsanweisungen genannten Paketen weitere nötig
(@pxref{Voraussetzungen}).
@itemize
@item @url{http://gnu.org/software/autoconf/, GNU Autoconf};
@item @url{http://gnu.org/software/automake/, GNU Automake};
@item @url{http://gnu.org/software/gettext/, GNU Gettext};
@item @url{http://gnu.org/software/texinfo/, GNU Texinfo};
@item @url{http://www.graphviz.org/, Graphviz};
@item @url{http://www.gnu.org/software/help2man/, GNU Help2man (optional)}.
@end itemize
Der einfachste Weg, eine Entwicklungsumgebung für Guix einzurichten, ist
natürlich, Guix zu benutzen! Der folgende Befehl startet eine neue Shell, in
der alle Abhängigkeiten und Umgebungsvariablen bereits eingerichtet sind, um
an Guix zu arbeiten:
@example
guix environment guix
@end example
In @xref{Aufruf von guix environment} finden Sie weitere Informationen zu
diesem Befehl. Zusätzliche Abhängigkeiten können mit @option{--ad-hoc}
hinzugefügt werden:
@example
guix environment guix --ad-hoc help2man git strace
@end example
Führen Sie @command{./bootstrap} aus, um die Infrastruktur des
Erstellungssystems mit Autoconf und Automake zu erstellen. Möglicherweise
erhalten Sie eine Fehlermeldung wie diese:
@example
configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES
@end example
@noindent
Das bedeutet wahrscheinlich, dass Autoconf @file{pkg.m4} nicht finden
konnte, welches von pkg-config bereitgestellt wird. Stellen Sie sicher, dass
@file{pkg.m4} verfügbar ist. Gleiches gilt für den von Guile
bereitgestellten Makrosatz @file{guile.m4}. Wenn Sie beispielsweise Automake
in @file{/usr/local} installiert haben, würde in @file{/usr/share} nicht
nach @file{.m4}-Dateien geschaut. In einem solchen Fall müssen Sie folgenden
Befehl aufrufen:
@example
export ACLOCAL_PATH=/usr/share/aclocal
@end example
In @xref{Macro Search Path,,, automake, The GNU Automake Manual} finden Sie
weitere Informationen.
Dann führen Sie wie gewohnt @command{./configure} aus. Achten Sie darauf,
@code{--localstatedir=@var{Verzeichnis}} zu übergeben, wobei
@var{Verzeichnis} der von Ihrer aktuellen Installation verwendete
@code{localstatedir}-Wert ist (weitere Informationen auf @pxref{Der Store}).
Zum Schluss müssen Sie @code{make check} aufrufen, um die Tests auszuführen
(@pxref{Die Testsuite laufen lassen}). Falls etwas fehlschlägt, werfen Sie einen
Blick auf die Installationsanweisungen (@pxref{Installation}) oder senden
Sie eine E-Mail an die @email{guix-devel@@gnu.org, Mailingliste}.
@node Guix vor der Installation ausführen
@section Guix vor der Installation ausführen
Um eine gesunde Arbeitsumgebung zu erhalten, ist es hilfreich, die im
lokalen Quellbaum vorgenommenen Änderungen zunächst zu testen, ohne sie
tatsächlich zu installieren. So können Sie zwischen Ihrem
Endnutzer-»Straßenanzug« und Ihrem »Faschingskostüm« unterscheiden.
To that end, all the command-line tools can be used even if you have not run
@code{make install}. To do that, you first need to have an environment with
all the dependencies available (@pxref{Erstellung aus dem 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}), 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.}:
@example
$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild
$ ./pre-inst-env guix build hello
@end example
@noindent
Entsprechend, um eine Guile-Sitzung zu öffnen, die die Guix-Module benutzt:
@example
$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'
;;; ("x86_64-linux")
@end example
@noindent
@cindex REPL
@cindex Lese-Auswerten-Schreiben-Schleife
@dots{} und auf einer REPL (@pxref{Using Guile Interactively,,, guile, Guile
Reference Manual}):
@example
$ ./pre-inst-env guile
scheme@@(guile-user)> ,use(guix)
scheme@@(guile-user)> ,use(gnu)
scheme@@(guile-user)> (define snakes
(fold-packages
(lambda (package lst)
(if (string-prefix? "python"
(package-name package))
(cons package lst)
lst))
'()))
scheme@@(guile-user)> (length snakes)
$1 = 361
@end example
Das @command{pre-inst-env}-Skript richtet alle Umgebungsvariablen ein, die
nötig sind, um dies zu ermöglichen, einschließlich @env{PATH} und
@env{GUILE_LOAD_PATH}.
Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the
local source tree; it simply updates the @file{~/.config/guix/current}
symlink (@pxref{Aufruf von guix pull}). Run @command{git pull} instead if you
want to upgrade your local source tree.
@node Perfekt eingerichtet
@section Perfekt eingerichtet
Um perfekt für das Hacken an Guix eingerichtet zu sein, brauchen Sie an sich
dasselbe wie um perfekt für das Hacken mit Guile (@pxref{Using Guile in
Emacs,,, guile, Guile Reference Manual}). Zunächst brauchen Sie mehr als
ein Textverarbeitungsprogramm, Sie brauchen
@url{http://www.gnu.org/software/emacs, Emacs}, ermächtigt vom wunderbaren
@url{http://nongnu.org/geiser/, Geiser}.
Geiser ermöglicht interaktive und inkrementelle Entwicklung aus Emacs
heraus: Code kann in Puffern kompiliert und ausgewertet werden. Zugang zu
Online-Dokumentation (Docstrings) steht ebenso zur Verfügung wie
kontextabhängige Vervollständigung, @kbd{M-.} um zu einer Objektdefinition
zu springen, eine REPL, um Ihren Code auszuprobieren, und mehr
(@pxref{Einführung,,, geiser, Geiser User Manual}). Zur bequemen
Guix-Entwicklung sollten Sie Guiles Ladepfad so ergänzen, dass die
Quelldateien in Ihrem Checkout gefunden werden.
@lisp
;; @r{Angenommen das Guix-Checkout ist in ~/src/guix.}
(with-eval-after-load 'geiser-guile
(add-to-list 'geiser-guile-load-path "~/src/guix"))
@end lisp
Um den Code tatsächlich zu bearbeiten, bietet Emacs schon einen netten
Scheme-Modus. Aber Sie dürfen auch
@url{http://www.emacswiki.org/emacs/ParEdit, Paredit} nicht verpassen. Es
bietet Hilfsmittel, um direkt mit dem Syntaxbaum zu arbeiten, und kann so
zum Beispiel einen S-Ausdruck hochheben oder ihn umhüllen, ihn verschlucken
oder den nachfolgenden S-Ausdruck verwerfen, etc.
@cindex Code-Schnipsel
@cindex Vorlagen
@cindex Tipparbeit sparen
Wir bieten auch Vorlagen für häufige Git-Commit-Nachrichten und
Paketdefinitionen im Verzeichnis @file{etc/snippets}. Diese Vorlagen können
mit @url{http://joaotavora.github.io/yasnippet/, YASnippet} zusammen benutzt
werden, um kurze Auslöse-Zeichenketten zu interaktiven Textschnipseln
umzuschreiben. Vielleicht möchten Sie das Schnipselverzeichnis zu Ihrer
@var{yas-snippet-dirs}-Variablen in Emacs hinzufügen.
@lisp
;; @r{Angenommen das Guix-Checkout ist in ~/src/guix.}
(with-eval-after-load 'yasnippet
(add-to-list 'yas-snippet-dirs "~/src/guix/etc/snippets"))
@end lisp
The commit message snippets depend on @url{https://magit.vc/, Magit} to
display staged files. When editing a commit message type @code{add}
followed by @kbd{TAB} to insert a commit message template for adding a
package; type @code{update} followed by @kbd{TAB} to insert a template for
updating a package; type @code{https} followed by @kbd{TAB} to insert a
template for changing the home page URI of a package to HTTPS.
Das Hauptschnipsel für @code{scheme-mode} wird ausgelöst, indem Sie
@code{package...} gefolgt von @kbd{TAB} eintippen. Dieses Snippet fügt auch
die Auslöse-Zeichenkette @code{origin...} ein, die danach weiter
umgeschrieben werden kann. Das @code{origin}-Schnipsel kann wiederum andere
Auslöse-Zeichenketten einfügen, die alle auf @code{...} enden, was selbst
wieder weiter umgeschrieben werden kann.
@node Code-Stil
@section Code-Stil
Im Allgemeinen folgt unser Code den GNU Coding Standards (@pxref{Top,,,
standards, GNU Coding Standards}). Da diese aber nicht viel über Scheme zu
sagen haben, folgen hier einige zusätzliche Regeln.
@menu
* Programmierparadigmen:: Wie Sie Ihre Elemente zusammenstellen.
* Module:: Wo Sie Ihren Code unterbringen.
* Datentypen und Mustervergleich:: Implementierung von Datenstrukturen.
* Formatierung von Code:: Schreibkonventionen.
@end menu
@node Programmierparadigmen
@subsection Programmierparadigmen
Scheme-Code wird in Guix auf rein funktionale Weise geschrieben. Eine
Ausnahme ist Code, der mit Ein- und Ausgabe zu tun hat, und Prozeduren, die
grundlegende Konzepte implementieren, wie zum Beispiel die Prozedur
@code{memoize}.
@node Module
@subsection Module
Guile-Module, die beim Erstellen nutzbar sein sollen, müssen im Namensraum
@code{(guix build @dots{})} leben. Sie dürfen auf keine anderen Guix- oder
GNU-Module Bezug nehmen. Jedoch ist es in Ordnung, wenn ein »wirtsseitiges«
Modul ein erstellungsseitiges Modul benutzt.
Module, die mit dem weiteren GNU-System zu tun haben, sollten im Namensraum
@code{(gnu @dots{})} und nicht in @code{(guix @dots{})} stehen.
@node Datentypen und Mustervergleich
@subsection Datentypen und Mustervergleich
Im klassischen Lisp gibt es die Tendenz, Listen zur Darstellung von allem zu
benutzen, und diese dann »händisch« zu durchlaufen mit @code{car},
@code{cdr}, @code{cadr} und so weiter. Dieser Stil ist aus verschiedenen
Gründen problematisch, insbesondere wegen der Tatsache, dass er schwer zu
lesen, schnell fehlerbehaftet und ein Hindernis beim Melden von Typfehlern
ist.
Guix-Code sollte angemessene Datentypen definieren (zum Beispiel mit
@code{define-record-type*}) statt Listen zu missbrauchen. Außerdem sollte er
das @code{(ice-9 match)}-Modul von Guile zum Mustervergleich benutzen,
besonders mit Listen.
@node Formatierung von Code
@subsection Formatierung von Code
@cindex Formatierung von Code
@cindex Code-Stil
Beim Schreiben von Scheme-Code halten wir uns an die üblichen
Gepflogenheiten unter Scheme-Programmierern. Im Allgemeinen bedeutet das,
dass wir uns an @url{http://mumble.net/~campbell/scheme/style.txt,
Riastradh's Lisp Style Rules} halten. Es hat sich ergeben, dass dieses
Dokument auch die Konventionen beschreibt, die im Code von Guile
hauptsächlich verwendet werden. Es ist gut durchdacht und schön geschrieben,
also lesen Sie es bitte.
Ein paar in Guix eingeführte Sonderformen, wie zum Beispiel das
@code{substitute*}-Makro, haben abweichende Regeln für die Einrückung. Diese
sind in der Datei @file{.dir-locals.el} definiert, die Emacs automatisch
benutzt. Beachten Sie auch, dass Emacs-Guix einen Modus namens
@code{guix-devel-mode} bereitstellt, der Guix-Code richtig einrückt und
hervorhebt (@pxref{Development,,, emacs-guix, The Emacs-Guix Reference
Manual}).
@cindex Einrückung, Code-
@cindex Formatierung, Code-
Falls Sie nicht Emacs verwenden, sollten Sie sicherstellen, dass Ihr Editor
diese Regeln kennt. Um eine Paketdefinition automatisch einzurücken, können
Sie auch Folgendes ausführen:
@example
./etc/indent-code.el gnu/packages/@var{Datei}.scm @var{Paket}
@end example
@noindent
Dadurch wird die Definition von @var{Paket} in
@file{gnu/packages/@var{Datei}.scm} automatisch eingerückt, indem Emacs im
Batch-Modus läuft. Um die Einrückung in einer gesamten Datei vorzunehmen,
lassen Sie das zweite Argument weg:
@example
./etc/indent-code.el gnu/services/@var{Datei}.scm
@end example
@cindex Vim, zum Editieren von Scheme-Code
Wenn Sie Code mit Vim bearbeiten, empfehlen wir, dass Sie @code{:set
autoindent} ausführen, damit Ihr Code automatisch eingerückt wird, während
Sie ihn schreiben. Außerdem könnte Ihnen
@uref{https://www.vim.org/scripts/script.php?script_id=3998,
@code{paredit.vim}} dabei helfen, mit all diesen Klammern fertigzuwerden.
Wir fordern von allen Prozeduren auf oberster Ebene, dass sie über einen
Docstring verfügen. Diese Voraussetzung kann jedoch bei einfachen, privaten
Prozeduren im Namensraum @code{(guix build @dots{})} aufgeweicht werden.
Prozeduren sollten nicht mehr als vier positionsbestimmte Parameter
haben. Benutzen Sie Schlüsselwort-Parameter für Prozeduren, die mehr als
vier Parameter entgegennehmen.
@node Einreichen von Patches
@section Einreichen von Patches
Die Entwicklung wird mit Hilfe des verteilten Versionskontrollsystems Git
durchgeführt. Daher ist eine ständige Verbindung zum Repository nicht
unbedingt erforderlich. Wir begrüßen Beiträge in Form von Patches, die
mittels @code{git format-patch} erstellt und an die Mailingliste
@email{guix-patches@@gnu.org} geschickt werden.
Diese Mailing-Liste setzt auf einer Debbugs-Instanz auf, die zugänglich ist
unter @uref{https://bugs.gnu.org/guix-patches}, wodurch wir den Überblick
über Eingereichtes behalten können. Jede an diese Mailing-Liste gesendete
Nachricht bekommt eine neue Folgenummer zugewiesen, so dass man eine
Folge-Email zur Einreichung an @code{@var{NNN}@@debbugs.gnu.org} senden
kann, wobei @var{NNN} für die Folgenummer steht (@pxref{Senden einer Patch-Reihe}).
Bitte schreiben Sie Commit-Logs im ChangeLog-Format (@pxref{Change Logs,,,
standards, GNU Coding Standards}); dazu finden Sie Beispiele unter den
bisherigen Commits.
Bevor Sie einen Patch einreichen, der eine Paketdefinition hinzufügt oder
verändert, gehen Sie bitte diese Prüfliste durch:
@enumerate
@item
Wenn die Autoren der verpackten Software eine kryptographische Signatur für
den Tarball der Veröffentlichung anbieten, so machen Sie sich bitte die
Mühe, die Echtheit des Archivs zu überprüfen. Für eine abgetrennte
GPG-Signaturdatei würden Sie das mit dem Befehl @code{gpg --verify} tun.
@item
Nehmen Sie sich die Zeit, eine passende Zusammenfassung und Beschreibung für
das Paket zu verfassen. Unter @xref{Zusammenfassungen und Beschreibungen} finden Sie
dazu einige Richtlinien.
@item
Verwenden Sie @code{guix lint @var{Paket}}, wobei @var{Paket} das neue oder
geänderte Paket bezeichnet, und beheben Sie alle gemeldeten Fehler
(@pxref{Aufruf von guix lint}).
@item
Stellen Sie sicher, dass das Paket auf Ihrer Plattform erstellt werden kann,
indem Sie @code{guix build @var{Paket}} ausführen.
@item
@cindex gebündelt
Achten Sie darauf, dass im Paket keine Software gebündelt mitgeliefert wird,
die bereits in separaten Paketen zur Verfügung steht.
Manchmal enthalten Pakete Kopien des Quellcodes ihrer Abhängigkeiten, um
Nutzern die Installation zu erleichtern. Als eine Distribution wollen wir
jedoch sicherstellen, dass solche Pakete die schon in der Distribution
verfügbare Fassung benutzen, sofern es eine gibt. Dadurch wird sowohl der
Ressourcenverbrauch optimiert (die Abhängigkeit wird so nur einmal erstellt
und gespeichert) als auch der Distribution die Möglichkeit gegeben,
ergänzende Änderungen durchzuführen, um beispielsweise
Sicherheitsaktualisierungen für ein bestimmtes Paket an nur einem Ort
einzuspielen, die aber das gesamte System betreffen — gebündelt
mitgelieferte Kopien würden dies verhindern.
@item
Schauen Sie sich das von @command{guix size} ausgegebene Profil an
(@pxref{Aufruf von guix size}). Dadurch können Sie Referenzen auf andere
Pakete finden, die ungewollt vorhanden sind. Dies kann auch dabei helfen, zu
entscheiden, ob das Paket aufgespalten werden sollte (@pxref{Pakete mit mehreren Ausgaben.}) und welche optionalen Abhängigkeiten verwendet werden
sollten.
@item
Achten Sie bei wichtigen Änderungen darauf, dass abhängige Pakete (falls
vorhanden) nicht von der Änderung beeinträchtigt werden; @code{guix refresh
--list-dependent @var{Paket}} hilft Ihnen dabei (@pxref{Aufruf von guix refresh}).
@c ===========================================================================
@c
@c This file was generated with po4a. Translate the source file.
@c
@c ===========================================================================
@c See <https://lists.gnu.org/archive/html/guix-devel/2016-10/msg00933.html>.
@cindex Branching-Strategie
@cindex Neuerstellungs-Zeitplan
Je nachdem, wieviele abhängige Pakete es gibt, und entsprechend wieviele
Neuerstellungen dadurch nötig würden, finden Commits auf anderen Branches
statt, nach ungefähr diesen Regeln:
@table @asis
@item 300 abhängige Pakete oder weniger
@code{master}-Branch (störfreie Änderungen).
@item zwischen 300 und 1200 abhängige Pakete
@code{staging}-Branch (störfreie Änderungen). Dieser Branch wird circa alle
3 Wochen in @code{master} gemerget. Themenbezogene Änderungen (z.B. eine
Aktualisierung der GNOME-Plattform) können stattdessen auch auf einem
eigenen Branch umgesetzt werden (wie @code{gnome-updates}).
@item mehr als 1200 abhängige Pakete
@code{core-updates}-Branch (kann auch größere und womöglich andere Software
beeinträchtigende Änderungen umfassen). Dieser Branch wird planmäßig in
@code{master} alle 2,5 Monate oder so gemerget.
@end table
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 binaries are not available.
@c TODO: It would be good with badges on the website that tracks these
@c branches. Or maybe even a status page.
Generally, branches other than @code{master} are considered @emph{frozen} if
there has been a recent evaluation, or there is a corresponding @code{-next}
branch. Please ask on the mailing list or IRC if unsure where to place a
patch.
@item
@cindex Determinismus, von Erstellungsprozessen
@cindex Reproduzierbare Erstellungen, Überprüfung
Überprüfen Sie, ob der Erstellungsprozess deterministisch ist. Dazu prüfen
Sie typischerweise, ob eine unabhängige Erstellung des Pakets genau dasselbe
Ergebnis wie Ihre Erstellung hat, Bit für Bit.
Dies können Sie leicht tun, indem Sie dasselbe Paket mehrere Male
hintereinander auf Ihrer Maschine erstellen (@pxref{Aufruf von guix build}):
@example
guix build --rounds=2 mein-paket
@end example
Dies reicht aus, um eine ganze Klasse häufiger Ursachen von
Nichtdeterminismus zu finden, wie zum Beispiel Zeitstempel oder
zufallsgenerierte Ausgaben im Ergebnis der Erstellung.
Eine weitere Möglichkeit ist, @command{guix challenge} (@pxref{Aufruf von guix challenge}) zu benutzen. Sie können es ausführen, sobald ein Paket commitet
und von @code{hydra.gnu.org} erstellt wurde, um zu sehen, ob dort dasselbe
Ergebnis wie bei Ihnen geliefert wurde. Noch besser: Finden Sie eine andere
Maschine, die das Paket erstellen kann, und führen Sie @command{guix
publish} aus. Da sich die entfernte Erstellungsmaschine wahrscheinlich von
Ihrer unterscheidet, können Sie auf diese Weise Probleme durch
Nichtdeterminismus erkennen, die mit der Hardware zu tun haben — zum
Beispiel die Nutzung anderer Befehlssatzerweiterungen — oder mit dem
Betriebssystem-Kernel — zum Beispiel, indem @code{uname} oder
@file{/proc}-Dateien verwendet werden.
@item
Beim Schreiben von Dokumentation achten Sie bitte auf eine
geschlechtsneutrale Wortwahl, wenn Sie sich auf Personen beziehen, wie
@uref{https://en.wikipedia.org/wiki/Singular_they, »they«@comma{}
»their«@comma{} »them« im Singular}, und so weiter.
@item
Stelllen Sie sicher, dass Ihr Patch nur einen Satz zusammengehöriger
Änderungen umfasst. Das Zusammenfassen nicht zusammengehöriger Änderungen
erschwert und bremst das Durchsehen Ihres Patches.
Beispiele für nicht zusammengehörige Änderungen sind das Hinzufügen mehrerer
Pakete auf einmal, oder das Aktualisieren eines Pakets auf eine neue Version
zusammen mit Fehlerbehebungen für das Paket.
@item
Bitte befolgen Sie unsere Richtlinien für die Code-Formatierung, womöglich
wollen Sie dies automatisch tun lassen durch das Skript
@command{etc/indent-code.el} (@pxref{Formatierung von Code}).
@item
When possible, use mirrors in the source URL (@pxref{Aufruf von guix download}). Use reliable URLs, not generated ones. For instance, GitHub
archives are not necessarily identical from one generation to the next, so
in this case it's often better to clone the repository. Don't use the
@command{name} field in the URL: it is not very useful and if the name
changes, the URL will probably be wrong.
@end enumerate
Bitte benutzen Sie @samp{[PATCH] @dots{}} als Betreff, wenn Sie einen Patch
an die Mailing-Liste schicken. Sie können dazu Ihr E-Mail-Programm oder den
Befehl @command{git send-email} benutzen (@pxref{Senden einer Patch-Reihe}). Wir bevorzugen es, Patches als reine Textnachrichten zu erhalten,
entweder eingebettet (inline) oder als MIME-Anhänge. Sie sind dazu
angehalten, zu überprüfen, ob Ihr Mail-Programm solche Dinge wie
Zeilenumbrüche oder die Einrückung verändert, wodurch die Patches womöglich
nicht mehr funktionieren.
Wenn dadurch ein Fehler behoben wurde, schließen Sie bitte den Thread, indem
Sie eine E-Mail an @email{@var{NNN}-done@@debbugs.gnu.org} senden.
@unnumberedsubsec Senden einer Patch-Reihe
@anchor{Senden einer Patch-Reihe}
@cindex Patch-Reihe
@cindex @code{git send-email}
@cindex @code{git-send-email}
@c Debbugs bug: https://debbugs.gnu.org/db/15/15361.html
Wenn Sie eine Patch-Reihe senden (z.B. mit @code{git send-email}), schicken
Sie bitte als Erstes eine Nachricht an @email{guix-patches@@gnu.org} und
dann nachfolgende Patches an @email{@var{NNN}@@debbugs.gnu.org}, um
sicherzustellen, dass sie zusammen bearbeitet werden. Siehe
@uref{https://debbugs.gnu.org/Advanced.html, die Debbugs-Dokumentation} für
weitere Informationen.

View file

@ -110,14 +110,15 @@ changement localement sans les installer pour de vrai. Pour pouvoir
distinguer votre rôle « d'utilisateur final » de celui parfois haut en distinguer votre rôle « d'utilisateur final » de celui parfois haut en
couleur de « développeur ». couleur de « développeur ».
To that end, all the command-line tools can be used even if you have not run Pour cela, tous les outils en ligne de commande sont utilisables même sans
@code{make install}. To do that, you first need to have an environment with avoir lancé @code{make install}. Pour cela, vous devez d'abord avoir un
all the dependencies available (@pxref{Construire depuis Git}), and then simply environnement avec toutes les dépendances disponibles (@pxref{Construire depuis Git}), puis préfixer chaque commande par @command{./pre-inst-env} (le script
prefix each command with @command{./pre-inst-env} (the @file{pre-inst-env} @file{pre-inst-env} se trouve dans le répertoire de plus haut niveau de
script lives in the top build tree of Guix), as in@footnote{The @option{-E} l'arborescence des sources de Guix ; il est généré par
flag to @command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly @command{./configure}) comme cela@footnote{L'option @option{-E} de
set such that @command{guix-daemon} and the tools it uses can find the Guile @command{sudo} garantie que @code{GUILE_LOAD_PATH} est bien paramétré pour
modules they need.}: @command{guix-daemon} et pour que les outils qu'il utilise puissent trouver
les modules Guile dont ils ont besoin.} :
@example @example
$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild $ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild
@ -213,12 +214,13 @@ variables @var{yas-snippet-dirs} d'Emacs.
(add-to-list 'yas-snippet-dirs "~/src/guix/etc/snippets")) (add-to-list 'yas-snippet-dirs "~/src/guix/etc/snippets"))
@end lisp @end lisp
The commit message snippets depend on @url{https://magit.vc/, Magit} to Les extraits de messages de commit dépendent de @url{https://magit.vc/,
display staged files. When editing a commit message type @code{add} Magit} pour afficher les fichiers sélectionnés. Lors de la modification
followed by @kbd{TAB} to insert a commit message template for adding a d'un message de commit, tapez @code{add} suivi de @kbd{TAB} pour insérer un
package; type @code{update} followed by @kbd{TAB} to insert a template for modèle de message de commit pour ajouter un paquet ; tapez @code{update}
updating a package; type @code{https} followed by @kbd{TAB} to insert a suivi de @kbd{TAB} pour insérer un modèle pour la mise à jour d'un paquet ;
template for changing the home page URI of a package to HTTPS. tapez @code{https} suivi de @kbd{TAB} pour insérer un modèle pour le
changement à HTTPS de l'URI de la page d'accueil.
L'extrait principal pour @code{scheme-mode} est lancé en tapant L'extrait principal pour @code{scheme-mode} est lancé en tapant
@code{package…} suivi par @kbd{TAB}. Cet extrait insère aussi la chaîne de @code{package…} suivi par @kbd{TAB}. Cet extrait insère aussi la chaîne de
@ -487,6 +489,13 @@ Suivez nos règles de formatage de code, éventuellement en lançant le script
@command{et/indent-code.el} pour le faire automatiquement (@pxref{Formatage @command{et/indent-code.el} pour le faire automatiquement (@pxref{Formatage
du code}). du code}).
@item
Si possible, utilisez des miroirs dans l'URL des sources (@pxref{Invoquer guix download}). Utilisez des URL stable, pas des URL générées. Par
exemple, les archives GitHub ne sont pas nécessairement identiques d'une
génération à la suivante, donc il vaut mieux dans ce cas cloner le dépôt.
N'utilisez pas le champ @command{name} dans l'URL : ce n'est pas très utile
et si le nom change, l'URL sera probablement erronée.
@end enumerate @end enumerate
Lorsque vous envoyez un correctif à la liste de diffusion, utilisez Lorsque vous envoyez un correctif à la liste de diffusion, utilisez

View file

@ -112,7 +112,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 with all the dependencies available (@pxref{Building from Git}), and then
simply prefix each command with simply prefix each command with
@command{./pre-inst-env} (the @file{pre-inst-env} script lives in the @command{./pre-inst-env} (the @file{pre-inst-env} script lives in the
top build tree of Guix), as in@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 @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 such that @command{guix-daemon} and the tools it uses can find the Guile
modules they need.}: modules they need.}:
@ -442,7 +443,7 @@ as timestamps or randomly-generated output in the build result.
Another option is to use @command{guix challenge} (@pxref{Invoking guix Another option is to use @command{guix challenge} (@pxref{Invoking guix
challenge}). You may run it once the package has been committed and challenge}). You may run it once the package has been committed and
built by @code{hydra.gnu.org} to check whether it obtains the same built by @code{@value{SUBSTITUTE-SERVER}} to check whether it obtains the same
result as you did. Better yet: Find another machine that can build it result as you did. Better yet: Find another machine that can build it
and run @command{guix publish}. Since the remote build machine is and run @command{guix publish}. Since the remote build machine is
likely different from yours, this can catch non-determinism issues likely different from yours, this can catch non-determinism issues

24155
doc/guix.de.texi Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -22,7 +22,8 @@
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. # along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
info_TEXINFOS = %D%/guix.texi \ info_TEXINFOS = %D%/guix.texi \
%D%/guix.fr.texi %D%/guix.fr.texi \
%D%/guix.de.texi
%C%_guix_TEXINFOS = \ %C%_guix_TEXINFOS = \
%D%/contributing.texi \ %D%/contributing.texi \
@ -55,7 +56,9 @@ OS_CONFIG_EXAMPLES_TEXI = \
%D%/os-config-lightweight-desktop.texi %D%/os-config-lightweight-desktop.texi
TRANSLATED_INFO = \ TRANSLATED_INFO = \
%D%/guix.de.texi \
%D%/guix.fr.texi \ %D%/guix.fr.texi \
%D%/contributing.de.texi \
%D%/contributing.fr.texi %D%/contributing.fr.texi
# Bundle this file so that makeinfo finds it in out-of-source-tree builds. # Bundle this file so that makeinfo finds it in out-of-source-tree builds.

View file

@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU # GNU Guix --- Functional package management for GNU
# Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> # Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
# #
# This file is part of GNU Guix. # This file is part of GNU Guix.
# #
@ -172,6 +172,8 @@ _guix_complete ()
if _guix_is_dash_L if _guix_is_dash_L
then then
_guix_complete_file _guix_complete_file
else
_guix_complete_available_package "$word_at_point"
fi fi
elif _guix_is_command "download" elif _guix_is_command "download"
then then

View file

@ -7,4 +7,4 @@ start on runlevel [2345]
stop on runlevel [016] stop on runlevel [016]
exec @localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild exec @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild

View file

@ -6,8 +6,8 @@
Description=Build daemon for GNU Guix Description=Build daemon for GNU Guix
[Service] [Service]
ExecStart=@localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon --build-users-group=guixbuild
Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale Environment=GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale
RemainAfterExit=yes RemainAfterExit=yes
StandardOutput=syslog StandardOutput=syslog
StandardError=syslog StandardError=syslog

View file

@ -269,12 +269,13 @@ sys_create_store()
fi fi
_msg "${INF}Linking the root user's profile" _msg "${INF}Linking the root user's profile"
ln -sf /var/guix/profiles/per-user/root/guix-profile \ mkdir -p "${ROOT_HOME}/.config/guix"
"${ROOT_HOME}/.guix-profile" ln -sf /var/guix/profiles/per-user/root/current-guix \
"${ROOT_HOME}/.config/guix/current"
GUIX_PROFILE="${ROOT_HOME}/.guix-profile" GUIX_PROFILE="${ROOT_HOME}/.config/guix/current"
source "${GUIX_PROFILE}/etc/profile" source "${GUIX_PROFILE}/etc/profile"
_msg "${PAS}activated root profile at /root/.guix-profile" _msg "${PAS}activated root profile at ${ROOT_HOME}/.config/guix/current"
} }
sys_create_build_user() sys_create_build_user()
@ -317,18 +318,18 @@ sys_enable_guix_daemon()
info_path="/usr/local/share/info" info_path="/usr/local/share/info"
local_bin="/usr/local/bin" local_bin="/usr/local/bin"
var_guix="/var/guix/profiles/per-user/root/guix-profile" var_guix="/var/guix/profiles/per-user/root/current-guix"
case "$INIT_SYS" in case "$INIT_SYS" in
upstart) upstart)
{ initctl reload-configuration; { initctl reload-configuration;
cp "${ROOT_HOME}/.guix-profile/lib/upstart/system/guix-daemon.conf" \ cp "${ROOT_HOME}/.config/guix/current/lib/upstart/system/guix-daemon.conf" \
/etc/init/ && /etc/init/ &&
start guix-daemon; } && start guix-daemon; } &&
_msg "${PAS}enabled Guix daemon via upstart" _msg "${PAS}enabled Guix daemon via upstart"
;; ;;
systemd) systemd)
{ cp "${ROOT_HOME}/.guix-profile/lib/systemd/system/guix-daemon.service" \ { cp "${ROOT_HOME}/.config/guix/current/lib/systemd/system/guix-daemon.service" \
/etc/systemd/system/; /etc/systemd/system/;
chmod 664 /etc/systemd/system/guix-daemon.service; chmod 664 /etc/systemd/system/guix-daemon.service;
systemctl daemon-reload && systemctl daemon-reload &&
@ -338,7 +339,7 @@ sys_enable_guix_daemon()
;; ;;
NA|*) NA|*)
_msg "${ERR}unsupported init system; run the daemon manually:" _msg "${ERR}unsupported init system; run the daemon manually:"
echo " ${ROOT_HOME}/.guix-profile/bin/guix-daemon --build-users-group=guixbuild" echo " ${ROOT_HOME}/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild"
;; ;;
esac esac
@ -358,10 +359,10 @@ sys_authorize_build_farms()
while true; do while true; do
read -p "Permit downloading pre-built package binaries from the project's build farms? (yes/no) " yn read -p "Permit downloading pre-built package binaries from the project's build farms? (yes/no) " yn
case $yn in case $yn in
[Yy]*) guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/hydra.gnu.org.pub" && [Yy]*) guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/hydra.gnu.org.pub" &&
_msg "${PAS}Authorized public key for hydra.gnu.org"; _msg "${PAS}Authorized public key for hydra.gnu.org";
guix archive --authorize < "${ROOT_HOME}/.guix-profile/share/guix/berlin.guixsd.org.pub" && guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/ci.guix.info.pub" &&
_msg "${PAS}Authorized public key for berlin.guixsd.org"; _msg "${PAS}Authorized public key for ci.guix.info";
break;; break;;
[Nn]*) _msg "${INF}Skipped authorizing build farm public keys" [Nn]*) _msg "${INF}Skipped authorizing build farm public keys"
break;; break;;

View file

@ -9,4 +9,4 @@ stop on runlevel [016]
task task
exec @localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix publish --user=nobody --port=8181 exec @localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix publish --user=nobody --port=8181

View file

@ -6,8 +6,8 @@
Description=Publish the GNU Guix store Description=Publish the GNU Guix store
[Service] [Service]
ExecStart=@localstatedir@/guix/profiles/per-user/root/guix-profile/bin/guix publish --user=nobody --port=8181 ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix publish --user=nobody --port=8181
Environment=GUIX_LOCPATH=/root/.guix-profile/lib/locale Environment=GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale
RemainAfterExit=yes RemainAfterExit=yes
StandardOutput=syslog StandardOutput=syslog
StandardError=syslog StandardError=syslog

View file

@ -0,0 +1 @@
berlin.guixsd.org.pub

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -33,7 +33,7 @@
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "git://git.savannah.gnu.org/guix/guix-artwork.git") (url "https://git.savannah.gnu.org/git/guix/guix-artwork.git")
(commit commit))) (commit commit)))
(file-name (string-append "guix-artwork-" (string-take commit 7) (file-name (string-append "guix-artwork-" (string-take commit 7)
"-checkout")) "-checkout"))

View file

@ -19,12 +19,8 @@
(define-module (gnu bootloader extlinux) (define-module (gnu bootloader extlinux)
#:use-module (gnu bootloader) #:use-module (gnu bootloader)
#:use-module (gnu system)
#:use-module (gnu build bootloader)
#:use-module (gnu packages bootloaders) #:use-module (gnu packages bootloaders)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix monads)
#:use-module (guix records)
#:use-module (guix utils) #:use-module (guix utils)
#:export (extlinux-bootloader #:export (extlinux-bootloader
extlinux-bootloader-gpt)) extlinux-bootloader-gpt))
@ -78,7 +74,7 @@ TIMEOUT ~a~%"
(format port "~%")) (format port "~%"))
#~()))))) #~())))))
(gexp->derivation "extlinux.conf" builder)) (computed-file "extlinux.conf" builder))

View file

@ -20,26 +20,18 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu bootloader grub) (define-module (gnu bootloader grub)
#:use-module (guix store)
#:use-module (guix packages)
#:use-module (guix derivations)
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix monads) #:use-module ((guix utils) #:select (%current-system))
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix download)
#:use-module (gnu artwork) #:use-module (gnu artwork)
#:use-module (gnu system)
#:use-module (gnu bootloader) #:use-module (gnu bootloader)
#:use-module (gnu system uuid) #:use-module (gnu system uuid)
#:use-module (gnu system file-systems) #:use-module (gnu system file-systems)
#:autoload (gnu packages bootloaders) (grub) #:autoload (gnu packages bootloaders) (grub)
#:autoload (gnu packages compression) (gzip)
#:autoload (gnu packages gtk) (guile-cairo guile-rsvg) #:autoload (gnu packages gtk) (guile-cairo guile-rsvg)
#:autoload (gnu packages guile) (guile-2.2)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (rnrs bytevectors)
#:export (grub-image #:export (grub-image
grub-image? grub-image?
grub-image-aspect-ratio grub-image-aspect-ratio
@ -121,7 +113,7 @@ otherwise."
(define* (svg->png svg #:key width height) (define* (svg->png svg #:key width height)
"Build a PNG of HEIGHT x WIDTH from SVG." "Build a PNG of HEIGHT x WIDTH from SVG."
(gexp->derivation "grub-image.png" (computed-file "grub-image.png"
(with-imported-modules '((gnu build svg)) (with-imported-modules '((gnu build svg))
(with-extensions (list guile-rsvg guile-cairo) (with-extensions (list guile-rsvg guile-cairo)
#~(begin #~(begin
@ -138,15 +130,13 @@ WIDTH/HEIGHT, or #f if none was found."
(= (grub-image-aspect-ratio image) ratio)) (= (grub-image-aspect-ratio image) ratio))
(grub-theme-images (grub-theme-images
(bootloader-theme config))))) (bootloader-theme config)))))
(if image (and image
(svg->png (grub-image-file image) (svg->png (grub-image-file image)
#:width width #:height height) #:width width #:height height))))
(with-monad %store-monad
(return #f)))))
(define* (eye-candy config store-device store-mount-point (define* (eye-candy config store-device store-mount-point
#:key system port) #:key system port)
"Return in %STORE-MONAD a gexp that writes to PORT (a port-valued gexp) the "Return a gexp that writes to PORT (a port-valued gexp) the
'grub.cfg' part concerned with graphics mode, background images, colors, and 'grub.cfg' part concerned with graphics mode, background images, colors, and
all that. STORE-DEVICE designates the device holding the store, and all that. STORE-DEVICE designates the device holding the store, and
STORE-MOUNT-POINT is its mount point; these are used to determine where the STORE-MOUNT-POINT is its mount point; these are used to determine where the
@ -194,8 +184,10 @@ fi~%" #$font-file)
(strip-mount-point store-mount-point (strip-mount-point store-mount-point
(file-append grub "/share/grub/unicode.pf2"))) (file-append grub "/share/grub/unicode.pf2")))
(mlet* %store-monad ((image (grub-background-image config))) (define image
(return (and image (grub-background-image config))
(and image
#~(format #$port " #~(format #$port "
function setup_gfxterm {~a} function setup_gfxterm {~a}
@ -220,7 +212,7 @@ fi~%"
#$(strip-mount-point store-mount-point image) #$(strip-mount-point store-mount-point image)
#$(theme-colors grub-theme-color-normal) #$(theme-colors grub-theme-color-normal)
#$(theme-colors grub-theme-color-highlight)))))) #$(theme-colors grub-theme-color-highlight))))
;;; ;;;
@ -331,13 +323,13 @@ entries corresponding to old generations of the system."
#$(grub-root-search device kernel) #$(grub-root-search device kernel)
#$kernel (string-join (list #$@arguments)) #$kernel (string-join (list #$@arguments))
#$initrd)))) #$initrd))))
(mlet %store-monad ((sugar (eye-candy config (define sugar
(menu-entry-device (eye-candy config
(first all-entries)) (menu-entry-device (first all-entries))
(menu-entry-device-mount-point (menu-entry-device-mount-point (first all-entries))
(first all-entries))
#:system system #:system system
#:port #~port))) #:port #~port))
(define builder (define builder
#~(call-with-output-file #$output #~(call-with-output-file #$output
(lambda (port) (lambda (port)
@ -360,7 +352,7 @@ submenu \"GNU system, old configurations...\" {~%")
(format port "}~%")) (format port "}~%"))
#~())))) #~()))))
(gexp->derivation "grub.cfg" builder))) (computed-file "grub.cfg" builder))

View file

@ -20,13 +20,8 @@
(define-module (gnu bootloader u-boot) (define-module (gnu bootloader u-boot)
#:use-module (gnu bootloader extlinux) #:use-module (gnu bootloader extlinux)
#:use-module (gnu bootloader) #:use-module (gnu bootloader)
#:use-module (gnu system)
#:use-module (gnu build bootloader)
#:use-module (gnu packages bootloaders) #:use-module (gnu packages bootloaders)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix monads)
#:use-module (guix records)
#:use-module (guix utils)
#:export (u-boot-bootloader #:export (u-boot-bootloader
u-boot-a20-olinuxino-lime-bootloader u-boot-a20-olinuxino-lime-bootloader
u-boot-a20-olinuxino-lime2-bootloader u-boot-a20-olinuxino-lime2-bootloader
@ -37,6 +32,7 @@
u-boot-nintendo-nes-classic-edition-bootloader u-boot-nintendo-nes-classic-edition-bootloader
u-boot-novena-bootloader u-boot-novena-bootloader
u-boot-pine64-plus-bootloader u-boot-pine64-plus-bootloader
u-boot-pinebook-bootloader
u-boot-puma-rk3399-bootloader u-boot-puma-rk3399-bootloader
u-boot-wandboard-bootloader)) u-boot-wandboard-bootloader))
@ -173,6 +169,11 @@
(inherit u-boot-allwinner64-bootloader) (inherit u-boot-allwinner64-bootloader)
(package u-boot-pine64-plus))) (package u-boot-pine64-plus)))
(define u-boot-pinebook-bootloader
(bootloader
(inherit u-boot-allwinner64-bootloader)
(package u-boot-pinebook)))
(define u-boot-puma-rk3399-bootloader (define u-boot-puma-rk3399-bootloader
(bootloader (bootloader
(inherit u-boot-bootloader) (inherit u-boot-bootloader)

View file

@ -148,11 +148,15 @@ properties. Return #t on success."
`("-G" ,(string-join supplementary-groups ",")) `("-G" ,(string-join supplementary-groups ","))
'()) '())
,@(if comment `("-c" ,comment) '()) ,@(if comment `("-c" ,comment) '())
,@(if (and home create-home?) ,@(if home `("-d" ,home) '())
(if (file-exists? home)
`("-d" ,home) ; avoid warning from 'useradd' ;; Home directories of non-system accounts are created by
`("-d" ,home "--create-home")) ;; 'activate-user-home'.
,@(if (and home create-home? system?
(not (file-exists? home)))
'("--create-home")
'()) '())
,@(if shell `("-s" ,shell) '()) ,@(if shell `("-s" ,shell) '())
,@(if password `("-p" ,password) '()) ,@(if password `("-p" ,password) '())
,@(if system? '("--system") '()) ,@(if system? '("--system") '())
@ -229,10 +233,7 @@ numeric gid or #f."
#:supplementary-groups supplementary-groups #:supplementary-groups supplementary-groups
#:comment comment #:comment comment
#:home home #:home home
#:create-home? create-home?
;; Home directories of non-system accounts are created by
;; 'activate-user-home'.
#:create-home? (and create-home? system?)
#:shell shell #:shell shell
#:password password) #:password password)

View file

@ -18,7 +18,6 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu build install) (define-module (gnu build install)
#:use-module (guix store database)
#:use-module (guix build utils) #:use-module (guix build utils)
#:use-module (guix build store-copy) #:use-module (guix build store-copy)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
@ -27,6 +26,7 @@
evaluate-populate-directive evaluate-populate-directive
populate-root-file-system populate-root-file-system
register-closure register-closure
install-database-and-gc-roots
populate-single-profile-directory)) populate-single-profile-directory))
;;; Commentary: ;;; Commentary:
@ -141,41 +141,53 @@ includes /etc, /var, /run, /bin/sh, etc., and all the symlinks to SYSTEM."
(try)) (try))
(apply throw args))))))) (apply throw args)))))))
(define* (register-closure prefix closure (define %root-profile
#:key "/var/guix/profiles/per-user/root")
(deduplicate? #t) (reset-timestamps? #t)
(schema (sql-schema))) (define* (install-database-and-gc-roots root database profile
"Register CLOSURE in PREFIX, where PREFIX is the directory name of the #:key (profile-name "guix-profile"))
target store and CLOSURE is the name of a file containing a reference graph as "Install DATABASE, the store database, under directory ROOT. Create
produced by #:references-graphs.. As a side effect, if RESET-TIMESTAMPS? is PROFILE-NAME and have it link to PROFILE, a store item."
true, reset timestamps on store files and, if DEDUPLICATE? is true, (define (scope file)
deduplicates files common to CLOSURE and the rest of PREFIX." (string-append root "/" file))
(let ((items (call-with-input-file closure read-reference-graph)))
(register-items items (define (mkdir-p* dir)
#:prefix prefix (mkdir-p (scope dir)))
#:deduplicate? deduplicate?
#:reset-timestamps? reset-timestamps? (define (symlink* old new)
#:registration-time %epoch (symlink old (scope new)))
#:schema schema)))
(install-file database (scope "/var/guix/db/"))
(chmod (scope "/var/guix/db/db.sqlite") #o644)
(mkdir-p* "/var/guix/profiles")
(mkdir-p* "/var/guix/gcroots")
(symlink* "/var/guix/profiles" "/var/guix/gcroots/profiles")
;; Make root's profile, which makes it a GC root.
(mkdir-p* %root-profile)
(symlink* profile
(string-append %root-profile "/" profile-name "-1-link"))
(symlink* (string-append profile-name "-1-link")
(string-append %root-profile "/" profile-name)))
(define* (populate-single-profile-directory directory (define* (populate-single-profile-directory directory
#:key profile closure #:key profile closure
deduplicate? (profile-name "guix-profile")
register? schema) database)
"Populate DIRECTORY with a store containing PROFILE, whose closure is given "Populate DIRECTORY with a store containing PROFILE, whose closure is given
in the file called CLOSURE (as generated by #:references-graphs.) DIRECTORY in the file called CLOSURE (as generated by #:references-graphs.) DIRECTORY
is initialized to contain a single profile under /root pointing to PROFILE. is initialized to contain a single profile under /root pointing to PROFILE.
When REGISTER? is true, initialize DIRECTORY/var/guix/db to reflect the
contents of the store; DEDUPLICATE? determines whether to deduplicate files in When DATABASE is true, copy it to DIRECTORY/var/guix/db and create
the store. DIRECTORY/var/guix/gcroots and friends.
PROFILE-NAME is the name of the profile being created under
/var/guix/profiles, typically either \"guix-profile\" or \"current-guix\".
This is used to create the self-contained tarballs with 'guix pack'." This is used to create the self-contained tarballs with 'guix pack'."
(define (scope file) (define (scope file)
(string-append directory "/" file)) (string-append directory "/" file))
(define %root-profile
"/var/guix/profiles/per-user/root")
(define (mkdir-p* dir) (define (mkdir-p* dir)
(mkdir-p (scope dir))) (mkdir-p (scope dir)))
@ -185,25 +197,20 @@ This is used to create the self-contained tarballs with 'guix pack'."
;; Populate the store. ;; Populate the store.
(populate-store (list closure) directory) (populate-store (list closure) directory)
(when register? (when database
(register-closure (canonicalize-path directory) closure (install-database-and-gc-roots directory database profile
#:deduplicate? deduplicate? #:profile-name profile-name))
#:schema schema)
(mkdir-p* "/var/guix/profiles")
(mkdir-p* "/var/guix/gcroots")
(symlink* "/var/guix/profiles"
"/var/guix/gcroots/profiles"))
;; Make root's profile, which makes it a GC root.
(mkdir-p* %root-profile)
(symlink* profile
(string-append %root-profile "/guix-profile-1-link"))
(symlink* (string-append %root-profile "/guix-profile-1-link")
(string-append %root-profile "/guix-profile"))
(match profile-name
("guix-profile"
(mkdir-p* "/root") (mkdir-p* "/root")
(symlink* (string-append %root-profile "/guix-profile") (symlink* (string-append %root-profile "/guix-profile")
"/root/.guix-profile")) "/root/.guix-profile"))
("current-guix"
(mkdir-p* "/root/.config/guix")
(symlink* (string-append %root-profile "/current-guix")
"/root/.config/guix/current"))
(_
#t)))
;;; install.scm ends here ;;; install.scm ends here

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -72,11 +72,23 @@ COMPRESS? is true, compress it using GZIP. On success, return OUTPUT."
#:file->header cpio:file->cpio-header*))) #:file->header cpio:file->cpio-header*)))
(or (not compress?) (or (not compress?)
;; Gzip insists on adding a '.gz' suffix and does nothing if the input
;; file already has that suffix. Shuffle files around to placate it.
(let* ((gz-suffix? (string-suffix? ".gz" output))
(sans-gz (if gz-suffix?
(string-drop-right output 3)
output)))
(when gz-suffix?
(rename-file output sans-gz))
;; Use '--no-name' so that gzip records neither a file name nor a time ;; Use '--no-name' so that gzip records neither a file name nor a time
;; stamp in its output. ;; stamp in its output.
(and (zero? (system* gzip "--best" "--no-name" output)) (and (zero? (system* gzip "--best" "--no-name" sans-gz))
(rename-file (string-append output ".gz") (begin
output)) (unless gz-suffix?
(rename-file (string-append output ".gz") output))
output)))
output)) output))
(define (cache-compiled-file-name file) (define (cache-compiled-file-name file)
@ -139,6 +151,12 @@ REFERENCES-GRAPHS."
(write-cpio-archive output "." #:gzip gzip)) (write-cpio-archive output "." #:gzip gzip))
;; Make sure directories are writable so we can delete files.
(for-each make-file-writable
(find-files "contents"
(lambda (file stat)
(eq? 'directory (stat:type stat)))
#:directories? #t))
(delete-file-recursively "contents")) (delete-file-recursively "contents"))
;;; linux-initrd.scm ends here ;;; linux-initrd.scm ends here

View file

@ -25,7 +25,7 @@
#:use-module (guix build utils) #:use-module (guix build utils)
#:use-module (guix build store-copy) #:use-module (guix build store-copy)
#:use-module (guix build syscalls) #:use-module (guix build syscalls)
#:use-module ((guix store database) #:select (reset-timestamps)) #:use-module (guix store database)
#:use-module (gnu build linux-boot) #:use-module (gnu build linux-boot)
#:use-module (gnu build install) #:use-module (gnu build install)
#:use-module (gnu system uuid) #:use-module (gnu system uuid)
@ -191,6 +191,23 @@ the #:references-graphs parameter of 'derivation'."
(mkdir output) (mkdir output)
(copy-recursively "xchg" output))))) (copy-recursively "xchg" output)))))
(define* (register-closure prefix closure
#:key
(deduplicate? #t) (reset-timestamps? #t)
(schema (sql-schema)))
"Register CLOSURE in PREFIX, where PREFIX is the directory name of the
target store and CLOSURE is the name of a file containing a reference graph as
produced by #:references-graphs.. As a side effect, if RESET-TIMESTAMPS? is
true, reset timestamps on store files and, if DEDUPLICATE? is true,
deduplicates files common to CLOSURE and the rest of PREFIX."
(let ((items (call-with-input-file closure read-reference-graph)))
(register-items items
#:prefix prefix
#:deduplicate? deduplicate?
#:reset-timestamps? reset-timestamps?
#:registration-time %epoch
#:schema schema)))
;;; ;;;
;;; Partitions. ;;; Partitions.
@ -460,6 +477,11 @@ GRUB configuration and OS-DRV as the stuff in it."
"mnt=/tmp/root/mnt" "mnt=/tmp/root/mnt"
"-path-list" "-" "-path-list" "-"
"--" "--"
;; XXX: Add padding to avoid I/O errors on i686:
;; <https://bugs.gnu.org/33639>.
"-padding" "10m"
"-volid" (string-upcase volume-id) "-volid" (string-upcase volume-id)
(if volume-uuid (if volume-uuid
`("-volume_date" "uuid" `("-volume_date" "uuid"

View file

@ -19,6 +19,7 @@
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net> # Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
# Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> # Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com> # Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
# Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
# #
# This file is part of GNU Guix. # This file is part of GNU Guix.
# #
@ -60,6 +61,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/android.scm \ %D%/packages/android.scm \
%D%/packages/animation.scm \ %D%/packages/animation.scm \
%D%/packages/anthy.scm \ %D%/packages/anthy.scm \
%D%/packages/antivirus.scm \
%D%/packages/apl.scm \ %D%/packages/apl.scm \
%D%/packages/apr.scm \ %D%/packages/apr.scm \
%D%/packages/aspell.scm \ %D%/packages/aspell.scm \
@ -99,6 +101,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/chez.scm \ %D%/packages/chez.scm \
%D%/packages/ci.scm \ %D%/packages/ci.scm \
%D%/packages/cinnamon.scm \ %D%/packages/cinnamon.scm \
%D%/packages/clojure.scm \
%D%/packages/cluster.scm \ %D%/packages/cluster.scm \
%D%/packages/cmake.scm \ %D%/packages/cmake.scm \
%D%/packages/cobol.scm \ %D%/packages/cobol.scm \
@ -143,6 +146,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/documentation.scm \ %D%/packages/documentation.scm \
%D%/packages/dunst.scm \ %D%/packages/dunst.scm \
%D%/packages/dvtm.scm \ %D%/packages/dvtm.scm \
%D%/packages/easyrpg.scm \
%D%/packages/ebook.scm \ %D%/packages/ebook.scm \
%D%/packages/ed.scm \ %D%/packages/ed.scm \
%D%/packages/education.scm \ %D%/packages/education.scm \
@ -234,6 +238,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/imagemagick.scm \ %D%/packages/imagemagick.scm \
%D%/packages/inklingreader.scm \ %D%/packages/inklingreader.scm \
%D%/packages/inkscape.scm \ %D%/packages/inkscape.scm \
%D%/packages/ipfs.scm \
%D%/packages/irc.scm \ %D%/packages/irc.scm \
%D%/packages/iso-codes.scm \ %D%/packages/iso-codes.scm \
%D%/packages/java.scm \ %D%/packages/java.scm \
@ -344,6 +349,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/perl-check.scm \ %D%/packages/perl-check.scm \
%D%/packages/perl-web.scm \ %D%/packages/perl-web.scm \
%D%/packages/photo.scm \ %D%/packages/photo.scm \
%D%/packages/phabricator.scm \
%D%/packages/php.scm \ %D%/packages/php.scm \
%D%/packages/pkg-config.scm \ %D%/packages/pkg-config.scm \
%D%/packages/plotutils.scm \ %D%/packages/plotutils.scm \
@ -570,6 +576,7 @@ dist_patch_DATA = \
%D%/packages/patches/aegis-test-fixup-1.patch \ %D%/packages/patches/aegis-test-fixup-1.patch \
%D%/packages/patches/aegis-test-fixup-2.patch \ %D%/packages/patches/aegis-test-fixup-2.patch \
%D%/packages/patches/aegisub-icu59-include-unistr.patch \ %D%/packages/patches/aegisub-icu59-include-unistr.patch \
%D%/packages/patches/aegisub-boost68.patch \
%D%/packages/patches/agg-am_c_prototype.patch \ %D%/packages/patches/agg-am_c_prototype.patch \
%D%/packages/patches/amule-crypto-6.patch \ %D%/packages/patches/amule-crypto-6.patch \
%D%/packages/patches/ansible-wrap-program-hack.patch \ %D%/packages/patches/ansible-wrap-program-hack.patch \
@ -594,25 +601,30 @@ dist_patch_DATA = \
%D%/packages/patches/bash-completion-directories.patch \ %D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/bastet-change-source-of-unordered_set.patch \ %D%/packages/patches/bastet-change-source-of-unordered_set.patch \
%D%/packages/patches/bazaar-CVE-2017-14176.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/beignet-correct-file-names.patch \
%D%/packages/patches/binutils-boot-2.20.1a.patch \ %D%/packages/patches/binutils-boot-2.20.1a.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/blast+-fix-makefile.patch \ %D%/packages/patches/blast+-fix-makefile.patch \
%D%/packages/patches/blender-newer-ffmpeg.patch \
%D%/packages/patches/boost-fix-icu-build.patch \ %D%/packages/patches/boost-fix-icu-build.patch \
%D%/packages/patches/borg-respect-storage-quota.patch \
%D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/cairo-CVE-2016-9082.patch \ %D%/packages/patches/cairo-CVE-2016-9082.patch \
%D%/packages/patches/cairo-setjmp-wrapper.patch \ %D%/packages/patches/cairo-setjmp-wrapper.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/calibre-use-packaged-feedparser.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/catdoc-CVE-2017-11110.patch \
%D%/packages/patches/cdparanoia-fpic.patch \ %D%/packages/patches/cdparanoia-fpic.patch \
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \ %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
%D%/packages/patches/ceph-detect-rocksdb.patch \
%D%/packages/patches/ceph-disable-cpu-optimizations.patch \ %D%/packages/patches/ceph-disable-cpu-optimizations.patch \
%D%/packages/patches/ceph-rocksdb-compat.patch \
%D%/packages/patches/ceph-skip-collect-sys-info-test.patch \ %D%/packages/patches/ceph-skip-collect-sys-info-test.patch \
%D%/packages/patches/ceph-skip-unittest_blockdev.patch \ %D%/packages/patches/ceph-skip-unittest_blockdev.patch \
%D%/packages/patches/ceph-volume-respect-PATH.patch \
%D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/chmlib-inttypes.patch \
%D%/packages/patches/clamav-config-llvm-libs.patch \
%D%/packages/patches/clamav-system-tomsfastmath.patch \
%D%/packages/patches/clang-3.5-libc-search-path.patch \ %D%/packages/patches/clang-3.5-libc-search-path.patch \
%D%/packages/patches/clang-3.5-libsanitizer-ustat-fix.patch \ %D%/packages/patches/clang-3.5-libsanitizer-ustat-fix.patch \
%D%/packages/patches/clang-3.8-libc-search-path.patch \ %D%/packages/patches/clang-3.8-libc-search-path.patch \
@ -636,7 +648,6 @@ dist_patch_DATA = \
%D%/packages/patches/cracklib-fix-buffer-overflow.patch \ %D%/packages/patches/cracklib-fix-buffer-overflow.patch \
%D%/packages/patches/crawl-upgrade-saves.patch \ %D%/packages/patches/crawl-upgrade-saves.patch \
%D%/packages/patches/crda-optional-gcrypt.patch \ %D%/packages/patches/crda-optional-gcrypt.patch \
%D%/packages/patches/crossmap-allow-system-pysam.patch \
%D%/packages/patches/clucene-contribs-lib.patch \ %D%/packages/patches/clucene-contribs-lib.patch \
%D%/packages/patches/cube-nocheck.patch \ %D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cursynth-wave-rand.patch \
@ -645,7 +656,6 @@ dist_patch_DATA = \
%D%/packages/patches/datamash-arm-tests.patch \ %D%/packages/patches/datamash-arm-tests.patch \
%D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \ %D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \
%D%/packages/patches/delly-use-system-libraries.patch \
%D%/packages/patches/dfu-programmer-fix-libusb.patch \ %D%/packages/patches/dfu-programmer-fix-libusb.patch \
%D%/packages/patches/diffutils-gets-undeclared.patch \ %D%/packages/patches/diffutils-gets-undeclared.patch \
%D%/packages/patches/diffutils-getopt.patch \ %D%/packages/patches/diffutils-getopt.patch \
@ -657,14 +667,15 @@ dist_patch_DATA = \
%D%/packages/patches/dropbear-CVE-2018-15599.patch \ %D%/packages/patches/dropbear-CVE-2018-15599.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \
%D%/packages/patches/elfutils-tests-ptrace.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \
%D%/packages/patches/elogind-glibc-2.27.patch \
%D%/packages/patches/einstein-build.patch \ %D%/packages/patches/einstein-build.patch \
%D%/packages/patches/emacs-exec-path.patch \ %D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \ %D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \ %D%/packages/patches/emacs-json-reformat-fix-tests.patch \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \ %D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-pdf-tools-poppler.patch \
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \ %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \ %D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/emacs-realgud-fix-configure-ac.patch \
%D%/packages/patches/enlightenment-fix-setuid-path.patch \ %D%/packages/patches/enlightenment-fix-setuid-path.patch \
%D%/packages/patches/erlang-man-path.patch \ %D%/packages/patches/erlang-man-path.patch \
%D%/packages/patches/eudev-rules-directory.patch \ %D%/packages/patches/eudev-rules-directory.patch \
@ -706,7 +717,6 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-4.8-libsanitizer-fix.patch \ %D%/packages/patches/gcc-4.8-libsanitizer-fix.patch \
%D%/packages/patches/gcc-4.9-libsanitizer-fix.patch \ %D%/packages/patches/gcc-4.9-libsanitizer-fix.patch \
%D%/packages/patches/gcc-4.9-libsanitizer-ustat.patch \ %D%/packages/patches/gcc-4.9-libsanitizer-ustat.patch \
%D%/packages/patches/gcc-libsanitizer-fix.patch \
%D%/packages/patches/gcc-libsanitizer-ustat.patch \ %D%/packages/patches/gcc-libsanitizer-ustat.patch \
%D%/packages/patches/gcc-libvtv-runpath.patch \ %D%/packages/patches/gcc-libvtv-runpath.patch \
%D%/packages/patches/gcc-strmov-store-file-names.patch \ %D%/packages/patches/gcc-strmov-store-file-names.patch \
@ -728,10 +738,10 @@ dist_patch_DATA = \
%D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-freetype-test-failure.patch \ %D%/packages/patches/gd-freetype-test-failure.patch \
%D%/packages/patches/gdm-CVE-2018-14424.patch \ %D%/packages/patches/gdm-CVE-2018-14424.patch \
%D%/packages/patches/gemma-intel-compat.patch \
%D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
%D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \
%D%/packages/patches/ghc-haddock-library-unbundle.patch \
%D%/packages/patches/ghostscript-CVE-2018-16509.patch \ %D%/packages/patches/ghostscript-CVE-2018-16509.patch \
%D%/packages/patches/ghostscript-bug-699708.patch \ %D%/packages/patches/ghostscript-bug-699708.patch \
%D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-id.patch \
@ -803,7 +813,6 @@ dist_patch_DATA = \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
%D%/packages/patches/gzdoom-search-in-installed-share.patch \ %D%/packages/patches/gzdoom-search-in-installed-share.patch \
%D%/packages/patches/handbrake-pkg-config-path.patch \
%D%/packages/patches/haskell-mode-unused-variables.patch \ %D%/packages/patches/haskell-mode-unused-variables.patch \
%D%/packages/patches/haskell-mode-make-check.patch \ %D%/packages/patches/haskell-mode-make-check.patch \
%D%/packages/patches/hdf4-architectures.patch \ %D%/packages/patches/hdf4-architectures.patch \
@ -820,9 +829,9 @@ dist_patch_DATA = \
%D%/packages/patches/higan-remove-march-native-flag.patch \ %D%/packages/patches/higan-remove-march-native-flag.patch \
%D%/packages/patches/hubbub-sort-entities.patch \ %D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \ %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \
%D%/packages/patches/hplip-remove-imageprocessor.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \ %D%/packages/patches/icecat-avoid-bundled-libraries.patch \
%D%/packages/patches/icecat-CVE-2018-12383.patch \
%D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \ %D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \
%D%/packages/patches/icecat-use-system-media-libs.patch \ %D%/packages/patches/icecat-use-system-media-libs.patch \
%D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \ %D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \
@ -844,7 +853,6 @@ dist_patch_DATA = \
%D%/packages/patches/java-xerces-xjavac_taskdef.patch \ %D%/packages/patches/java-xerces-xjavac_taskdef.patch \
%D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \
%D%/packages/patches/json-glib-fix-tests-32bit.patch \ %D%/packages/patches/json-glib-fix-tests-32bit.patch \
%D%/packages/patches/jq-CVE-2015-8863.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/khmer-use-libraries.patch \ %D%/packages/patches/khmer-use-libraries.patch \
%D%/packages/patches/libziparchive-add-includes.patch \ %D%/packages/patches/libziparchive-add-includes.patch \
@ -887,6 +895,7 @@ dist_patch_DATA = \
%D%/packages/patches/libexif-CVE-2016-6328.patch \ %D%/packages/patches/libexif-CVE-2016-6328.patch \
%D%/packages/patches/libexif-CVE-2017-7544.patch \ %D%/packages/patches/libexif-CVE-2017-7544.patch \
%D%/packages/patches/libgit2-mtime-0.patch \ %D%/packages/patches/libgit2-mtime-0.patch \
%D%/packages/patches/libgit2-oom-test.patch \
%D%/packages/patches/libgdata-fix-tests.patch \ %D%/packages/patches/libgdata-fix-tests.patch \
%D%/packages/patches/libgdata-glib-duplicate-tests.patch \ %D%/packages/patches/libgdata-glib-duplicate-tests.patch \
%D%/packages/patches/libgnome-encoding.patch \ %D%/packages/patches/libgnome-encoding.patch \
@ -894,8 +903,8 @@ dist_patch_DATA = \
%D%/packages/patches/libffi-3.2.1-complex-alpha.patch \ %D%/packages/patches/libffi-3.2.1-complex-alpha.patch \
%D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \
%D%/packages/patches/libjxr-fix-typos.patch \ %D%/packages/patches/libjxr-fix-typos.patch \
%D%/packages/patches/libopenshot-tests-with-system-libs.patch \
%D%/packages/patches/libotr-test-auth-fix.patch \ %D%/packages/patches/libotr-test-auth-fix.patch \
%D%/packages/patches/liblxqt-include.patch \
%D%/packages/patches/libmad-armv7-thumb-pt1.patch \ %D%/packages/patches/libmad-armv7-thumb-pt1.patch \
%D%/packages/patches/libmad-armv7-thumb-pt2.patch \ %D%/packages/patches/libmad-armv7-thumb-pt2.patch \
%D%/packages/patches/libmad-frame-length.patch \ %D%/packages/patches/libmad-frame-length.patch \
@ -933,6 +942,7 @@ dist_patch_DATA = \
%D%/packages/patches/lierolibre-try-building-other-arch.patch \ %D%/packages/patches/lierolibre-try-building-other-arch.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \ %D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/lirc-localstatedir.patch \ %D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/lirc-reproducible-build.patch \
%D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \ %D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \
%D%/packages/patches/llvm-for-extempore.patch \ %D%/packages/patches/llvm-for-extempore.patch \
%D%/packages/patches/lm-sensors-hwmon-attrs.patch \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \
@ -948,7 +958,6 @@ dist_patch_DATA = \
%D%/packages/patches/lvm2-static-link.patch \ %D%/packages/patches/lvm2-static-link.patch \
%D%/packages/patches/lxsession-use-gapplication.patch \ %D%/packages/patches/lxsession-use-gapplication.patch \
%D%/packages/patches/lyx-2.2.3-fix-test.patch \ %D%/packages/patches/lyx-2.2.3-fix-test.patch \
%D%/packages/patches/mailutils-uninitialized-memory.patch \
%D%/packages/patches/make-glibc-compat.patch \ %D%/packages/patches/make-glibc-compat.patch \
%D%/packages/patches/make-impure-dirs.patch \ %D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/mariadb-client-test-32bit.patch \ %D%/packages/patches/mariadb-client-test-32bit.patch \
@ -961,6 +970,7 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4409.patch \ %D%/packages/patches/mcrypt-CVE-2012-4409.patch \
%D%/packages/patches/mcrypt-CVE-2012-4426.patch \ %D%/packages/patches/mcrypt-CVE-2012-4426.patch \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \ %D%/packages/patches/mcrypt-CVE-2012-4527.patch \
%D%/packages/patches/meandmyshadow-define-paths-earlier.patch \
%D%/packages/patches/mesa-skip-disk-cache-test.patch \ %D%/packages/patches/mesa-skip-disk-cache-test.patch \
%D%/packages/patches/mescc-tools-boot.patch \ %D%/packages/patches/mescc-tools-boot.patch \
%D%/packages/patches/meson-for-build-rpath.patch \ %D%/packages/patches/meson-for-build-rpath.patch \
@ -971,6 +981,7 @@ dist_patch_DATA = \
%D%/packages/patches/module-init-tools-moduledir.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \
%D%/packages/patches/monero-use-system-miniupnpc.patch \ %D%/packages/patches/monero-use-system-miniupnpc.patch \
%D%/packages/patches/mongodb-support-unknown-linux-distributions.patch \ %D%/packages/patches/mongodb-support-unknown-linux-distributions.patch \
%D%/packages/patches/mono-mdoc-timestamping.patch \
%D%/packages/patches/mozjs17-aarch64-support.patch \ %D%/packages/patches/mozjs17-aarch64-support.patch \
%D%/packages/patches/mozjs24-aarch64-support.patch \ %D%/packages/patches/mozjs24-aarch64-support.patch \
%D%/packages/patches/mozjs38-pkg-config-version.patch \ %D%/packages/patches/mozjs38-pkg-config-version.patch \
@ -983,7 +994,6 @@ dist_patch_DATA = \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \ %D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
%D%/packages/patches/mutt-store-references.patch \ %D%/packages/patches/mutt-store-references.patch \
%D%/packages/patches/myrepos-CVE-2018-7032.patch \
%D%/packages/patches/m4-gnulib-libio.patch \ %D%/packages/patches/m4-gnulib-libio.patch \
%D%/packages/patches/net-tools-bitrot.patch \ %D%/packages/patches/net-tools-bitrot.patch \
%D%/packages/patches/netcdf-date-time.patch \ %D%/packages/patches/netcdf-date-time.patch \
@ -1014,6 +1024,7 @@ dist_patch_DATA = \
%D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \ %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \
%D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \
%D%/packages/patches/openfoam-4.1-cleanup.patch \ %D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
%D%/packages/patches/openldap-CVE-2017-9287.patch \ %D%/packages/patches/openldap-CVE-2017-9287.patch \
%D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/openocd-nrf52.patch \
%D%/packages/patches/opensmtpd-fix-crash.patch \ %D%/packages/patches/opensmtpd-fix-crash.patch \
@ -1030,7 +1041,7 @@ dist_patch_DATA = \
%D%/packages/patches/parted-glibc-compat.patch \ %D%/packages/patches/parted-glibc-compat.patch \
%D%/packages/patches/patchelf-page-size.patch \ %D%/packages/patches/patchelf-page-size.patch \
%D%/packages/patches/patchelf-rework-for-arm.patch \ %D%/packages/patches/patchelf-rework-for-arm.patch \
%D%/packages/patches/patchutils-xfail-gendiff-tests.patch \ %D%/packages/patches/patchutils-test-perms.patch \
%D%/packages/patches/patch-hurd-path-max.patch \ %D%/packages/patches/patch-hurd-path-max.patch \
%D%/packages/patches/perl-autosplit-default-time.patch \ %D%/packages/patches/perl-autosplit-default-time.patch \
%D%/packages/patches/perl-deterministic-ordering.patch \ %D%/packages/patches/perl-deterministic-ordering.patch \
@ -1050,12 +1061,16 @@ dist_patch_DATA = \
%D%/packages/patches/pinball-missing-separators.patch \ %D%/packages/patches/pinball-missing-separators.patch \
%D%/packages/patches/pinball-src-deps.patch \ %D%/packages/patches/pinball-src-deps.patch \
%D%/packages/patches/pinball-system-ltdl.patch \ %D%/packages/patches/pinball-system-ltdl.patch \
%D%/packages/patches/pinentry-efl.patch \
%D%/packages/patches/pingus-sdl-libs-config.patch \ %D%/packages/patches/pingus-sdl-libs-config.patch \
%D%/packages/patches/pius.patch \ %D%/packages/patches/pius.patch \
%D%/packages/patches/pixman-CVE-2016-5296.patch \ %D%/packages/patches/pixman-CVE-2016-5296.patch \
%D%/packages/patches/plink-1.07-unclobber-i.patch \ %D%/packages/patches/plink-1.07-unclobber-i.patch \
%D%/packages/patches/plink-endian-detection.patch \ %D%/packages/patches/plink-endian-detection.patch \
%D%/packages/patches/plotutils-libpng-jmpbuf.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/poppler-CVE-2018-19149.patch \
%D%/packages/patches/portaudio-audacity-compat.patch \ %D%/packages/patches/portaudio-audacity-compat.patch \
%D%/packages/patches/portmidi-modular-build.patch \ %D%/packages/patches/portmidi-modular-build.patch \
%D%/packages/patches/potrace-tests.patch \ %D%/packages/patches/potrace-tests.patch \
@ -1086,16 +1101,14 @@ dist_patch_DATA = \
%D%/packages/patches/python-CVE-2018-14647.patch \ %D%/packages/patches/python-CVE-2018-14647.patch \
%D%/packages/patches/python-axolotl-AES-fix.patch \ %D%/packages/patches/python-axolotl-AES-fix.patch \
%D%/packages/patches/python-cairocffi-dlopen-path.patch \ %D%/packages/patches/python-cairocffi-dlopen-path.patch \
%D%/packages/patches/python-cffi-x87-stack-clean.patch \
%D%/packages/patches/python-fix-tests.patch \ %D%/packages/patches/python-fix-tests.patch \
%D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
%D%/packages/patches/python-networkx2-reproducible-build.patch \
%D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \ %D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
%D%/packages/patches/python-scikit-learn-fix-test-non-determinism.patch \
%D%/packages/patches/python-configobj-setuptools.patch \ %D%/packages/patches/python-configobj-setuptools.patch \
%D%/packages/patches/python-faker-fix-build-32bit.patch \ %D%/packages/patches/python-faker-fix-build-32bit.patch \
%D%/packages/patches/python-mox3-python3.6-compat.patch \ %D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-testtools.patch \ %D%/packages/patches/python-testtools.patch \
%D%/packages/patches/python-paste-remove-website-test.patch \
%D%/packages/patches/python-paste-remove-timing-test.patch \ %D%/packages/patches/python-paste-remove-timing-test.patch \
%D%/packages/patches/python-pycrypto-CVE-2013-7459.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/python2-pygobject-2-gi-info-type-error-domain.patch \
@ -1105,16 +1118,19 @@ dist_patch_DATA = \
%D%/packages/patches/python-unittest2-remove-argparse.patch \ %D%/packages/patches/python-unittest2-remove-argparse.patch \
%D%/packages/patches/python-waitress-fix-tests.patch \ %D%/packages/patches/python-waitress-fix-tests.patch \
%D%/packages/patches/qemu-glibc-2.27.patch \ %D%/packages/patches/qemu-glibc-2.27.patch \
%D%/packages/patches/qemu-CVE-2018-16847.patch \
%D%/packages/patches/qemu-CVE-2018-16867.patch \
%D%/packages/patches/qt4-ldflags.patch \ %D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/qtbase-glibc-compat.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \ %D%/packages/patches/qtbase-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/qt-5-renameat2.patch \
%D%/packages/patches/quagga-reproducible-build.patch \ %D%/packages/patches/quagga-reproducible-build.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \
%D%/packages/patches/quilt-test-fix-regex.patch \ %D%/packages/patches/quilt-test-fix-regex.patch \
%D%/packages/patches/quilt-compat-getopt-fix-second-separator.patch \ %D%/packages/patches/quilt-getopt-nondigit-param.patch \
%D%/packages/patches/quilt-compat-getopt-fix-option-with-nondigit-param.patch \ %D%/packages/patches/quilt-getopt-second-separator.patch \
%D%/packages/patches/qtwebkit-pbutils-include.patch \ %D%/packages/patches/qtwebkit-pbutils-include.patch \
%D%/packages/patches/randomjungle-disable-static-build.patch \
%D%/packages/patches/rapicorn-isnan.patch \ %D%/packages/patches/rapicorn-isnan.patch \
%D%/packages/patches/raptor2-heap-overflow.patch \ %D%/packages/patches/raptor2-heap-overflow.patch \
%D%/packages/patches/ratpoison-shell.patch \ %D%/packages/patches/ratpoison-shell.patch \
@ -1138,12 +1154,14 @@ dist_patch_DATA = \
%D%/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch \ %D%/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch \
%D%/packages/patches/rust-bootstrap-stage0-test.patch \ %D%/packages/patches/rust-bootstrap-stage0-test.patch \
%D%/packages/patches/rust-coresimd-doctest.patch \ %D%/packages/patches/rust-coresimd-doctest.patch \
%D%/packages/patches/rust-reproducible-builds.patch \
%D%/packages/patches/rxvt-unicode-escape-sequences.patch \ %D%/packages/patches/rxvt-unicode-escape-sequences.patch \
%D%/packages/patches/scheme48-tests.patch \ %D%/packages/patches/scheme48-tests.patch \
%D%/packages/patches/scotch-test-threading.patch \ %D%/packages/patches/scotch-test-threading.patch \
%D%/packages/patches/scotch-build-parallelism.patch \ %D%/packages/patches/scotch-build-parallelism.patch \
%D%/packages/patches/scotch-graph-diam-64.patch \ %D%/packages/patches/scotch-graph-diam-64.patch \
%D%/packages/patches/scotch-graph-induce-type-64.patch \ %D%/packages/patches/scotch-graph-induce-type-64.patch \
%D%/packages/patches/scribus-poppler.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \ %D%/packages/patches/sharutils-CVE-2018-1000097.patch \
@ -1177,6 +1195,7 @@ dist_patch_DATA = \
%D%/packages/patches/teeworlds-use-latest-wavpack.patch \ %D%/packages/patches/teeworlds-use-latest-wavpack.patch \
%D%/packages/patches/texinfo-perl-compat.patch \ %D%/packages/patches/texinfo-perl-compat.patch \
%D%/packages/patches/texinfo-5-perl-compat.patch \ %D%/packages/patches/texinfo-5-perl-compat.patch \
%D%/packages/patches/telegram-purple-adjust-test.patch \
%D%/packages/patches/texi2html-document-encoding.patch \ %D%/packages/patches/texi2html-document-encoding.patch \
%D%/packages/patches/texi2html-i18n.patch \ %D%/packages/patches/texi2html-i18n.patch \
%D%/packages/patches/thefuck-test-environ.patch \ %D%/packages/patches/thefuck-test-environ.patch \
@ -1187,10 +1206,16 @@ dist_patch_DATA = \
%D%/packages/patches/tk-find-library.patch \ %D%/packages/patches/tk-find-library.patch \
%D%/packages/patches/ttf2eot-cstddef.patch \ %D%/packages/patches/ttf2eot-cstddef.patch \
%D%/packages/patches/ttfautohint-source-date-epoch.patch \ %D%/packages/patches/ttfautohint-source-date-epoch.patch \
%D%/packages/patches/tophat-build-with-later-seqan.patch \ %D%/packages/patches/tomsfastmath-constness.patch \
%D%/packages/patches/totem-meson-easy-codec.patch \ %D%/packages/patches/totem-meson-easy-codec.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/twinkle-include-qregexpvalidator.patch \ %D%/packages/patches/twinkle-include-qregexpvalidator.patch \
%D%/packages/patches/u-boot-pinebook-a64-update-dts.patch \
%D%/packages/patches/u-boot-pinebook-mmc-calibration.patch \
%D%/packages/patches/u-boot-pinebook-r_i2c-controller.patch \
%D%/packages/patches/u-boot-pinebook-dts.patch \
%D%/packages/patches/u-boot-pinebook-syscon-node.patch \
%D%/packages/patches/u-boot-pinebook-video-bridge.patch \
%D%/packages/patches/unrtf-CVE-2016-10091.patch \ %D%/packages/patches/unrtf-CVE-2016-10091.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \
%D%/packages/patches/unzip-CVE-2014-8140.patch \ %D%/packages/patches/unzip-CVE-2014-8140.patch \
@ -1240,9 +1265,8 @@ dist_patch_DATA = \
%D%/packages/patches/wpa-supplicant-fix-zeroed-keys.patch \ %D%/packages/patches/wpa-supplicant-fix-zeroed-keys.patch \
%D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \ %D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \
%D%/packages/patches/wpa-supplicant-krack-followups.patch \ %D%/packages/patches/wpa-supplicant-krack-followups.patch \
%D%/packages/patches/wxmaxima-do-not-use-old-gnuplot-parameters.patch \ %D%/packages/patches/x265-arm-flags.patch \
%D%/packages/patches/x265-detect512-all-arches.patch \ %D%/packages/patches/x265-detect512-all-arches.patch \
%D%/packages/patches/xapian-revert-5489fb2f8.patch \
%D%/packages/patches/xboing-CVE-2004-0149.patch \ %D%/packages/patches/xboing-CVE-2004-0149.patch \
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \ %D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
%D%/packages/patches/xf86-video-geode-glibc-2.20.patch \ %D%/packages/patches/xf86-video-geode-glibc-2.20.patch \
@ -1258,7 +1282,6 @@ dist_patch_DATA = \
%D%/packages/patches/xinetd-fix-fd-leak.patch \ %D%/packages/patches/xinetd-fix-fd-leak.patch \
%D%/packages/patches/xinetd-CVE-2013-4342.patch \ %D%/packages/patches/xinetd-CVE-2013-4342.patch \
%D%/packages/patches/xmodmap-asprintf.patch \ %D%/packages/patches/xmodmap-asprintf.patch \
%D%/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch \
%D%/packages/patches/zathura-plugindir-environment-variable.patch %D%/packages/patches/zathura-plugindir-environment-variable.patch
MISC_DISTRO_FILES = \ MISC_DISTRO_FILES = \

View file

@ -9,7 +9,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Peter Feigl <peter.feigl@nexoid.at> ;;; Copyright © 2016 Peter Feigl <peter.feigl@nexoid.at>
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net> ;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
@ -45,6 +45,7 @@
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system emacs)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system meson) #:use-module (guix build-system meson)
#:use-module (guix build-system perl) #:use-module (guix build-system perl)
@ -125,7 +126,9 @@
`(("libgcrypt" ,libgcrypt) `(("libgcrypt" ,libgcrypt)
("libgpg-error" ,libgpg-error) ("libgpg-error" ,libgpg-error)
("libmhash" ,libmhash) ("libmhash" ,libmhash)
("pcre:static" ,pcre "static")
("pcre" ,pcre) ("pcre" ,pcre)
("zlib:static" ,zlib "static")
("zlib" ,zlib))) ("zlib" ,zlib)))
(synopsis "File and directory integrity checker") (synopsis "File and directory integrity checker")
(description (description
@ -225,13 +228,15 @@ interface and is based on GNU Guile.")
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'chdir (add-after 'unpack 'chdir
(lambda _ (lambda _
(chdir ,(string-append name "-" version)))) (chdir ,(string-append name "-" version))
#t))
(delete 'configure) (delete 'configure)
(add-before 'build 'patch (add-before 'build 'patch
(lambda _ (lambda _
(substitute* "src/error.h" (substitute* "src/error.h"
(("extern int errno;") (("extern int errno;")
"#include <errno.h>")))) "#include <errno.h>"))
#t))
(replace 'build (replace 'build
(lambda _ (lambda _
(invoke "package/compile"))) (invoke "package/compile")))
@ -241,7 +246,8 @@ interface and is based on GNU Guile.")
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(for-each (lambda (file) (for-each (lambda (file)
(install-file file bin)) (install-file file bin))
(find-files "command")))))))) (find-files "command")))
#t)))))
(synopsis "Tools for managing UNIX style services") (synopsis "Tools for managing UNIX style services")
(description (description
"@code{daemontools} is a collection of tools for managing UNIX "@code{daemontools} is a collection of tools for managing UNIX
@ -963,7 +969,7 @@ at once based on a Perl regular expression.")
#t)) #t))
(add-after 'install 'install-info (add-after 'install 'install-info
(lambda _ (lambda _
(zero? (system* "make" "install-info"))))))) (invoke "make" "install-info"))))))
(native-inputs `(("texinfo" ,texinfo) (native-inputs `(("texinfo" ,texinfo)
("util-linux" ,util-linux))) ; for 'cal' ("util-linux" ,util-linux))) ; for 'cal'
(home-page "https://www.gnu.org/software/rottlog/") (home-page "https://www.gnu.org/software/rottlog/")
@ -979,7 +985,7 @@ system administrator.")
(define-public sudo (define-public sudo
(package (package
(name "sudo") (name "sudo")
(version "1.8.25p1") (version "1.8.26")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -989,7 +995,7 @@ system administrator.")
version ".tar.gz"))) version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"0nqri46d4dpycj96zin2f2wszmhm7q9mr68hhj9sp81pgmx9rjcx")) "1qpyyfga8rs02p3186sns8qvh2bzwa48ka845nrcqh83dyd23nj0"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1094,7 +1100,8 @@ commands and their arguments.")
CFLAGS += $(shell pkg-config libnl-3.0 --cflags) CFLAGS += $(shell pkg-config libnl-3.0 --cflags)
CONFIG_LIBNL32=y CONFIG_LIBNL32=y
CONFIG_READLINE=y\n" port) CONFIG_READLINE=y\n" port)
(close-port port)))) (close-port port))
#t))
(add-after 'install 'install-man-pages (add-after 'install 'install-man-pages
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -1233,11 +1240,10 @@ This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
;; It's an old configure script that doesn't understand ;; It's an old configure script that doesn't understand
;; the extra options we pass. ;; the extra options we pass.
(setenv "CONFIG_SHELL" (which "bash")) (setenv "CONFIG_SHELL" (which "bash"))
(zero? (invoke "./configure"
(system* "./configure"
(string-append "--prefix=" out) (string-append "--prefix=" out)
(string-append "--mandir=" out (string-append "--mandir=" out
"/share/man"))))))) "/share/man"))))))
#:tests? #f)) #:tests? #f))
(home-page "https://www.kernel.org") ; really, no home page (home-page "https://www.kernel.org") ; really, no home page
(synopsis "Send a wake-on-LAN packet") (synopsis "Send a wake-on-LAN packet")
@ -1339,25 +1345,30 @@ system is under heavy load.")
(define-public detox (define-public detox
(package (package
(name "detox") (name "detox")
(version "1.2.0") (version "1.3.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "mirror://sourceforge/detox/detox/" version (uri (git-reference
"/detox-" version ".tar.bz2")) (url "https://github.com/dharple/detox.git")
(commit (string-append "v" version))))
(sha256 (sha256
(base32 (base32
"1y6vvjqsg54kl49cry73jbfhr04s7wjs779vrr9zrq6kww7dkymb")))) "1dd608c7g65s5lj02cddvani3q9kzirddgkjqa22ap9d4f8b9xgr"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; Both flex and popt are used in this case for their runtime libraries (native-inputs
;; (libfl and libpopt). `(("autoconf" ,autoconf)
(inputs ("automake" ,automake)
`(("flex" ,flex) ("flex" ,flex)))
("popt" ,popt)))
(arguments (arguments
`(#:configure-flags `(,(string-append "--with-popt=" `(#:tests? #f ;no 'check' target
(assoc-ref %build-inputs "popt"))) #:phases (modify-phases %standard-phases
#:tests? #f)) ;no 'check' target (add-after 'unpack 'delete-configure
(home-page "http://detox.sourceforge.net") ;; The "configure" script is present, but otherwise the
;; project is not bootstrapped: missing install-sh and
;; Makefile.in, so delete it so the bootstrap phase will
;; take over.
(lambda _ (delete-file "configure") #t)))))
(home-page "https://github.com/dharple/detox")
(synopsis "Clean up file names") (synopsis "Clean up file names")
(description (description
"Detox is a program that renames files to make them easier to work with "Detox is a program that renames files to make them easier to work with
@ -1589,14 +1600,14 @@ of supported upstream metrics systems simultaneously.")
(define-public ansible (define-public ansible
(package (package
(name "ansible") (name "ansible")
(version "2.5.7") (version "2.7.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "ansible" version)) (uri (pypi-uri "ansible" version))
(sha256 (sha256
(base32 (base32
"0wbsjjx3xjlm8g50a9j9c6p9rn23jx32yn1234bf5rmj1qgy3p85")) "0p1n6yyc632522fl2r247p0jg4mncc7z4hqngzbh1zxq3dcb12s9"))
(patches (search-patches "ansible-wrap-program-hack.patch")))) (patches (search-patches "ansible-wrap-program-hack.patch"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
@ -1622,6 +1633,34 @@ ad hoc task execution, and multinode orchestration---including trivializing
things like zero-downtime rolling updates with load balancers.") things like zero-downtime rolling updates with load balancers.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-ansible-doc
(let ((commit "86083a7bb2ed0468ca64e52076b06441a2f8e9e0"))
(package
(name "emacs-ansible-doc")
(version (git-version "0.4" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lunaryorn/ansible-doc.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0lap404ch74w99n3xip176jr42b38xhyzkfnkyqg0g3wk2cd3aq8"))))
(build-system emacs-build-system)
;; Unmaintained by upstream.
(home-page "https://github.com/lunaryorn/ansible-doc.el")
(synopsis "Ansible documentation for Emacs")
(description
"This package provides an Ansible documentation for GNU Emacs.
@code{ansible-doc} allows you to view the documentation of an Ansible
module and @code{ansible-doc-mode} minor mode adds documentation
lookup to YAML Mode. You could enable the mode with @code{(add-hook
'yaml-mode-hook #'ansible-doc-mode)}.")
(license license:gpl3+))))
(define-public cpulimit (define-public cpulimit
(package (package
(name "cpulimit") (name "cpulimit")
@ -1639,20 +1678,18 @@ things like zero-downtime rolling updates with load balancers.")
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure)
(replace (replace 'build
'build
(lambda _ (lambda _
(zero? (system* "make" "CC=gcc" "-Csrc")))) (invoke "make" "CC=gcc" "-Csrc")))
(replace (replace 'check
'check
(lambda _ (lambda _
(zero? (system* "make" "CC=gcc" "-Ctests")))) (invoke "make" "CC=gcc" "-Ctests")))
(replace (replace 'install
'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(install-file "src/cpulimit" bin))))))) (install-file "src/cpulimit" bin))
#t)))))
(home-page "https://github.com/opsengine/cpulimit") (home-page "https://github.com/opsengine/cpulimit")
(synopsis "Limit CPU usage") (synopsis "Limit CPU usage")
(description (description
@ -1861,10 +1898,9 @@ done with the @code{auditctl} utility.")
(replace 'install (replace 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(define (make out . args) (define (make out . args)
(unless (zero? (apply system* "make" (apply invoke "make"
(string-append "prefix=" out) (string-append "prefix=" out)
args)) args))
(error "make failed")))
(define (python-path dir) (define (python-path dir)
(string-append dir "/lib/python2.7/site-packages")) (string-append dir "/lib/python2.7/site-packages"))
(let ((out (assoc-ref outputs "out")) (let ((out (assoc-ref outputs "out"))
@ -1878,13 +1914,14 @@ done with the @code{auditctl} utility.")
(make ndiff "install-ndiff") (make ndiff "install-ndiff")
(wrap-program (string-append ndiff "/bin/ndiff") (wrap-program (string-append ndiff "/bin/ndiff")
`("PYTHONPATH" prefix `("PYTHONPATH" prefix
(,(python-path ndiff))))))) (,(python-path ndiff)))))
#t))
;; These are the tests that do not require network access. ;; These are the tests that do not require network access.
(replace 'check (replace 'check
(lambda _ (zero? (system* "make" (lambda _ (invoke "make"
"check-nse" "check-nse"
"check-ndiff" "check-ndiff"
"check-dns"))))) "check-dns"))))
;; Nmap can't cope with out-of-source building. ;; Nmap can't cope with out-of-source building.
#:out-of-source? #f)) #:out-of-source? #f))
(home-page "https://nmap.org/") (home-page "https://nmap.org/")
@ -2190,15 +2227,15 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
#t)) #t))
(replace 'build (replace 'build
(lambda* (#:key make-flags #:allow-other-keys) (lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* "make" "tools" "misc" make-flags)))) (apply invoke "make" "tools" "misc" make-flags)))
(add-after 'build 'build-armhf (add-after 'build 'build-armhf
(lambda* (#:key make-flags #:allow-other-keys) (lambda* (#:key make-flags #:allow-other-keys)
(setenv "LIBRARY_PATH" #f) (setenv "LIBRARY_PATH" #f)
(zero? (apply system* "make" "target-tools" make-flags)))) (apply invoke "make" "target-tools" make-flags)))
(replace 'install (replace 'install
(lambda* (#:key make-flags #:allow-other-keys) (lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* "make" "install-all" "install-misc" (apply invoke "make" "install-all" "install-misc"
make-flags))))))) make-flags))))))
(home-page "https://github.com/linux-sunxi/sunxi-tools") (home-page "https://github.com/linux-sunxi/sunxi-tools")
(synopsis "Hardware management tools for Allwinner computers") (synopsis "Hardware management tools for Allwinner computers")
(description "This package contains tools for Allwinner devices: (description "This package contains tools for Allwinner devices:
@ -2452,26 +2489,20 @@ make it a perfect utility on modern distros.")
(version "1.7.2") (version "1.7.2")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/01org/thermal_daemon/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/01org/thermal_daemon")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(sha256 (base32 (file-name (git-file-name name version))
"15a6vb67y5wsmf0irrq7sxam18yqpz64130k83ryf24mp40h661b")))) (sha256
(base32
"1cs2pq8xvfnsvrhg2bxawk4kn3z1qmfrnpnhs178pvfbglzh15hc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:configure-flags
(modify-phases %standard-phases
(add-after 'unpack 'bootstrap
(lambda _
(invoke "sh" "autogen.sh")
#t)))
#:configure-flags
(let ((out (assoc-ref %outputs "out"))) (let ((out (assoc-ref %outputs "out")))
(list (string-append "--sysconfdir=" (list (string-append "--sysconfdir="
out "/etc") out "/etc")
(string-append "--with-udev-dir="
out "/lib/udev")
(string-append "--with-dbus-sys-dir=" (string-append "--with-dbus-sys-dir="
out "/etc/dbus-1/system.d") out "/etc/dbus-1/system.d")
"--localstatedir=/var")))) "--localstatedir=/var"))))
@ -2843,3 +2874,82 @@ support forum. It runs with the @code{/exec} command in most IRC clients.")
(description "This package provides tools to manage clients of the (description "This package provides tools to manage clients of the
Logitech Unifying Receiver.") Logitech Unifying Receiver.")
(license license:gpl2))) (license license:gpl2)))
(define-public lynis
(package
(name "lynis")
(version "2.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/CISOfy/lynis")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0rzc0y8lk22bymf56249jzmllki2lh0rz5in4lkrc5fkmp29c2wv"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove proprietary plugins. As of now, all plugins supplied with
;; lynis are proprietary. In the future, if free plugins are
;; provided, whitelist them from deletion.
(for-each delete-file (find-files "plugins"))
#t))))
(build-system gnu-build-system)
(native-inputs
`(;; For tests
("lynis-sdk"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/CISOfy/lynis-sdk")
(commit "3310aef4f2b3dd97d166c96ad0253c89c4ad390d")))
(file-name (git-file-name "lynis-sdk" version))
(sha256
(base32
"0sqsrm5wal742yrwps8bqb8a8lxd93n4b93n3kkm1b30nbs25g7y"))))))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "lynis"
(("/usr/share/lynis")
(string-append (assoc-ref outputs "out") "/share/lynis")))
(substitute* "include/functions"
(("/usr/local/etc/lynis")
(string-append (assoc-ref outputs "out") "/etc/lynis")))
#t))
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "lynis" (string-append out "/bin/"))
(install-file "default.prf" (string-append out "/etc/lynis"))
(for-each
(lambda (dir)
(copy-recursively dir (string-append out "/share/lynis/" dir)))
(list "db" "include" "plugins"))
(install-file "lynis.8" (string-append out "/share/man/man8"))
#t)))
(replace 'check
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "lynis-sdk") "../lynis-sdk")
(setenv "LANG" "en_US.UTF-8")
(let ((lynis-dir (getcwd)))
(with-directory-excursion "../lynis-sdk"
(substitute* "config"
(("\\.\\./lynis") lynis-dir))
(substitute* "unit-tests/tests-language-translations.sh"
(("\\.\\./lynis") lynis-dir))
(invoke "sh" "lynis-devkit" "run" "unit-tests"))))))))
(home-page "https://cisofy.com/lynis/")
(synopsis "Security auditing tool")
(description "Lynis is a security auditing tool. It performs an in-depth
security scan and runs on the system itself. The primary goal is to test
security defenses and provide tips for further system hardening. It will also
scan for general system information, vulnerable software packages, and
possible configuration issues.")
(license license:gpl3+)))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
@ -139,7 +139,7 @@ solve the shortest vector problem.")
(define-public pari-gp (define-public pari-gp
(package (package
(name "pari-gp") (name "pari-gp")
(version "2.11.0") (version "2.11.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -147,7 +147,7 @@ solve the shortest vector problem.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"18f9yj8ffn3dxignbxj1x36771zbxy4js0r18mv6831ymb6cld9q")))) "1jfax92jpydjd02fwl30r6b8kfzqqd6sm4yx94gidyz9lqjb7a94"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("texlive" ,texlive-tiny))) (native-inputs `(("texlive" ,texlive-tiny)))
(inputs `(("gmp" ,gmp) (inputs `(("gmp" ,gmp)
@ -179,7 +179,7 @@ PARI is also available as a C library to allow for faster computations.")
(define-public gp2c (define-public gp2c
(package (package
(name "gp2c") (name "gp2c")
(version "0.0.11") (version "0.0.11pl1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -187,7 +187,7 @@ PARI is also available as a C library to allow for faster computations.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1z69xj2dpd8yyi8108rz26c50xpv0k2j8qnk0bzy1c5lw3pd1adm")))) "1c6f6vmncw032kfzrfyr8bynw6yd3faxpy2285r009fmr0zxfs5s"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("perl" ,perl))) (native-inputs `(("perl" ,perl)))
(inputs `(("pari-gp" ,pari-gp))) (inputs `(("pari-gp" ,pari-gp)))
@ -210,10 +210,40 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
(license license:gpl2) (license license:gpl2)
(home-page "https://pari.math.u-bordeaux.fr/"))) (home-page "https://pari.math.u-bordeaux.fr/")))
(define-public cmh
(package
(name "cmh")
(version "1.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://gforge.inria.fr/frs/download.php/33497/cmh-"
version ".tar.gz"))
(sha256
(base32
"1a28xr9bs0igms0ik99x0w8lnb0jyfcmvyi26pbyh9ggcdivd33p"))))
(build-system gnu-build-system)
(inputs
`(("gmp" ,gmp)
("mpfr" ,mpfr)
("mpc" ,mpc)
("mpfrcx" ,mpfrcx)
("fplll" ,fplll)
("pari-gp" ,pari-gp)))
(synopsis "Igusa class polynomial computations")
(description
"The CMH software computes Igusa (genus 2) class polynomials, which
parameterize the CM points in the moduli space of 2-dimensional abelian
varieties, i.e. Jacobians of hyperelliptic curves.
It can also be used to compute theta constants at arbitrary
precision.")
(license license:gpl3+)
(home-page "http://cmh.gforge.inria.fr/")))
(define-public giac-xcas (define-public giac-xcas
(package (package
(name "giac-xcas") (name "giac-xcas")
(version "1.4.9-59") (version "1.5.0-19")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly ;; "~parisse/giac" is not used because the maintainer regularly
@ -225,16 +255,48 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
"source/giac_" version ".tar.gz")) "source/giac_" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0dv5p5y6gkrsmz3xa7fw87rjyabwdwk09mqb09kb7gai9n9dgayk")))) "0ds1zh712sr20qh0fih8jnm4nlv90andllp8n263qs7rlhblz551"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "doc")) ;77MiB of documentation
(arguments (arguments
`(#:phases `(#:modules ((ice-9 ftw)
(guix build utils)
(guix build gnu-build-system))
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'patch-bin-cp (add-after 'unpack 'patch-bin-cp
(lambda _
;; Some Makefiles contain hard-coded "/bin/cp". ;; Some Makefiles contain hard-coded "/bin/cp".
(lambda _
(substitute* (find-files "doc" "^Makefile") (substitute* (find-files "doc" "^Makefile")
(("/bin/cp") (which "cp"))) (("/bin/cp") (which "cp")))
#t))
(add-after 'unpack 'disable-failing-test
;; FIXME: Test failing. Not sure why.
(lambda _
(substitute* "check/Makefile.in"
(("chk_fhan11") ""))
#t))
(add-after 'install 'install-doc
;; Setting --docdir to "doc" output isn't sufficient as
;; documentation and examples are scattered throughout the source.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc"))
(docdir (string-append doc
"/share/doc/"
(string-append ,name "-" ,version))))
;; For some reason, the install process moves
;; "share/giac/examples" instead of "share/giac/doc" to
;; "$(docdir)". Clean up the mess and start over.
(delete-file-recursively (string-append doc "/share"))
(mkdir-p docdir)
(with-directory-excursion out
(for-each (lambda (f)
(unless (member f '("." ".."))
(copy-recursively (string-append "share/giac/" f)
(string-append docdir "/" f))))
(scandir "share/giac"))
(delete-file-recursively "share/giac")))
#t))))) #t)))))
(inputs (inputs
`(("fltk" ,fltk) `(("fltk" ,fltk)
@ -317,14 +379,14 @@ fast arithmetic.")
(name "arb") (name "arb")
(version "2.14.0") (version "2.14.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/fredrik-johansson/arb/archive/" (url "https://github.com/fredrik-johansson/arb.git")
version ".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ncr27nd20xxi18nj30cvpa6r52v59nq7gbi34x3l4xym3p8mlmx")))) "1ndxg7h4xvccjgp5l9z2f8b66dsff6fhf86bn5n7f75a1ksd7554"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
`(("flint" ,flint))) ; flint.h is included by arf.h `(("flint" ,flint))) ; flint.h is included by arf.h
@ -506,13 +568,14 @@ syntax is similar to that of C, so basic usage is familiar. It also includes
(name "kiss-fft-for-extempore") (name "kiss-fft-for-extempore")
(version "1.3.0") (version "1.3.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/extemporelang/kiss_fft/archive/" (uri (git-reference
version ".tar.gz")) (url "https://github.com/extemporelang/kiss_fft.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0hkp9l6l4c92fb1l2sh6a6zv1hynpvb2s4d03vd8vxyvybc0l4pv")))) "0jasbmqy4wkqrqx3w64s1dfmj34875xmsl72mb26aa4hpyn14bi2"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments `(#:tests? #f)) ; no tests included (arguments `(#:tests? #f)) ; no tests included
;; Extempore refuses to build on architectures other than x86_64 ;; Extempore refuses to build on architectures other than x86_64

View file

@ -108,7 +108,7 @@ use their packages mostly unmodified in our Android NDK build system.")
;; Big thanks to them for laying the groundwork. ;; Big thanks to them for laying the groundwork.
;; The version tag is consistent between all repositories. ;; The version tag is consistent between all repositories.
(define (android-platform-version) "7.1.2_r6") (define (android-platform-version) "7.1.2_r36")
(define (android-platform-system-core version) (define (android-platform-system-core version)
(origin (origin
@ -120,7 +120,7 @@ use their packages mostly unmodified in our Android NDK build system.")
version "-checkout")) version "-checkout"))
(sha256 (sha256
(base32 (base32
"0xc2n7jxrf1iw9cc278pijdfjix2fkiig5ws27f6rwp40zg5mrgg")) "1krnc2b9zfkzpdgs1dcbji59nszlx2qr723pg89m52622czc06hg"))
(patches (patches
(search-patches "libbase-use-own-logging.patch" (search-patches "libbase-use-own-logging.patch"
"libbase-fix-includes.patch" "libbase-fix-includes.patch"
@ -151,7 +151,7 @@ use their packages mostly unmodified in our Android NDK build system.")
version "-checkout")) version "-checkout"))
(sha256 (sha256
(base32 (base32
"0n9wkz3ynqw39if1ss9n32m66iga14nndf29hpm7g1aqn4wvvgzk")))) "15r4s20d7vw022f8vrc3jbghmqwdcqzprl7i2bfvdkz8z76wc1ps"))))
(define (android-platform-external version subdirectory checksum) (define (android-platform-external version subdirectory checksum)
(origin (origin
@ -339,6 +339,13 @@ various Android core host applications.")
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'enter-source (add-after 'unpack 'enter-source
(lambda _ (chdir "adb") #t)) (lambda _ (chdir "adb") #t))
(add-after 'enter-source 'glibc-compat
(lambda _
;; Include sysmacros.h for "major" and "minor" in Glibc 2.28.
(substitute* "usb_linux.cpp"
(("#include <sys/types.h>" all)
(string-append all "\n#include <sys/sysmacros.h>\n")))
#t))
(add-after 'enter-source 'make-libs-available (add-after 'enter-source 'make-libs-available
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "Android.mk" (substitute* "Android.mk"

156
gnu/packages/antivirus.scm Normal file
View file

@ -0,0 +1,156 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
;;;
;;; 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 antivirus)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages flex)
#:use-module (gnu packages llvm)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages xml))
(define-public clamav
(package
(name "clamav")
(version "0.100.2")
(source (origin
(method url-fetch)
(uri (string-append "https://www.clamav.net/downloads/production/"
"clamav-" version ".tar.gz"))
(sha256
(base32
"1mkd41sxbjkfjinpx5b9kb85q529gj2s3d0klysssqhysh64ybja"))
(modules '((guix build utils)))
(snippet
'(begin
(for-each delete-file-recursively
'("win32" ;unnecessary
"libclamav/c++/llvm" ;use system llvm
"libclamunrar")))) ;non-free license
(patches
(search-patches "clamav-system-tomsfastmath.patch"
"clamav-config-llvm-libs.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
("check" ,check) ;for tests
("flex" ,flex)
("pkg-config" ,pkg-config)
;; The tomsfastmath patch touches configure.ac and Makefile.am
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(inputs
`(("bzip2" ,bzip2)
("libcurl" ,curl)
("libjson" ,json-c)
("libltdl" ,libltdl)
("libmspack" ,libmspack)
("llvm" ,llvm-3.6) ;requires <3.7, for JIT/verifier
("ncurses" ,ncurses)
("openssl" ,libressl)
("pcre" ,pcre "bin") ;for pcre-config
("sasl" ,cyrus-sasl) ;for linking curl with libtool
("tomsfastmath" ,tomsfastmath)
("xml" ,libxml2)
("zlib" ,zlib)))
(arguments
`(#:configure-flags
(let-syntax ((with (syntax-rules ()
((_ name)
(string-append "--with-" name "="
(assoc-ref %build-inputs name))))))
(list "--disable-unrar"
"--enable-llvm"
"--with-system-llvm"
"--with-system-libmspack"
"--without-included-ltdl"
(with "xml")
(with "openssl")
(with "libjson")
(with "pcre")
(with "zlib")
(with "libcurl")
;; For sanity, specifying --enable-* flags turns
;; "support unavailable" warnings into errors.
"--enable-bzip2"
"--enable-check"
"--sysconfdir=/etc/clamav"
;; Default database directory needs to be writeable
"--with-dbdir=/var/db/clamav"))
;; install sample .conf files to %output/etc rather than /etc/clamav
#:make-flags (list (string-append "sysconfdir=" %output "/etc"))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'reconf
(lambda _ (zero? (system* "autoreconf" "-vfi"))))
(add-before 'configure 'patch-llvm-config
(lambda _
(substitute* '("libclamav/c++/detect.cpp"
"libclamav/c++/ClamBCRTChecks.cpp"
"libclamav/c++/bytecode2llvm.cpp")
(("llvm/Config/config.h") "llvm/Config/llvm-config.h"))
;; `llvm-config --libfiles` inappropriately lists lib*.a
;; libraries, rather than the lib*.so's that our llvm
;; contains. They're used only for listing extra build
;; dependencies, so ignore them until that's fixed.
(substitute* "libclamav/c++/Makefile.in"
(("@LLVMCONFIG_LIBFILES@") ""))
#t))
(add-before 'check 'skip-clamd-tests
;; XXX: The check?_clamd tests fail inside the build
;; chroot, but pass outside.
(lambda _
(substitute* "unit_tests/Makefile"
(("check2_clamd.sh.*check4_clamd.sh") ""))
#t)))))
(home-page "https://www.clamav.net")
(synopsis "Antivirus engine")
(description
"Clam AntiVirus is an anti-virus toolkit, designed especially for e-mail
scanning on mail gateways. It provides a number of utilities including a
flexible and scalable multi-threaded daemon, a command line scanner, and
advanced tool for automatic database updates. The core of the package is an
anti-virus engine available in the form of a shared library.")
(license (list license:gpl2+ ;ClamAV itself
license:lgpl2.1 ;libclamav/mspack.[ch]
license:public-domain ;libclamav/7z/*, libclamav/rijndael.[ch], etc...
(package-license bzip2) ;modified bzip2 source in libclamav/nsis
license:bsd-2 ;several files in libclamav
license:bsd-3 ;libclamav/{regex,qsort.c,swf.[ch]
license:ncsa ;libclamav/c++/PointerTracking.cpp
license:zlib ;libclamav/inf*.h
license:x11 ;libclamav/lzw
(license:non-copyleft "libclamav/strlcat.c") ;"OpenBSD" license
license:asl2.0 ;libclamav/yara*
license:expat)))) ;shared/getopt.[ch]

View file

@ -15,6 +15,8 @@
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Brett Gilio <brettg@posteo.net> ;;; Copyright © 2018 Brett Gilio <brettg@posteo.net>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -427,6 +429,46 @@ and editing digital audio. It features digital effects and spectrum analysis
tools.") tools.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public autotalent
(package
(name "autotalent")
(version "0.2")
(source (origin
(method url-fetch)
(uri (string-append "http://tombaran.info/autotalent-"
version ".tar.gz"))
(sha256
(base32
"1n04qm66f14195ly6gsy3ra7v2j7zad5n19d8dwfmh0qs6h9hphh"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
;; no configure script
(delete 'configure)
(add-before 'install 'prepare-target-directory
(lambda* (#:key outputs #:allow-other-keys)
(mkdir-p (string-append (assoc-ref outputs "out") "/lib/ladspa"))
#t))
(add-after 'unpack 'override-target-directory
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
(("/usr/lib64/ladspa")
(string-append (assoc-ref outputs "out") "/lib/ladspa")))
#t)))))
(inputs
`(("ladspa" ,ladspa)))
(home-page "http://tombaran.info/autotalent.html")
(synopsis "Pitch-correction LADSPA audio plugin")
(description
"Autotalent is a LADSPA plugin for real-time pitch-correction. Among its
controls are allowable notes, strength of correction, LFO for vibrato and
formant warp.")
;; All code except the FFT routine is licensed under GPLv2+.
;; The FFT routine is under BSD-3.
(license license:gpl2+)))
(define-public azr3 (define-public azr3
(package (package
(name "azr3") (name "azr3")
@ -514,6 +556,47 @@ tools (analyzer, mono/stereo tools, crossovers).")
;; The plugins are released under LGPLv2.1+ ;; The plugins are released under LGPLv2.1+
(license (list license:lgpl2.1+ license:gpl2+)))) (license (list license:lgpl2.1+ license:gpl2+))))
(define-public caps-plugins-lv2
(package
(name "caps-plugins-lv2")
(version "0.9.24") ; version that has been ported.
(source
(origin
;; The Github project hasn't tagged a release.
(method git-fetch)
(uri (git-reference
;; Actually https://github.com/moddevices/caps-lv2.git, but it's
;; missing fixes for newer glibc, so using the origin of a pull
;; request regarding this issue:
(url "https://github.com/jujudusud/caps-lv2.git")
(commit "9c9478b7fbd8f9714f552ebe2a6866398b0babfb")))
(file-name (git-file-name name version))
(sha256
(base32
"1idfnazin3cca41zw1a8vwgnxjnkrap7bxxjamjqvgpmvydgcam1"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
;; no configure script
(delete 'configure)
(add-after 'unpack 'override-target-directory
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (find-files "plugins" "Makefile")
(("/usr/local")(assoc-ref outputs "out")))
#t)))))
(inputs
`(("lv2" ,lv2)))
;; home-page of the original LADSPA version: http://quitte.de/dsp/caps.html
(home-page "https://github.com/moddevices/caps-lv2")
(synopsis "LV2 port of the CAPS audio plugin colection")
(description
"LV2 port of CAPS, a collection of audio plugins comprising basic virtual
guitar amplification and a small range of classic effects, signal processors and
generators of mostly elementary and occasionally exotic nature.")
(license license:gpl3+)))
(define-public espeak (define-public espeak
(package (package
(name "espeak") (name "espeak")
@ -572,13 +655,14 @@ based on human speech recordings.")
(name "infamous-plugins") (name "infamous-plugins")
(version "0.2.04") (version "0.2.04")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/ssj71/infamousPlugins/" (uri (git-reference
"archive/v" version ".tar.gz")) (url "https://github.com/ssj71/infamousPlugins.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1n6rhqsmvad7692w2h01niw5gqg5yk7a09wxl5ivs77zyp93vf7z")))) "0hmqk80w4qxq09iag7b7srf2g0wigkyhzq0ywxvhz2iz0hq9k0dh"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f ; there are no tests `(#:tests? #f ; there are no tests
@ -610,13 +694,14 @@ envelope follower, distortion effects, tape effects and more.")
(name "swh-plugins-lv2") (name "swh-plugins-lv2")
(version "1.0.16") (version "1.0.16")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/swh/" (uri (git-reference
"lv2/archive/v" version ".tar.gz")) (url "https://github.com/swh/lv2.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0j1mih0lp4fds07knp5i32in515sh0df1qi6694pmyz2wqnm295w")))) "0y7nnww864mm4k6ayy2lhcws3wlbhb2gkyjbrwk921fvc18qk9mz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
@ -654,14 +739,14 @@ emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.")
(name "csound") (name "csound")
(version "6.11.0") (version "6.11.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/csound/csound/archive/" (url "https://github.com/csound/csound.git")
version ".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"072pk5h9w0vhw0ncc9dn90haw1yv18v04iwwjn8nsp6930w7dvxd")))) "1hlkrnv3gghx4v382nl6v6k2k1dzm5ddk35m5g3q6pzc959726s7"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (inputs
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)
@ -713,7 +798,8 @@ language and software synthesizer.")
(lambda _ (lambda _
(symlink "libclalsadrv.so" (symlink "libclalsadrv.so"
(string-append (assoc-ref %outputs "out") (string-append (assoc-ref %outputs "out")
"/lib/libclalsadrv.so.2")))) "/lib/libclalsadrv.so.2"))
#t))
;; no configure script ;; no configure script
(delete 'configure)))) (delete 'configure))))
(inputs (inputs
@ -1042,7 +1128,7 @@ follower.")
(define-public fluidsynth (define-public fluidsynth
(package (package
(name "fluidsynth") (name "fluidsynth")
(version "2.0.1") (version "2.0.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1051,7 +1137,7 @@ follower.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1mqyym5qkh8xd1rqj3yhfxbw5dxjcrljb6nkfqzvcarlv4h6rjn7")))) "02vs5sfsyh1dl7wlcvgs4w3x0qcmsl7vi000qgp99ynwh3wjb274"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f ; no check target '(#:tests? #f ; no check target
@ -1174,19 +1260,15 @@ PS, and DAB+.")
(define-public faust-2 (define-public faust-2
(package (package
(inherit faust) (inherit faust)
(version "2.1.0") (version "2.5.23")
(source (origin (source (origin
(method git-fetch) (method url-fetch)
(uri (git-reference (uri (string-append "https://github.com/grame-cncm/faust/"
(url "https://github.com/grame-cncm/faust.git") "releases/download/" version
(commit (string-append "v" "/faust-" version ".tar.gz"))
(string-map (lambda (c)
(if (char=? c #\.) #\- c))
version)))))
(file-name (string-append "faust-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"06km0ygwxxwgw1lqldccqidxhmjfz8ck0wnbd95qk5sg8sbpc068")))) "1yz5jnr76hh7rmxkpdi7gyrw1wp4gyqfpq8zyl97qdi5ga5gjznq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(substitute-keyword-arguments (package-arguments faust) (substitute-keyword-arguments (package-arguments faust)
@ -1194,7 +1276,7 @@ PS, and DAB+.")
`(list (string-append "prefix=" (assoc-ref %outputs "out")) `(list (string-append "prefix=" (assoc-ref %outputs "out"))
"world")))) "world"))))
(native-inputs (native-inputs
`(("llvm" ,llvm-with-rtti) `(("llvm" ,llvm-3.8)
("which" ,which) ("which" ,which)
("xxd" ,xxd) ("xxd" ,xxd)
("ctags" ,emacs-minimal) ; for ctags ("ctags" ,emacs-minimal) ; for ctags
@ -1486,7 +1568,8 @@ synchronous execution of all clients, and low latency operation.")
((".*CFLAGS.*-Wall.*" m) ((".*CFLAGS.*-Wall.*" m)
(string-append m (string-append m
" conf.env.append_unique('LINKFLAGS'," " conf.env.append_unique('LINKFLAGS',"
"'-Wl,-rpath=" %output "/lib')\n"))))) "'-Wl,-rpath=" %output "/lib')\n")))
#t))
(add-after 'install 'wrap-python-scripts (add-after 'install 'wrap-python-scripts
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
;; Make sure 'jack_control' runs with the correct PYTHONPATH. ;; Make sure 'jack_control' runs with the correct PYTHONPATH.
@ -1522,6 +1605,7 @@ synchronous execution of all clients, and low latency operation.")
(build-system waf-build-system) (build-system waf-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
#:python ,python-2
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before (add-before
@ -1569,8 +1653,8 @@ plugin function as a JACK application.")
(arguments (arguments
`(#:tests? #f ; the "test" target is a listening test only `(#:tests? #f ; the "test" target is a listening test only
#:phases #:phases
(alist-replace (modify-phases %standard-phases
'configure (replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args) (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
(chdir "src") (chdir "src")
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
@ -1580,8 +1664,9 @@ plugin function as a JACK application.")
(("/usr/bin/") (string-append out "/bin/")) (("/usr/bin/") (string-append out "/bin/"))
(("-mkdirhier") "mkdir -p") (("-mkdirhier") "mkdir -p")
(("^CC.*") "CC = gcc\n") (("^CC.*") "CC = gcc\n")
(("^CPP.*") "CPP = g++\n")))) (("^CPP.*") "CPP = g++\n")))
(alist-delete 'build %standard-phases)))) #t))
(delete 'build))))
;; Since the home page is gone, we provide a link to the archived version. ;; Since the home page is gone, we provide a link to the archived version.
(home-page (home-page
"https://web.archive.org/web/20140729190945/http://www.ladspa.org/") "https://web.archive.org/web/20140729190945/http://www.ladspa.org/")
@ -1881,14 +1966,14 @@ software.")
(name "lvtk") (name "lvtk")
(version "1.2.0") (version "1.2.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/lvtk/lvtk/archive/" (uri (git-reference
version (url "https://github.com/lvtk/lvtk.git")
".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd")))) "1b01zvzl70ana6l1kn8fgyr7msnn3c7x61cgw7fdpp50322352p8"))))
(build-system waf-build-system) (build-system waf-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
@ -2012,7 +2097,9 @@ buffers, and audio capture.")
(base32 (base32
"1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb")))) "1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb"))))
(build-system waf-build-system) (build-system waf-build-system)
(arguments `(#:tests? #f)) ; no check target (arguments
`(#:tests? #f ; no check target
#:python ,python-2))
(inputs (inputs
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)
("boost" ,boost) ("boost" ,boost)
@ -2033,14 +2120,14 @@ and ALSA.")
(define-public qjackctl (define-public qjackctl
(package (package
(name "qjackctl") (name "qjackctl")
(version "0.5.4") (version "0.5.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/" (uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
version "/qjackctl-" version ".tar.gz")) version "/qjackctl-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0qr71nb93gkz5q53nfcl5g168z173wc6s8w1yjs3rfn3m4hg0bcq")))) "1rzzqa39a6llr52vjkjr0a86nc776kmr5xs52qqga8ms9697psz5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f)) ; no check target '(#:tests? #f)) ; no check target
@ -2096,7 +2183,7 @@ background file post-processing.")
(define-public supercollider (define-public supercollider
(package (package
(name "supercollider") (name "supercollider")
(version "3.9.2") (version "3.10.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -2105,7 +2192,7 @@ background file post-processing.")
"/SuperCollider-" version "-Source-linux.tar.bz2")) "/SuperCollider-" version "-Source-linux.tar.bz2"))
(sha256 (sha256
(base32 (base32
"0d3cb6dw8jz7ijriqn3rlwin24gffczp69hl17pzxj1d5w57yj44")))) "16j9psa32czx1p1y2vvq0qf2ib0ngrfc604vx35n2b4llyika84v"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on" `(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on"
@ -2117,6 +2204,12 @@ background file post-processing.")
(ice-9 ftw)) (ice-9 ftw))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'fix-build-with-boost-1.68
(lambda _
(substitute* "server/supernova/utilities/time_tag.hpp"
(("(time_duration offset = .+ microseconds\\().*" _ m)
(string-append m "static_cast<long>(get_nanoseconds()/1000));\n")))
#t))
(add-after 'unpack 'rm-bundled-libs (add-after 'unpack 'rm-bundled-libs
(lambda _ (lambda _
;; The build system doesn't allow us to unbundle the following ;; The build system doesn't allow us to unbundle the following
@ -2137,13 +2230,13 @@ background file post-processing.")
;; https://github.com/supercollider/supercollider/issues/1736 ;; https://github.com/supercollider/supercollider/issues/1736
(add-after 'rm-bundled-libs 'disable-broken-tests (add-after 'rm-bundled-libs 'disable-broken-tests
(lambda _ (lambda _
(substitute* "testsuite/supernova/CMakeLists.txt" (substitute* "testsuite/server/supernova/CMakeLists.txt"
(("server_test.cpp") (("server_test.cpp")
"") "")
(("perf_counter_test.cpp") (("perf_counter_test.cpp")
"")) ""))
(delete-file "testsuite/supernova/server_test.cpp") (delete-file "testsuite/server/supernova/server_test.cpp")
(delete-file "testsuite/supernova/perf_counter_test.cpp") (delete-file "testsuite/server/supernova/perf_counter_test.cpp")
(substitute* "testsuite/CMakeLists.txt" (substitute* "testsuite/CMakeLists.txt"
(("add_subdirectory\\(sclang\\)") (("add_subdirectory\\(sclang\\)")
"")) ""))
@ -2181,7 +2274,7 @@ external_libraries/yaml-cpp/include)"))
("eudev" ,eudev) ;for user interactions with devices ("eudev" ,eudev) ;for user interactions with devices
("avahi" ,avahi) ;zeroconf service discovery support ("avahi" ,avahi) ;zeroconf service discovery support
("icu4c" ,icu4c) ("icu4c" ,icu4c)
("boost" ,boost) ("boost" ,boost-cxx14)
("boost-sync" ,boost-sync) ("boost-sync" ,boost-sync)
("yaml-cpp" ,yaml-cpp))) ("yaml-cpp" ,yaml-cpp)))
(home-page "https://github.com/supercollider/supercollider") (home-page "https://github.com/supercollider/supercollider")
@ -2274,30 +2367,26 @@ tempo and pitch of an audio recording independently of one another.")
(name "rtmidi") (name "rtmidi")
(version "2.1.0") (version "2.1.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (uri (git-reference
(string-append "https://github.com/powertab/rtmidi/archive/" (url "https://github.com/powertab/rtmidi.git")
version ".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0d49lapnmdgmjxh4vw57h6xk74nn5r0zwysv7jbd7m8kqhpq5rjj")))) "106v177y3nrjv2l1yskch4phpqd8h97b67zj0jiq9pc3c69jr1ay"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ;no "check" target `(#:tests? #f ;no "check" target
#:phases (modify-phases %standard-phases #:phases
(add-after (modify-phases %standard-phases
'unpack 'autoconf (add-before 'build 'fix-makefile
(lambda _ (invoke "autoreconf" "-vfi")))
(add-before
'build 'fix-makefile
(lambda _ (lambda _
(substitute* "Makefile" (substitute* "Makefile"
(("/bin/ln") "ln") (("/bin/ln") "ln")
(("RtMidi.h RtError.h") "RtMidi.h")) (("RtMidi.h RtError.h") "RtMidi.h"))
#t)) #t))
(add-before (add-before 'install 'make-target-dirs
'install 'make-target-dirs
(lambda _ (lambda _
(let ((out (assoc-ref %outputs "out"))) (let ((out (assoc-ref %outputs "out")))
(mkdir-p (string-append out "/bin")) (mkdir-p (string-append out "/bin"))
@ -2360,6 +2449,7 @@ the Turtle syntax.")
(build-system waf-build-system) (build-system waf-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
#:python ,python-2 ;XXX: The bundled waf does not work with Python 3.7.0.
#:configure-flags #:configure-flags
'("CXXFLAGS=-std=gnu++11"))) '("CXXFLAGS=-std=gnu++11")))
(inputs (inputs
@ -2508,7 +2598,8 @@ analysis plugins or audio feature extraction plugins.")
(symlink (symlink
(string-append (assoc-ref inputs "automake") "/share/automake-" (string-append (assoc-ref inputs "automake") "/share/automake-"
,(package-version automake) "/ar-lib") ,(package-version automake) "/ar-lib")
"ar-lib")))))) "ar-lib")
#t)))))
(home-page "http://sbsms.sourceforge.net/") (home-page "http://sbsms.sourceforge.net/")
(synopsis "Library for time stretching and pitch scaling of audio") (synopsis "Library for time stretching and pitch scaling of audio")
(description (description
@ -2753,20 +2844,14 @@ portions of LAME.")
;; TODO: Add ASIHPI. ;; TODO: Add ASIHPI.
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)
("jack" ,jack-1))) ("jack" ,jack-1)))
;; Autoreconf is necessary because the audacity-compat patch modifies .in
;; files.
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
("libtool" ,libtool) ("libtool" ,libtool)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(arguments (arguments '(#:tests? #f)) ;no 'check' target
'(#:phases
;; Autoreconf is necessary because the audacity-compat patch modifies
;; .in files.
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _
(invoke "autoreconf" "-vif"))))
#:tests? #f)) ;no 'check' target
(home-page "http://www.portaudio.com/") (home-page "http://www.portaudio.com/")
(synopsis "Audio I/O library") (synopsis "Audio I/O library")
(description (description
@ -2778,7 +2863,7 @@ interface.")
(define-public qsynth (define-public qsynth
(package (package
(name "qsynth") (name "qsynth")
(version "0.5.3") (version "0.5.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2786,7 +2871,7 @@ interface.")
"/qsynth-" version ".tar.gz")) "/qsynth-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1jghczmmva7cyavg1q0j8nr3hmjpzzglzi5ckg92ax4ji8gpks9c")))) "0kpq5fxr96wnii18ax780w1ivq8ksk892ac0bprn92iz0asfysrd"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no "check" phase `(#:tests? #f ; no "check" phase
@ -2812,12 +2897,13 @@ synthesizer written in C++.")
(version "1.1") (version "1.1")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/Themaister/RSound/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/Themaister/RSound.git")
(file-name (string-append name "-" version)) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 "1wzs40c0k5zpkmm5ffl6c17xmr399sxli7ys0fbb9ib0fd334knx")))) (base32 "0gspmr3klwnq98h17p5hc6ifygya4p80g4g8r7a1qavm3mv19waf"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("alsa-lib" ,alsa-lib) `(("alsa-lib" ,alsa-lib)
@ -2850,14 +2936,14 @@ with a much different focus than most other audio daemons.")
(name "xjackfreak") (name "xjackfreak")
(version "1.0") (version "1.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/johnhldavis/xjackfreak/archive/v" (url "https://github.com/johnhldavis/xjackfreak.git")
version ".tar.gz")) (commit (string-append "v" version))))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0xj6gpxfnw9jbdgwgm0x23xgfvj2kwmwb1nk0drw8lxgcchkq7d9")))) "18c546qidbrj0f5wfiq5llii2192xpln0ab3r4vpr7i3wybxqjfz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags `(#:make-flags
@ -2909,12 +2995,14 @@ result.")
(substitute* "libs/Makefile" (substitute* "libs/Makefile"
(("ldconfig") "true") (("ldconfig") "true")
(("^LIBDIR =.*") "LIBDIR = lib\n")) (("^LIBDIR =.*") "LIBDIR = lib\n"))
(chdir "libs") #t)) (chdir "libs")
#t))
(add-after 'install 'install-symlink (add-after 'install 'install-symlink
(lambda _ (lambda _
(symlink "libzita-convolver.so" (symlink "libzita-convolver.so"
(string-append (assoc-ref %outputs "out") (string-append (assoc-ref %outputs "out")
"/lib/libzita-convolver.so.3")))) "/lib/libzita-convolver.so.3"))
#t))
;; no configure script ;; no configure script
(delete 'configure)))) (delete 'configure))))
(inputs `(("fftwf" ,fftwf))) (inputs `(("fftwf" ,fftwf)))
@ -2964,7 +3052,8 @@ engine.")
(lambda _ (lambda _
(symlink "libzita-resampler.so" (symlink "libzita-resampler.so"
(string-append (assoc-ref %outputs "out") (string-append (assoc-ref %outputs "out")
"/lib/libzita-resampler.so.1")))) "/lib/libzita-resampler.so.1"))
#t))
;; no configure script ;; no configure script
(delete 'configure)))) (delete 'configure))))
(home-page "https://kokkinizita.linuxaudio.org/linuxaudio/zita-resampler/resampler.html") (home-page "https://kokkinizita.linuxaudio.org/linuxaudio/zita-resampler/resampler.html")
@ -3005,7 +3094,8 @@ provide high-quality sample rate conversion.")
(lambda _ (lambda _
(symlink "libzita-alsa-pcmi.so" (symlink "libzita-alsa-pcmi.so"
(string-append (assoc-ref %outputs "out") (string-append (assoc-ref %outputs "out")
"/lib/libzita-alsa-pcmi.so.0")))) "/lib/libzita-alsa-pcmi.so.0"))
#t))
;; no configure script ;; no configure script
(delete 'configure)))) (delete 'configure))))
(inputs (inputs
@ -3025,15 +3115,16 @@ point audio data.")
(name "cuetools") (name "cuetools")
(version "1.4.1") (version "1.4.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/svend/cuetools/archive/" (uri (git-reference
version ".tar.gz")) (url "https://github.com/svend/cuetools.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"01xi3rvdmil9nawsha04iagjylqr1l9v9vlzk99scs8c207l58i4")))) "02ksv1ahf1v4cr2xbclsfv5x17m9ivzbssb5r8xjm97yh8a7spa3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; The source tarball is not bootstrapped. ;; The source checkout is not bootstrapped.
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
@ -3074,13 +3165,14 @@ use them split WAVE data into multiple files.")
(name "dcadec") (name "dcadec")
(version "0.2.0") (version "0.2.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/foo86/dcadec/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/foo86/dcadec.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0i0dpypgqkhhi4v1fmsp2way6w9kbcix3c7q79pmg39yvrzj17gd")))) "07nd0ajizrp1w02bsyfcv18431r8m8rq8gjfmz9wmckpg7cxj2hs"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; Test files are missing: https://github.com/foo86/dcadec/issues/53 ;; Test files are missing: https://github.com/foo86/dcadec/issues/53
@ -3107,7 +3199,7 @@ with support for HD extensions.")
(define-public bs1770gain (define-public bs1770gain
(package (package
(name "bs1770gain") (name "bs1770gain")
(version "0.5.0") (version "0.5.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -3115,7 +3207,7 @@ with support for HD extensions.")
version "/bs1770gain-" version ".tar.gz")) version "/bs1770gain-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0vd7320k7s2zcn2vganclxbr1vav18ghld27rcwskvcc3dm8prii")))) "0r4fbajgfmnwgl63hcm56f1j8m5f135q6j5jkzdvrrhpcj39yx06"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("ffmpeg" ,ffmpeg) (inputs `(("ffmpeg" ,ffmpeg)
("sox" ,sox))) ("sox" ,sox)))
@ -3188,7 +3280,8 @@ code, used in @code{libtoxcore}.")
(mkdir-p (string-append out "/man/man1")) (mkdir-p (string-append out "/man/man1"))
(mkdir-p (string-append out "/man/man3")) (mkdir-p (string-append out "/man/man3"))
(mkdir-p (string-append out "/bin")) (mkdir-p (string-append out "/bin"))
(mkdir-p (string-append out "/lib"))))) (mkdir-p (string-append out "/lib")))
#t))
(add-after 'install 'post-install (add-after 'install 'post-install
(lambda _ (lambda _
(let ((out (assoc-ref %outputs "out"))) (let ((out (assoc-ref %outputs "out")))
@ -3196,7 +3289,8 @@ code, used in @code{libtoxcore}.")
(string-append out "/include")) (string-append out "/include"))
(mkdir-p (string-append out "/include/gsm")) (mkdir-p (string-append out "/include/gsm"))
(copy-recursively "inc" (copy-recursively "inc"
(string-append out "/include/gsm"))))) (string-append out "/include/gsm")))
#t))
(delete 'configure)))) ; no configure script (delete 'configure)))) ; no configure script
(synopsis "GSM 06.10 lossy speech compression library") (synopsis "GSM 06.10 lossy speech compression library")
(description "This C library provides an encoder and a decoder for the GSM (description "This C library provides an encoder and a decoder for the GSM
@ -3385,13 +3479,14 @@ the following features:
(version "1.6") (version "1.6")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/dpayne/cli-visualizer/archive/" (uri (git-reference
version ".tar.gz")) (url "https://github.com/dpayne/cli-visualizer.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"07zkm87f2fr8kc6531zrkya7q81sdanm6813y2f54mg13g41y6hi")))) "0mirp8bk398di5xyq95iprmdyvplfghxqmrfj7jdnpy554vx7ppc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("which" ,which))) `(("which" ,which)))
@ -3439,14 +3534,14 @@ representations.")
(name "cava") (name "cava")
(version "0.6.1") (version "0.6.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/karlstav/cava/archive/" (url "https://github.com/karlstav/cava.git")
version ".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"13d72swnjs894llf0paandmhf1lf90dz6ygkcdw4bv84wzkq1f4q")))) "1kvhqgijs29909w3sq9m0bslx2zxxn4b3i07kdz4hb0dqkppxpjy"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
@ -3471,14 +3566,16 @@ representations.")
(invoke "sh" "autogen.sh"))) (invoke "sh" "autogen.sh")))
(add-before 'build 'make-cava-ldflags (add-before 'build 'make-cava-ldflags
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(mkdir-p (string-append (assoc-ref outputs "out") "/lib")))) (mkdir-p (string-append (assoc-ref outputs "out") "/lib"))
#t))
(add-after 'install 'data (add-after 'install 'data
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(for-each (lambda (file) (for-each (lambda (file)
(install-file file (install-file file
(string-append (assoc-ref outputs "out") (string-append (assoc-ref outputs "out")
"/share/doc/examples"))) "/share/doc/examples")))
(find-files "example_files"))))))) (find-files "example_files"))
#t)))))
(home-page "https://karlstav.github.io/cava/") (home-page "https://karlstav.github.io/cava/")
(synopsis "Console audio visualizer for ALSA, MPD, and PulseAudio") (synopsis "Console audio visualizer for ALSA, MPD, and PulseAudio")
(description "C.A.V.A. is a bar audio spectrum visualizer for the terminal (description "C.A.V.A. is a bar audio spectrum visualizer for the terminal
@ -3517,3 +3614,72 @@ using ALSA, MPD, PulseAudio, or a FIFO buffer as its input.")
(synopsis "Pro-quality GM soundfont") (synopsis "Pro-quality GM soundfont")
(description "Fluid-3 is Frank Wen's pro-quality GM soundfont.") (description "Fluid-3 is Frank Wen's pro-quality GM soundfont.")
(license license:expat)))) (license license:expat))))
(define-public libfdk
(let ((commit "2326faaf8f2cdf2c3a9108ccdaf1d7551aec543e")
(revision "0"))
(package
(name "libfdk")
;; The latest upstream revision, with many bug fixes.
(version (git-version "0.1.6" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mstorsjo/fdk-aac")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0yy6ndd9d61bwl283vl1r5kva2a4acc0f4r9g0sza156f2abr9ws"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(home-page "https://github.com/mstorsjo/fdk-aac")
(synopsis "Fraunhofer FDK AAC library")
(description "FDK is a library for encoding and decoding Advanced Audio
Coding (AAC) format audio, developed by Fraunhofer IIS, and included as part of
Android. It supports several Audio Object Types including MPEG-2 and MPEG-4 AAC
LC, HE-AAC (AAC LC + SBR), HE-AACv2 (LC + SBR + PS) as well AAC-LD (low delay)
and AAC-ELD (enhanced low delay) for real-time communication. The encoding
library supports sample rates up to 96 kHz and up to eight channels (7.1
surround).")
(license (license:fsf-free "https://github.com/mstorsjo/fdk-aac/blob/master/NOTICE"
"https://www.gnu.org/licenses/license-list.html#fdk")))))
(define-public libopenshot-audio
(package
(name "libopenshot-audio")
(version "0.1.7")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OpenShot/libopenshot-audio")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"08a8wbi28kwrdz4h0rs1b9vsr28ldfi8g75q54rj676y1vwg3qys"))))
(build-system cmake-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
;; The following are for JUCE GUI components:
("libx11" ,libx11)
("freetype" ,freetype)
("libxrandr" ,libxrandr)
("libxinerama" ,libxinerama)
("libxcursor" ,libxcursor)))
(arguments
`(#:tests? #f ;there are no tests
#:configure-flags
(list (string-append "-DCMAKE_CXX_FLAGS=-I"
(assoc-ref %build-inputs "freetype")
"/include/freetype2"))))
(home-page "https://openshot.org")
(synopsis "Audio editing and playback for OpenShot")
(description "OpenShot Audio Library (libopenshot-audio) allows
high-quality editing and playback of audio, and is based on the JUCE
library.")
(license license:lgpl3+)))

View file

@ -11,6 +11,7 @@
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -30,6 +31,7 @@
(define-module (gnu packages backup) (define-module (gnu packages backup)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix git-download)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
@ -132,22 +134,18 @@ spying and/or modification by the server.")
(name "par2cmdline") (name "par2cmdline")
(version "0.8.0") (version "0.8.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/Parchive/par2cmdline/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/Parchive/par2cmdline.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1jpshmmcr81mxly0md2rr231qz9c8c680bbvcmhh100dg9i4a6s6")))) "0f1jsd5sw2wynjzi7yjqjaf13yhyjfdid91p8yh0jn32y03kjyrz"))))
(native-inputs (native-inputs
`(("automake" ,automake) `(("automake" ,automake)
("autoconf" ,autoconf))) ("autoconf" ,autoconf)))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _ (invoke "autoreconf" "-vfi"))))))
(synopsis "File verification and repair tools") (synopsis "File verification and repair tools")
(description "Par2cmdline uses Reed-Solomon error-correcting codes to (description "Par2cmdline uses Reed-Solomon error-correcting codes to
generate and verify PAR2 recovery files. These files can be distributed generate and verify PAR2 recovery files. These files can be distributed
@ -493,15 +491,14 @@ detection, and lossless compression.")
(define-public borg (define-public borg
(package (package
(name "borg") (name "borg")
(version "1.1.7") (version "1.1.8")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "borgbackup" version)) (uri (pypi-uri "borgbackup" version))
(patches (search-patches "borg-respect-storage-quota.patch"))
(sha256 (sha256
(base32 (base32
"1p3zia62vyg9vadkdjzzkzbj4dmgijr7ix5lmhfbxpwy5q9imdgp")) "0qqvcscn1l4y83x4sh3izdpmr8zq38j8chjkpfq4q4d01i470hqb"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -889,6 +886,7 @@ is like a time machine for your data. ")
,version) ,version)
;; Disable 'restic self-update'. It makes little sense in Guix. ;; Disable 'restic self-update'. It makes little sense in Guix.
(substitute* "build.go" (("selfupdate") "")) (substitute* "build.go" (("selfupdate") ""))
(setenv "HOME" (getcwd)) ; for $HOME/.cache/go-build
(invoke "go" "run" "build.go")))) (invoke "go" "run" "build.go"))))
(replace 'check (replace 'check

View file

@ -577,7 +577,9 @@ store.")
(export make-ld-wrapper) (export make-ld-wrapper)
(define-public glibc/linux (define-public glibc
;; This is the GNU C Library, used on GNU/Linux and GNU/Hurd. Prior to
;; version 2.28, GNU/Hurd used a different glibc branch.
(package (package
(name "glibc") (name "glibc")
;; Note: Always use a dot after the minor version since various places rely ;; Note: Always use a dot after the minor version since various places rely
@ -609,8 +611,13 @@ store.")
(build-system gnu-build-system) (build-system gnu-build-system)
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc ;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
;; users should automatically pull Linux headers as well. ;; users should automatically pull Linux headers as well. On GNU/Hurd,
(propagated-inputs `(("kernel-headers" ,linux-libre-headers))) ;; libc provides <hurd.h>, which includes a bunch of Hurd and Mach headers,
;; so both should be propagated.
(propagated-inputs
(if (hurd-target?)
`(("hurd-core-headers" ,hurd-core-headers))
`(("kernel-headers" ,linux-libre-headers))))
(outputs '("out" "debug" (outputs '("out" "debug"
"static")) ;9 MiB of .a files "static")) ;9 MiB of .a files
@ -665,7 +672,13 @@ store.")
;; Use our Bash instead of /bin/sh. ;; Use our Bash instead of /bin/sh.
(string-append "BASH_SHELL=" (string-append "BASH_SHELL="
(assoc-ref %build-inputs "bash") (assoc-ref %build-inputs "bash")
"/bin/bash")) "/bin/bash")
;; On GNU/Hurd we get discarded-qualifiers warnings for
;; 'device_write_inband' among other things. Ignore them.
,@(if (hurd-target?)
'("--disable-werror")
'()))
#:tests? #f ; XXX #:tests? #f ; XXX
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
@ -770,7 +783,18 @@ store.")
(filter linker-script? (filter linker-script?
(map (cut string-append slib "/" <>) (map (cut string-append slib "/" <>)
files))) files)))
#t)))))) #t)))
,@(if (hurd-target?)
'((add-after 'install 'augment-libc.so
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(substitute* (string-append out "/lib/libc.so")
(("/[^ ]+/lib/libc.so.0.3")
(string-append out "/lib/libc.so.0.3"
" libmachuser.so libhurduser.so"))))
#t)))
'()))))
(inputs `(("static-bash" ,static-bash))) (inputs `(("static-bash" ,static-bash)))
@ -779,7 +803,12 @@ store.")
(native-inputs `(("texinfo" ,texinfo) (native-inputs `(("texinfo" ,texinfo)
("perl" ,perl) ("perl" ,perl)
("bison" ,bison) ("bison" ,bison)
("gettext" ,gettext-minimal))) ("gettext" ,gettext-minimal)
,@(if (hurd-target?)
`(("mig" ,mig)
("perl" ,perl))
'())))
(native-search-paths (native-search-paths
;; Search path for packages that provide locale data. This is useful ;; Search path for packages that provide locale data. This is useful
@ -801,89 +830,6 @@ with the Linux kernel.")
(license lgpl2.0+) (license lgpl2.0+)
(home-page "https://www.gnu.org/software/libc/"))) (home-page "https://www.gnu.org/software/libc/")))
(define-public glibc/hurd
;; The Hurd's libc variant.
(package (inherit glibc/linux)
(name "glibc-hurd")
(version "2.23")
(source (origin
(method url-fetch)
(uri (string-append "http://alpha.gnu.org/gnu/hurd/glibc-"
version "-hurd+libpthread-20161218" ".tar.gz"))
(sha256
(base32
"0vpdv05j6j3ria5bw8gp468i64gij94cslxkxj9xkfgi6p615b8p"))))
;; Libc provides <hurd.h>, which includes a bunch of Hurd and Mach headers,
;; so both should be propagated.
(propagated-inputs `(("hurd-core-headers" ,hurd-core-headers)))
(native-inputs
`(,@(package-native-inputs glibc/linux)
("mig" ,mig)
("perl" ,perl)))
(arguments
(substitute-keyword-arguments (package-arguments glibc/linux)
((#:phases original-phases)
;; Add libmachuser.so and libhurduser.so to libc.so's search path.
;; See <http://lists.gnu.org/archive/html/bug-hurd/2015-07/msg00051.html>.
`(modify-phases ,original-phases
(add-after 'install 'augment-libc.so
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(substitute* (string-append out "/lib/libc.so")
(("/[^ ]+/lib/libc.so.0.3")
(string-append out "/lib/libc.so.0.3" " libmachuser.so" " libhurduser.so"))))
#t))
(add-after 'pre-configure 'pre-configure-set-pwd
(lambda _
;; Use the right 'pwd'.
(substitute* "configure"
(("/bin/pwd") "pwd"))
#t))
(replace 'build
(lambda _
;; Force mach/hurd/libpthread subdirs to build first in order to avoid
;; linking errors.
;; See <https://lists.gnu.org/archive/html/bug-hurd/2016-11/msg00045.html>
(let ((flags (list "-j" (number->string (parallel-job-count)))))
(define (make target)
(apply invoke "make" target flags))
(make "mach/subdir_lib")
(make "hurd/subdir_lib")
(make "libpthread/subdir_lib")
(apply invoke "make" flags))))))
((#:configure-flags original-configure-flags)
`(append (list "--host=i586-pc-gnu"
;; We need this to get a working openpty() function.
"--enable-pt_chown"
;; <https://lists.gnu.org/archive/html/bug-hurd/2016-10/msg00033.html>
"--disable-werror"
;; nscd fails to build for GNU/Hurd:
;; <https://lists.gnu.org/archive/html/bug-hurd/2014-07/msg00006.html>.
;; Disable it.
"--disable-nscd")
(filter (lambda (flag)
(not (string-prefix? "--enable-kernel=" flag)))
,original-configure-flags)))))
(synopsis "The GNU C Library (GNU Hurd variant)")
(supported-systems %hurd-systems)))
(define* (glibc-for-target #:optional
(target (or (%current-target-system)
(%current-system))))
"Return the glibc for TARGET, GLIBC/LINUX for a Linux host or
GLIBC/HURD for a Hurd host"
(match target
((or "i586-pc-gnu" "i586-gnu") glibc/hurd)
(_ glibc/linux)))
(define-syntax glibc
(identifier-syntax (glibc-for-target)))
;; Below are old libc versions, which we use mostly to build locale data in ;; Below are old libc versions, which we use mostly to build locale data in
;; the old format (which the new libc cannot cope with.) ;; the old format (which the new libc cannot cope with.)
@ -1123,18 +1069,17 @@ command.")
(license gpl3+))) ; some files are under GPLv2+ (license gpl3+))) ; some files are under GPLv2+
(define-public glibc/hurd-headers (define-public glibc/hurd-headers
(package (inherit glibc/hurd) (package (inherit glibc)
(name "glibc-hurd-headers") (name "glibc-hurd-headers")
(outputs '("out")) (outputs '("out"))
(propagated-inputs `(("gnumach-headers" ,gnumach-headers) (propagated-inputs `(("gnumach-headers" ,gnumach-headers)
("hurd-headers" ,hurd-headers))) ("hurd-headers" ,hurd-headers)))
(arguments (arguments
(substitute-keyword-arguments (package-arguments glibc/hurd) (substitute-keyword-arguments (package-arguments glibc)
;; We just pass the flags really needed to build the headers. ;; We just pass the flags really needed to build the headers.
((#:configure-flags _) ((#:configure-flags _)
`(list "--enable-add-ons" `(list "--enable-add-ons"
"--host=i586-pc-gnu" "--host=i586-pc-gnu"))
"--enable-obsolete-rpc"))
((#:phases _) ((#:phases _)
'(modify-phases %standard-phases '(modify-phases %standard-phases
(replace 'install (replace 'install
@ -1149,13 +1094,7 @@ command.")
(open-output-file (open-output-file
(string-append out "/include/gnu/stubs.h")))) (string-append out "/include/gnu/stubs.h"))))
#t)) #t))
(delete 'build) ; nothing to build (delete 'build))))))) ; nothing to build
(add-before 'configure 'patch-configure-script
(lambda _
;; Use the right 'pwd'.
(substitute* "configure"
(("/bin/pwd") "pwd"))
#t))))))))
(define-public tzdata (define-public tzdata
(package (package

View file

@ -35,14 +35,14 @@
(define-public fio (define-public fio
(package (package
(name "fio") (name "fio")
(version "3.7") (version "3.11")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://brick.kernel.dk/snaps/" (uri (string-append "http://brick.kernel.dk/snaps/"
"fio-" version ".tar.gz")) "fio-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0rw9jf2ikm19lq4jizavdvvp3vfvlm3annq7jsxl2y5nf1pi2qr7")))) "0s8m0wcz5j6sa1hblj80wk3syy5b4shg7y3gabvm9xa3wj0lzasa"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:test-target "test" '(#:test-target "test"

View file

@ -201,14 +201,14 @@ genomes and gene ID formats, largely based on the UCSC table browser.")
(define-public r-hpar (define-public r-hpar
(package (package
(name "r-hpar") (name "r-hpar")
(version "1.22.2") (version "1.24.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "hpar" version)) (uri (bioconductor-uri "hpar" version))
(sha256 (sha256
(base32 (base32
"1b72hvzasf6q739gmx6jblbzzyq22l7crrkbbfkihv3v7s94g388")))) "1pm3k8apgynmdzv2d0chca3b636kcai3b1x861fyv1m3xs6msgxn"))))
(build-system r-build-system) (build-system r-build-system)
(home-page "https://bioconductor.org/packages/hpar/") (home-page "https://bioconductor.org/packages/hpar/")
(synopsis "Human Protein Atlas in R") (synopsis "Human Protein Atlas in R")
@ -219,23 +219,24 @@ the Human Protein Atlas project.")
(define-public r-regioner (define-public r-regioner
(package (package
(name "r-regioner") (name "r-regioner")
(version "1.12.0") (version "1.14.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "regioneR" version)) (uri (bioconductor-uri "regioneR" version))
(sha256 (sha256
(base32 (base32
"09bzlaqdgy7wmzly3zc9y2da50d07mlixlnpaxdxpiwdk8qmhxsb")))) "19la74swgzxp90z2nr3pzsgkxd7wp70zl6i2ipv3plg841f6k5zd"))))
(properties `((upstream-name . "regioneR"))) (properties `((upstream-name . "regioneR")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-memoise" ,r-memoise) `(("r-biostrings" ,r-biostrings)
("r-genomicranges" ,r-genomicranges)
("r-bsgenome" ,r-bsgenome) ("r-bsgenome" ,r-bsgenome)
("r-rtracklayer" ,r-rtracklayer)
("r-genomeinfodb" ,r-genomeinfodb) ("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges) ("r-iranges" ,r-iranges)
("r-memoise" ,r-memoise)
("r-rtracklayer" ,r-rtracklayer)
("r-s4vectors" ,r-s4vectors))) ("r-s4vectors" ,r-s4vectors)))
(home-page "https://bioconductor.org/packages/regioneR/") (home-page "https://bioconductor.org/packages/regioneR/")
(synopsis "Association analysis of genomic regions") (synopsis "Association analysis of genomic regions")
@ -247,14 +248,14 @@ region sets and other genomic features.")
(define-public r-diffbind (define-public r-diffbind
(package (package
(name "r-diffbind") (name "r-diffbind")
(version "2.8.0") (version "2.10.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "DiffBind" version)) (uri (bioconductor-uri "DiffBind" version))
(sha256 (sha256
(base32 (base32
"1w1hybzd732ccg3q8zhirwfilq8sx3frv1x98zfyj3svzw98fish")))) "0j8pal40lr1gv8sss96hhkj7l1qn9sy4q4l2kqd4rfwl7qrcnfw5"))))
(properties `((upstream-name . "DiffBind"))) (properties `((upstream-name . "DiffBind")))
(build-system r-build-system) (build-system r-build-system)
(inputs (inputs
@ -292,14 +293,14 @@ occupancy (overlap) analysis and plotting functions.")
(define-public r-ripseeker (define-public r-ripseeker
(package (package
(name "r-ripseeker") (name "r-ripseeker")
(version "1.20.0") (version "1.22.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "RIPSeeker" version)) (uri (bioconductor-uri "RIPSeeker" version))
(sha256 (sha256
(base32 (base32
"0y9cvzqslfxj3z9mnp47mknff0pky2g5x8x1z1s5yjcx35q89xfi")))) "1x2n1iyik4s67bxq0fl6fpf602k51g4pxjpjpxkgx1a5fsk61f2i"))))
(properties `((upstream-name . "RIPSeeker"))) (properties `((upstream-name . "RIPSeeker")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -325,14 +326,14 @@ processing to visualization and annotation.")
(define-public r-multtest (define-public r-multtest
(package (package
(name "r-multtest") (name "r-multtest")
(version "2.36.0") (version "2.38.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "multtest" version)) (uri (bioconductor-uri "multtest" version))
(sha256 (sha256
(base32 (base32
"11949h2kglw13x8haaj4clg4jim1mwh5n98n9zxp9mmgn01z1lp0")))) "0lq62jw81hz9k840969n5byj57pwd0jqga3hqvhb6abb3g10yz7k"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-survival" ,r-survival) `(("r-survival" ,r-survival)
@ -363,13 +364,13 @@ expressed genes in DNA microarray experiments.")
(define-public r-graph (define-public r-graph
(package (package
(name "r-graph") (name "r-graph")
(version "1.58.0") (version "1.60.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "graph" version)) (uri (bioconductor-uri "graph" version))
(sha256 (sha256
(base32 (base32
"1zx445lk36g1s6i5dbhhf00nzzazyklfjxxjfax6q8hnhvgm9759")))) "1kgnsm6f0vmb9qbkmmrnvxbwqc0gar17dq5gv1v10hrksw6mh64i"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics))) `(("r-biocgenerics" ,r-biocgenerics)))
@ -410,18 +411,19 @@ determining dependencies between variables, code improvement suggestions.")
(define-public r-chippeakanno (define-public r-chippeakanno
(package (package
(name "r-chippeakanno") (name "r-chippeakanno")
(version "3.14.2") (version "3.16.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "ChIPpeakAnno" version)) (uri (bioconductor-uri "ChIPpeakAnno" version))
(sha256 (sha256
(base32 (base32
"13rksc65lxxzyw11galh6xzvgzp5ii0gwiwpvrm395v2r17rhwsc")))) "09fhh1355diip3v3c0skmp1336vclipkm5nv02qvp5902v4262y3"))))
(properties `((upstream-name . "ChIPpeakAnno"))) (properties `((upstream-name . "ChIPpeakAnno")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics) `(("r-biocgenerics" ,r-biocgenerics)
("r-biocmanager" ,r-biocmanager)
("r-biostrings" ,r-biostrings) ("r-biostrings" ,r-biostrings)
("r-delayedarray" ,r-delayedarray) ("r-delayedarray" ,r-delayedarray)
("r-go-db" ,r-go-db) ("r-go-db" ,r-go-db)
@ -437,7 +439,6 @@ determining dependencies between variables, code improvement suggestions.")
("r-multtest" ,r-multtest) ("r-multtest" ,r-multtest)
("r-rbgl" ,r-rbgl) ("r-rbgl" ,r-rbgl)
("r-graph" ,r-graph) ("r-graph" ,r-graph)
("r-biocinstaller" ,r-biocinstaller)
("r-regioner" ,r-regioner) ("r-regioner" ,r-regioner)
("r-dbi" ,r-dbi) ("r-dbi" ,r-dbi)
("r-ensembldb" ,r-ensembldb) ("r-ensembldb" ,r-ensembldb)
@ -465,12 +466,12 @@ enrichedGO (addGeneIDs).")
(define-public r-marray (define-public r-marray
(package (package
(name "r-marray") (name "r-marray")
(version "1.58.0") (version "1.60.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "marray" version)) (uri (bioconductor-uri "marray" version))
(sha256 (sha256
(base32 "0539flh3y1qy5b1bamkfwbskis765c5s33v1y9j51n33mxb9h08d")))) (base32 "1sh7l3c28x6zhdv99c9x05ii2yxmh9alkazp98kdi4fdb23rlzky"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-limma" ,r-limma))) `(("r-limma" ,r-limma)))
@ -484,12 +485,12 @@ normalization and quality checking.")
(define-public r-cghbase (define-public r-cghbase
(package (package
(name "r-cghbase") (name "r-cghbase")
(version "1.40.0") (version "1.42.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "CGHbase" version)) (uri (bioconductor-uri "CGHbase" version))
(sha256 (sha256
(base32 "1hf44vma3kgwr61kjbszvfxkava8bjqnam1mdncqvczbypb2xwaq")))) (base32 "0ghxp49xdi09p3f2qwrdrq2p4qjafj4z1rr08ycgbf11gb22h1sc"))))
(properties `((upstream-name . "CGHbase"))) (properties `((upstream-name . "CGHbase")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -504,12 +505,12 @@ the @code{arrayCGH} packages.")
(define-public r-cghcall (define-public r-cghcall
(package (package
(name "r-cghcall") (name "r-cghcall")
(version "2.42.0") (version "2.44.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "CGHcall" version)) (uri (bioconductor-uri "CGHcall" version))
(sha256 (sha256
(base32 "0y71vfxv9x0am3xvv520yr95cb7m7y92dhdx1vkqki80jrmf12dz")))) (base32 "1k65kaiqvjyllzbpa2367n6f6kkmsy463kpflzs66hqhx2fshsmi"))))
(properties `((upstream-name . "CGHcall"))) (properties `((upstream-name . "CGHcall")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -527,12 +528,12 @@ the @code{arrayCGH} packages.")
(define-public r-qdnaseq (define-public r-qdnaseq
(package (package
(name "r-qdnaseq") (name "r-qdnaseq")
(version "1.16.0") (version "1.18.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "QDNAseq" version)) (uri (bioconductor-uri "QDNAseq" version))
(sha256 (sha256
(base32 "1pj69mfyxwfd0d7h4kls9xq96sdc55y3rv20qpla50hw9libcwwd")))) (base32 "04ff9nbckzrlb45mr2j0c3mlh1wcggq5bbl81zklhq203c5x1wc2"))))
(properties `((upstream-name . "QDNAseq"))) (properties `((upstream-name . "QDNAseq")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -559,14 +560,14 @@ respectively.")
(define-public r-bayseq (define-public r-bayseq
(package (package
(name "r-bayseq") (name "r-bayseq")
(version "2.14.0") (version "2.16.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "baySeq" version)) (uri (bioconductor-uri "baySeq" version))
(sha256 (sha256
(base32 (base32
"0hbmm01a8libara9mbxknpk0wzarwfngnfwlmhpww91a0cmy5klg")))) "0f6yckihm5cwh3dycv2g54hf7nddhcqya4yrqwbir96y5k1d1km5"))))
(properties `((upstream-name . "baySeq"))) (properties `((upstream-name . "baySeq")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -585,14 +586,14 @@ more complex hypotheses) via empirical Bayesian methods.")
(define-public r-chipcomp (define-public r-chipcomp
(package (package
(name "r-chipcomp") (name "r-chipcomp")
(version "1.10.0") (version "1.12.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "ChIPComp" version)) (uri (bioconductor-uri "ChIPComp" version))
(sha256 (sha256
(base32 (base32
"0j9nif7z33qdxf347r9wa62hhz8qs09r2p96x3hg5yz30a10ahqs")))) "1sypdsvwzssraanlhddhzpf9p0xs3qlflc0hp7yfbp0aplsifx85"))))
(properties `((upstream-name . "ChIPComp"))) (properties `((upstream-name . "ChIPComp")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -619,14 +620,14 @@ datasets.")
(define-public r-riboprofiling (define-public r-riboprofiling
(package (package
(name "r-riboprofiling") (name "r-riboprofiling")
(version "1.10.0") (version "1.12.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "RiboProfiling" version)) (uri (bioconductor-uri "RiboProfiling" version))
(sha256 (sha256
(base32 (base32
"04yjklqdjkim7yxyk3cyvf0mmwyxyfvw2mmfzgwaaqbiyg29sli0")))) "1njvkd1khmf3rbp3dkz5z63wp79z4wmk4kzd3p3amky3w5by070z"))))
(properties `((upstream-name . "RiboProfiling"))) (properties `((upstream-name . "RiboProfiling")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -658,14 +659,14 @@ assessment, principal component analysis on codon coverage.")
(define-public r-riboseqr (define-public r-riboseqr
(package (package
(name "r-riboseqr") (name "r-riboseqr")
(version "1.14.0") (version "1.16.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "riboSeqR" version)) (uri (bioconductor-uri "riboSeqR" version))
(sha256 (sha256
(base32 (base32
"0xavd1cdhi8qfjn9a1hjhflyg6jq1ydvv56z12gjz572pwz2knvn")))) "1nacsbsz77fw4a10nqj2ncsf25q3aaa0gd5w1q0ray2prx7qmlqb"))))
(properties `((upstream-name . "riboSeqR"))) (properties `((upstream-name . "riboSeqR")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -686,14 +687,14 @@ parsing of genetic sequencing data from ribosome profiling experiments.")
(define-public r-interactionset (define-public r-interactionset
(package (package
(name "r-interactionset") (name "r-interactionset")
(version "1.8.0") (version "1.10.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "InteractionSet" version)) (uri (bioconductor-uri "InteractionSet" version))
(sha256 (sha256
(base32 (base32
"0xngraq7ic80jr98i1wqp8bxdgidq6py60m2wfk82n1ixpcdck8n")))) "0wirfhmpmkmnmhbqslw4bzvi2msqyqpjy1rrwr5qbd9k5rhx3bzb"))))
(properties (properties
`((upstream-name . "InteractionSet"))) `((upstream-name . "InteractionSet")))
(build-system r-build-system) (build-system r-build-system)
@ -718,14 +719,14 @@ experiments.")
(define-public r-genomicinteractions (define-public r-genomicinteractions
(package (package
(name "r-genomicinteractions") (name "r-genomicinteractions")
(version "1.14.0") (version "1.16.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "GenomicInteractions" version)) (uri (bioconductor-uri "GenomicInteractions" version))
(sha256 (sha256
(base32 (base32
"0cnagprxj0b7p6s29iyhqwxj7hgmrh75gj52y4dlil790d1bmq2q")))) "0zy5isp2lqpjm0n0n1gly5bs4izn22yciibyqrnlrr60rmn5s67q"))))
(properties (properties
`((upstream-name . "GenomicInteractions"))) `((upstream-name . "GenomicInteractions")))
(build-system r-build-system) (build-system r-build-system)
@ -757,14 +758,14 @@ information and producing various plots and statistics.")
(define-public r-ctc (define-public r-ctc
(package (package
(name "r-ctc") (name "r-ctc")
(version "1.54.0") (version "1.56.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "ctc" version)) (uri (bioconductor-uri "ctc" version))
(sha256 (sha256
(base32 (base32
"0sadplm4n9n3z6inmn6y3d6qbr4hllljqh700x5fygrnfacnckk9")))) "0yp7c0abk48jx1wf8n1gawh7dm15idahqc8va24v8cm0bzxgnmh2"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs `(("r-amap" ,r-amap))) (propagated-inputs `(("r-amap" ,r-amap)))
(home-page "https://bioconductor.org/packages/ctc/") (home-page "https://bioconductor.org/packages/ctc/")
@ -777,14 +778,14 @@ trees and clusters to other programs.")
(define-public r-goseq (define-public r-goseq
(package (package
(name "r-goseq") (name "r-goseq")
(version "1.32.0") (version "1.34.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "goseq" version)) (uri (bioconductor-uri "goseq" version))
(sha256 (sha256
(base32 (base32
"0xmbb8ma32lrfy810r82y34gkspq4fqiqxykic9j4rq9rg9n9x2l")))) "1401x0jn5f8hqc12r3gd1wammp1nxir3is1k5ldd03ln97x00i7a"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi) `(("r-annotationdbi" ,r-annotationdbi)
@ -803,14 +804,14 @@ defined categories which are over/under represented in RNA-seq data.")
(define-public r-glimma (define-public r-glimma
(package (package
(name "r-glimma") (name "r-glimma")
(version "1.8.2") (version "1.10.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "Glimma" version)) (uri (bioconductor-uri "Glimma" version))
(sha256 (sha256
(base32 (base32
"0kfia60vrlys6amdchdix01iwbkwyb7nfjqn5hczsxp8rhmbg25s")))) "0cbsi6g8k1whkh21jxfn22sj7wry2g3rshiracf5nyvrl2fnl947"))))
(properties `((upstream-name . "Glimma"))) (properties `((upstream-name . "Glimma")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -830,14 +831,14 @@ information.")
(define-public r-rots (define-public r-rots
(package (package
(name "r-rots") (name "r-rots")
(version "1.8.0") (version "1.10.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "ROTS" version)) (uri (bioconductor-uri "ROTS" version))
(sha256 (sha256
(base32 (base32
"12jvdqanyk86ihpcylp105zip22y0gkbksmyxy00q7iad0jhaqp3")))) "137c06g5w7mjw3b1mly7b7n9iix4fcy23c7a9ym9iz8dazwhzwn5"))))
(properties `((upstream-name . "ROTS"))) (properties `((upstream-name . "ROTS")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -854,14 +855,14 @@ in omics data.")
(define-public r-inspect (define-public r-inspect
(package (package
(name "r-inspect") (name "r-inspect")
(version "1.10.0") (version "1.12.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "INSPEcT" version)) (uri (bioconductor-uri "INSPEcT" version))
(sha256 (sha256
(base32 (base32
"1gk0pwyimkswrvgb2xr3c2zy4myi448a2shr5ap65rq9pcpp0l8p")))) "0b671x5v2wyq5np2flq2m1fnjz32f303yjlw64a1inwc9k2w2pz2"))))
(properties `((upstream-name . "INSPEcT"))) (properties `((upstream-name . "INSPEcT")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -890,14 +891,14 @@ modeling the rates that determines changes in mature mRNA levels.")
(define-public r-dnabarcodes (define-public r-dnabarcodes
(package (package
(name "r-dnabarcodes") (name "r-dnabarcodes")
(version "1.10.0") (version "1.12.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "DNABarcodes" version)) (uri (bioconductor-uri "DNABarcodes" version))
(sha256 (sha256
(base32 (base32
"0xhna7f0kr7pp2hqwara5i57m9mdr65shflfxiyw6yy3g90pgb5x")))) "0g6j7ish0fk9jcib94wssjgp1m8ldcp42hyyg1ypr945fa3xghx0"))))
(properties `((upstream-name . "DNABarcodes"))) (properties `((upstream-name . "DNABarcodes")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -913,3 +914,157 @@ can be analyzed regarding their minimal, maximal and average distances between
barcodes. Finally, reads that start with a (possibly mutated) barcode can be barcodes. Finally, reads that start with a (possibly mutated) barcode can be
demultiplexed, i.e. assigned to their original reference barcode.") demultiplexed, i.e. assigned to their original reference barcode.")
(license license:gpl2))) (license license:gpl2)))
(define-public r-ruvseq
(package
(name "r-ruvseq")
(version "1.16.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "RUVSeq" version))
(sha256
(base32
"0xb3bj3n06cb9xddkv77a8svhg4fl1azlfmibwrm9mq9464kgf0m"))))
(properties `((upstream-name . "RUVSeq")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-edaseq" ,r-edaseq)
("r-edger" ,r-edger)
("r-mass" ,r-mass)))
(home-page "https://github.com/drisso/RUVSeq")
(synopsis "Remove unwanted variation from RNA-Seq data")
(description
"This package implements methods to @dfn{remove unwanted variation} (RUV)
of Risso et al. (2014) for the normalization of RNA-Seq read counts between
samples.")
(license license:artistic2.0)))
(define-public r-biocneighbors
(package
(name "r-biocneighbors")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BiocNeighbors" version))
(sha256
(base32
"1fsb96acidlxwf0h65xv7fnwdi58ckmq00gmwykrlawh88wgn1ll"))))
(properties `((upstream-name . "BiocNeighbors")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocparallel" ,r-biocparallel)
("r-rcpp" ,r-rcpp)
("r-rcppannoy" ,r-rcppannoy)
("r-s4vectors" ,r-s4vectors)))
(home-page "https://bioconductor.org/packages/BiocNeighbors")
(synopsis "Nearest Neighbor Detection for Bioconductor packages")
(description
"This package implements exact and approximate methods for nearest
neighbor detection, in a framework that allows them to be easily switched
within Bioconductor packages or workflows. The exact algorithm is implemented
using pre-clustering with the k-means algorithm. Functions are also provided
to search for all neighbors within a given distance. Parallelization is
achieved for all methods using the BiocParallel framework.")
(license license:gpl3)))
(define-public r-destiny
(package
(name "r-destiny")
(version "2.12.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "destiny" version))
(sha256
(base32
"1iay17mrhsfmpwl920rh1nip5b6ybva4h6bna0yld04paq5yva67"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-fnn" ,r-fnn)
("r-ggthemes" ,r-ggthemes)
("r-hmisc" ,r-hmisc)
("r-igraph" ,r-igraph)
("r-matrix" ,r-matrix)
("r-proxy" ,r-proxy)
("r-rcpp" ,r-rcpp)
("r-rcppeigen" ,r-rcppeigen)
("r-scales" ,r-scales)
("r-scatterplot3d" ,r-scatterplot3d)
("r-smoother" ,r-smoother)
("r-summarizedexperiment" ,r-summarizedexperiment)
("r-vim" ,r-vim)))
(home-page "https://bioconductor.org/packages/destiny/")
(synopsis "Create and plot diffusion maps")
(description "This package provides tools to create and plot diffusion
maps.")
;; Any version of the GPL
(license license:gpl3+)))
(define-public r-savr
(package
(name "r-savr")
(version "1.20.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "savR" version))
(sha256
(base32
"13bwq2a2pygdkmhrcmvz525wsi5i01j911711zgs6x93wj20b2w7"))))
(properties `((upstream-name . "savR")))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("r-gridextra" ,r-gridextra)
("r-reshape2" ,r-reshape2)
("r-scales" ,r-scales)
("r-xml" ,r-xml)))
(home-page "https://github.com/bcalder/savR")
(synopsis "Parse and analyze Illumina SAV files")
(description
"This package provides tools to parse Illumina Sequence Analysis
Viewer (SAV) files, access data, and generate QC plots.")
(license license:agpl3+)))
(define-public r-chipexoqual
(package
(name "r-chipexoqual")
(version "1.6.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ChIPexoQual" version))
(sha256
(base32
"1773bpiybn4g9jlv46z29x19q4dpcvn7lairr3lq5pdqbqmz5hnp"))))
(properties `((upstream-name . "ChIPexoQual")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocparallel" ,r-biocparallel)
("r-biovizbase" ,r-biovizbase)
("r-broom" ,r-broom)
("r-data-table" ,r-data-table)
("r-dplyr" ,r-dplyr)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicalignments" ,r-genomicalignments)
("r-genomicranges" ,r-genomicranges)
("r-ggplot2" ,r-ggplot2)
("r-hexbin" ,r-hexbin)
("r-iranges" ,r-iranges)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-rmarkdown" ,r-rmarkdown)
("r-rsamtools" ,r-rsamtools)
("r-s4vectors" ,r-s4vectors)
("r-scales" ,r-scales)
("r-viridis" ,r-viridis)))
(home-page "https://github.com/keleslab/ChIPexoQual")
(synopsis "Quality control pipeline for ChIP-exo/nexus data")
(description
"This package provides a quality control pipeline for ChIP-exo/nexus
sequencing data.")
(license license:gpl2+)))

File diff suppressed because it is too large Load diff

View file

@ -1,13 +1,14 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org> ;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Nam Nguyen <namn@berkeley.edu>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -42,6 +43,7 @@
#:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages file) #:use-module (gnu packages file)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
@ -54,6 +56,7 @@
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
#:use-module (gnu packages ssh) #:use-module (gnu packages ssh)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
@ -214,14 +217,14 @@ Transmission BitTorrent daemon.")
(name "transmission-remote-cli") (name "transmission-remote-cli")
(version "1.7.1") (version "1.7.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/fagga/" (uri (git-reference
"transmission-remote-cli/archive/v" (url "https://github.com/fagga/transmission-remote-cli.git")
version ".tar.gz")) (commit (string-append "v" version))))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1y0hkpcjf6jw9xig8yf484hbhy63nip0pkchx401yxj81m25l4z9")))) "09w9f8vrm61lapin8fmq4rgahr95y3c6wss10g0fgd0kl16f895v"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:python ,python-2 ; only supports Python 2 `(#:python ,python-2 ; only supports Python 2
@ -338,13 +341,14 @@ downloads, download scheduling, download rate limiting.")
(name "mktorrent") (name "mktorrent")
(version "1.1") (version "1.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(file-name (string-append name "-" version ".tar.gz")) (uri (git-reference
(uri (string-append "https://github.com/Rudde/mktorrent/archive/v" (url "https://github.com/Rudde/mktorrent.git")
version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1j9qc4fxa9isnaygqk6jazsiklqywl2wcs95b8dx01963407bx6h")))) "17pdc5mandl739f8q26n5is8ga56s83aqcrwhlnnplbxwx2inidr"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
@ -371,17 +375,17 @@ and will take advantage of multiple processor cores where possible.")
(define-public libtorrent-rasterbar (define-public libtorrent-rasterbar
(package (package
(name "libtorrent-rasterbar") (name "libtorrent-rasterbar")
(version "1.1.8") (version "1.1.11")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
(string-append (string-append
"https://github.com/arvidn/libtorrent/releases/download/libtorrent-" "https://github.com/arvidn/libtorrent/releases/download/libtorrent_"
(string-join (string-split version #\.) "_") (string-join (string-split version #\.) "_")
"/libtorrent-rasterbar-" version ".tar.gz")) "/libtorrent-rasterbar-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0pcdy26l5ivcs78y2bqh2qca83ikzjfchw5815xh69qf8g88zgvb")))) "0isqidr11fnhybr0wvk0qxd97jaikmh8fx9h89b84yd2gyxdw8vw"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -393,7 +397,18 @@ and will take advantage of multiple processor cores where possible.")
"CXXFLAGS=-std=c++11") ; Use std::chrono instead of boost "CXXFLAGS=-std=c++11") ; Use std::chrono instead of boost
#:make-flags (list #:make-flags (list
(string-append "LDFLAGS=-Wl,-rpath=" (string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib")))) (assoc-ref %outputs "out") "/lib"))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'compile-python-c++11
(lambda _
;; Make sure the Python bindings are compiled in C++ mode to
;; avoid undefined references as mentioned in
;; <https://github.com/qbittorrent/qBittorrent/issues/638>.
;; XXX: This can be removed for 1.2+.
(substitute* "bindings/python/setup.py"
(("\\+ target_specific\\(\\)\\,")
"+ target_specific() + ['-std=c++11'],"))
#t)))))
(inputs `(("boost" ,boost) (inputs `(("boost" ,boost)
("openssl" ,openssl))) ("openssl" ,openssl)))
(native-inputs `(("python" ,python-2) (native-inputs `(("python" ,python-2)
@ -448,3 +463,40 @@ It aims to be a good alternative to all other BitTorrent clients out there.
qBittorrent is fast, stable and provides unicode support as well as many qBittorrent is fast, stable and provides unicode support as well as many
features.") features.")
(license l:gpl2+))) (license l:gpl2+)))
(define-public deluge
(package
(name "deluge")
(version "1.3.15")
(source
(origin
(method url-fetch)
(uri (string-append
"http://download.deluge-torrent.org/source/deluge-"
version ".tar.xz"))
(sha256
(base32
"0b7rri4x0wrcj7rjghrnw1kfrsd5i7i6aq85dsg5dg1w1qa0ar59"))))
(build-system python-build-system)
(inputs
`(("libtorrent" ,libtorrent-rasterbar)
("python2-chardet" ,python2-chardet)
("python2-pygtk" ,python2-pygtk)
("python2-pyopenssl" ,python2-pyopenssl)
("python2-pyxdg" ,python2-pyxdg)
("python2-service-identity" ,python2-service-identity)
("python2-twisted" ,python2-twisted)))
(native-inputs
`(("intltool" ,intltool)))
(arguments
`(#:python ,python-2))
(home-page "https://www.deluge-torrent.org/")
(synopsis "Fully-featured cross-platform BitTorrent client")
(description
"Deluge contains the common features to BitTorrent clients such as
Protocol Encryption, DHT, Local Peer Discovery (LSD), Peer Exchange
(PEX), UPnP, NAT-PMP, Proxy support, Web seeds, global and per-torrent
speed limits. Deluge heavily utilises the libtorrent library. It is
designed to run as both a normal standalone desktop application and as a
client-server.")
(license l:gpl3+)))

View file

@ -122,6 +122,16 @@ across a broad spectrum of applications.")
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt" (license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences.")))) "Some components have other similar licences."))))
;; Some programs need Boost to be built with C++14 support.
(define-public boost-cxx14
(package (inherit boost)
(arguments
(substitute-keyword-arguments (package-arguments boost)
((#:make-flags flags)
`(append ,flags
'("cxxflags=-std=c++14")))))
(properties '((hidden? . #t)))))
(define-public boost-for-mysql (define-public boost-for-mysql
;; Older version for MySQL 5.7.23. ;; Older version for MySQL 5.7.23.
(package (package
@ -182,14 +192,14 @@ Boost.Thread.")
(define-public mdds (define-public mdds
(package (package
(name "mdds") (name "mdds")
(version "1.3.1") (version "1.4.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://kohei.us/files/mdds/src/mdds-" version ".tar.bz2")) "http://kohei.us/files/mdds/src/mdds-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"18g511z1lgfxrga2ld9yr95phmyfbd3ymbv4q5g5lyjn4ljcvf6w")))) "10cw6irdm6d15nxnys2v5akp8yz52qijpcjvw0frwq7nz5d3vki5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
`(("boost" ,boost))) ; inclusion of header files `(("boost" ,boost))) ; inclusion of header files

View file

@ -34,6 +34,7 @@
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages cdrom) #:use-module (gnu packages cdrom)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base) #:use-module (gnu packages cross-base)
#:use-module (gnu packages disk) #:use-module (gnu packages disk)
#:use-module (gnu packages firmware) #:use-module (gnu packages firmware)
@ -316,6 +317,8 @@ menu to select one of the installed operating systems.")
(home-page "https://www.syslinux.org") (home-page "https://www.syslinux.org")
(synopsis "Lightweight Linux bootloader") (synopsis "Lightweight Linux bootloader")
(description "Syslinux is a lightweight Linux bootloader.") (description "Syslinux is a lightweight Linux bootloader.")
;; The Makefile specifically targets i386 and x86_64 using nasm.
(supported-systems '("i686-linux" "x86_64-linux"))
(license (list license:gpl2+ (license (list license:gpl2+
license:bsd-3 ; gnu-efi/* license:bsd-3 ; gnu-efi/*
license:bsd-4 ; gnu-efi/inc/* gnu-efi/lib/* license:bsd-4 ; gnu-efi/inc/* gnu-efi/lib/*
@ -361,7 +364,7 @@ tree binary files. These are board description files used by Linux and BSD.")
(define u-boot (define u-boot
(package (package
(name "u-boot") (name "u-boot")
(version "2018.09") (version "2018.11")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -369,12 +372,13 @@ tree binary files. These are board description files used by Linux and BSD.")
"u-boot-" version ".tar.bz2")) "u-boot-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0s122kyz1svvs2yjzj4j9qravl3ra4vn0fjqgski7rlczqyg56w3")))) "0znkwljfwwn4y7j20pzz4ilqw8znphrfxns0x1lwdzh3xbr96z3k"))))
(native-inputs (native-inputs
`(("bc" ,bc) `(("bc" ,bc)
("bison" ,bison) ("bison" ,bison)
("dtc" ,dtc) ("dtc" ,dtc)
("flex" ,flex) ("flex" ,flex)
("lz4" ,lz4)
("openssl" ,openssl) ("openssl" ,openssl)
("python-2" ,python-2) ("python-2" ,python-2)
("python2-coverage" ,python2-coverage) ("python2-coverage" ,python2-coverage)
@ -553,8 +557,8 @@ board-independent tools.")))
(define-public u-boot-beagle-bone-black (define-public u-boot-beagle-bone-black
(make-u-boot-package "am335x_boneblack" "arm-linux-gnueabihf")) (make-u-boot-package "am335x_boneblack" "arm-linux-gnueabihf"))
(define-public u-boot-pine64-plus (define-public (make-u-boot-sunxi64-package board triplet)
(let ((base (make-u-boot-package "pine64_plus" "aarch64-linux-gnu"))) (let ((base (make-u-boot-package board triplet)))
(package (package
(inherit base) (inherit base)
(arguments (arguments
@ -572,9 +576,28 @@ board-independent tools.")))
) )
#t)))))) #t))))))
(native-inputs (native-inputs
`(("firmware" ,arm-trusted-firmware-pine64-plus) `(("firmware" ,arm-trusted-firmware-sun50i-a64)
,@(package-native-inputs base)))))) ,@(package-native-inputs base))))))
(define-public u-boot-pine64-plus
(make-u-boot-sunxi64-package "pine64_plus" "aarch64-linux-gnu"))
(define-public u-boot-pinebook
(let ((base (make-u-boot-sunxi64-package "pinebook" "aarch64-linux-gnu")))
(package
(inherit base)
(source (origin
(inherit (package-source u-boot))
(patches (search-patches
;; Add patches to enable Pinebook support from sunxi
;; maintainer tree: git://git.denx.de/u-boot-sunxi.git
"u-boot-pinebook-a64-update-dts.patch"
"u-boot-pinebook-syscon-node.patch"
"u-boot-pinebook-mmc-calibration.patch"
"u-boot-pinebook-video-bridge.patch"
"u-boot-pinebook-r_i2c-controller.patch"
"u-boot-pinebook-dts.patch")))))))
(define-public u-boot-bananapi-m2-ultra (define-public u-boot-bananapi-m2-ultra
(make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf")) (make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf"))

View file

@ -4,6 +4,8 @@
;;; Copyright © 2017, 2018 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 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> ;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -29,6 +31,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages lua)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-crypto) #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
@ -39,33 +42,30 @@
(define-public bam (define-public bam
(package (package
(name "bam") (name "bam")
(version "0.4.0") (version "0.5.1")
(source (origin (source (origin
(method url-fetch) ;; do not use auto-generated tarballs
(uri (string-append "http://github.com/downloads/matricks/" (method git-fetch)
"bam/bam-" version ".tar.bz2")) (uri (git-reference
(url "https://github.com/matricks/bam.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0z90wvyd4nfl7mybdrv9dsd4caaikc6fxw801b72gqi1m9q0c0sn")))) "13br735ig7lygvzyfd15fc2rdygrqm503j6xj5xkrl1r7w2wipq6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:make-flags `("CC=gcc"
,(string-append "INSTALL_PREFIX="
(assoc-ref %outputs "out")))
#:test-target "test"
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure))))
(replace 'build
(lambda _
(zero? (system* "bash" "make_unix.sh"))))
(replace 'check
(lambda _
(zero? (system* "python" "scripts/test.py"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(mkdir-p bin)
(install-file "bam" bin)
#t))))))
(native-inputs (native-inputs
`(("python" ,python-2))) `(("python" ,python-2)))
(inputs
`(("lua" ,lua)))
(home-page "https://matricks.github.io/bam/") (home-page "https://matricks.github.io/bam/")
(synopsis "Fast and flexible build system") (synopsis "Fast and flexible build system")
(description "Bam is a fast and flexible build system. Bam uses Lua to (description "Bam is a fast and flexible build system. Bam uses Lua to
@ -98,6 +98,63 @@ it is easy to re-run the compilation with alternate programs. Bear is used to
generate such a compilation database.") generate such a compilation database.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public gn
(let ((commit "f73698ebb33e26a0bf120e2b55d12528fd1dbe7d")
(revision "1481")) ;as returned by `git describe`, used below
(package
(name "gn")
(version (git-version "0.0" revision commit))
(home-page "https://gn.googlesource.com/gn")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
"078ydwak4424bkqh3hd7q955zxp2c3qlw44lsb29i8jqap140f9d"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;FIXME: How to run?
#:phases (modify-phases %standard-phases
(add-before 'configure 'set-build-environment
(lambda _
(setenv "CC" "gcc") (setenv "CXX" "g++")
(setenv "AR" "ar")
#t))
(replace 'configure
(lambda _
(invoke "python" "build/gen.py" "--no-sysroot"
"--no-last-commit-position")))
(add-after 'configure 'create-last-commit-position
(lambda _
;; Create "last_commit_position.h" to avoid a dependency
;; on 'git' (and the checkout..).
(call-with-output-file "out/last_commit_position.h"
(lambda (port)
(format port
"#define LAST_COMMIT_POSITION \"~a (~a)\"\n"
,revision ,(string-take commit 8))
#t))))
(replace 'build
(lambda _
(invoke "ninja" "-C" "out" "gn"
"-j" (number->string (parallel-job-count)))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "out/gn" (string-append out "/bin"))
#t))))))
(native-inputs
`(("ninja" ,ninja)
("python" ,python-2)))
(synopsis "Generate Ninja build files")
(description
"GN is a tool that collects information about a project from @file{.gn}
files and generates build instructions for the Ninja build system.")
;; GN is distributed as BSD-3, but bundles some files from ICU using the
;; X11 license.
(license (list license:bsd-3 license:x11)))))
(define-public meson (define-public meson
(package (package
(name "meson") (name "meson")

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; ;;;
@ -160,8 +160,7 @@ standard.")
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda _ (invoke "make" "-C" "cc/cpp" "test") #t)))))
(zero? (system* "make" "-C" "cc/cpp" "test")))))))
(native-inputs (native-inputs
`(("bison" ,bison) `(("bison" ,bison)
("flex" ,flex))) ("flex" ,flex)))
@ -178,16 +177,53 @@ compiler while still keeping it small, simple, fast and understandable.")
(define-public libbytesize (define-public libbytesize
(package (package
(name "libbytesize") (name "libbytesize")
(version "1.3") (version "1.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://github.com/storaged-project/libbytesize/releases/download/1.3/libbytesize-" "https://github.com/storaged-project/libbytesize/releases/"
version ".tar.gz")) "download/" version "/libbytesize-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1l7mxm2vq2h6137fyfa46v9r4lydp9dvmsixkd64xr3ylqk1g6fi")))) "0bbqzln1nhjxl71aydq9k4jg3hvki9lqsb4w10s1i27jgibxqkdv"))
(modules '((guix build utils)))
(snippet
'(begin
;; This Makefile hard-codes MSGMERGE et al. instead of
;; honoring what 'configure' detected. Fix that.
(substitute* "po/Makefile.in"
(("^MSGMERGE = msgmerge")
"MSGMERGE = @MSGMERGE@\n"))
#t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
;; When running "make", the POT files are built with the build time as
;; their "POT-Creation-Date". Later on, "make" notices that .pot
;; files were updated and goes on to run "msgmerge"; as a result, the
;; non-deterministic POT-Creation-Date finds its way into .po files,
;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
;; never runs. See <https://bugs.debian.org/792687>.
'(#:configure-flags '("ac_cv_path_MSGMERGE=true")
#:phases (modify-phases %standard-phases
(add-after 'configure 'create-merged-po-files
(lambda _
;; Create "merged PO" (.mpo) files so that 'msgmerge'
;; doesn't need to run.
(for-each (lambda (po-file)
(let ((merged-po
(string-append (dirname po-file) "/"
(basename po-file
".po")
".mpo")))
(copy-file po-file merged-po)))
(find-files "po" "\\.po$"))
#t)))
;; One test fails because busctl (systemd only?) and python2-pocketlint
;; are missing. Should we fix it, we would need the "python-2" ,
;; "python2-polib" and "python2-six" native-inputs.
#:tests? #f))
(native-inputs (native-inputs
`(("gettext" ,gettext-minimal) `(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
@ -195,10 +231,6 @@ compiler while still keeping it small, simple, fast and understandable.")
(inputs (inputs
`(("mpfr" ,mpfr) `(("mpfr" ,mpfr)
("pcre" ,pcre))) ("pcre" ,pcre)))
;; One test fails because busctl (systemd only?) and python2-pocketlint
;; are missing. Should we fix it, we would need the "python-2" ,
;; "python2-polib" and "python2-six" native-inputs.
(arguments `(#:tests? #f))
(home-page "https://github.com/storaged-project/libbytesize") (home-page "https://github.com/storaged-project/libbytesize")
(synopsis "Tiny C library for working with arbitrary big sizes in bytes") (synopsis "Tiny C library for working with arbitrary big sizes in bytes")
(description (description

View file

@ -34,7 +34,7 @@
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://calcurse.org/files/calcurse-" (uri (string-append "https://calcurse.org/files/calcurse-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
@ -57,7 +57,7 @@
(setenv "TZDIR" ;for test/ical-007.sh (setenv "TZDIR" ;for test/ical-007.sh
(string-append (assoc-ref inputs "tzdata") (string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo"))))))) "/share/zoneinfo")))))))
(home-page "http://www.calcurse.org") (home-page "https://www.calcurse.org")
(synopsis "Text-based calendar and scheduling") (synopsis "Text-based calendar and scheduling")
(description (description
"Calcurse is a text-based calendar and scheduling application. It helps "Calcurse is a text-based calendar and scheduling application. It helps

View file

@ -128,7 +128,9 @@ data units.")
;; running in a TTY: ;; running in a TTY:
;; https://github.com/pimutils/khal/issues/683 ;; https://github.com/pimutils/khal/issues/683
"not test_printics_read_from_stdin " "not test_printics_read_from_stdin "
"and not test_import_from_stdin"))))))) "and not test_import_from_stdin "
;; https://github.com/pimutils/khal/issues/825
"and not test_description_and_location_and_categories")))))))
(native-inputs (native-inputs
`(("python-pytest" ,python-pytest) `(("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov) ("python-pytest-cov" ,python-pytest-cov)

View file

@ -30,7 +30,7 @@
(define-public ccache (define-public ccache
(package (package
(name "ccache") (name "ccache")
(version "3.4.3") (version "3.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -38,9 +38,9 @@
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0jjzq5340qw3jm5gkajjkkb5wd0yqqy1dyjw3mf3jy15cakmazi9")))) "04n0xram2416pv98qrd7pi5lfsk0bjqyz7zgvvia41j5mrr4pm5x"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("perl" ,perl) ; for test.sh (native-inputs `(("perl" ,perl) ; for test/run
("which" ,(@ (gnu packages base) which)))) ("which" ,(@ (gnu packages base) which))))
(inputs `(("zlib" ,zlib))) (inputs `(("zlib" ,zlib)))
(arguments (arguments

View file

@ -11,6 +11,7 @@
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -29,6 +30,7 @@
(define-module (gnu packages cdrom) (define-module (gnu packages cdrom)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module ((guix licenses) #:select (lgpl2.1+ gpl2 gpl2+ gpl3+ cddl1.0)) #:use-module ((guix licenses) #:select (lgpl2.1+ gpl2 gpl2+ gpl3+ cddl1.0))
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
@ -291,17 +293,26 @@ images.")
`(#:tests? #f ; No tests. `(#:tests? #f ; No tests.
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'fix-glibc-compatability
(lambda* (#:key inputs #:allow-other-keys)
;; We use sed --in-place because substitute* cannot handle the
;; character encoding used by growisofs.c.
(invoke "sed" "-i" "-e"
(string-append
"s,<sys/stat.h>,"
"<sys/stat.h>\\\n#include <sys/sysmacros.h>,")
"growisofs.c")))
(replace 'configure (replace 'configure
(lambda _ (setenv "prefix" (assoc-ref %outputs "out")) #t)) (lambda _ (setenv "prefix" (assoc-ref %outputs "out")) #t))
(add-before 'build 'embed-mkisofs (add-before 'build 'embed-mkisofs
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
;; We use sed --in-place because substitute* cannot handle the ;; We use sed --in-place because substitute* cannot handle the
;; character encoding used by growisofs.c. ;; character encoding used by growisofs.c.
(zero? (system* "sed" "-i" "-e" (invoke "sed" "-i" "-e"
(string-append (string-append
"s,\"mkisofs\"," "s,\"mkisofs\","
"\"" (which "mkisofs") "\",") "\"" (which "mkisofs") "\",")
"growisofs.c"))))))) "growisofs.c"))))))
(home-page "http://fy.chalmers.se/~appro/linux/DVD+RW/") (home-page "http://fy.chalmers.se/~appro/linux/DVD+RW/")
(synopsis "DVD and Blu-ray Disc burning tools") (synopsis "DVD and Blu-ray Disc burning tools")
(description "dvd+rw-tools, mostly known for its command (description "dvd+rw-tools, mostly known for its command
@ -421,14 +432,14 @@ graphical interface.")
(name "libcue") (name "libcue")
(version "2.2.1") (version "2.2.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/lipnitsk/libcue/archive/v" (url "https://github.com/lipnitsk/libcue.git")
version ".tar.gz")) (commit (string-append "v" version))))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"000j5xqp7cc7njwlixr9byahz9kn8pcfdgm76afwv4p8nbmw6yzj")))) "1iqw4n01rv2jyk9lksagyxj8ml0kcfwk67n79zy1r6zv1xfp5ywm"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))

View file

@ -26,7 +26,7 @@
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -51,6 +51,7 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages perl)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages time) #:use-module (gnu packages time)
@ -250,7 +251,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.")
;; the build environment. Hence assuming-failure test fails. ;; the build environment. Hence assuming-failure test fails.
(delete-file "yarn.tests/assuming-failure.script") (delete-file "yarn.tests/assuming-failure.script")
(delete-file "yarn.tests/assuming-failure.stdout") (delete-file "yarn.tests/assuming-failure.stdout")
(zero? (system* "python" "setup.py" "check"))))))) (invoke "python" "setup.py" "check"))))))
(native-inputs (native-inputs
`(("python2-coverage-test-runner" ,python2-coverage-test-runner))) `(("python2-coverage-test-runner" ,python2-coverage-test-runner)))
(propagated-inputs (propagated-inputs
@ -293,13 +294,13 @@ format.")
(define-public cppcheck (define-public cppcheck
(package (package
(name "cppcheck") (name "cppcheck")
(version "1.84") (version "1.85")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/danmar/cppcheck/archive/" (uri (string-append "https://github.com/danmar/cppcheck/archive/"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "1ibz07dgs1dpfb8bmjh3qsma37wl5p6s6b4qlv5ccpshj4yjk9ma")) (base32 "18qlddf1i9bk5nnvy1v2nfxjd46y8wvp3rqz2hrfxjxsyvrfq5yw"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(home-page "http://cppcheck.sourceforge.net") (home-page "http://cppcheck.sourceforge.net")
@ -715,8 +716,8 @@ and many external plugins.")
;; options taken from tox.ini ;; options taken from tox.ini
;; TODO: make "--restructuredtext" tests pass. They currently fail ;; TODO: make "--restructuredtext" tests pass. They currently fail
;; with "Duplicate implicit target name" ;; with "Duplicate implicit target name"
(zero? (system* "python" "./setup.py" "check" (invoke "python" "./setup.py" "check"
"--strict" "--metadata"))))))) "--strict" "--metadata"))))))
(propagated-inputs (propagated-inputs
`(("python-coverage" ,python-coverage) `(("python-coverage" ,python-coverage)
("python-pytest" ,python-pytest))) ("python-pytest" ,python-pytest)))
@ -1100,8 +1101,8 @@ python-fixtures package instead.")
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda _
(zero? (system* "python" "-m" "testtools.run" (invoke "python" "-m" "testtools.run"
"fixtures.test_suite"))))))) "fixtures.test_suite"))))))
(propagated-inputs (propagated-inputs
;; Fixtures uses pbr at runtime to check versions, etc. ;; Fixtures uses pbr at runtime to check versions, etc.
`(("python-pbr" ,python-pbr) `(("python-pbr" ,python-pbr)
@ -1341,20 +1342,20 @@ the last py.test invocation.")
(define-public python-pytest-localserver (define-public python-pytest-localserver
(package (package
(name "python-pytest-localserver") (name "python-pytest-localserver")
(version "0.4.1") (version "0.5.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pytest-localserver" version)) (uri (pypi-uri "pytest-localserver" version))
(sha256 (sha256
(base32 (base32
"08f06rvj31wqf0vgmd1waya87r7vy6x8ck48lxl3dxy83q5gcam7")))) "1hpgpxrpfq5c731ndnsay2lc0y9nh2wy9fn1f83s3z8xkn82fm1s"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases '(#:phases
(modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda _
(zero? (system* "py.test" "--genscript=runtests.py")) (invoke "py.test" "-v"))))))
(zero? (system* "py.test")))))))
(native-inputs (native-inputs
`(("python-pytest" ,python-pytest) `(("python-pytest" ,python-pytest)
("python-requests" ,python-requests) ("python-requests" ,python-requests)
@ -1425,7 +1426,8 @@ normally the case.")
"1rshs1japfmwgar98yrkq4hg4z2q76hlnq7w2n3lfbjnscn1jd9b")))) "1rshs1japfmwgar98yrkq4hg4z2q76hlnq7w2n3lfbjnscn1jd9b"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-flake8" ,python-flake8) `(;; FIXME: Change to python-flake8 in the next rebuild cycle.
("python-flake8" ,python-flake8-3.5)
("python-pytest" ,python-pytest-bootstrap))) ("python-pytest" ,python-pytest-bootstrap)))
(propagated-inputs (propagated-inputs
`(("python-attrs" ,python-attrs-bootstrap) `(("python-attrs" ,python-attrs-bootstrap)
@ -1522,7 +1524,7 @@ failures.")
;; It's easier to run tests after install. ;; It's easier to run tests after install.
;; Make installed package available for running the tests ;; Make installed package available for running the tests
(add-installed-pythonpath inputs outputs) (add-installed-pythonpath inputs outputs)
(zero? (system* "py.test" "-vv"))))))) (invoke "py.test" "-vv"))))))
(native-inputs (native-inputs
`(("python-coverage" ,python-coverage) `(("python-coverage" ,python-coverage)
("python-pytest" ,python-pytest) ("python-pytest" ,python-pytest)
@ -1559,7 +1561,7 @@ failures.")
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda _
(zero? (system* "./testrun"))))))) (invoke "./testrun"))))))
(propagated-inputs (propagated-inputs
`(("python2-coverage" ,python2-coverage))) `(("python2-coverage" ,python2-coverage)))
(home-page "https://liw.fi/coverage-test-runner/") (home-page "https://liw.fi/coverage-test-runner/")
@ -1605,9 +1607,9 @@ statements in the module it tests.")
(string-append (getenv "PYTHONPATH") ":" work)) (string-append (getenv "PYTHONPATH") ":" work))
(copy-recursively "." work) (copy-recursively "." work)
(with-directory-excursion "/tmp" (with-directory-excursion "/tmp"
(zero? (system* "python" "-m" "unittest" "discover" (invoke "python" "-m" "unittest" "discover"
"-s" (string-append work "/pylint/test") "-s" (string-append work "/pylint/test")
"-p" "*test_*.py"))))))))) "-p" "*test_*.py"))))))))
(home-page "https://github.com/PyCQA/pylint") (home-page "https://github.com/PyCQA/pylint")
(synopsis "Python source code analyzer which looks for coding standard (synopsis "Python source code analyzer which looks for coding standard
errors") errors")
@ -1840,7 +1842,8 @@ tests written in a natural language style, backed up by Python code.")
(lambda _ (lambda _
(substitute* "setup.py" (substitute* "setup.py"
(("'wheel'") "") ; We don't use it. (("'wheel'") "") ; We don't use it.
(("'ordereddict==1.1'") ""))))))) ; Python >= 2.7 has it built-in. (("'ordereddict==1.1'") "")) ; Python >= 2.7 has it built-in.
#t)))))
(propagated-inputs (propagated-inputs
`(("behave" ,behave) `(("behave" ,behave)
("python-requests" ,python-requests))) ("python-requests" ,python-requests)))
@ -2086,3 +2089,42 @@ aspects of UnitTest++. UnitTest++ is mostly standard C++ and makes minimal use
of advanced library and language features, which means it should be easily of advanced library and language features, which means it should be easily
portable to just about any platform.") portable to just about any platform.")
(license license:expat))) (license license:expat)))
(define-public libfaketime
(package
(name "libfaketime")
(version "0.9.7")
(home-page "https://github.com/wolfcw/libfaketime")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(sha256
(base32
"1cin1pqwpsswcv7amiwijirvcg3x1zf2l00s1x84nxc5602fzr5c"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "CC" "gcc")
(setenv "PREFIX" out)
#t)))
(add-before 'check 'pre-check
(lambda _
(substitute* "test/functests/test_exclude_mono.sh"
(("/bin/bash") (which "bash")))
#t)))
#:test-target "test"))
(native-inputs
`(("perl" ,perl))) ;for tests
(synopsis "Fake the system time for single applications")
(description
"The libfaketime library allows users to modify the system time that an
application \"sees\". It is meant to be loaded using the dynamic linker's
@code{LD_PRELOAD} environment variable. The @command{faketime} command
provides a simple way to achieve this.")
(license license:gpl2)))

View file

@ -186,8 +186,8 @@ their dependencies.")
(license l:gpl3+)))) (license l:gpl3+))))
(define-public cuirass (define-public cuirass
(let ((commit "fe2b73c2353d106431ed0659345391f14ed64600") (let ((commit "0b40dca734468e8b12b3ff58e3e779679f17d38e")
(revision "20")) (revision "21"))
(package (package
(name "cuirass") (name "cuirass")
(version (string-append "0.0.1-" revision "." (string-take commit 7))) (version (string-append "0.0.1-" revision "." (string-take commit 7)))
@ -199,7 +199,7 @@ their dependencies.")
(file-name (string-append name "-" version)) (file-name (string-append name "-" version))
(sha256 (sha256
(base32 (base32
"00ldbig2p14qpwrl2i2hnhb9idgbbf0kqnlh4n79rmz96blm7463")))) "1kdxs8dzdyldfs4wsz5hb64hprkbrnq5ljdll631f3bj8pbvvvc1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:modules ((guix build utils) '(#:modules ((guix build utils)

293
gnu/packages/clojure.scm Normal file
View file

@ -0,0 +1,293 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
;;; 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 clojure)
#:use-module (gnu packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system ant)
#:use-module (guix build-system clojure)
#:use-module (ice-9 match))
(define-public clojure
(let* ((lib (lambda (prefix version hash)
(origin (method url-fetch)
(uri (string-append "https://github.com/clojure/"
prefix version ".tar.gz"))
(sha256 (base32 hash)))))
;; The libraries below are needed to run the tests.
(libraries
`(("core-specs-alpha-src"
,(lib "core.specs.alpha/archive/core.specs.alpha-"
"0.1.24"
"0v2a0svf1ar2y42ajxwsjr7zmm5j7pp2zwrd2jh3k7xzd1p9x1fv"))
("data-generators-src"
,(lib "data.generators/archive/data.generators-"
"0.1.2"
"0kki093jp4ckwxzfnw8ylflrfqs8b1i1wi9iapmwcsy328dmgzp1"))
("spec-alpha-src"
,(lib "spec.alpha/archive/spec.alpha-"
"0.1.143"
"00alf0347licdn773w2jarpllyrbl52qz4d8mw61anjksacxylzz"))
("test-check-src"
,(lib "test.check/archive/test.check-"
"0.9.0"
"0p0mnyhr442bzkz0s4k5ra3i6l5lc7kp6ajaqkkyh4c2k5yck1md"))
("test-generative-src"
,(lib "test.generative/archive/test.generative-"
"0.5.2"
"1pjafy1i7yblc7ixmcpfq1lfbyf3jaljvkgrajn70sws9xs7a9f8"))
("tools-namespace-src"
,(lib "tools.namespace/archive/tools.namespace-"
"0.2.11"
"10baak8v0hnwz2hr33bavshm7y49mmn9zsyyms1dwjz45p5ymhy0"))))
(library-names (match libraries
(((library-name _) ...)
library-name))))
(package
(name "clojure")
(version "1.9.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/clojure/clojure/archive/clojure-"
version ".tar.gz"))
(sha256
(base32 "0xjbzcw45z32vsn9pifp7ndysjzqswp5ig0jkjpivigh2ckkdzha"))))
(build-system ant-build-system)
(arguments
`(#:imported-modules ((guix build clojure-utils)
(guix build guile-build-system)
,@%ant-build-system-modules)
#:modules ((guix build ant-build-system)
(guix build clojure-utils)
(guix build java-utils)
(guix build utils)
(srfi srfi-26))
#:test-target "test"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-library-sources
(lambda* (#:key inputs #:allow-other-keys)
(define (extract-library name)
(mkdir-p name)
(with-directory-excursion name
(invoke "tar"
"--extract"
"--verbose"
"--file" (assoc-ref inputs name)
"--strip-components=1"))
(copy-recursively (string-append name "/src/main/clojure/")
"src/clj/"))
(for-each extract-library ',library-names)
#t))
(add-after 'unpack-library-sources 'fix-manifest-classpath
(lambda _
(substitute* "build.xml"
(("<attribute name=\"Class-Path\" value=\".\"/>") ""))
#t))
(add-after 'build 'build-javadoc ant-build-javadoc)
(replace 'install (install-jars "./"))
(add-after 'install-license-files 'install-doc
(cut install-doc #:doc-dirs '("doc/clojure/") <...>))
(add-after 'install-doc 'install-javadoc
(install-javadoc "target/javadoc/")))))
(native-inputs libraries)
(home-page "https://clojure.org/")
(synopsis "Lisp dialect running on the JVM")
(description "Clojure is a dynamic, general-purpose programming language,
combining the approachability and interactive development of a scripting
language with an efficient and robust infrastructure for multithreaded
programming. Clojure is a compiled language, yet remains completely dynamic
every feature supported by Clojure is supported at runtime. Clojure
provides easy access to the Java frameworks, with optional type hints and type
inference, to ensure that calls to Java can avoid reflection.
Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy
and a powerful macro system. Clojure is predominantly a functional programming
language, and features a rich set of immutable, persistent data structures.
When mutable state is needed, Clojure offers a software transactional memory
system and reactive Agent system that ensure clean, correct, multithreaded
designs.")
;; Clojure is licensed under EPL1.0
;; ASM bytecode manipulation library is licensed under BSD-3
;; Guava Murmur3 hash implementation is licensed under APL2.0
;; src/clj/repl.clj is licensed under CPL1.0
;; See readme.html or readme.txt for details.
(license (list license:epl1.0
license:bsd-3
license:asl2.0
license:cpl1.0)))))
(define-public clojure-algo-generic
(package
(name "clojure-algo-generic")
(version "0.1.3")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/clojure/algo.generic/archive"
"/algo.generic-" version ".tar.gz"))
(sha256
(base32 "12w9681i545gp1af4576z1qbixwps1j13c16fmcc7zsb0bd1zr7w"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
#:test-dirs '("src/test/clojure/")
#:doc-dirs '()))
(synopsis "Generic versions of common functions")
(description
"Generic versions of commonly used functions, implemented as multimethods
that can be implemented for any data type.")
(home-page "https://github.com/clojure/algo.generic")
(license license:epl1.0)))
(define-public clojure-algo-monads
(package
(name "clojure-algo-monads")
(version "0.1.6")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/clojure/algo.monads/archive"
"/algo.monads-" version ".tar.gz"))
(sha256
(base32 "14gbvfgmrda990h45yn7zag83vp1kdkz4f4yzmyvkr0sjihlgdmq"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
#:test-dirs '("src/test/clojure/")
#:doc-dirs '()))
(native-inputs
`(("clojure-tools-macro" ,clojure-tools-macro)))
(synopsis
"Monad Macros and Definitions")
(description
"This library contains the most commonly used monads as well as macros for
defining and using monads and useful monadic functions.")
(home-page "https://github.com/clojure/algo.monads")
(license license:epl1.0)))
(define-public clojure-core-match
(let ((commit "1837ffbd4a150e8f3953b2d9ed5cf4a4ad3720a7")
(revision "1")) ; this is the 1st commit buildable with clojure 1.9
(package
(name "clojure-core-match")
(version (git-version "0.3.0-alpha5" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clojure/core.match.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"04bdlp5dgkrqzrz0lw3mfwmygj2218qnm1cz3dkb9wy4m0238s4d"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure")
#:test-dirs '("src/test/clojure")
#:doc-dirs '()))
(synopsis "Optimized pattern matching for Clojure")
(description
"An optimized pattern matching library for Clojure.
It supports Clojure 1.5.1 and later as well as ClojureScript.")
(home-page "https://github.com/clojure/core.match")
(license license:epl1.0))))
(define-public clojure-instaparse
(let ((commit "dcfffad5b065e750f0f5835f017cdd8188b8ca2e")
(version "1.4.9")) ; upstream forget to tag this release
(package
(name "clojure-instaparse")
(version version)
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Engelberg/instaparse.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"002mrgin4z3dqy88r1lak7smd0m7x8d22vmliw0m6w6mh5pa17lk"))))
(build-system clojure-build-system)
(arguments
'(#:doc-dirs '("docs/")))
(synopsis "No grammar left behind")
(description
"Instaparse aims to be the simplest way to build parsers in Clojure.
@itemize
@item Turns @emph{standard EBNF or ABNF notation} for context-free grammars
into an executable parser that takes a string as an input and produces a parse
tree for that string.
@item @dfn{No Grammar Left Behind}: Works for @emph{any} context-free grammar,
including @emph{left-recursive}, @emph{right-recursive}, and @emph{ambiguous}
grammars.
@item Extends the power of context-free grammars with PEG-like syntax for
lookahead and negative lookahead.
@item Supports both of Clojure's most popular tree formats (hiccup and enlive)
as output targets
@item Detailed reporting of parse errors.
@item Optionally produces lazy sequence of all parses (especially useful for
diagnosing and debugging ambiguous grammars).
@item ``Total parsing'' mode where leftover string is embedded in the parse
tree.
@item Optional combinator library for building grammars programmatically.
@item Performant.
@end itemize")
(home-page "https://github.com/Engelberg/instaparse")
(license license:epl1.0))))
(define-public clojure-tools-macro
(package
(name "clojure-tools-macro")
(version "0.1.5")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/clojure/tools.macro/archive"
"/tools.macro-" version ".tar.gz"))
(sha256
(base32 "0fs64a0g63xx6g7sj6vrsqknhl90s0isf6k053nw8vv5prfzc7v6"))))
(build-system clojure-build-system)
(arguments
'(#:source-dirs '("src/main/clojure/")
#:test-dirs '("src/test/clojure/")
#:doc-dirs '()))
(synopsis "Utilities for macro writers")
(description "Tools for writing macros.")
(home-page "https://github.com/clojure/tools.macro")
(license license:epl1.0)))

View file

@ -211,16 +211,16 @@ COCOMO model or user-provided parameters.")
(define-public cloc (define-public cloc
(package (package
(name "cloc") (name "cloc")
(version "1.78") (version "1.80")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"https://github.com/AlDanial/cloc/releases/download/" version "https://github.com/AlDanial/cloc/releases/download/v" version
"/cloc-" version ".tar.gz")) "/cloc-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1j9lwy9xf43kpv1csqdxzch6y1hnsv881ddqd357f8v58dhr4s68")))) "0rqxnaskg5b736asyzfda1113zvpkajyqjf49vl9wgzf1r9m6bq8"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("coreutils" ,coreutils) `(("coreutils" ,coreutils)
@ -231,8 +231,8 @@ COCOMO model or user-provided parameters.")
("perl-regexp-common" ,perl-regexp-common))) ("perl-regexp-common" ,perl-regexp-common)))
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure) ; nothing to configure
(delete 'build) (delete 'build) ; nothing to build
(replace 'install (replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))) (let* ((out (assoc-ref outputs "out")))
@ -540,18 +540,20 @@ independent targets.")
(define-public uncrustify (define-public uncrustify
(package (package
(name "uncrustify") (name "uncrustify")
(version "0.67") (version "0.68.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/uncrustify/uncrustify/archive/" (url "https://github.com/uncrustify/uncrustify/")
"uncrustify-" version ".zip")) (commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0n13kq0nsm35fxhdp0f275n4x0w88hdv3bdjy0hgvv42x0dx5zyp")))) "0gf6vjcfy8pl7idvwsd500ffj9hri62q0n79kpb6cnfprrqpbgf4"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("unzip" ,unzip))) `(("unzip" ,unzip)
("python" ,python-wrapper)))
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases

View file

@ -133,10 +133,7 @@ in compression.")
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'enter-source (add-after 'unpack 'enter-source
(lambda _ (chdir "contrib/minizip") #t)) (lambda _ (chdir "contrib/minizip") #t)))))
(add-after 'enter-source 'autoreconf
(lambda _
(invoke "autoreconf" "-vif"))))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
@ -188,12 +185,7 @@ utility. Instead of being written in Java, FastJar is written in C.")
"02cihzl77ia0dcz7z2cga2412vyhhs5pa2355q4wpwbyga2lrwjh")) "02cihzl77ia0dcz7z2cga2412vyhhs5pa2355q4wpwbyga2lrwjh"))
(patches (search-patches "libtar-CVE-2013-4420.patch")))) (patches (search-patches "libtar-CVE-2013-4420.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments `(#:tests? #f)) ; no "check" target
`(#:tests? #f ;no "check" target
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _ (invoke "sh" "autoreconf" "-vfi"))))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
@ -363,7 +355,20 @@ decompression.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1sahaqc5bw4i0iyri05syfza4ncf5cml89an033fspn97klmxis6")))) "1sahaqc5bw4i0iyri05syfza4ncf5cml89an033fspn97klmxis6"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* (find-files "lib" "\\.c$")
(("#if defined _IO_ftrylockfile")
"#if defined _IO_EOF_SEEN"))
(substitute* "lib/stdio-impl.h"
(("^/\\* BSD stdio derived implementations")
(string-append "#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN\n"
"# define _IO_IN_BACKUP 0x100\n"
"#endif\n\n"
"/* BSD stdio derived implementations")))
#t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(synopsis "Parallel bzip2 compression utility") (synopsis "Parallel bzip2 compression utility")
(description (description
@ -588,9 +593,6 @@ decompressors when faced with corrupted input.")
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
;; Adjust the bundled gnulib to work with glibc 2.28. See e.g.
;; "m4-gnulib-libio.patch". This is a phase rather than patch
;; or snippet to work around <https://bugs.gnu.org/32347>.
(substitute* (find-files "lib" "\\.c$") (substitute* (find-files "lib" "\\.c$")
(("#if defined _IO_ftrylockfile") (("#if defined _IO_ftrylockfile")
"#if defined _IO_EOF_SEEN")) "#if defined _IO_EOF_SEEN"))
@ -694,13 +696,13 @@ sfArk file format to the uncompressed sf2 format.")
(package (package
(name "libmspack") (name "libmspack")
(home-page "https://cabextract.org.uk/libmspack/") (home-page "https://cabextract.org.uk/libmspack/")
(version "0.7.1") (version "0.9.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append home-page name "-" version "alpha.tar.gz")) (uri (string-append home-page name "-" version "alpha.tar.gz"))
(sha256 (sha256
(base32 "0zn4vwzk5ankgd0l88cipan19pzbzv0sm3fba17lvqwka3dp1acp")))) (base32 "0h1f5w8rjnq7dcqpqm1mpx5m8q80691kid6f7npqlqwqqzckd8v2"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--disable-static"))) `(#:configure-flags '("--disable-static")))
@ -758,7 +760,8 @@ INCLUDE = ~a/include
LIB = ~:*~a/lib LIB = ~:*~a/lib
OLD_ZLIB = False OLD_ZLIB = False
GZIP_OS_CODE = AUTO_DETECT" GZIP_OS_CODE = AUTO_DETECT"
(assoc-ref inputs "zlib"))))))))) (assoc-ref inputs "zlib"))))
#t)))))
(home-page "https://metacpan.org/release/Compress-Raw-Zlib") (home-page "https://metacpan.org/release/Compress-Raw-Zlib")
(synopsis "Low-level interface to zlib compression library") (synopsis "Low-level interface to zlib compression library")
(description "This module provides a Perl interface to the zlib (description "This module provides a Perl interface to the zlib
@ -1082,13 +1085,13 @@ smaller than those produced by @code{Xdelta}.")
(package (package
(name "cabextract") (name "cabextract")
(home-page "https://cabextract.org.uk/") (home-page "https://cabextract.org.uk/")
(version "1.7") (version "1.9")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append home-page name "-" version ".tar.gz")) (uri (string-append home-page name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1g86wmb8lkjiv2jarfz979ngbgg7d3si8x5il4g801604v406wi9")) "1hf4zhjxfdgq9x172r5zfdnafma9q0zf7372syn8hcn7hcypkg0v"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1096,11 +1099,27 @@ smaller than those produced by @code{Xdelta}.")
(delete-file-recursively "mspack") (delete-file-recursively "mspack")
#t)))) #t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments '(#:configure-flags '("--with-external-libmspack"))) (arguments
'(#:configure-flags '("--with-external-libmspack")
#:phases
(modify-phases %standard-phases
;; cabextract needs some of libmspack's header files.
;; These are located in the "mspack" directory of libmspack.
(add-before 'build 'unpack-libmspack
(lambda* (#:key inputs #:allow-other-keys)
(let ((dir-name "libmspack-src"))
(mkdir dir-name)
(invoke "tar" "-xvf" (assoc-ref inputs "libmspack-source")
"-C" dir-name "--strip-components" "1")
(rename-file (string-append dir-name "/mspack")
"mspack")
(delete-file-recursively dir-name)
#t))))))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs
`(("libmspack" ,libmspack))) `(("libmspack" ,libmspack)
("libmspack-source" ,(package-source libmspack))))
(synopsis "Tool to unpack Cabinet archives") (synopsis "Tool to unpack Cabinet archives")
(description "Extracts files out of Microsoft Cabinet (.cab) archives") (description "Extracts files out of Microsoft Cabinet (.cab) archives")
;; Some source files specify gpl2+, lgpl2+, however COPYING is gpl3. ;; Some source files specify gpl2+, lgpl2+, however COPYING is gpl3.
@ -1112,13 +1131,14 @@ smaller than those produced by @code{Xdelta}.")
(version "3.1.0") (version "3.1.0")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/jmacd/xdelta/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/jmacd/xdelta.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"17g2pbbqy6h20qgdjq7ykib7kg5ajh8fwbsfgyjqg8pwg19wy5bm")) "09mmsalc7dwlvgrda56s2k927rpl3a5dzfa88aslkqcjnr790wjy"))
(file-name (string-append name "-" version ".tar.gz"))
(snippet (snippet
;; This file isn't freely distributable and has no effect on building. ;; This file isn't freely distributable and has no effect on building.
'(begin '(begin
@ -1132,9 +1152,7 @@ smaller than those produced by @code{Xdelta}.")
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'enter-build-directory (add-after 'unpack 'enter-build-directory
(lambda _ (chdir "xdelta3") #t)) (lambda _ (chdir "xdelta3") #t)))))
(add-after 'enter-build-directory 'autoconf
(lambda _ (invoke "autoreconf" "-vfi"))))))
(home-page "http://xdelta.org") (home-page "http://xdelta.org")
(synopsis "Delta encoder for binary files") (synopsis "Delta encoder for binary files")
(description "xdelta encodes only the differences between two binary files (description "xdelta encodes only the differences between two binary files
@ -1184,16 +1202,30 @@ well as bzip2.")
(define-public bitshuffle (define-public bitshuffle
(package (package
(name "bitshuffle") (name "bitshuffle")
(version "0.3.4") (version "0.3.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "bitshuffle" version)) (uri (pypi-uri "bitshuffle" version))
(sha256 (sha256
(base32 (base32
"0ydawb01ghsvmw0lraczhrgvkjj97bpg98f1qqs1cnfp953mdd5v")))) "1823x61kyax4dc2hjmc1xraskxi1193y8lvxd03vqv029jrj8cjy"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove generated Cython files.
(delete-file "bitshuffle/h5.c")
(delete-file "bitshuffle/ext.c")
#t))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:tests? #f)) ; fail: https://github.com/h5py/h5py/issues/769 `(#:tests? #f ; fail: https://github.com/h5py/h5py/issues/769
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'dont-build-native
(lambda _
(substitute* "setup.py"
(("'-march=native', ") ""))
#t)))))
(inputs (inputs
`(("numpy" ,python-numpy) `(("numpy" ,python-numpy)
("h5py" ,python-h5py) ("h5py" ,python-h5py)
@ -1329,7 +1361,8 @@ install: libbitshuffle.so
(add-after 'build-jni 'copy-jni (add-after 'build-jni 'copy-jni
(lambda _ (lambda _
(copy-recursively "src/main/resources/org/xerial/snappy/native" (copy-recursively "src/main/resources/org/xerial/snappy/native"
"build/classes/org/xerial/snappy/native"))) "build/classes/org/xerial/snappy/native")
#t))
(add-before 'check 'fix-failing (add-before 'check 'fix-failing
(lambda _ (lambda _
(with-directory-excursion "src/test/java/org/xerial/snappy" (with-directory-excursion "src/test/java/org/xerial/snappy"
@ -1447,7 +1480,8 @@ compressor/decompressor.")
class)) class))
(invoke "ant" "compile-tests") (invoke "ant" "compile-tests")
(test "org.iq80.snappy.SnappyFramedStreamTest") (test "org.iq80.snappy.SnappyFramedStreamTest")
(test "org.iq80.snappy.SnappyStreamTest"))) (test "org.iq80.snappy.SnappyStreamTest")
#t))
(add-before 'build 'remove-hadoop-dependency (add-before 'build 'remove-hadoop-dependency
(lambda _ (lambda _
;; We don't have hadoop ;; We don't have hadoop
@ -1752,14 +1786,14 @@ or junctions, and always follows hard links.")
(define-public zstd (define-public zstd
(package (package
(name "zstd") (name "zstd")
(version "1.3.6") (version "1.3.7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/facebook/zstd/releases/download/" (uri (string-append "https://github.com/facebook/zstd/releases/download/"
"v" version "/zstd-" version ".tar.gz")) "v" version "/zstd-" version ".tar.gz"))
(sha256 (sha256
(base32 "1525b31jmbiczjj1n58nckdzky4cdnbwcsil3zgy4cx03v0a0cp8")))) (base32 "0gapsdzqfsfqqddzv22592iwa0008xjyi15f06pfv9hcvwvg4xrj"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -1802,7 +1836,7 @@ speed.")
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'enter-subdirectory (add-after 'unpack 'enter-subdirectory
(lambda _ (chdir "contrib/pzstd"))) (lambda _ (chdir "contrib/pzstd") #t))
(delete 'configure) ; no configure script (delete 'configure) ; no configure script
(add-before 'check 'compile-tests (add-before 'check 'compile-tests
(lambda* (#:key make-flags #:allow-other-keys) (lambda* (#:key make-flags #:allow-other-keys)
@ -2084,14 +2118,16 @@ type by using either Perl modules, or command-line tools on your system.")
(lambda _ (lambda _
;; Our build system enters the first directory in the archive, but ;; Our build system enters the first directory in the archive, but
;; the package is not contained in a subdirectory ;; the package is not contained in a subdirectory
(chdir ".."))) (chdir "..")
#t))
(replace 'install (replace 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; Do we want to install *Demo.jar? ;; Do we want to install *Demo.jar?
(install-file "build/jar/xz.jar" (install-file "build/jar/xz.jar"
(string-append (string-append
(assoc-ref outputs "out") (assoc-ref outputs "out")
"/share/java/xz.jar"))))))) "/share/java/xz.jar"))
#t)))))
(native-inputs (native-inputs
`(("unzip" ,unzip))) `(("unzip" ,unzip)))
(home-page "https://tukaani.org") (home-page "https://tukaani.org")
@ -2227,7 +2263,7 @@ single-member files which can't be decompressed in parallel.")
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ;; No tests available. `(#:tests? #f)) ;; No tests available.
(inputs `(("boost" ,boost) (inputs `(("boost" ,boost-cxx14)
("libiconv" ,libiconv) ("libiconv" ,libiconv)
("xz" ,xz))) ("xz" ,xz)))
(native-inputs `(("pkg-config" ,pkg-config))) (native-inputs `(("pkg-config" ,pkg-config)))

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
@ -356,7 +356,7 @@ target that libc."
,@(package-arguments glibc/hurd-headers)) ,@(package-arguments glibc/hurd-headers))
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases `(modify-phases ,phases
(add-before 'pre-configure 'set-cross-headers-path (add-after 'unpack 'set-cross-headers-path
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let* ((mach (assoc-ref inputs "gnumach-headers")) (let* ((mach (assoc-ref inputs "gnumach-headers"))
(hurd (assoc-ref inputs "hurd-headers")) (hurd (assoc-ref inputs "hurd-headers"))
@ -426,17 +426,9 @@ target that libc."
(xheaders (cross-kernel-headers target))) (xheaders (cross-kernel-headers target)))
"Return a libc cross-built for TARGET, a GNU triplet. Use XGCC and "Return a libc cross-built for TARGET, a GNU triplet. Use XGCC and
XBINUTILS and the cross tool chain." XBINUTILS and the cross tool chain."
(define (cross-libc-for-target target)
"Return libc depending on TARGET."
(match target
((or "i586-pc-gnu" "i586-gnu") glibc/hurd)
(_ glibc/linux)))
;; Use (cross-libc-for-target ...) to determine the correct libc to use.
(if (cross-newlib? target) (if (cross-newlib? target)
(native-libc target) (native-libc target)
(let ((libc (cross-libc-for-target target))) (let ((libc glibc))
(package (inherit libc) (package (inherit libc)
(name (string-append "glibc-cross-" target)) (name (string-append "glibc-cross-" target))
(arguments (arguments
@ -457,7 +449,9 @@ XBINUTILS and the cross tool chain."
,@(package-arguments libc)) ,@(package-arguments libc))
((#:configure-flags flags) ((#:configure-flags flags)
`(cons ,(string-append "--host=" target) `(cons ,(string-append "--host=" target)
,flags)) ,(if (hurd-triplet? target)
`(cons "--disable-werror" ,flags)
flags)))
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases `(modify-phases ,phases
(add-before 'configure 'set-cross-kernel-headers-path (add-before 'configure 'set-cross-kernel-headers-path

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@gnu.org> ;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -94,7 +94,7 @@ communication, encryption, decryption, signatures, etc.")
(define-public libmd (define-public libmd
(package (package
(name "libmd") (name "libmd")
(version "1.0.0") (version "1.0.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -105,7 +105,7 @@ communication, encryption, decryption, signatures, etc.")
version ".tar.xz"))) version ".tar.xz")))
(sha256 (sha256
(base32 (base32
"1iv45npzv0gncjgcpx5m081861zdqxw667ysghqb8721yrlyl6pj")))) "0waclg2d5qin3r26gy5jvy4584ik60njc8pqbzwk0lzq3j9ynkp1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(synopsis "Message Digest functions from BSD systems") (synopsis "Message Digest functions from BSD systems")
(description (description
@ -164,19 +164,16 @@ OpenBSD tool of the same name.")
"See base64.c in the distribution for "See base64.c in the distribution for
the license from IBM."))))) the license from IBM.")))))
(define-public opendht (define-public opendht
(package (package
(name "opendht") (name "opendht")
(version "0.6.1") (version "0.6.1")
(source (source (origin
(origin (method git-fetch)
(method url-fetch) (uri (git-reference
(uri (url "https://github.com/savoirfairelinux/opendht.git")
(string-append (commit version)))
"https://github.com/savoirfairelinux/" name (file-name (git-file-name name version))
"/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -191,7 +188,7 @@ OpenBSD tool of the same name.")
#t)) #t))
(sha256 (sha256
(base32 (base32
"09yvkmbqbym3b5md4n96qc1s9sf2n8ji404hagih45rmsj49599x")))) "1akk613f18rc8kqs0cxdm34iq7wwc9kffhgp5rng09arwlw8gw3w"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gnutls" ,gnutls) `(("gnutls" ,gnutls)
@ -206,11 +203,7 @@ OpenBSD tool of the same name.")
("automake" ,automake) ("automake" ,automake)
("libtool" ,libtool))) ("libtool" ,libtool)))
(arguments (arguments
`(#:configure-flags '("--disable-tools" "--disable-python") `(#:configure-flags '("--disable-tools" "--disable-python")))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
(home-page "https://github.com/savoirfairelinux/opendht/") (home-page "https://github.com/savoirfairelinux/opendht/")
(synopsis "Distributed Hash Table (DHT) library") (synopsis "Distributed Hash Table (DHT) library")
(description "OpenDHT is a Distributed Hash Table (DHT) library. It may (description "OpenDHT is a Distributed Hash Table (DHT) library. It may

View file

@ -382,23 +382,27 @@ device-specific programs to convert and print many types of files.")
(define-public hplip (define-public hplip
(package (package
(name "hplip") (name "hplip")
(version "3.18.6") (version "3.18.9")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/hplip/hplip/" version (uri (string-append "mirror://sourceforge/hplip/hplip/" version
"/hplip-" version ".tar.gz")) "/hplip-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0zbv6cp9n3xypf2fg4j6fpz8zkvl0z08lyc1vq1gd04ln1l3xkqf")) "0g3q5mm2crjyc1z4z6gv4lam6sc5d3diz704djrnpqadk4q3h290"))
(modules '((guix build utils))) (modules '((guix build utils)))
(patches (search-patches "hplip-remove-imageprocessor.patch"))
(snippet (snippet
;; Fix type mismatch.
'(begin '(begin
;; Delete non-free blobs
(for-each delete-file (find-files "." "\\.so$"))
(delete-file "prnt/hpcups/ImageProcessor.h")
;; Fix type mismatch.
(substitute* "prnt/hpcups/genPCLm.cpp" (substitute* "prnt/hpcups/genPCLm.cpp"
(("boolean") "bool")) (("boolean") "bool"))
#t)))) #t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://hplipopensource.com/") (home-page "https://developers.hp.com/hp-linux-imaging-and-printing")
(synopsis "HP printer drivers") (synopsis "HP printer drivers")
(description (description
"Hewlett-Packard printer drivers and PostScript Printer Descriptions "Hewlett-Packard printer drivers and PostScript Printer Descriptions
@ -414,6 +418,8 @@ device-specific programs to convert and print many types of files.")
`("--disable-network-build" `("--disable-network-build"
,(string-append "--prefix=" (assoc-ref %outputs "out")) ,(string-append "--prefix=" (assoc-ref %outputs "out"))
,(string-append "--sysconfdir=" (assoc-ref %outputs "out") "/etc") ,(string-append "--sysconfdir=" (assoc-ref %outputs "out") "/etc")
,(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib")
;; Disable until mime.types merging works (FIXME). ;; Disable until mime.types merging works (FIXME).
"--disable-fax-build" "--disable-fax-build"
"--enable-hpcups-install" "--enable-hpcups-install"

View file

@ -51,6 +51,7 @@
(package (package
(name "curl") (name "curl")
(version "7.61.1") (version "7.61.1")
(replacement curl-7.62.0)
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-" (uri (string-append "https://curl.haxx.se/download/curl-"
@ -141,6 +142,19 @@ tunneling, and so on.")
"See COPYING in the distribution.")) "See COPYING in the distribution."))
(home-page "https://curl.haxx.se/"))) (home-page "https://curl.haxx.se/")))
(define-public curl-7.62.0
(package
(inherit curl)
(version "7.62.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.xz"))
(sha256
(base32
"1hbm29r3pirhn4gkcnd94ylc4jzgn3v3v7qbay9awxg7bwx69dfs"))))))
(define-public kurly (define-public kurly
(package (package
(name "kurly") (name "kurly")

View file

@ -153,7 +153,7 @@
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'generate-configure (add-after 'unpack 'generate-configure
(lambda _ (lambda _
(zero? (system* "sh" "autogen.sh"))))))) (invoke "sh" "autogen.sh"))))))
;; http://www.4store.org has been down for a while now. ;; http://www.4store.org has been down for a while now.
(home-page "https://github.com/4store/4store") (home-page "https://github.com/4store/4store")
(synopsis "Clustered RDF storage and query engine") (synopsis "Clustered RDF storage and query engine")
@ -207,14 +207,16 @@ and provides interfaces to the traditional file format.")
(delete 'reset-gzip-timestamps) (delete 'reset-gzip-timestamps)
(add-before 'check 'start-mongodb (add-before 'check 'start-mongodb
(lambda* (#:key tests? #:allow-other-keys) (lambda* (#:key tests? #:allow-other-keys)
(or (not tests?) (when tests?
(with-directory-excursion "src/gopkg.in/mgo.v2" (with-directory-excursion "src/gopkg.in/mgo.v2"
(invoke "make" "startdb"))))) (invoke "make" "startdb")))
#t))
(add-after 'check 'stop'mongodb (add-after 'check 'stop'mongodb
(lambda* (#:key tests? #:allow-other-keys) (lambda* (#:key tests? #:allow-other-keys)
(or (not tests?) (when tests?
(with-directory-excursion "src/gopkg.in/mgo.v2" (with-directory-excursion "src/gopkg.in/mgo.v2"
(invoke "make" "stopdb")))))))) (invoke "make" "stopdb")))
#t)))))
(native-inputs (native-inputs
`(("go-gopkg.in-check.v1" ,go-gopkg.in-check.v1) `(("go-gopkg.in-check.v1" ,go-gopkg.in-check.v1)
("mongodb" ,mongodb) ("mongodb" ,mongodb)
@ -503,23 +505,20 @@ applications.")
#t)) #t))
(replace 'build (replace 'build
(lambda _ (lambda _
(zero? (apply system* (apply invoke `("scons"
`("scons"
,@common-options ,@common-options
"mongod" "mongo" "mongos"))))) "mongod" "mongo" "mongos"))))
(replace 'check (replace 'check
(lambda* (#:key tests? inputs #:allow-other-keys) (lambda* (#:key tests? inputs #:allow-other-keys)
(setenv "TZDIR" (setenv "TZDIR"
(string-append (assoc-ref inputs "tzdata") (string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo")) "/share/zoneinfo"))
(or (not tests?) (when tests?
;; Note that with the tests, especially the unittests, the ;; Note that with the tests, especially the unittests, the
;; build can take up to ~45GB of space, as many tests are ;; build can take up to ~45GB of space, as many tests are
;; individual executable files, with some being hundreds of ;; individual executable files, with some being hundreds of
;; megabytes in size. ;; megabytes in size.
(begin (apply invoke `("scons" ,@common-options "dbtest" "unittests"))
(apply
invoke `("scons" ,@common-options "dbtest" "unittests"))
(substitute* "build/unittests.txt" (substitute* "build/unittests.txt"
;; TODO: Don't run the async_stream_test, as it hangs ;; TODO: Don't run the async_stream_test, as it hangs
(("^build\\/opt\\/mongo\\/executor\\/async\\_stream\\_test\n$") (("^build\\/opt\\/mongo\\/executor\\/async\\_stream\\_test\n$")
@ -530,10 +529,11 @@ applications.")
"")) ""))
(invoke "python" "buildscripts/resmoke.py" (invoke "python" "buildscripts/resmoke.py"
"--suites=dbtest,unittests" "--suites=dbtest,unittests"
(format #f "--jobs=~a" (parallel-job-count))))))) (format #f "--jobs=~a" (parallel-job-count))))
#t))
(replace 'install (replace 'install
(lambda _ (lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref %outputs "out") "/bin"))) (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(install-file "mongod" bin) (install-file "mongod" bin)
(install-file "mongos" bin) (install-file "mongos" bin)
(install-file "mongo" bin)) (install-file "mongo" bin))
@ -621,7 +621,7 @@ Language.")
(define-public mariadb (define-public mariadb
(package (package
(name "mariadb") (name "mariadb")
(version "10.1.36") (version "10.1.37")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://downloads.mariadb.org/f/" (uri (string-append "https://downloads.mariadb.org/f/"
@ -629,7 +629,7 @@ Language.")
name "-" version ".tar.gz")) name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0n5aj76mn9rxc21l2kjmfrg10bmsyy4cic68khjr94iby262wx5d")) "0ijdmdn9mcciwv361zfmja6b1h6qpbdqgrnnq6kkdapplyq1dmcc"))
(patches (search-patches "mariadb-client-test-32bit.patch")) (patches (search-patches "mariadb-client-test-32bit.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
@ -804,14 +804,14 @@ as a drop-in replacement of MySQL.")
(define-public postgresql (define-public postgresql
(package (package
(name "postgresql") (name "postgresql")
(version "10.5") (version "10.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"04a07jkvc5s6zgh6jr78149kcjmsxclizsqabjw44ld4j5n633kc")))) "0jv26y3f10svrjxzsgqxg956c86b664azyk2wppzpa5x11pjga38"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--with-uuid=e2fs") `(#:configure-flags '("--with-uuid=e2fs")
@ -849,14 +849,14 @@ pictures, sounds, or video.")
(package (package
(inherit postgresql) (inherit postgresql)
(name "postgresql") (name "postgresql")
(version "9.6.9") (version "9.6.11")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v" (uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2")) version "/postgresql-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0biy8j69dbvdmrag55pdszpc0702agzqhhcwdx21xp02mzim4ydr")))))) "0c55akrkzqd6p6a8hr0338wk246hl76r9j16p4zn3s51d7f0l99q"))))))
(define-public python-pymysql (define-public python-pymysql
(package (package
@ -989,15 +989,16 @@ types are supported, as is encryption.")
(define-public rocksdb (define-public rocksdb
(package (package
(name "rocksdb") (name "rocksdb")
(version "5.12.4") (version "5.15.10")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/facebook/rocksdb" (uri (git-reference
"/archive/v" version ".tar.gz")) (url "https://github.com/facebook/rocksdb")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1jcwgsjhk4hdfr2wf549blkgb89vwcdb5i2ahhqs6zf3mm20i3bf")) "0q26frbj9pykarcfa0yxgwncxlvsqhjkby0jrbfs1a8srja688r4"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1118,7 +1119,8 @@ data in a single database. RocksDB is partially based on @code{LevelDB}.")
(lambda _ (lambda _
(substitute* "Makefile" (substitute* "Makefile"
(("^gitrev :=.*$") (("^gitrev :=.*$")
(string-append "gitrev = \"v" ,version "\""))))) (string-append "gitrev = \"v" ,version "\"")))
#t))
;; The install phase of the Makefile assumes $PREFIX/usr/local/bin. ;; The install phase of the Makefile assumes $PREFIX/usr/local/bin.
;; This replacement does the same thing, except for using $PREFIX/bin ;; This replacement does the same thing, except for using $PREFIX/bin
;; instead. ;; instead.
@ -1127,14 +1129,13 @@ data in a single database. RocksDB is partially based on @code{LevelDB}.")
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))) (bin (string-append out "/bin")))
(install-file "sparql-query" bin) (install-file "sparql-query" bin)
(system* "ln" "--symbolic" (symlink (string-append bin "/sparql-query")
(string-append bin "/sparql-query") (string-append bin "/sparql-update")))
(string-append bin "/sparql-update"))))) #t))
(replace 'check (replace 'check
(lambda* (#:key make-flags #:allow-other-keys) (lambda* (#:key make-flags #:allow-other-keys)
(and (apply invoke "make" `(,@make-flags "scan-test"))
(zero? (apply system* "make" `(,@make-flags "scan-test"))) (invoke "./scan-test"))))))
(zero? (system "./scan-test"))))))))
(home-page "https://github.com/tialaramex/sparql-query/") (home-page "https://github.com/tialaramex/sparql-query/")
(synopsis "Command-line tool for accessing SPARQL endpoints over HTTP") (synopsis "Command-line tool for accessing SPARQL endpoints over HTTP")
(description "Sparql-query is a command-line tool for accessing SPARQL (description "Sparql-query is a command-line tool for accessing SPARQL
@ -1227,6 +1228,18 @@ is in the public domain.")
((#:configure-flags flags) ((#:configure-flags flags)
`(cons "--enable-fts5" ,flags)))))) `(cons "--enable-fts5" ,flags))))))
;; This is used by Qt.
(define-public sqlite-with-column-metadata
(package (inherit sqlite)
(name "sqlite-with-column-metadata")
(arguments
(substitute-keyword-arguments (package-arguments sqlite)
((#:configure-flags flags)
`(list (string-append "CFLAGS=-O2 -DSQLITE_SECURE_DELETE "
"-DSQLITE_ENABLE_UNLOCK_NOTIFY "
"-DSQLITE_ENABLE_DBSTAT_VTAB "
"-DSQLITE_ENABLE_COLUMN_METADATA")))))))
(define-public tdb (define-public tdb
(package (package
(name "tdb") (name "tdb")
@ -1247,8 +1260,8 @@ is in the public domain.")
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
;; The 'configure' script is a wrapper for Waf and ;; The 'configure' script is a wrapper for Waf and
;; doesn't recognize things like '--enable-fast-install'. ;; doesn't recognize things like '--enable-fast-install'.
(zero? (system* "./configure" (invoke "./configure"
(string-append "--prefix=" out))))))))) (string-append "--prefix=" out))))))))
(native-inputs (native-inputs
`(;; TODO: Build the documentation. `(;; TODO: Build the documentation.
;; ("docbook-xsl" ,docbook-xsl) ;; ("docbook-xsl" ,docbook-xsl)
@ -1967,14 +1980,14 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
(define-public sqlcipher (define-public sqlcipher
(package (package
(name "sqlcipher") (name "sqlcipher")
(version "3.3.1") (version "3.4.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/sqlcipher/" name (uri (string-append "https://github.com/sqlcipher/" name
"/archive/v" version ".tar.gz")) "/archive/v" version ".tar.gz"))
(sha256 (sha256
(base32 "1gv58dlbpzrmznly52yqbxgvii0ib88zr3aszla1bsypwjr6flff")) (base32 "1nxarwbci8jx99f1d0y1ivxcv25s78l1p7q6qy28lkpkcx8pm2b9"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
@ -1997,8 +2010,7 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
(assoc-ref %standard-phases 'check)) (assoc-ref %standard-phases 'check))
(replace 'check (replace 'check
(lambda _ (lambda _
(zero? (invoke "./testfixture" "test/crypto.test"))))))
(system* "./testfixture" "test/crypto.test")))))))
(home-page "https://www.zetetic.net/sqlcipher/") (home-page "https://www.zetetic.net/sqlcipher/")
(synopsis (synopsis
"Library providing transparent encryption of SQLite database files") "Library providing transparent encryption of SQLite database files")
@ -2075,13 +2087,14 @@ for ODBC.")
(version "0.7.1") (version "0.7.1")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/brianb/mdbtools/archive/" (uri (git-reference
version ".tar.gz")) (url "https://github.com/brianb/mdbtools.git")
(commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"05hbmxcq173kzb899gdi3bz2qcc1vi3n1qbbkwpsvrq7ggf11wyw")) "0gwcpp9y09xhs21g7my2fs8ncb8i6ahlyixcx8jd3q97jbzj441l"))))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("glib" ,glib))) `(("glib" ,glib)))
@ -2092,12 +2105,6 @@ for ODBC.")
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("txt2man" ,txt2man) ("txt2man" ,txt2man)
("which" ,which))) ("which" ,which)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
(home-page "http://mdbtools.sourceforge.net/") (home-page "http://mdbtools.sourceforge.net/")
(synopsis "Read Microsoft Access databases") (synopsis "Read Microsoft Access databases")
(description "MDB Tools is a set of tools and applications to read the (description "MDB Tools is a set of tools and applications to read the
@ -2412,14 +2419,14 @@ You might also want to install the following optional dependencies:
(define-public python-alembic (define-public python-alembic
(package (package
(name "python-alembic") (name "python-alembic")
(version "0.9.6") (version "1.0.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "alembic" version)) (uri (pypi-uri "alembic" version))
(sha256 (sha256
(base32 (base32
"0cm73vabrqj92v7a0wwvldj8j7bc7dwv358kvkk7p87gx7mm2a04")))) "0asqz9mwc4w8bsar1icv3ik9jslxrj3gv3yxgmhc6nc6r9qbkg04"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-mock" ,python-mock) `(("python-mock" ,python-mock)
@ -2737,13 +2744,13 @@ reasonable substitute.")
(define-public python-rq (define-public python-rq
(package (package
(name "python-rq") (name "python-rq")
(version "0.7.1") (version "0.12.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "rq" version)) (uri (pypi-uri "rq" version))
(sha256 (sha256
(base32 "0gaq5pnh0zy46r8jvygi0ifbvz3pq6i7xla78ijcgjw0x77qzsdh")))) (base32 "16d8kni57xlnah2hawy4xgw21xrv3f64j5q5shyp3zxx4yd9iibs"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-click" ,python-click) `(("python-click" ,python-click)
@ -2798,7 +2805,7 @@ is designed to have a low barrier to entry.")
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (zero? (system* "py.test"))))))) (lambda _ (invoke "py.test"))))))
(native-inputs (native-inputs
`(("python-pytest" ,python-pytest))) `(("python-pytest" ,python-pytest)))
(home-page "https://github.com/andialbrecht/sqlparse") (home-page "https://github.com/andialbrecht/sqlparse")
@ -2861,11 +2868,19 @@ transforms idiomatic python function calls to well-formed SQL queries.")
(delete-file-recursively (delete-file-recursively
"src/github.com/mongodb/mongo-tools/vendor") "src/github.com/mongodb/mongo-tools/vendor")
#t)) #t))
(add-after 'delete-bundled-source-code 'patch-source
(lambda _
;; Remove a redundant argument that causes compilation to fail.
(substitute*
"src/github.com/mongodb/mongo-tools/mongorestore/filepath.go"
(("skipping restore of system.profile collection\", db)")
"skipping restore of system.profile collection\")"))
#t))
;; We don't need to install the source code for end-user applications ;; We don't need to install the source code for end-user applications
(delete 'install-source) (delete 'install-source)
(replace 'build (replace 'build
(lambda _ (lambda _
(every (lambda (tool) (for-each (lambda (tool)
(let ((command (let ((command
`("go" "build" `("go" "build"
;; This is where the tests expect to find the ;; This is where the tests expect to find the
@ -2883,23 +2898,28 @@ transforms idiomatic python function calls to well-formed SQL queries.")
(simple-format #t "build: running ~A\n" (simple-format #t "build: running ~A\n"
(string-join command)) (string-join command))
(apply invoke command))) (apply invoke command)))
all-tools))) all-tools)
#t))
(replace 'check (replace 'check
(lambda _ (lambda _
(with-directory-excursion "src" (with-directory-excursion "src"
(every (lambda (tool) (for-each (lambda (tool)
(invoke (invoke
"go" "test" "-v" "go" "test" "-v"
(string-append "github.com/mongodb/mongo-tools/" tool))) (string-append "github.com/mongodb/mongo-tools/"
all-tools)))) tool)))
all-tools))
#t))
(replace 'install (replace 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(for-each (lambda (tool) (for-each (lambda (tool)
(install-file (install-file
(string-append "src/github.com/mongodb/mongo-tools/bin/" tool) (string-append "src/github.com/mongodb/mongo-tools/bin/"
tool)
(string-append (assoc-ref outputs "out") (string-append (assoc-ref outputs "out")
"/bin"))) "/bin")))
all-tools))))))) all-tools)
#t))))))
(native-inputs (native-inputs
`(("go-github.com-howeyc-gopass" ,go-github.com-howeyc-gopass) `(("go-github.com-howeyc-gopass" ,go-github.com-howeyc-gopass)
("go-github.com-jessevdk-go-flags" ,go-github.com-jessevdk-go-flags) ("go-github.com-jessevdk-go-flags" ,go-github.com-jessevdk-go-flags)

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -48,6 +49,29 @@ binary trees, binary search trees, red-black trees, 2D arrays, permutations
and heaps.") and heaps.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public marisa
(package
(name "marisa")
(version "0.2.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/s-yata/marisa-trie"
"/releases/download/v" version "/" name "-"
version ".tar.gz"))
(sha256
(base32 "19ifrcmnbr9whaaf4ly3s9ndyiq9sjqhnfkrxbz9zsb44w2n36hf"))))
(build-system gnu-build-system)
(home-page "https://github.com/s-yata/marisa-trie")
(synopsis "Trie data structure C++ library")
(description "Matching Algorithm with Recursively Implemented
StorAge (MARISA) is a static and space-efficient trie data structure C++
library.")
;; Dual-licensed, according to docs/readme.en.html (source files lack
;; copyright/license headers.)
(license (list license:bsd-2 license:lgpl2.1+))))
(define-public sparsehash (define-public sparsehash
(package (package
(name "sparsehash") (name "sparsehash")

View file

@ -30,13 +30,13 @@
(define-public radicale (define-public radicale
(package (package
(name "radicale") (name "radicale")
(version "1.1.2") (version "1.1.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "Radicale" version)) (uri (pypi-uri "Radicale" version))
(sha256 (sha256
(base32 (base32
"1g20p3998f46ywda7swv0py63wjbrhvk0nrafajlbb6wgzxjmqpb")))) "0ay90nj6fmr2aq8imi0mbjl4m2rzq7a83ikj8qs9gxsylj71j1y0"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:tests? #f)) ; The tests are not distributed in the PyPi release. '(#:tests? #f)) ; The tests are not distributed in the PyPi release.

View file

@ -27,21 +27,22 @@
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages perl) #:use-module (gnu packages perl))
#:use-module (gnu packages wget))
(define-public debian-archive-keyring (define-public debian-archive-keyring
(package (package
(name "debian-archive-keyring") (name "debian-archive-keyring")
(version "2017.7") (version "2018.1")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "mirror://debian/pool/main/d/" name "/" (uri (git-reference
name "_" version ".tar.xz")) (url "https://salsa.debian.org/release-team/debian-archive-keyring.git")
(commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1pdwgipfi0y4svhxlw8arhq792f1g3vlmw4raphizy7sa65vd4ca")))) "136vr5dj7w0dz563qdghsndcfcqm2m8d4j1dyiq9dzx5vd0rcpcw"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:test-target "verify-results" '(#:test-target "verify-results"
@ -116,7 +117,7 @@ contains the archive keys used for that.")
(define-public debootstrap (define-public debootstrap
(package (package
(name "debootstrap") (name "debootstrap")
(version "1.0.106") (version "1.0.111")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -126,7 +127,7 @@ contains the archive keys used for that.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1fm5bgllcwgwizrqi4sn8p4fpbzhbzgwprrfppfq9hqdzbmlfmnv")))) "1b8s00a2kvaajqhjlms3q2dk3gqv6g4yq9h843jal1pm66zsx19n"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -135,46 +136,57 @@ contains the archive keys used for that.")
(add-after 'unpack 'patch-source (add-after 'unpack 'patch-source
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")) (let ((out (assoc-ref outputs "out"))
(coreutils (assoc-ref inputs "coreutils")) (tzdata (assoc-ref inputs "tzdata"))
(wget (assoc-ref inputs "wget"))
(debian (assoc-ref inputs "debian-keyring")) (debian (assoc-ref inputs "debian-keyring"))
(ubuntu (assoc-ref inputs "ubuntu-keyring"))) (ubuntu (assoc-ref inputs "ubuntu-keyring")))
(substitute* "Makefile" (substitute* "Makefile"
(("/usr") "") (("/usr") "")
(("-o root -g root") "") (("-o root -g root") "")
(("chown root.*") "\n")) (("chown root.*") "\n"))
(substitute* "scripts/sid" (substitute* '("scripts/etch"
"scripts/potato"
"scripts/sarge"
"scripts/sid"
"scripts/woody"
"scripts/woody.buildd")
(("/usr") debian)) (("/usr") debian))
(substitute* "scripts/gutsy" (substitute* "scripts/gutsy"
(("/usr") ubuntu)) (("/usr") ubuntu))
(substitute* "debootstrap" (substitute* "debootstrap"
(("chroot ") (string-append coreutils "/bin/chroot "))
(("=/usr") (string-append "=" out))) (("=/usr") (string-append "=" out)))
(substitute* "functions" (substitute* (find-files "scripts" ".")
(("wget ") (string-append wget "/bin/wget "))) (("/usr/share/zoneinfo") (string-append tzdata "/share/zoneinfo")))
#t))) #t)))
(add-after 'install 'install-man-file (add-after 'install 'install-man-file
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))) (let ((out (assoc-ref outputs "out")))
(install-file "debootstrap.8" (install-file "debootstrap.8"
(string-append out "/share/man/man8")) (string-append out "/share/man/man8"))
#t)))
(add-after 'install 'wrap-executable
(lambda* (#:key outputs #:allow-other-keys)
(let ((debootstrap (string-append (assoc-ref outputs "out")
"/sbin/debootstrap"))
(path (getenv "PATH")))
(wrap-program debootstrap
`("PATH" ":" prefix (,path)))
#t)))) #t))))
#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))) #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
#:tests? #f)) ; no tests #:tests? #f)) ; no tests
(inputs (inputs
`(("coreutils" ,coreutils) `(("debian-keyring" ,debian-archive-keyring)
("debian-keyring" ,debian-archive-keyring)
("ubuntu-keyring" ,ubuntu-keyring) ("ubuntu-keyring" ,ubuntu-keyring)
("wget" ,wget))) ("tzdata" ,tzdata)))
;; The following are required for debootstrap to work correctly (native-inputs
(propagated-inputs `(("perl" ,perl)))
`(("binutils" ,binutils)
("gnupg" ,gnupg)
("perl" ,perl)))
(home-page "https://tracker.debian.org/pkg/debootstrap") (home-page "https://tracker.debian.org/pkg/debootstrap")
(synopsis "Bootstrap a basic Debian system") (synopsis "Bootstrap a basic Debian system")
(description "Debootstrap is used to create a Debian base system from (description "Debootstrap is used to create a Debian base system from
scratch, without requiring the availability of @code{dpkg} or @code{apt}. scratch, without requiring the availability of @code{dpkg} or @code{apt}.
It does this by downloading .deb files from a mirror site, and carefully It does this by downloading .deb files from a mirror site, and carefully
unpacking them into a directory which can eventually be chrooted into.") unpacking them into a directory which can eventually be chrooted into.
It is recommended to run @code{debootstrap --foreign --arch=...} and then
@code{chroot} into the directory, set the PATH and run @code{debootstrap
--second-stage} after.")
(license license:gpl2))) (license license:gpl2)))

View file

@ -5,6 +5,7 @@
;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -22,22 +23,29 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages dictionaries) (define-module (gnu packages dictionaries)
#:use-module (guix licenses) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages emacs) #:use-module (gnu packages emacs)
#:use-module (gnu packages flex)
#:use-module (gnu packages fribidi) #:use-module (gnu packages fribidi)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages tcl)) #:use-module (gnu packages tcl)
#:use-module (gnu packages xml))
(define-public vera (define-public vera
@ -87,7 +95,7 @@
(description (description
"V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing "V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing
acronyms distributed as an info document.") acronyms distributed as an info document.")
(license fdl1.3+))) (license license:fdl1.3+)))
(define-public gcide (define-public gcide
(package (package
@ -125,7 +133,7 @@ acronyms distributed as an info document.")
be used via the GNU Dico program or accessed online at be used via the GNU Dico program or accessed online at
http://gcide.gnu.org.ua/") http://gcide.gnu.org.ua/")
(home-page "http://gcide.gnu.org.ua/") (home-page "http://gcide.gnu.org.ua/")
(license gpl3+))) (license license:gpl3+)))
(define-public diction (define-public diction
;; Not quite a dictionary, not quite a spell checker either… ;; Not quite a dictionary, not quite a spell checker either…
@ -147,7 +155,7 @@ Diction is used to identify wordy and commonly misused phrases in a
body of text. Style instead analyzes surface aspects of a written body of text. Style instead analyzes surface aspects of a written
work, such as sentence length and other readability measures.") work, such as sentence length and other readability measures.")
(home-page "https://www.gnu.org/software/diction/") (home-page "https://www.gnu.org/software/diction/")
(license gpl3+))) (license license:gpl3+)))
(define-public ding (define-public ding
(package (package
@ -207,7 +215,7 @@ work, such as sentence length and other readability measures.")
(description "Ding is a dictionary lookup program for the X window system. (description "Ding is a dictionary lookup program for the X window system.
It comes with a German-English dictionary with approximately 270,000 entries.") It comes with a German-English dictionary with approximately 270,000 entries.")
(home-page "http://www-user.tu-chemnitz.de/~fri/ding/") (home-page "http://www-user.tu-chemnitz.de/~fri/ding/")
(license gpl2+))) (license license:gpl2+)))
(define-public grammalecte (define-public grammalecte
(package (package
@ -222,7 +230,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
(base32 (base32
"11byjs3ggdhia5f4vyfqfvbbczsfqimll98h98g7hlsrm7vrifb0")))) "11byjs3ggdhia5f4vyfqfvbbczsfqimll98h98g7hlsrm7vrifb0"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "https://www.dicollecte.org") (home-page "https://grammalecte.net")
(synopsis "French spelling and grammar checker") (synopsis "French spelling and grammar checker")
(description "Grammalecte is a grammar checker dedicated to the French (description "Grammalecte is a grammar checker dedicated to the French
language, derived from Lightproof. language, derived from Lightproof.
@ -234,7 +242,7 @@ a dubious expression is wrong, it will keep silent.
The package provides the command line interface, along with a server The package provides the command line interface, along with a server
and a Python library.") and a Python library.")
(license gpl3+))) (license license:gpl3+)))
(define-public translate-shell (define-public translate-shell
(package (package
@ -283,4 +291,87 @@ and a Python library.")
translator powered by Google Translate (default), Bing Translator, translator powered by Google Translate (default), Bing Translator,
Yandex.Translate and Apertium. It gives you easy access to one of these Yandex.Translate and Apertium. It gives you easy access to one of these
translation engines from your terminal.") translation engines from your terminal.")
(license public-domain))) (license license:public-domain)))
(define-public lttoolbox
(package
(name "lttoolbox")
(version "3.5.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/apertium/lttoolbox/releases/download/v"
version "/lttoolbox-" version ".tar.gz"))
(sha256
(base32
"08y6pf1hl7prwygy1g8h6ndqww18pmb9f3r5988q0pcrp8w6xz6b"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(inputs
`(("libxml2" ,libxml2)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://wiki.apertium.org/wiki/Lttoolbox")
(synopsis "Lexical processing toolbox")
(description "Lttoolbox is a toolbox for lexical processing, morphological
analysis and generation of words. Analysis is the process of splitting a
word (e.g. cats) into its lemma \"cat\" and the grammatical information
@code{<n><pl>}. Generation is the opposite process.")
(license (list license:gpl2 ; main license
license:expat)))) ; utf8/*
(define-public apertium
(package
(name "apertium")
(version "3.5.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/apertium/apertium/releases/download/v"
version "/apertium-" version ".tar.gz"))
(sha256
(base32
"0lrx58ipx2kzh1pd3xm1viz05dqyrq38jbnj9dnk92c9ckkwkp4h"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(inputs
`(("libxml2" ,libxml2)
("libxslt" ,libxslt)
("lttoolbox" ,lttoolbox)
("pcre" ,pcre)))
(native-inputs
`(("apertium-get"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/apertium/apertium-get")
(commit "692d030e68008fc123089cf2446070fe8c6e3a3b")))
(sha256
(base32
"0kgp68azvds7yjwfz57z8sa5094fyk5yr0qxzblrw7bisrrihnav"))))
("flex" ,flex)
("pkg-config" ,pkg-config)
;; python is only required for running the test suite
("python-minimal" ,python-minimal)))
(arguments
`(#:phases
(modify-phases %standard-phases
;; If apertium-get does not exist in the source tree, the build tries
;; to download it using an svn checkout. To avoid this, copy
;; apertium-get into the source tree.
(add-after 'unpack 'unpack-apertium-get
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "apertium-get")
"apertium/apertium-get")
#t)))))
(home-page "https://www.apertium.org/")
(synopsis "Rule based machine translation system")
(description "Apertium is a rule based machine translation system
featuring a shallow-transfer machine translation engine. The design of the
system makes translations fast (translating tens of thousands of words per
second on ordinary desktop computers) and, in spite of the errors, reasonably
intelligible and easily correctable.")
(license (list license:gpl2 ; main license
license:expat)))) ; utf8/*

View file

@ -37,13 +37,13 @@
(define-public python-django (define-public python-django
(package (package
(name "python-django") (name "python-django")
(version "1.11.15") (version "1.11.17")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "Django" version)) (uri (pypi-uri "Django" version))
(sha256 (sha256
(base32 (base32
"0h2sl02x2mxr3rl3dy750pzm5kvmx77116fys8rrgw164kc3b0mi")))) "10xlpm21ll8mgz5py41sz9vrd603qv7an736agbqxkxlyikfx1x7"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
'(#:modules ((srfi srfi-1) '(#:modules ((srfi srfi-1)
@ -265,6 +265,41 @@ account authentication.")
(define-public python2-django-allauth (define-public python2-django-allauth
(package-with-python2 python-django-allauth)) (package-with-python2 python-django-allauth))
(define-public python-django-debug-toolbar
(package
(name "python-django-debug-toolbar")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/jazzband/django-debug-toolbar/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1rww056hyzks8spbgf4h7kf6ybxlc5p08a2b6gn1nqrrzs4yx9sy"))))
(build-system python-build-system)
(propagated-inputs
`(("python-sqlparse" ,python-sqlparse)
("python-django" ,python-django)))
(native-inputs
`(("python-django-jinja" ,python-django-jinja)
("python-html5lib" ,python-html5lib)))
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "make" "test"))))))
(home-page
"https://github.com/jazzband/django-debug-toolbar")
(synopsis "Toolbar to help with developing Django applications")
(description
"A configurable set of panels that display information about the current
request and response as a toolbar on the rendered page.")
(license license:bsd-3)))
(define-public python-django-gravatar2 (define-public python-django-gravatar2
(package (package
(name "python-django-gravatar2") (name "python-django-gravatar2")
@ -338,6 +373,47 @@ merging, minifying and compiling CSS and Javascript files.")
(define-public python2-django-assets (define-public python2-django-assets
(package-with-python2 python-django-assets)) (package-with-python2 python-django-assets))
(define-public python-django-jinja
(package
(name "python-django-jinja")
(version "2.4.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/niwinz/django-jinja/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0bzrb4m6wx9ph5cpvz7wpvg5k6ksvj0dnxlg0nhhqskhvp46brs1"))))
(build-system python-build-system)
(propagated-inputs
`(("python-django" ,python-django)
("python-jinja2" ,python-jinja2)
("python-pytz" ,python-pytz)
("python-django-pipeline" ,python-django-pipeline)))
(arguments
'(;; TODO Tests currently fail due to issues with the configuration for
;; django-pipeline
#:tests? #f
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(or
(not tests?)
(with-directory-excursion "testing"
(invoke "python" "runtests.py"))))))))
(home-page
"https://niwinz.github.io/django-jinja/latest/")
(synopsis "Simple jinja2 templating backend for Django")
(description
"This package provides a templating backend for Django, using Jinja2. It
provides certain advantages over the builtin Jinja2 backend in Django, for
example, explicit calls to callables from templates and better performance.")
(license license:bsd-3)))
(define-public python-django-jsonfield (define-public python-django-jsonfield
(package (package
(name "python-django-jsonfield") (name "python-django-jsonfield")
@ -518,6 +594,46 @@ project.")
(define-public python2-django-overextends (define-public python2-django-overextends
(package-with-python2 python-django-overextends)) (package-with-python2 python-django-overextends))
(define-public python-django-pipeline
(package
(name "python-django-pipeline")
(version "1.6.14")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django-pipeline" version))
(sha256
(base32
"1a207y71r7za033ira0qmh2yrgp5rq0l04gw2fg9b8jri7sslrzg"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda _
(substitute* "tests/tests/test_compiler.py"
(("\\/usr\\/bin\\/env")
(which "env")))))
(replace 'check
(lambda*(#:key tests? #:allow-other-keys)
(or
(not tests?)
(begin
(setenv "DJANGO_SETTINGS_MODULE" "tests.settings")
(invoke "django-admin" "test" "tests"))))))))
(propagated-inputs
`(("python-django" ,python-django)
("python-slimit" ,python-slimit)
("python-jsmin" ,python-jsmin)))
(home-page
"https://github.com/jazzband/django-pipeline")
(synopsis "Asset packaging library for Django")
(description
"Pipeline is an asset packaging library for Django, providing both CSS
and JavaScript concatenation and compression, built-in JavaScript template
support, and optional data-URI image and font embedding.")
(license license:expat)))
(define-public python-django-redis (define-public python-django-redis
(package (package
(name "python-django-redis") (name "python-django-redis")

View file

@ -58,6 +58,7 @@
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)) #:use-module (guix build-system trivial))
@ -65,7 +66,7 @@
(define-public dnsmasq (define-public dnsmasq
(package (package
(name "dnsmasq") (name "dnsmasq")
(version "2.79") (version "2.80")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -73,7 +74,7 @@
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"07w6cw706yyahwvbvslhkrbjf2ynv567cgy9pal8bz8lrbsp9bbq")))) "1fv3g8vikj3sn37x1j6qsywn09w1jipvlv34j3q5qrljbrwa5ayd"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -363,7 +364,7 @@ to result in system-wide compromise.")
(define-public unbound (define-public unbound
(package (package
(name "unbound") (name "unbound")
(version "1.8.0") (version "1.8.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -371,7 +372,7 @@ to result in system-wide compromise.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0gxqc4ynd2g1a5dwaazqh9n8injh49a7dz0l9bbxqgv47dnrvxvq")))) "0p9w6spar5dfi7fplxjcq4394wldabaws0ns30cqq6sxqfwv6qn3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "python")) (outputs '("out" "python"))
(native-inputs (native-inputs
@ -569,14 +570,14 @@ Extensions} (DNSSEC).")
(define-public knot (define-public knot
(package (package
(name "knot") (name "knot")
(version "2.7.2") (version "2.7.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://secure.nic.cz/files/knot-dns/" (uri (string-append "https://secure.nic.cz/files/knot-dns/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0cc4wgb02ch09x99a1fnr7vsdik8k920q7jafzcamjvy3kpb4w6b")) "1pwjcv7hzhqawisibybma160k77a6f1v94xw6ay9c7j49vrw05w7"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -727,3 +728,56 @@ The client supports both dynamic and (near) static services, as well as MX
record and alternative name management. It caches the address, and only record and alternative name management. It caches the address, and only
attempts the update when it has changed.") attempts the update when it has changed.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public hnsd
;; There have been no releases yet, hence this commit.
(let ((revision "0")
(commit "895d89c25d316d18df9d374fe78aae3902bc89fb"))
(package
(name "hnsd")
(version (git-version "0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/handshake-org/hnsd")
(commit commit)))
(sha256
(base32
"0704y73sddn24jga9csw4gxyfb3pnrfnk0vdcph84n1h38490l16"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete the bundled copy of libuv.
(delete-file-recursively "uv")
(substitute* "configure.ac"
(("AC_CONFIG_SUBDIRS\\(\\[uv\\]\\)") ""))
(substitute* "Makefile.am"
(("SUBDIRS = uv") "\n")
(("\\$\\(top_builddir\\)/uv/libuv.la") "-luv")
;; Make sure the 'hnsd' binary is installed and
;; dynamically-linked.
(("noinst_PROGRAMS") "bin_PROGRAMS")
(("hnsd_LDFLAGS = -static") ""))
;; This script tries to chdir to "uv" and doesn't do more
;; than "autoreconf" so remove it.
(delete-file "autogen.sh")
#t))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static"))) ;no need for libhsk.a
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(inputs
`(("unbound" ,unbound)
("libuv" ,libuv)))
(home-page "https://www.handshake.org/")
(synopsis "Resolver daemon for the Handshake naming protocol")
(description
"@command{hnsd} is a @dfn{host name resolver} for the Handshake Naming
System (HNS) peer-to-peer network.")
(license license:expat))))

121
gnu/packages/easyrpg.scm Normal file
View file

@ -0,0 +1,121 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.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 packages easyrpg)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages audio)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gtk)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages mp3)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages sdl)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml))
(define-public liblcf
(package
(name "liblcf")
(version "0.5.4")
(source (origin
(method url-fetch)
(uri (string-append
"https://easyrpg.org/downloads/player/" version
"/liblcf-" version ".tar.gz"))
(sha256
(base32
"1k99bcw5c23801jk3mbz5sj5h18x46w1qxrkknhwhfgqzpvxhwrs"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
;; Required by 'liblcf.pc'.
`(("expat" ,expat)
("icu" ,icu4c)))
(home-page "https://easyrpg.org/")
(synopsis "Library to handle RPG Maker 2000 and 2003 game data")
(description
"@code{liblcf} is a library to handle RPG Maker 2000 and 2003 game data.
It can read and write LCF and XML files.")
;; It includes a copy of Boost Preprocessor Cat and Stringize (boost-1.0):
;; src/boost/preprocessor/config.hpp
;; src/boost/preprocessor/cat.hpp
;; src/boost/preprocessor/stringize.hpp
;; and a copy of inih (bsd-3):
;; src/ini.h
;; src/ini.cpp
;; src/inireader.h
;; src/inireader.cpp
;; TODO: Unbundle them.
(license license:expat)))
(define-public easyrpg-player
(package
(name "easyrpg-player")
(version "0.5.4")
(source (origin
(method url-fetch)
(uri (string-append
"https://easyrpg.org/downloads/player/" version
"/easyrpg-player-" version ".tar.gz"))
(sha256
(base32
"0w0idr61slg5828j1q31c1kh1h0ryp8psc006y06jph5pp3qgm48"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(list (string-append "--with-bash-completion-dir="
%output "/etc/bash_completion.d/"))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("freetype" ,freetype)
("harfbuzz" ,harfbuzz)
("liblcf" ,liblcf)
("libpng" ,libpng)
("libsndfile" ,libsndfile)
("libvorbis" ,libvorbis)
("libxmp" ,libxmp)
("mpg123" ,mpg123)
("opusfile" ,opusfile)
("pixman" ,pixman)
("sdl2-mixer" ,sdl2-mixer)
("sdl2" ,sdl2)
("speexdsp" ,speexdsp)
;; ("wildmidi" ,wildmidi) ; TODO: package it
("zlib" ,zlib)))
(home-page "https://easyrpg.org/")
(synopsis "Play RPG Maker 2000 and 2003 games")
(description
"EasyRPG Player is a game interpreter to play RPG Maker 2000, 2003 and
EasyRPG games. It uses the LCF parser library (liblcf) to read RPG Maker game
data.")
;; It bundles FMMidi YM2608 FM synthesizer emulator (bsd-3):
;; src/midisynth.h
;; src/midisynth.cpp
;; and PicoJSON JSON parser/serializer (bsd-2):
;; src/picojson.h
;; TODO: Unbundle them.
(license license:gpl3+)))

View file

@ -75,7 +75,7 @@
(define-public calibre (define-public calibre
(package (package
(name "calibre") (name "calibre")
(version "3.28.0") (version "3.35.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -84,7 +84,7 @@
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0b3vv03c6m6972sk8zj3zc5sq6b9837irnfgjlqhv9z5i75m0414")) "1gd15wjz4fhcra6d44xiy3hwbyk0miwb66a1pq5yldyy0hlb271z"))
;; Remove non-free or doubtful code, see ;; Remove non-free or doubtful code, see
;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
(modules '((guix build utils))) (modules '((guix build utils)))

View file

@ -243,17 +243,17 @@ easy.")
(define-public snap (define-public snap
(package (package
(name "snap") (name "snap")
(version "4.2.1.4") (version "4.2.2.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/jmoenig/Snap--Build-Your-Own-Blocks.git") (url "https://github.com/jmoenig/Snap.git")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0yc0w0cdhvi0nwqqrann2v3y0n7shxh7irgixqvlavp4k49d7aqj")))) "0bay08yr58qj8wzpjg33gdj78rfhyskfzidknpdl3cr1jrj6i4p9"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -265,7 +265,7 @@ easy.")
(share (string-append out "/share/snap"))) (share (string-append out "/share/snap")))
(copy-recursively source share) (copy-recursively source share)
;; Replace the sole minified file in the package. ;; Replace the sole minified file in the package.
(with-directory-excursion share (with-directory-excursion (string-append share "/src")
(delete-file "FileSaver.min.js") (delete-file "FileSaver.min.js")
(symlink (string-append (assoc-ref %build-inputs "js-filesaver") (symlink (string-append (assoc-ref %build-inputs "js-filesaver")
"/share/javascript/FileSaver.min.js") "/share/javascript/FileSaver.min.js")

View file

@ -123,7 +123,7 @@ as simple logic analyzer and/or oscilloscope hardware.")
(define-public libsigrok (define-public libsigrok
(package (package
(name "libsigrok") (name "libsigrok")
(version "0.5.0") (version "0.5.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -131,19 +131,17 @@ as simple logic analyzer and/or oscilloscope hardware.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"197kr5ip98lxn7rv10zs35d1w0j7265s0xvckx0mq2l8kdvqd32c")))) "171b553dir5gn6w4f7n37waqk62nq2kf1jykx4ifjacdz5xdw3z4"))))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
`(#:tests? #f ; tests need usb access `(#:tests? #f ; tests need USB access
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'change-udev-group (add-before 'configure 'change-udev-group
(lambda _ (lambda _
(let ((file "contrib/z60_libsigrok.rules")) (substitute* (find-files "contrib" "\\.rules$")
(substitute* file
(("plugdev") "dialout")) (("plugdev") "dialout"))
(rename-file file "contrib/60-libsigrok.rules") #t))
#t)))
(add-after 'build 'build-doc (add-after 'build 'build-doc
(lambda _ (lambda _
(invoke "doxygen"))) (invoke "doxygen")))
@ -155,11 +153,12 @@ as simple logic analyzer and/or oscilloscope hardware.")
#t)) #t))
(add-after 'install-doc 'install-udev-rules (add-after 'install-doc 'install-udev-rules
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(install-file "contrib/60-libsigrok.rules" (let* ((out (assoc-ref outputs "out"))
(string-append (rules (string-append out "/lib/udev/rules.d/")))
(assoc-ref outputs "out") (for-each (lambda (file)
"/lib/udev/rules.d/")) (install-file file rules))
#t)) (find-files "contrib" "\\.rules$"))
#t)))
(add-after 'install-udev-rules 'install-fw (add-after 'install-udev-rules 'install-fw
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((fx2lafw (assoc-ref inputs "sigrok-firmware-fx2lafw")) (let* ((fx2lafw (assoc-ref inputs "sigrok-firmware-fx2lafw"))
@ -167,7 +166,6 @@ as simple logic analyzer and/or oscilloscope hardware.")
(dir-suffix "/share/sigrok-firmware/") (dir-suffix "/share/sigrok-firmware/")
(input-dir (string-append fx2lafw dir-suffix)) (input-dir (string-append fx2lafw dir-suffix))
(output-dir (string-append out dir-suffix))) (output-dir (string-append out dir-suffix)))
(mkdir-p output-dir)
(for-each (for-each
(lambda (file) (lambda (file)
(install-file file output-dir)) (install-file file output-dir))
@ -204,7 +202,7 @@ format support.")
(define-public sigrok-cli (define-public sigrok-cli
(package (package
(name "sigrok-cli") (name "sigrok-cli")
(version "0.7.0") (version "0.7.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -212,7 +210,7 @@ format support.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"072ylscp0ppgii1k5j07hhv7dfmni4vyhxnsvxmgqgfyq9ldjsan")))) "15vpn1psriadcbl6v9swwgws7dva85ld03yv6g1mgm27kx11697m"))))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs
@ -228,7 +226,7 @@ format support.")
(define-public pulseview (define-public pulseview
(package (package
(name "pulseview") (name "pulseview")
(version "0.4.0") (version "0.4.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -236,9 +234,20 @@ format support.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1f8f2342d5yam98mmcb8f9g2vslcwv486bmi4x45pxn68l82ky3q")))) "0bvgmkgz37n2bi9niskpl05hf7rsj1lj972fbrgnlz25s4ywxrwy"))))
(build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags '("-DCMAKE_CXX_FLAGS=-fext-numeric-literals"))) `(#:configure-flags '("-DENABLE_TESTS=y")
#:phases
(modify-phases %standard-phases
(add-after 'install 'remove-empty-doc-directory
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion (string-append out "/share")
;; Use RMDIR to never risk silently deleting files.
(rmdir "doc/pulseview")
(rmdir "doc"))
#t))))))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs
@ -249,7 +258,6 @@ format support.")
("libsigrokdecode" ,libsigrokdecode) ("libsigrokdecode" ,libsigrokdecode)
("qtbase" ,qtbase) ("qtbase" ,qtbase)
("qtsvg" ,qtsvg))) ("qtsvg" ,qtsvg)))
(build-system cmake-build-system)
(home-page "https://www.sigrok.org/wiki/PulseView") (home-page "https://www.sigrok.org/wiki/PulseView")
(synopsis "Qt based logic analyzer, oscilloscope and MSO GUI for sigrok") (synopsis "Qt based logic analyzer, oscilloscope and MSO GUI for sigrok")
(description "PulseView is a Qt based logic analyzer, oscilloscope and MSO GUI (description "PulseView is a Qt based logic analyzer, oscilloscope and MSO GUI

View file

@ -95,14 +95,14 @@ Executable and Linkable Format (@dfn{ELF}). This includes @command{ld},
(package (package
(name "libabigail") (name "libabigail")
(home-page "https://sourceware.org/libabigail/") (home-page "https://sourceware.org/libabigail/")
(version "1.4") (version "1.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://sourceware.org/pub/" name (uri (string-append "https://sourceware.org/pub/" name
"/" name "-" version ".tar.gz")) "/" name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"17r8i60lxykvdd9pdidmnvkzgf9k8zman0c1czl3zbx0znhlx497")))) "0srfnkbm386sl2n85686nl28da6ksbs7jgnfks9k0n61c772aas4"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags '("--disable-static" `(#:configure-flags '("--disable-static"

View file

@ -6,7 +6,7 @@
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2016 David Thompson <davet@gnu.org>
@ -40,6 +40,7 @@
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com> ;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de> ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -70,6 +71,7 @@
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages audio) #:use-module (gnu packages audio)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages cmake) #:use-module (gnu packages cmake)
@ -654,6 +656,33 @@ Gitlab APIs from Emacs packages. It abstracts access to API resources using
only a handful of functions that are not resource-specific.") only a handful of functions that are not resource-specific.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-scribble-mode
(let ((commit "34e9e5edb921813b6483e0fefa848efb6ee4b314")
(version "0.0")
(revision 0))
(package
(name "emacs-scribble-mode")
(version (if (zero? revision)
version
(string-append version "-"
(number->string revision)
"." (string-take commit 7))))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-pe/scribble-mode.git")
(commit commit)))
(sha256
(base32
"0598byqpz2q6yi2q4dwd77jj9z3n99z34d3an51s9m2za0nh1qvp"))))
(build-system emacs-build-system)
(home-page "https://github.com/emacs-pe/scribble-mode")
(synopsis "Emacs mode for editing the Scribble documentation syntax.")
(description
"This package provides basic syntax highlighting and editing support
for editing Racket's Scribble documentation syntax in Emacs.")
(license license:gpl3+))))
(define-public emacs-haskell-mode (define-public emacs-haskell-mode
(package (package
(name "emacs-haskell-mode") (name "emacs-haskell-mode")
@ -783,6 +812,29 @@ different tools. It highlights errors and warnings inline in the buffer, and
provides an optional IDE-like error list.") provides an optional IDE-like error list.")
(license license:gpl3+))) ;+GFDLv1.3+ for the manual (license license:gpl3+))) ;+GFDLv1.3+ for the manual
(define-public emacs-a
(package
(name "emacs-a")
(version "0.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/plexus/a.el.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"00v9w6qg3bkwdhypq0ssf0phdh0f4bcq59c20lngd6vhk0204dqi"))))
(build-system emacs-build-system)
(home-page "https://github.com/plexus/a.el/")
(synopsis
"Emacs library for dealing with association lists and hash tables")
(description "@code{emacs-a} provides Emacs Lisp functions for dealing
with associative structures in a uniform and functional way. These functions
can take association lists, hash tables, and in some cases vectors (where the
index is considered the key).")
(license license:gpl3+)))
;;; ;;;
;;; Web browsing. ;;; Web browsing.
@ -929,14 +981,14 @@ provides an optional IDE-like error list.")
(define-public emacs-emms (define-public emacs-emms
(package (package
(name "emacs-emms") (name "emacs-emms")
(version "5.0") (version "5.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/emms/emms-" (uri (string-append "mirror://gnu/emms/emms-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"08f9lj77jlk96grqgjsv63s2i8ywvp4wvnmgmhnslwyx2lsdxza3")) "149ddczyx6x10zn4mn8g0rll1rwf4yciv8x6j0qdnlbwszblx2x6"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1309,7 +1361,7 @@ a set of simplified face specifications and a user-supplied color palette")
(guix build emacs-utils)) (guix build emacs-utils))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'rename-lispdir 'make-autoloads (add-after 'install 'make-autoloads
(assoc-ref emacs:%standard-phases 'make-autoloads))))) (assoc-ref emacs:%standard-phases 'make-autoloads)))))
(home-page "http://howm.osdn.jp/") (home-page "http://howm.osdn.jp/")
(synopsis "Note-taking tool for Emacs") (synopsis "Note-taking tool for Emacs")
@ -1321,7 +1373,7 @@ searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
(define-public emacs-calfw (define-public emacs-calfw
(package (package
(name "emacs-calfw") (name "emacs-calfw")
(version "1.5") (version "1.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1331,7 +1383,7 @@ searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"17ssg8gx66yp63nhygjq2r6kgl4h45cacmrxsxs9f0lrfcx37k0l")))) "1zr91xr0f1xfcv78yxka8vs5ximmq2ixmqf2pkb57kwwnxlypq4i"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-howm" ,emacs-howm))) `(("emacs-howm" ,emacs-howm)))
@ -1423,14 +1475,22 @@ current match, total matches and exit status.
(name "emacs-go-mode") (name "emacs-go-mode")
(version "1.5.0") (version "1.5.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/dominikh/go-mode.el/" (uri (git-reference
"archive/v" version ".tar.gz")) (url "https://github.com/dominikh/go-mode.el.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1adngbjyb8qnwg7n6r2y31djw9j6qf3b9fi63zd85035q7x4ljnm")))) "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'make-writable
(lambda _
(for-each make-file-writable (find-files "." "\\.el$"))
#t)))))
(home-page "https://github.com/dominikh/go-mode.el") (home-page "https://github.com/dominikh/go-mode.el")
(synopsis "Go mode for Emacs") (synopsis "Go mode for Emacs")
(description (description
@ -1565,15 +1625,16 @@ filters, new key bindings and faces. It can be enabled by
(package (package
(name "emacs-pdf-tools") (name "emacs-pdf-tools")
(version "0.80") (version "0.80")
(home-page "https://github.com/politza/pdf-tools")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference (url home-page)
"https://github.com/politza/pdf-tools/archive/v" (commit (string-append "v" version))))
version ".tar.gz")) (file-name (git-file-name name version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"06imydn3a92vr57azpn1zhqc14kxyyslmyi9ldsyphan9b724gb6")))) "1i4647vax5na73basc5dz4lh9kprir00fh8ps4i0l1y3ippnjs2s"))
(patches (search-patches "emacs-pdf-tools-poppler.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; there are no tests `(#:tests? #f ; there are no tests
@ -1598,6 +1659,8 @@ filters, new key bindings and faces. It can be enabled by
(lambda _ (chdir "../lisp") #t)) (lambda _ (chdir "../lisp") #t))
(add-after 'enter-lisp-dir 'emacs-patch-variables (add-after 'enter-lisp-dir 'emacs-patch-variables
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(for-each make-file-writable (find-files "."))
;; Set path to epdfinfo program. ;; Set path to epdfinfo program.
(emacs-substitute-variables "pdf-info.el" (emacs-substitute-variables "pdf-info.el"
("pdf-info-epdfinfo-program" ("pdf-info-epdfinfo-program"
@ -1631,7 +1694,6 @@ filters, new key bindings and faces. It can be enabled by
files. The key difference is that pages are not pre-rendered by files. The key difference is that pages are not pre-rendered by
e.g. ghostscript and stored in the file-system, but rather created on-demand e.g. ghostscript and stored in the file-system, but rather created on-demand
and stored in memory.") and stored in memory.")
(home-page "https://github.com/politza/pdf-tools")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-dash (define-public emacs-dash
@ -2603,14 +2665,14 @@ source code using IPython.")
(define-public emacs-debbugs (define-public emacs-debbugs
(package (package
(name "emacs-debbugs") (name "emacs-debbugs")
(version "0.15") (version "0.16")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/debbugs-" (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar")) version ".tar"))
(sha256 (sha256
(base32 (base32
"1x7jw2ldgkknyxg7x9fhnqkary691icnysmi3xw0g2fjrvllzhqw")))) "0y3bq803c7820h15g66d1648skxfhlfa2v6vincj6xk5ssp44s9p"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$"))) (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
(propagated-inputs (propagated-inputs
@ -2720,7 +2782,7 @@ build jobs.")
(define-public emacs-company (define-public emacs-company
(package (package
(name "emacs-company") (name "emacs-company")
(version "0.9.6") (version "0.9.7")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -2729,7 +2791,7 @@ build jobs.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0a7zvmfvxh9w67myvcj2511ayk0fvkm06cdg38y8khnsx63jrr4k")))) "19flv38f2qhxda8lbk2ckywvibd72vbzmn4hchqz6d8acsknh4sb"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -2760,11 +2822,13 @@ These are distributed in separate files and can be used individually.")
(version "1.2.0") (version "1.2.0")
(home-page "https://github.com/Sarcasm/irony-mode") (home-page "https://github.com/Sarcasm/irony-mode")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append home-page "/archive/v" version ".tar.gz")) (uri (git-reference
(url (string-append home-page ".git"))
(commit (string-append "v" version))))
(sha256 (sha256
(base32 (base32
"1f68zi0glkg2aly66s07rx3w0b0hdi1znxan02h6dbabaadylk99")) "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments '()) (arguments '())
@ -2797,6 +2861,72 @@ described on the homepage.")
(build-system cmake-build-system) (build-system cmake-build-system)
(synopsis "Server for the Emacs @dfn{irony mode}"))) (synopsis "Server for the Emacs @dfn{irony mode}")))
(define-public emacs-company-irony
(package
(name "emacs-company-irony")
(version "1.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Sarcasm/company-irony.git")
(commit (string-append "v" version))))
(sha256 (base32
"1qgyam2vyjw90kpxns5cd6bq3qiqjhzpwrlvmi18vyb69qcgqd8a"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(inputs
`(("emacs-irony-mode" ,emacs-irony-mode)
("emacs-company" ,emacs-company)))
(synopsis "C++ completion backend for Company using irony-mode")
(description "This backend for company-mode allows for C++ code completion
with irony-mode using clang-tooling.")
(home-page "https://github.com/Sarcasm/company-irony")
(license license:gpl3+)))
(define-public emacs-flycheck-irony
(package
(name "emacs-flycheck-irony")
(version "0.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Sarcasm/flycheck-irony.git")
(commit (string-append "v" version))))
(sha256
(base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))
(file-name (string-append name "-" version))))
(build-system emacs-build-system)
(inputs
`(("irony-mode" ,emacs-irony-mode)
("flycheck-mode" ,emacs-flycheck)
("emacs-company" ,emacs-company)))
(synopsis "Live syntax checking frontend for Flycheck using irony-mode")
(description "This package provides a frontend for Flycheck that lets
irony-mode do the syntax checking.")
(home-page "https://github.com/Sarcasm/flycheck-irony")
(license license:gpl3+)))
(define-public emacs-irony-eldoc
(package
(name "emacs-irony-eldoc")
(version (package-version emacs-irony-mode))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ikirill/irony-eldoc.git")
(commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
(sha256 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))
(file-name (string-append name "-" version))))
(build-system emacs-build-system)
(inputs
`(("irony-mode" ,emacs-irony-mode)))
(synopsis "Eldoc integration for irony-mode")
(description "Irony-eldoc is an eldoc extension that shows documentation
for the current function or variable in the minibuffer.")
(home-page "https://github.com/ikirill/irony-eldoc")
(license license:gpl3+)))
(define-public emacs-company-quickhelp (define-public emacs-company-quickhelp
(package (package
(name "emacs-company-quickhelp") (name "emacs-company-quickhelp")
@ -3340,7 +3470,7 @@ organizer.")
(define-public emacs-zenburn-theme (define-public emacs-zenburn-theme
(package (package
(name "emacs-zenburn-theme") (name "emacs-zenburn-theme")
(version "2.5") (version "2.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -3349,7 +3479,7 @@ organizer.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"03kfhzgbbbl8ivpzzky6qxw4j9mmp452m1sk7wikxmcalfnix0gn")))) "0qc9d1rwq55yzh8shbppyd6izy1grpyr8kqh5zdgm7c5jccngpr4"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/bbatsov/zenburn-emacs") (home-page "https://github.com/bbatsov/zenburn-emacs")
(synopsis "Low contrast color theme for Emacs") (synopsis "Low contrast color theme for Emacs")
@ -3631,7 +3761,11 @@ after buffer changes.")
version ".tar")) version ".tar"))
(sha256 (sha256
(base32 (base32
"108wgxg7fb4byaiasgvbxv2hq7b00biq9f0mh9hy6vw4160y5w24")))) "108wgxg7fb4byaiasgvbxv2hq7b00biq9f0mh9hy6vw4160y5w24"))
(patches
;; Patch awaiting inclusion upstream (see:
;; https://github.com/realgud/realgud/pull/226).
(search-patches "emacs-realgud-fix-configure-ac.patch"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:tests? #t `(#:tests? #t
@ -3793,10 +3927,11 @@ expression.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-ivy-yasnippet (define-public emacs-ivy-yasnippet
(let ((commit "59b32cf8cfb63df906822a17f6f5e8545dac38d4")) (let ((commit "32580b4fd23ebf9ca7dde96704f7d53df6e253cd")
(revision "2"))
(package (package
(name "emacs-ivy-yasnippet") (name "emacs-ivy-yasnippet")
(version (git-version "0.1" "1" commit)) (version (git-version "0.1" revision commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -3806,7 +3941,7 @@ expression.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0hghdlxkfwrglvc1nql2ikgp6jj0qdbfwc3yvpb19mrf26hwgp13")))) "1wfg6mmd5gl1qgvayyzpxlkh9s7jgn20y8l1vh1zbj1czvv51xp8"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-ivy" ,emacs-ivy) `(("emacs-ivy" ,emacs-ivy)
@ -3821,6 +3956,31 @@ use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
@code{yas-minor-mode} first).") @code{yas-minor-mode} first).")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-ivy-rich
(package
(name "emacs-ivy-rich")
(version "0.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/Yevgnen/ivy-rich/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"14r3mx5rkd4wz0ls5pv5w6c7la3z9iy93d3jfind3xyg4kywy95c"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)))
(home-page "https://github.com/Yevgnen/ivy-rich")
(synopsis "More friendly interface for @code{ivy}")
(description
"This package extends @code{ivy} by showing more information in the
minibuffer for each candidate. It adds columns showing buffer modes, file
sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
show icons as well.")
(license license:gpl3+)))
(define-public emacs-avy (define-public emacs-avy
(package (package
(name "emacs-avy") (name "emacs-avy")
@ -4284,7 +4444,7 @@ to all the other commands, too.")
(define-public emacs-js2-mode (define-public emacs-js2-mode
(package (package
(name "emacs-js2-mode") (name "emacs-js2-mode")
(version "20150909") (version "20180301")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/mooz/js2-mode/archive/" (uri (string-append "https://github.com/mooz/js2-mode/archive/"
@ -4292,7 +4452,7 @@ to all the other commands, too.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1nsm36c4kwb473p13i58fgrnlk8fbn3rdhj47d9xz70az4ra44q0")))) "13aghgwaqrmbf3pbifcry52kya454wnh1gbdh5805n1n6xgjm5w3"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/mooz/js2-mode/") (home-page "https://github.com/mooz/js2-mode/")
(synopsis "Improved JavaScript editing mode for Emacs") (synopsis "Improved JavaScript editing mode for Emacs")
@ -4639,7 +4799,7 @@ indentation (space indentation only).
(define-public emacs-elpy (define-public emacs-elpy
(package (package
(name "emacs-elpy") (name "emacs-elpy")
(version "1.24.0") (version "1.27.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -4648,7 +4808,7 @@ indentation (space indentation only).
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0rsg8a9nwqfkv0xcs11jzfp10ij7jm0v2ikx19zv2v7awqy0q5wf")))) "1b76y0kzk7s9ya8k9bpsgn31i9l0rxs4iz6lg7snhjgh03k0ssgv"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include) `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
@ -5046,26 +5206,28 @@ target will call @code{compile} on it.")
(define-public emacs-cider (define-public emacs-cider
(package (package
(name "emacs-cider") (name "emacs-cider")
(version "0.15.1") (version "0.18.0")
(source (origin (source
(method url-fetch) (origin
(uri (string-append (method git-fetch)
"https://github.com/clojure-emacs/cider/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/clojure-emacs/cider.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1j5hlmi14ypszv1f9nvq0jjlz7i742flg0ny3055l7i4x089xx6g")))) "1m9kc88vga3q5d731qnpngnsa0n57pf21k3hll20rw8rggrx4vdn"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
'(#:exclude ; Don't exclude 'cider-test.el'. '(#:exclude ; Don't exclude 'cider-test.el'.
'("^\\.dir-locals\\.el$" "^test/"))) '("^\\.dir-locals\\.el$" "^test/")))
(propagated-inputs (propagated-inputs
`(("emacs-clojure-mode" ,emacs-clojure-mode) `(("emacs-clojure-mode" ,emacs-clojure-mode)
("emacs-sesman" ,emacs-sesman)
("emacs-spinner" ,emacs-spinner) ("emacs-spinner" ,emacs-spinner)
("emacs-pkg-info" ,emacs-pkg-info) ("emacs-pkg-info" ,emacs-pkg-info)
("emacs-queue" ,emacs-queue))) ("emacs-queue" ,emacs-queue)))
(home-page "https://cider.readthedocs.org/") (home-page "https://cider.readthedocs.io/")
(synopsis "Clojure development environment for Emacs") (synopsis "Clojure development environment for Emacs")
(description (description
"CIDER (Clojure Interactive Development Environment that Rocks) aims to "CIDER (Clojure Interactive Development Environment that Rocks) aims to
@ -6627,7 +6789,7 @@ It should enable you to implement low-level X11 applications.")
(define-public emacs-exwm (define-public emacs-exwm
(package (package
(name "emacs-exwm") (name "emacs-exwm")
(version "0.20") (version "0.21")
(synopsis "Emacs X window manager") (synopsis "Emacs X window manager")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -6635,7 +6797,7 @@ It should enable you to implement low-level X11 applications.")
version ".tar")) version ".tar"))
(sha256 (sha256
(base32 (base32
"0nhhzbkm0mkj7sd1dy2c19cmn56gyaj9nl8kgy86h4fp63hjaz04")))) "07ng1pgsnc3isfsyzh2gfc7391p9il8lb5xqf1z6yqn20w7k6xzj"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-xelb" ,emacs-xelb))) `(("emacs-xelb" ,emacs-xelb)))
@ -7661,17 +7823,17 @@ value of the access token.")
(define-public emacs-circe (define-public emacs-circe
(package (package
(name "emacs-circe") (name "emacs-circe")
(version "2.6") (version "2.10")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/jorgenschaefer/circe.git") (url "https://github.com/jorgenschaefer/circe.git")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"19h3983zy3f15cgs86irvbdzz55qyjm48qd7gjlzcxplr7vnnh0j")))) "10gi14kwxd81blddpvqh95lgmpbfgp0m955naxix3bs3r6a75n4s"))))
(build-system emacs-build-system) (build-system emacs-build-system)
;; In order to securely connect to an IRC server using TLS, Circe requires ;; In order to securely connect to an IRC server using TLS, Circe requires
;; the GnuTLS binary. ;; the GnuTLS binary.
@ -7685,25 +7847,42 @@ activity in channels in the status bar so it stays out of your way unless you
want to use it.") want to use it.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-tracking
(package
(inherit emacs-circe)
(name "emacs-tracking")
(arguments
;; "tracking.el" is a library extracted from Circe package. It requires
;; "shorten.el".
`(#:include '("^shorten.el$" "^tracking.el$")
#:tests? #f)) ;tests require buttercup
(home-page "https://github.com/jorgenschaefer/circe/wiki/Tracking")
(synopsis "Buffer tracking library")
(description "@code{tracking.el} provides a way for different modes to
notify the user that a buffer needs attention. The user then can cycle
through them using @key{C-c C-SPC}.")
(license license:gpl3+)))
(define-public emacs-slack (define-public emacs-slack
(let ((commit "d90395482d26175ce38fd935e978c428be8af9a0") (let ((commit "99a57501629a0329a9ca090c1ea1296462eda02d")
(revision "4")) (revision "5"))
(package (package
(name "emacs-slack") (name "emacs-slack")
(version (string-append "0-" revision "." (string-take commit 7))) (version (git-version "0.0.2" revision commit))
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/yuya373/emacs-slack.git") (url "https://github.com/yuya373/emacs-slack.git")
(commit commit))) (commit commit)))
(file-name (string-append name "-" version "-checkout")) (file-name (git-file-name name commit))
(sha256 (sha256
(base32 (base32
"14f6wjcbl09cfd3yngr6m1k1d4nr764im666mbnqbk9nmqf50nib")))) "0jw1diypfw8pmzkq0napgxmfc0gqka7zcccgnw359604lr30k2z2"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-alert" ,emacs-alert) `(("emacs-alert" ,emacs-alert)
("emacs-emojify" ,emacs-emojify) ("emacs-emojify" ,emacs-emojify)
("emacs-helm" ,emacs-helm)
("emacs-request" ,emacs-request) ("emacs-request" ,emacs-request)
("emacs-websocket" ,emacs-websocket) ("emacs-websocket" ,emacs-websocket)
("emacs-oauth2" ,emacs-oauth2) ("emacs-oauth2" ,emacs-oauth2)
@ -7818,21 +7997,18 @@ contexts.
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-polymode (define-public emacs-polymode
;; There hasn't been a proper release.
(let ((commit "0340f5e7e55235832e59673f027cc79a23cbdcd6")
(revision "1"))
(package (package
(name "emacs-polymode") (name "emacs-polymode")
(version (string-append "1.0-" revision "." (string-take commit 7))) (version "0.1.5")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/vspinu/polymode.git") (url "https://github.com/vspinu/polymode.git")
(commit commit))) (commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"057cybkq3cy07n5s332k071sjiky3mziy003lza4rh75mgqkwhmh")))) "0wwphs54jx48a3ca6x1qaz56j3j9bg4mv8g2akkffrzbdcb8sbc7"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:include (cons* "^modes/.*\\.el$" %default-include) `(#:include (cons* "^modes/.*\\.el$" %default-include)
@ -7850,6 +8026,35 @@ for multiple major modes inside a single Emacs buffer. It is lightweight,
object oriented and highly extensible. Creating a new polymode typically object oriented and highly extensible. Creating a new polymode typically
takes only a few lines of code. Polymode also provides extensible facilities takes only a few lines of code. Polymode also provides extensible facilities
for external literate programming tools for exporting, weaving and tangling.") for external literate programming tools for exporting, weaving and tangling.")
(license license:gpl3+)))
(define-public emacs-polymode-ansible
(let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
(package
(name "emacs-polymode-ansible")
;; No upstream version release yet.
(version (git-version "0.1" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/mavit/poly-ansible")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ansible-doc" ,emacs-ansible-doc)
("emacs-jinja2-mode" ,emacs-jinja2-mode)
("emacs-polymode" ,emacs-polymode)
("emacs-yaml-mode" ,emacs-yaml-mode)))
(properties '((upstream-name . "poly-ansible")))
(home-page "https://gitlab.com/mavit/poly-ansible/")
(synopsis "Polymode for Ansible - Jinja2 in YAML")
(description
"Edit YAML files for Ansible containing embedded Jinja2 templating.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public eless (define-public eless
@ -8173,7 +8378,7 @@ the format.")
(define-public emacs-nov-el (define-public emacs-nov-el
(package (package
(name "emacs-nov-el") (name "emacs-nov-el")
(version "0.2.2") (version "0.2.6")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -8182,7 +8387,7 @@ the format.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"03s0qjvwk1f7y3i4wh2p5y3z4hdv00adgz8za3vphzc0q8i1kjzb")))) "188h5gzn1zf443g0b7q5bpmvvpr6ds5h8aci8vxc92py56rhyrvc"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -11358,7 +11563,7 @@ the GIF result.")
(define-public emacs-google-translate (define-public emacs-google-translate
(package (package
(name "emacs-google-translate") (name "emacs-google-translate")
(version "0.11.15") (version "0.11.16")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -11367,7 +11572,7 @@ the GIF result.")
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1zxvfagbaf5mxi528mz33c8vxdk86wj0xx5y2jfy97wi8dzrwn3g")))) "01n9spj1d0gjfj39x526rl3m9c28wnx9afipmf5s8y77cx3mfwhl"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/atykhonov/google-translate") (home-page "https://github.com/atykhonov/google-translate")
(synopsis "Emacs interface to Google Translate") (synopsis "Emacs interface to Google Translate")
@ -11377,10 +11582,10 @@ on-line service.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-helm-company (define-public emacs-helm-company
(let ((commit "acc9c7901e094c1591327a0db1ec7a439f67a84d")) (let ((commit "d3fc093a0e833b4dee6561c00d6df3d62aa50f3f"))
(package (package
(name "emacs-helm-company") (name "emacs-helm-company")
(version (git-version "0.2.2" "1" commit)) (version (git-version "0.2.3" "1" commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -11390,7 +11595,7 @@ on-line service.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1d4q9clp0q56br80c21a4wz1gc4jw3mdy97z9mq07x9i8rhlppzs")))) "1ciirsanhajdqm5iwl8k9ywf4jha1wdv4sc4d9kslyrfr9zn4q6k"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-helm" ,emacs-helm) `(("emacs-helm" ,emacs-helm)
@ -11678,8 +11883,8 @@ file.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-picpocket (define-public emacs-picpocket
(let ((version "20180610.1059") ; taken from melpa (let ((version "40")
(commit "ce4b6ed088384f2414af82e8e4eae5b92c2874bf")) (commit "6fd88b8711c4370662c0f9c462170187d092a046"))
(package (package
(name "emacs-picpocket") (name "emacs-picpocket")
(version version) (version version)
@ -11691,7 +11896,7 @@ file.")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "15vpbcv83mc4j1pvrk7xic0klh2bl9gzg2xxs7c2lmnix52hy8mv")))) (base32 "1mdzzxf7xm7zwrpnqqxa27d1cr31pd72d7ilbwljv13qp177a3yw"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments ; needed for running tests (arguments ; needed for running tests
`(#:tests? #t `(#:tests? #t
@ -11719,10 +11924,10 @@ file.")
(deprecated-package "emacs-wgrep-helm" emacs-wgrep)) (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
(define-public emacs-mu4e-conversation (define-public emacs-mu4e-conversation
(let ((commit "223cc66e99c7665326e3d991d6d383cb0d7512bb")) (let ((commit "e7d4bfcb0d392b0aed1f705ccac2419a168d1f5e"))
(package (package
(name "emacs-mu4e-conversation") (name "emacs-mu4e-conversation")
(version (git-version "20180722" "2" commit)) (version (git-version "20181126" "4" commit))
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -11733,7 +11938,7 @@ file.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"1ivy7pihhma465hi25p1y45dyi8h52nsm2m0cvizj5sw36jw0n81")))) "0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("mu" ,mu))) `(("mu" ,mu)))
@ -11985,7 +12190,7 @@ was called.")
(define-public emacs-dired-du (define-public emacs-dired-du
(package (package
(name "emacs-dired-du") (name "emacs-dired-du")
(version "0.5") (version "0.5.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -11994,7 +12199,7 @@ was called.")
version ".tar")) version ".tar"))
(sha256 (sha256
(base32 (base32
"09yj37p2fa5f81fqrzwghjkyy2ydsf4rbkfwpn2yyvzd5nd97bpl")))) "1091scnrjh0a4gja4z6jxic6ghy1yryv46qk9c76pmh50cpw6766"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "http://elpa.gnu.org/packages/dired-du.html") (home-page "http://elpa.gnu.org/packages/dired-du.html")
(synopsis "Dired with recursive directory sizes") (synopsis "Dired with recursive directory sizes")
@ -12386,3 +12591,169 @@ have special meaning. It is also handy for aligning text across long vertical
distances. Multi-column characters, such as @kbd{TAB} are treated distances. Multi-column characters, such as @kbd{TAB} are treated
correctly.") correctly.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public emacs-slime-repl-ansi-color
(let ((commit "ad03263f5d4de473bc173b64a6fc3dc1106393d7"))
(package
(name "emacs-slime-repl-ansi-color")
(version (git-version "0.0.0" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/deadtrickster/slime-repl-ansi-color")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0bpg7gxz310x7bnlg324c507sxc5gxwwz6h64h6kdq141r73vbi4"))))
(build-system emacs-build-system)
(home-page "https://github.com/deadtrickster/slime-repl-ansi-color")
(synopsis "Color ANSI codes in the REPL of SLIME")
(description "Color ANSI codes in the REPL of SLIME")
(license license:gpl2+))))
(define-public emacs-helm-slime
(let ((commit "9980925f3e5f6ac5a30369d2a544e82006a79c76"))
(package
(name "emacs-helm-slime")
(version (git-version "0.0.0" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-helm/helm-slime")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0xa07gpfkzwn522x9573mq5mfxvbawdgd0m93gqj6w5a14wk8zzh"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)
("emacs-slime" ,emacs-slime)))
(home-page "https://github.com/emacs-helm/helm-slime")
(synopsis "Helm for SLIME, the Superior Lisp Interaction Mode for Emacs")
(description "Helm-SLIME defines a few new commands:
@itemize
@item helm-slime-complete: Select a symbol from the SLIME completion systems.
@item helm-slime-list-connections: Yet another slime-list-connections with Helm.
@item: helm-slime-apropos: Yet another slime-apropos with Helm.
@item helm-slime-repl-history: Select an input from the SLIME REPL history and insert it.
@end itemize\n")
(license license:gpl3+))))
(define-public emacs-gtk-look
(package
(name "emacs-gtk-look")
(version "29")
(source (origin
(method url-fetch)
(uri "https://download.tuxfamily.org/user42/gtk-look.el")
(sha256
(base32
"14p2nwrd51cr1v06fxbjjn6jdrkf9d6vcxhmscm0kl677s25ypsp"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda _
;; File is read-only.
(chmod "gtk-look.el" #o644)
(emacs-substitute-variables "gtk-look.el"
("gtk-lookup-devhelp-indices"
'(list (expand-file-name "~/.guix-profile/share/gtk-doc/html/*/*.devhelp*"))))
#t)))))
(home-page "http://user42.tuxfamily.org/gtk-look/index.html")
(synopsis "Find and display HTML documentation for GTK, GNOME and Glib")
(description "@command{gtk-look} finds and displays HTML documentation for
GTK, GNOME and Glib functions and variables in Emacs, similar to what
info-lookup-symbol does for info files (C-h S). The documentation is expected
to be devhelp indexes with HTML files. The location of the indexes can be
customized. In addition to C code development @command{gtk-look} is good for
@itemize
@item @command{perl-gtk2}, recognising class funcs like
@command{Gtk2::Label->new} and bare method names like @command{set_text}.
@item @command{guile-gnome}, recognising methods like @command{set-text} and
classes like @command{<gtk-window>}.
@end itemize\n")
(license license:gpl3+)))
(define-public emacs-ov
(package
(name "emacs-ov")
(version "1.0.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ShingoFukuyama/ov.el.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0qxk2rf84j86syxi8xknsq252irwg7sz396v3bb4wqz4prpj0kzc"))))
(build-system emacs-build-system)
(home-page "https://github.com/ShingoFukuyama/ov.el")
(synopsis "Overlay library for Emacs Lisp")
(description "@code{ov.el} provides a simple way to manipulate overlays in
Emacs.")
(license license:gpl3+)))
(define-public emacs-matrix-client
(let ((commit "3eab4c28280feff18ee1ddd7db66ada4f135cbf8"))
(package
(name "emacs-matrix-client")
(version (git-version "0.0.0" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jgkamat/matrix-client-el.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1k6721jz0m22vpb78881k087mpx8hf3s2219ic75v5mhgx355f7m"))))
(build-system emacs-build-system)
(propagated-inputs
`(("a" ,emacs-a)
("dash" ,emacs-dash)
("esxml" ,emacs-esxml)
("f" ,emacs-f)
("ht" ,emacs-ht)
("ov" ,emacs-ov)
("request" ,emacs-request)
("s" ,emacs-s)
("tracking" ,emacs-tracking)))
(home-page "https://github.com/jgkamat/matrix-client-el")
(synopsis "Matrix client for Emacs")
(description "@code{matrix-client} is a simple chat UI to Matrix.org
rooms. It also provides an API which allows Emacs to seamlessly create
RPC channels with users and other software.")
(license license:gpl3+))))
(define-public emacs-sesman
(package
(name "emacs-sesman")
(version "0.3.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vspinu/sesman.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0r32f8ma9ddczxrrdz0nadp14j3zmk10q1ch02gb82synkx3xdra"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
#:test-command '("make" "test")))
(home-page "https://github.com/vspinu/sesman")
(synopsis "Session manager for Emacs based IDEs")
(description "Sesman provides facilities for session management and
interactive session association with the current contexts (project, directory,
buffers). While sesman can be used to manage arbitrary sessions, it primary
targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
(license license:gpl3+)))

View file

@ -321,12 +321,6 @@ languages are C and C++.")
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(inputs (inputs
`(("libusb" ,libusb))) `(("libusb" ,libusb)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
(home-page "http://repo.or.cz/w/libjaylink.git") (home-page "http://repo.or.cz/w/libjaylink.git")
(synopsis "Library to interface Segger J-Link devices") (synopsis "Library to interface Segger J-Link devices")
(description "libjaylink is a shared library written in C to access (description "libjaylink is a shared library written in C to access
@ -404,9 +398,9 @@ language.")
"presto" "openjtag"))) "presto" "openjtag")))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; Required because of patched sources.
(add-before 'configure 'autoreconf (add-before 'configure 'autoreconf
(lambda _ (lambda _ (invoke "autoreconf" "-vfi") #t))
(zero? (system* "autoreconf" "-vfi"))))
(add-after 'autoreconf 'change-udev-group (add-after 'autoreconf 'change-udev-group
(lambda _ (lambda _
(substitute* "contrib/60-openocd.rules" (substitute* "contrib/60-openocd.rules"
@ -417,7 +411,8 @@ language.")
(install-file "contrib/60-openocd.rules" (install-file "contrib/60-openocd.rules"
(string-append (string-append
(assoc-ref outputs "out") (assoc-ref outputs "out")
"/lib/udev/rules.d/"))))))) "/lib/udev/rules.d/"))
#t)))))
(home-page "http://openocd.org") (home-page "http://openocd.org")
(synopsis "On-Chip Debugger") (synopsis "On-Chip Debugger")
(description "OpenOCD provides on-chip programming and debugging support (description "OpenOCD provides on-chip programming and debugging support

View file

@ -117,8 +117,8 @@
;; Building from recent Git because the official 5.0 release no longer builds. ;; Building from recent Git because the official 5.0 release no longer builds.
(define-public dolphin-emu (define-public dolphin-emu
(let ((commit "5f0d825f40b8aabe13eaef32d44ab667ff8e8c28") (let ((commit "2c57e709d0f9e4010a4415de4192de887e37f187")
(revision "3")) (revision "5"))
(package (package
(name "dolphin-emu") (name "dolphin-emu")
(version (git-version "5.0" revision commit)) (version (git-version "5.0" revision commit))
@ -144,7 +144,7 @@
#t)) #t))
(sha256 (sha256
(base32 (base32
"0dh7mih16aif9ynbgcsn7n10f89g8d232i86xqfp2rijsdggcmzl")))) "0aszfdfvs7yg4bmrd3qxwsiz7hx3mrj29f4aw86bz7h9j7hkh57f"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f '(#:tests? #f
@ -153,7 +153,8 @@
(add-before 'configure 'fixgcc7 (add-before 'configure 'fixgcc7
(lambda _ (lambda _
(unsetenv "C_INCLUDE_PATH") (unsetenv "C_INCLUDE_PATH")
(unsetenv "CPLUS_INCLUDE_PATH"))) (unsetenv "CPLUS_INCLUDE_PATH")
#t))
(add-before 'configure 'generate-fonts&hardcore-libvulkan-path (add-before 'configure 'generate-fonts&hardcore-libvulkan-path
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let ((fontfile (let ((fontfile
@ -195,7 +196,7 @@
("bluez" ,bluez) ("bluez" ,bluez)
("curl" ,curl) ("curl" ,curl)
("eudev" ,eudev) ("eudev" ,eudev)
("ffmpeg" ,ffmpeg-3.4) ("ffmpeg" ,ffmpeg)
("font-wqy-microhei" ,font-wqy-microhei) ("font-wqy-microhei" ,font-wqy-microhei)
("freetype" ,freetype) ("freetype" ,freetype)
("glew" ,glew) ("glew" ,glew)
@ -1185,7 +1186,7 @@ play them on systems for which they were never designed!")
(define-public mame (define-public mame
(package (package
(name "mame") (name "mame")
(version "0.202") (version "0.203")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1195,7 +1196,7 @@ play them on systems for which they were never designed!")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1v9gm124p65nbj678gfkcvwphp9qc15ky2p12ca6g3rllma94di5")) "19ccqc00024fbjyk0k5d9xljhwq7wsrp7phwm2jmn0h77mgdj844"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Remove bundled libraries. ;; Remove bundled libraries.

View file

@ -717,6 +717,13 @@ language.")
"-DBUILD_GITHUB_PLUGIN=OFF") "-DBUILD_GITHUB_PLUGIN=OFF")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'adjust-boost-include
(lambda _
;; The location of this header changed in Boost 1.66.
(substitute* "3d-viewer/3d_cache/3d_cache.cpp"
(("boost/uuid/sha1\\.hpp")
"boost/uuid/detail/sha1.hpp"))
#t))
(add-after 'install 'wrap-program (add-after 'install 'wrap-program
;; Ensure correct Python at runtime. ;; Ensure correct Python at runtime.
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
@ -1702,7 +1709,7 @@ parallel computing platforms. It also supports serial execution.")
("gcc-toolchain" ,gcc-toolchain) ("gcc-toolchain" ,gcc-toolchain)
("iverilog" ,iverilog) ("iverilog" ,iverilog)
("libtool" ,libtool) ("libtool" ,libtool)
("octave" ,octave) ("octave" ,octave-cli)
("qt4" ,qt-4) ("qt4" ,qt-4)
("sed" ,sed))) ("sed" ,sed)))
(home-page "http://qucs.sourceforge.net/") (home-page "http://qucs.sourceforge.net/")
@ -1832,7 +1839,7 @@ simulations are also supported.")
("libtool" ,libtool) ("libtool" ,libtool)
("mpi" ,openmpi) ("mpi" ,openmpi)
("ngspice" ,ngspice) ("ngspice" ,ngspice)
("octave" ,octave) ("octave" ,octave-cli)
("qt4" ,qt-4) ("qt4" ,qt-4)
("qucs" ,qucs) ("qucs" ,qucs)
("sed" ,sed) ("sed" ,sed)

View file

@ -58,7 +58,8 @@
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages video) #:use-module (gnu packages video)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)) #:use-module (gnu packages xorg)
#:use-module (ice-9 match))
(define-public efl (define-public efl
(package (package
@ -139,12 +140,16 @@
(arguments (arguments
`(#:configure-flags '("--disable-silent-rules" `(#:configure-flags '("--disable-silent-rules"
"--disable-systemd" "--disable-systemd"
"--with-profile=release"
"--enable-liblz4" "--enable-liblz4"
"--enable-xinput22" "--enable-xinput22"
"--enable-image-loader-webp" "--enable-image-loader-webp"
"--enable-multisense" "--enable-multisense"
"--with-opengl=es" ,@(match (%current-system)
"--enable-egl" ("armhf-linux"
'("--with-opengl=es" "--with-egl"))
(_
'("--with-opengl=full")))
"--enable-harfbuzz" "--enable-harfbuzz"
;; for wayland ;; for wayland
"--enable-wayland" "--enable-wayland"
@ -178,7 +183,7 @@ removable devices or support for multimedia.")
(define-public terminology (define-public terminology
(package (package
(name "terminology") (name "terminology")
(version "1.2.1") (version "1.3.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -186,10 +191,9 @@ removable devices or support for multimedia.")
"terminology/terminology-" version ".tar.xz")) "terminology/terminology-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1ii8332bl88l8md3gvz5dhi9bjpm6shyf14ck9kfyy7d56hp71mc")) "07vw28inkimi9avp16j0rqcfqjq16081554qsv29pcqhz18xp59r"))
(modules '((guix build utils))) (modules '((guix build utils)))
;; Remove the bundled fonts. ;; Remove the bundled fonts.
;; TODO: Remove bundled lz4.
(snippet (snippet
'(begin '(begin
(delete-file-recursively "data/fonts") (delete-file-recursively "data/fonts")
@ -271,7 +275,8 @@ Libraries with some extra bells and whistles.")
(let ((xkeyboard (assoc-ref inputs "xkeyboard-config")) (let ((xkeyboard (assoc-ref inputs "xkeyboard-config"))
(setxkbmap (assoc-ref inputs "setxkbmap")) (setxkbmap (assoc-ref inputs "setxkbmap"))
(utils (assoc-ref inputs "util-linux")) (utils (assoc-ref inputs "util-linux"))
(libc (assoc-ref inputs "libc"))) (libc (assoc-ref inputs "libc"))
(efl (assoc-ref inputs "efl")))
;; We need to patch the path to 'base.lst' to be able ;; We need to patch the path to 'base.lst' to be able
;; to switch the keyboard layout in E. ;; to switch the keyboard layout in E.
(substitute* (list "src/modules/xkbswitch/e_mod_parse.c" (substitute* (list "src/modules/xkbswitch/e_mod_parse.c"
@ -286,6 +291,9 @@ Libraries with some extra bells and whistles.")
"src/modules/conf_intl/e_int_config_intl.c" "src/modules/conf_intl/e_int_config_intl.c"
"src/modules/wizard/page_010.c") "src/modules/wizard/page_010.c")
(("locale -a") (string-append libc "/bin/locale -a"))) (("locale -a") (string-append libc "/bin/locale -a")))
(substitute* "src/bin/e_import_config_dialog.c"
(("%s/edje_cc -v %s %s %s\", e_prefix_bin_get\\(\\)")
(string-append efl "/bin/edje_cc -v %s %s %s\"")))
(substitute* "src/modules/everything/evry_plug_apps.c" (substitute* "src/modules/everything/evry_plug_apps.c"
(("/usr/bin/") "")) (("/usr/bin/") ""))
(substitute* "configure" (substitute* "configure"

View file

@ -2,6 +2,7 @@
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -23,6 +24,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages) #:use-module (gnu packages)
@ -107,7 +109,7 @@ single file can be mounted.")
(define-public disorderfs (define-public disorderfs
(package (package
(name "disorderfs") (name "disorderfs")
(version "0.5.4") (version "0.5.5")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -117,7 +119,7 @@ single file can be mounted.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1mw4ix9h17ikki8p2rxdvzp87rcm1c7by5lvfn5gxlxr7hlj9f8g")))) "18c32qcdzbxrzg7srnqnw1ls9yqqxyk9b996yxr6w2znw6x6n8v4"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -126,7 +128,7 @@ single file can be mounted.")
("attr" ,attr))) ("attr" ,attr)))
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
(delete 'configure)) (delete 'configure)) ; no configure script
#:make-flags (let ((out (assoc-ref %outputs "out"))) #:make-flags (let ((out (assoc-ref %outputs "out")))
(list (string-append "PREFIX=" out))) (list (string-append "PREFIX=" out)))
#:test-target "test" #:test-target "test"
@ -245,3 +247,50 @@ All of this is accomplished without a centralized metadata server.")
(description (description
"This is a file system client based on the FTP File Transfer Protocol.") "This is a file system client based on the FTP File Transfer Protocol.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public apfs-fuse
(let ((commit "c7036a3030d128bcecefc1eabc47c039ccfdcec9")
(revision "0"))
(package
(name "apfs-fuse")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sgan81/apfs-fuse")
(recursive? #t) ; for lzfse
(commit commit)))
(sha256
(base32
"1akd4cx1f9cyq6sfk9ybv4chhjwjlnqi8ic4z5ajnd5x0g76nz3r"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; No test suite
#:phases
(modify-phases %standard-phases
;; No 'install' target in CMakeLists.txt
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(lib (string-append out "/lib"))
(doc (string-append out "/share/doc/"
(string-append ,name "-" ,version))))
(install-file "apfs-dump" bin)
(install-file "apfs-dump-quick" bin)
(install-file "apfs-fuse" bin)
(install-file "libapfs.a" lib)
(install-file "../source/LICENSE" doc)
#t))))))
(inputs
`(("bzip2" ,bzip2)
("fuse" ,fuse)
("zlib" ,zlib)))
(synopsis "Read-only FUSE driver for the APFS filesystem")
(description "APFS-FUSE is a read-only FUSE driver for the @dfn{Apple File
System} (APFS). It is currently in an experimental state it may not be able
to read all files, and it does not support all the compression methods in
APFS.")
(home-page "https://github.com/sgan81/apfs-fuse")
(license license:gpl2+))))

View file

@ -165,6 +165,13 @@ line client and a client based on Qt.")
#:make-flags (list "ARGS=-E BaselineTest_cmd-org") #:make-flags (list "ARGS=-E BaselineTest_cmd-org")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'boost-compat
(lambda _
(substitute* "src/utils.h"
;; This library moved in Boost 1.66. Remove for Ledger
;; versions > 3.1.1.
(("boost/uuid/sha1.hpp") "boost/uuid/detail/sha1.hpp"))
#t))
(add-before 'configure 'install-examples (add-before 'configure 'install-examples
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let ((examples (string-append (assoc-ref outputs "out") (let ((examples (string-append (assoc-ref outputs "out")
@ -840,7 +847,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(define-public python-duniterpy (define-public python-duniterpy
(package (package
(name "python-duniterpy") (name "python-duniterpy")
(version "0.43.7") (version "0.50.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -851,10 +858,14 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"19m36z98361bqxjdb65597j2kxbly491927c6p9z47s1vxc3raaq")))) "0f24ihglmzphy30pgc49w0rxmsjc76mgcggg078cfsz7xrrk13gf"))))
(build-system python-build-system) (build-system python-build-system)
(arguments
;; Tests fail with "AttributeError: module 'attr' has no attribute 's'".
`(#:tests? #f))
(propagated-inputs (propagated-inputs
`(("python-aiohttp" ,python-aiohttp) `(("python-aiohttp" ,python-aiohttp)
("python-attr" ,python-attr)
("python-base58" ,python-base58) ("python-base58" ,python-base58)
("python-jsonschema" ,python-jsonschema) ("python-jsonschema" ,python-jsonschema)
("python-libnacl" ,python-libnacl) ("python-libnacl" ,python-libnacl)
@ -875,7 +886,7 @@ main features are:
(define-public silkaj (define-public silkaj
(package (package
(name "silkaj") (name "silkaj")
(version "0.5.0") (version "0.6.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -885,30 +896,10 @@ main features are:
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0xy25lpgz04nxikjvxlnlckrc9xmsxyiz2qm0bsiid8cnbdqcn12")))) "02n028rz1pshgh7w0af3b291r8lwvhzskm1q98d991gr8rscvad2"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:tests? #f ;no test `(#:tests? #f)) ;no test
#:phases
(modify-phases %standard-phases
;; The program is just a bunch of Python files in "src/" directory.
;; Many phases are useless. However, `python-build-system' correctly
;; sets PYTHONPATH and patches Python scripts.
(delete 'configure)
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/silkaj"))
(executable (string-append share "/silkaj.py"))
(bin (string-append out "/bin")))
;; Install data.
(copy-recursively "src" share)
;; Install executable.
(mkdir-p bin)
(with-directory-excursion bin
(symlink executable "silkaj")))
#t)))))
(inputs (inputs
`(("python-commandlines" ,python-commandlines) `(("python-commandlines" ,python-commandlines)
("python-ipaddress" ,python-ipaddress) ("python-ipaddress" ,python-ipaddress)

View file

@ -446,25 +446,26 @@ such as:
(license (list license:bsd-3 (license (list license:bsd-3
license:bsd-2)))) ; libfdt license:bsd-2)))) ; libfdt
(define-public arm-trusted-firmware-pine64-plus (define-public arm-trusted-firmware-sun50i-a64
(let ((base (make-arm-trusted-firmware "sun50iw1p1")) (let ((base (make-arm-trusted-firmware "sun50i_a64"))
;; Vendor's arm trusted firmware branch hasn't been upstreamed yet. ;; Use unreleased version which enables additional features needed for
(commit "ae78724247a01560164d607ed66db111c74d8df0") ;; LCD support
(commit "cabe0a31801e99e7abb84d2114ded6bb56f3c71e")
(revision "1")) (revision "1"))
(package (package
(inherit base) (inherit base)
(name "arm-trusted-firmware-pine64-plus") (name "arm-trusted-firmware-sun50i-a64")
(version (string-append "1.2-" revision "." (string-take commit 7))) (version (git-version "2.0" revision commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/apritzel/arm-trusted-firmware.git") (url "https://github.com/ARM-software/arm-trusted-firmware.git")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0r4xnlq7v9khjfcg6gqp7nmrmnw4z1r8bipwdr07png1dcbb8214"))))))) "0srw2zj3vn5d2fwzjpwa5h70d5bwvb79jnpdvmd395npv0gxshdz")))))))
(define-public arm-trusted-firmware-puma-rk3399 (define-public arm-trusted-firmware-puma-rk3399
(let ((base (make-arm-trusted-firmware "rk3399")) (let ((base (make-arm-trusted-firmware "rk3399"))

View file

@ -115,6 +115,12 @@ UI builder called FLUID that can be used to create applications in minutes.")
#:configure-flags '("--enable-gl") #:configure-flags '("--enable-gl")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'setup-waf
(lambda* (#:key inputs #:allow-other-keys)
(let ((waf (assoc-ref inputs "waf")))
(delete-file "waf")
(copy-file (string-append waf "/bin/waf") "waf"))
#t))
(add-before 'configure 'set-ldflags (add-before 'configure 'set-ldflags
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(setenv "LDFLAGS" (setenv "LDFLAGS"
@ -123,7 +129,8 @@ UI builder called FLUID that can be used to create applications in minutes.")
#t))))) #t)))))
(inputs (inputs
`(("libjpeg" ,libjpeg) `(("libjpeg" ,libjpeg)
("glu" ,glu))) ("glu" ,glu)
("waf" ,python-waf)))
;; ntk.pc lists "x11" and "xft" in Requires.private, and "cairo" in ;; ntk.pc lists "x11" and "xft" in Requires.private, and "cairo" in
;; Requires. ;; Requires.
(propagated-inputs (propagated-inputs

View file

@ -99,13 +99,14 @@ in print. With attention to detail for high resolution rendering.")
(name "font-ubuntu") (name "font-ubuntu")
(version "0.83") (version "0.83")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"http://font.ubuntu.com/download/ubuntu-font-family-" (url "https://salsa.debian.org/fonts-team/fonts-ubuntu")
version ".zip")) (commit (string-append "upstream/" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0hjvq2x758dx0sfwqhzflns0ns035qm7h6ygskbx1svzg517sva5")))) "1d2xrjpxy70f3nsgqiggwv6pj06qglf5vj2847pqx60w3ygi903g"))))
(build-system font-build-system) (build-system font-build-system)
(home-page "http://font.ubuntu.com/") (home-page "http://font.ubuntu.com/")
(synopsis "The Ubuntu Font Family") (synopsis "The Ubuntu Font Family")
@ -621,7 +622,7 @@ languages, plus Greek and Cyrillic.")
(define-public font-gnu-unifont (define-public font-gnu-unifont
(package (package
(name "font-gnu-unifont") (name "font-gnu-unifont")
(version "11.0.02") (version "11.0.03")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -629,16 +630,14 @@ languages, plus Greek and Cyrillic.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1di8i44c163b9l5f08jcrjfijnqz0j7p7hpfvf8dcms6cm6s4wvy")))) "171zhm52c4rzpn19qcq4n9nyfbcjl38v50zslhvgpjdcmc5jvhav"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" ; TrueType version (outputs '("out" ; TrueType version
"pcf" ; PCF (bitmap) version "pcf" ; PCF (bitmap) version
"psf" ; PSF (console) version "psf" ; PSF (console) version
"bin" ; Utilities to manipulate '.hex' format "bin")) ; Utilities to manipulate '.hex' format
))
(arguments (arguments
'(#:parallel-build? #f ; parallel build fails '(#:tests? #f ; no check target
#:tests? #f ; no check target
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace (replace

View file

@ -121,14 +121,15 @@ For synthesis, the compiler generates netlists in the desired format.")
(name "yosys") (name "yosys")
(version "0.7") (version "0.7")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (uri (git-reference
(string-append "https://github.com/cliffordwolf/yosys/archive/" (url "https://github.com/cliffordwolf/yosys.git")
name "-" version ".tar.gz")) (commit (string-append "yosys-" version))
(recursive? #t))) ; for the iverilog submodule
(sha256 (sha256
(base32 (base32
"0vkfdn4phvkjqlnpqlr6q5f97bgjc3312vj5jf0vf85zqv88dy9x")) "1ssrpgw0j9qlm52g1hsbb9fsww4vnwi0l7zvvky7a8w7wamddky0"))
(file-name (string-append name "-" version "-checkout.tar.gz")) (file-name (git-file-name name version))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -13,6 +13,7 @@
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -67,16 +68,14 @@
#:use-module (gnu packages m4) #:use-module (gnu packages m4)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages perl-check) #:use-module (gnu packages perl-check)
#:use-module (gnu packages polkit)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages perl) #:use-module (gnu packages polkit)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages valgrind) #:use-module (gnu packages valgrind)
#:use-module (gnu packages w3m) #:use-module (gnu packages w3m)
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (srfi srfi-1)) #:use-module (srfi srfi-1))
@ -229,109 +228,69 @@ the freedesktop.org XDG Base Directory specification.")
(define-public elogind (define-public elogind
(package (package
(name "elogind") (name "elogind")
(version "232.4") (version "239.3")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/elogind/elogind/" (uri (git-reference
"archive/v" version ".tar.gz")) (url "https://github.com/elogind/elogind")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1qcxian48z2dj5gfmp7brrngdydqf2jm00f4rjr5sy1myh8fy931")) "1gipnbnlz5k3gxv33wyhi2zd94hlfa9lm360p8z6w5i9s8dzhf52"))))
(patches (search-patches "elogind-glibc-2.27.patch")) (build-system meson-build-system)
(modules '((guix build utils)))
(snippet
'(begin
(use-modules (guix build utils))
(substitute* "Makefile.am"
;; Avoid validation against DTD because the DTDs for
;; both doctype 4.2 and 4.5 are needed.
(("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid"))
#t))))
(build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ;FIXME: "make check" in the "po" directory fails. `(#:configure-flags
#:configure-flags (let* ((out (assoc-ref %outputs "out"))
(list (string-append "--with-udevrulesdir=" (sysconf (string-append out "/etc"))
(assoc-ref %outputs "out") (libexec (string-append out "/libexec/elogind"))
"/lib/udev/rules.d") (dbuspolicy (string-append out "/etc/dbus-1/system.d"))
(shepherd (assoc-ref %build-inputs "shepherd"))
;; Let elogind be its own cgroup controller, rather than relying (halt-path (string-append shepherd "/sbin/halt"))
;; on systemd or OpenRC. By default, 'configure' makes an (kexec-path "") ;not available in Guix yet
;; incorrect guess. (poweroff-path (string-append shepherd "/sbin/shutdown"))
"--with-cgroup-controller=elogind" (reboot-path (string-append shepherd "/sbin/reboot")))
(list
(string-append "--with-rootprefix=" (string-append "-Drootprefix=" out)
(assoc-ref %outputs "out")) (string-append "-Dsysconfdir=" sysconf)
(string-append "--with-rootlibexecdir=" (string-append "-Drootlibexecdir=" libexec)
(assoc-ref %outputs "out") (string-append "-Ddbuspolicydir=" dbuspolicy)
"/libexec/elogind") (string-append "-Dc_link_args=-Wl,-rpath=" libexec)
;; These are needed to ensure that lto linking works. (string-append "-Dcpp_link_args=-Wl,-rpath=" libexec)
"RANLIB=gcc-ranlib" (string-append "-Dhalt-path=" halt-path)
"AR=gcc-ar" (string-append "-Dkexec-path=" kexec-path)
"NM=gcc-nm") (string-append "-Dpoweroff-path=" poweroff-path)
#:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent") (string-append "-Dreboot-path=" reboot-path)
"-Dcgroup-controller=elogind"
;; Disable some tests.
"-Dtests=false"
"-Dslow-tests=false"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'patch-locale-header (add-after 'unpack 'fix-pkttyagent-path
(lambda _ (lambda _
;; Fix compilation with glibc >= 2.26, which removed xlocale.h. (substitute* "meson.build"
;; This can be removed for elogind 234. (("join_paths\\(bindir, 'pkttyagent'\\)")
(substitute* "src/basic/parse-util.c" "'\"/run/current-system/profile/bin/pkttyagent\"'"))
(("xlocale\\.h") "locale.h"))
#t)) #t))
(replace 'bootstrap (add-after 'unpack 'change-pid-file-path
(lambda _ (lambda _
(invoke "intltoolize" "--force" "--automake") (substitute* "src/login/elogind.c"
(invoke "autoreconf" "-vif"))) (("\"/run/elogind.pid\"") "\"/run/systemd/elogind.pid\""))
(add-before 'build 'fix-service-file
(lambda* (#:key outputs #:allow-other-keys)
;; Fix the file name of the 'elogind' binary in the D-Bus
;; '.service' file.
(substitute* "src/login/org.freedesktop.login1.service"
(("^Exec=.*")
(string-append "Exec=" (assoc-ref %outputs "out")
"/libexec/elogind/elogind\n")))
#t))
(add-after 'install 'add-libcap-to-search-path
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Add a missing '-L' for libcap in libelogind.la. See
;; <https://lists.gnu.org/archive/html/guix-devel/2017-09/msg00084.html>.
(let ((libcap (assoc-ref inputs "libcap"))
(out (assoc-ref outputs "out")))
(substitute* (string-append out "/lib/libelogind.la")
(("-lcap")
(string-append "-L" libcap "/lib -lcap")))
#t)))
(add-after 'unpack 'remove-uaccess-tag
(lambda _
;; systemd supports a "uaccess" built-in tag, but eudev currently
;; doesn't. This leads to eudev warnings that we'd rather not
;; see, so remove the reference to "uaccess."
(substitute* "src/login/73-seat-late.rules.in"
(("^TAG==\"uaccess\".*" line)
(string-append "# " line "\n")))
#t))))) #t)))))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("docbook-xml" ,docbook-xml)
("automake" ,automake) ("docbook-xml-4.2" ,docbook-xml-4.2)
("libtool" ,libtool)
("intltool" ,intltool)
("gettext" ,gettext-minimal)
("python" ,python)
("docbook-xsl" ,docbook-xsl) ("docbook-xsl" ,docbook-xsl)
("docbook-xml" ,docbook-xml) ("gettext" ,gettext-minimal)
("xsltproc" ,libxslt) ("gperf" ,gperf)
("m4" ,m4)
("libxml2" ,libxml2) ;for XML_CATALOG_FILES ("libxml2" ,libxml2) ;for XML_CATALOG_FILES
("m4" ,m4)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python)
;; Use gperf 3.0 to work around ("xsltproc" ,libxslt)))
;; <https://github.com/wingo/elogind/issues/8>.
("gperf" ,gperf-3.0)))
(inputs (inputs
`(("linux-pam" ,linux-pam) `(("linux-pam" ,linux-pam)
("linux-libre-headers" ,linux-libre-headers)
("libcap" ,libcap) ("libcap" ,libcap)
("shepherd" ,shepherd) ;for 'halt' and 'reboot', invoked ("shepherd" ,shepherd) ;for 'halt' and 'reboot', invoked
;when pressing the power button ;when pressing the power button

View file

@ -170,7 +170,7 @@ as required.")
(define-public libfilezilla (define-public libfilezilla
(package (package
(name "libfilezilla") (name "libfilezilla")
(version "0.14.0") (version "0.15.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -178,11 +178,13 @@ as required.")
name "/" name "-" version ".tar.bz2")) name "/" name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"15cfz98asypf9rfybv4c6kx8nk3wak7qlm1azldc0gd1nqm4xqvz")))) "17zlhw5b1a7jzh50cbpy2is3sps5lnzch5yf9qm7mwrviw9c8j10"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("cppunit" ,cppunit) `(("cppunit" ,cppunit)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(inputs
`(("nettle" ,nettle)))
(home-page "https://lib.filezilla-project.org") (home-page "https://lib.filezilla-project.org")
(synopsis "Cross-platform C++ library used by Filezilla client") (synopsis "Cross-platform C++ library used by Filezilla client")
(description (description
@ -207,14 +209,14 @@ output.
(define-public filezilla (define-public filezilla
(package (package
(name "filezilla") (name "filezilla")
(version "3.37.4") (version "3.39.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.filezilla-project.org/client/" (uri (string-append "https://download.filezilla-project.org/client/"
"FileZilla_" version "_src.tar.bz2")) "FileZilla_" version "_src.tar.bz2"))
(sha256 (sha256
(base32 "169wy7ilsh518mcinkjmr6m0kzxbzchmc9mivf5c9b4zp1w4gg3i")))) (base32 "0ks42q6mi3qx85zpa98izkyficv2bdh3jnvmy97xjnjyfy9mwlgv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; Don't let filezilla phone home to check for updates. ;; Don't let filezilla phone home to check for updates.

View file

@ -397,15 +397,16 @@ support.")
(define-public tiled (define-public tiled
(package (package
(name "tiled") (name "tiled")
(version "1.2.0") (version "1.2.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/bjorn/tiled/archive/v" (uri (git-reference
version ".tar.gz")) (url "https://github.com/bjorn/tiled.git")
(file-name (string-append name "-" version ".tar.gz")) (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"13dlf5kzvhhjkhy19118x3diakmraz4m9kxrsdam8dms6xivb6lp")))) "1dl06k2p0r7l20ghxcq5sn7j0jl2l8q4m27vmfs2qfgvldjll2h3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("qtbase" ,qtbase) `(("qtbase" ,qtbase)
@ -440,18 +441,19 @@ clone.")
(define-public sfml (define-public sfml
(package (package
(name "sfml") (name "sfml")
(version "2.5.0") (version "2.5.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
;; Do not fetch the archives from ;; Do not fetch the archives from
;; http://mirror0.sfml-dev.org/files/ because files there seem ;; http://mirror0.sfml-dev.org/files/ because files there seem
;; to be changed in place. ;; to be changed in place.
(uri (string-append "https://github.com/SFML/SFML/archive/" (uri (git-reference
version ".tar.gz")) (url "https://github.com/SFML/SFML.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1x3yvhdrln5b6h4g5r4mds76gq8zsxw6icxqpwqkmxsqcq5yviab")) "0abr8ri2ssfy9ylpgjrr43m6rhrjy03wbj9bn509zqymifvq5pay"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -2,7 +2,7 @@
;;; Copyright © 2013 John Darrington <jmd@gnu.org> ;;; Copyright © 2013 John Darrington <jmd@gnu.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2016 David Thompson <dthompson2@worcester.edu> ;;; Copyright © 2014, 2016 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com> ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net> ;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
;;; Copyright © 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
@ -35,6 +35,7 @@
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018 Madalin Ionel-Patrascu <madalinionel.patrascu@mdc-berlin.de> ;;; Copyright © 2018 Madalin Ionel-Patrascu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -572,7 +573,7 @@ automata. The following features are available:
(define-public meandmyshadow (define-public meandmyshadow
(package (package
(name "meandmyshadow") (name "meandmyshadow")
(version "0.4.1") (version "0.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/meandmyshadow/" (uri (string-append "mirror://sourceforge/meandmyshadow/"
@ -580,38 +581,24 @@ automata. The following features are available:
"-src.tar.gz")) "-src.tar.gz"))
(sha256 (sha256
(base32 (base32
"0wl5dc75qy001s6043cx0vr2l5y2qfv1cldqnwill9sfygqj9p95")))) "1b6qf83vdfv8jwn2jq9ywmda2qn2f5914i7mwfy04m17wx593m3m"))
(patches (search-patches
;; This will not be needed in the next release.
"meandmyshadow-define-paths-earlier.patch"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f ; there are no tests `(#:tests? #f)) ; there are no tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'set-sdl'paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "cmake/Modules/FindSDL_gfx.cmake"
(("/usr/local/include/SDL")
(string-append (assoc-ref inputs "sdl")
"/include/SDL")))
;; Because SDL provides lib/libX11.so.6 we need to explicitly
;; link with libX11, even though we're using the GL backend.
(substitute* "CMakeLists.txt"
(("\\$\\{X11_LIBRARIES\\}") "-lX11"))
#t)))))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs
`(("sdl" ,(sdl-union (list sdl `(("curl" ,curl)
sdl-image
sdl-gfx
sdl-mixer
sdl-ttf)))
("libx11" ,libx11) ; needed by sdl's libX11
("libarchive" ,libarchive) ("libarchive" ,libarchive)
("openssl" ,openssl) ("lua" ,lua)
("mesa" ,mesa) ("sdl" ,(sdl-union (list sdl2
("glu" ,glu) sdl2-image
("curl" ,curl))) sdl2-mixer
(home-page "http://meandmyshadow.sourceforge.net/") sdl2-ttf)))))
(home-page "https://acmepjz.github.io/meandmyshadow/")
(synopsis "Puzzle/platform game") (synopsis "Puzzle/platform game")
(description "Me and My Shadow is a puzzle/platform game in which you try (description "Me and My Shadow is a puzzle/platform game in which you try
to reach the exit by solving puzzles. Spikes, moving blocks, fragile blocks to reach the exit by solving puzzles. Spikes, moving blocks, fragile blocks
@ -3272,7 +3259,7 @@ safety of the Chromium vessel.")
(define-public tuxpaint (define-public tuxpaint
(package (package
(name "tuxpaint") (name "tuxpaint")
(version "0.9.22") ;keep VER_DATE below in sync (version "0.9.23") ;keep VER_DATE below in sync
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -3280,7 +3267,7 @@ safety of the Chromium vessel.")
version "/tuxpaint-" version ".tar.gz")) version "/tuxpaint-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1qrbrdck9yxpcg3si6jb9i11w8lw9h4hqad0pfaxgyiniqpr7gca")) "09k9pxi88r3dx6dyjwf9h85d4qpva4i29qz63dc558hg9v21k69l"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -3308,16 +3295,22 @@ safety of the Chromium vessel.")
("sdl" ,(sdl-union (list sdl sdl-mixer sdl-ttf sdl-image))))) ("sdl" ,(sdl-union (list sdl sdl-mixer sdl-ttf sdl-image)))))
;; TODO: Use system fonts rather than those in data/fonts ;; TODO: Use system fonts rather than those in data/fonts
(arguments (arguments
`(#:make-flags `("VER_DATE=2014-08-23" `(#:make-flags `("VER_DATE=2018-09-02"
"GPERF=gperf" "CC=gcc" "GPERF=gperf" "CC=gcc"
"SDL_PCNAME=sdl SDL_image SDL_mixer SDL_ttf" "SDL_PCNAME=sdl SDL_image SDL_mixer SDL_ttf"
,(string-append "PREFIX=" %output) ,(string-append "PREFIX=" %output)
"GNOME_PREFIX=$(PREFIX)" "KDE_PREFIX=$(PREFIX)/share/applications"
"KDE_ICON_PREFIX=$(PREFIX)/share/icons/"
"COMPLETIONDIR=$(PREFIX)/etc/bash_completion.d") "COMPLETIONDIR=$(PREFIX)/etc/bash_completion.d")
#:parallel-build? #f ;fails on some systems #:parallel-build? #f ;fails on some systems
#:tests? #f ;No tests #:tests? #f ;No tests
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(delete 'configure) ;no configure phase (delete 'configure) ;no configure phase
(add-before 'install 'no-sys-cache
(lambda _ ;do not rebuild system conf cache
(substitute* "Makefile"
(("kbuildsycoca4") ""))
#t))
(add-after 'install 'fix-import (add-after 'install 'fix-import
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -3349,7 +3342,7 @@ your child be creative.")
(define-public tuxpaint-stamps (define-public tuxpaint-stamps
(package (package
(name "tuxpaint-stamps") (name "tuxpaint-stamps")
(version "2014.08.23") (version "2018.09.01")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -3358,7 +3351,7 @@ your child be creative.")
"/tuxpaint-stamps-" version ".tar.gz")) "/tuxpaint-stamps-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0rhlwrjz44wp269v3rid4p8pi0i615pzifm1ym6va64gn1bms06q")))) "1skr23k27yj3vgwfazpzxp90lb2a278gxrkr3bxw7az6zpkmb3yp"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(native-inputs (native-inputs
`(("tar" ,tar) `(("tar" ,tar)
@ -3387,7 +3380,7 @@ with the \"Stamp\" tool within Tux Paint.")
(define-public tuxpaint-config (define-public tuxpaint-config
(package (package
(name "tuxpaint-config") (name "tuxpaint-config")
(version "0.0.13") ;keep VER_DATE below in sync (version "0.0.14") ;keep VER_DATE below in sync
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -3395,7 +3388,7 @@ with the \"Stamp\" tool within Tux Paint.")
version "/tuxpaint-config-" version ".tar.gz")) version "/tuxpaint-config-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1z12s46mvy87qs3vgq9m0ki9pp21zqc52mmgphahpihw3s7haf6v")))) "0zkgxk436nqcp43zghkfmh397c7dvh5bwn2as7gwvv208bzyij6g"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("gettext" ,gettext-minimal))) `(("gettext" ,gettext-minimal)))
@ -3407,7 +3400,7 @@ with the \"Stamp\" tool within Tux Paint.")
("libxft" ,libxft) ("libxft" ,libxft)
("mesa" ,mesa))) ("mesa" ,mesa)))
(arguments (arguments
`(#:make-flags `("VER_DATE=2014-08-23" `(#:make-flags `("VER_DATE=2018-09-01"
"CONFDIR=/etc/tuxpaint" ;don't write to store "CONFDIR=/etc/tuxpaint" ;don't write to store
,(string-append "PREFIX=" %output) ,(string-append "PREFIX=" %output)
"GNOME_PREFIX=$(PREFIX)") "GNOME_PREFIX=$(PREFIX)")
@ -3658,18 +3651,18 @@ throwing people around in pseudo-randomly generated buildings.")
(define-public hyperrogue (define-public hyperrogue
(package (package
(name "hyperrogue") (name "hyperrogue")
(version "10.4t") (version "10.5")
;; When updating this package, be sure to update the "hyperrogue-data" ;; When updating this package, be sure to update the "hyperrogue-data"
;; origin in native-inputs. ;; origin in native-inputs.
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://www.roguetemple.com/z/hyper/" "https://www.roguetemple.com/z/hyper/"
name (string-join (string-split version #\.) "") name (string-join (string-split version #\.) "")
"-src.tgz")) "-src.tgz"))
(sha256 (sha256
(base32 (base32
"0phqhmnzmc16a23qb4fkil0flzb86kibdckf1r35nc3l0k4193nn")))) "04wk50f51xrb9vszwil4ivkfpy7xc6nw3gnp90hbna2zqi2jnvb8"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
@ -3741,12 +3734,12 @@ throwing people around in pseudo-randomly generated buildings.")
(method url-fetch) (method url-fetch)
(uri (uri
(string-append (string-append
"http://www.roguetemple.com/z/hyper/" name "https://www.roguetemple.com/z/hyper/" name
(string-join (string-split version #\.) "") (string-join (string-split version #\.) "")
"-win.zip")) "-win.zip"))
(sha256 (sha256
(base32 (base32
"1xd9v8zzgi8m5ar8g4gy1xx5zqwidz3gn1knz0lwib3kbxx4drpg")))) "0r6xvnr7b56iv27n8z10qmxhsz5h7w6ayhxkz3xinlvch84bk708"))))
("unzip" ,unzip))) ("unzip" ,unzip)))
(inputs (inputs
`(("font-dejavu" ,font-dejavu) `(("font-dejavu" ,font-dejavu)
@ -3756,7 +3749,7 @@ throwing people around in pseudo-randomly generated buildings.")
sdl-gfx sdl-gfx
sdl-mixer sdl-mixer
sdl-ttf))))) sdl-ttf)))))
(home-page "http://www.roguetemple.com/z/hyper/") (home-page "https://www.roguetemple.com/z/hyper/")
(synopsis "Non-euclidean graphical rogue-like game") (synopsis "Non-euclidean graphical rogue-like game")
(description (description
"HyperRogue is a game in which the player collects treasures and fights "HyperRogue is a game in which the player collects treasures and fights
@ -4018,7 +4011,7 @@ emerges from a sewer hole and pulls her below ground.")
(define-public cdogs-sdl (define-public cdogs-sdl
(package (package
(name "cdogs-sdl") (name "cdogs-sdl")
(version "0.6.7") (version "0.6.8")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -4027,7 +4020,7 @@ emerges from a sewer hole and pulls her below ground.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1frafzsj3f83xkmn4llr7g728c82lcqi424ini1hv3gv5zjgpa15")))) "1v0adxm4xsix6r6j9hs7vmss7pxrb37azwfazr54p1dmfz4s6rp8"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -4153,31 +4146,54 @@ small robot living in the nano world, repair its maker.")
(define-public teeworlds (define-public teeworlds
(package (package
(name "teeworlds") (name "teeworlds")
(version "0.6.4") (version "0.7.0")
(source (origin (source (origin
(method url-fetch) ;; do not use auto-generated tarballs
(uri (string-append "https://github.com/teeworlds/teeworlds/" (method git-fetch)
"archive/" version "-release.tar.gz")) (uri (git-reference
(file-name (string-append name "-" version ".tar.gz")) (url "https://github.com/teeworlds/teeworlds.git")
(commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1mqhp6xjl75l49050cid36wxyjn1qr0vjx1c709dfg1lkvmgs6l3")) "0jigg2yikihbivzs7hpljr0mghx1l9v4f1cdr8fbmqv2wb51ah8q"))
(modules '((guix build utils))) (modules '((guix build utils)
(snippet (ice-9 ftw)
'(begin (ice-9 regex)
(for-each delete-file-recursively (srfi srfi-1)
'("src/engine/external/wavpack/" (srfi srfi-26)))
"src/engine/external/zlib/")) (snippet ; remove bundled libraries except md5
'(let ((base-dir "src/engine/external/"))
(for-each (compose (cut delete-file-recursively <>)
(cut string-append base-dir <>))
(remove (cut string-match "(^.)|(^md5$)" <>)
(scandir base-dir)))
#t)) #t))
(patches (patches
(search-patches "teeworlds-use-latest-wavpack.patch")))) (search-patches "teeworlds-use-latest-wavpack.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no tests included `(#:tests? #f ; no tests included
#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-26))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'configure (replace 'configure
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; The bundled json-parser uses an old API.
;; To use the latest non-bundled version, we need to pass the
;; length of the data in all 'json_parse_ex' calls.
(define (use-latest-json-parser file)
(substitute* file
(("engine/external/json-parser/json\\.h")
"json-parser/json.h")
(("json_parse_ex\\(&JsonSettings, pFileData, aError\\);")
"json_parse_ex(&JsonSettings,
pFileData,
strlen(pFileData),
aError);")))
;; Embed path to assets. ;; Embed path to assets.
(substitute* "src/engine/shared/storage.cpp" (substitute* "src/engine/shared/storage.cpp"
(("#define DATA_DIR.*") (("#define DATA_DIR.*")
@ -4187,50 +4203,68 @@ small robot living in the nano world, repair its maker.")
"\""))) "\"")))
;; Bam expects all files to have a recent time stamp. ;; Bam expects all files to have a recent time stamp.
(for-each (lambda (file) (for-each (cut utime <> 1 1)
(utime file 1 1))
(find-files ".")) (find-files "."))
;; Do not use bundled libraries. ;; Do not use bundled libraries.
(substitute* "bam.lua" (substitute* "bam.lua"
(("if config.zlib.value == 1 then") (("local json = Compile.+$")
"if true then") "local json = nil
(("wavpack = .*") settings.link.libs:Add(\"jsonparser\")")
"wavpack = {} (("local png = Compile.+$")
settings.link.libs:Add(\"wavpack\")\n")) "local png = nil
settings.link.libs:Add(\"pnglite\")")
(("local wavpack = Compile.+$")
"local wavpack = nil
settings.link.libs:Add(\"wavpack\")")
(("if config\\.zlib\\.value == 1")
"if config.zlib.value"))
(substitute* "src/engine/client/graphics_threaded.cpp"
(("engine/external/pnglite/pnglite\\.h")
"pnglite.h"))
(substitute* "src/engine/client/sound.cpp" (substitute* "src/engine/client/sound.cpp"
(("#include <engine/external/wavpack/wavpack.h>") (("engine/external/wavpack/wavpack\\.h")
"#include <wavpack/wavpack.h>")) "wavpack/wavpack.h"))
(for-each use-latest-json-parser
'("src/game/client/components/countryflags.cpp"
"src/game/client/components/menus_settings.cpp"
"src/game/client/components/skins.cpp"
"src/game/client/localization.cpp"
"src/game/editor/auto_map.h"
"src/game/editor/editor.cpp"))
#t)) #t))
(replace 'build (replace 'build
(lambda _ (lambda _
(zero? (system* "bam" "-a" "-v" "release")))) (invoke "bam" "-a" "-v" "conf=release")))
(replace 'install (replace 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((arch ,(system->linux-architecture
(bin (string-append out "/bin")) (or (%current-target-system)
(data (string-append out "/share/teeworlds/data"))) (%current-system))))
(mkdir-p bin) (build (string-append "build/" arch "/release/"))
(mkdir-p data) (data-built (string-append build "data/"))
(for-each (lambda (file) (out (assoc-ref outputs "out"))
(install-file file bin)) (bin (string-append out "/bin/"))
'("teeworlds" "teeworlds_srv")) (data (string-append out "/share/teeworlds/data/")))
(copy-recursively "data" data) (for-each (cut install-file <> bin)
(map (cut string-append build <>)
'("teeworlds" "teeworlds_srv")))
(copy-recursively data-built data)
#t)))))) #t))))))
;; FIXME: teeworlds bundles the sources of "pnglite", a two-file PNG
;; library without a build system.
(inputs (inputs
`(("freetype" ,freetype) `(("freetype" ,freetype)
("glu" ,glu) ("glu" ,glu)
("json-parser" ,json-parser)
("mesa" ,mesa) ("mesa" ,mesa)
("sdl-union" ,(sdl-union (list sdl ("pnglite" ,pnglite)
sdl-mixer ("sdl2" ,sdl2)
sdl-image))) ("sdl2-image" ,sdl2-image)
("sdl2-mixer" ,sdl2-mixer)
("wavpack" ,wavpack) ("wavpack" ,wavpack)
("zlib" ,zlib))) ("zlib" ,zlib)))
(native-inputs (native-inputs
`(("bam" ,bam) `(("bam" ,bam)
("python" ,python-2) ("python" ,python-wrapper)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(home-page "https://www.teeworlds.com") (home-page "https://www.teeworlds.com")
(synopsis "2D retro multiplayer shooter game") (synopsis "2D retro multiplayer shooter game")
@ -5553,7 +5587,8 @@ quotation from a collection of quotes.")
Comment=Xonotic glx~@ Comment=Xonotic glx~@
Exec=~a/bin/xonotic-glx~@ Exec=~a/bin/xonotic-glx~@
TryExec=~@*~a/bin/xonotic-glx~@ TryExec=~@*~a/bin/xonotic-glx~@
Icon=~@ Icon=xonotic~@
Categories=Game~@
Type=Application~%" Type=Application~%"
output))) output)))
(with-output-to-file (with-output-to-file
@ -5565,7 +5600,8 @@ quotation from a collection of quotes.")
Comment=Xonotic sdl~@ Comment=Xonotic sdl~@
Exec=~a/bin/xonotic-sdl~@ Exec=~a/bin/xonotic-sdl~@
TryExec=~@*~a/bin/xonotic-sdl~@ TryExec=~@*~a/bin/xonotic-sdl~@
Icon=~@ Icon=xonotic~@
Categories=Game~@
Type=Application~%" Type=Application~%"
output))) output)))
(with-output-to-file (with-output-to-file
@ -5577,7 +5613,8 @@ quotation from a collection of quotes.")
Comment=Xonotic~@ Comment=Xonotic~@
Exec=~a/bin/xonotic-glx~@ Exec=~a/bin/xonotic-glx~@
TryExec=~@*~a/bin/xonotic~@ TryExec=~@*~a/bin/xonotic~@
Icon=~@ Icon=xonotic~@
Categories=Game~@
Type=Application~%" Type=Application~%"
output))) output)))
#t))) #t)))
@ -5617,7 +5654,7 @@ quotation from a collection of quotes.")
(lambda* (#:key outputs inputs #:allow-other-keys) (lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(data (assoc-ref inputs "xonotic-data"))) (data (assoc-ref inputs "xonotic-data")))
(copy-recursively (string-append data "/share/xonotic") (symlink (string-append data "/share/xonotic")
(string-append out "/share/xonotic")) (string-append out "/share/xonotic"))
#t))) #t)))
(add-after 'install-binaries 'wrap-binaries (add-after 'install-binaries 'wrap-binaries

View file

@ -461,34 +461,18 @@ Go. It also includes runtime support libraries for these languages.")
(define-public gcc-6 (define-public gcc-6
(package (package
(inherit gcc-5) (inherit gcc-5)
(version "6.4.0") (version "6.5.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-" (uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz")) version "/gcc-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1m0lr7938lw5d773dkvwld90hjlcq2282517d1gwvrfzmwgg42w5")) "0i89fksfp6wr1xg9l8296aslcymv2idn60ip31wr9s4pwin7kwby"))
(patches (search-patches "gcc-libsanitizer-fix.patch" (patches (search-patches "gcc-strmov-store-file-names.patch"
"gcc-libsanitizer-ustat.patch"
"gcc-strmov-store-file-names.patch"
"gcc-6-source-date-epoch-1.patch" "gcc-6-source-date-epoch-1.patch"
"gcc-6-source-date-epoch-2.patch" "gcc-6-source-date-epoch-2.patch"
"gcc-5.0-libvtv-runpath.patch")) "gcc-5.0-libvtv-runpath.patch"))))
(modules '((guix build utils)))
;; This is required for building with glibc-2.26.
;; This can be removed when gcc-6.5.0 is released.
;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
(snippet
'(begin
(for-each
(lambda (dir)
(substitute* (string-append "libgcc/config/"
dir "/linux-unwind.h")
(("struct ucontext") "ucontext_t")))
'("aarch64" "alpha" "bfin" "i386" "m68k" "nios2"
"pa" "sh" "tilepro" "xtensa"))
#t))))
(inputs (inputs
`(("isl" ,isl) `(("isl" ,isl)
,@(package-inputs gcc-4.7))) ,@(package-inputs gcc-4.7)))
@ -506,16 +490,15 @@ Go. It also includes runtime support libraries for these languages.")
(define-public gcc-7 (define-public gcc-7
(package (package
(inherit gcc-6) (inherit gcc-6)
(version "7.3.0") (version "7.4.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-" (uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz")) version "/gcc-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0p71bij6bfhzyrs8676a8jmpjsfz392s2rg862sdnsk30jpacb43")) "0lgy170b0pp60j9cczqkmaqyjjb584vfamj4c30swd7k0j6y5pgd"))
(patches (search-patches "gcc-strmov-store-file-names.patch" (patches (search-patches "gcc-strmov-store-file-names.patch"
"gcc-libsanitizer-ustat.patch"
"gcc-5.0-libvtv-runpath.patch")))) "gcc-5.0-libvtv-runpath.patch"))))
(description (description
"GCC is the GNU Compiler Collection. It provides compiler front-ends "GCC is the GNU Compiler Collection. It provides compiler front-ends

View file

@ -142,7 +142,7 @@ you can create PNG images on the fly or modify existing files.")
'(#:phases '(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'set-env (add-after 'unpack 'set-env
(lambda _ (setenv "PERL_USE_UNSAFE_INC" "1")))))) (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1") #t)))))
(native-inputs (native-inputs
`(("perl-module-build" ,perl-module-build))) `(("perl-module-build" ,perl-module-build)))
(propagated-inputs (propagated-inputs

View file

@ -549,14 +549,14 @@ coordinates.")
(define-public r-rgooglemaps (define-public r-rgooglemaps
(package (package
(name "r-rgooglemaps") (name "r-rgooglemaps")
(version "1.4.2") (version "1.4.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (cran-uri "RgoogleMaps" version)) (uri (cran-uri "RgoogleMaps" version))
(sha256 (sha256
(base32 (base32
"112mdm53qx92n2m4ms02sbppckp44l1z19vy99j6gw3jrdprjydl")))) "06ab3lg1rwm93hkshf1vxfm8mlxq5qsjan0wx43lhnrysay65js4"))))
(properties `((upstream-name . "RgoogleMaps"))) (properties `((upstream-name . "RgoogleMaps")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs `(("r-png" ,r-png))) (propagated-inputs `(("r-png" ,r-png)))

View file

@ -4,7 +4,7 @@
;;; Copyright © 2014, 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2014, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2016 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
@ -49,6 +49,7 @@
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build utils) #:use-module (guix build utils)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
@ -177,12 +178,13 @@ Polygon meshes, and Extruded polygon meshes.")
(version "1.0") (version "1.0")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/divVerent/s2tc/archive/v" version ".tar.gz")) (url "https://github.com/divVerent/s2tc.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 "0ibfdib277fhbqvxzan0bmglwnsl1y1rw2g8skvz82l1sfmmn752")) (base32 "1fg323fk7wlv2xh6lw66wswgcv6qi8aaadk7c28h2f2lj1s7njnf"))))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
@ -190,12 +192,6 @@ Polygon meshes, and Extruded polygon meshes.")
("libtool" ,libtool))) ("libtool" ,libtool)))
(inputs (inputs
`(("mesa-headers" ,mesa-headers))) `(("mesa-headers" ,mesa-headers)))
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh")))))))
(home-page "https://github.com/divVerent/s2tc") (home-page "https://github.com/divVerent/s2tc")
(synopsis "S3 Texture Compression implementation") (synopsis "S3 Texture Compression implementation")
(description (description
@ -259,7 +255,8 @@ also known as DXTn or DXTC) for Mesa.")
("libxvmc" ,libxvmc) ("libxvmc" ,libxvmc)
,@(match (%current-system) ,@(match (%current-system)
((or "x86_64-linux" "i686-linux") ((or "x86_64-linux" "i686-linux")
`(("llvm" ,llvm))) ;; FIXME: Change to 'llvm' in the next rebuild cycle.
`(("llvm" ,llvm-without-rtti)))
(_ (_
`())) `()))
("makedepend" ,makedepend) ("makedepend" ,makedepend)
@ -728,13 +725,14 @@ mixed vector/bitmap output.")
(version "2.6") (version "2.6")
(source (source
(origin (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/VirtualGL/virtualgl/archive/" (uri (git-reference
version ".tar.gz")) (url "https://github.com/VirtualGL/virtualgl.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1ck1d0w19cgyqvrb9mdlj6l5db90xf18yln71kdninlqxvpgj6h7")))) "0di2igj2bhwb153fndgxks7y57pyhp0gj31n47j93gb7lxc9qcck"))))
(arguments (arguments
`(#:tests? #f ; no tests are available `(#:tests? #f ; no tests are available
#:configure-flags (list #:configure-flags (list

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