summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/linux-modules.scm28
-rw-r--r--gnu/installer.scm1
-rw-r--r--gnu/local.mk22
-rw-r--r--gnu/packages/admin.scm4
-rw-r--r--gnu/packages/audio.scm12
-rw-r--r--gnu/packages/backup.scm4
-rw-r--r--gnu/packages/bioinformatics.scm28
-rw-r--r--gnu/packages/bootloaders.scm2
-rw-r--r--gnu/packages/c.scm14
-rw-r--r--gnu/packages/check.scm16
-rw-r--r--gnu/packages/ci.scm1
-rw-r--r--gnu/packages/clojure.scm19
-rw-r--r--gnu/packages/compression.scm35
-rw-r--r--gnu/packages/cpp.scm15
-rw-r--r--gnu/packages/cran.scm95
-rw-r--r--gnu/packages/crypto.scm28
-rw-r--r--gnu/packages/databases.scm3
-rw-r--r--gnu/packages/datastructures.scm15
-rw-r--r--gnu/packages/debug.scm21
-rw-r--r--gnu/packages/dictionaries.scm6
-rw-r--r--gnu/packages/django.scm2
-rw-r--r--gnu/packages/emacs-xyz.scm6
-rw-r--r--gnu/packages/emulators.scm21
-rw-r--r--gnu/packages/engineering.scm19
-rw-r--r--gnu/packages/games.scm243
-rw-r--r--gnu/packages/gnuzilla.scm225
-rw-r--r--gnu/packages/golang.scm16
-rw-r--r--gnu/packages/gtk.scm1
-rw-r--r--gnu/packages/guile-xyz.scm1841
-rw-r--r--gnu/packages/guile.scm1817
-rw-r--r--gnu/packages/image-processing.scm8
-rw-r--r--gnu/packages/image.scm4
-rw-r--r--gnu/packages/java.scm225
-rw-r--r--gnu/packages/kde-frameworks.scm27
-rw-r--r--gnu/packages/kde.scm6
-rw-r--r--gnu/packages/linux.scm20
-rw-r--r--gnu/packages/llvm.scm5
-rw-r--r--gnu/packages/mail.scm16
-rw-r--r--gnu/packages/man.scm6
-rw-r--r--gnu/packages/maths.scm237
-rw-r--r--gnu/packages/mpi.scm8
-rw-r--r--gnu/packages/music.scm65
-rw-r--r--gnu/packages/networking.scm4
-rw-r--r--gnu/packages/package-management.scm10
-rw-r--r--gnu/packages/patches/combinatorial-blas-awpm.patch67
-rw-r--r--gnu/packages/patches/combinatorial-blas-io-fix.patch14
-rw-r--r--gnu/packages/patches/icecat-avoid-bundled-libraries.patch16
-rw-r--r--gnu/packages/patches/icecat-makeicecat.patch154
-rw-r--r--gnu/packages/patches/icecat-use-system-graphite2+harfbuzz.patch50
-rw-r--r--gnu/packages/patches/icecat-use-system-media-libs.patch87
-rw-r--r--gnu/packages/patches/linkchecker-mark-more-tests-that-require-the-network.patch182
-rw-r--r--gnu/packages/patches/p11-kit-jks-timestamps.patch42
-rw-r--r--gnu/packages/patches/qemu-CVE-2018-16872.patch88
-rw-r--r--gnu/packages/patches/qemu-CVE-2019-6778.patch43
-rw-r--r--gnu/packages/patches/scotch-graph-diam-64.patch27
-rw-r--r--gnu/packages/patches/scotch-graph-induce-type-64.patch19
-rw-r--r--gnu/packages/patches/scotch-integer-declarations.patch37
-rw-r--r--gnu/packages/patches/scotch-test-threading.patch22
-rw-r--r--gnu/packages/patches/superlu-dist-awpm-grid.patch36
-rw-r--r--gnu/packages/patches/x265-detect512-all-arches.patch37
-rw-r--r--gnu/packages/python-crypto.scm28
-rw-r--r--gnu/packages/python-web.scm105
-rw-r--r--gnu/packages/python-xyz.scm139
-rw-r--r--gnu/packages/qt.scm13
-rw-r--r--gnu/packages/sagemath.scm60
-rw-r--r--gnu/packages/scheme.scm7
-rw-r--r--gnu/packages/shells.scm180
-rw-r--r--gnu/packages/skribilo.scm1
-rw-r--r--gnu/packages/statistics.scm47
-rw-r--r--gnu/packages/terminals.scm17
-rw-r--r--gnu/packages/tex.scm78
-rw-r--r--gnu/packages/tls.scm5
-rw-r--r--gnu/packages/video.scm39
-rw-r--r--gnu/packages/virtualization.scm12
-rw-r--r--gnu/packages/web.scm59
-rw-r--r--gnu/packages/wm.scm4
-rw-r--r--gnu/packages/xorg.scm55
-rw-r--r--gnu/services/mcron.scm2
-rw-r--r--gnu/services/xorg.scm6
79 files changed, 4303 insertions, 2676 deletions
diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm
index 2d81175041..d69bcbf5a2 100644
--- a/gnu/build/linux-modules.scm
+++ b/gnu/build/linux-modules.scm
@@ -33,6 +33,7 @@
ensure-dot-ko
module-aliases
module-dependencies
+ module-soft-dependencies
normalize-module-name
file-name->module-name
find-module-file
@@ -100,6 +101,33 @@ contains module names, not actual file names."
(('depends . what)
(string-tokenize what %not-comma)))))
+(define not-softdep-whitespace
+ (char-set-complement (char-set #\space #\tab)))
+
+(define (module-soft-dependencies file)
+ "Return a list of (cons section soft-dependency) of module FILE."
+ ;; TEXT: "pre: baz blubb foo post: bax bar"
+ (define (parse-softdep text)
+ (let loop ((value '())
+ (tokens (string-tokenize text not-softdep-whitespace))
+ (section #f))
+ (match tokens
+ ((token rest ...)
+ (if (string=? (string-take-right token 1) ":") ; section
+ (loop value rest (string-trim-both (string-drop-right token 1)))
+ (loop (cons (cons section token) value) rest section)))
+ (()
+ value))))
+
+ ;; Note: Multiple 'softdep sections are allowed.
+ (let ((info (modinfo-section-contents file)))
+ (concatenate
+ (filter-map (match-lambda
+ (('softdep . value)
+ (parse-softdep value))
+ (_ #f))
+ (modinfo-section-contents file)))))
+
(define (module-aliases file)
"Return the list of aliases of module FILE."
(let ((info (modinfo-section-contents file)))
diff --git a/gnu/installer.scm b/gnu/installer.scm
index 2ae139b13f..479d940b4a 100644
--- a/gnu/installer.scm
+++ b/gnu/installer.scm
@@ -31,6 +31,7 @@
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages disk)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz)
#:autoload (gnu packages gnupg) (guile-gcrypt)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages linux)
diff --git a/gnu/local.mk b/gnu/local.mk
index f339f32e73..ee8b13d2fb 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1,13 +1,13 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
-# Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Andreas Enge <andreas@enge.fr>
+# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
-# Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
+# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
# Copyright © 2016, 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
# Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
-# Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
+# Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
# Copyright © 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
# Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
@@ -220,6 +220,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gtk.scm \
%D%/packages/guile.scm \
%D%/packages/guile-wm.scm \
+ %D%/packages/guile-xyz.scm \
%D%/packages/gv.scm \
%D%/packages/gxmessage.scm \
%D%/packages/hardware.scm \
@@ -394,6 +395,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/rush.scm \
%D%/packages/rust.scm \
%D%/packages/samba.scm \
+ %D%/packages/sagemath.scm \
%D%/packages/sawfish.scm \
%D%/packages/scanner.scm \
%D%/packages/scheme.scm \
@@ -595,6 +597,7 @@ GNU_SYSTEM_MODULES += \
%D%/installer/newt/partition.scm \
%D%/installer/newt/services.scm \
%D%/installer/newt/timezone.scm \
+ %D%/installer/newt/user.scm \
%D%/installer/newt/utils.scm \
%D%/installer/newt/welcome.scm \
%D%/installer/newt/wifi.scm
@@ -691,6 +694,8 @@ dist_patch_DATA = \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/clx-remove-demo.patch \
%D%/packages/patches/coda-use-system-libs.patch \
+ %D%/packages/patches/combinatorial-blas-awpm.patch \
+ %D%/packages/patches/combinatorial-blas-io-fix.patch \
%D%/packages/patches/cool-retro-term-dont-check-uninit-member.patch \
%D%/packages/patches/cool-retro-term-fix-array-size.patch \
%D%/packages/patches/cool-retro-term-memory-leak-1.patch \
@@ -879,6 +884,7 @@ dist_patch_DATA = \
%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/icecat-makeicecat.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
%D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \
%D%/packages/patches/icecat-use-system-media-libs.patch \
@@ -995,6 +1001,7 @@ dist_patch_DATA = \
%D%/packages/patches/lierolibre-newer-libconfig.patch \
%D%/packages/patches/lierolibre-remove-arch-warning.patch \
%D%/packages/patches/lierolibre-try-building-other-arch.patch \
+ %D%/packages/patches/linkchecker-mark-more-tests-that-require-the-network.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/lirc-localstatedir.patch \
%D%/packages/patches/lirc-reproducible-build.patch \
@@ -1090,6 +1097,7 @@ dist_patch_DATA = \
%D%/packages/patches/osip-CVE-2017-7853.patch \
%D%/packages/patches/ots-no-include-missing-file.patch \
%D%/packages/patches/owncloud-disable-updatecheck.patch \
+ %D%/packages/patches/p11-kit-jks-timestamps.patch \
%D%/packages/patches/p7zip-CVE-2016-9296.patch \
%D%/packages/patches/p7zip-CVE-2017-17969.patch \
%D%/packages/patches/p7zip-remove-unused-code.patch \
@@ -1174,6 +1182,8 @@ dist_patch_DATA = \
%D%/packages/patches/python-unittest2-remove-argparse.patch \
%D%/packages/patches/python-waitress-fix-tests.patch \
%D%/packages/patches/qemu-glibc-2.27.patch \
+ %D%/packages/patches/qemu-CVE-2018-16872.patch \
+ %D%/packages/patches/qemu-CVE-2019-6778.patch \
%D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/qtbase-use-TZDIR.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
@@ -1210,10 +1220,8 @@ dist_patch_DATA = \
%D%/packages/patches/rust-reproducible-builds.patch \
%D%/packages/patches/rxvt-unicode-escape-sequences.patch \
%D%/packages/patches/scheme48-tests.patch \
- %D%/packages/patches/scotch-test-threading.patch \
%D%/packages/patches/scotch-build-parallelism.patch \
- %D%/packages/patches/scotch-graph-diam-64.patch \
- %D%/packages/patches/scotch-graph-induce-type-64.patch \
+ %D%/packages/patches/scotch-integer-declarations.patch \
%D%/packages/patches/scribus-poppler.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
@@ -1232,6 +1240,7 @@ dist_patch_DATA = \
%D%/packages/patches/sssd-curl-compat.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/streamlink-update-test.patch \
+ %D%/packages/patches/superlu-dist-awpm-grid.patch \
%D%/packages/patches/superlu-dist-scotchmetis.patch \
%D%/packages/patches/swig-guile-gc.patch \
%D%/packages/patches/swish-e-search.patch \
@@ -1327,7 +1336,6 @@ dist_patch_DATA = \
%D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \
%D%/packages/patches/wpa-supplicant-krack-followups.patch \
%D%/packages/patches/x265-arm-flags.patch \
- %D%/packages/patches/x265-detect512-all-arches.patch \
%D%/packages/patches/xboing-CVE-2004-0149.patch \
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
%D%/packages/patches/xf86-video-geode-glibc-2.20.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 0c0ec3d4bc..dd98e087a8 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1569,9 +1569,7 @@ specified directories.")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/g/graphios/graphios-"
- version ".tar.gz"))
+ (uri (pypi-uri "graphios" version))
(sha256
(base32
"1h87hvc315wg6lklbf4l7csd3n5pgljwrfli1p3nasdi0izgn66i"))))
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 658f23e45d..64f826b3f0 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
@@ -1805,11 +1805,7 @@ implementation of the Open Sound Control (@dfn{OSC}) protocol.")
(source
(origin
(method url-fetch)
- (uri
- (string-append
- "https://pypi.python.org/packages/ab/42/"
- "b4f04721c5c5bfc196ce156b3c768998ef8c0ae3654ed29ea5020c749a6b"
- "/PyAudio-" version ".tar.gz"))
+ (uri (pypi-uri "PyAudio" version))
(sha256
(base32
"0x7vdsigm7xgvyg3shd3lj113m8zqj2pxmrgdyj66kmnw0qdxgwk"))))
@@ -2213,7 +2209,7 @@ background file post-processing.")
(define-public supercollider
(package
(name "supercollider")
- (version "3.10.0")
+ (version "3.10.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2222,7 +2218,7 @@ background file post-processing.")
"/SuperCollider-" version "-Source-linux.tar.bz2"))
(sha256
(base32
- "16j9psa32czx1p1y2vvq0qf2ib0ngrfc604vx35n2b4llyika84v"))))
+ "1yszs9j3sjk8hb8xxz30z3nd4j899ymb9mw9y1v26ikd603d1iig"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on"
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 5d9013552e..d50c7e4fdc 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -638,9 +638,7 @@ to not fully trusted targets. Borg is a fork of Attic.")
(version "0.16")
(source (origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/A/Attic/Attic-"
- version ".tar.gz"))
+ (uri (pypi-uri "Attic" version))
(sha256
(base32
"0b5skd36r4c0915lwpkqg5hxm49gls9pprs1b7hc40910wlcsl36"))))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 28dbdca13b..23eba74175 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -72,6 +72,7 @@
#:use-module (gnu packages graph)
#:use-module (gnu packages groff)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz)
#:use-module (gnu packages haskell)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages haskell-web)
@@ -4503,9 +4504,7 @@ files and writing bioinformatics applications.")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/W/WarpedLMM/WarpedLMM-"
- version ".zip"))
+ (uri (pypi-uri "WarpedLMM" version ".zip"))
(sha256
(base32
"1agfz6zqa8nc6cw47yh0s3y14gkpa9wqazwcj7mwwj3ffnw39p3j"))))
@@ -6021,7 +6020,7 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
(define-public star
(package
(name "star")
- (version "2.6.0c")
+ (version "2.7.0a")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -6030,7 +6029,7 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "04cj6jw8d9q6lk9c78wa4fky6jdlicf1d13plq7182h8vqiz8p59"))
+ "1yx28gra6gqdx1ps5y8mpdinsn8r0dhsc2m3gcvjfrk71i9yhd6l"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -7183,14 +7182,14 @@ checks on R packages that are to be submitted to the Bioconductor repository.")
(define-public r-optparse
(package
(name "r-optparse")
- (version "1.6.0")
+ (version "1.6.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "optparse" version))
(sha256
(base32
- "1d7v5gl45x4amsfmzn5zyyffyqlc7a82h01szlnda22viyxids0h"))))
+ "04vyb6dhcga30mvghsg1p052jmf69xqxkvh3hzqz7dscyppy76w1"))))
(build-system r-build-system)
(propagated-inputs
`(("r-getopt" ,r-getopt)))
@@ -7388,13 +7387,13 @@ CAGE.")
(define-public r-variantannotation
(package
(name "r-variantannotation")
- (version "1.28.8")
+ (version "1.28.10")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "VariantAnnotation" version))
(sha256
(base32
- "0gf36lr9xy3zmcc4rxs5bi2ccrrc7b6wqp6p3cvnclgif4i0l66k"))))
+ "0kxf583cgkdz1shi85r0mpnfxmzi7s5f6srd1czbdl2iibvrm8jn"))))
(properties
`((upstream-name . "VariantAnnotation")))
(inputs
@@ -7829,13 +7828,13 @@ as well as query and modify the browser state, such as the current viewport.")
(define-public r-genomicfeatures
(package
(name "r-genomicfeatures")
- (version "1.34.1")
+ (version "1.34.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomicFeatures" version))
(sha256
(base32
- "0slq6hv5bmc3bgrl824jzmr6db3fvaj6b7ihwmdn76pgqqbq2fq6"))))
+ "0qs94b0ywrjyc9m1jykrbch3lb07576m508dikvx18vwn304mban"))))
(properties
`((upstream-name . "GenomicFeatures")))
(build-system r-build-system)
@@ -8486,7 +8485,7 @@ throughput genetic sequencing data sets using regression methods.")
(define-public r-qtl
(package
(name "r-qtl")
- (version "1.42-8")
+ (version "1.44-9")
(source
(origin
(method url-fetch)
@@ -8494,7 +8493,7 @@ throughput genetic sequencing data sets using regression methods.")
version ".tar.gz"))
(sha256
(base32
- "1l528dwvfpdlr05imrrm4rq32axp6hld9nqm6mm43kn5n7z2f5k6"))))
+ "03lmvydln8b7666b6w46qbryhf83vsd11d4y2v95rfgvqgq66l1i"))))
(build-system r-build-system)
(home-page "http://rqtl.org/")
(synopsis "R package for analyzing QTL experiments in genetics")
@@ -9131,8 +9130,7 @@ may optionally be provided to further inform the peak-calling process.")
(version "1.0.9")
(source (origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/P"
- "/PePr/PePr-" version ".tar.gz"))
+ (uri (pypi-uri "PePr" version))
(sha256
(base32
"0qxjfdpl1b1y53nccws2d85f6k74zwmx8y8sd9rszcqhfayx6gdx"))))
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index a4b4f64783..0fbf481893 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -516,7 +516,7 @@ board-independent tools.")))
(lambda* (#:key outputs make-flags #:allow-other-keys)
(let ((config-name (string-append ,board "_defconfig")))
(if (file-exists? (string-append "configs/" config-name))
- (zero? (apply system* "make" `(,@make-flags ,config-name)))
+ (apply invoke "make" `(,@make-flags ,config-name))
(begin
(display "Invalid board name. Valid board names are:"
(current-error-port))
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index c5141451f0..3b20e84a91 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,8 +38,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gettext)
- #:use-module (gnu packages pkg-config)
- #:use-module (srfi srfi-1))
+ #:use-module (gnu packages pkg-config))
(define-public tcc
(package
@@ -69,11 +69,15 @@
"/include:{B}/include")
(string-append "--libpaths="
(assoc-ref %build-inputs "libc")
- "/lib"))
+ "/lib")
+ ,@(if (string-prefix? "armhf-linux"
+ (or (%current-target-system)
+ (%current-system)))
+ `("--triplet=arm-linux-gnueabihf")
+ '()))
#:test-target "test"))
;; Fails to build on MIPS: "Unsupported CPU"
- (supported-systems (fold delete %supported-systems
- '("mips64el-linux" "aarch64-linux")))
+ (supported-systems (delete "mips64el-linux" %supported-systems))
(synopsis "Tiny and fast C compiler")
(description
"TCC, also referred to as \"TinyCC\", is a small and fast C compiler
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 439a668dd7..64af7ea097 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1133,9 +1133,7 @@ Python tests.")))
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/t/testrepository/testrepository-"
- version ".tar.gz"))
+ (uri (pypi-uri "testrepository" version))
(sha256
(base32
"1ssqb07c277010i6gzzkbdd46gd9mrj0bi0i8vn560n2k2y4j93m"))))
@@ -1307,9 +1305,7 @@ tools for mocking system commands and recording calls to those.")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/t/testlib/testlib-"
- version ".zip"))
+ (uri (pypi-uri "testlib" version ".zip"))
(sha256
(base32 "1mz26cxn4x8bbgv0rn0mvj2z05y31rkc8009nvdlb3lam5b4mj3y"))))
(build-system python-build-system)
@@ -1806,9 +1802,7 @@ especially -cover-package.")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/d/discover/discover-"
- version ".tar.gz"))
+ (uri (pypi-uri "discover" version))
(sha256
(base32
"0y8d0zwiqar51kxj8lzmkvwc3b8kazb04gk5zcb4nzg5k68zmhq5"))))
@@ -2039,13 +2033,13 @@ mocks, stubs and fakes.")
(define-public python-flaky
(package
(name "python-flaky")
- (version "3.4.0")
+ (version "3.5.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "flaky" version))
(sha256
(base32
- "18pkmf79rfkfpy1d2rrx3v55nxj762ilyk9rvd6s6dccxw58imsa"))))
+ "1nm1kjf857z5aw7v642ffsy1vwf255c6wjvmil71kckjyd0mxg8j"))))
(build-system python-build-system)
(arguments
;; TODO: Tests require 'coveralls' and 'genty' which are not in Guix yet.
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index bd4a3d3509..6533fb302d 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -32,6 +32,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages mail)
#:use-module (gnu packages package-management)
diff --git a/gnu/packages/clojure.scm b/gnu/packages/clojure.scm
index 1dba4cef87..8112b65278 100644
--- a/gnu/packages/clojure.scm
+++ b/gnu/packages/clojure.scm
@@ -65,15 +65,16 @@
(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"))))
+ (version "1.10.0")
+ (source (let ((name+version (string-append name "-" version)))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/clojure/clojure")
+ (commit name+version)))
+ (file-name (string-append name+version "-checkout"))
+ (sha256
+ (base32 "1kcyv2836acs27vi75hvf3r773ahv2nlh9b3j9xa9m9sdanz1h83")))))
(build-system ant-build-system)
(arguments
`(#:imported-modules ((guix build clojure-utils)
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 261746f08a..b6f07dfa9a 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -12,7 +12,7 @@
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 David Craven <david@craven.ch>
-;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
+;;; Copyright © 2016, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
@@ -434,6 +434,39 @@ than gzip and 15 % smaller output than bzip2.")
(license (list license:gpl2+ license:lgpl2.1+)) ; bits of both
(home-page "https://tukaani.org/xz/")))
+(define-public lhasa
+ (package
+ (name "lhasa")
+ (version "0.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/fragglet/lhasa/releases/download/v"
+ version "/lhasa-" version ".tar.gz"))
+ (sha256
+ (base32
+ "092zi9av18ma20c6h9448k0bapvx2plnp292741dvfd9hmgqxc1z"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'set-up-test-environment
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")
+ "/share/zoneinfo"))
+ #t)))))
+ (native-inputs
+ `(("tzdata" ,tzdata)))
+ (home-page "https://fragglet.github.com/lhasa/")
+ (synopsis "LHA archive decompressor")
+ (description "Lhasa is a replacement for the Unix LHA tool, for
+decompressing .lzh (LHA / LHarc) and .lzs (LArc) archives. The backend for the
+tool is a library, so that it can be reused for other purposes. Lhasa aims to
+be compatible with as many types of lzh/lzs archives as possible. It also aims
+to generate the same output as the (non-free) Unix LHA tool, so that it will
+act as a free drop-in replacement.")
+ (license license:isc)))
+
(define-public lzo
(package
(name "lzo")
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index f5aa447a79..4e8f12248f 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -203,15 +203,16 @@ as ordering relation.")
(package
(name "json-modern-cxx")
(version "3.1.2")
+ (home-page "https://github.com/nlohmann/json")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/nlohmann/json/archive/v" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit (string-append "v" version))))
(sha256
(base32
- "0m5fhdpx2qll933db2nsi30nns3cifavzvijzz6mxhdkpmngmzz8"))
- (file-name (string-append name "-" version ".tar.gz"))
+ "1mpr781fb2dfbyscrr7nil75lkxsazg4wkm749168lcf2ksrrbfi"))
+ (file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
'(begin
@@ -227,13 +228,13 @@ as ordering relation.")
(substitute* files
(("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
(string-append
- "#include <fifo_map/" fifo-map-hpp ">")))))))))
+ "#include <fifo_map/" fifo-map-hpp ">")))))
+ #t))))
(native-inputs
`(("amalgamate" ,amalgamate)))
(inputs
`(("catch2" ,catch-framework2)
("fifo-map" ,fifo-map)))
- (home-page "https://github.com/nlohmann/json")
(build-system cmake-build-system)
(synopsis "JSON parser and printer library for C++")
(description "JSON for Modern C++ is a C++ JSON library that provides
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 1bd20b12d3..f6f4a08aab 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -83,6 +83,52 @@
the system clipboards.")
(license license:gpl3)))
+(define-public r-sys
+ (package
+ (name "r-sys")
+ (version "2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "sys" version))
+ (sha256
+ (base32
+ "10ml2492bdllh6cz2zl192ip0fdgjkkgayggd3ghswsj5gjv5hrh"))))
+ (build-system r-build-system)
+ (home-page "https://github.com/jeroen/sys")
+ (synopsis "Powerful and reliable tools for running system commands in R")
+ (description
+ "This package provides drop-in replacements for the base @code{system2()}
+function with fine control and consistent behavior across platforms. It
+supports clean interruption, timeout, background tasks, and streaming STDIN /
+STDOUT / STDERR over binary or text connections. The package also provides
+functions for evaluating expressions inside a temporary fork. Such
+evaluations have no side effects on the main R process, and support reliable
+interrupts and timeouts. This provides the basis for a sandboxing
+mechanism.")
+ (license license:expat)))
+
+(define-public r-askpass
+ (package
+ (name "r-askpass")
+ (version "1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "askpass" version))
+ (sha256
+ (base32
+ "07q0ik8jzk44vpwh48rr3fnpd7dzsdhjjsl4l850rffv3dyq4h6v"))))
+ (build-system r-build-system)
+ (propagated-inputs `(("r-sys" ,r-sys)))
+ (home-page "https://github.com/jeroen/askpass")
+ (synopsis "Safe password entry for R")
+ (description
+ "This package provides cross-platform utilities for prompting the user
+for credentials or a passphrase, for example to authenticate with a server or
+read a protected key.")
+ (license license:expat)))
+
(define-public r-vegan
(package
(name "r-vegan")
@@ -927,14 +973,14 @@ applications. That is, compute distances and related measures for angular
(define-public r-ggmap
(package
(name "r-ggmap")
- (version "2.6.1")
+ (version "2.6.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggmap" version))
(sha256
(base32
- "0mssb09w818jv58h7mly9y181pzv22sgcd4a079cfpq04bs0wigw"))))
+ "144x6ycb2c3fvy5c68ww53m6gzi6kfvas7cpbn071z08n4xgb72f"))))
(build-system r-build-system)
(propagated-inputs
`(("r-digest" ,r-digest)
@@ -1062,13 +1108,13 @@ XML. To learn more about the Abbyy OCR API, see @url{http://ocrsdk.com/}.")
(define-public r-colorspace
(package
(name "r-colorspace")
- (version "1.3-2")
+ (version "1.4-0")
(source
(origin
(method url-fetch)
(uri (cran-uri "colorspace" version))
(sha256
- (base32 "0d1ya7hx4y58n5ivwmdmq2zgh0g2sbv7ykh13n85c1355csd57yx"))))
+ (base32 "0mpmvz2sycjp4c9y3v3qin7mdjy812hwi7cyjnblcw6xb1ckq06f"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/colorspace")
(synopsis "Color space manipulation")
@@ -2038,14 +2084,14 @@ functions from LINPACK.")
(define-public r-fitdistrplus
(package
(name "r-fitdistrplus")
- (version "1.0-11")
+ (version "1.0-14")
(source
(origin
(method url-fetch)
(uri (cran-uri "fitdistrplus" version))
(sha256
(base32
- "12hckg3y5j3zh9q1gwxkc27q813p2r42iqp7wdfiq6nj55jrh6w6"))))
+ "10q08wsv8v3w7797jdvvv60bgrf1bi6438wf0jcqv81ays82a245"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mass" ,r-mass)
@@ -2809,14 +2855,14 @@ Laplace approximation and adaptive Gauss-Hermite quadrature.")
(define-public r-jomo
(package
(name "r-jomo")
- (version "2.6-5")
+ (version "2.6-6")
(source
(origin
(method url-fetch)
(uri (cran-uri "jomo" version))
(sha256
(base32
- "109q5m69clrvvialxdxznd0wdb54ajhx84nj8slx8bf909a427mj"))))
+ "1048qb12cx7fs156jcqzwkfmsjadkgnrqd0krznyxpn873zr9lq2"))))
(build-system r-build-system)
(propagated-inputs
`(("r-lme4" ,r-lme4)
@@ -3042,16 +3088,18 @@ structure.")
(define-public r-vioplot
(package
(name "r-vioplot")
- (version "0.2")
+ (version "0.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "vioplot" version))
(sha256
(base32
- "16wkb26kv6qr34hv5zgqmgq6zzgysg9i78pvy2c097lr60v087v0"))))
+ "1ddmmqq7qrnvr5q518afnysrl7ccr8am9njknv3dpwaqzcdr9akn"))))
(build-system r-build-system)
- (propagated-inputs `(("r-sm" ,r-sm)))
+ (propagated-inputs
+ `(("r-sm" ,r-sm)
+ ("r-zoo" ,r-zoo)))
(home-page "http://wsopuppenkiste.wiso.uni-goettingen.de/~dadler")
(synopsis "Violin plot")
(description
@@ -7222,13 +7270,13 @@ series.")
(define-public r-acceptancesampling
(package
(name "r-acceptancesampling")
- (version "1.0-5")
+ (version "1.0-6")
(source
(origin
(method url-fetch)
(uri (cran-uri "AcceptanceSampling" version))
(sha256
- (base32 "18krmmyn8pn11aqd81kbvka68lnd36mnpdh7p3pz9r4m4vjj007x"))))
+ (base32 "1z3rmln63ki2kik9kinbwr9qhr32ggbmh4mm3xqy6di119n47ca9"))))
(properties
`((upstream-name . "AcceptanceSampling")))
(build-system r-build-system)
@@ -7320,14 +7368,14 @@ cross-sectional, time series, clustered, panel, and longitudinal data.")
(define-public r-th-data
(package
(name "r-th-data")
- (version "1.0-9")
+ (version "1.0-10")
(source
(origin
(method url-fetch)
(uri (cran-uri "TH.data" version))
(sha256
(base32
- "03xfvww0krw0fn76qmmvrj7dx4shin57qafwhkrggfg25hbqlcfq"))))
+ "0mgz7aj2d9abbmdr65zgmg1ddp3fdbs3mfj83r5xadh5ldkir2k1"))))
(properties `((upstream-name . "TH.data")))
(build-system r-build-system)
(propagated-inputs
@@ -7371,14 +7419,14 @@ Hothorn, Westfall, 2010, CRC Press).")
(define-public r-emmeans
(package
(name "r-emmeans")
- (version "1.3.1")
+ (version "1.3.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "emmeans" version))
(sha256
(base32
- "1sf7gmdb7aqhdpx489vg693ivc5677n4yjx27ixv8v7pjh8mlwwx"))))
+ "0mg6y007hfmr601cq4jgxl5ncwbx79kkh7xs2i504m0rinxj8bf5"))))
(build-system r-build-system)
(propagated-inputs
`(("r-estimability" ,r-estimability)
@@ -8490,18 +8538,17 @@ Scientific.")
(define-public r-activity
(package
(name "r-activity")
- (version "1.1")
+ (version "1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "activity" version))
(sha256
(base32
- "1lqajgxfps2h6amz1791vp3f52rs9ghmanq1nqfxqd2jmk3idkrx"))))
+ "11w2bz6p9xbzdh6773dmbbh6rws0h5dj18p8m0ivzizgq932vdzs"))))
(build-system r-build-system)
(propagated-inputs
`(("r-circular" ,r-circular)
- ("r-overlap" ,r-overlap)
("r-pbapply" ,r-pbapply)))
(home-page "https://cran.r-project.org/web/packages/activity/")
(synopsis "Animal activity statistics")
@@ -8697,14 +8744,14 @@ in-memory raw vectors.")
(define-public r-waveslim
(package
(name "r-waveslim")
- (version "1.7.5")
+ (version "1.7.5.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "waveslim" version))
(sha256
(base32
- "0lqslkihgrd7rbihqhhk57m9vkbnfsznkvk8430cvbcsn7vridii"))))
+ "0mky0nb4xxp8rybp87mxw2f1q6k400wpxv01zr4injv7ja6028xk"))))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
@@ -9540,14 +9587,14 @@ limitations\" using the GNU Multiple Precision library.")
(define-public r-rmpfr
(package
(name "r-rmpfr")
- (version "0.7-1")
+ (version "0.7-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "Rmpfr" version))
(sha256
(base32
- "0172px5ryi7i0gyyin9z2bzif8vnj292gk0s1w5p3c12g9hj2c4v"))))
+ "1zq3as34r27v2yc729731997wdhxb6cs5ilmak4nmsljabnac7gc"))))
(properties `((upstream-name . "Rmpfr")))
(build-system r-build-system)
(inputs
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index bef8235a97..ffef4ff8e4 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
-;;; Copyright © 2016, 2017 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2016, 2017, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
@@ -901,3 +901,29 @@ Features:
@end itemize\n")
(home-page "https://github.com/bitcoin-core/secp256k1")
(license license:unlicense))))
+
+(define-public stoken
+ (package
+ (name "stoken")
+ (version "0.92")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/stoken/"
+ "stoken-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0npgr6y85gzwksy8jkwa4yzvqwjprwnplx3yiw3ayk4f0ldlhaxa"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("nettle" ,nettle)
+ ("libxml2" ,libxml2)))
+ (home-page "http://stoken.sf.net")
+ (synopsis "Software Token for cryptographic authentication")
+ (description
+ "@code{stoken} is a token code generator compatible with RSA SecurID
+128-bit (AES) tokens. This package contains a standalone command-line program
+that allows for importing token seeds, generating token codes, and various
+utility/testing functions.")
+ (license license:lgpl2.1+)))
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 079d303fca..96e84de685 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -2093,8 +2093,7 @@ Database API 2.0T.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/S/"
- "SQLAlchemy/SQLAlchemy-" version ".tar.gz"))
+ (uri (pypi-uri "SQLAlchemy" version))
(sha256
(base32
"094mmbs4igrxplfyqd59j90jb83ixpbbzqc0w49yw81m82nnjrgg"))))
diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm
index c3e96a0b12..27fe882043 100644
--- a/gnu/packages/datastructures.scm
+++ b/gnu/packages/datastructures.scm
@@ -25,6 +25,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu))
@@ -149,13 +150,14 @@ queues, stacks, and doubly-linked lists.")
(version "2.0.2")
(source
(origin
- (method url-fetch)
- (file-name (string-append name "-" version ".tar.gz"))
- (uri (string-append "https://github.com/troydhanson/uthash/archive/v"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/troydhanson/uthash.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1la82gdlyl7m8ahdjirigwfh7zjgkc24cvydrqcri0vsvm8iv8rl"))))
+ "0kslz8k6lssh7fl7ayzwlj62p0asxs3dq03357ls5ywjad238gqg"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)))
@@ -169,8 +171,7 @@ queues, stacks, and doubly-linked lists.")
(replace 'check
(lambda* (#:key make-flags #:allow-other-keys)
(with-directory-excursion "tests"
- (zero? (apply system* "make"
- make-flags)))))
+ (apply invoke "make" make-flags))))
(replace 'install
;; There is no top-level Makefile to do this for us.
(lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 4e63c81b64..0f4a654e62 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -194,10 +194,8 @@ tools that process C/C++ code.")
(patch-dir
(string-append afl-dir
"/qemu_mode/patches")))
- (unless (zero?
- (system* "tar" "xf"
- (assoc-ref inputs "afl-src")))
- (error "tar failed to unpack afl-src"))
+ (invoke "tar" "xf"
+ (assoc-ref inputs "afl-src"))
(install-file (string-append patch-dir
"/afl-qemu-cpu-inl.h")
".")
@@ -210,11 +208,12 @@ tools that process C/C++ code.")
(substitute* (string-append patch-dir
"/cpu-exec.diff")
(("\\.\\./patches/") ""))
- (every (lambda (patch-file)
- (zero? (system* "patch" "--force" "-p1"
- "--input" patch-file)))
- (find-files patch-dir
- "\\.diff$"))))))))))))))
+ (for-each (lambda (patch-file)
+ (invoke "patch" "--force" "-p1"
+ "--input" patch-file))
+ (find-files patch-dir
+ "\\.diff$"))
+ #t))))))))))))
(arguments
`(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"CC=gcc")
@@ -291,7 +290,7 @@ down the road.")
(modify-phases %standard-phases
(add-after 'unpack 'unpack-make
(lambda* (#:key inputs #:allow-other-keys)
- (zero? (system* "tar" "xf" (assoc-ref inputs "make-source")))))
+ (invoke "tar" "xf" (assoc-ref inputs "make-source"))))
(add-after 'unpack-make 'set-default-shell
(lambda _
;; Taken mostly directly from (@ (gnu packages base) gnu-make)
@@ -301,7 +300,7 @@ down the road.")
(which "sh"))))))
(add-before 'configure 'repack-make
(lambda _
- (zero? (system* "tar" "cJf" "./make.tar.xz" ,make-dir))))))))
+ (invoke "tar" "cJf" "./make.tar.xz" ,make-dir)))))))
(home-page "https://github.com/losalamos/stress-make")
(synopsis "Expose race conditions in Makefiles")
(description
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index 9e06ac7124..8c39453650 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -176,8 +176,7 @@ work, such as sentence length and other readability measures.")
(delete 'configure)
(delete 'build)
(delete 'check)
- (replace
- 'install
+ (replace 'install
(lambda _
(let ((bindir (string-append
(assoc-ref %outputs "out") "/bin"))
@@ -209,8 +208,7 @@ work, such as sentence length and other readability measures.")
(string-append "DEFLIBDIR=\"" libdir "\"")))
(install-file "ding.desktop" sharedir)
(install-file "ding.png" sharedir)
- (zero?
- (system* "./install.sh"))))))))
+ (invoke "./install.sh")))))))
(synopsis "Dictionary lookup program with a German-English dictionary")
(description "Ding is a dictionary lookup program for the X window system.
It comes with a German-English dictionary with approximately 270,000 entries.")
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 848b1c63cb..a2fa1db036 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -74,7 +74,7 @@
(string-split (getenv "PYTHONPATH")
#\:))
"', ")))
- (zero? (system* "python" "tests/runtests.py")))))))
+ (invoke "python" "tests/runtests.py"))))))
;; TODO: Install extras/django_bash_completion.
(native-inputs
`(("tzdata" ,tzdata-for-tests)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index bd084bd2d8..29b4487d05 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
-;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
@@ -3803,7 +3803,7 @@ automatically.")
(define-public emacs-ivy
(package
(name "emacs-ivy")
- (version "0.10.0")
+ (version "0.11.0")
(source
(origin
(method git-fetch)
@@ -3813,7 +3813,7 @@ automatically.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "14vnigqb5c3yi4q9ysw1fiwdqyqwyklqpb9wnjf81chm7s2mshnr"))))
+ "009n8zjycs62cv4i1k9adbb284wz2w3r13xki2740sj34k683v13"))))
(build-system emacs-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 9a0d1e9b17..19050af1ed 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -406,15 +406,16 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
(define-public mgba
(package
(name "mgba")
- (version "0.6.3")
+ (version "0.7.0")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/mgba-emu/mgba/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mgba-emu/mgba.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "16hgs6r5iym3lp2cjcnv9955333976yc5sgy2kkxlsi005n91j1m"))
+ "0s4dl4pi8rxqahvzxnh37xdgsfax36cn5wlh1srdcmabwsrfpb3w"))
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.
@@ -430,9 +431,7 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
`(#:tests? #f ;no "test" target
#:configure-flags
(list "-DUSE_LZMA=OFF" ;do not use bundled LZMA
- "-DUSE_LIBZIP=OFF" ;use "zlib" instead
- (string-append "-DCMAKE_INSTALL_LIBDIR="
- (assoc-ref %outputs "out") "/lib"))))
+ "-DUSE_LIBZIP=OFF"))) ;use "zlib" instead
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("ffmpeg" ,ffmpeg)
("imagemagick" ,imagemagick)
@@ -1184,7 +1183,7 @@ play them on systems for which they were never designed!")
(define-public mame
(package
(name "mame")
- (version "0.205")
+ (version "0.206")
(source
(origin
(method git-fetch)
@@ -1194,7 +1193,7 @@ play them on systems for which they were never designed!")
(file-name (git-file-name name version))
(sha256
(base32
- "1q5z18rlmas598fxga8jr2d6xdngdzjab49xfy4hffdmlq624lw7"))
+ "0i01h5ars1yd96ndmzhk47931hf261m8frqz1ha7s2gy52f0q86y"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 9501e772fd..ea5dd885d1 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -420,7 +420,7 @@ featuring various improvements and bug fixes.")))
;; FIXME: with texlive-tiny citation references are rendered as question
;; marks. During the build warnings like these are printed:
;; LaTeX Warning: Citation `nabors91' on page 2 undefined on input line 3.
- `(("texlive" ,texlive-tiny)
+ `(("texlive" ,(texlive-union (list texlive-fonts-amsfonts)))
("ghostscript" ,ghostscript)))
(arguments
`(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all")
@@ -432,8 +432,7 @@ featuring various improvements and bug fixes.")))
(modify-phases %standard-phases
(add-after 'build 'make-doc
(lambda _
- (zero? (system* "make" "CC=gcc" "RM=rm" "SHELL=sh"
- "manual"))))
+ (invoke "make" "CC=gcc" "RM=rm" "SHELL=sh" "manual")))
(add-before 'make-doc 'fix-doc
(lambda _
(substitute* "doc/Makefile" (("/bin/rm") (which "rm")))
@@ -474,13 +473,13 @@ featuring various improvements and bug fixes.")))
(setenv "HOME" "/tmp") ; FIXME: for texlive font cache
(with-directory-excursion "doc"
(and
- (every (lambda (file)
- (zero? (system* "dvips" file "-o")))
- (find-files "." "\\.dvi"))
- (every (lambda (file)
- (zero? (system* "ps2pdf" file)))
- '("mtt.ps" "ug.ps" "tcad.ps"))
- (zero? (system* "make" "clean"))))))
+ (for-each (lambda (file)
+ (invoke "dvips" file "-o"))
+ (find-files "." "\\.dvi"))
+ (for-each (lambda (file)
+ (invoke "ps2pdf" file))
+ '("mtt.ps" "ug.ps" "tcad.ps"))
+ (invoke "make" "clean")))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 3fb284618b..07f36bba4e 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -70,6 +70,7 @@
#:use-module (gnu packages admin)
#:use-module (gnu packages audio)
#:use-module (gnu packages avahi)
+ #:use-module (gnu packages assembly)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
@@ -155,7 +156,9 @@
#:use-module (guix build-system scons)
#:use-module (guix build-system python)
#:use-module (guix build-system cmake)
- #:use-module (guix build-system trivial))
+ #:use-module (guix build-system trivial)
+ #:use-module ((srfi srfi-1) #:hide (zip))
+ #:use-module (srfi srfi-26))
(define-public armagetronad
(package
@@ -337,14 +340,14 @@ and against the others like yourself, that want what you have.")
(delete 'build) ; nothing to be built
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
- (zero? (system* "sh" "install.sh"
- (assoc-ref outputs "out")))))
+ (invoke "sh" "install.sh"
+ (assoc-ref outputs "out"))))
(delete 'check)
(add-after 'install 'check
(lambda* (#:key outputs #:allow-other-keys)
- (zero? (system* (string-append (assoc-ref outputs "out")
- "/bin/cowsay")
- "We're done!")))))))
+ (invoke (string-append (assoc-ref outputs "out")
+ "/bin/cowsay")
+ "We're done!"))))))
(inputs
`(("perl" ,perl)))
(home-page (string-append "https://web.archive.org/web/20071026043648/"
@@ -1364,9 +1367,8 @@ a C library, so they can easily be integrated into other programs.")
;; variables passed as arguments.
(let ((out (assoc-ref outputs "out")))
(setenv "CONFIG_SHELL" (which "bash"))
- (zero?
- (system* "./configure"
- (string-append "--prefix=" out)))))))))
+ (invoke "./configure"
+ (string-append "--prefix=" out))))))))
(inputs `(("ncurses" ,ncurses)))
(home-page "http://www.asty.org/cmatrix")
(synopsis "Simulate the display from \"The Matrix\"")
@@ -1535,61 +1537,6 @@ fully interactive graphical interface and it can load and save games in the
Portable Game Notation.")
(license license:gpl3+)))
-
-(define-public xboing
- (package
- (name "xboing")
- (version "2.4")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "http://www.techrescue.org/xboing/xboing"
- version ".tar.gz"))
- (sha256
- (base32 "16m2si8wmshxpifk861vhpqviqxgcg8bxj6wfw8hpnm4r2w9q0b7"))
- (patches (search-patches "xboing-CVE-2004-0149.patch"))))
- (arguments
- `(#:tests? #f
- #:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
-
- (substitute* "Imakefile"
- (("XPMINCLUDE[\t ]*= -I/usr/X11/include/X11")
- (string-append "XPMINCLUDE = -I"
- (assoc-ref %build-inputs "libxpm")
- "/include/X11")))
-
- (substitute* "Imakefile"
- (("XBOING_DIR = \\.") "XBOING_DIR=$(PROJECTROOT)"))
-
- ;; FIXME: HIGH_SCORE_FILE should be set to somewhere writeable
-
- (zero? (system* "xmkmf" "-a"
- (string-append "-DProjectRoot="
- (assoc-ref outputs "out"))))))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (and
- (zero? (system* "make" "install.man"))
- (zero? (system* "make" "install"))))))))
- (inputs `(("libx11" ,libx11)
- ("libxext" ,libxext)
- ("libxpm" ,libxpm)))
- (native-inputs `(("imake" ,imake)
- ("inetutils" ,inetutils)
- ("makedepend" ,makedepend)))
- (build-system gnu-build-system)
- (home-page "http://www.techrescue.org/xboing")
- (synopsis "Ball and paddle game")
- (description "XBoing is a blockout type game where you have a paddle which
-you control to bounce a ball around the game zone destroying blocks with a
-proton ball. Each block carries a different point value. The more blocks you
-destroy, the better your score. The person with the highest score wins.")
- (license (license:x11-style "file://COPYING"
- "Very similar to the X11 licence."))))
-
(define-public gtypist
(package
(name "gtypist")
@@ -2358,15 +2305,14 @@ world}, @uref{http://evolonline.org, Evol Online} and
#:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(lzo (assoc-ref inputs "lzo")))
- (zero?
- (apply system* "./configure"
- (string-append "--prefix=" out)
- ;; Provide the "lzo" path.
- (string-append "--with-liblzo2="
- lzo "/lib/liblzo2.a")
- ;; Put the binary in 'bin' instead of 'games'.
- "--binary-dir=bin"
- configure-flags))))))))
+ (apply invoke "./configure"
+ (string-append "--prefix=" out)
+ ;; Provide the "lzo" path.
+ (string-append "--with-liblzo2="
+ lzo "/lib/liblzo2.a")
+ ;; Put the binary in 'bin' instead of 'games'.
+ "--binary-dir=bin"
+ configure-flags)))))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
`(("allegro" ,allegro)
@@ -4125,7 +4071,7 @@ over 100 user-created campaigns.")
(add-before 'build 'build-kodilib
(lambda* (#:key make-flags #:allow-other-keys)
(with-directory-excursion "kodilib/linux"
- (zero? (apply system* "make" make-flags)))))
+ (apply invoke "make" make-flags))))
(add-after 'build-kodilib 'chdir
(lambda _ (chdir "linux") #t))
(replace 'install
@@ -4417,10 +4363,10 @@ shapes are arranged in a series of increasingly complex patterns, forming
(let ((data (string-append (assoc-ref outputs "out")
"/share/games/fillets-ng")))
(mkdir-p data)
- (zero? (system* "tar" "-xvf"
- (assoc-ref inputs "fillets-ng-data")
- "--strip-components=1"
- "-C" data))))))))
+ (invoke "tar" "-xvf"
+ (assoc-ref inputs "fillets-ng-data")
+ "--strip-components=1"
+ "-C" data)))))))
(inputs
`(("sdl-union" ,(sdl-union (list sdl
sdl-mixer
@@ -4502,10 +4448,10 @@ fish. The whole game is accompanied by quiet, comforting music.")
(setenv "HOME" (getcwd))
;; Fake a terminal for the test cases.
(setenv "TERM" "xterm-256color")
- (zero? (apply system* "make" "debug" "test"
- (format #f "-j~d" (parallel-job-count))
- ;; Force command line build for test cases.
- (append make-flags '("GAME=crawl" "TILES=")))))))))
+ (apply invoke "make" "debug" "test"
+ (format #f "-j~d" (parallel-job-count))
+ ;; Force command line build for test cases.
+ (append make-flags '("GAME=crawl" "TILES="))))))))
(synopsis "Roguelike dungeon crawler game")
(description "Dungeon Crawl Stone Soup is a roguelike adventure through
dungeons filled with dangerous monsters in a quest to find the mystifyingly
@@ -6021,3 +5967,136 @@ civilized than your own.")
license:cc-by-sa3.0
license:cc-by-sa4.0
license:public-domain))))
+
+(define-public stepmania
+ (package
+ (name "stepmania")
+ (version "5.1.0-b2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stepmania/stepmania.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0a7y9l7xm510vgnpmj1is7p9m6d6yd0fcaxrjcickz295k5w3rdn"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove song files, which are licensed under a non-commercial
+ ;; clause, and a course pointing to them.
+ (for-each delete-file-recursively
+ '("Songs/StepMania 5/Goin' Under"
+ "Songs/StepMania 5/MechaTribe Assault"
+ "Songs/StepMania 5/Springtime"))
+ (for-each delete-file '("Courses/Default/Jupiter.crs"
+ "Courses/Default/Jupiter.png"))
+ ;; Unbundle libpng.
+ (substitute* "extern/CMakeLists.txt"
+ (("include\\(CMakeProject-png.cmake\\)") ""))
+ (delete-file-recursively "extern/libpng")
+ #t))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;FIXME: couldn't find how to run tests
+ #:build-type "Release"
+ #:out-of-source? #f ;for the 'install-desktop' phase
+ #:configure-flags
+ (list "-DWITH_SYSTEM_FFMPEG=1"
+ ;; SSE instructions are available on Intel systems only.
+ ,@(if (any (cute string-prefix? <> (or (%current-target-system)
+ (%current-system)))
+ '("x64_64" "i686"))
+ '()
+ '("-DWITH_SSE2=NO"))
+ ;; Configuration cannot find GTK2 without the two following
+ ;; flags.
+ (string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR="
+ (assoc-ref %build-inputs "gtk+")
+ "/lib/gtk-2.0/include")
+ (string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR="
+ (assoc-ref %build-inputs "glib")
+ "/lib/glib-2.0/include"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-install-subdir
+ ;; Installation would be done in "%out/stepmania-X.Y", but we
+ ;; prefer the more common layout "%out/share/stepmania".
+ (lambda _
+ (substitute* "src/CMakeLists.txt"
+ (("\"stepmania-.*?\"") "\"share/stepmania\""))
+ #t))
+ (add-after 'unpack 'unbundle-libpng
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/CMakeLists.txt"
+ (("\\$\\{SM_EXTERN_DIR\\}/libpng/include")
+ (string-append (assoc-ref inputs "libpng") "/include")))
+ #t))
+ (add-after 'install 'install-executable
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (exe (string-append out "/share/stepmania/stepmania")))
+ (mkdir-p bin)
+ (symlink exe (string-append bin "/stepmania"))
+ #t)))
+ (add-after 'install-executable 'install-desktop
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share"))
+ (applications (string-append share "/applications"))
+ (icons (string-append share "/icons")))
+ (install-file "stepmania.desktop" applications)
+ (mkdir-p icons)
+ (copy-recursively "icons" icons)
+ #t)))
+ ;; Move documentation in a more usual place, i.e.,
+ ;; "%out/share/doc/stepmania/".
+ (add-after 'install-desktop 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share")))
+ (with-directory-excursion share
+ (mkdir-p "doc")
+ (symlink "../stepmania/Docs" "doc/stepmania"))
+ #t))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("yasm" ,yasm)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ;; Per upstream, StepMania is only guaranteed to work with a very
+ ;; specific FFmpeg version, which is included in the repository as
+ ;; a Git submodule. This particular version requirement usually
+ ;; changes every few years.
+ ("ffmpeg" ,ffmpeg-for-stepmania)
+ ("glib" ,glib)
+ ("glew" ,glew)
+ ("gtk+" ,gtk+-2)
+ ("jsoncpp" ,jsoncpp)
+ ("libpng" ,libpng)
+ ("libjpeg" ,libjpeg-8)
+ ("libmad" ,libmad)
+ ("libogg" ,libogg)
+ ("libva" ,libva)
+ ("libvorbis" ,libvorbis)
+ ("libxinerama" ,libxinerama)
+ ("libxrandr" ,libxrandr)
+ ("mesa" ,mesa)
+ ("pcre" ,pcre)
+ ("pulseaudio" ,pulseaudio)
+ ("sdl" ,sdl2)
+ ("udev" ,eudev)
+ ("zlib" ,zlib)))
+ (synopsis "Advanced rhythm game designed for both home and arcade use")
+ (description "StepMania is a dance and rhythm game. It features 3D
+graphics, keyboard and dance pad support, and an editor for creating your own
+steps.
+
+This package provides the core application, but no song is shipped. You need
+to download and install them in @file{$HOME/.stepmania-X.Y/Songs} directory.")
+ (home-page "https://www.stepmania.com")
+ (license license:expat)))
+
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index e3ba7c1bff..ef88510a2a 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
@@ -33,12 +33,17 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix gexp)
+ #:use-module (guix store)
+ #:use-module (guix monads)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cargo)
+ #:use-module (gnu packages admin)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages glib)
@@ -559,56 +564,184 @@ security standards.")
(sha256 (base32 hash))
(file-name file-name)))
+(define* (computed-origin-method gexp-promise hash-algo hash
+ #:optional (name "source")
+ #:key (system (%current-system))
+ (guile (default-guile)))
+ "Return a derivation that executes the G-expression that results
+from forcing GEXP-PROMISE."
+ (mlet %store-monad ((guile (package->derivation guile system)))
+ (gexp->derivation (or name "computed-origin")
+ (force gexp-promise)
+ #:system system
+ #:guile-for-build guile)))
+
+(define %icecat-version "60.5.0-guix1")
+
+;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
+;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
+;; script from the upstream IceCat project.
+(define icecat-source
+ (let* ((base-version (first (string-split %icecat-version #\-)))
+
+ (major-version (first (string-split base-version #\.)))
+ (minor-version (second (string-split base-version #\.)))
+ (sub-version (third (string-split base-version #\.)))
+
+ (upstream-firefox-version (string-append base-version "esr"))
+ (upstream-firefox-source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://ftp.mozilla.org/pub/firefox/releases/"
+ upstream-firefox-version "/source/"
+ "firefox-" upstream-firefox-version ".source.tar.xz"))
+ (sha256
+ (base32
+ "09a0kk250r03984n1hdwr2rg1vmhi2jkyzzgbbvkf9h9hzp6j7qs"))))
+
+ (upstream-icecat-base-version "60.3.0") ; maybe older than base-version
+ (upstream-icecat-gnu-version "1")
+ (upstream-icecat-version (string-append upstream-icecat-base-version
+ "-gnu"
+ upstream-icecat-gnu-version))
+ (upstream-icecat-source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://gnu/gnuzilla/" upstream-icecat-base-version
+ "/icecat-" upstream-icecat-version ".tar.bz2"))
+ (sha256
+ (base32
+ "0icnl64nxcyf7dprpdpygxhabsvyhps8c3ixysj9bcdlj9q34ib1"))))
+
+ (gnuzilla-commit (string-append "v" upstream-icecat-base-version))
+ (gnuzilla-source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.savannah.gnu.org/gnuzilla.git")
+ (commit gnuzilla-commit)))
+ (file-name (git-file-name "gnuzilla" upstream-icecat-base-version))
+ (sha256
+ (base32
+ "19wal7hkbb4wvk40hs6d7a5paal2bfday08hwssm02srcbv48fj0"))))
+
+ (makeicecat-patch
+ (local-file (search-patch "icecat-makeicecat.patch"))))
+
+ (origin
+ (method computed-origin-method)
+ (file-name (string-append "icecat-" %icecat-version ".tar.xz"))
+ (sha256 #f)
+ (uri
+ (delay
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (guix build utils))
+ (let ((firefox-dir
+ (string-append "firefox-" #$base-version))
+ (icecat-dir
+ (string-append "icecat-" #$%icecat-version))
+ (old-icecat-dir
+ (string-append "icecat-" #$upstream-icecat-base-version)))
+
+ (mkdir "/tmp/bin")
+ (set-path-environment-variable
+ "PATH" '("bin")
+ (list "/tmp"
+ #+(canonical-package bash)
+ #+(canonical-package coreutils)
+ #+(canonical-package findutils)
+ #+(canonical-package patch)
+ #+(canonical-package xz)
+ #+(canonical-package sed)
+ #+(canonical-package grep)
+ #+(canonical-package bzip2)
+ #+(canonical-package gzip)
+ #+(canonical-package tar)
+ #+rename))
+
+ (symlink #+(file-append rename "/bin/rename")
+ "/tmp/bin/prename")
+
+ ;; We copy the gnuzilla source directory because it is
+ ;; read-only in 'gnuzilla-source', and the makeicecat script
+ ;; uses "cp -a" to copy parts of it and assumes that the
+ ;; copies will be writable.
+ (copy-recursively #+gnuzilla-source "/tmp/gnuzilla"
+ #:log (%make-void-port "w"))
+
+ (with-directory-excursion "/tmp/gnuzilla"
+ (make-file-writable "makeicecat")
+ (invoke "patch" "--force" "--no-backup-if-mismatch"
+ "-p1" "--input" #+makeicecat-patch)
+ (patch-shebang "makeicecat")
+ (substitute* "makeicecat"
+ (("^FFMAJOR=.*")
+ (string-append "FFMAJOR=" #$major-version "\n"))
+ (("^FFMINOR=.*")
+ (string-append "FFMINOR=" #$minor-version "\n"))
+ (("^FFSUB=.*")
+ (string-append "FFSUB=" #$sub-version "\n"))
+ (("^GNUVERSION=.*")
+ (string-append "GNUVERSION="
+ #$upstream-icecat-gnu-version "\n"))
+ (("^DATA=.*")
+ "DATA=/tmp/gnuzilla/data\n")
+ (("^sed .* debian/" all)
+ (string-append "echo warning: skipped: " all))
+ (("^debian/rules " all)
+ (string-append "echo warning: skipped: " all))
+ (("^find extensions/gnu/ ")
+ "find extensions/gnu/ | sort ")
+ (("/bin/sed")
+ #+(file-append (canonical-package sed) "/bin/sed"))))
+
+ (format #t "Unpacking upstream firefox tarball...~%")
+ (force-output)
+ (invoke "tar" "xf" #+upstream-firefox-source)
+ (rename-file firefox-dir icecat-dir)
+
+ (with-directory-excursion icecat-dir
+ (for-each mkdir-p '("l10n" "debian/config"))
+ (call-with-output-file "debian/control" (const #t))
+ (format #t "Running makeicecat script...~%")
+ (force-output)
+ (invoke "bash" "/tmp/gnuzilla/makeicecat")
+ (for-each delete-file-recursively '("l10n" "debian")))
+
+ (format #t (string-append "Unpacking l10n/* and debian/* from"
+ " upstream IceCat tarball...~%"))
+ (force-output)
+ (unless (string=? icecat-dir old-icecat-dir)
+ (symlink icecat-dir old-icecat-dir))
+ (invoke "tar" "xf" #+upstream-icecat-source
+ (string-append old-icecat-dir "/l10n")
+ (string-append old-icecat-dir "/debian"))
+
+ (format #t (string-append "Packing new IceCat tarball...~%"))
+ (force-output)
+ (invoke "tar" "cfa" #$output
+ ;; avoid non-determinism in the archive
+ "--mtime=@0"
+ "--owner=root:0"
+ "--group=root:0"
+ "--sort=name"
+ icecat-dir)
+
+ #t))))))))
+
(define-public icecat
(package
(name "icecat")
- (version "60.3.0-gnu1")
+ (version %icecat-version)
(source
(origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/gnuzilla/"
- (first (string-split version #\-))
- "/" name "-" version ".tar.bz2"))
- (sha256
- (base32
- "0icnl64nxcyf7dprpdpygxhabsvyhps8c3ixysj9bcdlj9q34ib1"))
- (patches
- (list
- (search-patch "icecat-avoid-bundled-libraries.patch")
- (search-patch "icecat-use-system-graphite2+harfbuzz.patch")
- (search-patch "icecat-use-system-media-libs.patch")
- (mozilla-patch "icecat-bug-1464061.patch" "d28761dbff18" "1f58rzwx4s1af66fdwn9lgkcd1ksmq8kn8imvf78p90jqi24h7b4")
- (mozilla-patch "icecat-bug-1479853.patch" "4faeb696dd06" "12891xx9c15s6kby6d3zk64v5nqgaq7sw597zv1fkd3a6x69hlva")
- (mozilla-patch "icecat-CVE-2018-17466.patch" "12ba39f69876" "1piyq44f0xa0a9z2748aqwpaziaxwp61d86gyhalbyag8lcxfb3p")
- (mozilla-patch "icecat-CVE-2018-18498.patch" "a0adabeedf26" "0f5wazha3zxzhy2j8f93hx62l9p02b1p40vi07qah3ar67h4ccj9")
- (mozilla-patch "icecat-CVE-2018-12405-pt01.patch" "19604eb26230" "1wqxgph4z14ijhk2j2m4av5p6gx72d02lzz83q6yy0k065kw8psb")
- (mozilla-patch "icecat-CVE-2018-18492.patch" "98737ab09270" "0fyl6wv0jxcxpkfpsff46y93k49n8lrw0k7c1p45g8da015dx27a")
- (mozilla-patch "icecat-CVE-2018-18493.patch" "1cf7d80355d5" "19jp4x32vyxam54d1r9fm7jwf6krhhf3xazfqmxb9aw4iwdil7dl")
- (mozilla-patch "icecat-CVE-2018-12405-pt02.patch" "c264774b8913" "1hxyi131x8jwawrq90cgkph833iv9ixrdrgzl1r978gbzwq10xz2")
- (mozilla-patch "icecat-bug-1477773.patch" "ec13fda7c9b0" "0zj7aylgw55g0y7plaafn5gq8jwcsdr1bpdxacs0hq914nm8zy9z")
- (mozilla-patch "icecat-CVE-2018-12405-pt03.patch" "5e1a9644aeef" "1qimrpgyrd8zkiri7w57j0aymk20y9b34am5w7rvr6qj1lhrbfla")
- (mozilla-patch "icecat-bug-1485655.patch" "9055726e2d89" "1pppxr94zqh6zmi2mn1ih21qap09vk5ivbhnwxqr8iszvygjg44g")
- (mozilla-patch "icecat-bug-1410214.patch" "9e641345e2ef" "0542xss2jdb8drh4g50cfy32l300x69dyywgx3dqs03vgr3qplxy")
- (mozilla-patch "icecat-CVE-2018-12405-pt04.patch" "6398541ec302" "1c2yi7mkg3d5afxsgj9fp3zq8yhkmphrll5d60d5xsdv88kqqiyf")
- (mozilla-patch "icecat-bug-1496736.patch" "3bed863ee656" "038k7jk3yp16410crwfdvhyb2vis49c6bplrfr83v51885cqldar")
- (mozilla-patch "icecat-bug-1498765.patch" "a08c8493ba19" "0bwg4vg03j962lb9q8ihpiy4rmygykf1q9ij8x7h34q7hg43yjya")
- (mozilla-patch "icecat-CVE-2018-12405-pt05.patch" "ee204e26690e" "1scs45xhlr1mwv6x2q6n22363f42by8cjmifqwzlikggs21f5mcq")
- (mozilla-patch "icecat-bug-1507035.patch" "cec8b58ab3fe" "1f131ibpkrhsa44l822hnm5qgvapbs3i9pj25iimdwvr933winz8")
- (mozilla-patch "icecat-bug-1501680.patch" "282c6bb81562" "1zgw7l5zmni8468y3f6cip1nlw63cfdd9vv9b00cbrgy96d1q2cp")
- (mozilla-patch "icecat-bug-1500310.patch" "b3a439a26186" "0mrjxcmrlv04fyl36dwxk97dw08g2hlikvw2hfa1l0y8zsc4bgw8")
- (mozilla-patch "icecat-bug-1500366.patch" "abd59256c4e3" "1jgwh2v4kwb6kf2h7mwf128w1k1jj119bfhlgqpmn9ami35wpzf3")
- (mozilla-patch "icecat-bug-1493080.patch" "a7cabf306d05" "1n7wv67rcaz8wj31jc77ssjdj3kb61gdg7pigj828c5z2cgns1k5")
- (mozilla-patch "icecat-CVE-2018-12405-pt06.patch" "8bbf80948b50" "1nvc69zgz9nvbw1pwxkil1fx4cxxpr6bsjrpp6l2kv7jhgax1bqk")
- (mozilla-patch "icecat-bug-1507564.patch" "60619cc47b10" "09fanqr08kqgraw4xp7y2az4jc7ia8nn200rqjfj20vmkyjz97j3")
- (mozilla-patch "icecat-bug-1507730.patch" "dd0f01818b9c" "14ziq1bm72n58xrvsgzpjj5z6ifpvi70r5jfhbkbj69mf4y4cx2z")
- (mozilla-patch "icecat-CVE-2018-12405-pt07.patch" "a73a46ddc848" "1bvvyav3xyn6rgn6haicinxn0dasl9dyc1i37fyb7wr5wcpahybs")
- (mozilla-patch "icecat-CVE-2018-18494.patch" "a72ec8e21577" "095zghmwdcbaid5426p9vpl757d8sfbsvgn201bjm7nhm03m4z7i")
- (mozilla-patch "icecat-CVE-2018-12405-pt08.patch" "b6d0fc61fd0b" "0059avawxi4s4747plybjsjq8j2h4z7amw05p28xyg95a2njwnaa")
- (mozilla-patch "icecat-bug-1499028.patch" "a62ede2dd3bc" "0ikmnibni8bdvpr9p42wskyyic08vzqdz5qr028bqzyg5119gily")
- (mozilla-patch "icecat-bug-1426574.patch" "0db86656655b" "0kmccb4ccdzbzncwklx7w1bg7r61zwl2wnfp67vl27hm9xykbck7")
- (mozilla-patch "icecat-CVE-2018-12405-pt09.patch" "20e31905de62" "0b5a441645wy3q4asaygvdq0inrxmxrh33cpgdp6ngflq9p2i6h0")
- (mozilla-patch "icecat-CVE-2018-12405-pt10.patch" "c2832f98fe51" "0b4jfjfdyrihwjdfavd54hn9kdg2f017lmfr7mj2llp71flxwwj7")
- (mozilla-patch "icecat-bug-1511495.patch" "d428d2b8f585" "1f9xs0bjhbphvkv60cnvz34sr2rv38jzvi47wh3nablg41yjpdrk")))
+ (inherit icecat-source)
+ (patches (search-patches "icecat-avoid-bundled-libraries.patch"
+ "icecat-use-system-graphite2+harfbuzz.patch"
+ "icecat-use-system-media-libs.patch"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index a571477ef2..e6269f526f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -406,7 +406,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(package
(inherit go-1.9)
(name "go")
- (version "1.11.4")
+ (version "1.11.5")
(source
(origin
(method url-fetch)
@@ -414,11 +414,23 @@ in the style of communicating sequential processes (@dfn{CSP}).")
name version ".src.tar.gz"))
(sha256
(base32
- "05fvp8dq0yffsrvdyii4wgl756dn0xkgm5a80al7j7kb19r45zac"))))
+ "0gllmbjvp12iszwils8id78mvjxwviwf98lh2gdkb236n4mz07mw"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.9)
((#:phases phases)
`(modify-phases ,phases
+ ;; XXX Work around the Go 1.11.5 tarbomb.
+ ;; <https://github.com/golang/go/issues/29906>
+ (add-after 'unpack 'tarbomb-workaround
+ (lambda _
+ (chdir "..")
+ (delete-file-recursively "gocache")
+ (delete-file-recursively "tmp")
+ #t))
+ (replace 'chdir
+ (lambda _
+ (chdir "go/src")
+ #t))
(replace 'prebuild
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 5561e0d0df..b8377ff514 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -74,6 +74,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz)
#:use-module (gnu packages cups)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
new file mode 100644
index 0000000000..5c6a6c7e0b
--- /dev/null
+++ b/gnu/packages/guile-xyz.scm
@@ -0,0 +1,1841 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org>
+;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
+;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com>
+;;; Copyright © 2016 Eraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2016, 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
+;;; Copyright © 2016 Amirouche <amirouche@hypermove.net>
+;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
+;;; Copyright © 2017 David Thompson <davet@gnu.org>
+;;; Copyright © 2017, 2018 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
+;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
+;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2019 swedebugia <swedebugia@riseup.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 guile-xyz)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages aspell)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages disk)
+ #:use-module (gnu packages ed)
+ #:use-module (gnu packages gawk)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages gl)
+ #:use-module (gnu packages gperf)
+ #:use-module (gnu packages guile)
+ #:use-module (gnu packages hurd)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages libffi)
+ #:use-module (gnu packages libunistring)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages man)
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages ncurses)
+ #:use-module (gnu packages networking)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages readline)
+ #:use-module (gnu packages sdl)
+ #:use-module (gnu packages slang)
+ #:use-module (gnu packages sqlite)
+ #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages version-control)
+ #:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xorg)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system guile)
+ #:use-module (guix utils)
+ #:use-module (ice-9 match)
+ #:use-module ((srfi srfi-1) #:select (alist-delete)))
+
+(define-public artanis
+ (let ((release "0.3.1")
+ (revision 0))
+ (package
+ (name "artanis")
+ (version (if (zero? revision)
+ release
+ (string-append release "-"
+ (number->string revision))))
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/artanis/artanis-"
+ release ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0hqr5m3mb558bdhkc2sadmd9cbrhp3y525wx7cwirgy6i0zmay68"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Unbundle guile-redis and guile-json
+ (delete-file-recursively "artanis/third-party/json.scm")
+ (delete-file-recursively "artanis/third-party/json")
+ (delete-file-recursively "artanis/third-party/redis.scm")
+ (delete-file-recursively "artanis/third-party/redis")
+ (substitute* '("artanis/artanis.scm"
+ "artanis/lpc.scm"
+ "artanis/oht.scm")
+ (("(#:use-module \\()artanis third-party (json\\))" _
+ use-module json)
+ (string-append use-module json)))
+ (substitute* '("artanis/lpc.scm"
+ "artanis/session.scm")
+ (("(#:use-module \\()artanis third-party (redis\\))" _
+ use-module redis)
+ (string-append use-module redis)))
+ (substitute* "artanis/oht.scm"
+ (("([[:punct:][:space:]]+)(->json-string)([[:punct:][:space:]]+)"
+ _ pre json-string post)
+ (string-append pre
+ "scm" json-string
+ post)))
+ (substitute* "artanis/artanis.scm"
+ (("[[:punct:][:space:]]+->json-string[[:punct:][:space:]]+")
+ ""))
+ #t))))
+ (build-system gnu-build-system)
+ ;; FIXME the bundled csv contains one more exported procedure
+ ;; (sxml->csv-string) than guile-csv. The author is maintainer of both
+ ;; projects.
+ ;; TODO: Add guile-dbi and guile-dbd optional dependencies.
+ (inputs `(("guile" ,guile-2.2)
+ ("guile-json" ,guile-json)
+ ("guile-redis" ,guile-redis)))
+ (native-inputs `(("bash" ,bash) ;for the `source' builtin
+ ("pkgconfig" ,pkg-config)
+ ("util-linux" ,util-linux))) ;for the `script' command
+ (arguments
+ '(#:make-flags
+ ;; TODO: The documentation must be built with the `docs' target.
+ (let* ((out (assoc-ref %outputs "out"))
+ (scm (string-append out "/share/guile/site/2.2"))
+ (go (string-append out "/lib/guile/2.2/site-ccache")))
+ ;; Don't use (%site-dir) for site paths.
+ (list (string-append "MOD_PATH=" scm)
+ (string-append "MOD_COMPILED_PATH=" go)))
+ #:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'substitute-root-dir
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "Makefile" ;ignore the execution of bash.bashrc
+ ((" /etc/bash.bashrc") " /dev/null"))
+ (substitute* "Makefile" ;set the root of config files to OUT
+ ((" /etc") (string-append " " out "/etc")))
+ (mkdir-p (string-append out "/bin")) ;for the `art' executable
+ #t)))
+ (add-after 'install 'wrap-art
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (scm (string-append out "/share/guile/site/2.2"))
+ (go (string-append out "/lib/guile/2.2/site-ccache")))
+ (wrap-program (string-append bin "/art")
+ `("GUILE_LOAD_PATH" ":" prefix (,scm))
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go)))
+ #t))))))
+ (synopsis "Web application framework written in Guile")
+ (description "GNU Artanis is a web application framework written in Guile
+Scheme. A web application framework (WAF) is a software framework that is
+designed to support the development of dynamic websites, web applications, web
+services and web resources. The framework aims to alleviate the overhead
+associated with common activities performed in web development. Artanis
+provides several tools for web development: database access, templating
+frameworks, session management, URL-remapping for RESTful, page caching, and
+more.")
+ (home-page "https://www.gnu.org/software/artanis/")
+ (license (list license:gpl3+ license:lgpl3+))))) ;dual license
+
+;; There has not been any release yet.
+(define-public guildhall
+ (let ((commit "2fe2cc539f4b811bbcd69e58738db03eb5a2b778")
+ (revision "1"))
+ (package
+ (name "guildhall")
+ (version (string-append "0-" revision "." (string-take commit 9)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ijp/guildhall.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "115bym7bg66h3gs399yb2vkzc2ygriaqsn4zbrg8f054mgy8wzn1"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Tests fail without this fix because they try to load the bash
+ ;; executable as a Scheme file. See bug report at
+ ;; https://github.com/ijp/guildhall/issues/22
+ (add-after 'unpack 'fix-bug-22
+ (lambda _
+ (substitute* "Makefile.am"
+ (("TESTS_ENVIRONMENT=.*")
+ "AM_TESTS_ENVIRONMENT=srcdir=$(abs_top_srcdir)/tests/
+TEST_EXTENSIONS = .scm
+SCM_LOG_COMPILER= $(top_builddir)/env $(GUILE)
+AM_SCM_LOG_FLAGS = --no-auto-compile -s")
+ ;; FIXME: one of the database tests fails for unknown
+ ;; reasons. It does not fail when run outside of Guix.
+ (("tests/database.scm") ""))
+ #t)))))
+ (inputs
+ `(("guile" ,guile-2.0)))
+ (native-inputs
+ `(("zip" ,zip) ; for tests
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("texinfo" ,texinfo)))
+ (synopsis "Package manager for Guile")
+ (description
+ "Guildhall is a package manager written for Guile Scheme. A guild is
+an association of independent craftspeople. A guildhall is where they meet.
+This Guildhall aims to make a virtual space for Guile wizards and journeyfolk
+to share code.
+
+On a practical level, Guildhall lets you share Scheme modules and programs
+over the internet, and install code that has been shared by others. Guildhall
+can handle dependencies, so when a program requires several libraries, and
+each of those has further dependencies, all of the prerequisites for the
+program can be installed in one go.")
+ (home-page "https://github.com/ijp/guildhall")
+ (license license:gpl3+))))
+
+(define-public guile-aspell
+ (package
+ (name "guile-aspell")
+ (version "0.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://lonelycactus.com/tarball/guile_aspell-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0vpk5xj9m9qc702z3khmkwhgpb949qbsyz8kw2qycda6qnxk0077"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'configure 'set-guilesitedir
+ (lambda _
+ (substitute* "Makefile.in"
+ (("^guilesitedir =.*$")
+ "guilesitedir = \
+$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
+ #t))
+ (add-before 'build 'set-libaspell-file-name
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((aspell (assoc-ref inputs "aspell")))
+ (substitute* "aspell.scm"
+ (("\"libaspell\\.so\"")
+ (string-append "\"" aspell
+ "/lib/libaspell\"")))
+ #t))))))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (inputs `(("guile" ,guile-2.2)
+ ("aspell" ,aspell)))
+ (home-page "https://github.com/spk121/guile-aspell")
+ (synopsis "Spell-checking from Guile")
+ (description
+ "guile-aspell is a Guile Scheme library for comparing a string against a
+dictionary and suggesting spelling corrections.")
+ (license license:gpl3+)))
+
+(define-public guile-bash
+ ;; This project is currently retired. It was initially announced here:
+ ;; <https://lists.gnu.org/archive/html/guile-user/2015-02/msg00003.html>.
+ (let ((commit "1eabc563ca5692b3e08d84f1f0e6fd2283284469")
+ (revision "0"))
+ (package
+ (name "guile-bash")
+ (version (string-append "0.1.6-" revision "." (string-take commit 7)))
+ (home-page
+ "https://anonscm.debian.org/cgit/users/kaction-guest/retired/dev.guile-bash.git")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (commit commit)
+ (url home-page)))
+ (sha256
+ (base32
+ "097vny990wp2qpjij6a5a5gwc6fxzg5wk56inhy18iki5v6pif1p"))
+ (file-name (string-append name "-" version "-checkout"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags
+ ;; Add -I to match 'bash.pc' of Bash 4.4.
+ (list (string-append "CPPFLAGS=-I"
+ (assoc-ref %build-inputs "bash:include")
+ "/include/bash/include")
+
+ ;; The '.a' file is useless.
+ "--disable-static"
+
+ ;; Install 'lib/bash' as Bash 4.4 expects.
+ (string-append "--libdir=" (assoc-ref %outputs "out")
+ "/lib/bash"))))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("autoconf" ,autoconf-wrapper)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
+ ("gettext" ,gettext-minimal)
+
+ ;; Bash with loadable module support, for the test
+ ;; suite.
+ ("bash-full" ,bash)))
+ (inputs `(("guile" ,guile-2.0)
+ ("bash:include" ,bash "include")))
+ (synopsis "Extend Bash using Guile")
+ (description
+ "Guile-Bash provides a shared library and set of Guile modules,
+allowing you to extend Bash in Scheme. Scheme interfaces allow you to access
+the following aspects of Bash:
+
+@itemize
+@item aliases;
+@item setting and getting Bash variables;
+@item creating dynamic variables;
+@item creating Bash functions with a Scheme implementation;
+@item reader macro for output capturing;
+@item reader macro for evaluating raw Bash commands.
+@end itemize
+
+To enable it, run:
+
+@example
+enable -f ~/.guix-profile/lib/bash/libguile-bash.so scm
+@end example
+
+and then run @command{scm example.scm}.")
+ (license license:gpl3+))))
+
+(define-public guile-8sync
+ (package
+ (name "guile-8sync")
+ (version "0.4.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/8sync/8sync-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "031wm13srak3wsnll7j2mbbi29g1pcm4swdb71ds9yn567pn20qw"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("guile" ,guile-2.2)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-before 'configure 'setenv
+ (lambda _
+ ;; quiet warnings
+ (setenv "GUILE_AUTO_COMPILE" "0")
+ #t)))))
+ (home-page "https://gnu.org/s/8sync/")
+ (synopsis "Asynchronous actor model library for Guile")
+ (description
+ "GNU 8sync (pronounced \"eight-sync\") is an asynchronous programming
+library for GNU Guile based on the actor model.
+
+Note that 8sync is only available for Guile 2.2.")
+ (license license:lgpl3+)))
+
+(define-public guile-daemon
+ (package
+ (name "guile-daemon")
+ (version "0.1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/alezost/" name
+ "/releases/download/v" version
+ "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0hh6gq6b6phpxm0b1dkxyzj3f4sxdf7dji63609lzypa5v1ad2gv"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-2.2)))
+ (home-page "https://github.com/alezost/guile-daemon")
+ (synopsis "Evaluate code in a running Guile process")
+ (description
+ "Guile-Daemon is a small Guile program that loads your initial
+configuration file, and then reads and evaluates Guile expressions that
+you send to a FIFO file.")
+ (license license:gpl3+)))
+
+(define-public guile-dsv
+ (package
+ (name "guile-dsv")
+ (version "0.2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/artyom-poptsov/guile-dsv")
+ (commit "bdc5267d007478abc20ea96d7c459b7dd9560b3d")))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1irw6mz8998nwyhzrw9g94jcz60b9zljgqfmipaz1ybn8579qjx0"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (inputs `(("guile" ,guile-2.2)))
+ (propagated-inputs `(("guile-lib" ,guile-lib)))
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'configure 'set-guilesitedir
+ (lambda _
+ (substitute* "Makefile.in"
+ (("^guilesitedir =.*$")
+ "guilesitedir = \
+$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
+ (substitute* "modules/Makefile.in"
+ (("^guilesitedir =.*$")
+ "guilesitedir = \
+$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
+ (substitute* "modules/dsv/Makefile.in"
+ (("^guilesitedir =.*$")
+ "guilesitedir = \
+$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
+ #t)))))
+ (home-page "https://github.com/artyom-poptsov/guile-dsv")
+ (synopsis "DSV module for Guile")
+ (description
+ "Guile-DSV is a GNU Guile module for working with the
+delimiter-separated values (DSV) data format. Guile-DSV supports the
+Unix-style DSV format and RFC 4180 format.")
+ (license license:gpl3+)))
+
+(define-public guile-fibers
+ (package
+ (name "guile-fibers")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://wingolog.org/pub/fibers/fibers-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0vjkg72ghgdgphzbjz9ig8al8271rq8974viknb2r1rg4lz92ld0"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'install 'mode-guile-objects
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; .go files are installed to "lib/guile/X.Y/cache".
+ ;; This phase moves them to "…/site-ccache".
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib/guile"))
+ (old (car (find-files lib "^ccache$"
+ #:directories? #t)))
+ (new (string-append (dirname old)
+ "/site-ccache")))
+ (rename-file old new)
+ #t))))))
+ (native-inputs
+ `(("texinfo" ,texinfo)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-2.2)))
+ (synopsis "Lightweight concurrency facility for Guile")
+ (description
+ "Fibers is a Guile library that implements a a lightweight concurrency
+facility, inspired by systems like Concurrent ML, Go, and Erlang. A fiber is
+like a \"goroutine\" from the Go language: a lightweight thread-like
+abstraction. Systems built with Fibers can scale up to millions of concurrent
+fibers, tens of thousands of concurrent socket connections, and many parallel
+cores. The Fibers library also provides Concurrent ML-like channels for
+communication between fibers.
+
+Note that Fibers makes use of some Guile 2.1/2.2-specific features and
+is not available for Guile 2.0.")
+ (home-page "https://github.com/wingo/fibers")
+ (license license:lgpl3+)))
+
+(define-public guile-syntax-highlight
+ (package
+ (name "guile-syntax-highlight")
+ (version "0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://files.dthompson.us/"
+ "guile-syntax-highlight/"
+ "guile-syntax-highlight-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1p771kq15x83483m23bhah1sz6vkalg3drm7x279f4j1cxligkzi"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-2.2)))
+ (synopsis "General-purpose syntax highlighter for GNU Guile")
+ (description "Guile-syntax-highlight is a general-purpose syntax
+highlighting library for GNU Guile. It can parse code written in various
+programming languages into a simple s-expression that can be converted to
+HTML (via SXML) or any other format for rendering.")
+ (home-page "http://dthompson.us/projects/guile-syntax-highlight.html")
+ (license license:lgpl3+)))
+
+(define-public guile-sjson
+ (package
+ (name "guile-sjson")
+ (version "0.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://dustycloud.org/misc/sjson-" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "1mzmapln79vv10qxaggz9qwcdbag3jnrj19xx8bgkmxss8h03sv3"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-2.2)))
+ (home-page "https://gitlab.com/dustyweb/guile-sjson")
+ (synopsis "S-expression based json reader/writer for Guile")
+ (description "guile-sjson is a json reader/writer for Guile.
+It has a nice, simple s-expression based syntax.")
+ (license license:lgpl3+)))
+
+(define-public guile-colorized
+ (package
+ (name "guile-colorized")
+ (version "0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/NalaGinrut/guile-colorized/"
+ "archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "16xhc3an6aglnca8xl3mvgi8hsqzqn68vsl5ga4bz8bvbap5fn4p"))))
+ (build-system guile-build-system)
+ (native-inputs
+ `(("guile" ,guile-2.2)))
+ (home-page "https://github.com/NalaGinrut/guile-colorized")
+ (synopsis "Colorized REPL for Guile")
+ (description
+ "Guile-colorized provides you with a colorized REPL for GNU Guile.")
+ (license license:gpl3+)))
+
+(define-public guile-pfds
+ (package
+ (name "guile-pfds")
+ (version "0.3")
+ (home-page "https://github.com/ijp/pfds")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "19y33wg94pf0n98dkfqd1zbw93fgky4sawxsxl6s3vyqwl0yi5vh"))
+ (file-name (string-append name "-" version "-checkout"))))
+ (build-system guile-build-system)
+ (arguments
+ '(#:source-directory "src"
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'move-files-around
+ (lambda _
+ ;; Move files under a pfds/ directory to reflect the
+ ;; module hierarchy.
+ (mkdir-p "src/pfds")
+ (for-each (lambda (file)
+ (rename-file file
+ (string-append "src/pfds/"
+ file)))
+ '("bbtrees.sls"
+ "deques"
+ "deques.sls"
+ "dlists.sls"
+ "fingertrees.sls"
+ "hamts.sls"
+ "heaps.sls"
+ "private"
+ "psqs.sls"
+ "queues"
+ "queues.sls"
+ "sequences.sls"
+ "sets.sls"))
+
+ ;; In Guile <= 2.2.4, there's no way to tell 'guild
+ ;; compile' to accept the ".sls" extension. So...
+ (for-each (lambda (file)
+ (rename-file file
+ (string-append
+ (string-drop-right file 4)
+ ".scm")))
+ (find-files "." "\\.sls$"))
+ #t)))))
+ (native-inputs
+ `(("guile" ,guile-2.2)))
+ (synopsis "Purely functional data structures for Guile")
+ (description
+ "This package provides purely functional data structures written in R6RS
+Scheme and compiled for Guile. It has been tested with Racket, Guile 2,
+Vicare Scheme and IronScheme. Right now it contains:
+
+@itemize
+@item queues
+@item deques
+@item bbtrees
+@item sets
+@item dlists
+@item priority search queues (PSQs)
+@item finger trees
+@item sequences
+@item heaps
+@item hash array mapped tries (HAMTs).
+@end itemize\n")
+ (license license:bsd-3)))
+
+(define-public guile-aa-tree
+ (package
+ (name "guile-aa-tree")
+ (version "3.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/guile-aa-tree/guile-aa-tree-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0044c105r3q9vpl17pv3phl1b79kjm1llhkakqgiasixyav01blh"))))
+ (build-system guile-build-system)
+ (native-inputs `(("guile" ,guile-2.2)))
+ ;; https://savannah.nongnu.org/projects/guile-aa-tree
+ (home-page "https://qlfiles.net/guile-aa-tree/")
+ (synopsis "AA tree data structure for Guile")
+ (description
+ "This package provides an implementation of @dfn{AA trees}, a
+self-balancing binary tree data structure, for Guile. It ensure @math{O(log
+n)} worst case performance for core operations. The module provides
+non-mutating insert, delete, and search operations, with support for
+convenient nested tree operations.")
+ (license license:gpl3+)))
+
+(define-public guile-simple-zmq
+ (let ((commit "68bedb6679716214fb9d3472da57544526f7a618")
+ (revision "3"))
+ (package
+ (name "guile-simple-zmq")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jerry40/guile-simple-zmq")
+ (commit commit)))
+ (sha256
+ (base32
+ "1ad3xg69qqviy1f6dnlw0ysmfdbmp1jq65rfqb8nfd8dsrq2syli"))
+ (file-name (git-file-name name version))))
+ (build-system guile-build-system)
+ (arguments
+ `(#:source-directory "src"
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'set-libzmq-file-name
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/simple-zmq.scm"
+ (("\\(dynamic-link \"libzmq\"\\)")
+ (format #f "(dynamic-link \"~a/lib/libzmq.so\")"
+ (assoc-ref inputs "zeromq"))))
+ #t)))))
+ (native-inputs
+ `(("guile" ,guile-2.2)))
+ (inputs
+ `(("zeromq" ,zeromq)))
+ (home-page "https://github.com/jerry40/guile-simple-zmq")
+ (synopsis "Guile wrapper over ZeroMQ library")
+ (description
+ "This package provides a Guile programming interface to the ZeroMQ
+messaging library.")
+ (license license:gpl3+))))
+
+(define-public jupyter-guile-kernel
+ (let ((commit "a7db9245a886e104138474df46c3e88b95cff629")
+ (revision "1"))
+ (package
+ (name "jupyter-guile-kernel")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jerry40/guile-kernel")
+ (commit commit)))
+ (sha256
+ (base32
+ "0aj04853bqm47ivfcmrgpb7w3wkis847kc7qrwsa5zcn9h38qh2f"))))
+ (build-system guile-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'set-openssl-file-name
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Record the absolute file name of the 'openssl'
+ ;; command.
+ (substitute* "src/hmac.scm"
+ (("openssl")
+ (string-append (assoc-ref inputs "openssl")
+ "/bin/openssl")))
+ #t))
+
+ ;; XXX: The code uses 'include' to include its own source
+ ;; files, and "-L src" isn't enough in this case.
+ (add-before 'build 'chdir
+ (lambda _ (chdir "src") #t))
+ (add-after 'build 'chdir-back
+ (lambda _ (chdir "..") #t))
+
+ (add-after 'install 'install-kernel
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (json (assoc-ref inputs "guile-json"))
+ (zmq (assoc-ref inputs "guile-simple-zmq"))
+ (deps (list json zmq))
+ (dir (string-append
+ out "/share/jupyter/kernels/guile"))
+ (effective (target-guile-effective-version)))
+ ;; Install kernel.
+ (install-file "src/kernel.json" dir)
+
+ ;; Fix hard-coded file name in the kernel.
+ (substitute* (string-append dir "/kernel.json")
+ (("/home/.*/guile-jupyter-kernel.scm")
+ (string-append out "/share/guile/site/"
+ (target-guile-effective-version)
+ "/guile-jupyter-kernel.scm"))
+ (("\"guile\"")
+ (string-append "\"" (assoc-ref inputs "guile")
+ "/bin/guile\""))
+ (("-s")
+ ;; Add '-L' and '-C' flags so that the kernel
+ ;; finds its dependencies.
+ (let ((-L (map (lambda (item)
+ (string-append "\"" item
+ "/share/guile/site/"
+ effective "\""))
+ deps))
+ (-C (map (lambda (item)
+ (string-append "\"" item
+ "/lib/guile/"
+ effective
+ "/site-ccache\""))
+ deps)))
+ (string-append "--no-auto-compile\""
+ (string-join -L ", \"-L\", "
+ 'prefix)
+ (string-join -C ", \"-C\", "
+ 'prefix)
+ ", \"-s"))))
+ #t))))))
+ (inputs
+ `(("openssl" ,openssl)
+ ("guile" ,guile-2.2)
+ ("guile-json" ,guile-json)
+ ("guile-simple-zmq" ,guile-simple-zmq)))
+ (synopsis "Guile kernel for the Jupyter Notebook")
+ (description
+ "This package provides a Guile 2.x kernel for the Jupyter Notebook. It
+allows users to interact with the Guile REPL through Jupyter.")
+ (home-page "https://github.com/jerry40/guile-kernel")
+ (license license:gpl3+))))
+
+(define-public guile-sparql
+ (package
+ (name "guile-sparql")
+ (version "0.0.7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/roelj/guile-sparql/releases/download/"
+ version "/guile-sparql-" version ".tar.gz"))
+ (sha256
+ (base32 "1drnvhsgl0gc5crmb16yyw1j98nkhwwcgssv9vgm36ng43nnzffd"))))
+ (build-system gnu-build-system)
+ (arguments `(#:tests? #f)) ; There are no tests.
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-2.2)))
+ (home-page "https://github.com/roelj/guile-sparql")
+ (synopsis "SPARQL module for Guile")
+ (description "This package provides the functionality to query a SPARQL
+endpoint. Additionally, it provides an interface to write SPARQL queries
+using S-expressions.")
+ (license license:gpl3+)))
+
+(define-public guile-debbugs
+ (package
+ (name "guile-debbugs")
+ (version "0.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/guile-debbugs/guile-debbugs-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "16l8910p57im6s3j93xhdaqvgfy6ms5n97177mrch3y961z5hy0i"))
+ (modules '((guix build utils)))
+ (snippet
+ '(substitute* "Makefile.in"
+ (("^godir = (.*)/ccache" _ prefix)
+ (string-append "godir = " prefix "/site-ccache"))))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("guile" ,guile-2.2)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://savannah.gnu.org/projects/guile-debbugs/")
+ (synopsis "Guile interface to the Debbugs bug tracking service")
+ (description
+ "This package provides a Guile library to communicate with a Debbugs bug
+tracker's SOAP service, such as @url{https://bugs.gnu.org}.")
+ (license license:gpl3+)))
+
+(define-public guile-email
+ (let ((commit "fa52eac55e5946db89621a6c583d2aa357864dee")
+ (revision "1"))
+ (package
+ (name "guile-email")
+ (version (git-version "0.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.systemreboot.net/guile-email")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1037mbz7qd9bzaqp8ysyhnl9ipd97fmj3b9jr8qfzx9179vvsj63"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)))
+ (inputs
+ `(("guile" ,guile-2.2)))
+ (home-page "https://git.systemreboot.net/guile-email")
+ (synopsis "Guile email parser")
+ (description "This package provides an email parser written in pure
+Guile.")
+ (license license:agpl3+))))
+
+(define-public guile-debbugs-next
+ (let ((commit "75a331d561c8b6f8efcf16216dab961c17759efe")
+ (revision "1"))
+ (package (inherit guile-debbugs)
+ (name "guile-debbugs")
+ (version (git-version "0.0.3" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.savannah.gnu.org/git/guile-debbugs.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0br3mgbw41bpc9x57jlghl0i8dz9nl63r4wzs5l47aqszf84870y"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("texinfo" ,texinfo)))
+ (inputs
+ `(("guile" ,guile-2.2)
+ ("guile-email" ,guile-email))))))
+
+;; There has not been any release yet.
+(define-public guile-newt
+ (let ((commit "80c1e9e71945f833386d1632b52573e59325804f")
+ (revision "4"))
+ (package
+ (name "guile-newt")
+ (version (string-append "0-" revision "." (string-take commit 9)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/mothacehe/guile-newt")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1w7qy4dw1f4bx622l6hw8mv49sf1ha8kch8j4nganyk8fj0wn695"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:make-flags
+ '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
+ (inputs
+ `(("guile" ,guile-2.2)
+ ("newt" ,newt)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
+ (synopsis "Guile bindings to Newt")
+ (description
+ "This package provides bindings for Newt, a programming library for
+color text mode, widget based user interfaces. The bindings are written in pure
+Scheme by using Guile’s foreign function interface.")
+ (home-page "https://gitlab.com/mothacehe/guile-newt")
+ (license license:gpl3+))))
+
+(define-public guile-mastodon
+ (package
+ (name "guile-mastodon")
+ (version "0.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://framagit.org/prouby/guile-mastodon.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1vblf3d1bbwna3l09p2ap5y8ycvl549bz6whgk78imyfmn28ygry"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-2.2)
+ ("gnutls" ,gnutls)
+ ("guile-json" ,guile-json)))
+ (home-page "https://framagit.org/prouby/guile-mastodon")
+ (synopsis "Guile Mastodon REST API module")
+ (description "This package provides Guile modules to access the
+@uref{https://docs.joinmastodon.org/api/, REST API of Mastodon}, a federated
+microblogging service.")
+ (license license:gpl3+)))
+
+;; There has not been any release yet.
+(define-public guile-parted
+ (let ((commit "ea3f1a1f6844775fc59d3078d2a09c62ffb341b8")
+ (revision "0"))
+ (package
+ (name "guile-parted")
+ (version (string-append "0-" revision "." (string-take commit 9)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/mothacehe/guile-parted")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1q7425gpjlwi2wvhzq7kw046yyx7v6j6jyzkd1cr861iz34mjwiq"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:make-flags
+ '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
+ (inputs
+ `(("guile" ,guile-2.2)
+ ("parted" ,parted)))
+ (propagated-inputs
+ `(("guile-bytestructures" ,guile-bytestructures)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
+ (synopsis "Guile bindings to GNU Parted")
+ (description
+ "This package provides bindings for GNU Parted library, a C library
+allowing disk partition tables creation and manipulation. The bindings are
+written in pure Scheme by using Guile's foreign function interface.")
+ (home-page "https://gitlab.com/mothacehe/guile-parted")
+ (license license:gpl3+))))
+
+(define-public guile-xosd
+ (package
+ (name "guile-xosd")
+ (version "0.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/alezost/" name
+ "/releases/download/v" version
+ "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ri5065c16kmgrf2pysn2ymxjqi5302lhpb07wkl1jr75ym8fn8p"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("guile" ,guile-2.2)
+ ("libx11" ,libx11)
+ ("libxext" ,libxext)
+ ("libxinerama" ,libxinerama)
+ ("xosd" ,xosd)))
+ (home-page "https://github.com/alezost/guile-xosd")
+ (synopsis "XOSD bindings for Guile")
+ (description
+ "Guile-XOSD provides Guile bindings for @code{libxosd},
+@uref{http://sourceforge.net/projects/libxosd/, the X On Screen Display
+library}.")
+ (license license:gpl3+)))
+
+(define-public guile-dbi
+ (package
+ (name "guile-dbi")
+ (version "2.1.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://download.gna.org/guile-dbi/guile-dbi-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "116njrprhgrsv1qm904sp3b02rq01fx639r433d657gyhw3x159n"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags
+ (list (string-append
+ "--with-guile-site-dir=" %output "/share/guile/site/2.2"))
+ #:make-flags
+ (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib:"
+ (assoc-ref %build-inputs "guile-dbd-sqlite3") "/lib"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'patch-extension-path
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (dbi.scm (string-append
+ out "/share/guile/site/2.2/dbi/dbi.scm"))
+ (ext (string-append out "/lib/libguile-dbi")))
+ (substitute* dbi.scm (("libguile-dbi") ext))
+ #t))))))
+ (inputs
+ `(("guile-dbd-sqlite3" ,guile-dbd-sqlite3))) ; only shared library, no scheme files
+ (propagated-inputs
+ `(("guile" ,guile-2.2)))
+ (synopsis "Guile database abstraction layer")
+ (home-page "http://home.gna.org/guile-dbi/guile-dbi.html")
+ (description
+ "guile-dbi is a library for Guile that provides a convenient interface to
+SQL databases. Database programming with guile-dbi is generic in that the same
+programming interface is presented regardless of which database system is used.
+It currently supports MySQL, Postgres and SQLite3.")
+ (license license:gpl2+)))
+
+(define guile-dbi-bootstrap
+ (package
+ (inherit guile-dbi)
+ (name "guile-dbi-bootstrap")
+ (inputs '())
+ (arguments
+ (substitute-keyword-arguments (package-arguments guile-dbi)
+ ((#:make-flags _) '(list))))))
+
+(define-public guile-dbd-sqlite3
+ (package
+ (name "guile-dbd-sqlite3")
+ (version "2.1.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://download.gna.org/guile-dbi/guile-dbd-sqlite3-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0rg71jchxd2y8x496s8zmfmikr5g8zxi8zv2ar3f7a23pph92iw2"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("guile-dbi-bootstrap" ,guile-dbi-bootstrap))) ; only required for headers
+ (inputs
+ `(("sqlite" ,sqlite)
+ ("zlib" ,(@ (gnu packages compression) zlib))))
+ (synopsis "Guile DBI driver for SQLite")
+ (home-page "https://github.com/jkalbhenn/guile-dbd-sqlite3")
+ (description
+ "guile-dbi is a library for Guile that provides a convenient interface to
+SQL databases. This package implements the interface for SQLite.")
+ (license license:gpl2+)))
+
+(define-public guile-config
+ (package
+ (name "guile-config")
+ (version "0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/a-sassmannshausen/guile-config")
+ (commit "ce12de3f438c6b2b59c43ee21bcd58251835fdf3")))
+ (file-name "guile-config-0.3-checkout")
+ (sha256 (base32 "02zbpin0r9m2vxmr7mv68v3xdn247dcck56kbzjn0gj4c2rhih85"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (inputs `(("guile" ,guile-2.2)))
+ (synopsis
+ "Guile application configuration parsing library.")
+ (description
+ "Guile Config is a library providing a declarative approach to
+application configuration specification. The library provides clean
+configuration declaration forms, and processors that take care of:
+configuration file creation; configuration file parsing; command-line
+parameter parsing using getopt-long; basic GNU command-line parameter
+generation (--help, --usage, --version); automatic output generation for the
+above command-line parameters.")
+ (home-page
+ "https://gitlab.com/a-sassmannshausen/guile-config")
+ (license license:gpl3+)))
+
+(define-public guile-hall
+ (package
+ (name "guile-hall")
+ (version "0.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/a-sassmannshausen/guile-hall")
+ (commit "7d1094a12fe917209ce5b76c681cc8c862d4c65b")))
+ (file-name "guile-hall-0.1.1-checkout")
+ (sha256
+ (base32
+ "03kb09cjca98hlbx9mj12mqinzsnnvp6ci6i975n88pjhaxigyp1"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules
+ ((ice-9 match)
+ (ice-9 ftw)
+ ,@%gnu-build-system-modules)
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'hall-wrap-binaries
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin/"))
+ (site (string-append out "/share/guile/site"))
+ (config (assoc-ref inputs "guile-config")))
+ (match (scandir site)
+ (("." ".." version)
+ (let ((modules (string-append site "/" version))
+ (compiled-modules (string-append
+ out "/lib/guile/" version
+ "/site-ccache")))
+ (wrap-program (string-append bin "hall")
+ `("GUILE_LOAD_PATH" ":" prefix
+ (,modules
+ ,(string-append config
+ "/share/guile/site/"
+ version)))
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix
+ (,compiled-modules
+ ,(string-append config "/lib/guile/"
+ version
+ "/site-ccache"))))
+ #t)))))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (inputs `(("guile" ,guile-2.2)))
+ (propagated-inputs
+ `(("guile-config" ,guile-config)))
+ (synopsis "Guile project tooling")
+ (description
+ "Hall is a command-line application and a set of Guile libraries that
+allow you to quickly create and publish Guile projects. It allows you to
+transparently support the GNU build system, manage a project hierarchy &
+provides tight coupling to Guix.")
+ (home-page "https://gitlab.com/a-sassmannshausen/guile-hall")
+ (license license:gpl3+)))
+
+(define-public guile-ics
+ (package
+ (name "guile-ics")
+ (version "0.2.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/artyom-poptsov/guile-ics")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0qjjvadr7gibdq9jvwkmlkb4afsw9n2shfj9phpiadinxk3p4m2g"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf-wrapper)
+ ("automake" ,automake)
+ ("texinfo" ,texinfo)
+ ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
+ ("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)))
+ (inputs `(("guile" ,guile-2.2) ("which" ,which)))
+ (propagated-inputs `(("guile-lib" ,guile-lib)))
+ (home-page "https://github.com/artyom-poptsov/guile-ics")
+ (synopsis "Guile parser library for the iCalendar format")
+ (description
+ "Guile-ICS is an iCalendar (RFC5545) format parser library written in
+pure Scheme. The library can be used to read and write iCalendar data.
+
+The library is shipped with documentation in Info format and usage examples.")
+ (license license:gpl3+)))
+
+(define-public guile-wisp
+ (package
+ (name "guile-wisp")
+ (version "0.9.9")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://bitbucket.org/ArneBab/"
+ "wisp/downloads/wisp-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1xa0f0fvcrimqap50azv5872bfx8jbhc6baxa1prpbwcksbh8gdz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 rdelim)
+ (ice-9 popen))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'patch-/usr/bin/env
+ (lambda _
+ (substitute* "Makefile.in"
+ (("/usr/bin/env bash") (which "bash"))
+ (("\\$\\(GUILE_EFFECTIVE_VERSION\\)/site")
+ "site/$(GUILE_EFFECTIVE_VERSION)")) ;use the right order
+ #t))
+ ;; auto compilation breaks, but if we set HOME to /tmp,
+ ;; that works ok
+ (add-before 'check 'auto-compile-hacky-workaround
+ (lambda _ (setenv "HOME" "/tmp") #t))
+ (add-after 'install 'install-go-files
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (effective (read-line
+ (open-pipe* OPEN_READ
+ "guile" "-c"
+ "(display (effective-version))")))
+ (module-dir (string-append out "/share/guile/site/"
+ effective))
+ (object-dir (string-append out "/lib/guile/" effective
+ "/site-ccache"))
+ (prefix (string-length module-dir)))
+ ;; compile to the destination
+ (for-each (lambda (file)
+ (let* ((base (string-drop (string-drop-right file 4)
+ prefix))
+ (go (string-append object-dir base ".go")))
+ (invoke "guild" "compile" "-L" module-dir
+ file "-o" go)))
+ (find-files module-dir "\\.scm$"))
+ #t))))))
+ (home-page "https://draketo.de/english/wisp")
+ (inputs
+ `(("guile" ,guile-2.2)))
+ (native-inputs
+ `(("python" ,python)
+ ("pkg-config" ,pkg-config)))
+ (synopsis "Whitespace to lisp syntax for Guile")
+ (description "Wisp is a syntax for Guile which provides a Python-like
+whitespace-significant language. It may be easier on the eyes for some
+users and in some situations.")
+ (license license:gpl3+)))
+
+(define-public guile-sly
+ (package
+ (name "guile-sly")
+ (version "0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://files.dthompson.us/sly/sly-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1svzlbz2vripmyq2kjh0rig16bsrnbkwbsm558pjln9l65mcl4qq"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "configure"
+ (("_guile_required_version=\"2.0.11\"")
+ "_guile_required_version=\"2\"")
+ (("ac_subst_vars='")
+ "ac_subst_vars='GUILE_EFFECTIVE_VERSION\n"))
+ (substitute* (find-files "." "Makefile.in")
+ (("moddir = .*$")
+ (string-append
+ "moddir = "
+ "$(prefix)/share/guile/site/@GUILE_EFFECTIVE_VERSION@\n"))
+ (("godir = .*$")
+ (string-append
+ "godir = "
+ "$(prefix)/lib/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")))
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags
+ (list (string-append "--with-libfreeimage-prefix="
+ (assoc-ref %build-inputs "freeimage"))
+ (string-append "--with-libgslcblas-prefix="
+ (assoc-ref %build-inputs "gsl")))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("guile-sdl" ,guile-sdl)
+ ("guile-opengl" ,guile-opengl)))
+ (inputs
+ `(("guile" ,guile-2.2)
+ ("gsl" ,gsl)
+ ("freeimage" ,freeimage)
+ ("mesa" ,mesa)))
+ (synopsis "2D/3D game engine for GNU Guile")
+ (description "Sly is a 2D/3D game engine written in Guile Scheme. Sly
+features a functional reactive programming interface and live coding
+capabilities.")
+ (home-page "https://dthompson.us/projects/sly.html")
+ (license license:gpl3+)))
+
+(define-public g-wrap
+ (package
+ (name "g-wrap")
+ (version "1.9.15")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/g-wrap/g-wrap-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0ak0bha37dfpj9kmyw1r8fj8nva639aw5xr66wr5gd3l1rqf5xhg"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("guile" ,guile-2.2)
+ ("guile-lib" ,guile-lib)))
+ (inputs
+ `(("libffi" ,libffi)))
+ (arguments
+ `(#:configure-flags '("--disable-Werror")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'pre-configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* (find-files "." "^Makefile.in$")
+ (("guilemoduledir =.*guile/site" all)
+ (string-append all "/@GUILE_EFFECTIVE_VERSION@")))
+ #t))))))
+ (synopsis "Generate C bindings for Guile")
+ (description "G-Wrap is a tool and Guile library for generating function
+wrappers for inter-language calls. It currently only supports generating Guile
+wrappers for C functions. Given a definition of the types and prototypes for
+a given C interface, G-Wrap will automatically generate the C code that
+provides access to that interface and its types from the Scheme level.")
+ (home-page "https://www.nongnu.org/g-wrap/index.html")
+ (license license:lgpl2.1+)))
+
+(define-public guile-miniadapton
+ (let ((commit "1b5749422304567c96ac5367f2221dda9eff5880")
+ (revision "1"))
+ (package
+ (name "guile-miniadapton")
+ (version (string-append "0-" revision "." (string-take commit 9)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fisherdj/miniAdapton.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "09q51zkw2fypad5xixskfzw2cjhjgs5cswdp3i7cpp651rb3zndh"))))
+ (build-system guile-build-system)
+ (native-inputs
+ `(("guile" ,guile-2.2)))
+ (home-page "https://github.com/fisherdj/miniAdapton")
+ (synopsis "Minimal implementation of incremental computation in Guile
+Scheme")
+ (description "This package provides a complete Scheme implementation of
+miniAdapton, which implements the core functionality of the Adapton system for
+incremental computation (also known as self-adjusting computation). Like
+Adapton, miniAdapton allows programmers to safely combine mutation and
+memoization. miniAdapton is built on top of an even simpler system,
+microAdapton. Both miniAdapton and microAdapton are designed to be easy to
+understand, extend, and port to host languages other than Scheme.")
+ (license license:expat))))
+
+(define-public guile-reader
+ (package
+ (name "guile-reader")
+ (version "0.6.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/guile-reader/guile-reader-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0592s2s8ampqmqwilc4fvcild6rb9gy79di6vxv5kcdmv23abkgx"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("pkgconfig" ,pkg-config)
+ ("gperf" ,gperf-3.0)))
+ (inputs `(("guile" ,guile-2.2)))
+ (synopsis "Framework for building readers for GNU Guile")
+ (description
+ "Guile-Reader is a simple framework for building readers for GNU Guile.
+
+The idea is to make it easy to build procedures that extend Guile’s read
+procedure. Readers supporting various syntax variants can easily be written,
+possibly by re-using existing “token readers” of a standard Scheme
+readers. For example, it is used to implement Skribilo’s R5RS-derived
+document syntax.
+
+Guile-Reader’s approach is similar to Common Lisp’s “read table”, but
+hopefully more powerful and flexible (for instance, one may instantiate as
+many readers as needed).")
+ (home-page "https://www.nongnu.org/guile-reader/")
+ (license license:gpl3+)))
+
+(define-public guile2.2-reader
+ (deprecated-package "guile2.2-reader" guile-reader))
+
+(define-public guile-ncurses
+ (package
+ (name "guile-ncurses")
+ (version "2.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/guile-ncurses/guile-ncurses-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1wvggbr4xv8idh1hzd8caj4xfp4pln78a7w1wqzd4zgzwmnzxr2f"))))
+ (build-system gnu-build-system)
+ (inputs `(("ncurses" ,ncurses)
+ ("guile" ,guile-2.2)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (arguments
+ '(#:configure-flags (list "--with-ncursesw" ; Unicode support
+ "--with-gnu-filesystem-hierarchy")
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-libguile-ncurses-file-name
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "make" "install"
+ "-C" "src/ncurses"
+ "-j" (number->string
+ (parallel-job-count)))
+ (let* ((out (assoc-ref outputs "out"))
+ (dir "src/ncurses")
+ (files (find-files dir ".scm")))
+ (substitute* files
+ (("\"libguile-ncurses\"")
+ (format #f "\"~a/lib/guile/2.2/libguile-ncurses\""
+ out)))
+ #t))))))
+ (home-page "https://www.gnu.org/software/guile-ncurses/")
+ (synopsis "Guile bindings to ncurses")
+ (description
+ "guile-ncurses provides Guile language bindings for the ncurses
+library.")
+ (license license:lgpl3+)))
+
+(define-public guile-ncurses/gpm
+ (package
+ (inherit guile-ncurses)
+ (name "guile-ncurses-with-gpm")
+ (inputs `(("ncurses" ,ncurses/gpm)
+ ("guile" ,guile-2.2)))))
+
+(define-public guile-lib
+ (package
+ (name "guile-lib")
+ (version "0.2.6.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/guile-lib/guile-lib-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0aizxdif5dpch9cvs8zz5g8ds5s4xhfnwza2il5ji7fv2h7ks7bd"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:make-flags
+ '("GUILE_AUTO_COMPILE=0") ; to prevent guild errors
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'patch-module-dir
+ (lambda _
+ (substitute* "src/Makefile.in"
+ (("^moddir = ([[:graph:]]+)")
+ "moddir = $(datadir)/guile/site/@GUILE_EFFECTIVE_VERSION@\n")
+ (("^godir = ([[:graph:]]+)")
+ "godir = \
+$(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))
+ #t)))))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (inputs `(("guile" ,guile-2.2)))
+ (home-page "https://www.nongnu.org/guile-lib/")
+ (synopsis "Collection of useful Guile Scheme modules")
+ (description
+ "Guile-Lib is intended as an accumulation place for pure-scheme Guile
+modules, allowing for people to cooperate integrating their generic Guile
+modules into a coherent library. Think \"a down-scaled, limited-scope CPAN
+for Guile\".")
+
+ ;; The whole is under GPLv3+, but some modules are under laxer
+ ;; distribution terms such as LGPL and public domain. See `COPYING' for
+ ;; details.
+ (license license:gpl3+)))
+
+(define-public guile2.0-lib
+ (package
+ (inherit guile-lib)
+ (name "guile2.0-lib")
+ (inputs `(("guile" ,guile-2.0)))))
+
+(define-public guile2.2-lib
+ (deprecated-package "guile2.2-lib" guile-lib))
+
+(define-public guile-minikanren
+ (package
+ (name "guile-minikanren")
+ (version "20150424.e844d85")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ijp/minikanren.git")
+ (commit "e844d85512f8c055d3f96143ee506007389a25e3")))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0r50jlpzi940jlmxyy3ddqqwmj5r12gb4bcv0ssini9v8km13xz6"))))
+ (build-system guile-build-system)
+ (native-inputs
+ `(("guile" ,guile-2.2)))
+ (home-page "https://github.com/ijp/minikanren")
+ (synopsis "MiniKanren declarative logic system, packaged for Guile")
+ (description
+ "MiniKanren is a relational programming extension to the Scheme
+programming Language, written as a smaller version of Kanren suitable for
+pedagogical purposes. It is featured in the book, The Reasoned Schemer,
+written by Dan Friedman, William Byrd, and Oleg Kiselyov.
+
+This is Ian Price's r6rs packaged version of miniKanren, which deviates
+slightly from miniKanren mainline.
+
+See http://minikanren.org/ for more on miniKanren generally.")
+ (license license:expat)))
+
+(define-public guile2.0-minikanren
+ (package
+ (inherit guile-minikanren)
+ (name "guile2.0-minikanren")
+ (native-inputs `(("guile" ,guile-2.0)))))
+
+(define-public guile2.2-minikanren
+ (deprecated-package "guile2.2-minikanren" guile-minikanren))
+
+(define-public guile-irregex
+ (package
+ (name "guile-irregex")
+ (version "0.9.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://synthcode.com/scheme/irregex/irregex-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1ia3m7dp3lcxa048q0gqbiwwsyvn99baw6xkhb4bhhzn4k7bwyqq"))))
+ (build-system guile-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'move-files-around
+ (lambda _
+ ;; Move the relevant source files to src/ and create the
+ ;; rx/ directory to match the expected module hierarchy.
+ (mkdir-p "src/rx/source")
+ (rename-file "irregex-guile.scm"
+ "src/rx/irregex.scm")
+ (rename-file "irregex.scm"
+ "src/rx/source/irregex.scm")
+ ;; Not really reachable via guile's packaging system,
+ ;; but nice to have around.
+ (rename-file "irregex-utils.scm"
+ "src/rx/source/irregex-utils.scm")
+ #t)))
+ #:source-directory "src"))
+ (native-inputs
+ `(("guile" ,guile-2.2)))
+ (home-page "http://synthcode.com/scheme/irregex")
+ (synopsis "S-expression based regular expressions")
+ (description
+ "Irregex is an s-expression based alternative to your classic
+string-based regular expressions. It implements SRFI 115 and is deeply
+inspired by the SCSH regular expression system.")
+ (license license:bsd-3)))
+
+(define-public guile2.0-irregex
+ (package
+ (inherit guile-irregex)
+ (name "guile2.0-irregex")
+ (native-inputs `(("guile" ,guile-2.0)))))
+
+(define-public guile2.2-irregex
+ (deprecated-package "guile2.2-irregex" guile-irregex))
+
+(define-public haunt
+ (package
+ (name "haunt")
+ (version "0.2.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://files.dthompson.us/haunt/haunt-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "056z4znikk83nr5mr0x2ac3iinqbywa2bvb37mhr566a1q50isfc"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules ((ice-9 match) (ice-9 ftw)
+ ,@%gnu-build-system-modules)
+ #:tests? #f ; test suite is non-deterministic :(
+ #:phases (modify-phases %standard-phases
+ (add-after 'install 'wrap-haunt
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Wrap the 'haunt' command to refer to the right
+ ;; modules.
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (site (string-append
+ out "/share/guile/site"))
+ (deps (list (assoc-ref inputs "guile-reader")
+ (assoc-ref inputs "guile-commonmark"))))
+ (match (scandir site)
+ (("." ".." version)
+ (let ((modules (string-append site "/" version))
+ (compiled-modules (string-append
+ out "/lib/guile/" version
+ "/site-ccache")))
+ (wrap-program (string-append bin "/haunt")
+ `("GUILE_LOAD_PATH" ":" prefix
+ (,modules
+ ,@(map (lambda (dep)
+ (string-append dep
+ "/share/guile/site/"
+ version))
+ deps)))
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix
+ (,compiled-modules
+ ,@(map (lambda (dep)
+ (string-append dep "/lib/guile/"
+ version
+ "/site-ccache"))
+ deps))))
+ #t)))))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("texinfo" ,texinfo)))
+ (inputs
+ `(("guile" ,guile-2.2)))
+ (propagated-inputs
+ `(("guile-reader" ,guile-reader)
+ ("guile-commonmark" ,guile-commonmark)))
+ (synopsis "Functional static site generator")
+ (description "Haunt is a static site generator written in Guile
+Scheme. Haunt features a functional build system and an extensible
+interface for reading articles in any format.")
+ (home-page "http://haunt.dthompson.us")
+ (license license:gpl3+)))
+
+(define-public guile2.0-haunt
+ (package
+ (inherit haunt)
+ (name "guile2.0-haunt")
+ (inputs `(("guile" ,guile-2.0)))))
+
+(define-public guile2.2-haunt
+ (deprecated-package "guile2.2-haunt" haunt))
+
+(define-public guile-redis
+ (package
+ (name "guile-redis")
+ (version "1.0.0")
+ (home-page "https://github.com/aconchillo/guile-redis")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append home-page "/archive/" version ".tar.gz"))
+ (sha256
+ (base32
+ "1dp5fmqvma59pvp1nfpq6hqgbmjici8sd1y8llahl87fynw1dvr9"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("guile" ,guile-2.2)))
+ (synopsis "Redis client library for Guile")
+ (description "Guile-redis provides a Scheme interface to the Redis
+key-value cache and store.")
+ (license license:lgpl3+)))
+
+(define-public guile2.0-redis
+ (package
+ (inherit guile-redis)
+ (name "guile2.0-redis")
+ (native-inputs `(("guile" ,guile-2.0)
+ ,@(alist-delete "guile"
+ (package-native-inputs guile-redis))))))
+
+(define-public guile2.2-redis
+ (deprecated-package "guile2.2-redis" guile-redis))
+
+(define-public guile-commonmark
+ (package
+ (name "guile-commonmark")
+ (version "0.1.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/OrangeShark/" name
+ "/releases/download/v" version
+ "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "17lrsdisa3kckh24q114vfmzdc4wkqa6ccwl4hdlrng5wpn1iman"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("guile" ,guile-2.2)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (synopsis "CommonMark parser for Guile")
+ (description
+ "guile-commonmark is a library for parsing CommonMark, a fully specified
+variant of Markdown. The library is written in Guile Scheme and is designed
+to transform a CommonMark document to SXML. guile-commonmark tries to closely
+follow the @uref{http://commonmark.org/, CommonMark spec}, the main difference
+is no support for parsing block and inline level HTML.")
+ (home-page "https://github.com/OrangeShark/guile-commonmark")
+ (license license:lgpl3+)))
+
+(define-public guile2.0-commonmark
+ (package
+ (inherit guile-commonmark)
+ (name "guile2.0-commonmark")
+ (inputs `(("guile" ,guile-2.0)))))
+
+(define-public guile2.2-commonmark
+ (deprecated-package "guile2.2-commonmark" guile-commonmark))
+
+(define-public mcron
+ (package
+ (name "mcron")
+ (version "1.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/mcron/mcron-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1i9mcp6r6my61zfiydsm3n6my41mwvl7dfala4q29qx0zn1ynlm4"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'check 'set-timezone
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; 'tests/job-specifier.scm' expects to be running in
+ ;; UTC-2 or something.
+ ;; FIXME: This issue is being investigated upstream, for
+ ;; now we'll just skip the tests (see below):
+ ;; <https://lists.gnu.org/archive/html/bug-mcron/2018-04/msg00005.html>.
+ (let ((tzdata (assoc-ref inputs "tzdata")))
+ (setenv "TZDIR"
+ (string-append tzdata
+ "/share/zoneinfo"))
+ (setenv "TZ" "UTC-2")
+ #t)))
+ (add-before 'check 'adjust-tests
+ (lambda _
+ (substitute* "tests/job-specifier.scm"
+ ;; (getpw) fails with "entry not found" in the build
+ ;; environment, so pass an argument.
+ (("\\(getpw\\)")
+ "(getpwnam (getuid))")
+ ;; The build environment lacks an entry for root in
+ ;; /etc/passwd.
+ (("\\(getpw 0\\)")
+ "(getpwnam \"nobody\")")
+
+ ;; FIXME: Skip the 4 faulty tests (see above).
+ (("\\(test-equal \"next-year\"" all)
+ (string-append "(test-skip 4)\n" all)))
+ #t)))))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("tzdata" ,tzdata-for-tests)))
+ (inputs `(("ed" ,ed) ("which" ,which) ("guile" ,guile-2.2)))
+ (home-page "https://www.gnu.org/software/mcron/")
+ (synopsis "Run jobs at scheduled times")
+ (description
+ "GNU Mcron is a complete replacement for Vixie cron. It is used to run
+tasks on a schedule, such as every hour or every Monday. Mcron is written in
+Guile, so its configuration can be written in Scheme; the original cron
+format is also supported.")
+ (license license:gpl3+)))
+
+(define-public mcron2
+ ;; This was mthl's mcron development branch, and it became mcron 1.1.
+ (deprecated-package "mcron2" mcron))
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 98221a83eb..eb32e596d3 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -1,25 +1,20 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com>
+;;; Copyright © 2014, 2016, 2018 David Thompson <davet@gnu.org>
+;;; Copyright © 2014, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org>
-;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
-;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com>
-;;; Copyright © 2016 Eraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2016, 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
-;;; Copyright © 2016 Amirouche <amirouche@hypermove.net>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
-;;; Copyright © 2017 David Thompson <davet@gnu.org>
-;;; Copyright © 2017, 2018 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
-;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
+;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Amirouche <amirouche@hypermove.net>
+;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2019 Taylan Kammer <taylan.kammer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -39,48 +34,31 @@
(define-module (gnu packages guile)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
- #:use-module (gnu packages aspell)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages compression)
#:use-module (gnu packages dbm)
- #:use-module (gnu packages disk)
- #:use-module (gnu packages ed)
#:use-module (gnu packages flex)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
- #:use-module (gnu packages gl)
- #:use-module (gnu packages gperf)
#:use-module (gnu packages hurd)
- #:use-module (gnu packages image)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libunistring)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4)
- #:use-module (gnu packages man)
- #:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
- #:use-module (gnu packages ncurses)
- #:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config)
- #:use-module (gnu packages python)
#:use-module (gnu packages readline)
- #:use-module (gnu packages sdl)
- #:use-module (gnu packages slang)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
- #:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
- #:use-module (gnu packages xdisorg)
- #:use-module (gnu packages xorg)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system guile)
- #:use-module (guix build-system trivial)
#:use-module (guix utils)
#:use-module (ice-9 match)
#:use-module ((srfi srfi-1) #:prefix srfi-1:))
@@ -410,15 +388,10 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its
(string-length "guile-")))
name)))
-(define package-for-guile-2.2
- ;; A procedure that rewrites the dependency tree of the given package to use
- ;; GUILE-2.2 instead of GUILE-2.0.
- (package-input-rewriting `((,guile-2.0 . ,guile-2.2))
- (guile-variant-package-name "guile2.2")))
-
(define package-for-guile-2.0
- ;; Likewise, but the other way around. :-)
- (package-input-rewriting `((,guile-2.2 . ,guile-2.0))
+ ;; A procedure that rewrites the dependency tree of the given package to use
+ ;; GUILE-2.0 instead of GUILE-2.2.
+ (package-input-rewriting (delay `((,guile-2.2 . ,guile-2.0)))
(guile-variant-package-name "guile2.0")))
(define-public guile-for-guile-emacs
@@ -435,20 +408,10 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its
(base32
"00sprsshy16y8pxjy126hr2adqcvvzzz96hjyjwgg8swva1qh6b0"))))
(arguments
- (substitute-keyword-arguments `(;; Tests aren't passing for now.
- ;; Obviously we should re-enable this!
- #:tests? #f
- ,@(package-arguments guile-2.2))
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'autogen
- (lambda _
- (zero? (system* "sh" "autogen.sh"))))
- (add-before 'autogen 'patch-/bin/sh
- (lambda _
- (substitute* "build-aux/git-version-gen"
- (("#!/bin/sh") (string-append "#!" (which "sh"))))
- #t))))))
+ `(;; Tests aren't passing for now.
+ ;; Obviously we should re-enable this!
+ #:tests? #f
+ ,@(package-arguments guile-2.2)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -467,445 +430,11 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its
(files '("lib/guile/2.0/site-ccache"
"share/guile/site/2.0")))))))
-;; There has not been any release yet.
-(define-public guildhall
- (let ((commit "2fe2cc539f4b811bbcd69e58738db03eb5a2b778")
- (revision "1"))
- (package
- (name "guildhall")
- (version (string-append "0-" revision "." (string-take commit 9)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ijp/guildhall.git")
- (commit commit)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "115bym7bg66h3gs399yb2vkzc2ygriaqsn4zbrg8f054mgy8wzn1"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; Tests fail without this fix because they try to load the bash
- ;; executable as a Scheme file. See bug report at
- ;; https://github.com/ijp/guildhall/issues/22
- (add-after 'unpack 'fix-bug-22
- (lambda _
- (substitute* "Makefile.am"
- (("TESTS_ENVIRONMENT=.*")
- "AM_TESTS_ENVIRONMENT=srcdir=$(abs_top_srcdir)/tests/
-TEST_EXTENSIONS = .scm
-SCM_LOG_COMPILER= $(top_builddir)/env $(GUILE)
-AM_SCM_LOG_FLAGS = --no-auto-compile -s")
- ;; FIXME: one of the database tests fails for unknown
- ;; reasons. It does not fail when run outside of Guix.
- (("tests/database.scm") ""))
- #t)))))
- (inputs
- `(("guile" ,guile-2.0)))
- (native-inputs
- `(("zip" ,zip) ; for tests
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("texinfo" ,texinfo)))
- (synopsis "Package manager for Guile")
- (description
- "Guildhall is a package manager written for Guile Scheme. A guild is
-an association of independent craftspeople. A guildhall is where they meet.
-This Guildhall aims to make a virtual space for Guile wizards and journeyfolk
-to share code.
-
-On a practical level, Guildhall lets you share Scheme modules and programs
-over the internet, and install code that has been shared by others. Guildhall
-can handle dependencies, so when a program requires several libraries, and
-each of those has further dependencies, all of the prerequisites for the
-program can be installed in one go.")
- (home-page "https://github.com/ijp/guildhall")
- (license license:gpl3+))))
-
;;;
;;; Extensions.
;;;
-(define-public artanis
- (let ((release "0.2.1")
- (revision 3))
- (package
- (name "artanis")
- (version (if (zero? revision)
- release
- (string-append release "-"
- (number->string revision))))
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/artanis/artanis-"
- release ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "041ajcg2pz918kd9iqcj4inpzddc3impvz3r2nhlpbv8zrz011hn"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (delete-file-recursively "artanis/third-party/json.scm")
- (delete-file-recursively "artanis/third-party/json")
- (substitute* '("artanis/artanis.scm"
- "artanis/oht.scm")
- (("(#:use-module \\()artanis third-party (json\\))" _
- use-module json)
- (string-append use-module json)))
- (substitute* "artanis/oht.scm"
- (("([[:punct:][:space:]]+)(->json-string)([[:punct:][:space:]]+)"
- _ pre json-string post)
- (string-append pre
- "scm" json-string
- post)))
- (substitute* "artanis/artanis.scm"
- (("[[:punct:][:space:]]+->json-string[[:punct:][:space:]]+")
- ""))
- #t))))
- (build-system gnu-build-system)
- ;; TODO: Add guile-dbi and guile-dbd optional dependencies.
- (inputs `(("guile" ,guile-2.2)
- ("guile-json" ,guile-json)))
- (native-inputs `(("bash" ,bash) ;for the `source' builtin
- ("pkgconfig" ,pkg-config)
- ("util-linux" ,util-linux))) ;for the `script' command
- (arguments
- '(#:make-flags
- ;; TODO: The documentation must be built with the `docs' target.
- (let* ((out (assoc-ref %outputs "out"))
- (scm (string-append out "/share/guile/site/2.2"))
- (go (string-append out "/lib/guile/2.2/site-ccache")))
- ;; Don't use (%site-dir) for site paths.
- (list (string-append "MOD_PATH=" scm)
- (string-append "MOD_COMPILED_PATH=" go)))
- #:test-target "test"
- #:phases
- (modify-phases %standard-phases
- (add-before 'install 'substitute-root-dir
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (substitute* "Makefile" ;ignore the execution of bash.bashrc
- ((" /etc/bash.bashrc") " /dev/null"))
- (substitute* "Makefile" ;set the root of config files to OUT
- ((" /etc") (string-append " " out "/etc")))
- (mkdir-p (string-append out "/bin")) ;for the `art' executable
- #t)))
- (add-after 'install 'wrap-art
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (scm (string-append out "/share/guile/site/2.2"))
- (go (string-append out "/lib/guile/2.2/site-ccache")))
- (wrap-program (string-append bin "/art")
- `("GUILE_LOAD_PATH" ":" prefix (,scm))
- `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go)))
- #t))))))
- (synopsis "Web application framework written in Guile")
- (description "GNU Artanis is a web application framework written in Guile
-Scheme. A web application framework (WAF) is a software framework that is
-designed to support the development of dynamic websites, web applications, web
-services and web resources. The framework aims to alleviate the overhead
-associated with common activities performed in web development. Artanis
-provides several tools for web development: database access, templating
-frameworks, session management, URL-remapping for RESTful, page caching, and
-more.")
- (home-page "https://www.gnu.org/software/artanis/")
- (license (list license:gpl3+ license:lgpl3+))))) ;dual license
-
-(define-public guile-reader
- (package
- (name "guile-reader")
- (version "0.6.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://savannah/guile-reader/guile-reader-"
- version ".tar.gz"))
- (sha256
- (base32
- "0592s2s8ampqmqwilc4fvcild6rb9gy79di6vxv5kcdmv23abkgx"))))
- (build-system gnu-build-system)
- (native-inputs `(("pkgconfig" ,pkg-config)
- ("gperf" ,gperf-3.0)))
- (inputs `(("guile" ,guile-2.2)))
- (synopsis "Framework for building readers for GNU Guile")
- (description
- "Guile-Reader is a simple framework for building readers for GNU Guile.
-
-The idea is to make it easy to build procedures that extend Guile’s read
-procedure. Readers supporting various syntax variants can easily be written,
-possibly by re-using existing “token readers” of a standard Scheme
-readers. For example, it is used to implement Skribilo’s R5RS-derived
-document syntax.
-
-Guile-Reader’s approach is similar to Common Lisp’s “read table”, but
-hopefully more powerful and flexible (for instance, one may instantiate as
-many readers as needed).")
- (home-page "https://www.nongnu.org/guile-reader/")
- (license license:gpl3+)))
-
-(define-public guile2.0-reader
- (package-for-guile-2.0 guile-reader))
-(define-public guile2.2-reader
- (deprecated-package "guile2.2-reader" guile-reader))
-
-(define-public guile-ncurses
- (package
- (name "guile-ncurses")
- (version "2.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/guile-ncurses/guile-ncurses-"
- version ".tar.gz"))
- (sha256
- (base32
- "1wvggbr4xv8idh1hzd8caj4xfp4pln78a7w1wqzd4zgzwmnzxr2f"))))
- (build-system gnu-build-system)
- (inputs `(("ncurses" ,ncurses)
- ("guile" ,guile-2.2)))
- (native-inputs `(("pkg-config" ,pkg-config)))
- (arguments
- '(#:configure-flags (list "--with-ncursesw" ; Unicode support
- "--with-gnu-filesystem-hierarchy")
- #:phases
- (modify-phases %standard-phases
- (add-before 'build 'fix-libguile-ncurses-file-name
- (lambda* (#:key outputs #:allow-other-keys)
- (and (zero? (system* "make" "install"
- "-C" "src/ncurses"
- "-j" (number->string
- (parallel-job-count))))
- (let* ((out (assoc-ref outputs "out"))
- (dir "src/ncurses")
- (files (find-files dir ".scm")))
- (substitute* files
- (("\"libguile-ncurses\"")
- (format #f "\"~a/lib/guile/2.2/libguile-ncurses\""
- out)))
- #t)))))))
- (home-page "https://www.gnu.org/software/guile-ncurses/")
- (synopsis "Guile bindings to ncurses")
- (description
- "guile-ncurses provides Guile language bindings for the ncurses
-library.")
- (license license:lgpl3+)))
-
-(define-public guile-ncurses/gpm
- (package
- (inherit guile-ncurses)
- (name "guile-ncurses-with-gpm")
- (inputs `(("ncurses" ,ncurses/gpm)
- ("guile" ,guile-2.2)))))
-
-(define-public mcron
- (package
- (name "mcron")
- (version "1.1.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/mcron/mcron-"
- version ".tar.gz"))
- (sha256
- (base32
- "1i9mcp6r6my61zfiydsm3n6my41mwvl7dfala4q29qx0zn1ynlm4"))))
- (build-system gnu-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-before 'check 'set-timezone
- (lambda* (#:key inputs #:allow-other-keys)
- ;; 'tests/job-specifier.scm' expects to be running in
- ;; UTC-2 or something.
- ;; FIXME: This issue is being investigated upstream, for
- ;; now we'll just skip the tests (see below):
- ;; <https://lists.gnu.org/archive/html/bug-mcron/2018-04/msg00005.html>.
- (let ((tzdata (assoc-ref inputs "tzdata")))
- (setenv "TZDIR"
- (string-append tzdata
- "/share/zoneinfo"))
- (setenv "TZ" "UTC-2")
- #t)))
- (add-before 'check 'adjust-tests
- (lambda _
- (substitute* "tests/job-specifier.scm"
- ;; (getpw) fails with "entry not found" in the build
- ;; environment, so pass an argument.
- (("\\(getpw\\)")
- "(getpwnam (getuid))")
- ;; The build environment lacks an entry for root in
- ;; /etc/passwd.
- (("\\(getpw 0\\)")
- "(getpwnam \"nobody\")")
-
- ;; FIXME: Skip the 4 faulty tests (see above).
- (("\\(test-equal \"next-year\"" all)
- (string-append "(test-skip 4)\n" all)))
- #t)))))
- (native-inputs `(("pkg-config" ,pkg-config)
- ("tzdata" ,tzdata-for-tests)))
- (inputs `(("ed" ,ed) ("which" ,which) ("guile" ,guile-2.2)))
- (home-page "https://www.gnu.org/software/mcron/")
- (synopsis "Run jobs at scheduled times")
- (description
- "GNU Mcron is a complete replacement for Vixie cron. It is used to run
-tasks on a schedule, such as every hour or every Monday. Mcron is written in
-Guile, so its configuration can be written in Scheme; the original cron
-format is also supported.")
- (license license:gpl3+)))
-
-(define-public mcron2
- ;; This was mthl's mcron development branch, and it became mcron 1.1.
- (deprecated-package "mcron2" mcron))
-
-(define-public guile-hall
- (package
- (name "guile-hall")
- (version "0.1.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.com/a-sassmannshausen/guile-hall")
- (commit "7d1094a12fe917209ce5b76c681cc8c862d4c65b")))
- (file-name "guile-hall-0.1.1-checkout")
- (sha256
- (base32
- "03kb09cjca98hlbx9mj12mqinzsnnvp6ci6i975n88pjhaxigyp1"))))
- (build-system gnu-build-system)
- (arguments
- `(#:modules
- ((ice-9 match)
- (ice-9 ftw)
- ,@%gnu-build-system-modules)
- #:phases
- (modify-phases
- %standard-phases
- (add-after
- 'install
- 'hall-wrap-binaries
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin/"))
- (site (string-append out "/share/guile/site")))
- (match (scandir site)
- (("." ".." version)
- (let ((modules (string-append site "/" version))
- (compiled-modules
- (string-append
- out
- "/lib/guile/"
- version
- "/site-ccache")))
- (for-each
- (lambda (file)
- (wrap-program
- (string-append bin file)
- `("GUILE_LOAD_PATH" ":" prefix (,modules))
- `("GUILE_LOAD_COMPILED_PATH"
- ":"
- prefix
- (,compiled-modules))))
- ,(list 'list "hall"))
- #t)))))))))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)
- ("texinfo" ,texinfo)))
- (inputs `(("guile" ,guile-2.2)))
- (propagated-inputs
- `(("guile-config" ,guile-config)))
- (synopsis "Guile project tooling")
- (description
- "Hall is a command-line application and a set of Guile libraries that
-allow you to quickly create and publish Guile projects. It allows you to
-transparently support the GNU build system, manage a project hierarchy &
-provides tight coupling to Guix.")
- (home-page
- "https://gitlab.com/a-sassmannshausen/guile-hall")
- (license license:gpl3+)))
-
-(define-public guile-ics
- (package
- (name "guile-ics")
- (version "0.2.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/artyom-poptsov/guile-ics")
- (commit (string-append "v" version))))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "0qjjvadr7gibdq9jvwkmlkb4afsw9n2shfj9phpiadinxk3p4m2g"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("autoconf" ,autoconf-wrapper)
- ("automake" ,automake)
- ("texinfo" ,texinfo)
- ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
- ("gettext" ,gettext-minimal)
- ("pkg-config" ,pkg-config)))
- (inputs `(("guile" ,guile-2.2) ("which" ,which)))
- (propagated-inputs `(("guile-lib" ,guile-lib)))
- (home-page "https://github.com/artyom-poptsov/guile-ics")
- (synopsis "Guile parser library for the iCalendar format")
- (description
- "Guile-ICS is an iCalendar (RFC5545) format parser library written in
-pure Scheme. The library can be used to read and write iCalendar data.
-
-The library is shipped with documentation in Info format and usage examples.")
- (license license:gpl3+)))
-
-(define-public guile-lib
- (package
- (name "guile-lib")
- (version "0.2.6.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://savannah/guile-lib/guile-lib-"
- version ".tar.gz"))
- (sha256
- (base32
- "0aizxdif5dpch9cvs8zz5g8ds5s4xhfnwza2il5ji7fv2h7ks7bd"))))
- (build-system gnu-build-system)
- (arguments
- '(#:make-flags
- '("GUILE_AUTO_COMPILE=0") ; to prevent guild errors
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'patch-module-dir
- (lambda _
- (substitute* "src/Makefile.in"
- (("^moddir = ([[:graph:]]+)")
- "moddir = $(datadir)/guile/site/@GUILE_EFFECTIVE_VERSION@\n")
- (("^godir = ([[:graph:]]+)")
- "godir = \
-$(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))
- #t)))))
- (native-inputs `(("pkg-config" ,pkg-config)))
- (inputs `(("guile" ,guile-2.2)))
- (home-page "https://www.nongnu.org/guile-lib/")
- (synopsis "Collection of useful Guile Scheme modules")
- (description
- "Guile-Lib is intended as an accumulation place for pure-scheme Guile
-modules, allowing for people to cooperate integrating their generic Guile
-modules into a coherent library. Think \"a down-scaled, limited-scope CPAN
-for Guile\".")
-
- ;; The whole is under GPLv3+, but some modules are under laxer
- ;; distribution terms such as LGPL and public domain. See `COPYING' for
- ;; details.
- (license license:gpl3+)))
-
-(define-public guile2.0-lib
- (package-for-guile-2.0 guile-lib))
-
-(define-public guile2.2-lib
- (deprecated-package "guile2.2-lib" guile-lib))
-
(define-public guile-json
(package
(name "guile-json")
@@ -957,118 +486,6 @@ specification. These are the main features:
(base32
"1yfqscz74i4vxylabd3s9l0wbdp8bg9qxnv1ixdm3b1l7zdx00z3"))))))
-(define-public guile-minikanren
- (package
- (name "guile-minikanren")
- (version "20150424.e844d85")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ijp/minikanren.git")
- (commit "e844d85512f8c055d3f96143ee506007389a25e3")))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "0r50jlpzi940jlmxyy3ddqqwmj5r12gb4bcv0ssini9v8km13xz6"))))
- (build-system guile-build-system)
- (native-inputs
- `(("guile" ,guile-2.2)))
- (home-page "https://github.com/ijp/minikanren")
- (synopsis "MiniKanren declarative logic system, packaged for Guile")
- (description
- "MiniKanren is a relational programming extension to the Scheme
-programming Language, written as a smaller version of Kanren suitable for
-pedagogical purposes. It is featured in the book, The Reasoned Schemer,
-written by Dan Friedman, William Byrd, and Oleg Kiselyov.
-
-This is Ian Price's r6rs packaged version of miniKanren, which deviates
-slightly from miniKanren mainline.
-
-See http://minikanren.org/ for more on miniKanren generally.")
- (license license:expat)))
-
-(define-public guile2.0-minikanren
- (package-for-guile-2.0 guile-minikanren))
-
-(define-public guile2.2-minikanren
- (deprecated-package "guile2.2-minikanren" guile-minikanren))
-
-(define-public guile-miniadapton
- (let ((commit "1b5749422304567c96ac5367f2221dda9eff5880")
- (revision "1"))
- (package
- (name "guile-miniadapton")
- (version (string-append "0-" revision "." (string-take commit 9)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/fisherdj/miniAdapton.git")
- (commit commit)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "09q51zkw2fypad5xixskfzw2cjhjgs5cswdp3i7cpp651rb3zndh"))))
- (build-system guile-build-system)
- (native-inputs
- `(("guile" ,guile-2.2)))
- (home-page "https://github.com/fisherdj/miniAdapton")
- (synopsis "Minimal implementation of incremental computation in Guile
-Scheme")
- (description "This package provides a complete Scheme implementation of
-miniAdapton, which implements the core functionality of the Adapton system for
-incremental computation (also known as self-adjusting computation). Like
-Adapton, miniAdapton allows programmers to safely combine mutation and
-memoization. miniAdapton is built on top of an even simpler system,
-microAdapton. Both miniAdapton and microAdapton are designed to be easy to
-understand, extend, and port to host languages other than Scheme.")
- (license license:expat))))
-
-(define-public guile-irregex
- (package
- (name "guile-irregex")
- (version "0.9.6")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "http://synthcode.com/scheme/irregex/irregex-"
- version ".tar.gz"))
- (sha256
- (base32
- "1ia3m7dp3lcxa048q0gqbiwwsyvn99baw6xkhb4bhhzn4k7bwyqq"))))
- (build-system guile-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'move-files-around
- (lambda _
- ;; Move the relevant source files to src/ and create the
- ;; rx/ directory to match the expected module hierarchy.
- (mkdir-p "src/rx/source")
- (rename-file "irregex-guile.scm"
- "src/rx/irregex.scm")
- (rename-file "irregex.scm"
- "src/rx/source/irregex.scm")
- ;; Not really reachable via guile's packaging system,
- ;; but nice to have around.
- (rename-file "irregex-utils.scm"
- "src/rx/source/irregex-utils.scm")
- #t)))
- #:source-directory "src"))
- (native-inputs
- `(("guile" ,guile-2.2)))
- (home-page "http://synthcode.com/scheme/irregex")
- (synopsis "S-expression based regular expressions")
- (description
- "Irregex is an s-expression based alternative to your classic
-string-based regular expressions. It implements SRFI 115 and is deeply
-inspired by the SCSH regular expression system.")
- (license license:bsd-3)))
-
-(define-public guile2.0-irregex
- (package-for-guile-2.0 guile-irregex))
-
-(define-public guile2.2-irregex
- (deprecated-package "guile2.2-irregex" guile-irregex))
-
;; There are two guile-gdbm packages, one using the FFI and one with
;; direct C bindings, hence the verbose name.
@@ -1154,512 +571,6 @@ Guile's foreign function interface.")
(define-public guile2.0-sqlite3
(package-for-guile-2.0 guile-sqlite3))
-(define-public haunt
- (package
- (name "haunt")
- (version "0.2.4")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://files.dthompson.us/haunt/haunt-"
- version ".tar.gz"))
- (sha256
- (base32
- "056z4znikk83nr5mr0x2ac3iinqbywa2bvb37mhr566a1q50isfc"))))
- (build-system gnu-build-system)
- (arguments
- `(#:modules ((ice-9 match) (ice-9 ftw)
- ,@%gnu-build-system-modules)
- #:tests? #f ; test suite is non-deterministic :(
- #:phases (modify-phases %standard-phases
- (add-after 'install 'wrap-haunt
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; Wrap the 'haunt' command to refer to the right
- ;; modules.
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (site (string-append
- out "/share/guile/site"))
- (deps (list (assoc-ref inputs "guile-reader")
- (assoc-ref inputs "guile-commonmark"))))
- (match (scandir site)
- (("." ".." version)
- (let ((modules (string-append site "/" version))
- (compiled-modules (string-append
- out "/lib/guile/" version
- "/site-ccache")))
- (wrap-program (string-append bin "/haunt")
- `("GUILE_LOAD_PATH" ":" prefix
- (,modules
- ,@(map (lambda (dep)
- (string-append dep
- "/share/guile/site/"
- version))
- deps)))
- `("GUILE_LOAD_COMPILED_PATH" ":" prefix
- (,compiled-modules
- ,@(map (lambda (dep)
- (string-append dep "/lib/guile/"
- version
- "/site-ccache"))
- deps))))
- #t)))))))))
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("texinfo" ,texinfo)))
- (inputs
- `(("guile" ,guile-2.2)))
- (propagated-inputs
- `(("guile-reader" ,guile-reader)
- ("guile-commonmark" ,guile-commonmark)))
- (synopsis "Functional static site generator")
- (description "Haunt is a static site generator written in Guile
-Scheme. Haunt features a functional build system and an extensible
-interface for reading articles in any format.")
- (home-page "http://haunt.dthompson.us")
- (license license:gpl3+)))
-
-(define-public guile2.0-haunt
- (package-for-guile-2.0
- (package (inherit haunt) (name "guile2.0-haunt"))))
-(define-public guile2.2-haunt
- (deprecated-package "guile2.2-haunt" haunt))
-
-(define-public guile-config
- (package
- (name "guile-config")
- (version "0.3")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.com/a-sassmannshausen/guile-config")
- (commit "ce12de3f438c6b2b59c43ee21bcd58251835fdf3")))
- (file-name "guile-config-0.3-checkout")
- (sha256 (base32 "02zbpin0r9m2vxmr7mv68v3xdn247dcck56kbzjn0gj4c2rhih85"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)
- ("texinfo" ,texinfo)))
- (inputs `(("guile" ,guile-2.2)))
- (synopsis
- "Guile application configuration parsing library.")
- (description
- "Guile Config is a library providing a declarative approach to
-application configuration specification. The library provides clean
-configuration declaration forms, and processors that take care of:
-configuration file creation; configuration file parsing; command-line
-parameter parsing using getopt-long; basic GNU command-line parameter
-generation (--help, --usage, --version); automatic output generation for the
-above command-line parameters.")
- (home-page
- "https://gitlab.com/a-sassmannshausen/guile-config")
- (license license:gpl3+)))
-
-(define-public guile-redis
- (package
- (name "guile-redis")
- (version "1.0.0")
- (home-page "https://github.com/aconchillo/guile-redis")
- (source (origin
- (method url-fetch)
- (uri (string-append home-page "/archive/" version ".tar.gz"))
- (sha256
- (base32
- "1dp5fmqvma59pvp1nfpq6hqgbmjici8sd1y8llahl87fynw1dvr9"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)
- ("guile" ,guile-2.2)))
- (synopsis "Redis client library for Guile")
- (description "Guile-redis provides a Scheme interface to the Redis
-key-value cache and store.")
- (license license:lgpl3+)))
-
-(define-public guile2.0-redis
- (package-for-guile-2.0 guile-redis))
-
-(define-public guile2.2-redis
- (deprecated-package "guile2.2-redis" guile-redis))
-
-(define-public guile-wisp
- (package
- (name "guile-wisp")
- (version "0.9.9")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://bitbucket.org/ArneBab/"
- "wisp/downloads/wisp-"
- version ".tar.gz"))
- (sha256
- (base32
- "1xa0f0fvcrimqap50azv5872bfx8jbhc6baxa1prpbwcksbh8gdz"))))
- (build-system gnu-build-system)
- (arguments
- `(#:modules ((guix build gnu-build-system)
- (guix build utils)
- (ice-9 rdelim)
- (ice-9 popen))
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'patch-/usr/bin/env
- (lambda _
- (substitute* "Makefile.in"
- (("/usr/bin/env bash") (which "bash"))
- (("\\$\\(GUILE_EFFECTIVE_VERSION\\)/site")
- "site/$(GUILE_EFFECTIVE_VERSION)")) ;use the right order
- #t))
- ;; auto compilation breaks, but if we set HOME to /tmp,
- ;; that works ok
- (add-before 'check 'auto-compile-hacky-workaround
- (lambda _ (setenv "HOME" "/tmp") #t))
- (add-after 'install 'install-go-files
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (effective (read-line
- (open-pipe* OPEN_READ
- "guile" "-c"
- "(display (effective-version))")))
- (module-dir (string-append out "/share/guile/site/"
- effective))
- (object-dir (string-append out "/lib/guile/" effective
- "/site-ccache"))
- (prefix (string-length module-dir)))
- ;; compile to the destination
- (for-each (lambda (file)
- (let* ((base (string-drop (string-drop-right file 4)
- prefix))
- (go (string-append object-dir base ".go")))
- (invoke "guild" "compile" "-L" module-dir
- file "-o" go)))
- (find-files module-dir "\\.scm$"))
- #t))))))
- (home-page "https://draketo.de/english/wisp")
- (inputs
- `(("guile" ,guile-2.2)))
- (native-inputs
- `(("python" ,python)
- ("pkg-config" ,pkg-config)))
- (synopsis "Whitespace to lisp syntax for Guile")
- (description "Wisp is a syntax for Guile which provides a Python-like
-whitespace-significant language. It may be easier on the eyes for some
-users and in some situations.")
- (license license:gpl3+)))
-
-(define-public guile-sly
- (package
- (name "guile-sly")
- (version "0.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://files.dthompson.us/sly/sly-"
- version ".tar.gz"))
- (sha256
- (base32
- "1svzlbz2vripmyq2kjh0rig16bsrnbkwbsm558pjln9l65mcl4qq"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "configure"
- (("_guile_required_version=\"2.0.11\"")
- "_guile_required_version=\"2\"")
- (("ac_subst_vars='")
- "ac_subst_vars='GUILE_EFFECTIVE_VERSION\n"))
- (substitute* (find-files "." "Makefile.in")
- (("moddir = .*$")
- (string-append
- "moddir = "
- "$(prefix)/share/guile/site/@GUILE_EFFECTIVE_VERSION@\n"))
- (("godir = .*$")
- (string-append
- "godir = "
- "$(prefix)/lib/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")))
- #t))))
- (build-system gnu-build-system)
- (arguments
- '(#:configure-flags
- (list (string-append "--with-libfreeimage-prefix="
- (assoc-ref %build-inputs "freeimage"))
- (string-append "--with-libgslcblas-prefix="
- (assoc-ref %build-inputs "gsl")))))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (propagated-inputs
- `(("guile-sdl" ,guile-sdl)
- ("guile-opengl" ,guile-opengl)))
- (inputs
- `(("guile" ,guile-2.2)
- ("gsl" ,gsl)
- ("freeimage" ,freeimage)
- ("mesa" ,mesa)))
- (synopsis "2D/3D game engine for GNU Guile")
- (description "Sly is a 2D/3D game engine written in Guile Scheme. Sly
-features a functional reactive programming interface and live coding
-capabilities.")
- (home-page "https://dthompson.us/projects/sly.html")
- (license license:gpl3+)))
-
-(define-public g-wrap
- (package
- (name "g-wrap")
- (version "1.9.15")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://savannah/g-wrap/g-wrap-"
- version ".tar.gz"))
- (sha256
- (base32
- "0ak0bha37dfpj9kmyw1r8fj8nva639aw5xr66wr5gd3l1rqf5xhg"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (propagated-inputs
- `(("guile" ,guile-2.2)
- ("guile-lib" ,guile-lib)))
- (inputs
- `(("libffi" ,libffi)))
- (arguments
- `(#:configure-flags '("--disable-Werror")
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'pre-configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (substitute* (find-files "." "^Makefile.in$")
- (("guilemoduledir =.*guile/site" all)
- (string-append all "/@GUILE_EFFECTIVE_VERSION@")))
- #t))))))
- (synopsis "Generate C bindings for Guile")
- (description "G-Wrap is a tool and Guile library for generating function
-wrappers for inter-language calls. It currently only supports generating Guile
-wrappers for C functions. Given a definition of the types and prototypes for
-a given C interface, G-Wrap will automatically generate the C code that
-provides access to that interface and its types from the Scheme level.")
- (home-page "https://www.nongnu.org/g-wrap/index.html")
- (license license:lgpl2.1+)))
-
-(define-public guile-dbi
- (package
- (name "guile-dbi")
- (version "2.1.6")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "http://download.gna.org/guile-dbi/guile-dbi-"
- version ".tar.gz"))
- (sha256
- (base32
- "116njrprhgrsv1qm904sp3b02rq01fx639r433d657gyhw3x159n"))))
- (build-system gnu-build-system)
- (arguments
- '(#:configure-flags
- (list (string-append
- "--with-guile-site-dir=" %output "/share/guile/site/2.2"))
- #:make-flags
- (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib:"
- (assoc-ref %build-inputs "guile-dbd-sqlite3") "/lib"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'patch-extension-path
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (dbi.scm (string-append
- out "/share/guile/site/2.2/dbi/dbi.scm"))
- (ext (string-append out "/lib/libguile-dbi")))
- (substitute* dbi.scm (("libguile-dbi") ext))
- #t))))))
- (inputs
- `(("guile-dbd-sqlite3" ,guile-dbd-sqlite3))) ; only shared library, no scheme files
- (propagated-inputs
- `(("guile" ,guile-2.2)))
- (synopsis "Guile database abstraction layer")
- (home-page "http://home.gna.org/guile-dbi/guile-dbi.html")
- (description
- "guile-dbi is a library for Guile that provides a convenient interface to
-SQL databases. Database programming with guile-dbi is generic in that the same
-programming interface is presented regardless of which database system is used.
-It currently supports MySQL, Postgres and SQLite3.")
- (license license:gpl2+)))
-
-(define guile-dbi-bootstrap
- (package
- (inherit guile-dbi)
- (name "guile-dbi-bootstrap")
- (inputs '())
- (arguments
- (substitute-keyword-arguments (package-arguments guile-dbi)
- ((#:make-flags _) '(list))))))
-
-(define-public guile-dbd-sqlite3
- (package
- (name "guile-dbd-sqlite3")
- (version "2.1.6")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "http://download.gna.org/guile-dbi/guile-dbd-sqlite3-"
- version ".tar.gz"))
- (sha256
- (base32
- "0rg71jchxd2y8x496s8zmfmikr5g8zxi8zv2ar3f7a23pph92iw2"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("guile-dbi-bootstrap" ,guile-dbi-bootstrap))) ; only required for headers
- (inputs
- `(("sqlite" ,sqlite)
- ("zlib" ,(@ (gnu packages compression) zlib))))
- (synopsis "Guile DBI driver for SQLite")
- (home-page "https://github.com/jkalbhenn/guile-dbd-sqlite3")
- (description
- "guile-dbi is a library for Guile that provides a convenient interface to
-SQL databases. This package implements the interface for SQLite.")
- (license license:gpl2+)))
-
-(define-public guile-dsv
- (package
- (name "guile-dsv")
- (version "0.2.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/artyom-poptsov/guile-dsv")
- (commit "bdc5267d007478abc20ea96d7c459b7dd9560b3d")))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "1irw6mz8998nwyhzrw9g94jcz60b9zljgqfmipaz1ybn8579qjx0"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)
- ("texinfo" ,texinfo)))
- (inputs `(("guile" ,guile-2.2)))
- (propagated-inputs `(("guile-lib" ,guile-lib)))
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-before 'configure 'set-guilesitedir
- (lambda _
- (substitute* "Makefile.in"
- (("^guilesitedir =.*$")
- "guilesitedir = \
-$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
- (substitute* "modules/Makefile.in"
- (("^guilesitedir =.*$")
- "guilesitedir = \
-$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
- (substitute* "modules/dsv/Makefile.in"
- (("^guilesitedir =.*$")
- "guilesitedir = \
-$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
- #t)))))
- (home-page "https://github.com/artyom-poptsov/guile-dsv")
- (synopsis "DSV module for Guile")
- (description
- "Guile-DSV is a GNU Guile module for working with the
-delimiter-separated values (DSV) data format. Guile-DSV supports the
-Unix-style DSV format and RFC 4180 format.")
- (license license:gpl3+)))
-
-(define-public guile-xosd
- (package
- (name "guile-xosd")
- (version "0.2.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/alezost/" name
- "/releases/download/v" version
- "/" name "-" version ".tar.gz"))
- (sha256
- (base32
- "1ri5065c16kmgrf2pysn2ymxjqi5302lhpb07wkl1jr75ym8fn8p"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (inputs
- `(("guile" ,guile-2.2)
- ("libx11" ,libx11)
- ("libxext" ,libxext)
- ("libxinerama" ,libxinerama)
- ("xosd" ,xosd)))
- (home-page "https://github.com/alezost/guile-xosd")
- (synopsis "XOSD bindings for Guile")
- (description
- "Guile-XOSD provides Guile bindings for @code{libxosd},
-@uref{http://sourceforge.net/projects/libxosd/, the X On Screen Display
-library}.")
- (license license:gpl3+)))
-
-(define-public guile-daemon
- (package
- (name "guile-daemon")
- (version "0.1.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/alezost/" name
- "/releases/download/v" version
- "/" name "-" version ".tar.gz"))
- (sha256
- (base32
- "0hh6gq6b6phpxm0b1dkxyzj3f4sxdf7dji63609lzypa5v1ad2gv"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (inputs
- `(("guile" ,guile-2.2)))
- (home-page "https://github.com/alezost/guile-daemon")
- (synopsis "Evaluate code in a running Guile process")
- (description
- "Guile-Daemon is a small Guile program that loads your initial
-configuration file, and then reads and evaluates Guile expressions that
-you send to a FIFO file.")
- (license license:gpl3+)))
-
-(define-public guile-commonmark
- (package
- (name "guile-commonmark")
- (version "0.1.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/OrangeShark/" name
- "/releases/download/v" version
- "/" name "-" version ".tar.gz"))
- (sha256
- (base32
- "0kzclwkfijj8xka3g9kfj53y67c34ndfy84swdbw3j7y962ndxq6"))
- (modules '((guix build utils)))
- (snippet
- ;; Install .scm files in the right place (see
- ;; <https://github.com/OrangeShark/guile-commonmark/issues/12>.)
- '(begin
- (substitute* "Makefile.in"
- (("^moddir = \\$\\(datadir\\)/share")
- "moddir = $(datadir)"))
- #t))))
- (build-system gnu-build-system)
- (inputs
- `(("guile" ,guile-2.2)))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (synopsis "CommonMark parser for Guile")
- (description
- "guile-commonmark is a library for parsing CommonMark, a fully specified
-variant of Markdown. The library is written in Guile Scheme and is designed
-to transform a CommonMark document to SXML. guile-commonmark tries to closely
-follow the @uref{http://commonmark.org/, CommonMark spec}, the main difference
-is no support for parsing block and inline level HTML.")
- (home-page "https://github.com/OrangeShark/guile-commonmark")
- (license license:lgpl3+)))
-
-(define-public guile2.0-commonmark
- (package-for-guile-2.0 guile-commonmark))
-(define-public guile2.2-commonmark
- (deprecated-package "guile2.2-commonmark" guile-commonmark))
-
(define-public guile-bytestructures
(package
(name "guile-bytestructures")
@@ -1690,198 +601,10 @@ type system, elevating types to first-class status.")
(define-public guile2.0-bytestructures
(package-for-guile-2.0 guile-bytestructures))
-(define-public guile-aspell
- (package
- (name "guile-aspell")
- (version "0.4")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "http://lonelycactus.com/tarball/guile_aspell-"
- version ".tar.gz"))
- (sha256
- (base32
- "0vpk5xj9m9qc702z3khmkwhgpb949qbsyz8kw2qycda6qnxk0077"))))
- (build-system gnu-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-before 'configure 'set-guilesitedir
- (lambda _
- (substitute* "Makefile.in"
- (("^guilesitedir =.*$")
- "guilesitedir = \
-$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
- #t))
- (add-before 'build 'set-libaspell-file-name
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((aspell (assoc-ref inputs "aspell")))
- (substitute* "aspell.scm"
- (("\"libaspell\\.so\"")
- (string-append "\"" aspell
- "/lib/libaspell\"")))
- #t))))))
- (native-inputs `(("pkg-config" ,pkg-config)))
- (inputs `(("guile" ,guile-2.2)
- ("aspell" ,aspell)))
- (home-page "https://github.com/spk121/guile-aspell")
- (synopsis "Spell-checking from Guile")
- (description
- "guile-aspell is a Guile Scheme library for comparing a string against a
-dictionary and suggesting spelling corrections.")
- (license license:gpl3+)))
-
-(define-public guile-bash
- ;; This project is currently retired. It was initially announced here:
- ;; <https://lists.gnu.org/archive/html/guile-user/2015-02/msg00003.html>.
- (let ((commit "1eabc563ca5692b3e08d84f1f0e6fd2283284469")
- (revision "0"))
- (package
- (name "guile-bash")
- (version (string-append "0.1.6-" revision "." (string-take commit 7)))
- (home-page
- "https://anonscm.debian.org/cgit/users/kaction-guest/retired/dev.guile-bash.git")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (commit commit)
- (url home-page)))
- (sha256
- (base32
- "097vny990wp2qpjij6a5a5gwc6fxzg5wk56inhy18iki5v6pif1p"))
- (file-name (string-append name "-" version "-checkout"))))
- (build-system gnu-build-system)
- (arguments
- '(#:configure-flags
- ;; Add -I to match 'bash.pc' of Bash 4.4.
- (list (string-append "CPPFLAGS=-I"
- (assoc-ref %build-inputs "bash:include")
- "/include/bash/include")
-
- ;; The '.a' file is useless.
- "--disable-static"
-
- ;; Install 'lib/bash' as Bash 4.4 expects.
- (string-append "--libdir=" (assoc-ref %outputs "out")
- "/lib/bash"))))
- (native-inputs `(("pkg-config" ,pkg-config)
- ("autoconf" ,autoconf-wrapper)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
- ("gettext" ,gettext-minimal)
-
- ;; Bash with loadable module support, for the test
- ;; suite.
- ("bash-full" ,bash)))
- (inputs `(("guile" ,guile-2.0)
- ("bash:include" ,bash "include")))
- (synopsis "Extend Bash using Guile")
- (description
- "Guile-Bash provides a shared library and set of Guile modules,
-allowing you to extend Bash in Scheme. Scheme interfaces allow you to access
-the following aspects of Bash:
-
-@itemize
-@item aliases;
-@item setting and getting Bash variables;
-@item creating dynamic variables;
-@item creating Bash functions with a Scheme implementation;
-@item reader macro for output capturing;
-@item reader macro for evaluating raw Bash commands.
-@end itemize
-
-To enable it, run:
-
-@example
-enable -f ~/.guix-profile/lib/bash/libguile-bash.so scm
-@end example
-
-and then run @command{scm example.scm}.")
- (license license:gpl3+))))
-
-(define-public guile-8sync
- (package
- (name "guile-8sync")
- (version "0.4.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/8sync/8sync-" version
- ".tar.gz"))
- (sha256
- (base32
- "031wm13srak3wsnll7j2mbbi29g1pcm4swdb71ds9yn567pn20qw"))))
- (build-system gnu-build-system)
- (native-inputs `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("guile" ,guile-2.2)
- ("pkg-config" ,pkg-config)
- ("texinfo" ,texinfo)))
- (arguments
- `(#:phases (modify-phases %standard-phases
- (add-before 'configure 'setenv
- (lambda _
- ;; quiet warnings
- (setenv "GUILE_AUTO_COMPILE" "0")
- #t)))))
- (home-page "https://gnu.org/s/8sync/")
- (synopsis "Asynchronous actor model library for Guile")
- (description
- "GNU 8sync (pronounced \"eight-sync\") is an asynchronous programming
-library for GNU Guile based on the actor model.
-
-Note that 8sync is only available for Guile 2.2.")
- (license license:lgpl3+)))
-
-(define-public guile-fibers
- (package
- (name "guile-fibers")
- (version "1.0.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://wingolog.org/pub/fibers/fibers-"
- version ".tar.gz"))
- (sha256
- (base32
- "0vjkg72ghgdgphzbjz9ig8al8271rq8974viknb2r1rg4lz92ld0"))))
- (build-system gnu-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'install 'mode-guile-objects
- (lambda* (#:key outputs #:allow-other-keys)
- ;; .go files are installed to "lib/guile/X.Y/cache".
- ;; This phase moves them to "…/site-ccache".
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib/guile"))
- (old (car (find-files lib "^ccache$"
- #:directories? #t)))
- (new (string-append (dirname old)
- "/site-ccache")))
- (rename-file old new)
- #t))))))
- (native-inputs
- `(("texinfo" ,texinfo)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("guile" ,guile-2.2)))
- (synopsis "Lightweight concurrency facility for Guile")
- (description
- "Fibers is a Guile library that implements a a lightweight concurrency
-facility, inspired by systems like Concurrent ML, Go, and Erlang. A fiber is
-like a \"goroutine\" from the Go language: a lightweight thread-like
-abstraction. Systems built with Fibers can scale up to millions of concurrent
-fibers, tens of thousands of concurrent socket connections, and many parallel
-cores. The Fibers library also provides Concurrent ML-like channels for
-communication between fibers.
-
-Note that Fibers makes use of some Guile 2.1/2.2-specific features and
-is not available for Guile 2.0.")
- (home-page "https://github.com/wingo/fibers")
- (license license:lgpl3+)))
-
(define-public guile-git
(package
(name "guile-git")
- (version "0.1.0")
+ (version "0.2.0")
(home-page "https://gitlab.com/guile-git/guile-git.git")
(source (origin
(method git-fetch)
@@ -1889,7 +612,7 @@ is not available for Guile 2.0.")
(commit (string-append "v" version))))
(sha256
(base32
- "1z3awa3i5il08dl2swbnli2j7cawdpray11zx4844j27bxqddcs2"))
+ "018hmfsh0rjwfvr4h7y10jc6k8a2k9xsirngghy3pjasin4nd2yz"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
@@ -1911,505 +634,5 @@ manipulate repositories of the Git version control system.")
(define-public guile2.0-git
(package-for-guile-2.0 guile-git))
-(define-public guile-syntax-highlight
- (package
- (name "guile-syntax-highlight")
- (version "0.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://files.dthompson.us/"
- "guile-syntax-highlight/"
- "guile-syntax-highlight-"
- version ".tar.gz"))
- (sha256
- (base32
- "1p771kq15x83483m23bhah1sz6vkalg3drm7x279f4j1cxligkzi"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (inputs
- `(("guile" ,guile-2.2)))
- (synopsis "General-purpose syntax highlighter for GNU Guile")
- (description "Guile-syntax-highlight is a general-purpose syntax
-highlighting library for GNU Guile. It can parse code written in various
-programming languages into a simple s-expression that can be converted to
-HTML (via SXML) or any other format for rendering.")
- (home-page "http://dthompson.us/projects/guile-syntax-highlight.html")
- (license license:lgpl3+)))
-
-(define-public guile-sjson
- (package
- (name "guile-sjson")
- (version "0.2.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://dustycloud.org/misc/sjson-" version
- ".tar.gz"))
- (sha256
- (base32
- "1mzmapln79vv10qxaggz9qwcdbag3jnrj19xx8bgkmxss8h03sv3"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("guile" ,guile-2.2)))
- (home-page "https://gitlab.com/dustyweb/guile-sjson")
- (synopsis "S-expression based json reader/writer for Guile")
- (description "guile-sjson is a json reader/writer for Guile.
-It has a nice, simple s-expression based syntax.")
- (license license:lgpl3+)))
-
-(define-public guile-colorized
- (package
- (name "guile-colorized")
- (version "0.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/NalaGinrut/guile-colorized/"
- "archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "16xhc3an6aglnca8xl3mvgi8hsqzqn68vsl5ga4bz8bvbap5fn4p"))))
- (build-system guile-build-system)
- (native-inputs
- `(("guile" ,guile-2.2)))
- (home-page "https://github.com/NalaGinrut/guile-colorized")
- (synopsis "Colorized REPL for Guile")
- (description
- "Guile-colorized provides you with a colorized REPL for GNU Guile.")
- (license license:gpl3+)))
-
-(define-public guile-pfds
- (package
- (name "guile-pfds")
- (version "0.3")
- (home-page "https://github.com/ijp/pfds")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit (string-append "v" version))))
- (sha256
- (base32
- "19y33wg94pf0n98dkfqd1zbw93fgky4sawxsxl6s3vyqwl0yi5vh"))
- (file-name (string-append name "-" version "-checkout"))))
- (build-system guile-build-system)
- (arguments
- '(#:source-directory "src"
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'move-files-around
- (lambda _
- ;; Move files under a pfds/ directory to reflect the
- ;; module hierarchy.
- (mkdir-p "src/pfds")
- (for-each (lambda (file)
- (rename-file file
- (string-append "src/pfds/"
- file)))
- '("bbtrees.sls"
- "deques"
- "deques.sls"
- "dlists.sls"
- "fingertrees.sls"
- "hamts.sls"
- "heaps.sls"
- "private"
- "psqs.sls"
- "queues"
- "queues.sls"
- "sequences.sls"
- "sets.sls"))
-
- ;; In Guile <= 2.2.4, there's no way to tell 'guild
- ;; compile' to accept the ".sls" extension. So...
- (for-each (lambda (file)
- (rename-file file
- (string-append
- (string-drop-right file 4)
- ".scm")))
- (find-files "." "\\.sls$"))
- #t)))))
- (native-inputs
- `(("guile" ,guile-2.2)))
- (synopsis "Purely functional data structures for Guile")
- (description
- "This package provides purely functional data structures written in R6RS
-Scheme and compiled for Guile. It has been tested with Racket, Guile 2,
-Vicare Scheme and IronScheme. Right now it contains:
-
-@itemize
-@item queues
-@item deques
-@item bbtrees
-@item sets
-@item dlists
-@item priority search queues (PSQs)
-@item finger trees
-@item sequences
-@item heaps
-@item hash array mapped tries (HAMTs).
-@end itemize\n")
- (license license:bsd-3)))
-
-(define-public guile-aa-tree
- (package
- (name "guile-aa-tree")
- (version "3.1.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://savannah/guile-aa-tree/guile-aa-tree-"
- version ".tar.gz"))
- (sha256
- (base32
- "0044c105r3q9vpl17pv3phl1b79kjm1llhkakqgiasixyav01blh"))))
- (build-system guile-build-system)
- (native-inputs `(("guile" ,guile-2.2)))
- ;; https://savannah.nongnu.org/projects/guile-aa-tree
- (home-page "https://qlfiles.net/guile-aa-tree/")
- (synopsis "AA tree data structure for Guile")
- (description
- "This package provides an implementation of @dfn{AA trees}, a
-self-balancing binary tree data structure, for Guile. It ensure @math{O(log
-n)} worst case performance for core operations. The module provides
-non-mutating insert, delete, and search operations, with support for
-convenient nested tree operations.")
- (license license:gpl3+)))
-
-(define-public guile-simple-zmq
- (let ((commit "68bedb6679716214fb9d3472da57544526f7a618")
- (revision "3"))
- (package
- (name "guile-simple-zmq")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jerry40/guile-simple-zmq")
- (commit commit)))
- (sha256
- (base32
- "1ad3xg69qqviy1f6dnlw0ysmfdbmp1jq65rfqb8nfd8dsrq2syli"))
- (file-name (git-file-name name version))))
- (build-system guile-build-system)
- (arguments
- `(#:source-directory "src"
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'set-libzmq-file-name
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "src/simple-zmq.scm"
- (("\\(dynamic-link \"libzmq\"\\)")
- (format #f "(dynamic-link \"~a/lib/libzmq.so\")"
- (assoc-ref inputs "zeromq"))))
- #t)))))
- (native-inputs
- `(("guile" ,guile-2.2)))
- (inputs
- `(("zeromq" ,zeromq)))
- (home-page "https://github.com/jerry40/guile-simple-zmq")
- (synopsis "Guile wrapper over ZeroMQ library")
- (description
- "This package provides a Guile programming interface to the ZeroMQ
-messaging library.")
- (license license:gpl3+))))
-
-(define-public jupyter-guile-kernel
- (let ((commit "a7db9245a886e104138474df46c3e88b95cff629")
- (revision "1"))
- (package
- (name "jupyter-guile-kernel")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jerry40/guile-kernel")
- (commit commit)))
- (sha256
- (base32
- "0aj04853bqm47ivfcmrgpb7w3wkis847kc7qrwsa5zcn9h38qh2f"))))
- (build-system guile-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'set-openssl-file-name
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Record the absolute file name of the 'openssl'
- ;; command.
- (substitute* "src/hmac.scm"
- (("openssl")
- (string-append (assoc-ref inputs "openssl")
- "/bin/openssl")))
- #t))
-
- ;; XXX: The code uses 'include' to include its own source
- ;; files, and "-L src" isn't enough in this case.
- (add-before 'build 'chdir
- (lambda _ (chdir "src") #t))
- (add-after 'build 'chdir-back
- (lambda _ (chdir "..") #t))
-
- (add-after 'install 'install-kernel
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (json (assoc-ref inputs "guile-json"))
- (zmq (assoc-ref inputs "guile-simple-zmq"))
- (deps (list json zmq))
- (dir (string-append
- out "/share/jupyter/kernels/guile"))
- (effective (target-guile-effective-version)))
- ;; Install kernel.
- (install-file "src/kernel.json" dir)
-
- ;; Fix hard-coded file name in the kernel.
- (substitute* (string-append dir "/kernel.json")
- (("/home/.*/guile-jupyter-kernel.scm")
- (string-append out "/share/guile/site/"
- (target-guile-effective-version)
- "/guile-jupyter-kernel.scm"))
- (("\"guile\"")
- (string-append "\"" (assoc-ref inputs "guile")
- "/bin/guile\""))
- (("-s")
- ;; Add '-L' and '-C' flags so that the kernel
- ;; finds its dependencies.
- (let ((-L (map (lambda (item)
- (string-append "\"" item
- "/share/guile/site/"
- effective "\""))
- deps))
- (-C (map (lambda (item)
- (string-append "\"" item
- "/lib/guile/"
- effective
- "/site-ccache\""))
- deps)))
- (string-append "--no-auto-compile\""
- (string-join -L ", \"-L\", "
- 'prefix)
- (string-join -C ", \"-C\", "
- 'prefix)
- ", \"-s"))))
- #t))))))
- (inputs
- `(("openssl" ,openssl)
- ("guile" ,guile-2.2)
- ("guile-json" ,guile-json)
- ("guile-simple-zmq" ,guile-simple-zmq)))
- (synopsis "Guile kernel for the Jupyter Notebook")
- (description
- "This package provides a Guile 2.x kernel for the Jupyter Notebook. It
-allows users to interact with the Guile REPL through Jupyter.")
- (home-page "https://github.com/jerry40/guile-kernel")
- (license license:gpl3+))))
-
-(define-public guile-sparql
- (package
- (name "guile-sparql")
- (version "0.0.7")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/roelj/guile-sparql/releases/download/"
- version "/guile-sparql-" version ".tar.gz"))
- (sha256
- (base32 "1drnvhsgl0gc5crmb16yyw1j98nkhwwcgssv9vgm36ng43nnzffd"))))
- (build-system gnu-build-system)
- (arguments `(#:tests? #f)) ; There are no tests.
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (inputs
- `(("guile" ,guile-2.2)))
- (home-page "https://github.com/roelj/guile-sparql")
- (synopsis "SPARQL module for Guile")
- (description "This package provides the functionality to query a SPARQL
-endpoint. Additionally, it provides an interface to write SPARQL queries
-using S-expressions.")
- (license license:gpl3+)))
-
-(define-public guile-debbugs
- (package
- (name "guile-debbugs")
- (version "0.0.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/guile-debbugs/guile-debbugs-"
- version ".tar.gz"))
- (sha256
- (base32
- "16l8910p57im6s3j93xhdaqvgfy6ms5n97177mrch3y961z5hy0i"))
- (modules '((guix build utils)))
- (snippet
- '(substitute* "Makefile.in"
- (("^godir = (.*)/ccache" _ prefix)
- (string-append "godir = " prefix "/site-ccache"))))))
- (build-system gnu-build-system)
- (native-inputs
- `(("guile" ,guile-2.2)
- ("pkg-config" ,pkg-config)))
- (home-page "https://savannah.gnu.org/projects/guile-debbugs/")
- (synopsis "Guile interface to the Debbugs bug tracking service")
- (description
- "This package provides a Guile library to communicate with a Debbugs bug
-tracker's SOAP service, such as @url{https://bugs.gnu.org}.")
- (license license:gpl3+)))
-
-(define-public guile-email
- (let ((commit "fa52eac55e5946db89621a6c583d2aa357864dee")
- (revision "1"))
- (package
- (name "guile-email")
- (version (git-version "0.1.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.systemreboot.net/guile-email")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1037mbz7qd9bzaqp8ysyhnl9ipd97fmj3b9jr8qfzx9179vvsj63"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("autoconf" ,autoconf)
- ("automake" ,automake)))
- (inputs
- `(("guile" ,guile-2.2)))
- (home-page "https://git.systemreboot.net/guile-email")
- (synopsis "Guile email parser")
- (description "This package provides an email parser written in pure
-Guile.")
- (license license:agpl3+))))
-
-(define-public guile-debbugs-next
- (let ((commit "75a331d561c8b6f8efcf16216dab961c17759efe")
- (revision "1"))
- (package (inherit guile-debbugs)
- (name "guile-debbugs")
- (version (git-version "0.0.3" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.savannah.gnu.org/git/guile-debbugs.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0br3mgbw41bpc9x57jlghl0i8dz9nl63r4wzs5l47aqszf84870y"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("pkg-config" ,pkg-config)
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("texinfo" ,texinfo)))
- (inputs
- `(("guile" ,guile-2.2)
- ("guile-email" ,guile-email))))))
-
-;; There has not been any release yet.
-(define-public guile-newt
- (let ((commit "80c1e9e71945f833386d1632b52573e59325804f")
- (revision "4"))
- (package
- (name "guile-newt")
- (version (string-append "0-" revision "." (string-take commit 9)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.com/mothacehe/guile-newt")
- (commit commit)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "1w7qy4dw1f4bx622l6hw8mv49sf1ha8kch8j4nganyk8fj0wn695"))))
- (build-system gnu-build-system)
- (arguments
- '(#:make-flags
- '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
- (inputs
- `(("guile" ,guile-2.2)
- ("newt" ,newt)))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)))
- (synopsis "Guile bindings to Newt")
- (description
- "This package provides bindings for Newt, a programming library for
-color text mode, widget based user interfaces. The bindings are written in pure
-Scheme by using Guile’s foreign function interface.")
- (home-page "https://gitlab.com/mothacehe/guile-newt")
- (license license:gpl3+))))
-
-(define-public guile-mastodon
- (package
- (name "guile-mastodon")
- (version "0.0.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://framagit.org/prouby/guile-mastodon.git")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1vblf3d1bbwna3l09p2ap5y8ycvl549bz6whgk78imyfmn28ygry"))))
- (build-system gnu-build-system)
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)))
- (inputs
- `(("guile" ,guile-2.2)
- ("gnutls" ,gnutls)
- ("guile-json" ,guile-json)))
- (home-page "https://framagit.org/prouby/guile-mastodon")
- (synopsis "Guile Mastodon REST API module")
- (description "This package provides Guile modules to access the
-@uref{https://docs.joinmastodon.org/api/, REST API of Mastodon}, a federated
-microblogging service.")
- (license license:gpl3+)))
-
-;; There has not been any release yet.
-(define-public guile-parted
- (let ((commit "ea3f1a1f6844775fc59d3078d2a09c62ffb341b8")
- (revision "0"))
- (package
- (name "guile-parted")
- (version (string-append "0-" revision "." (string-take commit 9)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.com/mothacehe/guile-parted")
- (commit commit)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "1q7425gpjlwi2wvhzq7kw046yyx7v6j6jyzkd1cr861iz34mjwiq"))))
- (build-system gnu-build-system)
- (arguments
- '(#:make-flags
- '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
- (inputs
- `(("guile" ,guile-2.2)
- ("parted" ,parted)))
- (propagated-inputs
- `(("guile-bytestructures" ,guile-bytestructures)))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("pkg-config" ,pkg-config)))
- (synopsis "Guile bindings to GNU Parted")
- (description
- "This package provides bindings for GNU Parted library, a C library
-allowing disk partition tables creation and manipulation. The bindings are
-written in pure Scheme by using Guile's foreign function interface.")
- (home-page "https://gitlab.com/mothacehe/guile-parted")
- (license license:gpl3+))))
-
;;; guile.scm ends here
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 673c472a85..233fea85af 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -155,15 +155,15 @@ of external libraries that provide additional functionality.")
(define-public vtk
(package
(name "vtk")
- (version "7.1.0")
+ (version "8.2.0")
(source (origin
(method url-fetch)
- (uri (string-append "http://www.vtk.org/files/release/"
+ (uri (string-append "https://vtk.org/files/release/"
(version-major+minor version)
"/VTK-" version ".tar.gz"))
(sha256
(base32
- "0yj96z58haan77gzilnqp7xpf8hg5jk11a3jx55p2ksd400s0gjz"))))
+ "1fspgp8k0myr6p2a6wkc21ldcswb4bvmb484m12mxgk1a9vxrhrl"))))
(build-system cmake-build-system)
(arguments
'(#:build-type "Release" ;Build without '-g' to save space.
@@ -196,7 +196,7 @@ of external libraries that provide additional functionality.")
("png" ,libpng)
("tiff" ,libtiff)
("zlib" ,zlib)))
- (home-page "http://www.vtk.org/")
+ (home-page "https://vtk.org/")
(synopsis "Libraries for 3D computer graphics")
(description
"The Visualization Toolkit (VTK) is a C++ library for 3D computer graphics,
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index c27147baef..6457127520 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -957,7 +957,7 @@ language bindings to VIGRA.")
(define-public libwebp
(package
(name "libwebp")
- (version "1.0.1")
+ (version "1.0.2")
(source
(origin
;; No tarballs are provided for >0.6.1.
@@ -968,7 +968,7 @@ language bindings to VIGRA.")
(file-name (git-file-name name version))
(sha256
(base32
- "09l4pq4k2acglkmwr96arn79rssl54sv7vrdrgsxqlg7v8c882zh"))))
+ "1ay0sai7f74dyk2gi975qfllmq534vnsx456npf16583mqb6ib2q"))))
(build-system gnu-build-system)
(inputs
`(("freeglut" ,freeglut)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 163c296278..a314dc9953 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1860,6 +1860,231 @@ new Date();"))
("which" ,which)
("zip" ,zip)))))
+(define-public openjdk11
+ (package
+ (name "openjdk")
+ (version "11.28")
+ (source (origin
+ (method url-fetch)
+ (uri "http://hg.openjdk.java.net/jdk/jdk/archive/76072a077ee1.tar.bz2")
+ (file-name (string-append name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0v705w1s9lrqalzahir78pk397rkk9gfvzq821yv8h3xha0bqi6w"))
+ (modules '((guix build utils)))
+ (snippet
+ `(begin
+ (for-each delete-file (find-files "." ".*.bin$"))
+ (for-each delete-file (find-files "." ".*.exe$"))
+ (for-each delete-file (find-files "." ".*.jar$"))
+ #t))))
+ (build-system gnu-build-system)
+ (outputs '("out" "jdk" "doc"))
+ (arguments
+ `(#:imported-modules
+ ((guix build syscalls)
+ (ice-9 binary-ports)
+ (rnrs bytevectors)
+ ,@%gnu-build-system-modules)
+ #:tests? #f; requires jtreg
+ ;; TODO package jtreg
+ ;; disable parallel builds, as the openjdk build system does not like -j
+ #:parallel-build? #f
+ #:parallel-tests? #f
+ ;; reenable parallel builds and tests by adding the flags manually
+ #:make-flags (list (string-append "JOBS=" (number->string (parallel-job-count))))
+ #:configure-flags
+ `("--disable-option-checking" ; --enable-fast-install default flag errors otherwise
+ "--disable-warnings-as-errors"
+ ;; make validate-runpath pass, see: http://issues.guix.info/issue/32894
+ "--with-native-debug-symbols=zipped"
+ ;; do not use the bundled libraries
+ "--with-giflib=system"
+ "--with-lcms=system"
+ "--with-libjpeg=system"
+ "--with-libpng=system"
+ ;; allow the build system to locate the system freetype
+ ,(string-append "--with-freetype-include="
+ (assoc-ref %build-inputs "freetype") "/include")
+ ,(string-append "--with-freetype-lib="
+ (assoc-ref %build-inputs "freetype") "/lib"))
+ ;; TODO
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'patch-source-shebangs 'fix-java-shebangs
+ (lambda _
+ ;; This file was "fixed" by patch-source-shebangs, but it requires
+ ;; this exact first line.
+ (substitute* "make/data/blacklistedcertsconverter/blacklisted.certs.pem"
+ (("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n"))
+ #t))
+ (replace 'build
+ (lambda _
+ (with-output-to-file ".src-rev"
+ (lambda _
+ (display ,version)))
+ (setenv "GUIX_LD_WRAPPER_ALLOW_IMPURITIES" "yes")
+ (invoke "make" "all")
+ #t))
+ ;; jdk 11 does not build jre by default any more
+ ;; building it anyways
+ ;; for further information see:
+ ;; https://github.com/AdoptOpenJDK/openjdk-build/issues/356
+ (add-after 'build 'build-jre
+ (lambda _
+ (invoke "make" "legacy-jre-image")
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (jdk (assoc-ref outputs "jdk"))
+ (doc (assoc-ref outputs "doc"))
+ (images (car (find-files "build" ".*-server-release"
+ #:directories? #t))))
+ (copy-recursively (string-append images "/images/jdk") jdk)
+ (copy-recursively (string-append images "/images/jre") out)
+ (copy-recursively (string-append images "/images/docs") doc))
+ #t))
+ ;; Some of the libraries in the lib/ folder link to libjvm.so.
+ ;; But that shared object is located in the server/ folder, so it
+ ;; cannot be found. This phase creates a symbolic link in the
+ ;; lib/ folder so that the other libraries can find it.
+ ;;
+ ;; See:
+ ;; https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00169.html
+ ;;
+ ;; FIXME: Find the bug in the build system, so that this symlink is
+ ;; not needed.
+ (add-after 'install 'install-libjvm
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((lib-out (string-append (assoc-ref outputs "out")
+ "/lib"))
+ (lib-jdk (string-append (assoc-ref outputs "jdk")
+ "/lib")))
+ (symlink (string-append lib-jdk "/server/libjvm.so")
+ (string-append lib-jdk "/libjvm.so"))
+ (symlink (string-append lib-out "/server/libjvm.so")
+ (string-append lib-out "/libjvm.so")))
+ #t))
+ (add-after 'install 'strip-character-data-timestamps
+ (lambda* (#:key outputs #:allow-other-keys)
+ (use-modules (guix build syscalls))
+ (let ((archive (string-append
+ (assoc-ref outputs "jdk") "/lib/src.zip"))
+ (dir (mkdtemp! "zip-contents.XXXXXX")))
+ (with-directory-excursion dir
+ (invoke "unzip" archive))
+ (delete-file archive)
+ (with-directory-excursion dir
+ (let ((char-data-files (find-files "." "CharacterData.*")))
+ (for-each (lambda (file)
+ (substitute* file
+ (((string-append "This file was generated "
+ "AUTOMATICALLY from a template "
+ "file.*"))
+ (string-append "This file was generated "
+ "AUTOMATICALLY from a template "
+ "file"))))
+ char-data-files)))
+ (with-directory-excursion dir
+ (let ((files (find-files "." ".*" #:directories? #t)))
+ (apply invoke "zip" "-0" "-X" archive files))))))
+ (add-after 'strip-character-data-timestamps 'strip-archive-timestamps
+ (lambda* (#:key outputs #:allow-other-keys)
+ (use-modules (guix build syscalls)
+ (ice-9 binary-ports)
+ (rnrs bytevectors))
+ (letrec ((repack-archive
+ (lambda (archive)
+ (let ((dir (mkdtemp! "zip-contents.XXXXXX")))
+ (with-directory-excursion dir
+ (invoke "unzip" archive))
+ (delete-file archive)
+ (for-each (compose repack-archive canonicalize-path)
+ (find-files dir "(ct.sym|.*.jar)$"))
+ (let ((reset-file-timestamp
+ (lambda (file)
+ (let ((s (lstat file)))
+ (unless (eq? (stat:type s) 'symlink)
+ (format #t "reset ~a~%" file)
+ (utime file 0 0 0 0))))))
+ (for-each reset-file-timestamp
+ (find-files dir #:directories? #t)))
+ (with-directory-excursion dir
+ (let ((files (find-files "." ".*" #:directories? #t)))
+ (apply invoke "zip" "-0" "-X" archive files)))))))
+ (for-each repack-archive
+ (find-files (assoc-ref outputs "doc") ".*.zip$"))
+ (for-each repack-archive
+ (find-files (assoc-ref outputs "jdk")
+ ".*.(zip|jar|diz)$"))
+ (repack-archive (string-append (assoc-ref outputs "jdk") "/lib/ct.sym"))
+ (let ((repack-jmod
+ (lambda (file-name)
+ (call-with-input-file file-name
+ (lambda (file)
+ (let ((header #vu8(#x4a #x4d #x01 #x00)))
+ (if (equal? (get-bytevector-n
+ file (bytevector-length header))
+ header)
+ (let* ((header-length (bytevector-length header))
+ (temp-file (mkstemp!
+ (string-copy
+ "temp-file.XXXXXX")))
+ (temp-filename (port-filename temp-file))
+ (content-length
+ (- (stat:size (stat file))
+ header-length)))
+ (sendfile temp-file file content-length header-length)
+ (delete-file file-name)
+ (close-port temp-file)
+ (repack-archive (canonicalize-path temp-filename))
+ (call-with-output-file file-name
+ (lambda (file)
+ (put-bytevector file header)
+ (call-with-input-file temp-filename
+ (lambda (temp-file)
+ (sendfile
+ file temp-file
+ (stat:size (stat temp-file)) 0)))))))))))))
+ (for-each repack-jmod
+ (find-files (assoc-ref outputs "jdk") ".*.jmod$")))
+ #t)))
+ (add-after 'install 'remove-timestamp-from-api-summary
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* (string-append (assoc-ref outputs "doc")
+ "/api/overview-summary.html")
+ (("Generated by javadoc \\(11-internal\\).*$")
+ "Generated by javadoc (11-internal) -->\n"))
+ #t)))))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("cups" ,cups)
+ ("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("giflib" ,giflib)
+ ("lcms" ,lcms)
+ ("libjpeg" ,libjpeg)
+ ("libpng" ,libpng)
+ ("libx11" ,libx11)
+ ("libxext" ,libxext)
+ ("libxrender" ,libxrender)
+ ("libxt" ,libxt)
+ ("libxtst" ,libxtst)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("openjdk10" ,openjdk10)
+ ("openjdk10:jdk" ,openjdk10 "jdk")
+ ("pkg-config" ,pkg-config)
+ ("unzip" ,unzip)
+ ("which" ,which)
+ ("zip" ,zip)))
+ (home-page "https://openjdk.java.net/projects/jdk/11/")
+ (synopsis "Java development kit")
+ (description
+ "This package provides the Java development kit OpenJDK.")
+ (license license:gpl2+)))
+
(define-public icedtea icedtea-8)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 3865bc1b2e..5068de22bb 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -573,11 +573,14 @@ propagate their changes to their respective configuration files.")
(modify-phases %standard-phases
(add-before 'check 'blacklist-failing-test
(lambda _
- ;; Blacklist a failing test-function. FIXME: Make it pass.
- ;; Test failure caused by stout/stderr being interleaved.
+ ;; Blacklist failing tests.
(with-output-to-file "autotests/BLACKLIST"
(lambda _
- (display "[test_channels]\n*\n")))
+ ;; FIXME: Make it pass. Test failure caused by stout/stderr
+ ;; being interleaved.
+ (display "[test_channels]\n*\n")
+ ;; This fails with ENOSPC because of too many inotify watches.
+ (display "[benchNotifyWatcher]\n*\n")))
#t))
;; See upstream commit ee424e9b62368485bba4193053cabb553a1d268e
(add-after 'unpack 'fix-broken-test
@@ -636,7 +639,7 @@ many more.")
(replace 'check
(lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
- (zero? (system* "dbus-launch" "ctest" ".")))))))
+ (invoke "dbus-launch" "ctest" "."))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Convenience classes for DBus")
(description "KDBusAddons provides convenience classes on top of QtDBus,
@@ -1175,7 +1178,7 @@ lower level classes for interaction with the X Windowing System.")
(replace 'check
(lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
- (zero? (system* "dbus-launch" "ctest" ".")))))))
+ (invoke "dbus-launch" "ctest" "."))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Qt wrapper for ModemManager DBus API")
(description "ModemManagerQt provides access to all ModemManager features
@@ -1214,7 +1217,7 @@ messages.")
(replace 'check
(lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
- (zero? (system* "dbus-launch" "ctest" ".")))))))
+ (invoke "dbus-launch" "ctest" "."))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Qt wrapper for NetworkManager DBus API")
(description "NetworkManagerQt provides access to all NetworkManager
@@ -1327,7 +1330,7 @@ feel.")
(replace 'check
(lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
- (zero? (system* "dbus-launch" "ctest" ".")))))))
+ (invoke "dbus-launch" "ctest" "."))))))
(native-inputs
`(("bison" ,bison)
("dbus" ,dbus)
@@ -1497,7 +1500,7 @@ with other frameworks.")
(replace 'check
(lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
- (zero? (system* "dbus-launch" "ctest" ".")))))))
+ (invoke "dbus-launch" "ctest" "."))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Execute actions as privileged user")
(description "KAuth provides a convenient, system-integrated way to offload
@@ -1806,7 +1809,7 @@ asynchronous jobs.")
(replace 'check
(lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
- (zero? (system* "dbus-launch" "ctest" ".")))))))
+ (invoke "dbus-launch" "ctest" "."))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Desktop notifications")
(description "KNotification is used to notify the user of an event. It
@@ -2011,7 +2014,7 @@ gallons).")
(replace 'check
(lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
- (zero? (system* "dbus-launch" "ctest" ".")))))))
+ (invoke "dbus-launch" "ctest" "."))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "File searching and indexing")
(description "Baloo provides file searching and indexing. It does so by
@@ -3534,8 +3537,8 @@ workspace.")
(lambda _
(display "[testSmb]\n*\n")))
;; kuniqueapptest hangs. FIXME: Make this test pass.
- (zero? (system* "dbus-launch" "ctest" "."
- "-E" "kstandarddirstest|kuniqueapptest")))))))
+ (invoke "dbus-launch" "ctest" "."
+ "-E" "kstandarddirstest|kuniqueapptest"))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "KDE Frameworks 5 porting aid from KDELibs4")
(description "This framework provides code and utilities to ease the
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 24144797b8..5946ba0b52 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -318,7 +318,7 @@ plugins, as well as code to create plugins, or complete applications.")
(define-public krita
(package
(name "krita")
- (version "4.1.5")
+ (version "4.1.7.101")
(source (origin
(method url-fetch)
(uri (string-append
@@ -327,7 +327,7 @@ plugins, as well as code to create plugins, or complete applications.")
"/" name "-" version ".tar.gz"))
(sha256
(base32
- "1by8p8ifdp03f05bhg8ygdd1j036anfpjjnzbx63l2fbmy9k6q10"))))
+ "0pvghb17vj3y19wa1n1zfg3yl5206ir3y45znrgdgdw076m5pjav"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f
@@ -571,7 +571,7 @@ basic needs and easy to configure for those who want special setups.")
(replace 'check
(lambda _
;; TODO: Fix this failing test-case
- (zero? (system* "ctest" "-E" "processtest")))))))
+ (invoke "ctest" "-E" "processtest"))))))
(home-page "https://www.kde.org/info/plasma-5.13.4.php")
(synopsis "Network enabled task and system monitoring")
(description "KSysGuard can obtain information on system load and
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 7a7bb9cf0c..78bfadca26 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -413,8 +413,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
It has been modified to remove all non-free binary blobs.")
(license license:gpl2)))
-(define %linux-libre-version "4.20.4")
-(define %linux-libre-hash "1p7ixkqvnr0mzyivyby8hfix44np7w1nvyxghz8wa1h2nhsszvzv")
+(define %linux-libre-version "4.20.5")
+(define %linux-libre-hash "1fis4izy97d35wb5626av235agn22ww8dfmmcdlbiay37ihwwm98")
(define %linux-libre-4.20-patches
(list %boot-logo-patch
@@ -427,8 +427,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-4.20-patches
#:configuration-file kernel-config))
-(define %linux-libre-4.19-version "4.19.17")
-(define %linux-libre-4.19-hash "0friqd9wyhddjli4m41wd994ygnwng40a95ry14478rkadfv7iwh")
+(define %linux-libre-4.19-version "4.19.18")
+(define %linux-libre-4.19-hash "1m3qbd09zd7llq0fjsccyjr070n6szl5dj10qrlpd54bnvry22fc")
(define %linux-libre-4.19-patches
(list %boot-logo-patch
@@ -441,8 +441,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-4.19-patches
#:configuration-file kernel-config))
-(define %linux-libre-4.14-version "4.14.95")
-(define %linux-libre-4.14-hash "07bxbwb5fan96aws6g91vxkrvl80a53wjbl8xkh4q3c6iah8wkvf")
+(define %linux-libre-4.14-version "4.14.96")
+(define %linux-libre-4.14-hash "03g28n9n4ci8y2qs59vili7dkqag7fmhr9q6ah8l66qn37d375k9")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@@ -451,14 +451,14 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config))
(define-public linux-libre-4.9
- (make-linux-libre "4.9.152"
- "0qssksykzbcy58aqvmxk9h1xpaqvfwp31xvxfmwxdh7z4n3yn60y"
+ (make-linux-libre "4.9.153"
+ "1ks910wk4nggp7ygai2pnr5b61ix2j3gxk95rv9wkd5za15sgbqa"
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
(define-public linux-libre-4.4
- (make-linux-libre "4.4.171"
- "01jd2672fq633xw5vdmifvd6dy93pif28xkvymah82jm9xj1lbqh"
+ (make-linux-libre "4.4.172"
+ "000bz3jfg0li3rwlf2c80df6682lhi59hj1kwm4hw7whgg69xi7b"
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index a435ab661e..13223fbb66 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com>
;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
@@ -400,7 +400,8 @@ code analysis tools.")
(clang-runtime-from-llvm
llvm-3.5
"1hsdnzzdr5kglz6fnv3lcsjs222zjsy14y8ax9dy6zqysanplbal"
- '("clang-runtime-asan-build-fixes.patch")))
+ '("clang-runtime-asan-build-fixes.patch"
+ "clang-3.5-libsanitizer-ustat-fix.patch")))
(define-public clang-3.5
(clang-from-llvm llvm-3.5 clang-runtime-3.5
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 5777374582..c5e422fbd5 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -27,6 +27,7 @@
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
+;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -76,6 +77,7 @@
#:use-module (gnu packages gsasl)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz)
#:use-module (gnu packages flex)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libcanberra)
@@ -259,14 +261,14 @@ aliasing facilities to work just as they would on normal mail.")
(define-public mutt
(package
(name "mutt")
- (version "1.11.0")
+ (version "1.11.2")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/mutt/mutt/downloads/"
"mutt-" version ".tar.gz"))
(sha256
(base32
- "1qqhkhlzvjj0iih8vm0wfagv4fzqqy1wnsb4sqsfv7w06ccjdjcj"))
+ "08w7lbhj5ba2zkjcd0cxkgfiy9y82yhg731xjg9i9292kz1x8p6s"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs
@@ -1071,7 +1073,7 @@ which can add many functionalities to the base client.")
(define-public msmtp
(package
(name "msmtp")
- (version "1.8.1")
+ (version "1.8.2")
(source
(origin
(method url-fetch)
@@ -1079,7 +1081,7 @@ which can add many functionalities to the base client.")
"/msmtp-" version ".tar.xz"))
(sha256
(base32
- "1nm4vizrnrrnknc4mc8nr7grz9q76m1vraa0hsl5rfm34gnsg8ph"))))
+ "14w7lmw1jxlganfk089b0ib23y5917mxbg3xqpid007dd4cmq66i"))))
(build-system gnu-build-system)
(inputs
`(("libsecret" ,libsecret)
@@ -2651,8 +2653,8 @@ replacement for the @code{urlview} program.")
(license gpl2+)))
(define-public mumi
- (let ((commit "bfd96ce76b4600ae232e6548b26c9365095fd174")
- (revision "2"))
+ (let ((commit "ea5a738010148284aed211da953ad670003aefea")
+ (revision "3"))
(package
(name "mumi")
(version (git-version "0.0.0" revision commit))
@@ -2664,7 +2666,7 @@ replacement for the @code{urlview} program.")
(file-name (git-file-name name version))
(sha256
(base32
- "05miwfi1bh0v9x2gvn15bwkb3gn4xy53z506ysjzns2y497zkc5h"))))
+ "0ci5x8dqjmp74w33q2dbs5csxp4ilfmc1xxaa8q2jnh52d7597hl"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index fbc5ca27ef..7a81caf19f 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -241,7 +241,7 @@ automatically.")
(define-public scdoc
(package
(name "scdoc")
- (version "1.6.0")
+ (version "1.8.1")
(source
(origin
(method url-fetch)
@@ -250,7 +250,7 @@ automatically.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1ca3js4arkg28gg2iszxxyrq7kgsrz482d1szv5dfd471h3vr5m3"))))
+ "1f3qrnbjr9ikbdvpsyx726nyiz4f7ka38rimy9fvbl7kmi62w1v7"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("CC=gcc")
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index cccc3636a4..871b4a5a3f 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -48,6 +48,7 @@
(define-module (gnu packages maths)
#:use-module (ice-9 regex)
+ #:use-module (ice-9 match)
#:use-module (gnu packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@@ -2297,20 +2298,18 @@ also provides threshold-based ILU factorization preconditioners.")
(define-public superlu-dist
(package
(name "superlu-dist")
- (version "5.3.0")
+ (version "6.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/"
"superlu_dist_" version ".tar.gz"))
(sha256
- (base32 "0ja5ihqivkda1wd58y4lmzvmwssm9g91f70c5q0fzwhng6580h6y"))
+ (base32 "0pqgcgh1yxhfzs99fas3mggajzd5wca3nbyp878rziy74gfk03dl"))
(modules '((guix build utils)))
(snippet
;; Replace the non-free implementation of MC64 with a stub
'(begin
- (use-modules (ice-9 regex)
- (ice-9 rdelim))
(call-with-output-file "SRC/mc64ad_dist.c"
(lambda (port)
(display "
@@ -2326,92 +2325,57 @@ void mc64ad_dist (int *a, int *b, int *c, int *d, int *e, double *f, int *g,
abort ();
}\n" port)))
(substitute* "SRC/util.c" ;adjust default algorithm
- (("RowPerm[[:blank:]]*=[[:blank:]]*LargeDiag")
- "RowPerm = NOROWPERM"))
+ (("RowPerm[[:blank:]]*=[[:blank:]]*LargeDiag_MC64;")
+ ;; TODO: set to "LargeDiag_AWPM" once combinatorial-blas has
+ ;; general (i.e. non-square) processor-grid support.
+ "RowPerm = NOROWPERM;"))
#t))
- (patches (search-patches "superlu-dist-scotchmetis.patch"))))
- (build-system gnu-build-system)
+ (patches (search-patches "superlu-dist-scotchmetis.patch"
+ "superlu-dist-awpm-grid.patch"))))
+ (build-system cmake-build-system)
(native-inputs
`(("tcsh" ,tcsh)))
(inputs
- `(("gfortran" ,gfortran)))
+ `(("gfortran" ,gfortran)
+ ("blas" ,openblas)
+ ("lapack" ,lapack)
+ ("combblas" ,combinatorial-blas)))
(propagated-inputs
- `(("openmpi" ,openmpi) ;headers include MPI heades
- ("lapack" ,lapack) ;required to link with output library
- ("pt-scotch" ,pt-scotch))) ;same
+ `(("mpi" ,openmpi) ;headers include MPI heades
+ ("parmetis" ,pt-scotch32 "metis")
+ ("pt-scotch" ,pt-scotch32)))
(arguments
- `(#:parallel-build? #f ;race conditions using ar
+ `(#:parallel-tests? #f ;tests use MPI and OpenMP
+ #:configure-flags (list "-DBUILD_SHARED_LIBS:BOOL=YES"
+ "-DTPL_ENABLE_COMBBLASLIB=YES"
+ "-DTPL_BLAS_LIBRARIES=-lopenblas"
+ "-DTPL_LAPACK_LIBRARIES=-llapack"
+ (string-append "-DTPL_PARMETIS_LIBRARIES="
+ (string-join
+ '("ptscotchparmetis" "ptscotch" "ptscotcherr"
+ "scotchmetis" "scotch" "scotcherr")
+ ";"))
+ (string-append "-DTPL_PARMETIS_INCLUDE_DIRS="
+ (assoc-ref %build-inputs "parmetis")
+ "/include")
+ "-DTPL_ENABLE_COMBBLASLIB=ON"
+ (string-append "-DTPL_COMBBLAS_INCLUDE_DIRS="
+ (assoc-ref %build-inputs "combblas")
+ "/include/CombBLAS;"
+ (assoc-ref %build-inputs "combblas")
+ "/include/BipartiteMatchings")
+ "-DTPL_COMBBLAS_LIBRARIES=CombBLAS")
#:phases
(modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (call-with-output-file "make.inc"
- (lambda (port)
- (format port "
-PLAT =
-DSuperLUroot = ~a
-DSUPERLULIB = ~a/lib/libsuperlu_dist.a
-BLASDEF = -DUSE_VENDOR_BLAS
-BLASLIB = -L~a/lib -lblas
-PARMETISLIB = -L~a/lib \
- -lptscotchparmetis -lptscotch -lptscotcherr -lptscotcherrexit \
- -lscotch -lscotcherr -lscotcherrexit
-METISLIB = -L~:*~a/lib \
- -lscotchmetis -lscotch -lscotcherr -lscotcherrexit
-LIBS = $(DSUPERLULIB) $(PARMETISLIB) $(METISLIB) $(BLASLIB)
-ARCH = ar
-ARCHFLAGS = cr
-RANLIB = ranlib
-CC = mpicc
-PIC = -fPIC
-CFLAGS = -O3 -g -DPRNTlevel=0 $(PIC)
-NOOPTS = -O0 -g $(PIC)
-FORTRAN = mpifort
-FFLAGS = -O2 -g $(PIC)
-LOADER = $(CC)
-CDEFS = -DAdd_"
- (getcwd)
- (assoc-ref outputs "out")
- (assoc-ref inputs "lapack")
- (assoc-ref inputs "pt-scotch"))))
- #t))
- (add-after 'unpack 'remove-broken-symlinks
+ (add-before 'configure 'set-c++-standard
(lambda _
- (for-each delete-file
- (find-files "MAKE_INC" "\\.#make\\..*"))
- #t))
- (add-before 'build 'create-install-directories
- (lambda* (#:key outputs #:allow-other-keys)
- (for-each
- (lambda (dir)
- (mkdir-p (string-append (assoc-ref outputs "out")
- "/" dir)))
- '("lib" "include"))
- #t))
+ (substitute* "CMakeLists.txt"
+ ;; AWPM headers require C++14
+ (("CMAKE_CXX_STANDARD 11") "CMAKE_CXX_STANDARD 14"))))
(add-before 'check 'mpi-setup
,%openmpi-setup)
- (replace 'check
- (lambda _
- (with-directory-excursion "EXAMPLE"
- (invoke "mpirun" "-n" "2"
- "./pddrive" "-r" "1" "-c" "2" "g20.rua")
- (invoke "mpirun" "-n" "2"
- "./pzdrive" "-r" "1" "-c" "2" "cg20.cua"))
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Library is placed in lib during the build phase. Copy over
- ;; headers to include.
- (let* ((out (assoc-ref outputs "out"))
- (incdir (string-append out "/include")))
- (for-each (lambda (file)
- (let ((base (basename file)))
- (format #t "installing `~a' to `~a'~%"
- base incdir)
- (copy-file file
- (string-append incdir "/" base))))
- (find-files "SRC" ".*\\.h$")))
- #t)))))
+ (add-before 'check 'omp-setup
+ (lambda _ (setenv "OMP_NUM_THREADS" "1") #t)))))
(home-page (package-home-page superlu))
(synopsis "Parallel supernodal direct solver")
(description
@@ -2423,25 +2387,25 @@ implemented in ANSI C, and MPI for communications.")
(define-public scotch
(package
(name "scotch")
- (version "6.0.5a")
+ (version "6.0.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
"latestfile/298/scotch_" version ".tar.gz"))
(sha256
- (base32 "0vsmgjz8qv80di3ljmc7hbdsizxxxwy2b9rgd2fl1mdc6dgbj8av"))
- (patches (search-patches "scotch-test-threading.patch"
- "scotch-build-parallelism.patch"
- "scotch-graph-induce-type-64.patch"
- "scotch-graph-diam-64.patch"))))
+ (base32 "1ky4k9r6jvajhqaqnnx6h8fkmds2yxgp70dpr1qzwcyhi2nhqvv8"))
+ (patches (search-patches "scotch-build-parallelism.patch"
+ "scotch-integer-declarations.patch"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)
("flex" ,flex)
("bison" ,bison)))
+ (outputs '("out" "metis"))
(arguments
- `(#:phases
+ `(#:make-flags (list (string-append "prefix=" %output))
+ #:phases
(modify-phases %standard-phases
(add-after
'unpack 'chdir-to-src
@@ -2476,7 +2440,7 @@ YACC = bison -pscotchyy -y -b y
'("COMMON_FILE_COMPRESS_GZ"
"COMMON_PTHREAD"
"COMMON_RANDOM_FIXED_SEED"
- "INTSIZE64" ;use 'long' instead of 'int'
+ "INTSIZE64" ;use 'int64_t'
;; Prevents symbolc clashes with libesmumps
"SCOTCH_RENAME"
;; XXX: Causes invalid frees in superlu-dist tests
@@ -2489,22 +2453,21 @@ YACC = bison -pscotchyy -y -b y
(invoke "make"
(format #f "-j~a" (parallel-job-count))
"esmumps")))
- (replace
- 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (mkdir out)
- (invoke "make"
- (string-append "prefix=" out)
- "install")
- ;; esmumps files are not installed with the above
- (for-each (lambda (f)
- (copy-file f (string-append out "/include/" f)))
- (find-files "../include" ".*esmumps.h$"))
- (for-each (lambda (f)
- (copy-file f (string-append out "/lib/" f)))
- (find-files "../lib" "^lib.*esmumps.*"))
- #t))))))
+ (add-before 'install 'make-install-dirs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (mkdir (assoc-ref outputs "out"))))
+ (add-after 'install 'install-metis
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "metis")))
+ (mkdir out)
+ ;; metis files are not installed with 'make install'
+ (for-each (lambda (f)
+ (install-file f (string-append out "/include")))
+ (find-files "../include/" ".*metis\\.h"))
+ (for-each (lambda (f)
+ (install-file f (string-append out "/lib")))
+ (find-files "../lib/" ".*metis\\..*"))
+ #t))))))
(home-page "http://www.labri.fr/perso/pelegrin/scotch/")
(synopsis "Programs and libraries for graph algorithms")
(description "SCOTCH is a set of programs and libraries which implement
@@ -2742,6 +2705,7 @@ to BMP, JPEG or PNG image formats.")
(inputs
`(("gcl" ,gcl)
("gnuplot" ,gnuplot) ;for plots
+ ("sed" ,sed)
("tk" ,tk))) ;Tcl/Tk is used by 'xmaxima'
(native-inputs
`(("texinfo" ,texinfo)
@@ -2764,6 +2728,17 @@ to BMP, JPEG or PNG image formats.")
#:make-flags (list "TMPDIR=/tmp")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((sed (string-append (assoc-ref inputs "sed") "/bin/sed"))
+ (coreutils (assoc-ref inputs "coreutils"))
+ (dirname (string-append coreutils "/bin/dirname"))
+ (head (string-append coreutils "/bin/head")))
+ (substitute* "src/maxima.in"
+ (("sed ") (string-append sed " "))
+ (("dirname") dirname)
+ (("head") head))
+ #t)))
(add-before 'check 'pre-check
(lambda _
(chmod "src/maxima" #o555)
@@ -3531,7 +3506,11 @@ in finite element programs.")
``("-DMPI_C_COMPILER=mpicc"
"-DMPI_CXX_COMPILER=mpicxx"
"-DMPI_Fortran_COMPILER=mpifort"
- ,@,cf))))
+ ,@,cf))
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-before 'check 'mpi-setup
+ ,%openmpi-setup)))))
(synopsis "Finite element library (with MPI support)")))
(define-public flann
@@ -4215,3 +4194,53 @@ easily be incorporated into existing simulation codes.")
(add-before 'check 'mpi-setup
,%openmpi-setup)))))
(synopsis "SUNDIALS with OpenMPI support")))
+
+(define-public combinatorial-blas
+ (package
+ (name "combinatorial-blas")
+ (version "1.6.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://eecs.berkeley.edu/~aydin/CombBLAS_FILES/"
+ "CombBLAS_beta_"
+ (match (string-split version #\.)
+ ((major minor patch)
+ (string-append major minor "_" patch))) ;e.g. "16_2"
+ ".tgz"))
+ (sha256
+ (base32
+ "1a9wbgdqyy1whhfc0yl0yqkax3amnqa6iihhq48d063gc0jwfd9a"))
+ (patches (search-patches "combinatorial-blas-awpm.patch"
+ "combinatorial-blas-io-fix.patch"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("mpi" ,openmpi)
+ ("test-data" ,(origin
+ (method url-fetch)
+ (uri (string-append "https://people.eecs.berkeley.edu/~aydin/"
+ "CombBLAS_FILES/testdata_combblas1.6.1.tgz"))
+ (sha256
+ (base32
+ "01y2781cy3fww7znmidrp85mf8zx0c905w5vzvk1mgrmhhynim87"))))))
+ (arguments
+ `(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES"
+ "-DCMAKE_CXX_FLAGS=-DUSE_FUNNEL")
+ #:parallel-tests? #f ;tests use 'mpiexec -n4'
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'mpi-setup
+ ,%openmpi-setup)
+ (add-before 'check 'test-setup
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "OMP_NUM_THREADS" "2")
+ (invoke "tar" "xf" (assoc-ref inputs "test-data")))))))
+ (home-page "https://people.eecs.berkeley.edu/~aydin/CombBLAS/html/")
+ (synopsis "Linear algebra primitives for graph analytics")
+ (description "The Combinatorial BLAS (CombBLAS) is an extensible
+distributed-memory parallel graph library offering a small but powerful set of
+linear algebra primitives specifically targeting graph analytics.")
+ (license (list
+ license:gpl2+ ;include/psort/(funnel|sort)*.h
+ license:x11 ;usort and psort
+ license:bsd-3)))) ;CombBLAS and MersenneTwister.h
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index f08a7f5f88..6e56142bd1 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -50,7 +50,7 @@
;; to migrate to 2.0.
(package
(name "hwloc")
- (version "1.11.10")
+ (version "1.11.12")
(source (origin
(method url-fetch)
(uri (string-append "https://www.open-mpi.org/software/hwloc/v"
@@ -58,7 +58,7 @@
"/downloads/hwloc-" version ".tar.bz2"))
(sha256
(base32
- "1ryibcng40xcq22lsj85fn2vcvrksdx9rr3wwxpq8dw37lw0is1b"))))
+ "0za1b9lvrm3rhn0lrxja5f64r0aq1qs4m0pxn1ji2mbi8ndppyyx"))))
(build-system gnu-build-system)
(outputs '("out" ;'lstopo' & co., depends on Cairo, libx11, etc.
"lib" ;small closure
@@ -128,7 +128,7 @@ bind processes, and much more.")
;; Note: 2.0 isn't the default yet, see above.
(package
(inherit hwloc)
- (version "2.0.2")
+ (version "2.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://www.open-mpi.org/software/hwloc/v"
@@ -136,7 +136,7 @@ bind processes, and much more.")
"/downloads/hwloc-" version ".tar.bz2"))
(sha256
(base32
- "1phc863d5b2fvwpyyq4mlh4rkjdslh6h0h197zmyk3prwrq7si8l"))))
+ "09f7ajak8wv5issr0hw72vs3jkldc7crcc7z5fd34sspkvrsm4z3"))))
;; libnuma is no longer needed.
(inputs (alist-delete "numactl" (package-inputs hwloc)))
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index f4f96079b9..4fe352fe96 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -10,7 +10,7 @@
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Rodger Fox <thylakoid@openmailbox.org>
-;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017, 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -19,6 +19,7 @@
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
+;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2577,6 +2578,28 @@ MusicBrainz database.")
(define-public python2-musicbrainzngs
(package-with-python2 python-musicbrainzngs))
+(define-public python-isrcsubmit
+ (package
+ (name "python-isrcsubmit")
+ (version "2.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "isrcsubmit" version))
+ (sha256
+ (base32
+ "0jh4cni8qhri6dh83cmp0i0m0384vv0vznlygv49wj9xzh1d99qv"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-discid" ,python-discid)
+ ("python-musicbrainzngs" ,python-musicbrainzngs)))
+ (home-page "https://github.com/JonnyJD/musicbrainz-isrcsubmit")
+ (synopsis "Submit ISRCs from CDs to MusicBrainz")
+ (description "@code{isrcsubmit} is a tool to extract @dfn{International
+Standard Recording Code} (ISRCs) from audio CDs and submit them to
+@url{https://musicbrainz.org/, MusicBrainz}.")
+ (license license:gpl3+)))
+
(define-public python2-pyechonest
(package
(name "python2-pyechonest")
@@ -3613,7 +3636,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(define-public musescore
(package
(name "musescore")
- (version "3.0")
+ (version "3.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3622,7 +3645,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(file-name (git-file-name name version))
(sha256
(base32
- "0g8n8xpw5d6wh8bwbvy12sinl9i0ir009sr28i4izr28lr4x8v50"))
+ "085qwfv3fsgry1pnx531w83lnyvf7kbaklipdf8zqa9shi6d3x9i"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.
@@ -4076,6 +4099,42 @@ it provides a submission URL for adding the disc ID to the database and gathers
ISRCs and the MCN (=UPC/EAN) from disc.")
(license license:lgpl2.1+)))
+(define-public python-discid
+ (package
+ (name "python-discid")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "discid" version))
+ (sha256
+ (base32
+ "1fgp67nhqlbvhhwrcxq5avil7alpzw4s4579hlyvxzbphdnbz8vq"))))
+ (build-system python-build-system)
+ (inputs
+ `(("libdiscid" ,libdiscid)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'set-libdiscid
+ ;; Set path of libdiscid
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((discid (assoc-ref inputs "libdiscid")))
+ (substitute* "discid/libdiscid.py"
+ (("lib_name = (.*)$" all name)
+ (string-append "lib_name = \"" discid
+ "/lib/libdiscid.so.0\"\n")))
+ #t))))))
+ (home-page "https://python-discid.readthedocs.io/")
+ (synopsis "Python bindings for Libdiscid")
+ (description
+ "This package provides Python bindings for the Libdiscid library. The
+main purpose is the calculation of @url{https://musicbrainz.org/doc/Disc%20ID,
+Disc IDs} for use with the MusicBrainz database. Additionally the disc
+@dfn{Media Catalog Number} (MCN) and track @dfn{International Standard
+Recording Code} (ISRC) can be extracted.}")
+ (license license:lgpl3+)))
+
(define-public libmusicbrainz
(package
(name "libmusicbrainz")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index df0630219f..6ba544ecd9 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -547,7 +547,7 @@ and up to 1 Mbit/s downstream.")
(define-public whois
(package
(name "whois")
- (version "5.4.0")
+ (version "5.4.1")
(source
(origin
(method url-fetch)
@@ -555,7 +555,7 @@ and up to 1 Mbit/s downstream.")
name "_" version ".tar.xz"))
(sha256
(base32
- "0y73b3z1akni620s1hlrijwdrk95ca1c8csjds48vpd6z86awx9p"))))
+ "0l7chmlvsl22r5cfm6fpm999z2n3sjrnx3ha8f8kf42cn4gmkriy"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 66712da08c..ef38a6f61a 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -52,6 +52,7 @@
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz)
#:use-module (gnu packages linux)
#:use-module (gnu packages lisp)
#:use-module (gnu packages man)
@@ -106,8 +107,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "0.16.0")
- (commit "7ba2b27467a39956f10e2e11061d9569e4b7d632")
- (revision 8))
+ (commit "4bddd12ad540d45a33a5f9f129b896843dca603f")
+ (revision 9))
(package
(name "guix")
@@ -123,7 +124,7 @@
(commit commit)))
(sha256
(base32
- "14srgkl0vyr6q7azv76nncp63gngmm71y18ybyj9f6l6s4shbcm4"))
+ "1abn4ghb25kn0cmr9dbb3q3fxdcc0g2fnnmbrykxv111s6ahdmlw"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -301,9 +302,6 @@ the Nix package manager.")
(license license:gpl3+)
(properties '((ftp-server . "alpha.gnu.org"))))))
-;; Alias for backward compatibility.
-(define-public guix-devel guix)
-
(define-public guix-daemon
;; This package is for internal consumption: it allows us to quickly build
;; the 'guix-daemon' program and use that in (guix self), used by 'guix
diff --git a/gnu/packages/patches/combinatorial-blas-awpm.patch b/gnu/packages/patches/combinatorial-blas-awpm.patch
new file mode 100644
index 0000000000..86d4ab2dcf
--- /dev/null
+++ b/gnu/packages/patches/combinatorial-blas-awpm.patch
@@ -0,0 +1,67 @@
+Install BipartiteMatchings headers for SuperLU_DIST.
+
+--- a/BipartiteMatchings/ApproxWeightPerfectMatching.h
++++ b/BipartiteMatchings/ApproxWeightPerfectMatching.h
+@@ -9,7 +9,7 @@
+ #ifndef ApproxWeightPerfectMatching_h
+ #define ApproxWeightPerfectMatching_h
+
+-#include "../CombBLAS.h"
++#include "CombBLAS.h"
+ #include "BPMaximalMatching.h"
+ #include "BPMaximumMatching.h"
+ #include <parallel/algorithm>
+--- a/BipartiteMatchings/BPMaximalMatching.h
++++ b/BipartiteMatchings/BPMaximalMatching.h
+@@ -1,7 +1,7 @@
+ #ifndef BP_MAXIMAL_MATCHING_H
+ #define BP_MAXIMAL_MATCHING_H
+
+-#include "../CombBLAS.h"
++#include "CombBLAS.h"
+ #include <iostream>
+ #include <functional>
+ #include <algorithm>
+--- a/BipartiteMatchings/BPMaximumMatching.h
++++ b/BipartiteMatchings/BPMaximumMatching.h
+@@ -1,7 +1,7 @@
+ #ifndef BP_MAXIMUM_MATCHING_H
+ #define BP_MAXIMUM_MATCHING_H
+
+-#include "../CombBLAS.h"
++#include "CombBLAS.h"
+ #include <mpi.h>
+ #include <sys/time.h>
+ #include <iostream>
+--- a/BipartiteMatchings/MatchingDefs.h
++++ b/BipartiteMatchings/MatchingDefs.h
+@@ -9,7 +9,7 @@
+ #ifndef MatchingDefs_h
+ #define MatchingDefs_h
+
+-#include "../CombBLAS.h"
++#include "CombBLAS.h"
+ #include <iostream>
+
+ namespace combblas {
+--- a/BipartiteMatchings/Utility.h
++++ b/BipartiteMatchings/Utility.h
+@@ -1,7 +1,7 @@
+ #ifndef BP_UTILITY_H
+ #define BP_UTILITY_H
+
+-#include "../CombBLAS.h"
++#include "CombBLAS.h"
+
+ namespace combblas {
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -68,6 +68,7 @@ set_property(TARGET CombBLAS PROPERTY VERSION ${CombBLAS_VERSION})
+ # installation
+ install(DIRECTORY include/ DESTINATION include)
+ install(DIRECTORY psort-1.0/include/ DESTINATION include)
++install(DIRECTORY BipartiteMatchings DESTINATION include FILES_MATCHING PATTERN "*.h")
+ install(TARGETS CombBLAS EXPORT CombBLASTargets
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
diff --git a/gnu/packages/patches/combinatorial-blas-io-fix.patch b/gnu/packages/patches/combinatorial-blas-io-fix.patch
new file mode 100644
index 0000000000..0ad28e5e0b
--- /dev/null
+++ b/gnu/packages/patches/combinatorial-blas-io-fix.patch
@@ -0,0 +1,14 @@
+IO not appropriate in the context of a sorting routine, and in any case the
+proper headers are not included, so gcc emits an undefined symbol error.
+Remove the "printf" statement.
+
+--- CombBLAS_beta_16_2/usort/include/usort/seqUtils.tcc
++++ CombBLAS_beta_16_2/usort/include/usort/seqUtils.tcc
+@@ -142,7 +142,6 @@
+ }
+ if ( (a[nmax]==a[nmin]) && (ctr==0) )
+ {
+- printf("All the numbers are identical, the list is sorted\n");
+ return;
+ }
+
diff --git a/gnu/packages/patches/icecat-avoid-bundled-libraries.patch b/gnu/packages/patches/icecat-avoid-bundled-libraries.patch
index 33203b1a33..d9a7dfe550 100644
--- a/gnu/packages/patches/icecat-avoid-bundled-libraries.patch
+++ b/gnu/packages/patches/icecat-avoid-bundled-libraries.patch
@@ -1,7 +1,7 @@
Fixes needed when avoiding bundled libraries.
---- icecat-60.2.0/xpcom/build/moz.build.orig 2018-09-13 17:46:49.000000000 -0400
-+++ icecat-60.2.0/xpcom/build/moz.build 2018-09-22 04:26:50.659564554 -0400
+--- icecat-60.5.0/xpcom/build/moz.build.orig 2018-09-13 17:46:49.000000000 -0400
++++ icecat-60.5.0/xpcom/build/moz.build 2018-09-22 04:26:50.659564554 -0400
@@ -99,10 +99,5 @@
'/docshell/base',
]
@@ -13,8 +13,8 @@ Fixes needed when avoiding bundled libraries.
-
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
CXXFLAGS += CONFIG['TK_CFLAGS']
---- icecat-60.2.0/storage/moz.build.orig 2018-09-13 17:51:11.000000000 -0400
-+++ icecat-60.2.0/storage/moz.build 2018-09-22 04:26:50.659564554 -0400
+--- icecat-60.5.0/storage/moz.build.orig 2018-09-13 17:51:11.000000000 -0400
++++ icecat-60.5.0/storage/moz.build 2018-09-22 04:26:50.659564554 -0400
@@ -117,7 +117,6 @@
DEFINES['MOZ_MEMORY_TEMP_STORE_PRAGMA'] = True
@@ -23,8 +23,8 @@ Fixes needed when avoiding bundled libraries.
'/dom/base',
]
---- icecat-60.2.0/dom/indexedDB/moz.build.orig 2018-09-13 17:49:42.000000000 -0400
-+++ icecat-60.2.0/dom/indexedDB/moz.build 2018-09-22 04:26:50.663564574 -0400
+--- icecat-60.5.0/dom/indexedDB/moz.build.orig 2018-09-13 17:49:42.000000000 -0400
++++ icecat-60.5.0/dom/indexedDB/moz.build 2018-09-22 04:26:50.663564574 -0400
@@ -102,7 +102,6 @@
CXXFLAGS += ['-Wno-error=shadow']
@@ -33,8 +33,8 @@ Fixes needed when avoiding bundled libraries.
'/dom/base',
'/dom/storage',
'/ipc/glue',
---- icecat-60.2.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build.orig 2018-09-13 17:40:54.000000000 -0400
-+++ icecat-60.2.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build 2018-09-23 21:33:12.319975105 -0400
+--- icecat-60.5.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build.orig 2018-09-13 17:40:54.000000000 -0400
++++ icecat-60.5.0/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn/moz.build 2018-09-23 21:33:12.319975105 -0400
@@ -130,11 +130,6 @@
DEFINES["WEBRTC_POSIX"] = True
DEFINES["_FILE_OFFSET_BITS"] = "64"
diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch
new file mode 100644
index 0000000000..2a11bf0b70
--- /dev/null
+++ b/gnu/packages/patches/icecat-makeicecat.patch
@@ -0,0 +1,154 @@
+Make some of the changes needed to the 'makeicecat' script, to allow it to run
+in a snippet without network access. After this patch is applied, some
+additional changes will be made using 'substitute*'.
+
+diff --git a/makeicecat b/makeicecat
+index aa46b94..db27a86 100644
+--- a/makeicecat
++++ b/makeicecat
+@@ -36,75 +36,75 @@ export DEBFULLNAME="Ruben Rodriguez"
+
+ DATA="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"/data
+
+-mkdir output
+-cd output
++# mkdir output
++# cd output
+
+ ###############################################################################
+ # Retrieve FF source code
+ ###############################################################################
+
+-rm mozilla-esr${FFMAJOR} $SOURCEDIR -rf
+-
+-wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz
+-wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
+-gpg --recv-keys --keyserver keyserver.ubuntu.com 24C6F355
+-gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
+-
+-echo Extracting Firefox tarball
+-tar -xf firefox-${FFVERSION}esr.source.tar.xz
+-
+-mv firefox-${FFVERSION} $SOURCEDIR
++# rm mozilla-esr${FFMAJOR} $SOURCEDIR -rf
++#
++# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz
++# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
++# gpg --recv-keys --keyserver keyserver.ubuntu.com 24C6F355
++# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
++#
++# echo Extracting Firefox tarball
++# tar -xf firefox-${FFVERSION}esr.source.tar.xz
++#
++# mv firefox-${FFVERSION} $SOURCEDIR
+
+ ###############################################################################
+ # Retrieve /debian from Ubuntu
+ ###############################################################################
+
+-rm -rf firefox.$CODENAME
+-bzr branch https://code.launchpad.net/~mozillateam/firefox/firefox.$CODENAME
+-cd firefox.$CODENAME
+-bzr revert -r$REVISION
+-echo '3.0 (native)' > debian/source/format
+-
+-for PATCH in ubuntu-bookmarks.patch ubuntu-ua-string-changes.patch unity-menubar.patch ubuntu-search-defaults.patch fix-make-package-tests-without-webrtc.patch revert-upstream-search-engine-changes.patch
+-do
+- rm debian/patches/$PATCH
+- sed "/$PATCH/d" -i debian/patches/series
+-done
+-sed "/test-/d" -i debian/patches/series
+-cd ..
+-
+-mv firefox.$CODENAME/debian $SOURCEDIR
+-rm -rf firefox.$CODENAME
++# rm -rf firefox.$CODENAME
++# bzr branch https://code.launchpad.net/~mozillateam/firefox/firefox.$CODENAME
++# cd firefox.$CODENAME
++# bzr revert -r$REVISION
++# echo '3.0 (native)' > debian/source/format
++#
++# for PATCH in ubuntu-bookmarks.patch ubuntu-ua-string-changes.patch unity-menubar.patch ubuntu-search-defaults.patch fix-make-package-tests-without-webrtc.patch revert-upstream-search-engine-changes.patch
++# do
++# rm debian/patches/$PATCH
++# sed "/$PATCH/d" -i debian/patches/series
++# done
++# sed "/test-/d" -i debian/patches/series
++# cd ..
++#
++# mv firefox.$CODENAME/debian $SOURCEDIR
++# rm -rf firefox.$CODENAME
+
+ ###############################################################################
+ # Retrieve l10n
+ ###############################################################################
+
+-mkdir l10n
+-cd l10n
+-while read line;do
+- line=$(echo $line |cut -d' ' -f1)
+- #[ $line = "es-ES" ] || continue # To speed up testing
+- [ $line = "en-US" ] && continue
+- hg clone https://hg.mozilla.org/l10n-central/$line
+- mkdir -p $line/browser/chrome/browser/preferences
+- touch $line/browser/chrome/browser/preferences/advanced-scripts.dtd
+- rm -rf $line/.hg*
+-done < ../$SOURCEDIR/browser/locales/shipped-locales
+-cd ..
+-
+-mv l10n $SOURCEDIR
+-
+-hg clone http://hg.mozilla.org/l10n/compare-locales/
+-cd compare-locales/
+-hg checkout RELEASE_3_3_0
+-cd ..
+-rm compare-locales/.hg* compare-locales/.git* -rf
+-mv compare-locales $SOURCEDIR/l10n
++# mkdir l10n
++# cd l10n
++# while read line;do
++# line=$(echo $line |cut -d' ' -f1)
++# #[ $line = "es-ES" ] || continue # To speed up testing
++# [ $line = "en-US" ] && continue
++# hg clone https://hg.mozilla.org/l10n-central/$line
++# mkdir -p $line/browser/chrome/browser/preferences
++# touch $line/browser/chrome/browser/preferences/advanced-scripts.dtd
++# rm -rf $line/.hg*
++# done < ../$SOURCEDIR/browser/locales/shipped-locales
++# cd ..
++#
++# mv l10n $SOURCEDIR
++#
++# hg clone http://hg.mozilla.org/l10n/compare-locales/
++# cd compare-locales/
++# hg checkout RELEASE_3_3_0
++# cd ..
++# rm compare-locales/.hg* compare-locales/.git* -rf
++# mv compare-locales $SOURCEDIR/l10n
+
+ #######################################################
+
+-cd $SOURCEDIR
++# cd $SOURCEDIR
+
+ #for patch in $DATA/patches/*; do
+ # echo Patching with file: $patch
+@@ -720,7 +720,7 @@ debian/rules debian/control
+ touch -d "yesterday" debian/control
+ debian/rules debian/control
+
+-echo | dch -b -D stable -v "$ICECATVERSION" "Converted into IceCat (http://www.gnu.org/software/gnuzilla/)"
++# echo | dch -b -D stable -v "$ICECATVERSION" "Converted into IceCat (http://www.gnu.org/software/gnuzilla/)"
+ sed "1s/firefox/icecat/" -i debian/changelog
+
+ touch configure js/src/configure
+@@ -734,6 +734,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in
+ /bin/sed 's/chmod a+w/chmod u+w/' -i ./js/src/ctypes/libffi/Makefile.in ./toolkit/crashreporter/google-breakpad/Makefile.in ./toolkit/crashreporter/google-breakpad/src/third_party/glog/Makefile.in || true
+
+
+-cd ..
+-echo Packaging tarball
+-tar cfj icecat-$ICECATVERSION.tar.bz2 $SOURCEDIR
++# cd ..
++# echo Packaging tarball
++# tar cfj icecat-$ICECATVERSION.tar.bz2 $SOURCEDIR
diff --git a/gnu/packages/patches/icecat-use-system-graphite2+harfbuzz.patch b/gnu/packages/patches/icecat-use-system-graphite2+harfbuzz.patch
index 94c211b797..776b5f3d9a 100644
--- a/gnu/packages/patches/icecat-use-system-graphite2+harfbuzz.patch
+++ b/gnu/packages/patches/icecat-use-system-graphite2+harfbuzz.patch
@@ -4,8 +4,8 @@ Based on:
https://svnweb.freebsd.org/ports/head/www/firefox-esr/files/patch-bug847568?revision=472833&view=co
Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
---- icecat-60.2.0/config/system-headers.mozbuild
-+++ icecat-60.2.0/config/system-headers.mozbuild
+--- icecat-60.5.0/config/system-headers.mozbuild
++++ icecat-60.5.0/config/system-headers.mozbuild
@@ -1311,6 +1311,19 @@
'pixman.h',
]
@@ -26,8 +26,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
if CONFIG['MOZ_SYSTEM_LIBVPX']:
system_headers += [
'vpx_mem/vpx_mem.h',
---- icecat-60.2.0/dom/base/moz.build
-+++ icecat-60.2.0/dom/base/moz.build
+--- icecat-60.5.0/dom/base/moz.build
++++ icecat-60.5.0/dom/base/moz.build
@@ -474,6 +474,9 @@
if CONFIG['MOZ_X11']:
CXXFLAGS += CONFIG['TK_CFLAGS']
@@ -38,8 +38,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
GENERATED_FILES += [
'PropertyUseCounterMap.inc',
'UseCounterList.h',
---- icecat-60.2.0/gfx/graphite2/moz-gr-update.sh
-+++ icecat-60.2.0/gfx/graphite2/moz-gr-update.sh
+--- icecat-60.5.0/gfx/graphite2/moz-gr-update.sh
++++ icecat-60.5.0/gfx/graphite2/moz-gr-update.sh
@@ -1,6 +1,7 @@
#!/bin/bash
@@ -66,8 +66,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
echo
echo If gfx/graphite2/src/files.mk has changed, please make corresponding
---- icecat-60.2.0/gfx/moz.build
-+++ icecat-60.2.0/gfx/moz.build
+--- icecat-60.5.0/gfx/moz.build
++++ icecat-60.5.0/gfx/moz.build
@@ -10,6 +10,12 @@ with Files('**'):
if CONFIG['MOZ_TREE_CAIRO']:
DIRS += ['cairo']
@@ -90,8 +90,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
'ots/src',
'thebes',
'ipc',
---- icecat-60.2.0/gfx/skia/generate_mozbuild.py
-+++ icecat-60.2.0/gfx/skia/generate_mozbuild.py
+--- icecat-60.5.0/gfx/skia/generate_mozbuild.py
++++ icecat-60.5.0/gfx/skia/generate_mozbuild.py
@@ -148,6 +148,9 @@
'-Wno-unused-private-field',
]
@@ -102,8 +102,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
---- icecat-60.2.0/gfx/skia/moz.build
-+++ icecat-60.2.0/gfx/skia/moz.build
+--- icecat-60.5.0/gfx/skia/moz.build
++++ icecat-60.5.0/gfx/skia/moz.build
@@ -822,6 +822,9 @@
'-Wno-unused-private-field',
]
@@ -114,8 +114,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
---- icecat-60.2.0/gfx/thebes/moz.build
-+++ icecat-60.2.0/gfx/thebes/moz.build
+--- icecat-60.5.0/gfx/thebes/moz.build
++++ icecat-60.5.0/gfx/thebes/moz.build
@@ -272,7 +272,13 @@
LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
@@ -131,8 +131,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
if CONFIG['CC_TYPE'] == 'clang':
# Suppress warnings from Skia header files.
---- icecat-60.2.0/intl/unicharutil/util/moz.build
-+++ icecat-60.2.0/intl/unicharutil/util/moz.build
+--- icecat-60.5.0/intl/unicharutil/util/moz.build
++++ icecat-60.5.0/intl/unicharutil/util/moz.build
@@ -25,4 +25,7 @@ UNIFIED_SOURCES += [
'nsUnicodeProperties.cpp',
]
@@ -141,8 +141,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
FINAL_LIBRARY = 'xul'
---- icecat-60.2.0/netwerk/dns/moz.build
-+++ icecat-60.2.0/netwerk/dns/moz.build
+--- icecat-60.5.0/netwerk/dns/moz.build
++++ icecat-60.5.0/netwerk/dns/moz.build
@@ -76,3 +76,6 @@
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
@@ -150,9 +150,9 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
+
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
---- icecat-60.2.0/old-configure.in
-+++ icecat-60.2.0/old-configure.in
-@@ -3995,6 +3995,27 @@
+--- icecat-60.5.0/old-configure.in
++++ icecat-60.5.0/old-configure.in
+@@ -3971,6 +3971,27 @@
AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
dnl ========================================================
@@ -180,8 +180,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
dnl Check for pixman and cairo
dnl ========================================================
---- icecat-60.2.0/toolkit/library/moz.build
-+++ icecat-60.2.0/toolkit/library/moz.build
+--- icecat-60.5.0/toolkit/library/moz.build
++++ icecat-60.5.0/toolkit/library/moz.build
@@ -235,6 +235,12 @@
if CONFIG['MOZ_SYSTEM_PNG']:
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
@@ -195,8 +195,8 @@ Modified for use with patch -p1, and to apply cleanly to GNU IceCat.
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
---- icecat-60.2.0/toolkit/moz.configure
-+++ icecat-60.2.0/toolkit/moz.configure
+--- icecat-60.5.0/toolkit/moz.configure
++++ icecat-60.5.0/toolkit/moz.configure
@@ -1051,6 +1051,26 @@
add_old_configure_assignment('FT2_CFLAGS',
ft2_info.cflags)
diff --git a/gnu/packages/patches/icecat-use-system-media-libs.patch b/gnu/packages/patches/icecat-use-system-media-libs.patch
index 648585a6f0..00c95fb82e 100644
--- a/gnu/packages/patches/icecat-use-system-media-libs.patch
+++ b/gnu/packages/patches/icecat-use-system-media-libs.patch
@@ -8,8 +8,8 @@ Changes to files within the bundled libraries are omitted, since those files
are removed from Guix sources. Modified for use with patch -p1, and to apply
cleanly to GNU IceCat.
---- icecat-60.2.0/build/moz.configure/old.configure
-+++ icecat-60.2.0/build/moz.configure/old.configure
+--- icecat-60.5.0/build/moz.configure/old.configure
++++ icecat-60.5.0/build/moz.configure/old.configure
@@ -273,7 +273,12 @@
'--with-system-libvpx',
'--with-system-nspr',
@@ -23,8 +23,8 @@ cleanly to GNU IceCat.
'--with-system-zlib',
'--with-thumb',
'--with-thumb-interwork',
---- icecat-60.2.0/config/external/moz.build
-+++ icecat-60.2.0/config/external/moz.build
+--- icecat-60.5.0/config/external/moz.build
++++ icecat-60.5.0/config/external/moz.build
@@ -23,12 +23,21 @@
external_dirs += ['modules/xz-embedded']
@@ -61,8 +61,8 @@ cleanly to GNU IceCat.
'media/mp4parse-rust',
'media/psshparser'
]
---- icecat-60.2.0/config/system-headers.mozbuild
-+++ icecat-60.2.0/config/system-headers.mozbuild
+--- icecat-60.5.0/config/system-headers.mozbuild
++++ icecat-60.5.0/config/system-headers.mozbuild
@@ -1324,6 +1324,28 @@
'harfbuzz/hb.h',
]
@@ -92,19 +92,19 @@ cleanly to GNU IceCat.
if CONFIG['MOZ_SYSTEM_LIBVPX']:
system_headers += [
'vpx_mem/vpx_mem.h',
---- icecat-60.2.0/dom/media/AudioStream.cpp
-+++ icecat-60.2.0/dom/media/AudioStream.cpp
-@@ -121,7 +121,9 @@
- : mMonitor("AudioStream")
- , mChannels(0)
- , mOutChannels(0)
+--- icecat-60.5.0/dom/media/AudioStream.cpp
++++ icecat-60.5.0/dom/media/AudioStream.cpp
+@@ -128,7 +128,9 @@
+ : mMonitor("AudioStream"),
+ mChannels(0),
+ mOutChannels(0),
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
- , mTimeStretcher(nullptr)
+ mTimeStretcher(nullptr),
+#endif
- , mDumpFile(nullptr)
- , mState(INITIALIZED)
- , mDataSource(aSource)
-@@ -142,9 +144,11 @@
+ mDumpFile(nullptr),
+ mState(INITIALIZED),
+ mDataSource(aSource),
+@@ -147,9 +149,11 @@
if (mDumpFile) {
fclose(mDumpFile);
}
@@ -116,8 +116,8 @@ cleanly to GNU IceCat.
#if defined(XP_WIN)
if (XRE_IsContentProcess()) {
audio::AudioNotificationReceiver::Unregister(this);
-@@ -168,7 +172,11 @@
- {
+@@ -170,7 +174,11 @@
+ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked() {
mMonitor.AssertCurrentThreadOwns();
if (!mTimeStretcher) {
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
@@ -128,8 +128,8 @@ cleanly to GNU IceCat.
mTimeStretcher->setSampleRate(mAudioClock.GetInputRate());
mTimeStretcher->setChannels(mOutChannels);
mTimeStretcher->setPitch(1.0);
---- icecat-60.2.0/dom/media/AudioStream.h
-+++ icecat-60.2.0/dom/media/AudioStream.h
+--- icecat-60.5.0/dom/media/AudioStream.h
++++ icecat-60.5.0/dom/media/AudioStream.h
@@ -15,7 +15,11 @@
#include "mozilla/TimeStamp.h"
#include "mozilla/UniquePtr.h"
@@ -142,7 +142,7 @@ cleanly to GNU IceCat.
#if defined(XP_WIN)
#include "mozilla/audio/AudioNotificationReceiver.h"
-@@ -297,7 +301,11 @@
+@@ -293,7 +297,11 @@
uint32_t mChannels;
uint32_t mOutChannels;
AudioClock mAudioClock;
@@ -154,8 +154,8 @@ cleanly to GNU IceCat.
// Output file for dumping audio
FILE* mDumpFile;
---- icecat-60.2.0/dom/media/moz.build
-+++ icecat-60.2.0/dom/media/moz.build
+--- icecat-60.5.0/dom/media/moz.build
++++ icecat-60.5.0/dom/media/moz.build
@@ -327,6 +327,21 @@
DEFINES['MOZILLA_INTERNAL_API'] = True
@@ -178,8 +178,8 @@ cleanly to GNU IceCat.
if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True
---- icecat-60.2.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
-+++ icecat-60.2.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
+--- icecat-60.5.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
++++ icecat-60.5.0/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
@@ -15,9 +15,13 @@
#include <windows.h>
#endif
@@ -194,7 +194,7 @@ cleanly to GNU IceCat.
namespace mozilla {
-@@ -64,6 +68,12 @@
+@@ -60,6 +64,12 @@
sLinkStatus = LinkStatus_FAILED;
@@ -207,17 +207,17 @@ cleanly to GNU IceCat.
// We retrieve the path of the lgpllibs library as this is where mozavcodec
// and mozavutil libs are located.
PathString lgpllibsname = GetLibraryName(nullptr, "lgpllibs");
-@@ -73,6 +83,7 @@
- PathString path =
- GetLibraryFilePathname(lgpllibsname.get(),
- (PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
+@@ -68,6 +78,7 @@
+ }
+ PathString path = GetLibraryFilePathname(
+ lgpllibsname.get(), (PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
+#endif
if (path.IsEmpty()) {
return false;
}
---- icecat-60.2.0/old-configure.in
-+++ icecat-60.2.0/old-configure.in
-@@ -2451,6 +2451,111 @@
+--- icecat-60.5.0/old-configure.in
++++ icecat-60.5.0/old-configure.in
+@@ -2417,6 +2417,111 @@
fi
fi # COMPILE_ENVIRONMENT
@@ -329,8 +329,8 @@ cleanly to GNU IceCat.
dnl system libvpx Support
dnl ========================================================
MOZ_ARG_WITH_BOOL(system-libvpx,
---- icecat-60.2.0/toolkit/library/moz.build
-+++ icecat-60.2.0/toolkit/library/moz.build
+--- icecat-60.5.0/toolkit/library/moz.build
++++ icecat-60.5.0/toolkit/library/moz.build
@@ -244,6 +244,21 @@
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
@@ -353,9 +353,9 @@ cleanly to GNU IceCat.
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
---- icecat-60.2.0/xpcom/build/XPCOMInit.cpp
-+++ icecat-60.2.0/xpcom/build/XPCOMInit.cpp
-@@ -138,7 +138,9 @@
+--- icecat-60.5.0/xpcom/build/XPCOMInit.cpp
++++ icecat-60.5.0/xpcom/build/XPCOMInit.cpp
+@@ -139,7 +139,9 @@
#include "mozilla/ipc/GeckoChildProcessHost.h"
@@ -365,16 +365,15 @@ cleanly to GNU IceCat.
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
#if defined(HAVE_STDINT_H)
// mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in
-@@ -639,11 +641,13 @@
+@@ -635,10 +637,12 @@
// this oddness.
mozilla::SetICUMemoryFunctions();
+#ifndef MOZ_OGG_NO_MEM_REPORTING
// Do the same for libogg.
- ogg_set_mem_functions(OggReporter::CountingMalloc,
- OggReporter::CountingCalloc,
- OggReporter::CountingRealloc,
- OggReporter::CountingFree);
+ ogg_set_mem_functions(
+ OggReporter::CountingMalloc, OggReporter::CountingCalloc,
+ OggReporter::CountingRealloc, OggReporter::CountingFree);
+#endif
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
diff --git a/gnu/packages/patches/linkchecker-mark-more-tests-that-require-the-network.patch b/gnu/packages/patches/linkchecker-mark-more-tests-that-require-the-network.patch
new file mode 100644
index 0000000000..f3e488cec2
--- /dev/null
+++ b/gnu/packages/patches/linkchecker-mark-more-tests-that-require-the-network.patch
@@ -0,0 +1,182 @@
+From f24c88a0732024028fffe0372039a847e91722ea Mon Sep 17 00:00:00 2001
+From: Christopher Baines <mail@cbaines.net>
+Date: Tue, 1 Jan 2019 22:36:29 +0000
+Subject: [PATCH] Mark more tests that require the network
+
+I believe all these tests require the network, at least they seem to
+fail if it's I run them without connecting my computer to the web.
+
+I'm looking at this as part of packaging linkchecker for GNU Guix,
+where the package is build and the tests are run in a isolated
+environment, intentionally without network access, to avoid issues
+with non-reproducible package builds.
+---
+ tests/checker/test_http.py | 2 ++
+ tests/checker/test_http_misc.py | 2 ++
+ tests/checker/test_http_redirect.py | 2 ++
+ tests/checker/test_httpbin.py | 5 +++++
+ tests/checker/test_misc.py | 4 ++++
+ tests/checker/test_whitespace.py | 3 +++
+ 6 files changed, 18 insertions(+)
+
+diff --git a/tests/checker/test_http.py b/tests/checker/test_http.py
+index e4c1e097..8a8af567 100644
+--- a/tests/checker/test_http.py
++++ b/tests/checker/test_http.py
+@@ -20,6 +20,7 @@
+
+ import pytest
+
++from tests import need_network
+ from .httpserver import HttpServerTest, CookieRedirectHttpRequestHandler
+
+ class TestHttp (HttpServerTest):
+@@ -29,6 +30,7 @@ def __init__(self, methodName='runTest'):
+ super(TestHttp, self).__init__(methodName=methodName)
+ self.handler = CookieRedirectHttpRequestHandler
+
++ @need_network
+ def test_html (self):
+ confargs = dict(recursionlevel=1)
+ self.file_test("http.html", confargs=confargs)
+diff --git a/tests/checker/test_http_misc.py b/tests/checker/test_http_misc.py
+index 9922d85f..c6b6afdb 100644
+--- a/tests/checker/test_http_misc.py
++++ b/tests/checker/test_http_misc.py
+@@ -20,11 +20,13 @@
+ import os
+ import sys
+ from .httpserver import HttpServerTest
++from tests import need_network
+ from linkcheck.network import iputil
+
+ class TestHttpMisc (HttpServerTest):
+ """Test http:// misc link checking."""
+
++ @need_network
+ def test_html (self):
+ self.swf_test()
+ self.obfuscate_test()
+diff --git a/tests/checker/test_http_redirect.py b/tests/checker/test_http_redirect.py
+index f212d98e..2253a70d 100644
+--- a/tests/checker/test_http_redirect.py
++++ b/tests/checker/test_http_redirect.py
+@@ -17,6 +17,7 @@
+ """
+ Test http checking.
+ """
++from tests import need_network
+ from .httpserver import HttpServerTest, CookieRedirectHttpRequestHandler
+
+ class TestHttpRedirect (HttpServerTest):
+@@ -26,6 +27,7 @@ def __init__(self, methodName='runTest'):
+ super(TestHttpRedirect, self).__init__(methodName=methodName)
+ self.handler = CookieRedirectHttpRequestHandler
+
++ @need_network
+ def test_redirect (self):
+ self.redirect1()
+ self.redirect2()
+diff --git a/tests/checker/test_httpbin.py b/tests/checker/test_httpbin.py
+index 0319c2f6..4c8fa846 100644
+--- a/tests/checker/test_httpbin.py
++++ b/tests/checker/test_httpbin.py
+@@ -18,6 +18,7 @@
+ Test http stuff with httpbin.org.
+ """
+ import re
++from tests import need_network
+ from . import LinkCheckTest
+
+
+@@ -30,6 +31,7 @@ def get_httpbin_url(path):
+ class TestHttpbin(LinkCheckTest):
+ """Test http:// link redirection checking."""
+
++ @need_network
+ def test_http_link(self):
+ linkurl = u"http://www.example.com"
+ nlinkurl = self.norm(linkurl)
+@@ -48,6 +50,7 @@ def test_http_link(self):
+ ]
+ self.direct(url, resultlines, recursionlevel=1)
+
++ @need_network
+ def test_basic_auth(self):
+ user = u"testuser"
+ password = u"testpassword"
+@@ -67,6 +70,7 @@ def test_basic_auth(self):
+ ]
+ self.direct(url, resultlines, confargs=confargs)
+
++ @need_network
+ def test_http_refresh_header(self):
+ linkurl = u"http://www.example.com"
+ nlinkurl = self.norm(linkurl)
+@@ -85,6 +89,7 @@ def test_http_refresh_header(self):
+ ]
+ self.direct(url, resultlines, recursionlevel=1)
+
++ @need_network
+ def test_http_content_location_header(self):
+ linkurl = u"http://www.example.com"
+ nlinkurl = self.norm(linkurl)
+diff --git a/tests/checker/test_misc.py b/tests/checker/test_misc.py
+index 2e4cfd07..f9591f9d 100644
+--- a/tests/checker/test_misc.py
++++ b/tests/checker/test_misc.py
+@@ -17,6 +17,7 @@
+ """
+ Test miscellaneous html tag parsing and URL types
+ """
++from tests import need_network
+ from . import LinkCheckTest
+
+
+@@ -25,15 +26,18 @@ class TestMisc (LinkCheckTest):
+ Test misc link types.
+ """
+
++ @need_network
+ def test_misc (self):
+ self.file_test("misc.html")
+
+ def test_html5 (self):
+ self.file_test("html5.html")
+
++ @need_network
+ def test_archive (self):
+ self.file_test("archive.html")
+
++ @need_network
+ def test_itms_services(self):
+ url = u"itms-services:?action=download-manifest&url=http://www.example.com/"
+ resultlines = [
+diff --git a/tests/checker/test_whitespace.py b/tests/checker/test_whitespace.py
+index 609c108a..fc2727d6 100644
+--- a/tests/checker/test_whitespace.py
++++ b/tests/checker/test_whitespace.py
+@@ -17,6 +17,7 @@
+ """
+ Test whitespace handling.
+ """
++from tests import need_network
+ from . import LinkCheckTest
+
+
+@@ -25,6 +26,7 @@ class TestWhitespace (LinkCheckTest):
+ Test whitespace in URLs.
+ """
+
++ @need_network
+ def test_leading_whitespace (self):
+ # Leading whitespace
+ url = u" http://www.example.org/"
+@@ -50,6 +52,7 @@ def test_leading_whitespace (self):
+ ]
+ self.direct(url, resultlines)
+
++ @need_network
+ def test_trailing_whitespace (self):
+ # Trailing whitespace
+ url = u"http://www.example.org/ "
diff --git a/gnu/packages/patches/p11-kit-jks-timestamps.patch b/gnu/packages/patches/p11-kit-jks-timestamps.patch
new file mode 100644
index 0000000000..8cb8ed8684
--- /dev/null
+++ b/gnu/packages/patches/p11-kit-jks-timestamps.patch
@@ -0,0 +1,42 @@
+Fix test failures induced by setting the SOURCE_DATE_EPOCH variable.
+
+Taken from upstream: <https://github.com/p11-glue/p11-kit/pull/213>.
+
+From 2a474e1fe8f4bd8b4ed7622e5cf3b2718a202562 Mon Sep 17 00:00:00 2001
+From: Daiki Ueno <dueno@redhat.com>
+Date: Mon, 28 Jan 2019 13:03:15 +0100
+Subject: [PATCH] extract-jks: Prefer _p11_extract_jks_timestamp to
+ SOURCE_DATE_EPOCH
+
+Give _p11_extract_jks_timestamp precedence over SOURCE_DATE_EPOCH so
+that the test results are not affected by the envvar settings.
+---
+ trust/extract-jks.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/trust/extract-jks.c b/trust/extract-jks.c
+index ad8dc35..a6f855f 100644
+--- a/trust/extract-jks.c
++++ b/trust/extract-jks.c
+@@ -250,7 +250,9 @@ prepare_jks_buffer (p11_enumerate *ex,
+ * when this was this certificate was added to the keystore, however
+ * we don't have that information. Java uses time in milliseconds
+ */
+- {
++ if (_p11_extract_jks_timestamp)
++ now = _p11_extract_jks_timestamp;
++ else {
+ char *source_date_epoch;
+ source_date_epoch = secure_getenv ("SOURCE_DATE_EPOCH");
+ if (source_date_epoch) {
+@@ -276,9 +278,7 @@ prepare_jks_buffer (p11_enumerate *ex,
+ return false;
+ }
+ now = epoch;
+- } else if (_p11_extract_jks_timestamp)
+- now = _p11_extract_jks_timestamp;
+- else
++ } else
+ now = time (NULL);
+ }
+
diff --git a/gnu/packages/patches/qemu-CVE-2018-16872.patch b/gnu/packages/patches/qemu-CVE-2018-16872.patch
new file mode 100644
index 0000000000..094e823ee4
--- /dev/null
+++ b/gnu/packages/patches/qemu-CVE-2018-16872.patch
@@ -0,0 +1,88 @@
+Fixes CVE-2018-16872:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16872
+
+Patch copied from upstream source repository:
+
+https://git.qemu.org/?p=qemu.git;a=commitdiff;h=bab9df35ce73d1c8e19a37e2737717ea1c984dc1
+
+From bab9df35ce73d1c8e19a37e2737717ea1c984dc1 Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kraxel@redhat.com>
+Date: Thu, 13 Dec 2018 13:25:11 +0100
+Subject: [PATCH] usb-mtp: use O_NOFOLLOW and O_CLOEXEC.
+
+Open files and directories with O_NOFOLLOW to avoid symlinks attacks.
+While being at it also add O_CLOEXEC.
+
+usb-mtp only handles regular files and directories and ignores
+everything else, so users should not see a difference.
+
+Because qemu ignores symlinks, carrying out a successful symlink attack
+requires swapping an existing file or directory below rootdir for a
+symlink and winning the race against the inotify notification to qemu.
+
+Fixes: CVE-2018-16872
+Cc: Prasad J Pandit <ppandit@redhat.com>
+Cc: Bandan Das <bsd@redhat.com>
+Reported-by: Michael Hanselmann <public@hansmi.ch>
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+Reviewed-by: Michael Hanselmann <public@hansmi.ch>
+Message-id: 20181213122511.13853-1-kraxel@redhat.com
+---
+ hw/usb/dev-mtp.c | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
+index 100b7171f4..36c43b8c20 100644
+--- a/hw/usb/dev-mtp.c
++++ b/hw/usb/dev-mtp.c
+@@ -653,13 +653,18 @@ static void usb_mtp_object_readdir(MTPState *s, MTPObject *o)
+ {
+ struct dirent *entry;
+ DIR *dir;
++ int fd;
+
+ if (o->have_children) {
+ return;
+ }
+ o->have_children = true;
+
+- dir = opendir(o->path);
++ fd = open(o->path, O_DIRECTORY | O_CLOEXEC | O_NOFOLLOW);
++ if (fd < 0) {
++ return;
++ }
++ dir = fdopendir(fd);
+ if (!dir) {
+ return;
+ }
+@@ -1007,7 +1012,7 @@ static MTPData *usb_mtp_get_object(MTPState *s, MTPControl *c,
+
+ trace_usb_mtp_op_get_object(s->dev.addr, o->handle, o->path);
+
+- d->fd = open(o->path, O_RDONLY);
++ d->fd = open(o->path, O_RDONLY | O_CLOEXEC | O_NOFOLLOW);
+ if (d->fd == -1) {
+ usb_mtp_data_free(d);
+ return NULL;
+@@ -1031,7 +1036,7 @@ static MTPData *usb_mtp_get_partial_object(MTPState *s, MTPControl *c,
+ c->argv[1], c->argv[2]);
+
+ d = usb_mtp_data_alloc(c);
+- d->fd = open(o->path, O_RDONLY);
++ d->fd = open(o->path, O_RDONLY | O_CLOEXEC | O_NOFOLLOW);
+ if (d->fd == -1) {
+ usb_mtp_data_free(d);
+ return NULL;
+@@ -1658,7 +1663,7 @@ static void usb_mtp_write_data(MTPState *s)
+ 0, 0, 0, 0);
+ goto done;
+ }
+- d->fd = open(path, O_CREAT | O_WRONLY, mask);
++ d->fd = open(path, O_CREAT | O_WRONLY | O_CLOEXEC | O_NOFOLLOW, mask);
+ if (d->fd == -1) {
+ usb_mtp_queue_result(s, RES_STORE_FULL, d->trans,
+ 0, 0, 0, 0);
+--
+2.20.1
+
diff --git a/gnu/packages/patches/qemu-CVE-2019-6778.patch b/gnu/packages/patches/qemu-CVE-2019-6778.patch
new file mode 100644
index 0000000000..315f2922da
--- /dev/null
+++ b/gnu/packages/patches/qemu-CVE-2019-6778.patch
@@ -0,0 +1,43 @@
+Fixes CVE-2019-6778:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6778
+
+Patch copied from upstream source repository:
+
+https://git.qemu.org/?p=qemu.git;a=commitdiff;h=a7104eda7dab99d0cdbd3595c211864cba415905
+
+From a7104eda7dab99d0cdbd3595c211864cba415905 Mon Sep 17 00:00:00 2001
+From: Prasad J Pandit <pjp@fedoraproject.org>
+Date: Sun, 13 Jan 2019 23:29:48 +0530
+Subject: [PATCH] slirp: check data length while emulating ident function
+
+While emulating identification protocol, tcp_emu() does not check
+available space in the 'sc_rcv->sb_data' buffer. It could lead to
+heap buffer overflow issue. Add check to avoid it.
+
+Reported-by: Kira <864786842@qq.com>
+Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
+Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
+---
+ slirp/tcp_subr.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c
+index 4a9a5b5edc..23a841f26e 100644
+--- a/slirp/tcp_subr.c
++++ b/slirp/tcp_subr.c
+@@ -634,6 +634,11 @@ tcp_emu(struct socket *so, struct mbuf *m)
+ socklen_t addrlen = sizeof(struct sockaddr_in);
+ struct sbuf *so_rcv = &so->so_rcv;
+
++ if (m->m_len > so_rcv->sb_datalen
++ - (so_rcv->sb_wptr - so_rcv->sb_data)) {
++ return 1;
++ }
++
+ memcpy(so_rcv->sb_wptr, m->m_data, m->m_len);
+ so_rcv->sb_wptr += m->m_len;
+ so_rcv->sb_rptr += m->m_len;
+--
+2.20.1
+
diff --git a/gnu/packages/patches/scotch-graph-diam-64.patch b/gnu/packages/patches/scotch-graph-diam-64.patch
deleted file mode 100644
index 2ae31e3c3b..0000000000
--- a/gnu/packages/patches/scotch-graph-diam-64.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Fixes test_scotch_graph_diam test with -DINTSIZE64.
-
-Reported upstream at
-https://gforge.inria.fr/tracker/index.php?func=detail&aid=21650&group_id=248&atid=1081
-
---- scotch-6.0.5a/src/libscotch/library.h
-+++ scotch-6.0.5a/src/libscotch/library.h
-@@ -187,6 +187,7 @@ SCOTCH_Num SCOTCH_graphBase (SCOTCH_Graph * const, const SCO
- int SCOTCH_graphCheck (const SCOTCH_Graph * const);
- void SCOTCH_graphSize (const SCOTCH_Graph * const, SCOTCH_Num * const, SCOTCH_Num * const);
- void SCOTCH_graphData (const SCOTCH_Graph * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num ** const, SCOTCH_Num ** const, SCOTCH_Num ** const, SCOTCH_Num ** const, SCOTCH_Num * const, SCOTCH_Num ** const, SCOTCH_Num ** const);
-+SCOTCH_Num SCOTCH_graphDiamPV (SCOTCH_Graph * const);
- void SCOTCH_graphStat (const SCOTCH_Graph * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, double * const, double * const, SCOTCH_Num * const, SCOTCH_Num * const, double * const, double * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, double * const, double * const);
- int SCOTCH_graphCoarsen (const SCOTCH_Graph * const, const SCOTCH_Num, const double, const SCOTCH_Num, SCOTCH_Graph * const, SCOTCH_Num * const);
- int SCOTCH_graphCoarsenMatch (const SCOTCH_Graph * const, SCOTCH_Num * const, const double, const SCOTCH_Num, SCOTCH_Num * const);
---- scotch-6.0.5a/src/libscotch/library_graph_diam.c
-+++ scotch-6.0.5a/src/libscotch/library_graph_diam.c
-@@ -72,8 +72,7 @@
-
- SCOTCH_Num
- SCOTCH_graphDiamPV (
--SCOTCH_Graph * const grafptr,
--const SCOTCH_Num baseval)
-+SCOTCH_Graph * const grafptr)
- {
- return ((SCOTCH_Num) graphDiamPV ((Graph * const) grafptr));
- }
diff --git a/gnu/packages/patches/scotch-graph-induce-type-64.patch b/gnu/packages/patches/scotch-graph-induce-type-64.patch
deleted file mode 100644
index d2eee52a7b..0000000000
--- a/gnu/packages/patches/scotch-graph-induce-type-64.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Fixes return type of SCOTCH_graphInduceList and SCOTCH_graphInducePart
-so that the definition matches with -DINTSIZE64.
-
-Reported upstream at
-https://gforge.inria.fr/tracker/index.php?func=detail&aid=21608&group_id=248&atid=1081
-
---- scotch_6.0.5a/src/libscotch/library.h.orig 2018-02-11 10:52:38.000000000 -0600
-+++ scotch_6.0.5a/src/libscotch/library.h 2018-02-23 16:56:41.000000000 -0600
-@@ -199,8 +199,8 @@
- int SCOTCH_graphGeomSaveChac (const SCOTCH_Graph * const, const SCOTCH_Geom * const, FILE * const, FILE * const, const char * const);
- int SCOTCH_graphGeomSaveMmkt (const SCOTCH_Graph * const, const SCOTCH_Geom * const, FILE * const, FILE * const, const char * const);
- int SCOTCH_graphGeomSaveScot (const SCOTCH_Graph * const, const SCOTCH_Geom * const, FILE * const, FILE * const, const char * const);
--int SCOTCH_graphInduceList (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_Num * const, SCOTCH_Graph * const);
--int SCOTCH_graphInducePart (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_GraphPart2 * const, const SCOTCH_GraphPart2, SCOTCH_Graph * const);
-+SCOTCH_Num SCOTCH_graphInduceList (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_Num * const, SCOTCH_Graph * const);
-+SCOTCH_Num SCOTCH_graphInducePart (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_GraphPart2 * const, const SCOTCH_GraphPart2, SCOTCH_Graph * const);
-
- int SCOTCH_graphMapInit (const SCOTCH_Graph * const, SCOTCH_Mapping * const, const SCOTCH_Arch * const, SCOTCH_Num * const);
- void SCOTCH_graphMapExit (const SCOTCH_Graph * const, SCOTCH_Mapping * const);
diff --git a/gnu/packages/patches/scotch-integer-declarations.patch b/gnu/packages/patches/scotch-integer-declarations.patch
new file mode 100644
index 0000000000..978625c1c0
--- /dev/null
+++ b/gnu/packages/patches/scotch-integer-declarations.patch
@@ -0,0 +1,37 @@
+diff --git a/src/libscotch/library.h b/src/libscotch/library.h
+index 1891c19..ecc0533 100644
+--- a/src/libscotch/library.h
++++ b/src/libscotch/library.h
+@@ -67,6 +67,8 @@
+
+ /*+ Integer type. +*/
+
++#include <stdint.h>
++
+ typedef DUMMYIDX SCOTCH_Idx;
+
+ typedef DUMMYINT SCOTCH_Num;
+diff --git a/src/libscotchmetis/library_metis.h b/src/libscotchmetis/library_metis.h
+index e6767e1..04e71c3 100644
+--- a/src/libscotchmetis/library_metis.h
++++ b/src/libscotchmetis/library_metis.h
+@@ -99,6 +99,7 @@ typedef enum {
+ */
+
+ #ifndef SCOTCH_H /* In case "scotch.h" not included before */
++#include <stdint.h>
+ typedef DUMMYINT SCOTCH_Num;
+ #endif /* SCOTCH_H */
+
+diff --git a/src/libscotchmetis/library_parmetis.h b/src/libscotchmetis/library_parmetis.h
+index 6d2f0b0..3c803fc 100644
+--- a/src/libscotchmetis/library_parmetis.h
++++ b/src/libscotchmetis/library_parmetis.h
+@@ -106,6 +106,7 @@ typedef enum {
+ */
+
+ #ifndef SCOTCH_H /* In case "scotch.h" not included before */
++#include <stdint.h>
+ typedef DUMMYINT SCOTCH_Num;
+ #endif /* SCOTCH_H */
+
diff --git a/gnu/packages/patches/scotch-test-threading.patch b/gnu/packages/patches/scotch-test-threading.patch
deleted file mode 100644
index de8cc49c41..0000000000
--- a/gnu/packages/patches/scotch-test-threading.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Fix this test so that it succeeds when the library is not compiled with
-SCOTCH_PTHREAD.
-
---- scotch_6.0.4/src/check/test_common_thread.c 2014-09-28 11:39:59.000000000 -0500
-+++ scotch_6.0.4/src/check/test_common_thread.c 2015-01-10 00:52:00.076229542 -0600
-@@ -175,14 +175,14 @@
- char * argv[])
- {
- TestThreadGroup groudat;
--#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD))
-+#if ((defined COMMON_PTHREAD) && (defined SCOTCH_PTHREAD))
- TestThread * restrict thrdtab;
- int thrdnbr;
- #endif /* ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD)) */
-
- SCOTCH_errorProg (argv[0]);
-
--#if ((defined COMMON_PTHREAD) || (defined SCOTCH_PTHREAD))
-+#if ((defined COMMON_PTHREAD) && (defined SCOTCH_PTHREAD))
- thrdnbr = SCOTCH_PTHREAD_NUMBER;
-
- groudat.redusum = COMPVAL (thrdnbr);
diff --git a/gnu/packages/patches/superlu-dist-awpm-grid.patch b/gnu/packages/patches/superlu-dist-awpm-grid.patch
new file mode 100644
index 0000000000..d6cb8e521d
--- /dev/null
+++ b/gnu/packages/patches/superlu-dist-awpm-grid.patch
@@ -0,0 +1,36 @@
+Create the CombBLAS::SpParMat with the MPI_Comm from the input 'gridinfo_t'.
+This prevents a warning/error from CombBLAS about using MPI_COMM_WORLD.
+
+--- a/SRC/AWPM_CombBLAS.hpp
++++ b/SRC/AWPM_CombBLAS.hpp
+@@ -52,7 +52,7 @@
+ {
+ printf("AWPM only supports square process grid. Retuning without a permutation.\n");
+ }
+- combblas::SpParMat < int_t, double, combblas::SpDCCols<int_t,double> > Adcsc;
++ combblas::SpParMat < int_t, double, combblas::SpDCCols<int_t,double> > Adcsc(grid->comm);
+ std::vector< std::vector < std::tuple<int_t,int_t,double> > > data(procs);
+
+ /* ------------------------------------------------------------
+@@ -100,11 +100,10 @@
+ combblas::AWPM(Adcsc, mateRow2Col, mateCol2Row,true);
+
+ // now gather the matching vector
+- MPI_Comm World = mateRow2Col.getcommgrid()->GetWorld();
+ int * rdispls = new int[procs];
+ int sendcnt = mateRow2Col.LocArrSize();
+ int * recvcnt = new int[procs];
+- MPI_Allgather(&sendcnt, 1, MPI_INT, recvcnt, 1, MPI_INT, World);
++ MPI_Allgather(&sendcnt, 1, MPI_INT, recvcnt, 1, MPI_INT, grid->comm);
+ rdispls[0] = 0;
+ for(int i=0; i<procs-1; ++i)
+ {
+@@ -112,7 +111,7 @@
+ }
+ int_t *senddata = (int_t *)mateRow2Col.GetLocArr();
+
+- MPI_Allgatherv(senddata, sendcnt, combblas::MPIType<int_t>(), ScalePermstruct->perm_r, recvcnt, rdispls, combblas::MPIType<int_t>(), World);
++ MPI_Allgatherv(senddata, sendcnt, combblas::MPIType<int_t>(), ScalePermstruct->perm_r, recvcnt, rdispls, combblas::MPIType<int_t>(), grid->comm);
+
+ delete[] rdispls;
+ delete[] recvcnt;
diff --git a/gnu/packages/patches/x265-detect512-all-arches.patch b/gnu/packages/patches/x265-detect512-all-arches.patch
deleted file mode 100644
index 4d39d868fd..0000000000
--- a/gnu/packages/patches/x265-detect512-all-arches.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-https://sources.debian.org/data/main/x/x265/2.9-3/debian/patches/0003-detect512-is-needed-on-all-architectures.patch
-
-From: Adam Sampson <unknown@bitbucket>
-Date: Sun, 14 Oct 2018 14:04:18 +0200
-Subject: detect512 is needed on all architectures
-
----
- source/common/cpu.cpp | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/source/common/cpu.cpp b/source/common/cpu.cpp
-index 0681ff5..fa687da 100644
---- a/source/common/cpu.cpp
-+++ b/source/common/cpu.cpp
-@@ -110,6 +110,11 @@ const cpu_name_t cpu_names[] =
- { "", 0 },
- };
-
-+bool detect512()
-+{
-+ return(enable512);
-+}
-+
- #if X265_ARCH_X86
-
- extern "C" {
-@@ -123,10 +128,6 @@ uint64_t PFX(cpu_xgetbv)(int xcr);
- #pragma warning(disable: 4309) // truncation of constant value
- #endif
-
--bool detect512()
--{
-- return(enable512);
--}
- uint32_t cpu_detect(bool benableavx512 )
- {
-
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 377ec53d26..077330e54a 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -77,14 +77,14 @@ with what is used by the Bitcoin network.")
(define-public python-bcrypt
(package
(name "python-bcrypt")
- (version "3.1.4")
+ (version "3.1.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bcrypt" version))
(sha256
(base32
- "13cyrnqwkhc70rs6dg65z4yrrr3dc42fhk11804fqmci9hvimvb7"))))
+ "1sh2xh0iragdq8dhssc1cdd02nppjq7b5kmv0qladfi2s9cnfqs4"))))
(build-system python-build-system)
(native-inputs
`(("python-pycparser" ,python-pycparser)
@@ -148,10 +148,7 @@ to providing full-strength password hashing for multi-user application.")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/p/py-bcrypt/py-bcrypt-"
- version
- ".tar.gz"))
+ (uri (pypi-uri "py-bcrypt" version))
(sha256
(base32
"0y6smdggwi5s72v6p1nn53dg6w05hna3d264cq6kas0lap73p8az"))))
@@ -240,10 +237,7 @@ Python interface around SSH networking concepts.")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/e/ecdsa/ecdsa-"
- version
- ".tar.gz"))
+ (uri (pypi-uri "ecdsa" version))
(sha256
(base32
"1yj31j0asmrx4an9xvsaj2icdmzy6pw0glfpqrrkrphwdpi1xkv4"))))
@@ -322,11 +316,11 @@ etc.). The package is structured to make adding new modules easy.")
"0482rmi2x6p78wl2kz8qzyq21xz1sbbfwnv5x7dggar4vkwxhzfx"))))
(build-system python-build-system)
(native-inputs
- `(("python-setuptools-scm" ,python-setuptools-scm)))
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-runner" ,python-pytest-runner)
+ ("python-setuptools-scm" ,python-setuptools-scm)))
(propagated-inputs
`(("python-pycrypto" ,python-pycrypto)))
- (arguments
- `(#:tests? #f)) ;TODO: tests require pytest
(home-page "https://github.com/jaraco/keyring")
(synopsis "Store and access your passwords safely")
(description
@@ -363,14 +357,14 @@ is used by the Requests library to verify HTTPS requests.")
(define-public python-cryptography-vectors
(package
(name "python-cryptography-vectors")
- (version "2.4.2")
+ (version "2.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cryptography_vectors" version))
(sha256
(base32
- "013qx2hz0jv79yzfzpn0r2kk33i5qy3sdnzgwiv5779d18snblwi"))))
+ "15qfl3pnw2f11r0z0zhwl56f6pb60ysav8fxmpnz5p80cfwljdik"))))
(build-system python-build-system)
(home-page "https://github.com/pyca/cryptography")
(synopsis "Test vectors for the cryptography package")
@@ -385,14 +379,14 @@ is used by the Requests library to verify HTTPS requests.")
(define-public python-cryptography
(package
(name "python-cryptography")
- (version "2.4.2")
+ (version "2.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cryptography" version))
(sha256
(base32
- "1pc60dksi9w9mshl6cvn7gdjazbp3pmydy3qp9wgy5wzd8n0b9h5"))))
+ "00c4d7gvsymlaw0r13zrm32dcnarmpayjyrh65yymlmr6mrbcij9"))))
(build-system python-build-system)
(inputs
`(("openssl" ,openssl)))
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index cee4973086..97b1f06611 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -665,13 +665,14 @@ teams extension for python-openid.")
(define-public python-tornado
(package
(name "python-tornado")
- (version "4.5.1")
+ (version "5.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tornado" version))
(sha256
- (base32 "1zbkgcdfq81k298awrm8p0xwbwwn2p3nbizdglzfbkskhai082fv"))))
+ (base32
+ "02clqk2116jbnq8lnaqmdw3p52nqrd9ib59r4xz2ll43fpcmhlaf"))))
(build-system python-build-system)
(arguments
'(;; FIXME: Two tests error out with:
@@ -682,14 +683,12 @@ teams extension for python-openid.")
;; (lambda _
;; ;; 'setup.py test' hits an AssertionError on BSD-specific
;; ;; "tornado/platform/kqueue.py". This is the supported method:
- ;; (invoke- "python" "-m" "tornado.test")
+ ;; (invoke "python" "-m" "tornado.test.runtests")
;; #t)))
#:tests? #f))
(native-inputs
`(("python-certifi" ,python-certifi)))
- (propagated-inputs
- `(("python-backports-abc" ,python-backports-abc)))
- (home-page "http://www.tornadoweb.org/")
+ (home-page "https://www.tornadoweb.org/")
(synopsis "Python web framework and asynchronous networking library")
(description
"Tornado is a Python web framework and asynchronous networking library,
@@ -706,6 +705,7 @@ connection to each user.")
(propagated-inputs
`(("python2-backport-ssl-match-hostname"
,python2-backport-ssl-match-hostname)
+ ("python2-backports-abc" ,python2-backports-abc)
("python2-singledispatch" ,python2-singledispatch)
,@(package-propagated-inputs tornado))))))
@@ -775,10 +775,7 @@ term.js Javascript terminal emulator library.")
(version "1.2.2")
(source (origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/"
- "38/76/ebcbc24d0cb77db34520a3ca6ed1bd43ace17d182bbd8dd7d976f1c176fb/"
- "wsgi_intercept-" version ".tar.gz"))
+ (uri (pypi-uri "wsgi_intercept" version))
(sha256
(base32
"0kjj2v2dvmnpdd5h5gk9rzz0f54rhjb0yiz3zg65bmp65slfw65d"))))
@@ -832,8 +829,7 @@ object to help create WSGI responses.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/z"
- "/zope.event/zope.event-" version ".tar.gz"))
+ (uri (pypi-uri "zope.event" version))
(sha256
(base32
"11p75zpfz3ffhz21nzx9wb23xs993ck5s6hkjcvhswwizni5jynw"))))
@@ -856,8 +852,7 @@ dispatching systems can be built.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/z"
- "/zope.interface/zope.interface-" version ".tar.gz"))
+ (uri (pypi-uri "zope.interface" version))
(sha256
(base32
"0ks8h73b2g4bkad821qbv0wzjppdrwys33i7ka45ik3wxjg1l8if"))))
@@ -882,9 +877,7 @@ conforming to a given API or contract.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/z"
- "/zope.exceptions/zope.exceptions-"
- version ".tar.gz"))
+ (uri (pypi-uri "zope.exceptions" version))
(sha256
(base32
"0zwxaaa66sqxg5k7zcrvs0fbg9ym1njnxnr28dfmchzhwjvwnfzl"))))
@@ -936,9 +929,7 @@ forms, HTTP servers, regular expressions, and more.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/z"
- "/zope.testrunner/zope.testrunner-"
- version ".zip"))
+ (uri (pypi-uri "zope.testrunner" version ".zip"))
(sha256
(base32
"1r7iqknhh55y45f64mz5hghgvzx34h1i11k350s0avx6q8gznja1"))))
@@ -975,10 +966,7 @@ tests.")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/z"
- "/zope.i18nmessageid/zope.i18nmessageid-"
- version ".tar.gz"))
+ (uri (pypi-uri "zope.i18nmessageid" version))
(sha256
(base32
"1rslyph0klk58dmjjy4j0jxy21k03azksixc3x2xhqbkv97cmzml"))))
@@ -999,8 +987,7 @@ internationalized messages within program source text.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/z"
- "/zope.schema/zope.schema-" version ".tar.gz"))
+ (uri (pypi-uri "zope.schema" version))
(sha256
(base32
"1p943jdxb587dh7php4vx04qvn7b2877hr4qs5zyckvp5afhhank"))))
@@ -1030,9 +1017,7 @@ defining data schemas.")
(version "4.0.3")
(source (origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/z"
- "/zope.configuration/zope.configuration-"
- version ".tar.gz"))
+ (uri (pypi-uri "zope.configuration" version))
(sha256
(base32
"1x9dfqypgympnlm25p9m43xh4qv3p7d75vksv9pzqibrb4cggw5n"))))
@@ -1058,8 +1043,7 @@ Markup Language.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/z"
- "/zope.proxy/zope.proxy-" version ".tar.gz"))
+ (uri (pypi-uri "zope.proxy" version))
(sha256
(base32
"0pqwwmvm1prhwv1ziv9lp8iirz7xkwb6n2kyj36p2h0ppyyhjnm4"))))
@@ -1087,8 +1071,7 @@ brokering, etc.) for which the proxy is responsible.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/z"
- "/zope.location/zope.location-" version ".tar.gz"))
+ (uri (pypi-uri "zope.location" version))
(sha256
(base32
"1nj9da4ksiyv3h8n2vpzwd0pb03mdsh7zy87hfpx72b6p2zcwg74"))))
@@ -1114,8 +1097,7 @@ Zope3, which are are special objects that have a structural location.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/z"
- "/zope.security/zope.security-" version ".tar.gz"))
+ (uri (pypi-uri "zope.security" version))
(sha256
(base32
"14zmf684amc0x32kq05yxnhfqd1cmyhafkw05gn81rn90zjv6ssy"))))
@@ -1416,29 +1398,30 @@ authenticated session objects providing things like keep-alive.")
(define-public python-urllib3
(package
(name "python-urllib3")
- (version "1.23")
+ (version "1.24.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "urllib3" version))
(sha256
(base32
- "1bvbd35q3zdcd7gsv38fwpizy7p06dr0154g5gfybrvnbvhwb2m6"))))
+ "08lwd9f3hqznyf32vnzwvp87pchx062nkbgyrf67rwlkgj0jk5fy"))))
(build-system python-build-system)
(arguments `(#:tests? #f))
(native-inputs
`(;; some packages for tests
- ("python-nose" ,python-nose)
("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)
("python-tornado" ,python-tornado)))
(propagated-inputs
`(;; These 5 inputs are used to build urrlib3[secure]
("python-certifi" ,python-certifi)
- ("python-cryptography" ,python-cryptography) ;
+ ("python-cryptography" ,python-cryptography)
("python-idna" ,python-idna)
("python-ipaddress" ,python-ipaddress)
- ("python-pyopenssl" ,python-pyopenssl)))
- (home-page "https://urllib3.readthedocs.org/")
+ ("python-pyopenssl" ,python-pyopenssl)
+ ("python-pysocks" ,python-pysocks)))
+ (home-page "https://urllib3.readthedocs.io/")
(synopsis "HTTP library with thread-safe connection pooling")
(description
"Urllib3 supports features left out of urllib and urllib2 libraries. It
@@ -1583,20 +1566,28 @@ minimum of WSGI.")
(define-public python-flask
(package
(name "python-flask")
- (version "0.11.1")
+ (version "1.0.2")
(source (origin
(method url-fetch)
- (uri (pypi-uri "Flask" version))
+ (uri (pypi-uri "flask" version))
(sha256
(base32
- "03kbfll4sj3v5z7r31c7bhfpi11r1np076d4p1k2kg4yzcmkywdl"))))
+ "0j6f4a9rpfh25k1gp7azqhnni4mb4fgy50jammgjgddw1l3w0w92"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "python" "-m" "pytest"))))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-itsdangerous" ,python-itsdangerous)
("python-jinja2" ,python-jinja2)
("python-click" ,python-click)
("python-werkzeug" ,python-werkzeug)))
- (home-page "https://github.com/mitsuhiko/flask/")
+ (home-page "https://www.palletsprojects.com/p/flask/")
(synopsis "Microframework based on Werkzeug, Jinja2 and good intentions")
(description "Flask is a micro web framework based on the Werkzeug toolkit
and Jinja2 template engine. It is called a micro framework because it does not
@@ -2025,14 +2016,14 @@ pretty printer and a tree visitor.")
(define-public python-flask-restful
(package
(name "python-flask-restful")
- (version "0.3.5")
+ (version "0.3.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Flask-RESTful" version))
(sha256
- (base32
- "0hjcmdb56b7z4bkw848lxfkyrpnkwzmqn2dgnlv12mwvjpzsxr6c"))))
+ (base32
+ "1a9cbwkr6krryyzq4sd3f415nkkc6dyfls5i3pgyibs94g0hw97q"))))
(build-system python-build-system)
(propagated-inputs
`(("python-aniso8601" ,python-aniso8601)
@@ -2603,18 +2594,28 @@ List. Forked from and using the same API as the publicsuffix package.")
(define-public python-werkzeug
(package
(name "python-werkzeug")
- (version "0.11.15")
+ (version "0.14.1")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "Werkzeug" version))
+ (uri (pypi-uri "werkzeug" version))
(sha256
(base32
- "1h5wycw8yj7q0grqsjnsqflmrlsdagvl2j4dsgdncci6mjc7fpa5"))))
+ "0z2m4snn1vc9518r2vzgdj1nc90kcgi60wijvd29yvcp85ypmzf3"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (invoke "python" "-m" "pytest"))))))
+ (propagated-inputs
+ `(("python-requests" ,python-requests)))
(native-inputs
`(("python-pytest" ,python-pytest)))
- (home-page "http://werkzeug.pocoo.org/")
+ (home-page "https://www.palletsprojects.org/p/werkzeug/")
(synopsis "Utilities for WSGI applications")
(description "One of the most advanced WSGI utility modules. It includes a
powerful debugger, full-featured request and response objects, HTTP utilities to
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 2294b59f33..992a750911 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -321,10 +321,7 @@ etc. ")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/b/"
- "backports.ssl_match_hostname/backports.ssl_match_hostname-"
- version ".tar.gz"))
+ (uri (pypi-uri "backports.ssl_match_hostname" version))
(sha256
(base32
"1wndipik52cyqy0677zdgp90i435pmvwd89cz98lm7ri0y3xjajh"))))
@@ -531,8 +528,7 @@ to users of that module.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/l/lockfile/"
- "lockfile-" version ".tar.gz"))
+ (uri (pypi-uri "lockfile" version))
(sha256
(base32
"16gpx5hm73ah5n1079ng0vy381hl802v606npkx4x8nb0gg05vba"))))
@@ -1002,8 +998,7 @@ doing practical, real world data analysis in Python.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/m/mechanize/mechanize-"
- version ".tar.gz"))
+ (uri (pypi-uri "mechanize" version))
(sha256
(base32
"0rj7r166i1dyrq0ihm5rijfmvhs8a04im28lv05c0c3v206v4rrf"))))
@@ -1342,18 +1337,30 @@ existing ones.")
(define-public scons
(package
(name "scons")
- (version "3.0.1")
+ (version "3.0.3")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/scons/scons/" version
- "/scons-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SCons/scons.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0wzid419mlwqw9llrg8gsx4nkzhqy16m4m40r0xnh6cwscw5wir4"))))
+ "1xizkjgrvydkjhpv7i5rx0mdkp3618sis7jsckjh57nxcynlk5dc"))))
(build-system python-build-system)
(arguments
`(#:use-setuptools? #f ; still relies on distutils
- #:tests? #f)) ; no 'python setup.py test' command
+ #:tests? #f ; no 'python setup.py test' command
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'bootstrap
+ (lambda _
+ (substitute* "src/engine/SCons/compat/__init__.py"
+ (("sys.modules\\[new\\] = imp.load_module\\(old, \\*imp.find_module\\(old\\)\\)")
+ "sys.modules[new] = __import__(old)"))
+ (invoke "python" "bootstrap.py" "build/scons" "DEVELOPER=guix")
+ (chdir "build/scons")
+ #t)))))
(home-page "http://scons.org/")
(synopsis "Software construction tool written in Python")
(description
@@ -1400,9 +1407,7 @@ software.")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/p/python-mimeparse/python-mimeparse-"
- version ".tar.gz"))
+ (uri (pypi-uri "python-mimeparse" version))
(sha256
(base32
"0y2g6cl660bpz11srgqyvvm8gmywpgyx8g0xfvbiyr0af0yv1r3n"))))
@@ -1638,20 +1643,17 @@ files.")
(define-public python-click
(package
(name "python-click")
- (version "6.7")
+ (version "7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "click" version))
(sha256
(base32
- "02qkfpykbq35id8glfgwc38yc430427yd05z1wc5cnld8zgicmgi"))))
+ "1mzjixd4vjbjvzb6vylki9w1556a9qmdh35kzmq6cign46av952v"))))
(build-system python-build-system)
(arguments
- `(;; The tests are fragile, depending on a specific version of pytest:
- ;; <https://github.com/pallets/click/issues/823>
- #:tests? #f
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
@@ -1660,10 +1662,13 @@ files.")
(substitute* "click/_unicodefun.py"
(("'locale'")
(string-append "'" glibc "/bin/locale'"))))
- #t)))))
+ #t))
+ (replace 'check
+ (lambda _
+ (invoke "python" "-m" "pytest"))))))
(native-inputs
`(("python-pytest" ,python-pytest)))
- (home-page "http://click.pocoo.org")
+ (home-page "https://palletsprojects.com/p/click/")
(synopsis "Command line library for Python")
(description
"Click is a Python package for creating command line interfaces in a
@@ -1738,10 +1743,7 @@ version numbers.")
(version "2.6.0")
(source (origin
(method url-fetch)
- (uri
- (string-append
- "https://pypi.python.org/packages/source/j/jsonschema/jsonschema-"
- version ".tar.gz"))
+ (uri (pypi-uri "jsonschema" version))
(sha256
(base32
"00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg"))))
@@ -1961,18 +1963,16 @@ visualisation and class tracker statistics.")
(define-public python-itsdangerous
(package
(name "python-itsdangerous")
- (version "0.24")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/i/itsdangerous/itsdangerous-"
- version ".tar.gz"))
+ (uri (pypi-uri "itsdangerous" version))
(sha256
(base32
- "06856q6x675ly542ig0plbqcyab6ksfzijlyf1hzhgg3sgwgrcyb"))))
+ "068zpbksq5q2z4dckh2k1zbcq43ay74ylqn77rni797j0wyh66rj"))))
(build-system python-build-system)
- (home-page "https://github.com/mitsuhiko/itsdangerous")
+ (home-page "https://palletsprojects.com/p/itsdangerous/")
(synopsis "Python library for passing data to/from untrusted environments")
(description
"Itsdangerous provides various helpers to pass trusted data to untrusted
@@ -2074,9 +2074,7 @@ e.g. filters, callbacks and errbacks can all be promises.")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-"
- version ".tar.gz"))
+ (uri (pypi-uri "MarkupSafe" version))
(sha256
(base32
"0rdn1s8x9ni7ss8rfiacj7x1085lx8mh2zdwqslnw8xc3l4nkgm6"))))
@@ -4326,8 +4324,7 @@ common operations on files to be invoked on those path objects directly.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/s/"
- "simplegeneric/simplegeneric-" version ".zip"))
+ (uri (pypi-uri "simplegeneric" version ".zip"))
(sha256
(base32 "0wwi1c6md4vkbcsfsf8dklf3vr4mcdj4mpxkanwgb6jb1432x5yw"))))
(build-system python-build-system)
@@ -4355,9 +4352,7 @@ standard library.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/i/"
- "ipython_genutils/ipython_genutils-"
- version ".tar.gz"))
+ (uri (pypi-uri "ipython_genutils" version))
(sha256
(base32 "19l2pp1c64ansr89l3cqh19jdi2ixhssdzx0vz4n6r52a6i281is"))))
(build-system python-build-system)
@@ -5537,15 +5532,12 @@ complexity of Python source code.")
(package (inherit python-pep8)
(version "1.5.7")
(source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/p/pep8/pep8-"
- version
- ".tar.gz"))
- (sha256
- (base32
- "12b9bbdbwnspxgak14xg58c130x2n0blxzlms5jn2dszn8qj3d0m"))))
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pep8" version))
+ (sha256
+ (base32
+ "12b9bbdbwnspxgak14xg58c130x2n0blxzlms5jn2dszn8qj3d0m"))))
(arguments
;; XXX Tests not compatible with Python 3.5.
'(#:tests? #f))))
@@ -5559,15 +5551,12 @@ complexity of Python source code.")
(package (inherit python-pyflakes)
(version "0.8.1")
(source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/p/pyflakes/pyflakes-"
- version
- ".tar.gz"))
- (sha256
- (base32
- "0sbpq6pqm1i9wqi41mlfrsc5rk92jv4mskvlyxmnhlbdnc80ma1z"))))
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyflakes" version))
+ (sha256
+ (base32
+ "0sbpq6pqm1i9wqi41mlfrsc5rk92jv4mskvlyxmnhlbdnc80ma1z"))))
(arguments
;; XXX Tests not compatible with Python 3.5.
'(#:tests? #f))))
@@ -6149,9 +6138,7 @@ Unicode-aware. It is not intended as an end-user tool.")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/P/PrettyTable/"
- "prettytable-" version ".tar.bz2"))
+ (uri (pypi-uri "prettytable" version ".tar.bz2"))
(sha256
(base32
"0diwsicwmiq2cpzpxri7cyl5fmsvicafw6nfqf6p6p322dji2g45"))))
@@ -6383,8 +6370,7 @@ domains support.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://pypi.python.org/packages/source/p/"
- "pretend/pretend-" version ".tar.gz"))
+ (uri (pypi-uri "pretend" version))
(sha256
(base32
"040vm94lcbscg5p81g1icmwwwa2jm7wrd1ybmxnv1sz8rl8bh3n9"))))
@@ -6657,16 +6643,14 @@ Jupyter Notebook format and Python APIs for working with notebooks.")
(define-public python-entrypoints
(package
(name "python-entrypoints")
- (version "0.2.3")
+ (version "0.3")
(source
(origin
(method url-fetch)
- (uri (string-append "https://github.com/takluyver/entrypoints/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (uri (pypi-uri "entrypoints" version))
(sha256
(base32
- "1pdvgfr5bxyvnfvxbsd3zi0dh3il71pc4k6rinx6zpps91b84a56"))))
+ "0lc4si3xb7hza424414rdqdc3vng3kcrph8jbvjqb32spqddf3f7"))))
(build-system python-build-system)
;; The package does not come with a setup.py file, so we have to generate
;; one ourselves.
@@ -7134,9 +7118,7 @@ This allows one to make simple text-mode user interfaces on Unix-like systems")
(version "5.0.6")
(source (origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/c/configobj/"
- "configobj-" version ".tar.gz"))
+ (uri (pypi-uri "configobj" version))
(sha256
(base32
"00h9rcmws03xvdlfni11yb60bz3kxfvsj6dg6nrpzj71f03nbxd2"))
@@ -9245,10 +9227,7 @@ programming errors.")
(version "2.4.0")
(source (origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/8b/3e/"
- "384eeff406b06315738b62483fd2126c6e4f544167116b17cc04ea7d2a59/"
- "pykafka-" version ".tar.gz"))
+ (uri (pypi-uri "pykafka" version))
(sha256
(base32
"1id6sr159p6aa13bxcqyr9gln8sqg1l0ddzns5iws8kk5q1p5cfv"))))
@@ -9301,9 +9280,7 @@ specified in POSIX.1-2001 and POSIX.1-2008.")
(version "0.1.7")
(source (origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/j/jsonrpclib/"
- "jsonrpclib-" version ".tar.gz"))
+ (uri (pypi-uri "jsonrpclib" version))
(sha256
(base32
"02vgirw2bcgvpcxhv5hf3yvvb4h5wzd1lpjx8na5psdmaffj6l3z"))))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 9c61d3c9ef..2e8f2d1135 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
-;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Quiliro <quiliro@fsfla.org>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
@@ -79,12 +79,13 @@
(version "5.1.0")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/steveire/grantlee/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/steveire/grantlee.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1lf9rkv0i0kd7fvpgg5l8jb87zw8dzcwd1liv6hji7g4wlpmfdiq"))))
+ (base32 "1dmah2gd6zd4fgz2f4ir11dazqg067hjz8xshhywhfsmavchi626"))))
(native-inputs
;; Optional: lcov and cccc, both are for code coverage
`(("doxygen" ,doxygen)))
diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm
new file mode 100644
index 0000000000..dd8c062d31
--- /dev/null
+++ b/gnu/packages/sagemath.scm
@@ -0,0 +1,60 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
+;;;
+;;; 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 sagemath)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system python)
+ #:use-module (gnu packages algebra)
+ #:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz))
+
+
+(define-public python-cypari2
+ (package
+ (name "python-cypari2")
+ (version "2.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cypari2" version))
+ (sha256
+ (base32
+ "0mghbmilmy34xp1d50xdx76sijqxmpkm2bcgx2v1mdji2ff7n0yc"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-cython" ,python-cython)))
+ (propagated-inputs
+ `(("python-cysignals" ,python-cysignals)))
+ (inputs
+ `(("gmp" ,gmp)
+ ("pari-gp", pari-gp)))
+ (home-page "https://cypari2.readthedocs.io/")
+ (synopsis
+ "Python interface to the number theory library libpari")
+ (description
+ "Cypari2 provides a Python interface to the number theory library
+PARI/GP. It has been spun off from the SageMath mathematics software system,
+but it can be used independently.")
+ (license license:gpl2+)))
+
+(define-public python2-cypari2
+ (package-with-python2 python-cypari2))
+
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index b836447668..bcaccb452c 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -1147,6 +1147,7 @@ generation.")
#:test-target "test"
#:phases
(modify-phases %standard-phases
+ (delete 'bootstrap)
(delete 'configure) ; No configure script
(replace 'install ; Makefile has no 'install phase
(lambda* (#:key outputs #:allow-other-keys)
@@ -1160,9 +1161,9 @@ generation.")
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
- (and
- (zero? (system* "./bootstrap.sh"))
- (install-file "flisp.boot" bin))))))))
+ (invoke "./bootstrap.sh")
+ (install-file "flisp.boot" bin)
+ #t))))))
(synopsis "Scheme-like lisp implementation")
(description
"@code{femtolisp} is a scheme-like lisp implementation with a
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index edf747de40..d0561559e9 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2017, 2018 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2019 Meiyo Peng <meiyo.peng@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,9 +28,9 @@
(define-module (gnu packages shells)
#:use-module (gnu packages)
- #:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages documentation)
#:use-module (gnu packages groff)
@@ -45,6 +46,7 @@
#:use-module (gnu packages scheme)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
+ #:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix licenses)
@@ -89,51 +91,105 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
(define-public fish
(package
(name "fish")
- (version "2.7.1")
- (source (origin
- (method url-fetch)
- (uri
- (list
- (string-append "https://fishshell.com/files/"
- version "/fish-" version ".tar.gz")
- (string-append "https://github.com/fish-shell/fish-shell/"
- "releases/download/" version "/"
- name "-" version ".tar.gz")))
- (sha256
- (base32
- "0nhc3yc5lnnan7zmxqqxm07rdpwjww5ijy45ll2njdc6fnfb2az4"))
- (modules '((guix build utils)))
- ;; Don't try to install /etc/fish/config.fish.
- (snippet '(begin
- (substitute* "Makefile.in"
- ((".*INSTALL.*sysconfdir.*fish.*") ""))
- #t))))
+ (version "3.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/fish-shell/fish-shell/"
+ "releases/download/" version "/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1kzjd0n0sfslkd36lzrvvvgy3qwkd9y466bkrqlnhd5h9dhx77ga"))))
(build-system gnu-build-system)
- (native-inputs
- `(("doxygen" ,doxygen)))
(inputs
- `(("bc" ,bc)
+ `(("fish-foreign-env" ,fish-foreign-env)
+ ("groff" ,groff) ; for 'fish --help'
("ncurses" ,ncurses)
- ("groff" ,groff) ;for 'fish --help'
- ("pcre2" ,pcre2) ;don't use the bundled PCRE2
- ("python" ,python-wrapper))) ;for fish_config and manpage completions
+ ("pcre2" ,pcre2) ; don't use the bundled PCRE2
+ ("python" ,python))) ; for fish_config and manpage completions
+ (native-inputs
+ `(("doxygen" ,doxygen)))
(arguments
- '(#:tests? #f ; no check target
- #:configure-flags '("--sysconfdir=/etc")
+ '(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
- ;; Embed absolute paths to store items.
- (add-after 'unpack 'embed-store-paths
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* '("share/functions/math.fish"
- "share/functions/seq.fish")
- (("\\| bc")
- (string-append "| " (assoc-ref %build-inputs "bc")
- "/bin/bc")))
- (substitute* "share/functions/fish_update_completions.fish"
- (("python") (which "python")))
+ (add-after 'unpack 'patch-source
+ (lambda _
+ (substitute* '("build_tools/build_commands_hdr.sh"
+ "build_tools/build_user_doc.sh")
+ (("/usr/bin/env") "env"))
+ #t))
+ ;; Embed absolute paths.
+ (add-before 'install 'embed-absolute-paths
+ (lambda _
+ (substitute* '("share/functions/__fish_config_interactive.fish"
+ "share/functions/fish_config.fish"
+ "share/functions/fish_update_completions.fish")
+ (("python3") (which "python3")))
(substitute* "share/functions/__fish_print_help.fish"
(("nroff") (which "nroff")))
+ #t))
+ ;; Source /etc/fish/config.fish from $__fish_sysconf_dir/config.fish.
+ (add-before 'install 'patch-fish-config
+ (lambda _
+ (let ((port (open-file "etc/config.fish" "a")))
+ (display (string-append
+ "\n\n"
+ "# Patched by Guix.\n"
+ "# Source /etc/fish/config.fish.\n"
+ "if test -f /etc/fish/config.fish\n"
+ " source /etc/fish/config.fish\n"
+ "end\n")
+ port)
+ (close-port port))
+ #t))
+ ;; Enable completions, functions and configurations in user's and
+ ;; system's guix profiles by adding them to __extra_* variables.
+ (add-before 'install 'patch-fish-extra-paths
+ (lambda _
+ (let ((port (open-file "share/__fish_build_paths.fish" "a")))
+ (display
+ (string-append
+ "\n\n"
+ "# Patched by Guix.\n"
+ "# Enable completions, functions and configurations in user's"
+ " and system's guix profiles by adding them to __extra_*"
+ " variables.\n"
+ "set -l __guix_profile_paths ~/.guix-profile"
+ " /run/current-system/profile\n"
+ "set __extra_completionsdir"
+ " $__guix_profile_paths\"/etc/fish/completions\""
+ " $__guix_profile_paths\"/share/fish/vendor_completions.d\""
+ " $__extra_completionsdir\n"
+ "set __extra_functionsdir"
+ " $__guix_profile_paths\"/etc/fish/functions\""
+ " $__guix_profile_paths\"/share/fish/vendor_functions.d\""
+ " $__extra_functionsdir\n"
+ "set __extra_confdir"
+ " $__guix_profile_paths\"/etc/fish/conf.d\""
+ " $__guix_profile_paths\"/share/fish/vendor_conf.d\""
+ " $__extra_confdir\n")
+ port)
+ (close-port port))
+ #t))
+ ;; Use fish-foreign-env to source /etc/profile.
+ (add-before 'install 'source-etc-profile
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((port (open-file "share/__fish_build_paths.fish" "a")))
+ (display
+ (string-append
+ "\n\n"
+ "# Patched by Guix.\n"
+ "# Use fish-foreign-env to source /etc/profile.\n"
+ "if status is-login\n"
+ " set fish_function_path "
+ (assoc-ref inputs "fish-foreign-env") "/share/fish/functions"
+ " $__fish_datadir/functions\n"
+ " fenv source /etc/profile\n"
+ " set -e fish_function_path\n"
+ "end\n")
+ port)
+ (close-port port))
#t)))))
(synopsis "The friendly interactive shell")
(description
@@ -148,6 +204,54 @@ and syntax highlighting.")
(home-page "https://fishshell.com/")
(license gpl2)))
+(define-public fish-foreign-env
+ (package
+ (name "fish-foreign-env")
+ (version "0.20190116")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/oh-my-fish/plugin-foreign-env.git")
+ (commit "dddd9213272a0ab848d474d0cbde12ad034e65bc")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00xqlyl3lffc5l0viin1nyp819wf81fncqyz87jx8ljjdhilmgbs"))))
+ (build-system trivial-build-system)
+ (arguments
+ '(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((source (assoc-ref %build-inputs "source"))
+ (out (assoc-ref %outputs "out"))
+ (func-path (string-append out "/share/fish/functions")))
+ (mkdir-p func-path)
+ (copy-recursively (string-append source "/functions")
+ func-path)
+
+ ;; Embed absolute paths.
+ (substitute* `(,(string-append func-path "/fenv.fish")
+ ,(string-append func-path "/fenv.apply.fish")
+ ,(string-append func-path "/fenv.main.fish"))
+ (("bash")
+ (string-append (assoc-ref %build-inputs "bash") "/bin/bash"))
+ (("sed")
+ (string-append (assoc-ref %build-inputs "sed") "/bin/sed"))
+ ((" tr ")
+ (string-append " " (assoc-ref %build-inputs "coreutils")
+ "/bin/tr ")))))))
+ (inputs
+ `(("bash" ,bash)
+ ("coreutils" ,coreutils)
+ ("sed" ,sed)))
+ (home-page "https://github.com/oh-my-fish/plugin-foreign-env")
+ (synopsis "Foreign environment interface for fish shell")
+ (description "@code{fish-foreign-env} wraps bash script execution in a way
+that environment variables that are exported or modified get imported back
+into fish.")
+ (license expat)))
+
(define-public rc
(package
(name "rc")
diff --git a/gnu/packages/skribilo.scm b/gnu/packages/skribilo.scm
index 12bdd1a2fa..a01633c4b8 100644
--- a/gnu/packages/skribilo.scm
+++ b/gnu/packages/skribilo.scm
@@ -22,6 +22,7 @@
#:use-module (guix licenses)
#:use-module (guix build-system gnu)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz)
#:use-module (gnu packages lout)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages plotutils)
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index ecfecdad40..04b49def54 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -1808,13 +1808,13 @@ times.")
(define-public r-data-table
(package
(name "r-data-table")
- (version "1.11.8")
+ (version "1.12.0")
(source (origin
(method url-fetch)
(uri (cran-uri "data.table" version))
(sha256
(base32
- "1nb6wngrk1a30m984524gf26fa1nwgyf4y4an94dibcwb5jp8hnw"))))
+ "1xz388khklqqc39r1cmjvqm65azambgzqw0743aypm6v4chi26v1"))))
(build-system r-build-system)
(home-page "https://github.com/Rdatatable/data.table/wiki")
(synopsis "Enhanced version of data.frame R object")
@@ -2100,14 +2100,14 @@ R version.")
(define-public r-checkmate
(package
(name "r-checkmate")
- (version "1.9.0")
+ (version "1.9.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "checkmate" version))
(sha256
(base32
- "00bjlc910y4paddvpz68pl3qyvjxlwqgyh39wpfkq43p99gvnj37"))))
+ "1y4ylzn55kpyfpzcx9rxb9413d3ck6hair36ldl0ak61ia5kc75p"))))
(build-system r-build-system)
(propagated-inputs
`(("r-backports" ,r-backports)))
@@ -2297,17 +2297,21 @@ collation, and NAMESPACE files.")
(define-public r-openssl
(package
(name "r-openssl")
- (version "1.1")
+ (version "1.2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "openssl" version))
(sha256
(base32
- "0ldxgcr33lawwr8wp14kdk2678gpkvqkzv6g333bhck1hn6qspzv"))))
+ "0ypa41qr58jgipzkqn3wjqdsjyi7qk57i46s5wy88xy3j8jl9jkv"))))
(build-system r-build-system)
(inputs
`(("libressl" ,libressl)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (propagated-inputs
+ `(("r-askpass" ,r-askpass)))
(home-page "https://github.com/jeroenooms/openssl")
(synopsis "Toolkit for encryption, signatures and certificates")
(description
@@ -2557,13 +2561,13 @@ well as additional utilities such as panel and axis annotation functions.")
(define-public r-rcpparmadillo
(package
(name "r-rcpparmadillo")
- (version "0.9.200.5.0")
+ (version "0.9.200.7.0")
(source (origin
(method url-fetch)
(uri (cran-uri "RcppArmadillo" version))
(sha256
(base32
- "09041jnalh7352kj6lv4d0xr9c0mvf8p860q5c8m13mp214x5x7k"))))
+ "11m04yvdh6086567dzzxchbf68fl5hxf2y32acf3f43bjqgwbv2p"))))
(properties `((upstream-name . "RcppArmadillo")))
(build-system r-build-system)
(native-inputs
@@ -3320,14 +3324,14 @@ Stochastic Neighbor Embedding using a Barnes-Hut implementation.")
(define-public r-e1071
(package
(name "r-e1071")
- (version "1.7-0")
+ (version "1.7-0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "e1071" version))
(sha256
(base32
- "0fk4pw67cw1663d0n9rf1qfdqzz8k5nqkjgp3hi5jr422qp9lsck"))))
+ "11fqm4shmksalkazcwvzfknp3amigw7fr8wdwanqa5v5kx7ihyq9"))))
(build-system r-build-system)
(propagated-inputs
`(("r-class" ,r-class)))
@@ -3755,18 +3759,17 @@ It uses and relies on grid graphics and formal (S4) classes and methods.")
(define-public r-purrr
(package
(name "r-purrr")
- (version "0.2.5")
+ (version "0.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "purrr" version))
(sha256
(base32
- "0dc53zzan3km2l9lzxjixcv6yn7dhw2ppmz8qf2awhak7x2qm9m4"))))
+ "0mzbf9ca8qdrqkrh9x7yzqxiab9bk10ql46qr1wl2bgbflminzda"))))
(build-system r-build-system)
(propagated-inputs
- `(("r-tibble" ,r-tibble)
- ("r-magrittr" ,r-magrittr)
+ `(("r-magrittr" ,r-magrittr)
("r-rlang" ,r-rlang)))
(home-page "https://github.com/hadley/purrr")
(synopsis "Functional programming tools")
@@ -3981,14 +3984,14 @@ package instead.")
(define-public r-hmisc
(package
(name "r-hmisc")
- (version "4.1-1")
+ (version "4.2-0")
(source
(origin
(method url-fetch)
(uri (cran-uri "Hmisc" version))
(sha256
(base32
- "160l50ppjs69ipcaya1mlcz29zbn5rmqg91r09dvzzvkvwfb47cr"))))
+ "1n8i2jhc308hd6bvys9cd7nrz7pwjszs03r5bwlh1pc869ki95ly"))))
(properties `((upstream-name . "Hmisc")))
(build-system r-build-system)
(native-inputs
@@ -4200,14 +4203,14 @@ including:
(define-public r-gplots
(package
(name "r-gplots")
- (version "3.0.1")
+ (version "3.0.1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "gplots" version))
(sha256
(base32
- "02nb8n3s7c1zxq2s7ycaq2ys72y7mzirxrwj954h6gdc4x1zhg9l"))))
+ "033plcfs9w8pmn84n24mdhiixdirc2a7pz6dvm61fpd20gwh7cbx"))))
(build-system r-build-system)
(propagated-inputs
`(("r-catools" ,r-catools)
@@ -4727,14 +4730,14 @@ and resampling-based inference.")
(define-public r-prabclus
(package
(name "r-prabclus")
- (version "2.2-6")
+ (version "2.2-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "prabclus" version))
(sha256
(base32
- "0qjsxrx6yv338bxm4ki0w9h8hind1l98abdrz828588bwj02jya1"))))
+ "0h2nml8ri27mhfs2p6ngb6kfd6lyq30sc6813yybpskkrb6gs1pb"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mass" ,r-mass)
@@ -5404,14 +5407,14 @@ diagnostic tools (@code{ctlcurves} and @code{DiscrFact}).")
(define-public r-ranger
(package
(name "r-ranger")
- (version "0.10.1")
+ (version "0.11.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "ranger" version))
(sha256
(base32
- "12z67xkgdmr5cflpd6cln0mn5xxajanqbfwlckv6cfma0gvf2z1j"))))
+ "1yyg1nppq76jngzffd44brppqrlxqdhv92pyy0gn09rfc0ab37wr"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rcpp" ,r-rcpp)
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 236923a2d6..7f52c6efd4 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2018 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
+;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -910,7 +911,7 @@ tmux.")
(define-public kitty
(package
(name "kitty")
- (version "0.13.1")
+ (version "0.13.3")
(home-page "https://sw.kovidgoyal.net/kitty/")
(source
(origin
@@ -921,7 +922,7 @@ tmux.")
(file-name (git-file-name name version))
(sha256
(base32
- "1j24zjasdh48z7majfpqr71n1wn5a9688wsmmqn26v8kfb68pqs4"))
+ "1y0vd75j8g61jdj8miml79w5ri3pqli5rv9iq6zdrxvzfa4b2rmb"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -943,7 +944,8 @@ tmux.")
("libpng" ,libpng)
("freetype" ,freetype)
("fontconfig" ,fontconfig)
- ("pygments" ,python2-pygments)))
+ ("pygments" ,python-pygments)
+ ("wayland" ,wayland)))
(native-inputs
`(("pkg-config" ,pkg-config)
("libxrandr" ,libxrandr)
@@ -959,6 +961,15 @@ tmux.")
(arguments
'(#:phases (modify-phases %standard-phases
(delete 'configure)
+ ;; Wayland backend requires EGL, which isn't found
+ ;; out-of-the-box for some reason. Hard-code it instead.
+ (add-after 'unpack 'hard-code-libegl
+ (lambda _
+ (let* ((mesa (assoc-ref %build-inputs "libgl1-mesa"))
+ (libegl (string-append mesa "/lib/libEGL.so.1")))
+ (substitute* "glfw/egl_context.c"
+ (("libEGL.so.1") libegl)))
+ #t))
(replace 'build
(lambda _
(invoke "python3" "setup.py" "linux-package")))
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 2852b37676..5f294dc84c 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -2770,8 +2770,17 @@ re-processing.")
(sha256
(base32
"0y4i651b75y6006n03x8n86bsqvjsailvvz9bhzy51dzsznqidq0"))))
- (build-system texlive-build-system)
- (arguments '(#:tex-directory "latex/seminar"))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((target (string-append (assoc-ref %outputs "out")
+ "/share/texmf-dist/tex/latex/seminar")))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs "source") target)
+ #t))))
(home-page "https://www.ctan.org/pkg/seminar")
(synopsis "Make overhead slides")
;; TODO: This package may need fancybox and xcomment at runtime.
@@ -5806,3 +5815,68 @@ for use with LaTeX is available in @code{freenfss}, part of
supports advanced interactive documents. See the ConTeXt garden for a wealth
of support information.")
(license license:gpl2+)))
+
+(define-public texlive-latex-beamer
+ (package
+ (name "texlive-latex-beamer")
+ (version (number->string %texlive-revision))
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/tex/latex/beamer"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "09y3qwbj0nckshvg9afgwcv9v3zdif1d7bnpzrggsa1fbr80mgk2"))))
+ (build-system trivial-build-system)
+ (outputs '("out" "doc"))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((target (string-append (assoc-ref %outputs "out")
+ "/share/texmf-dist/tex/latex/beamer"))
+ (docs (string-append (assoc-ref %outputs "doc")
+ "/share/texmf-dist/doc/latex/beamer/")))
+ (mkdir-p target)
+ (copy-recursively (assoc-ref %build-inputs "source") target)
+
+ (mkdir-p docs)
+ (copy-recursively (assoc-ref %build-inputs "docs") docs)
+ #t))))
+ (propagated-inputs
+ `(("texlive-latex-hyperref" ,texlive-latex-hyperref)
+ ("texlive-latex-oberdiek" ,texlive-latex-oberdiek)
+ ("texlive-latex-etoolbox" ,texlive-latex-etoolbox)
+ ("texlive-latex-pgf" ,texlive-latex-pgf)))
+ (native-inputs
+ `(("docs"
+ ,(origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "svn://www.tug.org/texlive/tags/"
+ %texlive-tag "/Master/texmf-dist/"
+ "/doc/latex/beamer"))
+ (revision %texlive-revision)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "102b18b9nw9dicqqgjwx0srh1mav8vh9wdvwayn741niza9hac23"))))))
+ (home-page "https://www.ctan.org/pkg/beamer")
+ (synopsis "LaTeX class for producing presentations and slides")
+ (description "The beamer LaTeX class can be used for producing slides.
+The class works in both PostScript and direct PDF output modes, using the
+@code{pgf} graphics system for visual effects. Content is created in the
+@code{frame} environment, and each frame can be made up of a number of slides
+using a simple notation for specifying material to appear on each slide within
+a frame. Short versions of title, authors, institute can also be specified as
+optional parameters. Whole frame graphics are supported by plain frames. The
+class supports @code{figure} and @code{table} environments, transparency
+effects, varying slide transitions and animations.")
+ ;; Code is dual licensed under GPLv2+ or LPPL1.3c+; documentation is
+ ;; dual-licensed under either FDLv1.3+ or LPPL1.3c+.
+ (license (list license:lppl1.3c+ license:gpl2+ license:fdl1.3+))))
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 9d8ecbd339..4fb46c7303 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -123,15 +123,16 @@ in intelligent transportation networks.")
(define-public p11-kit
(package
(name "p11-kit")
- (version "0.23.14")
+ (version "0.23.15")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/p11-glue/p11-kit/releases/"
"download/" version "/p11-kit-" version ".tar.gz"))
+ (patches (search-patches "p11-kit-jks-timestamps.patch"))
(sha256
(base32
- "0w0dkq9388grbbn4bv2p55vy1j51f7nd9hzlc9gz4fbm4dnzmf8w"))))
+ "166pwj00cffv4qq4dvx0k53zka0b0r1fa0whc49007vsqyh3khgp"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 4121832f12..8f0884db09 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -399,7 +399,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
(define-public x265
(package
(name "x265")
- (version "2.9")
+ (version "3.0")
(outputs '("out" "static"))
(source
(origin
@@ -408,9 +408,8 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
"x265_" version ".tar.gz"))
(sha256
(base32
- "090hp4216isis8q5gb7bwzia8rfyzni54z21jnwm97x3hiy6ibpb"))
- (patches (search-patches "x265-arm-flags.patch"
- "x265-detect512-all-arches.patch"))
+ "0qh65wdpasrspkm1y0dlfa123myax568yi0sas0lmg5b1hkgrff5"))
+ (patches (search-patches "x265-arm-flags.patch"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "source/compat/getopt")
@@ -871,6 +870,34 @@ audio/video codec library.")
(base32
"0b59qk5wpc5ksiha76jbhb859g5gxa4w0k6afh3kgvgajiivs73l"))))))
+(define-public ffmpeg-for-stepmania
+ (hidden-package
+ (package
+ (inherit ffmpeg)
+ (version "2.1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stepmania/ffmpeg.git")
+ (commit "eda6effcabcf9c238e4635eb058d72371336e09b")))
+ (sha256
+ (base32 "1by8rmbva8mfrivdbbkr2gx4kga89zqygkd4cfjl76nr8mdcdamb"))
+ (file-name (git-file-name "ffmpeg" version))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments ffmpeg)
+ ((#:configure-flags flags)
+ '(list "--disable-programs"
+ "--disable-doc"
+ "--disable-debug"
+ "--disable-avdevice"
+ "--disable-swresample"
+ "--disable-postproc"
+ "--disable-avfilter"
+ "--disable-shared"
+ "--enable-static"))))
+ (inputs '()))))
+
(define-public ffmpegthumbnailer
(package
(name "ffmpegthumbnailer")
@@ -1314,7 +1341,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2019.01.17")
+ (version "2019.01.27")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rg3/youtube-dl/releases/"
@@ -1322,7 +1349,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz"))
(sha256
(base32
- "0fxajwv81b0bjw9qlwmxd4r93yp5nnqll79vhic0vy72ii0093r7"))))
+ "0z4x4lwpd6qd2r9xgp8cx4j1vl5vd76kzs74jp0hh3w2g31s51z8"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index d178a08413..26855b8007 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -110,6 +110,8 @@
(method url-fetch)
(uri (string-append "https://download.qemu.org/qemu-"
version ".tar.xz"))
+ (patches (search-patches "qemu-CVE-2018-16872.patch"
+ "qemu-CVE-2019-6778.patch"))
(sha256
(base32
"1z5bd5nfyjvhfi1s95labc82y4hjdjjkdabw931362ls0zghh1ba"))))
@@ -799,13 +801,13 @@ Machine Protocol.")
(version "a12")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/gnif/LookingGlass/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version))
+ (method git-fetch)
+ (uri (git-reference (url "https://github.com/gnif/LookingGlass")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0x57chx83f8pq56d9sfxmc9p4qjm9nqvdyamj41bmy145mxw5w3m"))))
+ "0r6bvl9q94039r6ff4f2bg8si95axx9w8bf1h1qr5730d2kv5yxq"))))
(build-system cmake-build-system)
(inputs `(("fontconfig" ,fontconfig)
("glu" ,glu)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 8d51af40e5..57346518a3 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -15,7 +15,7 @@
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
-;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
@@ -88,6 +88,7 @@
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz)
#:use-module (gnu packages java)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages image)
@@ -123,14 +124,14 @@
(define-public httpd
(package
(name "httpd")
- (version "2.4.37")
+ (version "2.4.38")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/httpd/httpd-"
version ".tar.bz2"))
(sha256
(base32
- "09npb7vlz5sizgj0nvl0bqxj9zig29ipkp07fgmw5ykjcxfdr61l"))))
+ "0jiriyyf3pm6axf4mrz6c2z08yhs21hb4d23viq87jclm5bmiikx"))))
(build-system gnu-build-system)
(native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config'
(inputs `(("apr" ,apr)
@@ -5278,20 +5279,18 @@ snippets on @url{https://commandlinefu.com}.")
(define-public rss-bridge
(package
(name "rss-bridge")
- (version "2018-11-10")
+ (version "2019-01-13")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/RSS-Bridge/rss-bridge/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/RSS-Bridge/rss-bridge")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1l9a82smh6k37bjvzbmkdlssxywlmr40ig4cykgsns1iiszwv4ia"))))
+ "1m0dq491954f0d7k4508ddlywk09whcz9j21rc4yk3lbwpf0nd4c"))))
(build-system trivial-build-system)
- (native-inputs
- `(("gzip" ,gzip)
- ("tar" ,tar)))
(arguments
'(#:modules ((guix build utils))
#:builder
@@ -5300,12 +5299,9 @@ snippets on @url{https://commandlinefu.com}.")
(ice-9 match))
(let* ((out (assoc-ref %outputs "out"))
(share-rss-bridge (string-append out "/share/rss-bridge")))
- (set-path-environment-variable
- "PATH" '("bin") (map (match-lambda ((_ . input) input))
- %build-inputs))
(mkdir-p share-rss-bridge)
- (invoke "tar" "xvf" (assoc-ref %build-inputs "source")
- "--strip-components" "1" "-C" share-rss-bridge)))))
+ (copy-recursively (assoc-ref %build-inputs "source") share-rss-bridge)
+ #t))))
(home-page "https://github.com/RSS-Bridge/rss-bridge")
(synopsis "Generate Atom feeds for social networking websites")
(description "rss-bridge generates Atom feeds for social networking
@@ -5324,6 +5320,9 @@ Instagram and YouTube.")
(uri (git-reference
(url "https://github.com/linkchecker/linkchecker")
(commit (string-append "v" version))))
+ (patches
+ (search-patches
+ "linkchecker-mark-more-tests-that-require-the-network.patch"))
(file-name (git-file-name name version))
(sha256
(base32
@@ -5333,8 +5332,32 @@ Instagram and YouTube.")
`(("python2-dnspython" ,python2-dnspython)
("python2-pyxdg" ,python2-pyxdg)
("python2-requests" ,python2-requests)))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("python2-pytest" ,python2-pytest)
+ ("python2-miniboa" ,python2-miniboa)
+ ("python2-parameterized" ,python2-parameterized)))
(arguments
- `(#:python ,python-2))
+ `(#:python ,python-2
+ #:phases
+ (modify-phases %standard-phases
+ ;; Move the 'check phase to after 'install, so that the installed
+ ;; library can be used
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; Set PYTHONPATH so that the installed linkchecker is used
+ (setenv "PYTHONPATH"
+ (string-append out "/lib/python2.7/site-packages"
+ ":"
+ (getenv "PYTHONPATH")))
+ ;; Remove this directory to avoid it being used when running
+ ;; the tests
+ (delete-file-recursively "linkcheck")
+
+ (invoke "py.test" "tests"))
+ #t)))))
(home-page "https://linkcheck.github.io/linkchecker")
(synopsis "Check websites for broken links")
(description "LinkChecker is a website validator. It checks for broken
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 7bf634759a..fa0e467f31 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -181,14 +181,14 @@ commands would.")
(define-public i3-wm
(package
(name "i3-wm")
- (version "4.16")
+ (version "4.16.1")
(source (origin
(method url-fetch)
(uri (string-append "https://i3wm.org/downloads/i3-"
version ".tar.bz2"))
(sha256
(base32
- "1d2mnryn7m9c6d69awd7lwzadliapd0ahi5n8d0ppqy533ssaq6c"))))
+ "0xl56y196vxv001gvx35xwfr25zah8m3xwizp9ycdgdc0rfc4rdb"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 7e3c1aad1c..bf7a4050a3 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
;;; Copyright © 2019 nee <nee@cock.li>
+;;; Copyright © 2019 Yoshinori Arai <kumagusu08@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2623,6 +2624,29 @@ as USB mice.")
"xf86-input-void is a null input driver for the Xorg X server.")
(license license:x11)))
+(define-public xf86-video-amdgpu
+ (package
+ (name "xf86-video-amdgpu")
+ (version "18.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://xorg/individual/driver/xf86-video-amdgpu-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "0wlnb929l3yqj4hdkzyxyhbaph13ac4villajgmbh66pa6xja7z1"))))
+ (build-system gnu-build-system)
+ (inputs `(("xorg-server" ,xorg-server)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (home-page "https://www.x.org/wiki/")
+ (synopsis "AMD Radeon video driver for X server")
+ (description
+ "xf86-video-amdgpu is an AMD Radeon video driver for the Xorg
+X server.")
+ (license license:x11)))
(define-public xf86-video-ark
(package
@@ -5701,6 +5725,37 @@ user-friendly mechanism to start the X server.")
Intrinsics (Xt) Library.")
(license license:x11)))
+(define-public xclock
+ (package
+ (name "xclock")
+ (version "1.0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.x.org/releases/individual/app/"
+ name "-" version ".tar.bz2"))
+ (sha256
+ (base32 "1l3xv4bsca6bwxx73jyjz0blav86i7vwffkhdb1ac81y9slyrki3"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--with-appdefaultdir="
+ %output ,%app-defaults-dir))))
+ (inputs
+ `(("libxmu" ,libxmu)
+ ("libx11" ,libx11)
+ ("libxaw" ,libxaw)
+ ("libxrender" ,libxrender)
+ ("libxft" ,libxft)
+ ("libxkbfile" ,libxkbfile)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://www.x.org/")
+ (synopsis "Analog / digital clock for X")
+ (description "The xclock program displays the time in analog or digital
+form.")
+ (license (license:x11-style "file://COPYING" "See COPYING for details."))))
+
(define-public xmag
(package
(name "xmag")
diff --git a/gnu/services/mcron.scm b/gnu/services/mcron.scm
index e4b652b3d4..1b232b6cba 100644
--- a/gnu/services/mcron.scm
+++ b/gnu/services/mcron.scm
@@ -20,7 +20,7 @@
#:use-module (gnu services)
#:use-module (gnu services base)
#:use-module (gnu services shepherd)
- #:autoload (gnu packages guile) (mcron)
+ #:autoload (gnu packages guile-xyz) (mcron)
#:use-module (guix deprecation)
#:use-module (guix records)
#:use-module (guix gexp)
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 2f91619219..d66254c03d 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -87,11 +87,11 @@
;;; Code:
(define %default-xorg-modules
- ;; Default list of modules loaded by the server. Note that the order
- ;; matters since it determines which driver is going to be used when there's
- ;; a choice.
+ ;; Default list of modules loaded by the server. When multiple drivers
+ ;; match, the first one in the list is loaded.
(list xf86-video-vesa
xf86-video-fbdev
+ xf86-video-amdgpu
xf86-video-ati
xf86-video-cirrus
xf86-video-intel