aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk13
-rw-r--r--gnu/packages/acl.scm20
-rw-r--r--gnu/packages/admin.scm50
-rw-r--r--gnu/packages/algebra.scm36
-rw-r--r--gnu/packages/attr.scm21
-rw-r--r--gnu/packages/audio.scm41
-rw-r--r--gnu/packages/autotools.scm79
-rw-r--r--gnu/packages/backup.scm6
-rw-r--r--gnu/packages/base.scm187
-rw-r--r--gnu/packages/bash.scm18
-rw-r--r--gnu/packages/bdw-gc.scm12
-rw-r--r--gnu/packages/bioinformatics.scm99
-rw-r--r--gnu/packages/boost.scm49
-rw-r--r--gnu/packages/bootstrap.scm46
-rw-r--r--gnu/packages/cdrom.scm28
-rw-r--r--gnu/packages/check.scm10
-rw-r--r--gnu/packages/chez.scm6
-rw-r--r--gnu/packages/ci.scm5
-rw-r--r--gnu/packages/code.scm3
-rw-r--r--gnu/packages/commencement.scm144
-rw-r--r--gnu/packages/compression.scm87
-rw-r--r--gnu/packages/cross-base.scm86
-rw-r--r--gnu/packages/crypto.scm24
-rw-r--r--gnu/packages/cups.scm13
-rw-r--r--gnu/packages/curl.scm6
-rw-r--r--gnu/packages/databases.scm32
-rw-r--r--gnu/packages/debug.scm5
-rw-r--r--gnu/packages/dns.scm4
-rw-r--r--gnu/packages/docbook.scm26
-rw-r--r--gnu/packages/documentation.scm5
-rw-r--r--gnu/packages/elf.scm16
-rw-r--r--gnu/packages/emacs.scm52
-rw-r--r--gnu/packages/emulators.scm15
-rw-r--r--gnu/packages/engineering.scm13
-rw-r--r--gnu/packages/enlightenment.scm3
-rw-r--r--gnu/packages/fontutils.scm10
-rw-r--r--gnu/packages/fpga.scm6
-rw-r--r--gnu/packages/freedesktop.scm3
-rw-r--r--gnu/packages/ftp.scm10
-rw-r--r--gnu/packages/game-development.scm7
-rw-r--r--gnu/packages/games.scm87
-rw-r--r--gnu/packages/gawk.scm9
-rw-r--r--gnu/packages/gcc.scm298
-rw-r--r--gnu/packages/geo.scm3
-rw-r--r--gnu/packages/ghostscript.scm9
-rw-r--r--gnu/packages/gl.scm8
-rw-r--r--gnu/packages/glib.scm42
-rw-r--r--gnu/packages/gnome.scm24
-rw-r--r--gnu/packages/gnunet.scm5
-rw-r--r--gnu/packages/gnupg.scm4
-rw-r--r--gnu/packages/gnuzilla.scm12
-rw-r--r--gnu/packages/graphics.scm3
-rw-r--r--gnu/packages/graphviz.scm13
-rw-r--r--gnu/packages/gtk.scm42
-rw-r--r--gnu/packages/guile.scm91
-rw-r--r--gnu/packages/haskell.scm6
-rw-r--r--gnu/packages/indent.scm20
-rw-r--r--gnu/packages/irc.scm3
-rw-r--r--gnu/packages/java.scm27
-rw-r--r--gnu/packages/kerberos.scm8
-rw-r--r--gnu/packages/kodi.scm6
-rw-r--r--gnu/packages/less.scm4
-rw-r--r--gnu/packages/libbsd.scm4
-rw-r--r--gnu/packages/libevent.scm6
-rw-r--r--gnu/packages/libffi.scm39
-rw-r--r--gnu/packages/libreoffice.scm8
-rw-r--r--gnu/packages/libsigsegv.scm4
-rw-r--r--gnu/packages/libunistring.scm6
-rw-r--r--gnu/packages/libusb.scm6
-rw-r--r--gnu/packages/linux.scm202
-rw-r--r--gnu/packages/lisp.scm36
-rw-r--r--gnu/packages/lxde.scm3
-rw-r--r--gnu/packages/m4.scm26
-rw-r--r--gnu/packages/machine-learning.scm3
-rw-r--r--gnu/packages/mail.scm8
-rw-r--r--gnu/packages/make-bootstrap.scm165
-rw-r--r--gnu/packages/man.scm4
-rw-r--r--gnu/packages/maths.scm61
-rw-r--r--gnu/packages/messaging.scm23
-rw-r--r--gnu/packages/microcom.scm6
-rw-r--r--gnu/packages/monitoring.scm8
-rw-r--r--gnu/packages/mp3.scm12
-rw-r--r--gnu/packages/multiprecision.scm9
-rw-r--r--gnu/packages/music.scm61
-rw-r--r--gnu/packages/ncurses.scm57
-rw-r--r--gnu/packages/netpbm.scm3
-rw-r--r--gnu/packages/networking.scm10
-rw-r--r--gnu/packages/node.scm3
-rw-r--r--gnu/packages/nvi.scm3
-rw-r--r--gnu/packages/ocaml.scm30
-rw-r--r--gnu/packages/onc-rpc.scm8
-rw-r--r--gnu/packages/package-management.scm2
-rw-r--r--gnu/packages/patches/binutils-ld-new-dtags.patch16
-rw-r--r--gnu/packages/patches/glib-respect-datadir.patch21
-rw-r--r--gnu/packages/patches/graphite2-ffloat-store.patch34
-rw-r--r--gnu/packages/patches/lcms-CVE-2016-10165.patch36
-rw-r--r--gnu/packages/patches/libtasn1-CVE-2017-10790.patch63
-rw-r--r--gnu/packages/patches/libtasn1-CVE-2018-6003.patch73
-rw-r--r--gnu/packages/patches/libxcb-python-3.5-compat.patch64
-rw-r--r--gnu/packages/patches/patch-hurd-path-max.patch15
-rw-r--r--gnu/packages/patches/pcre2-CVE-2017-7186.patch68
-rw-r--r--gnu/packages/patches/pcre2-CVE-2017-8786.patch155
-rw-r--r--gnu/packages/patches/python-3-search-paths.patch13
-rw-r--r--gnu/packages/patches/tar-CVE-2016-6321.patch51
-rw-r--r--gnu/packages/patches/tar-remove-wholesparse-check.patch68
-rw-r--r--gnu/packages/patches/xcb-proto-python3-print.patch75
-rw-r--r--gnu/packages/patches/xcb-proto-python3-whitespace.patch217
-rw-r--r--gnu/packages/pcre.scm7
-rw-r--r--gnu/packages/pdf.scm12
-rw-r--r--gnu/packages/perl.scm10
-rw-r--r--gnu/packages/php.scm3
-rw-r--r--gnu/packages/plotutils.scm19
-rw-r--r--gnu/packages/pretty-print.scm8
-rw-r--r--gnu/packages/profiling.scm6
-rw-r--r--gnu/packages/pulseaudio.scm8
-rw-r--r--gnu/packages/python-crypto.scm3
-rw-r--r--gnu/packages/python.scm83
-rw-r--r--gnu/packages/qt.scm31
-rw-r--r--gnu/packages/robotics.scm10
-rw-r--r--gnu/packages/sawfish.scm20
-rw-r--r--gnu/packages/scanner.scm8
-rw-r--r--gnu/packages/scheme.scm13
-rw-r--r--gnu/packages/scribus.scm6
-rw-r--r--gnu/packages/sdl.scm14
-rw-r--r--gnu/packages/serialization.scm8
-rw-r--r--gnu/packages/shells.scm9
-rw-r--r--gnu/packages/slang.scm3
-rw-r--r--gnu/packages/smalltalk.scm3
-rw-r--r--gnu/packages/ssh.scm3
-rw-r--r--gnu/packages/storage.scm2
-rw-r--r--gnu/packages/sync.scm3
-rw-r--r--gnu/packages/syncthing.scm5
-rw-r--r--gnu/packages/tbb.scm8
-rw-r--r--gnu/packages/terminals.scm45
-rw-r--r--gnu/packages/texinfo.scm4
-rw-r--r--gnu/packages/text-editors.scm12
-rw-r--r--gnu/packages/textutils.scm7
-rw-r--r--gnu/packages/tls.scm105
-rw-r--r--gnu/packages/unrtf.scm2
-rw-r--r--gnu/packages/version-control.scm18
-rw-r--r--gnu/packages/video.scm51
-rw-r--r--gnu/packages/vpn.scm3
-rw-r--r--gnu/packages/web.scm46
-rw-r--r--gnu/packages/wget.scm4
-rw-r--r--gnu/packages/wm.scm30
-rw-r--r--gnu/packages/wxwidgets.scm3
-rw-r--r--gnu/packages/xdisorg.scm25
-rw-r--r--gnu/packages/xml.scm6
-rw-r--r--gnu/packages/xorg.scm72
-rw-r--r--gnu/packages/zile.scm2
-rw-r--r--guix/build/ant-build-system.scm1
-rw-r--r--guix/build/asdf-build-system.scm2
-rw-r--r--guix/build/cargo-build-system.scm1
-rw-r--r--guix/build/cmake-build-system.scm5
-rw-r--r--guix/build/cvs.scm27
-rw-r--r--guix/build/dub-build-system.scm1
-rw-r--r--guix/build/emacs-build-system.scm1
-rw-r--r--guix/build/emacs-utils.scm15
-rw-r--r--guix/build/font-build-system.scm1
-rw-r--r--guix/build/glib-or-gtk-build-system.scm21
-rw-r--r--guix/build/gnu-build-system.scm278
-rw-r--r--guix/build/gnu-dist.scm17
-rw-r--r--guix/build/go-build-system.scm1
-rw-r--r--guix/build/haskell-build-system.scm1
-rw-r--r--guix/build/hg.scm30
-rw-r--r--guix/build/minify-build-system.scm1
-rw-r--r--guix/build/ocaml-build-system.scm1
-rw-r--r--guix/build/perl-build-system.scm17
-rw-r--r--guix/build/python-build-system.scm22
-rw-r--r--guix/build/r-build-system.scm1
-rw-r--r--guix/build/ruby-build-system.scm1
-rw-r--r--guix/build/scons-build-system.scm25
-rw-r--r--guix/build/svn.scm38
-rw-r--r--guix/build/texlive-build-system.scm11
-rw-r--r--guix/build/utils.scm47
-rw-r--r--guix/build/waf-build-system.scm1
-rw-r--r--guix/download.scm8
-rw-r--r--guix/packages.scm134
-rw-r--r--guix/ui.scm18
179 files changed, 2359 insertions, 2913 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 788b260e5e..b979d90fa7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -573,7 +573,6 @@ dist_patch_DATA = \
%D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
%D%/packages/patches/bcftools-regidx-unsigned-char.patch \
- %D%/packages/patches/binutils-ld-new-dtags.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/blast+-fix-makefile.patch \
%D%/packages/patches/byobu-writable-status.patch \
@@ -705,7 +704,6 @@ dist_patch_DATA = \
%D%/packages/patches/gimp-CVE-2017-17787.patch \
%D%/packages/patches/gimp-CVE-2017-17789.patch \
%D%/packages/patches/glib-networking-ssl-cert-file.patch \
- %D%/packages/patches/glib-respect-datadir.patch \
%D%/packages/patches/glib-tests-timer.patch \
%D%/packages/patches/glibc-CVE-2015-5180.patch \
%D%/packages/patches/glibc-CVE-2015-7547.patch \
@@ -737,7 +735,6 @@ dist_patch_DATA = \
%D%/packages/patches/gpm-glibc-2.26.patch \
%D%/packages/patches/gpsbabel-minizip.patch \
%D%/packages/patches/gpsbabel-qstring.patch \
- %D%/packages/patches/graphite2-ffloat-store.patch \
%D%/packages/patches/grep-timing-sensitive-test.patch \
%D%/packages/patches/groff-source-date-epoch.patch \
%D%/packages/patches/gsl-test-i686.patch \
@@ -809,7 +806,6 @@ dist_patch_DATA = \
%D%/packages/patches/kobodeluxe-midicon-segmentation-fault.patch \
%D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \
%D%/packages/patches/laby-make-install.patch \
- %D%/packages/patches/lcms-CVE-2016-10165.patch \
%D%/packages/patches/ldc-bootstrap-disable-tests.patch \
%D%/packages/patches/ldc-1.7.0-disable-phobos-tests.patch \
%D%/packages/patches/ledger-fix-uninitialized.patch \
@@ -860,8 +856,6 @@ dist_patch_DATA = \
%D%/packages/patches/libssh-hostname-parser-bug.patch \
%D%/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch \
%D%/packages/patches/libtar-CVE-2013-4420.patch \
- %D%/packages/patches/libtasn1-CVE-2017-10790.patch \
- %D%/packages/patches/libtasn1-CVE-2018-6003.patch \
%D%/packages/patches/libtheora-config-guess.patch \
%D%/packages/patches/libtirpc-missing-headers.patch \
%D%/packages/patches/libtiff-CVE-2017-9935.patch \
@@ -873,7 +867,6 @@ dist_patch_DATA = \
%D%/packages/patches/libvorbis-CVE-2017-14632.patch \
%D%/packages/patches/libvorbis-CVE-2017-14633.patch \
%D%/packages/patches/libvpx-CVE-2016-2818.patch \
- %D%/packages/patches/libxcb-python-3.5-compat.patch \
%D%/packages/patches/libxslt-generated-ids.patch \
%D%/packages/patches/libxt-guix-search-paths.patch \
%D%/packages/patches/lierolibre-check-unaligned-access.patch \
@@ -970,8 +963,6 @@ dist_patch_DATA = \
%D%/packages/patches/patchutils-xfail-gendiff-tests.patch \
%D%/packages/patches/patch-hurd-path-max.patch \
%D%/packages/patches/pcmanfm-CVE-2017-8934.patch \
- %D%/packages/patches/pcre2-CVE-2017-7186.patch \
- %D%/packages/patches/pcre2-CVE-2017-8786.patch \
%D%/packages/patches/perl-file-path-CVE-2017-6512.patch \
%D%/packages/patches/perl-autosplit-default-time.patch \
%D%/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch \
@@ -1100,7 +1091,7 @@ dist_patch_DATA = \
%D%/packages/patches/t1lib-CVE-2010-2642.patch \
%D%/packages/patches/t1lib-CVE-2011-0764.patch \
%D%/packages/patches/t1lib-CVE-2011-1552+.patch \
- %D%/packages/patches/tar-CVE-2016-6321.patch \
+ %D%/packages/patches/tar-remove-wholesparse-check.patch \
%D%/packages/patches/tar-skip-unreliable-tests.patch \
%D%/packages/patches/tclxml-3.2-install.patch \
%D%/packages/patches/tcsh-fix-autotest.patch \
@@ -1170,8 +1161,6 @@ dist_patch_DATA = \
%D%/packages/patches/wpa-supplicant-krack-followups.patch \
%D%/packages/patches/wxmaxima-do-not-use-old-gnuplot-parameters.patch \
%D%/packages/patches/xboing-CVE-2004-0149.patch \
- %D%/packages/patches/xcb-proto-python3-print.patch \
- %D%/packages/patches/xcb-proto-python3-whitespace.patch \
%D%/packages/patches/xdotool-fix-makefile.patch \
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
%D%/packages/patches/xf86-video-ast-remove-mibstore.patch \
diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm
index 7880e533da..8d5f0117f5 100644
--- a/gnu/packages/acl.scm
+++ b/gnu/packages/acl.scm
@@ -1,8 +1,9 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -47,8 +48,20 @@
(build-system gnu-build-system)
(arguments
`(#:test-target "tests"
+ #:modules ((ice-9 ftw)
+ ,@%gnu-build-system-modules)
#:phases
(modify-phases %standard-phases
+ ;; XXX After repacking the sources the timestamps are reset to the
+ ;; epoch, which leads to a failure in gzipping the CHANGES file.
+ (add-after 'unpack 'ensure-no-mtimes-pre-1980
+ (lambda _
+ (let ((early-1980 315619200)) ; 1980-01-02 UTC
+ (ftw "." (lambda (file stat flag)
+ (unless (<= early-1980 (stat:mtime stat))
+ (utime file early-1980 early-1980))
+ #t))
+ #t)))
(add-after 'build 'patch-exec-bin-sh
(lambda _
(substitute* "test/run"
@@ -64,10 +77,11 @@
;; this user does not exist within Guix's build environment.
(for-each (lambda (file)
(delete-file (string-append "test/" file)))
- '("setfacl-X.test" "cp.test" "misc.test"))))
+ '("setfacl-X.test" "cp.test" "misc.test"))
+ #t))
(replace 'install
(lambda _
- (zero? (system* "make" "install" "install-lib" "install-dev")))))))
+ (invoke "make" "install" "install-lib" "install-dev"))))))
(inputs `(("attr" ,attr)))
(native-inputs
`(("gettext" ,gettext-minimal)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 8f48e42fec..4755b3d7b7 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -894,13 +894,15 @@ at once based on a Perl regular expression.")
"0751mb9l2f0jrk3vj6q8ilanifd121dliwk0c34g8k0dlzsv3kd7"))
(modules '((guix build utils)))
(snippet
- '(substitute* "Makefile.in"
- (("-o \\$\\{LOG_OWN\\} -g \\$\\{LOG_GROUP\\}")
- ;; Don't try to chown root.
- "")
- (("mkdir -p \\$\\(ROTT_STATDIR\\)")
- ;; Don't attempt to create /var/lib/rottlog.
- "true")))))
+ '(begin
+ (substitute* "Makefile.in"
+ (("-o \\$\\{LOG_OWN\\} -g \\$\\{LOG_GROUP\\}")
+ ;; Don't try to chown root.
+ "")
+ (("mkdir -p \\$\\(ROTT_STATDIR\\)")
+ ;; Don't attempt to create /var/lib/rottlog.
+ "true"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list "ROTT_ETCDIR=/etc/rottlog" ;rc file location
@@ -964,7 +966,9 @@ system administrator.")
"00pxp74xkwdcmrjwy55j0k8p684jk1zx3nzdc11v30q8q8kwnmkj"))
(modules '((guix build utils)))
(snippet
- '(delete-file-recursively "lib/zlib"))))
+ '(begin
+ (delete-file-recursively "lib/zlib")
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -1358,9 +1362,11 @@ environment variable is set and output is to tty.")
(base32
"1nwvjmx7kb14ni34c0b8x9a3791pc20gvhj7xaj66d8q4h6n0qf4"))
(modules '((guix build utils)))
- (snippet '(substitute* "tests/testsuite"
- (("#![[:blank:]]?/bin/sh")
- "#!$SHELL")))))
+ (snippet '(begin
+ (substitute* "tests/testsuite"
+ (("#![[:blank:]]?/bin/sh")
+ "#!$SHELL"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -1748,14 +1754,16 @@ done with the @code{auditctl} utility.")
"08bga42ipymmbxd7wy4x5sl26c0ir1fm3n9rc6nqmhx69z66wyd8"))
(modules '((guix build utils)))
(snippet
- '(map delete-file-recursively
- ;; Remove bundled lua, pcap, and pcre libraries.
- ;; FIXME: Remove bundled liblinear once packaged.
- '("liblua"
- "libpcap"
- "libpcre"
- ;; Remove pre-compiled binares.
- "mswin32")))))
+ '(begin
+ (for-each delete-file-recursively
+ ;; Remove bundled lua, pcap, and pcre libraries.
+ ;; FIXME: Remove bundled liblinear once packaged.
+ '("liblua"
+ "libpcap"
+ "libpcre"
+ ;; Remove pre-compiled binares.
+ "mswin32"))
+ #t))))
(build-system gnu-build-system)
(inputs
`(("openssl" ,openssl)
@@ -2056,7 +2064,9 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
(snippet
;; Remove binaries contained in the tarball which are only for the
;; target and can be regenerated anyway.
- '(delete-file-recursively "bin"))
+ '(begin
+ (delete-file-recursively "bin")
+ #t))
(file-name (string-append name "-" version ".tar.gz"))))
(native-inputs
`(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 2aa1777db3..0f3e4229d8 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;;
@@ -519,31 +519,31 @@ a C program.")
(license license:bsd-3)))
(define-public fftw
- ;; TODO: Make this 3.3.7 (see below) on the next upgrade cycle.
(package
(name "fftw")
- (version "3.3.5")
+ (version "3.3.7")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.fftw.org/pub/fftw/fftw-"
version".tar.gz"))
(sha256
(base32
- "1kwbx92ps0r7s2mqy7lxbxanslxdzj7dp7r7gmdkzv1j8yqf3kwf"))))
+ "0wsms8narnbhfsa8chdflv2j9hzspvflblnqdn7hw8x5xdzrnq1v"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
'("--enable-shared" "--enable-openmp" "--enable-threads")
- #:phases (alist-cons-before
- 'build 'no-native
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'no-native
(lambda _
;; By default '-mtune=native' is used. However, that may
;; cause the use of ISA extensions (SSE2, etc.) that are
;; not necessarily available on the user's machine when
;; that package is built on a different machine.
(substitute* (find-files "." "Makefile$")
- (("-mtune=native") "")))
- %standard-phases)))
+ (("-mtune=native") ""))
+ #t)))))
(native-inputs `(("perl" ,perl)))
(home-page "http://fftw.org")
(synopsis "Computing the discrete Fourier transform")
@@ -579,25 +579,12 @@ cosine/ sine transforms or DCT/DST).")
(string-append (package-description fftw)
" With OpenMPI parallelism support."))))
-(define-public fftw-3.3.7
- ;; TODO: Make this the default 'fftw' on the next upgrade cycle.
- (package
- (inherit fftw)
- (version "3.3.7")
- (source (origin
- (method url-fetch)
- (uri (string-append "ftp://ftp.fftw.org/pub/fftw/fftw-"
- version".tar.gz"))
- (sha256
- (base32
- "0wsms8narnbhfsa8chdflv2j9hzspvflblnqdn7hw8x5xdzrnq1v"))))))
-
(define-public fftw-avx
(package
- (inherit fftw-3.3.7)
+ (inherit fftw)
(name "fftw-avx")
(arguments
- (substitute-keyword-arguments (package-arguments fftw-3.3.7)
+ (substitute-keyword-arguments (package-arguments fftw)
((#:configure-flags flags ''())
;; Enable AVX & co. See details at:
;; <http://fftw.org/fftw3_doc/Installation-on-Unix.html>.
@@ -743,7 +730,8 @@ Sine Transform} (DST) and @dfn{Discrete Hartley Transform} (DHT).")
;; See
;; https://bitbucket.org/eigen/eigen/commits/ea8c22ce6920e982d15245ee41d0531a46a28e5d
((".*svd_preallocate[^\n]*" &)
- (string-append "//" & " // Not supported by BDCSVD")))))))
+ (string-append "//" & " // Not supported by BDCSVD")))
+ #t))))
(build-system cmake-build-system)
(arguments
'(;; Turn off debugging symbols to save space.
diff --git a/gnu/packages/attr.scm b/gnu/packages/attr.scm
index fe102d211c..ff0a07aa67 100644
--- a/gnu/packages/attr.scm
+++ b/gnu/packages/attr.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2012, 2013, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -42,13 +43,14 @@
(modify-phases %standard-phases
(add-after 'configure 'patch-makefile-SHELL
(lambda _
- (patch-makefile-SHELL "include/buildmacros")))
+ (patch-makefile-SHELL "include/buildmacros")
+ #t))
(replace 'install
(lambda _
- (zero? (system* "make"
- "install"
- "install-lib"
- "install-dev"))))
+ (invoke "make"
+ "install"
+ "install-lib"
+ "install-dev")))
(replace 'check
(lambda* (#:key target #:allow-other-keys)
;; Use the right shell.
@@ -57,11 +59,14 @@
(which "sh")))
;; When building natively, run the tests.
+ ;;
+ ;; Note that we use system* and unconditionally return #t here
+ ;; to ignore the test result, because the tests will fail when
+ ;; the build is performed on a file system without support for
+ ;; extended attributes, and we wish to allow Guix to be built
+ ;; on such systems.
(unless target
(system* "make" "tests" "-C" "test"))
-
- ;; XXX: Ignore the test result since this is
- ;; dependent on the underlying file system.
#t)))))
(inputs
;; Perl is needed to run tests; remove it from cross builds.
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index d8569096ab..82fadfe175 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -209,7 +209,8 @@ streams from live audio.")
"libs/ardour/revision.cc"
(lambda (port)
(format port ,(string-append "#include \"ardour/revision.h\"
-namespace ARDOUR { const char* revision = \"" version "\" ; }")))))
+namespace ARDOUR { const char* revision = \"" version "\" ; }"))
+ #t)))
(sha256
(base32
"0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr"))
@@ -510,7 +511,9 @@ tools (analyzer, mono/stereo tools, crossovers).")
(modules '((guix build utils)))
(snippet
;; remove prebuilt binaries
- '(delete-file-recursively "linux_32bit"))))
+ '(begin
+ (delete-file-recursively "linux_32bit")
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
@@ -1091,7 +1094,7 @@ also play midifiles using a Soundfont.")
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
+ (replace 'bootstrap
(lambda _
(substitute* "bootstrap" (("\r\n") "\n"))
(zero? (system* "sh" "bootstrap")))))))
@@ -2483,12 +2486,6 @@ Tracker 3 S3M and Impulse Tracker IT files.")
("automake" ,automake)
("libtool" ,libtool)
("file" ,file)))
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "sh" "bootstrap")))))))
(home-page "http://www.surina.net/soundtouch/")
(synopsis
"Audio processing library for changing tempo, pitch and playback rate")
@@ -2751,8 +2748,10 @@ result.")
version ".tar.bz2"))
(snippet
;; Don't optimize for a specific processor architecture.
- '(substitute* "libs/Makefile"
- (("^CXXFLAGS \\+= -march=native") "")))
+ '(begin
+ (substitute* "libs/Makefile"
+ (("^CXXFLAGS \\+= -march=native") ""))
+ #t))
(modules '((guix build utils)))
(sha256
(base32
@@ -2796,8 +2795,10 @@ engine.")
version ".tar.bz2"))
(snippet
;; Don't optimize for a specific processor architecture.
- '(substitute* '("apps/Makefile" "libs/Makefile")
- (("^CXXFLAGS \\+= -march=native") "")))
+ '(begin
+ (substitute* '("apps/Makefile" "libs/Makefile")
+ (("^CXXFLAGS \\+= -march=native") ""))
+ #t))
(modules '((guix build utils)))
(sha256
(base32
@@ -2891,12 +2892,6 @@ point audio data.")
"01xi3rvdmil9nawsha04iagjylqr1l9v9vlzk99scs8c207l58i4"))))
(build-system gnu-build-system)
;; The source tarball is not bootstrapped.
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
- ;; Bootstrapping tools
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -3109,12 +3104,6 @@ mixers.")
(base32
"1qinf41wl2ihx54zmmhanycihwjkn7dn1cicq6pp4rqbiv79b95x"))))
(build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vif")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -3334,7 +3323,7 @@ representations.")
(list (string-append "cava_LDFLAGS = -L" lib " -Wl,-rpath " lib)))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
+ (replace 'bootstrap
(lambda* (#:key outputs #:allow-other-keys)
(setenv "HOME" (getcwd))
(invoke "sh" "autogen.sh")))
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 0f4ecc4ab6..b86c1c835a 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -3,11 +3,12 @@
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
-;;; Copyright © 2015, 2017 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -192,7 +193,8 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
(patch-shebang "configure"))
(exit (status:exit-val result))))
port)))
- (chmod (string-append bin "/autoconf") #o555)))))
+ (chmod (string-append bin "/autoconf") #o555)
+ #t))))
;; Do not show it in the UI since it's meant for internal use.
(properties '((hidden? . #t)))))
@@ -248,14 +250,14 @@ output is indexed in many ways to simplify browsing.")
(define-public automake
(package
(name "automake")
- (version "1.15.1")
+ (version "1.16.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/automake/automake-"
version ".tar.xz"))
(sha256
(base32
- "1bzd9g32dfm4rsbw93ld9x7b5nc1y6i4m6zp032qf1i28a8s6sxg"))
+ "08g979ficj18i1w6w5219bgmns7czr03iadf20mk3lrzl8wbn1ax"))
(patches
(search-patches "automake-skip-amhello-tests.patch"))))
(build-system gnu-build-system)
@@ -287,32 +289,33 @@ output is indexed in many ways to simplify browsing.")
(setenv "CONFIG_SHELL" sh)
#t)))
- ;; Files like `install-sh', `mdate.sh', etc. must use
- ;; #!/bin/sh, otherwise users could leak erroneous shebangs
- ;; in the wild. See <http://bugs.gnu.org/14201> for an
- ;; example.
- (add-after 'install 'unpatch-shebangs
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (dir (string-append out "/share")))
- (define (starts-with-shebang? file)
- (equal? (call-with-input-file file
- (lambda (p)
- (list (get-u8 p) (get-u8 p))))
- (map char->integer '(#\# #\!))))
+ ;; Files like `install-sh', `mdate.sh', etc. must use
+ ;; #!/bin/sh, otherwise users could leak erroneous shebangs
+ ;; in the wild. See <http://bugs.gnu.org/14201> for an
+ ;; example.
+ (add-after 'install 'unpatch-shebangs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (dir (string-append out "/share")))
+ (define (starts-with-shebang? file)
+ (equal? (call-with-input-file file
+ (lambda (p)
+ (list (get-u8 p) (get-u8 p))))
+ (map char->integer '(#\# #\!))))
- (for-each (lambda (file)
- (when (and (starts-with-shebang? file)
- (executable-file? file))
- (format #t "restoring shebang on `~a'~%"
- file)
- (substitute* file
- (("^#!.*/bin/sh")
- "#!/bin/sh")
- (("^#!.*/bin/env(.*)$" _ args)
- (string-append "#!/usr/bin/env"
- args)))))
- (find-files dir ".*"))))))))
+ (for-each (lambda (file)
+ (when (and (starts-with-shebang? file)
+ (executable-file? file))
+ (format #t "restoring shebang on `~a'~%"
+ file)
+ (substitute* file
+ (("^#!.*/bin/sh")
+ "#!/bin/sh")
+ (("^#!.*/bin/env(.*)$" _ args)
+ (string-append "#!/usr/bin/env"
+ args)))))
+ (find-files dir ".*"))
+ #t))))))
(home-page "https://www.gnu.org/software/automake/")
(synopsis "Making GNU standards-compliant Makefiles")
(description
@@ -322,21 +325,6 @@ intuitive format and then Automake works with Autoconf to produce a robust
Makefile, simplifying the entire process for the developer.")
(license gpl2+))) ; some files are under GPLv3+
-(define-public automake-1.16
- ;; Make this the default on the next rebuild cycle.
- (package
- (inherit automake)
- (version "1.16.1")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/automake/automake-"
- version ".tar.xz"))
- (sha256
- (base32
- "08g979ficj18i1w6w5219bgmns7czr03iadf20mk3lrzl8wbn1ax"))
- (patches
- (search-patches "automake-skip-amhello-tests.patch"))))))
-
(define-public libtool
(package
(name "libtool")
@@ -353,6 +341,9 @@ Makefile, simplifying the entire process for the developer.")
(propagated-inputs `(("m4" ,m4)))
(native-inputs `(("m4" ,m4)
("perl" ,perl)
+ ;; XXX: this shouldn't be necessary, but without it test
+ ;; 102 fails because it cannot find ltdl/libltdl.la.
+ ("libltdl" ,libltdl)
("help2man" ,help2man) ;because we modify ltmain.sh
("automake" ,automake) ;some tests rely on 'aclocal'
("autoconf" ,autoconf-wrapper))) ;others on 'autom4te'
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 2fafa2c4a6..628c39a6eb 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -278,9 +278,6 @@ random access nor for in-place modification.")
`(#:parallel-build? #f ;race conditions
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (invoke "autoreconf")))
(add-before 'build 'qualify-inputs
(lambda* (#:key inputs #:allow-other-keys)
;; This script is full of pitfalls. Fix some that particularly
@@ -468,7 +465,8 @@ detection, and lossless compression.")
;; Remove bundled shared libraries.
(with-directory-excursion "src/borg/algorithms"
(for-each delete-file-recursively
- (list "blake2" "lz4" "zstd")))))))
+ (list "blake2" "lz4" "zstd")))
+ #t))))
(build-system python-build-system)
(arguments
`(#:modules ((srfi srfi-26) ; for cut
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index e91f7d43ef..c6b21e725d 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -2,16 +2,17 @@
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
-;;; Copyright © 2016 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2016, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
@@ -168,16 +169,16 @@ implementation offers several extensions over the standard utility.")
(define-public tar
(package
(name "tar")
- (version "1.29")
+ (version "1.30")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/tar/tar-"
version ".tar.xz"))
(sha256
(base32
- "097hx7sbzp8qirl4m930lw84kn0wmxhmq7v1qpra3mrg0b8cyba0"))
- (patches (search-patches "tar-CVE-2016-6321.patch"
- "tar-skip-unreliable-tests.patch"))))
+ "1lyjyk8z8hdddsxw0ikchrsfg3i0x3fsh7l63a8jgaz1n7dr5gzi"))
+ (patches (search-patches "tar-skip-unreliable-tests.patch"
+ "tar-remove-wholesparse-check.patch"))))
(build-system gnu-build-system)
;; Note: test suite requires ~1GiB of disk space.
(arguments
@@ -189,7 +190,13 @@ implementation offers several extensions over the standard utility.")
(substitute* "src/system.c"
(("/bin/sh")
(string-append bash "/bin/sh")))
- #t))))))
+ #t))))
+
+ ;; Test #92 "link mismatch" expects "a/z: Not linked to a/y" but gets
+ ;; "a/y: Not linked to a/z" and fails, presumably due to differences in
+ ;; the order in which 'diff' traverses directories. That leads to a
+ ;; test failure even though conceptually the test passes. Skip it.
+ #:make-flags '("TESTSUITEFLAGS=-k '!link mismatch'")))
;; When cross-compiling, the 'set-shell-file-name' phase needs to be able
;; to refer to the target Bash.
@@ -211,14 +218,14 @@ standard utility.")
(define-public patch
(package
(name "patch")
- (version "2.7.5")
+ (version "2.7.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/patch/patch-"
version ".tar.xz"))
(sha256
(base32
- "16d2r9kpivaak948mxzc0bai45mqfw73m113wrkmbffnalv1b5gx"))
+ "1zfqy4rdcy279vwn2z1kbv19dcfw25d2aqy9nzvdkq5bjzd0nqdc"))
(patches (search-patches "patch-hurd-path-max.patch"))))
(build-system gnu-build-system)
(native-inputs `(("ed" ,ed)))
@@ -304,14 +311,14 @@ used to apply commands with arbitrarily long arguments.")
(define-public coreutils
(package
(name "coreutils")
- (version "8.28")
+ (version "8.29")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/coreutils/coreutils-"
version ".tar.xz"))
(sha256
(base32
- "0r8c1bgm68kl70j1lgd0rv12iykw6143k4m9a56xip9rc2hv25qi"))))
+ "0plm1zs9il6bb5mk881qvbghq4glc8ybbgakk2lfzb0w64fgml4j"))))
(build-system gnu-build-system)
(inputs `(("acl" ,acl) ; TODO: add SELinux
("gmp" ,gmp) ;bignums in 'expr', yay!
@@ -408,16 +415,15 @@ change. GNU make offers many powerful extensions over the standard utility.")
(define-public binutils
(package
(name "binutils")
- (version "2.28.1")
+ (version "2.30")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/binutils/binutils-"
version ".tar.bz2"))
(sha256
(base32
- "1sj234nd05cdgga1r36zalvvdkvpfbr12g5mir2n8i1dwsdrj939"))
- (patches (search-patches "binutils-ld-new-dtags.patch"
- "binutils-loongson-workaround.patch"))))
+ "028cklfqaab24glva1ks2aqa1zxa6w6xmc8q34zs1sb7h22dxspg"))
+ (patches (search-patches "binutils-loongson-workaround.patch"))))
(build-system gnu-build-system)
;; TODO: Add dependency on zlib + those for Gold.
@@ -426,6 +432,12 @@ change. GNU make offers many powerful extensions over the standard utility.")
;; on GCC when bootstrapping.
"LDFLAGS=-static-libgcc"
+ ;; Turn on --enable-new-dtags by default to make the
+ ;; linker set RUNPATH instead of RPATH on binaries.
+ ;; This is important because RUNPATH can be overriden
+ ;; using LD_LIBRARY_PATH at runtime.
+ "--enable-new-dtags"
+
;; Don't search under /usr/lib & co.
"--with-lib-path=/no-ld-lib-path"
@@ -538,7 +550,6 @@ store.")
;; Note: Always use a dot after the minor version since various places rely
;; on "version-major+minor" to determine where locales are found.
(version "2.26.105-g0890d5379c")
- (replacement glibc-2.26-patched)
(source (origin
(method url-fetch)
(uri (string-append "https://alpha.gnu.org/gnu/guix/mirror/"
@@ -551,13 +562,15 @@ store.")
;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is
;; required on LFS distros to avoid loading the distro's libc.so
;; instead of ours.
- '(substitute* "sysdeps/unix/sysv/linux/configure"
- (("use_ldconfig=yes")
- "use_ldconfig=no")))
+ '(begin
+ (substitute* "sysdeps/unix/sysv/linux/configure"
+ (("use_ldconfig=yes")
+ "use_ldconfig=no"))
+ #t))
(modules '((guix build utils)))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-versioned-locpath.patch"
- "glibc-o-largefile.patch"))))
+ "glibc-allow-kernel-2.6.32.patch"))))
(build-system gnu-build-system)
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
@@ -799,14 +812,13 @@ with the Linux kernel.")
;; Force mach/hurd/libpthread subdirs to build first in order to avoid
;; linking errors.
;; See <https://lists.gnu.org/archive/html/bug-hurd/2016-11/msg00045.html>
- (let ((-j (list "-j" (number->string (parallel-job-count)))))
- (let-syntax ((make (syntax-rules ()
- ((_ target)
- (zero? (apply system* "make" target -j))))))
- (and (make "mach/subdir_lib")
- (make "hurd/subdir_lib")
- (make "libpthread/subdir_lib")
- (zero? (apply system* "make" -j)))))))))
+ (let ((flags (list "-j" (number->string (parallel-job-count)))))
+ (define (make target)
+ (apply invoke "make" target flags))
+ (make "mach/subdir_lib")
+ (make "hurd/subdir_lib")
+ (make "libpthread/subdir_lib")
+ (apply invoke "make" flags))))))
((#:configure-flags original-configure-flags)
`(append (list "--host=i586-pc-gnu"
@@ -841,14 +853,6 @@ GLIBC/HURD for a Hurd host"
;; Below are old libc versions, which we use mostly to build locale data in
;; the old format (which the new libc cannot cope with.)
-(define glibc-2.26-patched
- (package
- (inherit glibc)
- (source (origin
- (inherit (package-source glibc))
- (patches (cons (search-patch "glibc-allow-kernel-2.6.32.patch")
- (origin-patches (package-source glibc))))))))
-
(define-public glibc-2.25
(package
(inherit glibc)
@@ -862,7 +866,6 @@ GLIBC/HURD for a Hurd host"
"1813dzkgw6v8q8q1m4v96yfis7vjqc9pslqib6j9mrwh6fxxjyq6"))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-versioned-locpath.patch"
- "glibc-o-largefile.patch"
"glibc-vectorized-strcspn-guards.patch"
"glibc-CVE-2017-1000366-pt1.patch"
"glibc-CVE-2017-1000366-pt2.patch"
@@ -881,7 +884,6 @@ GLIBC/HURD for a Hurd host"
"1lxmprg9gm73gvafxd503x70z32phwjzcy74i0adfi6ixzla7m4r"))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-versioned-locpath.patch"
- "glibc-o-largefile.patch"
"glibc-vectorized-strcspn-guards.patch"
"glibc-CVE-2015-5180.patch"
"glibc-CVE-2017-1000366-pt1.patch"
@@ -901,7 +903,6 @@ GLIBC/HURD for a Hurd host"
"1s8krs3y2n6pzav7ic59dz41alqalphv7vww4138ag30wh0fpvwl"))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-versioned-locpath.patch"
- "glibc-o-largefile.patch"
"glibc-vectorized-strcspn-guards.patch"
"glibc-CVE-2015-5180.patch"
"glibc-CVE-2016-3075.patch"
@@ -923,6 +924,7 @@ GLIBC/HURD for a Hurd host"
(base32
"0j49682pm2nh4qbdw35bas82p1pgfnz4d2l7iwfyzvrvj0318wzb"))
(patches (search-patches "glibc-ldd-x86_64.patch"
+ "glibc-o-largefile.patch"
"glibc-vectorized-strcspn-guards.patch"
"glibc-CVE-2015-5180.patch"
"glibc-CVE-2015-7547.patch"
@@ -965,8 +967,8 @@ the 'share/locale' sub-directory of this package.")
`(modify-phases ,phases
(replace 'build
(lambda _
- (zero? (system* "make" "localedata/install-locales"
- "-j" (number->string (parallel-job-count))))))
+ (invoke "make" "localedata/install-locales"
+ "-j" (number->string (parallel-job-count)))))
(delete 'install)
(delete 'move-static-libs)))
((#:configure-flags flags)
@@ -987,8 +989,7 @@ the 'share/locale' sub-directory of this package.")
(arguments
`(#:modules ((guix build utils))
#:builder (begin
- (use-modules (srfi srfi-1)
- (guix build utils))
+ (use-modules (guix build utils))
(let* ((libc (assoc-ref %build-inputs "glibc"))
(gzip (assoc-ref %build-inputs "gzip"))
@@ -999,27 +1000,27 @@ the 'share/locale' sub-directory of this package.")
(setenv "PATH" (string-append libc "/bin:" gzip "/bin"))
(mkdir-p localedir)
- (every (lambda (locale)
- (define file
- ;; Use the "normalized codeset" by
- ;; default--e.g., "en_US.utf8".
- (string-append localedir "/" locale ".utf8"))
-
- (and (zero? (system* "localedef" "--no-archive"
- "--prefix" localedir
- "-i" locale
- "-f" "UTF-8" file))
- (begin
- ;; For backward compatibility with Guix
- ;; <= 0.8.3, add "xx_YY.UTF-8".
- (symlink (string-append locale ".utf8")
- (string-append localedir "/"
- locale ".UTF-8"))
- #t)))
-
- ;; These are the locales commonly used for
- ;; tests---e.g., in Guile's i18n tests.
- '("de_DE" "el_GR" "en_US" "fr_FR" "tr_TR"))))))
+ (for-each (lambda (locale)
+ (define file
+ ;; Use the "normalized codeset" by
+ ;; default--e.g., "en_US.utf8".
+ (string-append localedir "/" locale ".utf8"))
+
+ (invoke "localedef" "--no-archive"
+ "--prefix" localedir
+ "-i" locale
+ "-f" "UTF-8" file)
+
+ ;; For backward compatibility with Guix
+ ;; <= 0.8.3, add "xx_YY.UTF-8".
+ (symlink (string-append locale ".utf8")
+ (string-append localedir "/"
+ locale ".UTF-8")))
+
+ ;; These are the locales commonly used for
+ ;; tests---e.g., in Guile's i18n tests.
+ '("de_DE" "el_GR" "en_US" "fr_FR" "tr_TR"))
+ #t))))
(inputs `(("glibc" ,glibc)
("gzip" ,gzip)))
(synopsis "Small sample of UTF-8 locales")
@@ -1063,30 +1064,25 @@ command.")
"--host=i586-pc-gnu"
"--enable-obsolete-rpc"))
((#:phases _)
- '(alist-replace
- 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (and (zero? (system* "make" "install-headers"))
-
- ;; Make an empty stubs.h to work around not being able to
- ;; produce a valid stubs.h and causing the build to fail. See
- ;; <http://lists.gnu.org/archive/html/guix-devel/2014-04/msg00233.html>.
- (let ((out (assoc-ref outputs "out")))
- (close-port
- (open-output-file
- (string-append out "/include/gnu/stubs.h"))))))
-
- ;; Nothing to build.
- (alist-delete
- 'build
-
- (alist-cons-before
- 'configure 'pre-configure
- (lambda _
- ;; Use the right 'pwd'.
- (substitute* "configure"
- (("/bin/pwd") "pwd")))
- %standard-phases))))))))
+ '(modify-phases %standard-phases
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "make" "install-headers")
+
+ ;; Make an empty stubs.h to work around not being able to
+ ;; produce a valid stubs.h and causing the build to fail. See
+ ;; <http://lists.gnu.org/archive/html/guix-devel/2014-04/msg00233.html>.
+ (let ((out (assoc-ref outputs "out")))
+ (close-port
+ (open-output-file
+ (string-append out "/include/gnu/stubs.h"))))))
+ (delete 'build) ; nothing to build
+ (add-before 'configure 'patch-configure-script
+ (lambda _
+ ;; Use the right 'pwd'.
+ (substitute* "configure"
+ (("/bin/pwd") "pwd"))
+ #t))))))))
(define-public tzdata
(package
@@ -1125,8 +1121,8 @@ command.")
(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source inputs #:allow-other-keys)
- (and (zero? (system* "tar" "xvf" source))
- (zero? (system* "tar" "xvf" (assoc-ref inputs "tzcode"))))))
+ (invoke "tar" "xvf" source)
+ (invoke "tar" "xvf" (assoc-ref inputs "tzcode"))))
(add-after 'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
;; Move data in the right place.
@@ -1138,7 +1134,8 @@ command.")
(copy-recursively (string-append out "/share/zoneinfo-leaps")
(string-append out "/share/zoneinfo/right"))
(delete-file-recursively
- (string-append out "/share/zoneinfo-leaps")))))
+ (string-append out "/share/zoneinfo-leaps"))
+ #t)))
(delete 'configure))))
(inputs `(("tzcode" ,(origin
(method url-fetch)
@@ -1198,9 +1195,11 @@ and daylight-saving rules.")
(snippet
;; Work around "declared gets" error on glibc systems (fixed by
;; Gnulib commit 66712c23388e93e5c518ebc8515140fa0c807348.)
- '(substitute* "srclib/stdio.in.h"
- (("^#undef gets") "")
- (("^_GL_WARN_ON_USE \\(gets.*") "")))))
+ '(begin
+ (substitute* "srclib/stdio.in.h"
+ (("^#undef gets") "")
+ (("^_GL_WARN_ON_USE \\(gets.*") ""))
+ #t))))
(build-system gnu-build-system)
(synopsis "Character set conversion library")
(description
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index b8b0ae58f6..52d93e8e7e 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
@@ -71,7 +71,14 @@
(9 "0g1l56kvw61rpw7dqa9fcl9llkl693h73g631hrhxlm030ddssqb")
(10 "01lfhrkdsdkdz8ypzapr614ras23x7ckjnr60aa5bzkaqprccrc4")
(11 "038p7mhnq9m65g505hi3827jkf9f35nd1cy00w8mwafpyxp44mnx")
- (12 "0gh6lbb1rwpk44pvbamm6vzdfi50xnwkqd9v7s8cjwk3pz973hps")))
+ (12 "0gh6lbb1rwpk44pvbamm6vzdfi50xnwkqd9v7s8cjwk3pz973hps")
+ (13 "1djkx0w9v62q78gz3jsvamj1jq53i6hbfrfhhsw86ihwpjnfy98v")
+ (14 "0z5ikcq9zyxw79d0z36r5p0mspnb5piavbv03jmlan1wnknmrxx7")
+ (15 "09n307fi1j257abhm295k6ksmnzw47ka2zhnr0i5lbdnpvn04xnk")
+ (16 "1cgi1y6mifm8hsgv4avj5ih76535js3qba1sqwbfvp7si76927sh")
+ (17 "0w6jpj2giakji1ir83rpkx1y7n7xqppah3j748m6dm38hywr0gvp")
+ (18 "1k58h4wxbsg7r4rwhrvzx5hfbapba2nxjysbhh6qp6ki5ys99i2v")
+ (19 "07n1i5610lbs672x1s8g82qn3qfj06s0ip3z80sri0g8vxp0s5r7")))
(define (download-patches store count)
"Download COUNT Bash patches into store. Return a list of
@@ -92,9 +99,7 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
1))
(define-public bash
- (let* ((cppflags (string-join '("-DSYS_BASHRC='\"/etc/bashrc\"'"
- "-DSYS_BASH_LOGOUT='\"/etc/bash_logout\"'"
- "-DDEFAULT_PATH_VALUE='\"/no-such-path\"'"
+ (let* ((cppflags (string-join '("-DDEFAULT_PATH_VALUE='\"/no-such-path\"'"
"-DSTANDARD_UTILS_PATH='\"/no-such-path\"'"
"-DNON_INTERACTIVE_LOGIN_SHELLS"
"-DSSH_SOURCE_BASHRC")
@@ -159,7 +164,8 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
;; Add a `sh' -> `bash' link.
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion (string-append out "/bin")
- (symlink "bash" "sh")))))
+ (symlink "bash" "sh")
+ #t))))
(add-after 'install 'move-development-files
(lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index f9fda96bb2..10e8fe848f 100644
--- a/gnu/packages/bdw-gc.scm
+++ b/gnu/packages/bdw-gc.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
@@ -30,14 +30,14 @@
(define-public libgc
(package
(name "libgc")
- (version "7.6.0")
+ (version "7.6.4")
(source (origin
(method url-fetch)
(uri (string-append "http://www.hboehm.info/gc/gc_source/gc-"
version ".tar.gz"))
(sha256
(base32
- "143x7g0d0k6250ai6m2x3l4y352mzizi4wbgrmahxscv2aqjhjm1"))))
+ "076dzsqqyxd3nlzs0z277vvhqjp8nv5dqi763s0m90zr6ljiyk5r"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -91,7 +91,7 @@ C or C++ programs, though that is not its primary goal.")
(define-public libatomic-ops
(package
(name "libatomic-ops")
- (version "7.4.8")
+ (version "7.6.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -99,13 +99,13 @@ C or C++ programs, though that is not its primary goal.")
version "/libatomic_ops-" version ".tar.gz"))
(sha256
(base32
- "0sj3plzpbqgxrqpjq3w2zi3zxxqqps71ncdwk5s1k30i9d9da1f4"))))
+ "1rif2hjscq5mh639nsnjhb90c01gnmy1sbmj6x6hsn1xmpnj95r1"))))
(build-system gnu-build-system)
(outputs '("out" "debug"))
(synopsis "Accessing hardware atomic memory update operations")
(description
"This C library provides semi-portable access to hardware-provided atomic
-memory update operations on a number architectures. These might allow you to
+memory update operations on a number of architectures. These might allow you to
write code that does more interesting things in signal handlers, write
lock-free code, experiment with thread programming paradigms, etc.")
(home-page "https://github.com/ivmai/libatomic_ops/")
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 78754793a5..426618147f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -296,9 +296,10 @@ BAM files.")
"0093hkkvxmbwfaa7905s6185jymynvg42kq6sxv7fili11l5mxwz"))
(patches (search-patches "bcftools-regidx-unsigned-char.patch"))
(modules '((guix build utils)))
- (snippet
- ;; Delete bundled htslib.
- '(delete-file-recursively "htslib-1.5"))))
+ (snippet '(begin
+ ;; Delete bundled htslib.
+ (delete-file-recursively "htslib-1.5")
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -1195,10 +1196,12 @@ errors at the end of reads.")
"0hwa5r9qbglppb7sz5z79rlmmddr3n51n468jb3wh8rwjgn3yr90"))
(modules '((guix build utils)))
(snippet
- '(substitute* "Makefile"
- ;; replace BUILD_HOST and BUILD_TIME for deterministic build
- (("-DBUILD_HOST=.*") "-DBUILD_HOST=\"\\\"guix\\\"\"")
- (("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\"")))))
+ '(begin
+ (substitute* "Makefile"
+ ;; replace BUILD_HOST and BUILD_TIME for deterministic build
+ (("-DBUILD_HOST=.*") "-DBUILD_HOST=\"\\\"guix\\\"\"")
+ (("-DBUILD_TIME=.*") "-DBUILD_TIME=\"\\\"0\\\"\""))
+ #t))))
(build-system gnu-build-system)
(inputs
`(("perl" ,perl)
@@ -1392,10 +1395,12 @@ well as many of the command line options.")
"15z2w3bvnc0n4qmb9bd6d8ylc2h2nj883x2w9iixf4x3vki9b22i"))
(modules '((guix build utils)))
(snippet
- '(substitute* "setup.py"
- ;; remove dependency on outdated "distribute" module
- (("^from distribute_setup import use_setuptools") "")
- (("^use_setuptools\\(\\)") "")))))
+ '(begin
+ (substitute* "setup.py"
+ ;; remove dependency on outdated "distribute" module
+ (("^from distribute_setup import use_setuptools") "")
+ (("^use_setuptools\\(\\)") ""))
+ #t))))
(build-system python-build-system)
(arguments
`(#:tests? #f ;tests fail because test data are not included
@@ -1427,9 +1432,11 @@ multiple sequence alignments.")
(base32
"0dzap2axin9cbbl0d825w294bpn00zagfm1sigamm4v2pm5bj9lp"))
(modules '((guix build utils)))
- (snippet
- ;; Drop bundled htslib. TODO: Also remove samtools and bcftools.
- '(delete-file-recursively "htslib"))))
+ (snippet '(begin
+ ;; Drop bundled htslib. TODO: Also remove samtools
+ ;; and bcftools.
+ (delete-file-recursively "htslib")
+ #t))))
(build-system python-build-system)
(arguments
`(#:modules ((ice-9 ftw)
@@ -1801,9 +1808,10 @@ time.")
;; for download from Sourceforge, but it has not been merged.
(patches (search-patches "crossmap-allow-system-pysam.patch"))
(modules '((guix build utils)))
- ;; remove bundled copy of pysam
- (snippet
- '(delete-file-recursively "lib/pysam"))))
+ (snippet '(begin
+ ;; remove bundled copy of pysam
+ (delete-file-recursively "lib/pysam")
+ #t))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
@@ -1912,7 +1920,8 @@ files.")
(snippet
'(begin
;; Delete bundled libBigWig sources
- (delete-file-recursively "libBigWig")))))
+ (delete-file-recursively "libBigWig")
+ #t))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -3786,9 +3795,11 @@ sequences).")
"08znbvqq5xknfhmpp3wcj574zvi4p7i8zifi67c9qw9a6ikp42fj"))
(modules '((guix build utils)))
(snippet
- ;; Delete bundled kseq.
- ;; TODO: Also delete bundled murmurhash and open bloom filter.
- '(delete-file "src/mash/kseq.h"))))
+ '(begin
+ ;; Delete bundled kseq.
+ ;; TODO: Also delete bundled murmurhash and open bloom filter.
+ (delete-file "src/mash/kseq.h")
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No tests.
@@ -3966,18 +3977,19 @@ assembled metagenomic sequence.")
(base32
"1z3x0vd8ma7pdrnywj7i3kgwl89sdkwrrn62zl7r5calqaq2hyip"))
(modules '((guix build utils)))
- (snippet
- '(substitute* "setup.py"
- ;; Use setuptools, or else the executables are not
- ;; installed.
- (("distutils.core") "setuptools")
- ;; use "gcc" instead of "cc" for compilation
- (("^defines")
- "cc.set_executables(
+ (snippet '(begin
+ (substitute* "setup.py"
+ ;; Use setuptools, or else the executables are not
+ ;; installed.
+ (("distutils.core") "setuptools")
+ ;; use "gcc" instead of "cc" for compilation
+ (("^defines")
+ "cc.set_executables(
compiler='gcc',
compiler_so='gcc',
linker_exe='gcc',
-linker_so='gcc -shared'); defines")))))
+linker_so='gcc -shared'); defines"))
+ #t))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; only Python 2 is supported
@@ -4778,7 +4790,8 @@ BAM and Wiggle files in both transcript-coordinate and genomic-coordinate.")
(("^from distribute_setup import use_setuptools") "")
(("^use_setuptools\\(\\)") "")
;; do not use bundled copy of pysam
- (("^have_pysam = False") "have_pysam = True"))))))
+ (("^have_pysam = False") "have_pysam = True"))
+ #t))))
(build-system python-build-system)
(arguments `(#:python ,python-2))
(inputs
@@ -4829,9 +4842,9 @@ distribution, coverage uniformity, strand specificity, etc.")
"Data2DB"
"PCL2Bin")))
(modify-phases %standard-phases
- (add-before 'configure 'bootstrap
+ (replace 'bootstrap
(lambda _
- (zero? (system* "bash" "gen_auto"))))
+ (invoke "bash" "gen_auto")))
(add-after 'build 'build-additional-tools
(lambda* (#:key make-flags #:allow-other-keys)
(every (lambda (dir)
@@ -5334,9 +5347,10 @@ structures, classes for genomic regions, mapped sequencing reads, etc.")
(sha256
(base32 "08r684l50pnxjpvmhzjgqq56yv9rfw90k8vx0nsrnrzk8mf9hsdq"))
(modules '((guix build utils)))
- (snippet
- ;; Remove bundled samtools.
- '(delete-file-recursively "samtools"))))
+ (snippet '(begin
+ ;; Remove bundled samtools.
+ (delete-file-recursively "samtools")
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
@@ -10938,13 +10952,6 @@ droplet sequencing. It has been particularly tailored for Drop-seq.")
(sha256
(base32
"0g38g8s3npr0gjm9fahlbhiskyfws9l5i0x1ml3rakzj7az5l9c9"))))
- (arguments
- (substitute-keyword-arguments (package-arguments htslib)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vif"))))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -11815,7 +11822,8 @@ bytes of memory space, where n is the length of the string.")
(snippet
'(begin (delete-file-recursively "include/spdlog")
(for-each delete-file '("include/xxhash.h"
- "src/xxhash.c"))))))
+ "src/xxhash.c"))
+ #t))))
("libdivsufsort" ,libdivsufsort)
("libgff" ,libgff)
("tbb" ,tbb)
@@ -12540,7 +12548,8 @@ contains
(snippet
'(begin
(for-each delete-file (find-files "jar/lib" "\\.jar$"))
- (delete-file-recursively "3rdParty")))))
+ (delete-file-recursively "3rdParty")
+ #t))))
(build-system ant-build-system)
(arguments
`(#:tests? #f ; test data are not included
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index f4ba82810a..ebfe2a82bf 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -6,6 +6,8 @@
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,7 +39,7 @@
(define-public boost
(package
(name "boost")
- (version "1.64.0")
+ (version "1.66.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -46,7 +48,7 @@
".tar.bz2"))
(sha256
(base32
- "0cikd35xfkpg9nnl76yqqnqxnf3hyfjjww8xjd4akflprsm5rk3v"))))
+ "1aaw48cmimsskzgiclwn0iifp62a5iw9cbqrhfari876af1828ap"))))
(build-system gnu-build-system)
(inputs `(("icu4c" ,icu4c)
("zlib" ,zlib)))
@@ -73,8 +75,8 @@
'()))
#:phases
(modify-phases %standard-phases
- (replace
- 'configure
+ (delete 'bootstrap)
+ (replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* '("libs/config/configure"
@@ -88,21 +90,22 @@
(setenv "SHELL" (which "sh"))
(setenv "CONFIG_SHELL" (which "sh"))
- (zero? (system* "./bootstrap.sh"
- (string-append "--prefix=" out)
- "--with-toolset=gcc")))))
- (replace
- 'build
+ (invoke "./bootstrap.sh"
+ (string-append "--prefix=" out)
+ "--with-toolset=gcc")
+ #t)))
+ (replace 'build
(lambda* (#:key outputs make-flags #:allow-other-keys)
- (zero? (apply system* "./b2"
- (format #f "-j~a" (parallel-job-count))
- make-flags))))
- (replace
- 'install
+ (apply invoke "./b2"
+ (format #f "-j~a" (parallel-job-count))
+ make-flags)
+ #t))
+ (replace 'install
(lambda* (#:key outputs make-flags #:allow-other-keys)
- (zero? (apply system* "./b2" "install" make-flags)))))))
+ (apply invoke "./b2" "install" make-flags)
+ #t)))))
- (home-page "http://boost.org")
+ (home-page "http://www.boost.org")
(synopsis "Peer-reviewed portable C++ source libraries")
(description
"A collection of libraries intended to be widely useful, and usable
@@ -110,20 +113,6 @@ across a broad spectrum of applications.")
(license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences."))))
-(define-public boost-1.66
- (package
- (inherit boost)
- (version "1.66.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://sourceforge/boost/boost/" version "/boost_"
- (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)
- ".tar.bz2"))
- (sha256
- (base32
- "1aaw48cmimsskzgiclwn0iifp62a5iw9cbqrhfari876af1828ap"))))))
-
(define-public mdds
(package
(name "mdds")
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 27f2053c43..f332018f19 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
@@ -98,10 +98,10 @@
(define* (package-from-tarball name source program-to-test description
#:key snippet)
"Return a package that correspond to the extraction of SOURCE.
-PROGRAM-TO-TEST is a program to run after extraction of SOURCE, to
-check whether everything is alright. If SNIPPET is provided, it is
-evaluated after extracting SOURCE. SNIPPET should return true if
-successful, or false to signal an error."
+PROGRAM-TO-TEST is a program to run after extraction of SOURCE, to check
+whether everything is alright. If SNIPPET is provided, it is evaluated after
+extracting SOURCE. SNIPPET should raise an exception to signal an error; its
+return value is ignored."
(package
(name name)
(version "0")
@@ -118,14 +118,14 @@ successful, or false to signal an error."
(mkdir out)
(copy-file tarball "binaries.tar.xz")
- (system* xz "-d" "binaries.tar.xz")
+ (invoke xz "-d" "binaries.tar.xz")
(let ((builddir (getcwd)))
(with-directory-excursion out
- (and (zero? (system* tar "xvf"
- (string-append builddir "/binaries.tar")))
- ,@(if snippet (list snippet) '())
- (zero? (system* (string-append "bin/" ,program-to-test)
- "--version"))))))))
+ (invoke tar "xvf"
+ (string-append builddir "/binaries.tar"))
+ ,@(if snippet (list snippet) '())
+ (invoke (string-append "bin/" ,program-to-test)
+ "--version"))))))
(inputs
`(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
("xz" ,(search-bootstrap-binary "xz" (%current-system)))
@@ -390,8 +390,7 @@ $out/bin/guile --version~%"
(if (not (elf-file? "bin/egrep"))
(substitute* '("bin/egrep" "bin/fgrep")
(("^exec grep") (string-append (getcwd) "/bin/grep"))))
- (chmod "bin" #o555)
- #t)))
+ (chmod "bin" #o555))))
(define %bootstrap-binutils
(package-from-tarball "binutils-bootstrap"
@@ -446,18 +445,20 @@ $out/bin/guile --version~%"
(mkdir out)
(copy-file tarball "binaries.tar.xz")
- (system* xz "-d" "binaries.tar.xz")
+ (invoke xz "-d" "binaries.tar.xz")
(let ((builddir (getcwd)))
(with-directory-excursion out
- (system* tar "xvf"
- (string-append builddir
- "/binaries.tar"))
+ (invoke tar "xvf"
+ (string-append builddir
+ "/binaries.tar"))
(chmod "lib" #o755)
;; Patch libc.so so it refers to the right path.
(substitute* "lib/libc.so"
(("/[^ ]+/lib/(libc|ld)" _ prefix)
- (string-append out "/lib/" prefix))))))))
+ (string-append out "/lib/" prefix)))
+
+ #t)))))
(inputs
`(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
("xz" ,(search-bootstrap-binary "xz" (%current-system)))
@@ -518,12 +519,12 @@ $out/bin/guile --version~%"
(mkdir out)
(copy-file tarball "binaries.tar.xz")
- (system* xz "-d" "binaries.tar.xz")
+ (invoke xz "-d" "binaries.tar.xz")
(let ((builddir (getcwd))
(bindir (string-append out "/bin")))
(with-directory-excursion out
- (system* tar "xvf"
- (string-append builddir "/binaries.tar")))
+ (invoke tar "xvf"
+ (string-append builddir "/binaries.tar")))
(with-directory-excursion bindir
(chmod "." #o755)
@@ -538,7 +539,8 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
out libc libc libc
,(glibc-dynamic-linker))))
- (chmod "gcc" #o555))))))
+ (chmod "gcc" #o555)
+ #t)))))
(inputs
`(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
("xz" ,(search-bootstrap-binary "xz" (%current-system)))
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 2e51544b05..6d33b917e1 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -188,9 +188,11 @@ files.")
(patches (search-patches "cdparanoia-fpic.patch"))
(modules '((guix build utils)))
(snippet
- ;; Make libraries respect LDFLAGS.
- '(substitute* '("paranoia/Makefile.in" "interface/Makefile.in")
- (("-Wl,-soname") "$(LDFLAGS) -Wl,-soname")))))
+ '(begin
+ ;; Make libraries respect LDFLAGS.
+ (substitute* '("paranoia/Makefile.in" "interface/Makefile.in")
+ (("-Wl,-soname") "$(LDFLAGS) -Wl,-soname"))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there is no check target
@@ -449,9 +451,11 @@ the data.")
"0qrcvn7227qaayjcd5rm7z0k5q89qfy5qkdgwr5pd7ih0va8rmpz"))
(modules '((guix build utils)))
(snippet
- '(substitute* "Makefile"
- (("/usr/bin/install")
- "install")))))
+ '(begin
+ (substitute* "Makefile"
+ (("/usr/bin/install")
+ "install"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
@@ -479,11 +483,13 @@ from an audio CD.")
"0f9bjs0phk23vry7gvh0cll9vl6kmc1y4fwwh762scfdvpbp3774"))
(modules '((guix build utils)))
(snippet
- '(substitute* "Makefile"
- (("/usr/bin/install")
- "install")
- (("^etcdir = .*$")
- (string-append "etcdir = $(prefix)/etc\n"))))))
+ '(begin
+ (substitute* "Makefile"
+ (("/usr/bin/install")
+ "install")
+ (("^etcdir = .*$")
+ (string-append "etcdir = $(prefix)/etc\n")))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 73d3efd9e1..baebcb9b77 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -24,7 +24,7 @@
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
-;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
@@ -104,9 +104,11 @@ source code editors and IDEs.")
(build-system gnu-build-system)
(arguments '(#:phases
(modify-phases %standard-phases
- (add-before 'configure 'autoconf
- (lambda _
- (zero? (system* "autoreconf" "-vfi")))))))
+ ;; XXX: The "bootstrap" phase detects the "bootstrap"
+ ;; script, but fails to execute it, so we bootstrap
+ ;; manually.
+ (replace 'bootstrap
+ (lambda _ (invoke "autoreconf" "-vfi"))))))
(native-inputs
`(("automake" ,automake)
("autoconf" ,autoconf)
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index bb7767670d..c8e76b8ab4 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -74,8 +74,10 @@
(modules '((guix build utils)))
(snippet
;; Fix compilation with glibc >= 2.26, which removed xlocale.h.
- '(substitute* "c/expeditor.c"
- (("xlocale\\.h") "locale.h")))))
+ '(begin
+ (substitute* "c/expeditor.c"
+ (("xlocale\\.h") "locale.h"))
+ #t))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index a559a4011d..9e5d42952f 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -147,9 +147,6 @@
(string-append "--docdir=" %output
"/doc/hydra-" ,version)))
#:phases (modify-phases %standard-phases
- (add-after
- 'unpack 'bootstrap
- (lambda _ (zero? (system* "autoreconf" "-vfi"))))
(add-before
'check 'check-setup
(lambda _ (setenv "LOGNAME" "test.log")))
@@ -221,8 +218,6 @@ their dependencies.")
(substitute* "build-aux/git-version-gen"
(("#!/bin/sh") (string-append "#!" (which "sh"))))
#t))
- (add-after 'patch-/bin/sh 'bootstrap
- (lambda _ (zero? (system* "sh" "bootstrap"))))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Wrap the 'cuirass' command to refer to the right modules.
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 979c7a72b8..d454056668 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -414,7 +414,8 @@ functionality such as HTML output.")
(let ((files (find-files "." ".*\\.cpp|.*\\.h")))
(substitute* files
(("#include ?\"rct/(.*.h)\"" all header)
- (string-append "#include <rct/" header ">"))))))
+ (string-append "#include <rct/" header ">")))
+ #t)))
(sha256
(base32
"0scjbp1z201q8njvrxqz7lk2m9b6k2rxd5q1shrng6532r7ndif2"))))
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index fe9fbebcc2..92766de6e7 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -90,12 +91,14 @@
`(modify-phases ,phases
(replace 'build
(lambda _
- (zero? (system* "./build.sh"))))
+ (invoke "./build.sh")
+ #t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
- (install-file "make" bin)))))))))
+ (install-file "make" bin)
+ #t))))))))
(native-inputs '()) ; no need for 'pkg-config'
(inputs %bootstrap-inputs))))
@@ -183,28 +186,12 @@
,cf)))))
(inputs %boot0-inputs))))
-;; gcc-4.9 was fixed late in the core-update cycle and so this GCC is only
-;; needed to prevent a full world rebuild, and can be replaced with gcc-4.9.
-(define gcc-for-libstdc++
- (package (inherit gcc-4.9)
- (version "4.9.4")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/gcc/gcc-"
- version "/gcc-" version ".tar.bz2"))
- (sha256
- (base32
- "14l06m7nvcvb0igkbip58x59w3nq6315k6jcz3wr9ch1rn9d44bc"))
- (patches (search-patches "gcc-arm-bug-71399.patch"
- "gcc-libvtv-runpath.patch"
- "gcc-fix-texi2pod.patch"))))))
-
(define libstdc++-boot0
;; GCC's libcc1 is always built as a shared library (the top-level
;; 'Makefile.def' forcefully adds --enable-shared) and thus needs to refer
;; to libstdc++.so. We cannot build libstdc++-5.3 because it relies on
;; C++14 features missing in some of our bootstrap compilers.
- (let ((lib (package-with-bootstrap-guile (make-libstdc++ gcc-for-libstdc++))))
+ (let ((lib (package-with-bootstrap-guile (make-libstdc++ gcc-4.9))))
(package
(inherit lib)
(name "libstdc++-boot0")
@@ -262,42 +249,40 @@
"--(with-system-zlib|enable-languages.*)" <>)
,flags)))
((#:phases phases)
- `(alist-cons-after
- 'unpack 'unpack-gmp&co
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((gmp (assoc-ref %build-inputs "gmp-source"))
- (mpfr (assoc-ref %build-inputs "mpfr-source"))
- (mpc (assoc-ref %build-inputs "mpc-source")))
-
- ;; To reduce the set of pre-built bootstrap inputs, build
- ;; GMP & co. from GCC.
- (for-each (lambda (source)
- (or (zero? (system* "tar" "xvf" source))
- (error "failed to unpack tarball"
- source)))
- (list gmp mpfr mpc))
-
- ;; Create symlinks like `gmp' -> `gmp-x.y.z'.
- ,@(map (lambda (lib)
- ;; Drop trailing letters, as gmp-6.0.0a unpacks
- ;; into gmp-6.0.0.
- `(symlink ,(string-trim-right
- (package-full-name lib)
- char-set:letter)
- ,(package-name lib)))
- (list gmp-6.0 mpfr mpc))))
- (alist-cons-after
- 'install 'symlink-libgcc_eh
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "lib")))
- ;; Glibc wants to link against libgcc_eh, so provide
- ;; it.
- (with-directory-excursion
- (string-append out "/lib/gcc/"
- ,(boot-triplet)
- "/" ,(package-version gcc))
- (symlink "libgcc.a" "libgcc_eh.a"))))
- ,phases))))))
+ `(modify-phases ,phases
+ (add-after 'unpack 'unpack-gmp&co
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((gmp (assoc-ref %build-inputs "gmp-source"))
+ (mpfr (assoc-ref %build-inputs "mpfr-source"))
+ (mpc (assoc-ref %build-inputs "mpc-source")))
+
+ ;; To reduce the set of pre-built bootstrap inputs, build
+ ;; GMP & co. from GCC.
+ (for-each (lambda (source)
+ (invoke "tar" "xvf" source))
+ (list gmp mpfr mpc))
+
+ ;; Create symlinks like `gmp' -> `gmp-x.y.z'.
+ ,@(map (lambda (lib)
+ ;; Drop trailing letters, as gmp-6.0.0a unpacks
+ ;; into gmp-6.0.0.
+ `(symlink ,(string-trim-right
+ (package-full-name lib)
+ char-set:letter)
+ ,(package-name lib)))
+ (list gmp-6.0 mpfr mpc))
+ #t)))
+ (add-after 'install 'symlink-libgcc_eh
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "lib")))
+ ;; Glibc wants to link against libgcc_eh, so provide
+ ;; it.
+ (with-directory-excursion
+ (string-append out "/lib/gcc/"
+ ,(boot-triplet)
+ "/" ,(package-version gcc))
+ (symlink "libgcc.a" "libgcc_eh.a"))
+ #t))))))))
(inputs `(("gmp-source" ,(package-source gmp-6.0))
("mpfr-source" ,(package-source mpfr))
@@ -512,29 +497,29 @@ the bootstrap environment."
"--enable-obsolete-rpc")
,flags))
((#:phases phases)
- `(alist-cons-before
- 'configure 'pre-configure
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Don't clobber CPATH with the bootstrap libc.
- (setenv "NATIVE_CPATH" (getenv "CPATH"))
- (unsetenv "CPATH")
-
- ;; Tell 'libpthread' where to find 'libihash' on Hurd systems.
- ,@(if (hurd-triplet? (%current-system))
- `((substitute* "libpthread/Makefile"
- (("LDLIBS-pthread.so =.*")
- (string-append "LDLIBS-pthread.so = "
- (assoc-ref %build-inputs "kernel-headers")
- "/lib/libihash.a\n"))))
- '())
-
- ;; 'rpcgen' needs native libc headers to be built.
- (substitute* "sunrpc/Makefile"
- (("sunrpc-CPPFLAGS =.*" all)
- (string-append "CPATH = $(NATIVE_CPATH)\n"
- "export CPATH\n"
- all "\n"))))
- ,phases)))))
+ `(modify-phases ,phases
+ (add-before 'configure 'pre-configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Don't clobber CPATH with the bootstrap libc.
+ (setenv "NATIVE_CPATH" (getenv "CPATH"))
+ (unsetenv "CPATH")
+
+ ;; Tell 'libpthread' where to find 'libihash' on Hurd systems.
+ ,@(if (hurd-triplet? (%current-system))
+ `((substitute* "libpthread/Makefile"
+ (("LDLIBS-pthread.so =.*")
+ (string-append "LDLIBS-pthread.so = "
+ (assoc-ref %build-inputs "kernel-headers")
+ "/lib/libihash.a\n"))))
+ '())
+
+ ;; 'rpcgen' needs native libc headers to be built.
+ (substitute* "sunrpc/Makefile"
+ (("sunrpc-CPPFLAGS =.*" all)
+ (string-append "CPATH = $(NATIVE_CPATH)\n"
+ "export CPATH\n"
+ all "\n")))
+ #t)))))))
(propagated-inputs `(("kernel-headers" ,(kernel-headers-boot0))))
(native-inputs
`(("texinfo" ,texinfo-boot0)
@@ -652,7 +637,8 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; Build only the tools.
(add-after 'unpack 'chdir
(lambda _
- (chdir "gettext-tools")))
+ (chdir "gettext-tools")
+ #t))
;; Some test programs require pthreads, which we don't have.
(add-before 'configure 'no-test-programs
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 05442024f6..3f486d38c1 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
@@ -97,9 +97,8 @@
,@(if (%current-target-system)
`((setenv "CHOST" ,(%current-target-system)))
'())
- (zero?
- (system* "./configure"
- (string-append "--prefix=" out)))))))))
+ (invoke "./configure"
+ (string-append "--prefix=" out))))))))
(home-page "https://zlib.net/")
(synopsis "Compression library")
(description
@@ -201,14 +200,14 @@ adding and extracting files to/from a tar archive.")
(define-public gzip
(package
(name "gzip")
- (version "1.8")
+ (version "1.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gzip/gzip-"
version ".tar.xz"))
(sha256
(base32
- "1lxv3p4iyx7833mlihkn5wfwmz4cys5nybwpz3dfawag8kn6f5zz"))))
+ "16h8g4acy7fgfxcjacr3wijjsnixwsfd2jhz3zwdi2qrzi262l5f"))))
(build-system gnu-build-system)
(synopsis "General file (de)compression (using lzw)")
(arguments
@@ -251,33 +250,31 @@ file; as a result, it is often used in conjunction with \"tar\", resulting in
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key target #:allow-other-keys)
- (if ,(%current-target-system)
- ;; Cross-compilation: use the cross tools.
- (substitute* (find-files "." "Makefile")
- (("CC=.*$")
- (string-append "CC = " target "-gcc\n"))
- (("AR=.*$")
- (string-append "AR = " target "-ar\n"))
- (("RANLIB=.*$")
- (string-append "RANLIB = " target "-ranlib\n"))
- (("^all:(.*)test" _ prerequisites)
- ;; Remove 'all' -> 'test' dependency.
- (string-append "all:" prerequisites "\n")))
- #t)))
+ (when ,(%current-target-system)
+ ;; Cross-compilation: use the cross tools.
+ (substitute* (find-files "." "Makefile")
+ (("CC=.*$")
+ (string-append "CC = " target "-gcc\n"))
+ (("AR=.*$")
+ (string-append "AR = " target "-ar\n"))
+ (("RANLIB=.*$")
+ (string-append "RANLIB = " target "-ranlib\n"))
+ (("^all:(.*)test" _ prerequisites)
+ ;; Remove 'all' -> 'test' dependency.
+ (string-append "all:" prerequisites "\n"))))
+ #t))
(add-before 'build 'build-shared-lib
(lambda* (#:key inputs #:allow-other-keys)
(patch-makefile-SHELL "Makefile-libbz2_so")
- (zero? (system* "make" "-f" "Makefile-libbz2_so"))))
+ (invoke "make" "-f" "Makefile-libbz2_so")))
(add-after 'install 'install-shared-lib
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(libdir (string-append out "/lib")))
(for-each (lambda (file)
- (let ((base (basename file)))
- (format #t "installing `~a' to `~a'~%"
- base libdir)
- (copy-file file
- (string-append libdir "/" base))))
+ (format #t "installing `~a' to `~a'~%"
+ (basename file) libdir)
+ (install-file file libdir))
(find-files "." "^libbz2\\.so")))
#t))
(add-after 'install-shared-lib 'patch-scripts
@@ -476,14 +473,14 @@ some compression ratio).")
(define-public lzip
(package
(name "lzip")
- (version "1.19")
+ (version "1.20")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/lzip-"
version ".tar.gz"))
(sha256
(base32
- "1abbch762gv8rjr579q3qyyk6c80plklbv2mw4x0vg71dgsw9bgz"))))
+ "0319q59kb8g324wnj7xzbr7vvlx5bcs13lr34j0zb3kqlyjq2fy9"))))
(build-system gnu-build-system)
(home-page "https://www.nongnu.org/lzip/lzip.html")
(synopsis "Lossless data compressor based on the LZMA algorithm")
@@ -924,10 +921,11 @@ tarballs.")
(base32
"1qxxsasvwbbbh6dl3138y9h3fg0q2v7xdk5jjc690bdg7g1wrj6n"))
(modules '((guix build utils)))
- (snippet
- ;; This is a recursive submodule that is unnecessary for this
- ;; package, so delete it.
- '(delete-file-recursively "brotli/terryfy"))))
+ (snippet '(begin
+ ;; This is a recursive submodule that is
+ ;; unnecessary for this package, so delete it.
+ (delete-file-recursively "brotli/terryfy")
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@@ -986,7 +984,9 @@ respectively, based on the reference implementation from Google.")
(file-name (string-append name "-" version ".tar.gz"))
(snippet
;; This file isn't freely distributable and has no effect on building.
- '(delete-file "xdelta3/draft-korn-vcdiff.txt"))))
+ '(begin
+ (delete-file "xdelta3/draft-korn-vcdiff.txt")
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@@ -1454,7 +1454,9 @@ handles the 7z format which features very high compression ratios.")
(modules '((guix build utils)))
(snippet
;; Remove pre-compiled object.
- '(delete-file "gzstream.o"))))
+ '(begin
+ (delete-file "gzstream.o")
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -1491,7 +1493,9 @@ functionality in a C++ iostream.")
(modules '((guix build utils)))
(snippet
;; Delete irrelevant pre-compiled binaries.
- '(for-each delete-file (find-files "." "\\.exe$")))))
+ '(begin
+ (for-each delete-file (find-files "." "\\.exe$"))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -1710,14 +1714,11 @@ the actual decompression, the other input and output.")
(list "-f" "unix/Makefile"
(string-append "prefix=" out)
(string-append "MANDIR=" out "/share/man/man1")))
- #:modules ((guix build gnu-build-system)
- (guix build utils)
- (srfi srfi-1))
#:phases
(modify-phases %standard-phases
(replace 'build
(lambda* (#:key (make-flags '()) #:allow-other-keys)
- (zero? (apply system* "make" "generic_gcc" make-flags))))
+ (apply invoke "make" "generic_gcc" make-flags)))
(delete 'configure))))
(home-page "http://www.info-zip.org/Zip.html")
(synopsis "Compression and file packing utility")
@@ -1769,11 +1770,11 @@ Compression ratios of 2:1 to 3:1 are common for text files.")
(delete 'configure)
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
- (zero? (apply system* "make"
- `("-j" ,(number->string
- (parallel-job-count))
- ,@make-flags
- "generic_gcc"))))))
+ (apply invoke "make"
+ `("-j" ,(number->string
+ (parallel-job-count))
+ ,@make-flags
+ "generic_gcc")))))
#:make-flags (list "-f" "unix/Makefile"
(string-append "prefix=" %output)
(string-append "MANDIR=" %output "/share/man/man1"))))
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 0f5997951c..bbd779ae4e 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -1,8 +1,9 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -181,8 +182,10 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
(define (cross-gcc-snippet target)
"Return GCC snippet needed for TARGET."
(cond ((target-mingw? target)
- '(copy-recursively "libstdc++-v3/config/os/mingw32-w64"
- "libstdc++-v3/config/os/newlib"))
+ '(begin
+ (copy-recursively "libstdc++-v3/config/os/mingw32-w64"
+ "libstdc++-v3/config/os/newlib")
+ #t))
(else #f)))
(define* (cross-gcc target
@@ -291,8 +294,8 @@ target that libc."
(setenv "ARCH" ,(system->linux-architecture target))
(format #t "`ARCH' set to `~a' (cross compiling)~%" (getenv "ARCH"))
- (and (zero? (system* "make" ,(system->defconfig target)))
- (zero? (system* "make" "mrproper" "headers_check"))))
+ (invoke "make" ,(system->defconfig target))
+ (invoke "make" "mrproper" "headers_check"))
,phases))))
(native-inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
@@ -314,14 +317,14 @@ target that libc."
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-26))
- #:phases (alist-cons-before
- 'configure 'set-cross-headers-path
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((mach (assoc-ref inputs "cross-gnumach-headers"))
- (cpath (string-append mach "/include")))
- (for-each (cut setenv <> cpath)
- ',%gcc-cross-include-paths)))
- %standard-phases)
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'set-cross-headers-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((mach (assoc-ref inputs "cross-gnumach-headers"))
+ (cpath (string-append mach "/include")))
+ (for-each (cut setenv <> cpath)
+ ',%gcc-cross-include-paths)
+ #t))))
#:configure-flags (list ,(string-append "--target=" target))
,@(package-arguments mig)))
@@ -352,16 +355,16 @@ target that libc."
(srfi srfi-26))
,@(package-arguments glibc/hurd-headers))
((#:phases phases)
- `(alist-cons-before
- 'pre-configure 'set-cross-headers-path
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((mach (assoc-ref inputs "gnumach-headers"))
- (hurd (assoc-ref inputs "hurd-headers"))
- (cpath (string-append mach "/include:"
- hurd "/include")))
- (for-each (cut setenv <> cpath)
- ',%gcc-cross-include-paths)))
- ,phases))))
+ `(modify-phases ,phases
+ (add-before 'pre-configure 'set-cross-headers-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((mach (assoc-ref inputs "gnumach-headers"))
+ (hurd (assoc-ref inputs "hurd-headers"))
+ (cpath (string-append mach "/include:"
+ hurd "/include")))
+ (for-each (cut setenv <> cpath)
+ ',%gcc-cross-include-paths)
+ #t)))))))
(propagated-inputs `(("gnumach-headers" ,xgnumach-headers)
("hurd-headers" ,xhurd-headers)))
@@ -382,14 +385,14 @@ target that libc."
(srfi srfi-26))
,@(package-arguments hurd-minimal))
((#:phases phases)
- `(alist-cons-before
- 'configure 'set-cross-headers-path
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((glibc-headers (assoc-ref inputs "cross-glibc-hurd-headers"))
- (cpath (string-append glibc-headers "/include")))
- (for-each (cut setenv <> cpath)
- ',%gcc-cross-include-paths)))
- ,phases))))
+ `(modify-phases ,phases
+ (add-before 'configure 'set-cross-headers-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((glibc-headers (assoc-ref inputs "cross-glibc-hurd-headers"))
+ (cpath (string-append glibc-headers "/include")))
+ (for-each (cut setenv <> cpath)
+ ',%gcc-cross-include-paths)
+ #t)))))))
(inputs `(("cross-glibc-hurd-headers" ,xglibc/hurd-headers)))
@@ -456,17 +459,16 @@ XBINUTILS and the cross tool chain."
`(cons ,(string-append "--host=" target)
,flags))
((#:phases phases)
- `(alist-cons-before
- 'configure 'set-cross-kernel-headers-path
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((kernel (assoc-ref inputs "kernel-headers"))
- (cpath (string-append kernel "/include")))
- (for-each (cut setenv <> cpath)
- ',%gcc-cross-include-paths)
- (setenv "CROSS_LIBRARY_PATH"
- (string-append kernel "/lib")) ;for Hurd's libihash
- #t))
- ,phases))))
+ `(modify-phases ,phases
+ (add-before 'configure 'set-cross-kernel-headers-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((kernel (assoc-ref inputs "kernel-headers"))
+ (cpath (string-append kernel "/include")))
+ (for-each (cut setenv <> cpath)
+ ',%gcc-cross-include-paths)
+ (setenv "CROSS_LIBRARY_PATH"
+ (string-append kernel "/lib")) ; for Hurd's libihash
+ #t)))))))
;; Shadow the native "kernel-headers" because glibc's recipe expects the
;; "kernel-headers" input to point to the right thing.
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 7716205947..df0141b353 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -181,7 +181,8 @@ OpenBSD tool of the same name.")
(substitute* "src/crypto.cpp"
(("argon2/argon2.h") "argon2.h"))
(substitute* "configure.ac"
- (("src/argon2/Makefile") ""))))
+ (("src/argon2/Makefile") ""))
+ #t))
(sha256
(base32
"09yvkmbqbym3b5md4n96qc1s9sf2n8ji404hagih45rmsj49599x"))))
@@ -226,9 +227,11 @@ communication.")
"1906254dg5hwljh0h4gyrw09ms3b57dlhjfzhfzffv50yzpkl837"))
(modules '((guix build utils)))
;; Remove bundled dependencies in favour of proper inputs.
- (snippet '(for-each delete-file-recursively
- (find-files "internal" "^tinyxml2-[0-9]"
- #:directories? #t)))))
+ (snippet '(begin
+ (for-each delete-file-recursively
+ (find-files "internal" "^tinyxml2-[0-9]"
+ #:directories? #t))
+ #t))))
(build-system cmake-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@@ -270,8 +273,10 @@ the wrong hands.")
"1dmgjcf7mnwc6h72xkvpaqpzxw8vmlnsmzz0s27pg0giwzm3sp0i"))
(modules '((guix build utils)))
;; Create relative symbolic links instead of absolute ones to /lib/*
- (snippet '(substitute* "Makefile" (("\\$\\(LNS\\) \\$\\(LIBDIR\\)/")
- "$(LNS) ")))))
+ (snippet '(begin
+ (substitute* "Makefile" (("\\$\\(LNS\\) \\$\\(LIBDIR\\)/")
+ "$(LNS) "))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -646,12 +651,7 @@ data on your platform, so the seed itself will be as random as possible.
;; fat only checks for Intel optimisations
'("--enable-fat")
'())
- "--disable-native") ; don't optimise at build time.
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (invoke "sh" "autogen.sh"))))))
+ "--disable-native"))) ;don't optimise at build time
(home-page "https://blake2.net/")
(synopsis "Library implementing the BLAKE2 family of hash functions")
(description
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 89c58f864b..209f8da3d2 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -50,7 +50,7 @@
(define-public cups-filters
(package
(name "cups-filters")
- (version "1.17.9")
+ (version "1.20.1")
(source(origin
(method url-fetch)
(uri
@@ -58,7 +58,7 @@
"cups-filters-" version ".tar.xz"))
(sha256
(base32
- "0i7mvvnq7ayhxn1ajci8h7l3cijzwr9d50p58h0rbsh9hf63zblq"))
+ "0qix1whz5n4ijnl6d44f1v8nzkpv99wqjyrby8vx6xnpskw5hsxk"))
(modules '((guix build utils)))
(snippet
;; install backends, banners and filters to cups-filters output
@@ -79,7 +79,8 @@
;; output directory, not CUPS's prefix.
(substitute* "configure"
(("\\{CUPS_DATADIR\\}/data")
- "{prefix}/share/cups/data"))))))
+ "{prefix}/share/cups/data"))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output))
@@ -381,8 +382,10 @@ device-specific programs to convert and print many types of files.")
(modules '((guix build utils)))
(snippet
;; Fix type mismatch.
- '(substitute* "prnt/hpcups/genPCLm.cpp"
- (("boolean") "bool")))))
+ '(begin
+ (substitute* "prnt/hpcups/genPCLm.cpp"
+ (("boolean") "bool"))
+ #t))))
(build-system gnu-build-system)
(home-page "http://hplipopensource.com/")
(synopsis "HP Printer Drivers")
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index fbf177d9da..698ae5d301 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -42,7 +42,8 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages ssh)
- #:use-module (gnu packages tls))
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages web))
(define-public curl
(package
@@ -64,6 +65,7 @@
("libidn" ,libidn)
("libssh2" ,libssh2)
("openldap" ,openldap)
+ ("nghttp2" ,nghttp2)
("zlib" ,zlib)))
(native-inputs
`(("perl" ,perl)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index ab8729bde0..a54013b818 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2017 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2016 David Thompson <davet@gnu.org>
@@ -162,14 +162,14 @@ either single machines or networked clusters.")
(define-public gdbm
(package
(name "gdbm")
- (version "1.13")
+ (version "1.14.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdbm/gdbm-"
version ".tar.gz"))
(sha256
(base32
- "0lx201q20dvc70f8a3c9s7s18z15inlxvbffph97ngvrgnyjq9cx"))))
+ "0pxwz3jlwvglq2mrbxvrjgr8pa0aj73p3v9sxmdlj570zw0gzknd"))))
(arguments `(#:configure-flags '("--enable-libgdbm-compat")))
(build-system gnu-build-system)
(home-page "http://www.gnu.org.ua/software/gdbm")
@@ -438,7 +438,8 @@ applications.")
(string-append "src/third_party/" dir)))
'("pcre-8.41" "scons-2.5.0" "snappy-1.1.3"
"valgrind-3.11.0" "wiredtiger"
- "yaml-cpp-0.5.3" "zlib-1.2.8"))))
+ "yaml-cpp-0.5.3" "zlib-1.2.8"))
+ #t))
(patches
(list
(search-patch "mongodb-support-unknown-linux-distributions.patch")))))
@@ -1006,7 +1007,7 @@ for example from a shell script.")
(define-public sqlite
(package
(name "sqlite")
- (version "3.21.0")
+ (version "3.22.0")
(source (origin
(method url-fetch)
(uri (let ((numeric-version
@@ -1018,11 +1019,11 @@ for example from a shell script.")
(map (cut string-pad <> 2 #\0)
other-digits))
6 #\0))))))
- (string-append "https://sqlite.org/2017/sqlite-autoconf-"
+ (string-append "https://sqlite.org/2018/sqlite-autoconf-"
numeric-version ".tar.gz")))
(sha256
(base32
- "1qxvzdjwzw6k0kqjfabj86rnq87xdbwbca7laxxdhnh0fmkm3pfp"))))
+ "04n6hnw2g818d7r92cp2608kd5mhzyysy83k29kbq1mp709an918"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)))
(arguments
@@ -1627,12 +1628,7 @@ trees (LSM), for sustained throughput under random insert workloads.")
#:configure-flags
(list (string-append "--with-libwiredtiger-prefix="
(assoc-ref %build-inputs "wiredtiger")))
- #:make-flags '("GUILE_AUTO_COMPILE=0")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (invoke "sh" "bootstrap"))))))
+ #:make-flags '("GUILE_AUTO_COMPILE=0")))
;; TODO: Remove microkanren.scm when we have a separate package
;; for it.
(native-inputs
@@ -1940,10 +1936,12 @@ etc., and an SQL engine for performing simple SQL queries.")
(modules '((guix build utils)))
(snippet
;; Delete bundled lmdb source files.
- '(for-each delete-file (list "lib/lmdb.h"
- "lib/mdb.c"
- "lib/midl.c"
- "lib/midl.h")))))
+ '(begin
+ (for-each delete-file (list "lib/lmdb.h"
+ "lib/mdb.c"
+ "lib/midl.c"
+ "lib/midl.h"))
+ #t))))
(build-system python-build-system)
(inputs
`(("lmdb" ,lmdb)))
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 112c656ff8..1f238637a4 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -299,10 +299,7 @@ down the road.")
(which "sh"))))))
(add-before 'configure 'repack-make
(lambda _
- (zero? (system* "tar" "cJf" "./make.tar.xz" ,make-dir))))
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vfi"))))))))
+ (zero? (system* "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/dns.scm b/gnu/packages/dns.scm
index d093b0d9b5..735b2af9b4 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -177,7 +177,9 @@ high-volume and high-reliability applications. The name BIND stands for
(snippet
;; Delete bundled libltdl. XXX: This package also bundles
;; a modified libevent that cannot currently be removed.
- '(delete-file-recursively "libltdl"))))
+ '(begin
+ (delete-file-recursively "libltdl")
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index d56dc49198..3034bc5493 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -236,19 +236,19 @@ by no means limited to these applications.) This package provides XML DTDs.")
#:use-setuptools? #f
#:tests? #f ;no 'test' command
#:phases
- (alist-cons-after
- 'wrap 'set-path
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- ;; dblatex executes helper programs at runtime.
- (wrap-program (string-append out "/bin/dblatex")
- `("PATH" ":" prefix
- ,(map (lambda (input)
- (string-append (assoc-ref inputs input)
- "/bin"))
- '("libxslt" "texlive"
- "imagemagick" "inkscape"))))))
- %standard-phases)))
+ (modify-phases %standard-phases
+ (add-after 'wrap 'set-path
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; dblatex executes helper programs at runtime.
+ (wrap-program (string-append out "/bin/dblatex")
+ `("PATH" ":" prefix
+ ,(map (lambda (input)
+ (string-append (assoc-ref inputs input)
+ "/bin"))
+ '("libxslt" "texlive"
+ "imagemagick" "inkscape"))))
+ #t))))))
(home-page "http://dblatex.sourceforge.net")
(synopsis "DocBook to LaTeX Publishing")
(description
diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index eebd38243b..cde689c63d 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
@@ -59,9 +59,6 @@
`(#:tests? #f ; no 'check' target
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (invoke "autoconf")))
;; Some XML-related binaries are required for asciidoc's proper usage.
;; Without these, asciidoc fails when parsing XML documents, either
;; reporting a missing "xmllint" binary or, when passed the
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 8fb568b841..7ec189820d 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -127,14 +127,14 @@ Executable and Linkable Format (@dfn{ELF}). This includes @command{ld},
'()))
(arguments
(if (string-prefix? "arm" (or (%current-target-system) (%current-system)))
- `(#:phases (alist-cons-after
- 'unpack 'patch/rework-for-arm
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((patch-file
- (assoc-ref inputs "patch/rework-for-arm")))
- (zero? (system* "patch" "--force" "-p1"
- "--input" patch-file))))
- %standard-phases))
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'patch/rework-for-arm
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((patch-file
+ (assoc-ref inputs "patch/rework-for-arm")))
+ (invoke "patch" "--force" "-p1"
+ "--input" patch-file)
+ #t)))))
'()))
(home-page "https://nixos.org/patchelf.html")
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index a6c674dfb2..b6fa661f0e 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -148,7 +148,8 @@
(list line
"\"~/.guix-profile/include\""
"\"/var/guix/profiles/system/profile/include\"")
- " ")))))))
+ " ")))
+ #t))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:phases
@@ -837,21 +838,23 @@ provides an optional IDE-like error list.")
"1b0kalhn81dir26jgsma30i5bbly7d3s1ngqpf01zjjpr7lw5v0h"))
(modules '((guix build utils)))
(snippet
- '(substitute* "Makefile"
- (("/usr/bin/install-info")
- ;; No need to use 'install-info' since it would create a
- ;; useless 'dir' file.
- "true")
- (("^INFODIR=.*")
- ;; Install Info files to $out/share/info, not $out/info.
- "INFODIR := $(PREFIX)/share/info\n")
- (("/site-lisp/emms")
- ;; Install directly in share/emacs/site-lisp, not in a
- ;; sub-directory.
- "/site-lisp")
- (("^all: (.*)\n" _ rest)
- ;; Build 'emms-print-metadata'.
- (string-append "all: " rest " emms-print-metadata\n"))))))
+ '(begin
+ (substitute* "Makefile"
+ (("/usr/bin/install-info")
+ ;; No need to use 'install-info' since it would create a
+ ;; useless 'dir' file.
+ "true")
+ (("^INFODIR=.*")
+ ;; Install Info files to $out/share/info, not $out/info.
+ "INFODIR := $(PREFIX)/share/info\n")
+ (("/site-lisp/emms")
+ ;; Install directly in share/emacs/site-lisp, not in a
+ ;; sub-directory.
+ "/site-lisp")
+ (("^all: (.*)\n" _ rest)
+ ;; Build 'emms-print-metadata'.
+ (string-append "all: " rest " emms-print-metadata\n")))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@@ -1011,9 +1014,11 @@ within a specified width. It is useful for displaying long track titles.")
(modules '((guix build utils)))
(snippet
;; We don't want to build and install the PDF.
- '(substitute* "doc/Makefile.in"
- (("^doc_DATA = .*$")
- "doc_DATA =\n")))))
+ '(begin
+ (substitute* "doc/Makefile.in"
+ (("^doc_DATA = .*$")
+ "doc_DATA =\n"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -2614,7 +2619,8 @@ to a key in your preferred mode.")
'(begin
(for-each delete-file '("dot-emacs.el" "Makefile"))
(install-file "6.945-config/mit-scheme-doc.el" ".")
- (delete-file-recursively "6.945-config")))
+ (delete-file-recursively "6.945-config")
+ #t))
(file-name (string-append name "-" version ".tar.bz2"))
(method url-fetch)
(uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/"
@@ -3739,7 +3745,8 @@ programming language.")
(substitute* "lisp/Makefile"
(("^\tjulia-mode.elc\\\\\n") "")
(("^all: \\$\\(ELC\\) ess-custom.el julia-mode.el")
- "all: $(ELC) ess-custom.el"))))))
+ "all: $(ELC) ess-custom.el"))
+ #t))))
(build-system gnu-build-system)
(arguments
(let ((base-directory "/share/emacs/site-lisp/guix.d/ess"))
@@ -4985,7 +4992,8 @@ mode-line.")
;; warnings about a missing directory.
(substitute* "yasnippet.el"
(("^ +'yas-installed-snippets-dir\\)\\)\n")
- "))\n"))))))
+ "))\n"))
+ #t))))
(build-system emacs-build-system)
(home-page "https://github.com/joaotavora/yasnippet")
(synopsis "Yet another snippet extension for Emacs")
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 142603b082..b4b585d51d 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -410,11 +410,13 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.
- '(for-each
- (lambda (subdir)
- (let ((lib-subdir (string-append "src/third-party/" subdir)))
- (delete-file-recursively lib-subdir)))
- '("libpng" "lzma" "sqlite3" "zlib")))))
+ '(begin
+ (for-each
+ (lambda (subdir)
+ (let ((lib-subdir (string-append "src/third-party/" subdir)))
+ (delete-file-recursively lib-subdir)))
+ '("libpng" "lzma" "sqlite3" "zlib"))
+ #t))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no "test" target
@@ -1010,7 +1012,8 @@ towards a working Mupen64Plus for casual users.")
;; Use system zlib.
(delete-file-recursively "source/zlib")
(substitute* "source/core/NstZlib.cpp"
- (("#include \"../zlib/zlib.h\"") "#include <zlib.h>"))))))
+ (("#include \"../zlib/zlib.h\"") "#include <zlib.h>"))
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 449584f57e..aee60bd697 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -329,7 +329,9 @@ featuring various improvements and bug fixes.")))
"0x37vfp6k0d2z3gnig0hbicvi0jp8v267xjnn3z8jdllpiaa6p3k"))
(snippet
;; Remove a non-free file.
- '(delete-file "doc/psfig.sty"))
+ '(begin
+ (delete-file "doc/psfig.sty")
+ #t))
(patches (search-patches "fastcap-mulSetup.patch"
"fastcap-mulGlobal.patch"))))
(build-system gnu-build-system)
@@ -592,7 +594,8 @@ as well as pick-place files.")
;; Use #include <catch.hpp>.
(substitute* (find-files "." "\\.[ch]pp$")
(("catch/catch\\.hpp")
- "catch.hpp"))))))
+ "catch.hpp"))
+ #t))))
(build-system cmake-build-system)
(arguments
`(;; Have the RUNPATH of libao.so point to $libdir, where libefsw.so
@@ -1152,7 +1155,8 @@ bindings for Python, Java, OCaml and more.")
(substitute* "libr/parse/p/Makefile"
(("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))
(substitute* "libr/bin/p/Makefile"
- (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))))))
+ (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) "))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f; tests require git and network access
@@ -1257,7 +1261,8 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
(("src/ciderlib/input/Makefile") "")
(("src/ciderlib/support/Makefile") "")
(("src/ciderlib/oned/Makefile") "")
- (("src/ciderlib/twod/Makefile") ""))))))
+ (("src/ciderlib/twod/Makefile") ""))
+ #t))))
(build-system gnu-build-system)
(arguments
`(;; No tests for libngspice exist.
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index a0bf841415..b6b0c9a145 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -202,7 +202,8 @@ removable devices or support for multimedia.")
"data/themes/Makefile.am"
"data/themes/nyanology/Makefile.in"
"data/themes/nyanology/Makefile.am")
- (("-fd \\$\\(top_srcdir\\)/data/fonts") ""))))))
+ (("-fd \\$\\(top_srcdir\\)/data/fonts") ""))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index a5e8c79371..22382f745a 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -378,16 +378,15 @@ applications should be.")
(define-public graphite2
(package
(name "graphite2")
- (version "1.3.10")
+ (version "1.3.11")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/silnrsi/graphite/releases/"
"download/" version "/" name "-" version ".tgz"))
- (patches (search-patches "graphite2-ffloat-store.patch"))
(sha256
(base32
- "1bm1rl2ww0m8rvmknh8fpajyz9xqv43qs9qrzf7xd5gaz6rf7zch"))))
+ "0z5dcgh8r3678awq6fb8igik7xmar5m6z9xxwpkkhradhk8jxfds"))))
(build-system cmake-build-system)
(native-inputs
`(("python" ,python-2) ; because of "import imap" in tests
@@ -495,11 +494,6 @@ smooth contours with constant curvature at the spline joins.")
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _ (zero? (system* "autoreconf" "-vi")))))))
(synopsis "Unicode names and annotation list")
(description
"LibUniNamesList holds www.unicode.org Nameslist.txt data which can be
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 60c5f96a87..0a5568a016 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -131,8 +131,10 @@ For synthesis, the compiler generates netlists in the desired format.")
(file-name (string-append name "-" version "-checkout.tar.gz"))
(modules '((guix build utils)))
(snippet
- '(substitute* "Makefile"
- (("ABCREV = .*") "ABCREV = default\n")))))
+ '(begin
+ (substitute* "Makefile"
+ (("ABCREV = .*") "ABCREV = default\n"))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 366fcecea2..d2b456153e 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -233,7 +233,8 @@ the freedesktop.org XDG Base Directory specification.")
(substitute* "Makefile.am"
;; Avoid validation against DTD because the DTDs for
;; both doctype 4.2 and 4.5 are needed.
- (("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid"))))))
+ (("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid"))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;FIXME: "make check" in the "po" directory fails.
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index 4ad6bcbf1b..22e5c918ee 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -112,7 +112,8 @@ reliability in mind.")
;; This is free software, avoid any confusion.
(substitute* (find-files "." "\\.c$")
(("a freeware program")
- "free software"))))))
+ "free software"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -156,11 +157,6 @@ FTP browser, as well as non-interactive commands such as 'ncftpput' and
`(("automake" ,automake)
("autoconf" ,autoconf)
("gettext" ,gettext-minimal)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
(home-page "http://weex.sourceforge.net/")
(synopsis "Non-interactive client for FTP synchronization")
(description
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 03a70bea49..db13ac0eff 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Tomáš Čech <sleep_walker@suse.cz>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
@@ -958,11 +958,6 @@ painted with a mouse.")
(base32
"0w0pamjc3vj0jr718hysrw8x076fq6n9rd6wcb36sn2jd0lqvi98"))))
(build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _ (zero? (system* "sh" "bootstrap")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index a33da03ad5..543edbe94c 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
-;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
@@ -188,11 +188,13 @@ settings to tweak as well.")
(modules '((guix build utils)))
(snippet
;; Import cmath header for the std::pow function.
- '(for-each (lambda (file)
- (substitute* file
- (("#include <math.h>")
- "#include <cmath>")))
- (find-files "src")))))
+ '(begin
+ (for-each (lambda (file)
+ (substitute* file
+ (("#include <math.h>")
+ "#include <cmath>")))
+ (find-files "src"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
@@ -682,9 +684,11 @@ watch your CPU playing while enjoying a cup of tea!")
"151v6nign86m1a2vqz27krsccpc9m4d1jax4y43v2fa82wfj9qp0"))
(modules '((guix build utils)))
(snippet
- '(substitute* "src/version.c"
- (("__DATE__") "")
- (("__TIME__") "")))))
+ '(begin
+ (substitute* "src/version.c"
+ (("__DATE__") "")
+ (("__TIME__") ""))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-cpu-opt")
@@ -896,7 +900,9 @@ can be explored and changed freely.")
(modules '((guix build utils)))
(snippet
;; Unbundle fonts.
- '(delete-file-recursively "fonts"))))
+ '(begin
+ (delete-file-recursively "fonts")
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("CC=gcc")
@@ -952,15 +958,15 @@ that beneath its ruins lay buried an ancient evil.")
;; In the future, if someone tries to make a graphical variant of
;; this package, they can deal with that mess themselves. :)
'(begin
- (for-each
- (lambda (subdir)
- (let ((lib-subdir (string-append "lib/" subdir)))
- (delete-file-recursively lib-subdir)))
- '("fonts" "icons" "sounds" "tiles"))
+ (for-each (lambda (subdir)
+ (let ((lib-subdir (string-append "lib/" subdir)))
+ (delete-file-recursively lib-subdir)))
+ '("fonts" "icons" "sounds" "tiles"))
(substitute* "lib/Makefile"
;; And don't try to invoke makefiles in the directories we removed
(("gamedata customize help screens fonts tiles sounds icons user")
- "gamedata customize help screens user"))))))
+ "gamedata customize help screens user"))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no check target
@@ -1281,11 +1287,13 @@ destroy, the better your score. The person with the highest score wins.")
;; We do not provide `ncurses.h' within an `ncursesw'
;; sub-directory, so patch the source accordingly. See
;; <http://bugs.gnu.org/19018>.
- '(for-each (lambda (file)
- (substitute* file
- (("ncursesw/ncurses.h")
- "ncurses.h")))
- (find-files "." "configure$|\\.c$")))))
+ '(begin
+ (for-each (lambda (file)
+ (substitute* file
+ (("ncursesw/ncurses.h")
+ "ncurses.h")))
+ (find-files "." "configure$|\\.c$"))
+ #t))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("perl" ,perl)))
@@ -1989,7 +1997,9 @@ world}, @uref{http://evolonline.org, Evol Online} and
(modules '((guix build utils)))
(snippet
;; The DOS port contains proprietary software.
- '(delete-file-recursively "os/dos"))))
+ '(begin
+ (delete-file-recursively "os/dos")
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
@@ -2839,7 +2849,8 @@ safety of the Chromium vessel.")
(substitute* "Makefile"
;; Do not rely on $(GPERF) being an absolute file name
(("\\[ -x \\$\\(GPERF\\) \\]")
- "$(GPERF) --version >/dev/null 2>&1"))))
+ "$(GPERF) --version >/dev/null 2>&1"))
+ #t))
(patches (search-patches "tuxpaint-stamps-path.patch"))))
(build-system gnu-build-system)
(native-inputs
@@ -4050,14 +4061,13 @@ fight against their plot and save his fellow rabbits from slavery.")
(modules '((guix build utils)))
(snippet
#~(begin
- (for-each
- (lambda (name)
- (let* ((dir (string-append "binaries/data/mods/" name))
- (file (string-append dir "/" name ".zip"))
- (unzip #$(file-append unzip "/bin/unzip")))
- (system* unzip "-d" dir file)
- (delete-file file)))
- '("mod" "public"))
+ (for-each (lambda (name)
+ (let* ((dir (string-append "binaries/data/mods/" name))
+ (file (string-append dir "/" name ".zip"))
+ (unzip #$(file-append unzip "/bin/unzip")))
+ (system* unzip "-d" dir file)
+ (delete-file file)))
+ '("mod" "public"))
#t))))
(build-system trivial-build-system)
(native-inputs `(("tar" ,tar)
@@ -4292,10 +4302,12 @@ Crowther & Woods, its original authors, in 1995. It has been known as
"0v2qgdfpvdzd1bcbp9v8pfahj1bgczsq2d4xfhh5wg11jgjcwz03"))
(modules '((guix build utils)))
(snippet
- '(substitute* '("src/music.h" "src/tSDL.h")
- (("#elif defined(__FreeBSD__)" line)
- (string-append
- line " || defined(__GNUC__)"))))))
+ '(begin
+ (substitute* '("src/music.h" "src/tSDL.h")
+ (("#elif defined(__FreeBSD__)" line)
+ (string-append
+ line " || defined(__GNUC__)")))
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("unzip" ,unzip)))
@@ -4634,8 +4646,6 @@ elements to achieve a simple goal in the most complex way possible.")
(string-append "PIONEER_DATA_DIR="
%output "/share/games/pioneer"))
#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _ (zero? (system* "sh" "bootstrap"))))
(add-before 'bootstrap 'fix-lua-check
(lambda _
(substitute* "configure.ac"
@@ -4779,7 +4789,8 @@ You can save humanity and get programming skills!")
(delete-file-recursively "bzip2")
(delete-file-recursively "game-music-emu")
(delete-file-recursively "jpeg-6b")
- (delete-file-recursively "zlib")))))
+ (delete-file-recursively "zlib")
+ #t))))
(arguments
'(#:tests? #f
#:configure-flags
diff --git a/gnu/packages/gawk.scm b/gnu/packages/gawk.scm
index e318993ace..6b1d1af10b 100644
--- a/gnu/packages/gawk.scm
+++ b/gnu/packages/gawk.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,18 +30,16 @@
(define-public gawk
(package
(name "gawk")
- (version "4.1.4")
+ (version "4.2.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gawk/gawk-" version
".tar.xz"))
(sha256
- (base32 "0rn2mmjxm767zliqzd67j7h2ncjn4j0321c60y9fy3grs3i89qak"))))
+ (base32 "0lam2zf3n7ak4pig8w46lhx9hzx50kj2v2yj1616mm26wy2rf4fi"))))
(build-system gnu-build-system)
(arguments
- `(#:parallel-tests? #f ; test suite fails in parallel
-
- #:phases (modify-phases %standard-phases
+ `(#:phases (modify-phases %standard-phases
(add-before 'configure 'set-shell-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; Refer to the right shell.
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 62b8968823..27f4b04d9a 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -200,131 +201,131 @@ where the OS part is overloaded to denote a specific ABI---into GCC
#:tests? #f
#:phases
- (alist-cons-before
- 'configure 'pre-configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((libdir ,(libdir))
- (libc (assoc-ref inputs "libc")))
- (when libc
- ;; The following is not performed for `--without-headers'
- ;; cross-compiler builds.
-
- ;; Join multi-line definitions of GLIBC_DYNAMIC_LINKER* into a
- ;; single line, to allow the next step to work properly.
- (for-each
- (lambda (x)
- (substitute* (find-files "gcc/config"
- "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$")
- (("(#define (GLIBC|GNU_USER)_DYNAMIC_LINKER.*)\\\\\n$" _ line)
- line)))
- '(1 2 3))
-
- ;; Fix the dynamic linker's file name.
- (substitute* (find-files "gcc/config"
- "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$")
- (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ \t]*).*$"
- _ gnu-user suffix)
- (format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%"
- gnu-user suffix
- (string-append libc ,(glibc-dynamic-linker)))))
-
- ;; Tell where to find libstdc++, libc, and `?crt*.o', except
- ;; `crt{begin,end}.o', which come with GCC.
- (substitute* (find-files "gcc/config"
- "^gnu-user.*\\.h$")
- (("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix)
- ;; Help libgcc_s.so be found (see also below.) Always use
- ;; '-lgcc_s' so that libgcc_s.so is always found by those
- ;; programs that use 'pthread_cancel' (glibc dlopens
- ;; libgcc_s.so when pthread_cancel support is needed, but
- ;; having it in the application's RUNPATH isn't enough; see
- ;; <http://sourceware.org/ml/libc-help/2013-11/msg00023.html>.)
- ;;
- ;; NOTE: The '-lgcc_s' added below needs to be removed in a
- ;; later phase of %gcc-static. If you change the string
- ;; below, make sure to update the relevant code in
- ;; %gcc-static package as needed.
- (format #f "#define GNU_USER_TARGET_LIB_SPEC \
+ (modify-phases %standard-phases
+ (add-before 'configure 'pre-configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((libdir ,(libdir))
+ (libc (assoc-ref inputs "libc")))
+ (when libc
+ ;; The following is not performed for `--without-headers'
+ ;; cross-compiler builds.
+
+ ;; Join multi-line definitions of GLIBC_DYNAMIC_LINKER* into a
+ ;; single line, to allow the next step to work properly.
+ (for-each
+ (lambda (x)
+ (substitute* (find-files "gcc/config"
+ "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$")
+ (("(#define (GLIBC|GNU_USER)_DYNAMIC_LINKER.*)\\\\\n$" _ line)
+ line)))
+ '(1 2 3))
+
+ ;; Fix the dynamic linker's file name.
+ (substitute* (find-files "gcc/config"
+ "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$")
+ (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ \t]*).*$"
+ _ gnu-user suffix)
+ (format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%"
+ gnu-user suffix
+ (string-append libc ,(glibc-dynamic-linker)))))
+
+ ;; Tell where to find libstdc++, libc, and `?crt*.o', except
+ ;; `crt{begin,end}.o', which come with GCC.
+ (substitute* (find-files "gcc/config"
+ "^gnu-user.*\\.h$")
+ (("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix)
+ ;; Help libgcc_s.so be found (see also below.) Always use
+ ;; '-lgcc_s' so that libgcc_s.so is always found by those
+ ;; programs that use 'pthread_cancel' (glibc dlopens
+ ;; libgcc_s.so when pthread_cancel support is needed, but
+ ;; having it in the application's RUNPATH isn't enough; see
+ ;; <http://sourceware.org/ml/libc-help/2013-11/msg00023.html>.)
+ ;;
+ ;; NOTE: The '-lgcc_s' added below needs to be removed in a
+ ;; later phase of %gcc-static. If you change the string
+ ;; below, make sure to update the relevant code in
+ ;; %gcc-static package as needed.
+ (format #f "#define GNU_USER_TARGET_LIB_SPEC \
\"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib -lgcc_s}} \" ~a"
- libc libc libdir suffix))
- (("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line)
- (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
+ libc libc libdir suffix))
+ (("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line)
+ (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
#define STANDARD_STARTFILE_PREFIX_2 \"\"
~a"
- libc line)))
-
- ;; The rs6000 (a.k.a. powerpc) config in GCC does not use
- ;; GNU_USER_* defines. Do the above for this case.
- (substitute*
- "gcc/config/rs6000/sysv4.h"
- (("#define LIB_LINUX_SPEC (.*)$" _ suffix)
- (format #f "#define LIB_LINUX_SPEC \
+ libc line)))
+
+ ;; The rs6000 (a.k.a. powerpc) config in GCC does not use
+ ;; GNU_USER_* defines. Do the above for this case.
+ (substitute*
+ "gcc/config/rs6000/sysv4.h"
+ (("#define LIB_LINUX_SPEC (.*)$" _ suffix)
+ (format #f "#define LIB_LINUX_SPEC \
\"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib -lgcc_s}} \" ~a"
- libc libc libdir suffix))
- (("#define STARTFILE_LINUX_SPEC.*$" line)
- (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
+ libc libc libdir suffix))
+ (("#define STARTFILE_LINUX_SPEC.*$" line)
+ (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
#define STANDARD_STARTFILE_PREFIX_2 \"\"
~a"
- libc line))))
-
- ;; Don't retain a dependency on the build-time sed.
- (substitute* "fixincludes/fixincl.x"
- (("static char const sed_cmd_z\\[\\] =.*;")
- "static char const sed_cmd_z[] = \"sed\";"))
-
- ;; Aarch64 support didn't land in GCC until the 4.8 series.
- (when (file-exists? "gcc/config/aarch64")
- ;; Force Aarch64 libdir to be /lib and not /lib64
- (substitute* "gcc/config/aarch64/t-aarch64-linux"
- (("lib64") "lib")))
-
- (when (file-exists? "libbacktrace")
- ;; GCC 4.8+ comes with libbacktrace. By default it builds
- ;; with -Werror, which fails with a -Wcast-qual error in glibc
- ;; 2.21's stdlib-bsearch.h. Remove -Werror.
- (substitute* "libbacktrace/configure"
- (("WARN_FLAGS=(.*)-Werror" _ flags)
- (string-append "WARN_FLAGS=" flags)))
-
- (when (file-exists? "libsanitizer/libbacktrace")
- ;; Same in libsanitizer's bundled copy (!) found in 4.9+.
- (substitute* "libsanitizer/libbacktrace/Makefile.in"
- (("-Werror")
- ""))))
-
- ;; Add a RUNPATH to libstdc++.so so that it finds libgcc_s.
- ;; See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32354>
- ;; and <http://bugs.gnu.org/20358>.
- (substitute* "libstdc++-v3/src/Makefile.in"
- (("^OPT_LDFLAGS = ")
- "OPT_LDFLAGS = -Wl,-rpath=$(libdir) "))
-
- ;; Move libstdc++*-gdb.py to the "lib" output to avoid a
- ;; circularity between "out" and "lib". (Note:
- ;; --with-python-dir is useless because it imposes $(prefix) as
- ;; the parent directory.)
- (substitute* "libstdc++-v3/python/Makefile.in"
- (("pythondir = .*$")
- (string-append "pythondir = " libdir "/share"
- "/gcc-$(gcc_version)/python\n")))
-
- ;; Avoid another circularity between the outputs: this #define
- ;; ends up in auto-host.h in the "lib" output, referring to
- ;; "out". (This variable is used to augment cpp's search path,
- ;; but there's nothing useful to look for here.)
- (substitute* "gcc/config.in"
- (("PREFIX_INCLUDE_DIR")
- "PREFIX_INCLUDE_DIR_isnt_necessary_here"))))
-
- (alist-cons-after
- 'configure 'post-configure
- (lambda _
- ;; Don't store configure flags, to avoid retaining references to
- ;; build-time dependencies---e.g., `--with-ppl=/gnu/store/xxx'.
- (substitute* "Makefile"
- (("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest)
- "TOPLEVEL_CONFIGURE_ARGUMENTS=\n")))
- %standard-phases))))
+ libc line))))
+
+ ;; Don't retain a dependency on the build-time sed.
+ (substitute* "fixincludes/fixincl.x"
+ (("static char const sed_cmd_z\\[\\] =.*;")
+ "static char const sed_cmd_z[] = \"sed\";"))
+
+ ;; Aarch64 support didn't land in GCC until the 4.8 series.
+ (when (file-exists? "gcc/config/aarch64")
+ ;; Force Aarch64 libdir to be /lib and not /lib64
+ (substitute* "gcc/config/aarch64/t-aarch64-linux"
+ (("lib64") "lib")))
+
+ (when (file-exists? "libbacktrace")
+ ;; GCC 4.8+ comes with libbacktrace. By default it builds
+ ;; with -Werror, which fails with a -Wcast-qual error in glibc
+ ;; 2.21's stdlib-bsearch.h. Remove -Werror.
+ (substitute* "libbacktrace/configure"
+ (("WARN_FLAGS=(.*)-Werror" _ flags)
+ (string-append "WARN_FLAGS=" flags)))
+
+ (when (file-exists? "libsanitizer/libbacktrace")
+ ;; Same in libsanitizer's bundled copy (!) found in 4.9+.
+ (substitute* "libsanitizer/libbacktrace/Makefile.in"
+ (("-Werror")
+ ""))))
+
+ ;; Add a RUNPATH to libstdc++.so so that it finds libgcc_s.
+ ;; See <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32354>
+ ;; and <http://bugs.gnu.org/20358>.
+ (substitute* "libstdc++-v3/src/Makefile.in"
+ (("^OPT_LDFLAGS = ")
+ "OPT_LDFLAGS = -Wl,-rpath=$(libdir) "))
+
+ ;; Move libstdc++*-gdb.py to the "lib" output to avoid a
+ ;; circularity between "out" and "lib". (Note:
+ ;; --with-python-dir is useless because it imposes $(prefix) as
+ ;; the parent directory.)
+ (substitute* "libstdc++-v3/python/Makefile.in"
+ (("pythondir = .*$")
+ (string-append "pythondir = " libdir "/share"
+ "/gcc-$(gcc_version)/python\n")))
+
+ ;; Avoid another circularity between the outputs: this #define
+ ;; ends up in auto-host.h in the "lib" output, referring to
+ ;; "out". (This variable is used to augment cpp's search path,
+ ;; but there's nothing useful to look for here.)
+ (substitute* "gcc/config.in"
+ (("PREFIX_INCLUDE_DIR")
+ "PREFIX_INCLUDE_DIR_isnt_necessary_here"))
+ #t)))
+
+ (add-after 'configure 'post-configure
+ (lambda _
+ ;; Don't store configure flags, to avoid retaining references to
+ ;; build-time dependencies---e.g., `--with-ppl=/gnu/store/xxx'.
+ (substitute* "Makefile"
+ (("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest)
+ "TOPLEVEL_CONFIGURE_ARGUMENTS=\n"))
+ #t)))))
(native-search-paths
;; Use the language-specific variables rather than 'CPATH' because they
@@ -369,13 +370,15 @@ Go. It also includes runtime support libraries for these languages.")
;; This is required for building with glibc-2.26.
;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
(snippet
- '(for-each
- (lambda (dir)
- (substitute* (string-append "libgcc/config/"
- dir "/linux-unwind.h")
- (("struct ucontext") "ucontext_t")))
- '("aarch64" "alpha" "bfin" "i386" "m68k"
- "pa" "sh" "tilepro" "xtensa")))))
+ '(begin
+ (for-each
+ (lambda (dir)
+ (substitute* (string-append "libgcc/config/"
+ dir "/linux-unwind.h")
+ (("struct ucontext") "ucontext_t")))
+ '("aarch64" "alpha" "bfin" "i386" "m68k"
+ "pa" "sh" "tilepro" "xtensa"))
+ #t))))
(supported-systems %supported-systems)
(inputs
`(("isl" ,isl-0.11)
@@ -401,13 +404,15 @@ Go. It also includes runtime support libraries for these languages.")
;; This is required for building with glibc-2.26.
;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
(snippet
- '(for-each
- (lambda (dir)
- (substitute* (string-append "libgcc/config/"
- dir "/linux-unwind.h")
- (("struct ucontext") "ucontext_t")))
- '("aarch64" "alpha" "bfin" "i386" "m68k" "nios2"
- "pa" "sh" "tilepro" "xtensa")))))
+ '(begin
+ (for-each
+ (lambda (dir)
+ (substitute* (string-append "libgcc/config/"
+ dir "/linux-unwind.h")
+ (("struct ucontext") "ucontext_t")))
+ '("aarch64" "alpha" "bfin" "i386" "m68k" "nios2"
+ "pa" "sh" "tilepro" "xtensa"))
+ #t))))
;; Override inherited texinfo-5 with latest version.
(native-inputs `(("perl" ,perl) ;for manpages
("texinfo" ,texinfo)))))
@@ -439,9 +444,11 @@ Go. It also includes runtime support libraries for these languages.")
;;
;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67590
;; http://cgit.openembedded.org/openembedded-core/commit/?id=f6e47aa9b12f9ab61530c40e0343f451699d9077
- '(substitute* "libcc1/configure"
- (("\\$gcc_cv_objdump -T")
- "$OBJDUMP_FOR_TARGET -T")))))
+ '(begin
+ (substitute* "libcc1/configure"
+ (("\\$gcc_cv_objdump -T")
+ "$OBJDUMP_FOR_TARGET -T"))
+ #t))))
(inputs
`(("isl" ,isl)
,@(package-inputs gcc-4.7)))))
@@ -467,13 +474,15 @@ Go. It also includes runtime support libraries for these languages.")
;; This can be removed when gcc-6.5.0 is released.
;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
(snippet
- '(for-each
- (lambda (dir)
- (substitute* (string-append "libgcc/config/"
- dir "/linux-unwind.h")
- (("struct ucontext") "ucontext_t")))
- '("aarch64" "alpha" "bfin" "i386" "m68k" "nios2"
- "pa" "sh" "tilepro" "xtensa")))))
+ '(begin
+ (for-each
+ (lambda (dir)
+ (substitute* (string-append "libgcc/config/"
+ dir "/linux-unwind.h")
+ (("struct ucontext") "ucontext_t")))
+ '("aarch64" "alpha" "bfin" "i386" "m68k" "nios2"
+ "pa" "sh" "tilepro" "xtensa"))
+ #t))))
(inputs
`(("isl" ,isl)
,@(package-inputs gcc-4.7)))))
@@ -512,7 +521,8 @@ using compilers other than GCC."
#:phases (alist-cons-before
'configure 'chdir
(lambda _
- (chdir "libstdc++-v3"))
+ (chdir "libstdc++-v3")
+ #t)
%standard-phases)
#:configure-flags `("--disable-libstdcxx-pch"
,(string-append "--with-gxx-include-dir="
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 9c7c071db0..9f31d90619 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -212,7 +212,8 @@ and driving.")
(("^all-am: .*$")
"all-am: Makefile $(LTLIBRARIES) $(HEADERS) geo_config.h\n")
(("^install-data-am: .*$")
- "install-data-am: install-includeHEADERS"))))))
+ "install-data-am: install-includeHEADERS"))
+ #t))))
(build-system gnu-build-system)
(inputs
`(("libjpeg-turbo" ,libjpeg-turbo)
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index 6d2dd4c008..e37ceb9e16 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -43,14 +44,13 @@
(define-public lcms
(package
(name "lcms")
- (version "2.8")
+ (version "2.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/lcms/lcms/" version
"/lcms2-" version ".tar.gz"))
- (patches (search-patches "lcms-CVE-2016-10165.patch"))
(sha256 (base32
- "08pvl289g0mbznzx5l6ibhaldsgx41kwvdn2c974ga9fkli2pl36"))))
+ "083xisy6z01zhm7p7rgk4bx9d6zlr8l20qkfv1g29ylnhgwzvij8"))))
(build-system gnu-build-system)
(inputs `(("libjpeg-8" ,libjpeg-8)
("libtiff" ,libtiff)
@@ -155,7 +155,8 @@ printing, and psresize, for adjusting page sizes.")
'(begin
(for-each delete-file-recursively '("freetype" "jbig2dec" "jpeg"
"lcms2" "libpng"
- "tiff" "zlib"))))))
+ "tiff" "zlib"))
+ #t))))
(build-system gnu-build-system)
(outputs '("out" "doc")) ;19 MiB of HTML/PS doc + examples
(arguments
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 0e416a9efd..b1b60d0040 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -478,9 +478,11 @@ glxgears, glxheads, and glxinfo.")
"0r37fg2s1f0jrvwh6c8cz5x6v4wqmhq42qm15cs9qs349q5c6wn5"))
(modules '((guix build utils)))
(snippet
- '(substitute* "config/Makefile.linux"
- (("= cc") "= gcc")
- (("/lib64") "/lib")))))
+ '(begin
+ (substitute* "config/Makefile.linux"
+ (("= cc") "= gcc")
+ (("/lib64") "/lib"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases (delete 'configure))
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 30a22d7d59..1581858320 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
-;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
@@ -78,7 +78,7 @@
(define dbus
(package
(name "dbus")
- (version "1.12.2")
+ (version "1.12.6")
(source (origin
(method url-fetch)
(uri (string-append
@@ -86,7 +86,7 @@
version ".tar.gz"))
(sha256
(base32
- "121xm3cy48vbv6nv522lfkk4zyiqc1g6v4lb3344gc3h2w4vaar7"))
+ "05picaq8j60wlwyi84qvw5liw3nd0cws9va3krnc3pms0wm906v2"))
(patches (search-patches "dbus-helper-search-path.patch"))))
(build-system gnu-build-system)
(arguments
@@ -148,7 +148,7 @@ shared NFS home directories.")
(define glib
(package
(name "glib")
- (version "2.54.2")
+ (version "2.56.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
@@ -156,9 +156,8 @@ shared NFS home directories.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0v4ffl172kbqgxrhgxyafhpw36bq3iklb2zjqyl6jcfkmb2yb2dv"))
- (patches (search-patches "glib-respect-datadir.patch"
- "glib-tests-timer.patch"))))
+ "1iqgi90fmpl3l23jm2iv44qp7hqsxvnv7978s18933bvx4bnxvzc"))
+ (patches (search-patches "glib-tests-timer.patch"))))
(build-system gnu-build-system)
(outputs '("out" ; everything
"bin" ; glib-mkenums, gtester, etc.; depends on Python
@@ -184,6 +183,9 @@ shared NFS home directories.")
(modify-phases %standard-phases
(add-before 'build 'pre-build
(lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; For building deterministic pyc files
+ (setenv "DETERMINISTIC_BUILD" "1")
+
;; For tests/gdatetime.c.
(setenv "TZDIR"
(string-append (assoc-ref inputs "tzdata")
@@ -235,6 +237,7 @@ shared NFS home directories.")
("gio/tests/contenttype.c"
(;; XXX: requires shared-mime-info.
"/contenttype/guess"
+ "/contenttype/guess_svg_from_data"
"/contenttype/subtype"
"/contenttype/list"
"/contenttype/icon"
@@ -296,18 +299,20 @@ dynamic loading, and an object system.")
(define gobject-introspection
(package
(name "gobject-introspection")
- (version "1.54.1")
+ (version "1.56.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
"gobject-introspection/" (version-major+minor version)
"/gobject-introspection-" version ".tar.xz"))
(sha256
- (base32 "0zl7pfkzkm07733391b4f3cwjbnvb1nwvpmajf5bajh6bxgfv3dq"))
+ (base32 "1y50pbn5qqbcv2h9rkz96wvv5jls2gma9bkqjq6wapmaszx5jw0d"))
(modules '((guix build utils)))
(snippet
- '(substitute* "tools/g-ir-tool-template.in"
- (("#!/usr/bin/env @PYTHON@") "#!@PYTHON@")))
+ '(begin
+ (substitute* "tools/g-ir-tool-template.in"
+ (("#!/usr/bin/env @PYTHON@") "#!@PYTHON@"))
+ #t))
(patches (search-patches
"gobject-introspection-cc.patch"
"gobject-introspection-girepository.patch"
@@ -369,13 +374,14 @@ bindings to call into the C library.")
("perl-xml-parser" ,perl-xml-parser)
("perl" ,perl)))
(arguments
- `(#:phases (alist-cons-after
- 'unpack 'patch-file-references
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((file (assoc-ref inputs "file")))
- (substitute* "intltool-update.in"
- (("`file") (string-append "`" file "/bin/file")))))
- %standard-phases)))
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-file-references
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((file (assoc-ref inputs "file")))
+ (substitute* "intltool-update.in"
+ (("`file") (string-append "`" file "/bin/file")))
+ #t))))))
(home-page "https://launchpad.net/intltool/+download")
(synopsis "Tools to centralise translations of different file formats")
(description
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 56ee1aa885..16dc49bc66 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2111,7 +2111,7 @@ editors, IDEs, etc.")
(arguments
`(#:configure-flags '("CXXFLAGS=-Wformat=0")
#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
+ (replace 'bootstrap
(lambda _
(setenv "NOCONFIGURE" "true")
(zero? (system* "sh" "autogen.sh")))))))
@@ -5021,7 +5021,8 @@ users.")
(substitute* "src/nm-session-monitor.c"
(("systemd") "elogind"))
(substitute* "./src/nm-logging.c"
- (("systemd") "elogind"))))))
+ (("systemd") "elogind"))
+ #t))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 8 MiB of gtk-doc HTML
@@ -6019,7 +6020,7 @@ documents and diagrams, playing media, scanning, and much more.")
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
+ (replace 'bootstrap
(lambda _
;; The build system cleverly detects that we're not building from
;; a release tarball and turns on -Werror for GCC.
@@ -6352,12 +6353,6 @@ functionality and behavior.")
(base32
"0igxpngnkf1wpsg872a9jg3c9f5z8afm312yfbillz16mk8w39cw"))))
(build-system gnu-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vif")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -6394,10 +6389,7 @@ like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
(substitute* '("Makefile.am")
(("\\$\\(DESTDIR\\)/usr/share")
"$(datadir)"))
- #t))
- (add-after 'patch-makefile.am 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vif")))))))
+ #t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
@@ -6446,12 +6438,6 @@ simple and consistent.")
(base32
"1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b"))))
(build-system gnu-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vif")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index f4eacd3023..ac7f8ab85f 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -321,11 +321,6 @@ kinds of basic applications for the foundation of a GNU internet.")
(base32
"0k6mn28isjlxrnvbnblab3nh2xqx1b7san8k98kc35ap9lq0iz8w"))))
(build-system gnu-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (invoke "autoreconf" "-vfi"))))))
(native-inputs `(("pkg-config" ,pkg-config)
("autoconf" ,autoconf-wrapper)
("automake" ,automake)))
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 2696e332de..cb0651d626 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -92,14 +92,14 @@ Daemon and possibly more in the future.")
(define-public libgcrypt
(package
(name "libgcrypt")
- (version "1.8.1")
+ (version "1.8.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
version ".tar.bz2"))
(sha256
(base32
- "1cvqd9jk5qshbh48yh3ixw4zyr4n5k50r3475rrh20xfn7w7aa3s"))))
+ "01sca9m8hm6b5v8hmqsfdjhyz013869p1f0fxw9ln52qfnp4q1n8"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error-host" ,libgpg-error)))
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index f7bdd17309..cac6f42918 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -77,8 +77,10 @@
(modules '((guix build utils)))
(snippet
;; Fix incompatibility with Perl 5.22+.
- '(substitute* '("js/src/config/milestone.pl")
- (("defined\\(@TEMPLATE_FILE)") "@TEMPLATE_FILE")))))
+ '(begin
+ (substitute* '("js/src/config/milestone.pl")
+ (("defined\\(@TEMPLATE_FILE)") "@TEMPLATE_FILE"))
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)
@@ -136,8 +138,10 @@ in C/C++.")
(patches (search-patches "mozjs24-aarch64-support.patch"))
(snippet
;; Fix incompatibility with Perl 5.22+.
- '(substitute* '("js/src/config/milestone.pl")
- (("defined\\(@TEMPLATE_FILE)") "@TEMPLATE_FILE")))))
+ '(begin
+ (substitute* '("js/src/config/milestone.pl")
+ (("defined\\(@TEMPLATE_FILE)") "@TEMPLATE_FILE"))
+ #t))))
(arguments
(substitute-keyword-arguments (package-arguments mozjs)
((#:phases phases)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 8504b2f11e..61cd4ef5b4 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -339,7 +339,8 @@ graphics.")
;; and <https://github.com/openexr/openexr/pull/184>.
(substitute* "IlmImf/Makefile.in"
(("ImfIO\\.h")
- "ImfIO.h ImfStdIO.h"))))
+ "ImfIO.h ImfStdIO.h"))
+ #t))
(patches (search-patches "openexr-missing-samples.patch"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index 2fefb41c0a..5f236498b8 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -148,11 +148,12 @@ visualization tool suite.")
"07mqx09jxh8cv9753y2d2jsv7wp8vjmrd7zcfpbrddz3wc9kx705"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (alist-cons-before
- 'check 'pre-check
- (lambda _
- (chmod "test/boolean/test.sh" #o777))
- %standard-phases)
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ (chmod "test/boolean/test.sh" #o777)
+ #t)))
;; Some data files used by the test suite are missing.
;; See <http://sourceforge.net/p/gts/bugs/41/>.
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index f0f49bbce5..501ab1b860 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
@@ -55,6 +55,7 @@
#:use-module (gnu packages enchant)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages fribidi)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
@@ -175,7 +176,7 @@ affine transformation (scale, rotation, shear, etc.).")
(define-public harfbuzz
(package
(name "harfbuzz")
- (version "1.7.3")
+ (version "1.7.6")
(source (origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/"
@@ -183,7 +184,7 @@ affine transformation (scale, rotation, shear, etc.).")
version ".tar.bz2"))
(sha256
(base32
- "1zh5n3q3mb6y6kr5m7zz1ags9z1vjwai57d6warx8qhzfrwn8lyd"))))
+ "16rf7qwgy1gza74v2ws79zdwwb1lpvgz2abwwm8ws9j82cwysyys"))))
(build-system gnu-build-system)
(outputs '("out"
"bin")) ; 160K, only hb-view depend on cairo
@@ -197,7 +198,8 @@ affine transformation (scale, rotation, shear, etc.).")
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
- ("python" ,python-2))) ; incompatible with Python 3 (print syntax)
+ ("python" ,python-wrapper)
+ ("which" ,which)))
(arguments
`(#:configure-flags `("--with-graphite2"
"--with-gobject"
@@ -213,7 +215,7 @@ affine transformation (scale, rotation, shear, etc.).")
(define-public pango
(package
(name "pango")
- (version "1.40.14")
+ (version "1.42.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pango/"
@@ -221,13 +223,18 @@ affine transformation (scale, rotation, shear, etc.).")
name "-" version ".tar.xz"))
(sha256
(base32
- "1qqpd8x1pl483ynj3mc5q4n8y2pxqhg2bv19vd94r7mzlzm1pbwh"))))
+ "0illn78nfwpa8y5knh9ir74wa1skc2hi8f3ny19zgpyf7n5dh94r"))))
(build-system gnu-build-system)
(propagated-inputs
+ ;; These are all in Requires or Requires.private of the '.pc' files.
`(("cairo" ,cairo)
+ ("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("glib" ,glib)
("harfbuzz" ,harfbuzz)))
(inputs
- `(("zlib" ,zlib)
+ `(("fribidi" ,fribidi)
+ ("zlib" ,zlib)
;; Some packages, such as Openbox, expect Pango to be built with the
;; optional libxft support.
@@ -839,16 +846,13 @@ exceptions, macros, and a dynamic programming environment.")
(patches (search-patches "guile-rsvg-pkgconfig.patch"))
(modules '((guix build utils)))
(snippet
- '(substitute* (find-files "." "Makefile\\.am")
- (("/share/guile/site")
- "/share/guile/site/@GUILE_EFFECTIVE_VERSION@")))
+ '(begin
+ (substitute* (find-files "." "Makefile\\.am")
+ (("/share/guile/site")
+ "/share/guile/site/@GUILE_EFFECTIVE_VERSION@"))
+ #t))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
- (arguments
- `(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vfi")))))))
(native-inputs `(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
@@ -879,9 +883,11 @@ images onto Cairo surfaces.")
(patches (search-patches "guile-present-coding.patch"))
(modules '((guix build utils)))
(snippet
- '(substitute* "Makefile.in"
- (("godir = .*$")
- "godir = $(moddir)\n")))))
+ '(begin
+ (substitute* "Makefile.in"
+ (("godir = .*$")
+ "godir = $(moddir)\n"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 1e8aca1acf..2df815bc79 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.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 Ricardo Wurmus <rekado@elephly.net>
@@ -15,7 +15,7 @@
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -183,23 +183,24 @@ without requiring the source code to be rewritten.")
(outputs '("out" "debug"))
(arguments
- `(#:configure-flags '("--disable-static") ;saves 3MiB
- #:phases (alist-cons-before
- 'configure 'pre-configure
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Tell (ice-9 popen) the file name of Bash.
- (let ((bash (assoc-ref inputs "bash")))
- (substitute* "module/ice-9/popen.scm"
- ;; If bash is #f allow fallback for user to provide
- ;; "bash" in PATH. This happens when cross-building to
- ;; MinGW for which we do not have Bash yet.
- (("/bin/sh")
- ,@(if (target-mingw?)
- '((if bash
- (string-append bash "/bin/bash")
- "bash"))
- '((string-append bash "/bin/bash")))))))
- %standard-phases)))
+ `(#:configure-flags '("--disable-static") ; saves 3 MiB
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'pre-configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tell (ice-9 popen) the file name of Bash.
+ (let ((bash (assoc-ref inputs "bash")))
+ (substitute* "module/ice-9/popen.scm"
+ ;; If bash is #f allow fallback for user to provide
+ ;; "bash" in PATH. This happens when cross-building to
+ ;; MinGW for which we do not have Bash yet.
+ (("/bin/sh")
+ ,@(if (target-mingw?)
+ '((if bash
+ (string-append bash "/bin/bash")
+ "bash"))
+ '((string-append bash "/bin/bash")))))
+ #t))))))
(native-search-paths
(list (search-path-specification
@@ -239,8 +240,10 @@ without requiring the source code to be rewritten.")
;; Remove the pre-built object files. Instead, build everything
;; from source, at the expense of significantly longer build
;; times (almost 3 hours on a 4-core Intel i5).
- (snippet '(for-each delete-file
- (find-files "prebuilt" "\\.go$")))))
+ (snippet '(begin
+ (for-each delete-file
+ (find-files "prebuilt" "\\.go$"))
+ #t))))
(properties '((timeout . 72000) ;20 hours
(max-silent-time . 36000))) ;10 hours (needed on ARM
; when heavily loaded)
@@ -524,7 +527,8 @@ program can be installed in one go.")
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)
@@ -725,9 +729,6 @@ format is also supported.")
(("guile/site/2.0")
"guile/site/2.2"))
#t))
- (add-after 'use-guile-2.2 'bootstrap
- (lambda _
- (invoke "autoreconf" "-vfi")))
(add-after 'install 'wrap-mcron
(lambda* (#:key outputs #:allow-other-keys)
;; Wrap the 'mcron' command to refer to the right
@@ -854,7 +855,8 @@ for Guile\".")
"ac_subst_vars='GUILE_EFFECTIVE_VERSION\n"))
(substitute* '("Makefile.in" "json/Makefile.in")
(("moddir =.*/share/guile/site" all)
- (string-append all "/@GUILE_EFFECTIVE_VERSION@")))))))
+ (string-append all "/@GUILE_EFFECTIVE_VERSION@")))
+ #t))))
(build-system gnu-build-system)
(native-inputs `(("guile" ,guile-2.2)))
(home-page "https://savannah.nongnu.org/projects/guile-json/")
@@ -1227,9 +1229,11 @@ Guile's foreign function interface.")
(modules '((guix build utils)))
(snippet
;; Upgrade 'Makefile.am' to the current way of doing things.
- '(substitute* "Makefile.am"
- (("TESTS_ENVIRONMENT")
- "TEST_LOG_COMPILER")))))
+ '(begin
+ (substitute* "Makefile.am"
+ (("TESTS_ENVIRONMENT")
+ "TEST_LOG_COMPILER"))
+ #t))))
(build-system gnu-build-system)
(native-inputs
@@ -1364,7 +1368,8 @@ above command-line parameters.")
"redis/Makefile.in"
"redis/commands/Makefile.in")
(("moddir =.*/share/guile/site" all)
- (string-append all "/@GUILE_EFFECTIVE_VERSION@")))))))
+ (string-append all "/@GUILE_EFFECTIVE_VERSION@")))
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("guile" ,guile-2.0)))
@@ -1477,7 +1482,8 @@ users and in some situations.")
(("godir = .*$")
(string-append
"godir = "
- "$(prefix)/lib/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")))))))
+ "$(prefix)/lib/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -1731,7 +1737,8 @@ you send to a FIFO file.")
"ac_subst_vars='GUILE_EFFECTIVE_VERSION\n"))
(substitute* "Makefile.in"
(("/site/2.0")
- "/site/@GUILE_EFFECTIVE_VERSION@"))))))
+ "/site/@GUILE_EFFECTIVE_VERSION@"))
+ #t))))
(build-system gnu-build-system)
(inputs
`(("guile" ,guile-2.2)))
@@ -1841,12 +1848,7 @@ dictionary and suggesting spelling corrections.")
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "sh" "bootstrap")))))
-
- #:configure-flags
+ '(#:configure-flags
;; Add -I to match 'bash.pc' of Bash 4.4.
(list (string-append "CPPFLAGS=-I"
(assoc-ref %build-inputs "bash:include")
@@ -1976,10 +1978,6 @@ is not available for Guile 2.0.")
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vfi"))))
-
;; FIXME: On i686, bytestructures miscalculates the offset
;; of the 'old-file' and 'new-file' fields within the
;; '%diff-delta' structure.
@@ -2028,8 +2026,8 @@ manipulate repositories of the Git version control system.")
`(("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
+ (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.")
@@ -2048,11 +2046,6 @@ HTML (via SXML) or any other format for rendering.")
(base32
"1mzmapln79vv10qxaggz9qwcdbag3jnrj19xx8bgkmxss8h03sv3"))))
(build-system gnu-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _ (zero? (system* "sh" "bootstrap.sh")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index c5408f8627..4b1e3f23b8 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -282,9 +282,11 @@ top of CLISP.")
(mkdir-p libtinfo-dir)
(symlink
(string-append ncurses-lib "/libncursesw.so."
- ;; Extract "6.0" from "6.0-20170930".
+ ;; Extract "6.0" from "6.0-20170930" if a
+ ;; dash-separated version tag exists.
,(let* ((v (package-version ncurses))
- (d (string-index v #\-)))
+ (d (or (string-index v #\-)
+ (string-length v))))
(version-major+minor (string-take v d))))
(string-append libtinfo-dir "/libtinfo.so.5"))
diff --git a/gnu/packages/indent.scm b/gnu/packages/indent.scm
index 4950a26121..3465d63c01 100644
--- a/gnu/packages/indent.scm
+++ b/gnu/packages/indent.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,15 +37,16 @@
"0f9655vqdvfwbxvs1gpa7py8k1z71aqh8hp73f65vazwbfz436wa"))))
(build-system gnu-build-system)
(arguments
- `(#:phases (alist-cons-after
- 'unpack 'fix-docdir
- (lambda _
- ;; Although indent uses a modern autoconf in which docdir
- ;; defaults to PREFIX/share/doc, the doc/Makefile.am
- ;; overrides this to be in PREFIX/doc. Fix this.
- (substitute* "doc/Makefile.in"
- (("^docdir = .*$") "docdir = @docdir@\n")))
- %standard-phases)))
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-docdir
+ (lambda _
+ ;; Although indent uses a modern autoconf in which docdir
+ ;; defaults to PREFIX/share/doc, the doc/Makefile.am
+ ;; overrides this to be in PREFIX/doc. Fix this.
+ (substitute* "doc/Makefile.in"
+ (("^docdir = .*$") "docdir = @docdir@\n"))
+ #t)))))
(synopsis "Code reformatter")
(description
"Indent is a program that makes source code easier to read by
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index e59b34417b..e349b1cb6b 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -81,7 +81,8 @@
'(begin
(delete-file-recursively "data/scripts")
(substitute* "data/CMakeLists.txt"
- (("NOT WIN32") "WIN32"))))))
+ (("NOT WIN32") "WIN32"))
+ #t))))
(build-system cmake-build-system)
(arguments
;; The three binaries are not mutually exlusive, and are all built
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 5771366f66..f94c384d7d 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -694,9 +694,10 @@ the standard javac executable. The tool runs on JamVM instead of SableVM.")))
"--disable-gjdoc")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vif"))))
+ ;; XXX The bootstrap phase executes autogen.sh, which fails after
+ ;; complaining about the lack of gettext.
+ (replace 'bootstrap
+ (lambda _ (invoke "autoreconf" "-vif")))
(add-after 'unpack 'remove-unsupported-annotations
(lambda _
(substitute* (find-files "java" "\\.java$")
@@ -751,10 +752,12 @@ the standard javac executable. The tool runs on JamVM instead of SableVM.")))
"0bg9sb4f7qbq77c0zf9m17p47ga0kf0r9622g9p12ysg26jd1ksg"))
(modules '((guix build utils)))
(snippet
- '(substitute* "Makefile.in"
- ;; do not leak information about the build host
- (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
- "DISTRIBUTION_ID=\"\\\"guix\\\"\"")))))
+ '(begin
+ (substitute* "Makefile.in"
+ ;; do not leak information about the build host
+ (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
+ "DISTRIBUTION_ID=\"\\\"guix\\\"\""))
+ #t))))
(build-system gnu-build-system)
(outputs '("out" ; Java Runtime Environment
"jdk" ; Java Development Kit
@@ -1095,10 +1098,12 @@ bootstrapping purposes.")
"1w331rdqx1dcx2xb0fmjmrkdc71xqn20fxsgw8by4xhiblh88khh"))
(modules '((guix build utils)))
(snippet
- '(substitute* "Makefile.in"
- ;; do not leak information about the build host
- (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
- "DISTRIBUTION_ID=\"\\\"guix\\\"\"")))))
+ '(begin
+ (substitute* "Makefile.in"
+ ;; do not leak information about the build host
+ (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
+ "DISTRIBUTION_ID=\"\\\"guix\\\"\""))
+ #t))))
(build-system gnu-build-system)
(outputs '("out" ; Java Runtime Environment
"jdk" ; Java Development Kit
diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm
index 4ef604d02a..6877f5b873 100644
--- a/gnu/packages/kerberos.scm
+++ b/gnu/packages/kerberos.scm
@@ -147,9 +147,11 @@ secure manner through client-server mutual authentication via tickets.")
"heimdal-CVE-2017-11103.patch"))
(modules '((guix build utils)))
(snippet
- '(substitute* "configure"
- (("User=.*$") "User=Guix\n")
- (("Date=.*$") "Date=2017\n")))))
+ '(begin
+ (substitute* "configure"
+ (("User=.*$") "User=Guix\n")
+ (("Date=.*$") "Date=2017\n"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list
diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm
index ad66a846d4..6f8571d22a 100644
--- a/gnu/packages/kodi.scm
+++ b/gnu/packages/kodi.scm
@@ -146,8 +146,6 @@ generator library for C++.")
'(#:tests? #f
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _ (zero? (system* "autoreconf" "-vif"))))
(delete 'configure)
(delete 'build)
(replace 'install
@@ -183,8 +181,6 @@ generator library for C++.")
'(#:tests? #f
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _ (zero? (system* "autoreconf" "-vif"))))
(delete 'configure)
(delete 'build)
(replace 'install
@@ -220,8 +216,6 @@ generator library for C++.")
'(#:tests? #f
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _ (zero? (system* "autoreconf" "-vif"))))
(delete 'configure)
(delete 'build)
(replace 'install
diff --git a/gnu/packages/less.scm b/gnu/packages/less.scm
index 0aa4665840..2827951280 100644
--- a/gnu/packages/less.scm
+++ b/gnu/packages/less.scm
@@ -26,7 +26,7 @@
(define-public less
(package
(name "less")
- (version "487")
+ (version "530")
(source
(origin
(method url-fetch)
@@ -34,7 +34,7 @@
version ".tar.gz"))
(sha256
(base32
- "01i7n6jaxwmww3pasy3hg38zc6x7jw0w05mqqvh6caqbrdaq9p7k"))))
+ "1qpj2z38c53qmvqn8jaa0kq26q989cfbfjj4y0s6z17l1amr2gsh"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(home-page "https://www.gnu.org/software/less/")
diff --git a/gnu/packages/libbsd.scm b/gnu/packages/libbsd.scm
index 3bfa2a3fec..58b0be872c 100644
--- a/gnu/packages/libbsd.scm
+++ b/gnu/packages/libbsd.scm
@@ -25,14 +25,14 @@
(define-public libbsd
(package
(name "libbsd")
- (version "0.8.3")
+ (version "0.8.7")
(source (origin
(method url-fetch)
(uri (string-append "https://libbsd.freedesktop.org/releases/"
"libbsd-" version ".tar.xz"))
(sha256
(base32
- "1a1l7afchlvvj2zfi7ajcg26bbkh5i98y2v5h9j5p1px9m7n6jwk"))))
+ "0c9bl49zs0xdddcwj5dh0lay9sxi2m1yi74848g8p87mb87g2j7m"))))
(build-system gnu-build-system)
(synopsis "Utility functions from BSD systems")
(description "This library provides useful functions commonly found on BSD
diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
index d6b70a4f17..983c8625e4 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -121,14 +121,14 @@ limited support for fork events.")
(define-public libuv
(package
(name "libuv")
- (version "1.18.0")
+ (version "1.19.2")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.libuv.org/dist/v" version
"/libuv-v" version ".tar.gz"))
(sha256
(base32
- "125bzmzc32m52hd9iv8jvjlc7r3gadxgvp31a2fz2wlil16p7r2l"))))
+ "1msk9ac1z69whww88ibrwjqkd1apdla6l77cm2fwy5kigq0z5g3w"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -136,7 +136,7 @@ limited support for fork events.")
(lambda _
;; Fashionable people don't run 'make dist' these days, so
;; we need to do that ourselves.
- (zero? (system* "sh" "autogen.sh")))))
+ (invoke "sh" "autogen.sh"))))
;; XXX: Some tests want /dev/tty, attempt to make connections, etc.
#:tests? #f))
diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm
index dd6b2237f9..8515edf925 100644
--- a/gnu/packages/libffi.scm
+++ b/gnu/packages/libffi.scm
@@ -36,29 +36,28 @@
#:use-module (guix build-system ruby))
(define-public libffi
- (let ((post-install-phase
- ;; Keep headers where libffi.pc expects them, but also make them
- ;; available in $includedir where some users expect them.
- '(lambda* (#:key outputs #:allow-other-keys)
- (define out (assoc-ref outputs "out"))
- (symlink (string-append out "/lib/libffi-3.2.1/include")
- (string-append out "/include")))))
- (package
+ (package
(name "libffi")
(version "3.2.1")
(source (origin
- (method url-fetch)
- (uri
- (string-append "ftp://sourceware.org/pub/libffi/"
- name "-" version ".tar.gz"))
- (sha256
- (base32
- "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh"))
- (patches (search-patches "libffi-3.2.1-complex-alpha.patch"))))
+ (method url-fetch)
+ (uri
+ (string-append "ftp://sourceware.org/pub/libffi/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh"))
+ (patches (search-patches "libffi-3.2.1-complex-alpha.patch"))))
(build-system gnu-build-system)
- (arguments `(#:phases (alist-cons-after 'install 'post-install
- ,post-install-phase
- %standard-phases)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'post-install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (define out (assoc-ref outputs "out"))
+ (symlink (string-append out "/lib/libffi-3.2.1/include")
+ (string-append out "/include"))
+ #t)))))
(outputs '("out" "debug"))
(synopsis "Foreign function call interface library")
(description
@@ -75,7 +74,7 @@ conversions for values passed between the two languages.")
(home-page "http://sources.redhat.com/libffi/")
;; See <https://github.com/atgreen/libffi/blob/master/LICENSE>.
- (license expat))))
+ (license expat)))
(define-public python-cffi
(package
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 316602adbc..7a1a1433fd 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
-;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;;
@@ -705,12 +705,6 @@ Zoner Draw version 4 and 5.")
("libtool" ,libtool)))
(inputs
`(("perl" ,perl)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vfi")))))))
(native-search-paths (list (search-path-specification
(variable "DICPATH")
(files '("share/hunspell")))))
diff --git a/gnu/packages/libsigsegv.scm b/gnu/packages/libsigsegv.scm
index 2a44819820..7f63bb26c4 100644
--- a/gnu/packages/libsigsegv.scm
+++ b/gnu/packages/libsigsegv.scm
@@ -26,14 +26,14 @@
(define-public libsigsegv
(package
(name "libsigsegv")
- (version "2.11")
+ (version "2.12")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnu/libsigsegv/libsigsegv-"
version ".tar.gz"))
(sha256
- (base32 "063swdvq7mbmc1clv0rnh20grwln1zfc2qnm0sa1hivcxyr2wz6x"))))
+ (base32 "1dlhqf4igzpqayms25lkhycjq1ccavisx8cnb3y4zapbkqsszq9s"))))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/libsigsegv/")
(synopsis "Library for handling page faults")
diff --git a/gnu/packages/libunistring.scm b/gnu/packages/libunistring.scm
index 1d421fb17d..6a3afd4f05 100644
--- a/gnu/packages/libunistring.scm
+++ b/gnu/packages/libunistring.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
@@ -32,7 +32,7 @@
(define-public libunistring
(package
(name "libunistring")
- (version "0.9.8")
+ (version "0.9.9")
(source (origin
(method url-fetch)
(uri (string-append
@@ -40,7 +40,7 @@
version ".tar.xz"))
(sha256
(base32
- "101gjj9q39pjlcaixylya6is5i7vlbnxr1w5w6raqvvhab7ki4vv"))
+ "0cx8v6862w7vvacbkcvg49kfx731ckdgaybmzw1zav71zkn97nd4"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index e5a63803d8..7981a4f5cc 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -331,12 +331,6 @@ devices.")
(base32
"0qdgyj9rgb7n0nk3ghfswrhzzknxqn4ibn3wj8g4r828pw07451w"))))
(build-system gnu-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vfi")))))))
(inputs
`(("libusb" ,libusb)
("udev" ,eudev)))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index df6d7468ac..d2fc387080 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
@@ -158,13 +158,13 @@ defconfig. Return the appropriate make target if applicable, otherwise return
(define-public linux-libre-headers
(package
(name "linux-libre-headers")
- (version "4.9.59")
+ (version "4.14.26")
(source (origin
(method url-fetch)
(uri (linux-libre-urls version))
(sha256
(base32
- "0z8hq8a6ic38xh33idzl0k0yi4isgd7ncl2g1d6mzf9ixw5krhvc"))))
+ "1m2zr17wpasg5riysbaa4g5i492jzr93py2jm088ki818s4a9cm3"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(arguments
@@ -184,29 +184,29 @@ defconfig. Return the appropriate make target if applicable, otherwise return
(%current-system)))))
(setenv "ARCH" arch)
(format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
- (and (zero? (system* "make" defconfig))
- (zero? (system* "make" "mrproper" "headers_check"))))))
+ (invoke "make" defconfig)
+ (invoke "make" "mrproper" "headers_check"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
- (and (zero? (system* "make"
- (string-append "INSTALL_HDR_PATH=" out)
- "headers_install"))
- (begin
- (mkdir (string-append out "/include/config"))
- (call-with-output-file
- (string-append out
- "/include/config/kernel.release")
- (lambda (p)
- (format p "~a-default~%" ,version)))
-
- ;; Remove the '.install' and '..install.cmd' files; the
- ;; latter contains store paths, which pulls in bootstrap
- ;; binaries in the build environment, and prevents bit
- ;; reproducibility for the bootstrap binaries.
- (for-each delete-file (find-files out "\\.install"))
-
- #t))))))
+ (invoke "make"
+ (string-append "INSTALL_HDR_PATH=" out)
+ "headers_install")
+
+ (mkdir (string-append out "/include/config"))
+ (call-with-output-file
+ (string-append out
+ "/include/config/kernel.release")
+ (lambda (p)
+ (format p "~a-default~%" ,version)))
+
+ ;; Remove the '.install' and '..install.cmd' files; the
+ ;; latter contains store paths, which pulls in bootstrap
+ ;; binaries in the build environment, and prevents bit
+ ;; reproducibility for the bootstrap binaries.
+ (for-each delete-file (find-files out "\\.install"))
+
+ #t))))
#:allowed-references ()
#:tests? #f))
(home-page "https://www.gnu.org/software/linux-libre/")
@@ -547,8 +547,7 @@ providing the system administrator with some help in common tasks.")
(define-public util-linux
(package
(name "util-linux")
- (replacement util-linux/fixed)
- (version "2.31")
+ (version "2.31.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/"
@@ -556,8 +555,9 @@ providing the system administrator with some help in common tasks.")
name "-" version ".tar.xz"))
(sha256
(base32
- "12nw108xjhm63sh2n5a0qs33vpvbvb6rln96l9j50p7wykf7rgpr"))
- (patches (search-patches "util-linux-tests.patch"))
+ "04fzrnrr3pvqskvjn9f81y0knh0jvvqx4lmbz5pd4lfdm5pv2l8s"))
+ (patches (search-patches "util-linux-tests.patch"
+ "util-linux-CVE-2018-7738.patch"))
(modules '((guix build utils)))
(snippet
;; We take the 'logger' program from GNU Inetutils and 'kill'
@@ -635,15 +635,6 @@ block devices, UUIDs, TTYs, and many other tools.")
(license (list license:gpl3+ license:gpl2+ license:gpl2 license:lgpl2.0+
license:bsd-4 license:public-domain))))
-(define util-linux/fixed
- (package
- (inherit util-linux)
- (source
- (origin
- (inherit (package-source util-linux))
- (patches (append (origin-patches (package-source util-linux))
- (search-patches "util-linux-CVE-2018-7738.patch")))))))
-
(define-public ddate
(package
(name "ddate")
@@ -1339,7 +1330,8 @@ configuration (iptunnel, ipmaddr).")
(substitute* "Make.Rules"
(("LDFLAGS := #-g")
(string-append "LDFLAGS := -Wl,-rpath="
- %output "/lib"))))))
+ %output "/lib")))
+ #t)))
#:tests? #f ; no 'check' target
#:make-flags (list "lib=lib"
(string-append "prefix="
@@ -1375,7 +1367,7 @@ Linux-based operating systems.")
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
+ (add-before 'bootstrap 'patch-stuff
(lambda _
;; Fix "field ‘ip6’ has incomplete type" errors.
(substitute* "libbridge/libbridge.h"
@@ -1388,7 +1380,7 @@ Linux-based operating systems.")
(("\\$\\(MAKE\\) \\$\\(MFLAGS\\) -C \\$\\$x ;")
"$(MAKE) $(MFLAGS) -C $$x || exit 1;"))
- (zero? (system* "autoreconf" "-vf")))))
+ #t)))
#:tests? #f)) ; no 'check' target
(home-page
@@ -1696,16 +1688,19 @@ UnionFS-FUSE additionally supports copy-on-write.")
(source (origin (inherit (package-source fuse))
(modules '((guix build utils)))
(snippet
- ;; Normally libfuse invokes mount(8) so that /etc/mtab is
- ;; updated. Change calls to 'mtab_needs_update' to 0 so that
- ;; it doesn't do that, allowing us to remove the dependency on
- ;; util-linux (something that is useful in initrds.)
- '(substitute* '("lib/mount_util.c"
- "util/mount_util.c")
- (("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)")
- "0")
- (("/bin/")
- "")))))))
+ '(begin
+ ;; Normally libfuse invokes mount(8) so that /etc/mtab is
+ ;; updated. Change calls to 'mtab_needs_update' to 0 so
+ ;; that it doesn't do that, allowing us to remove the
+ ;; dependency on util-linux (something that is useful in
+ ;; initrds.)
+ (substitute* '("lib/mount_util.c"
+ "util/mount_util.c")
+ (("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)")
+ "0")
+ (("/bin/")
+ ""))
+ #t))))))
(define-public unionfs-fuse/static
(package (inherit unionfs-fuse)
@@ -1714,11 +1709,13 @@ UnionFS-FUSE additionally supports copy-on-write.")
(source (origin (inherit (package-source unionfs-fuse))
(modules '((guix build utils)))
(snippet
- ;; Add -ldl to the libraries, because libfuse.a needs that.
- '(substitute* "src/CMakeLists.txt"
- (("target_link_libraries(.*)\\)" _ libs)
- (string-append "target_link_libraries"
- libs " dl)"))))))
+ '(begin
+ ;; Add -ldl to the libraries, because libfuse.a needs that.
+ (substitute* "src/CMakeLists.txt"
+ (("target_link_libraries(.*)\\)" _ libs)
+ (string-append "target_link_libraries"
+ libs " dl)")))
+ #t))))
(arguments
'(#:tests? #f
#:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static")
@@ -1880,7 +1877,8 @@ system.")
(substitute* '("src/unicode_start" "src/unicode_stop")
;; Assume the Coreutils are in $PATH.
(("/usr/bin/tty")
- "tty"))))))
+ "tty"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -1946,7 +1944,7 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.")
(define-public kmod
(package
(name "kmod")
- (version "24")
+ (version "25")
(source (origin
(method url-fetch)
(uri
@@ -1954,7 +1952,7 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.")
"kmod-" version ".tar.xz"))
(sha256
(base32
- "15xkkkzvca9flvkm48gkh8y8f13vlm3sl7nz9ydc7b3jy4fqs2v1"))
+ "1kgixs4m3jvwk7fb3d18n6j77qhgi9qfv4csj35rs5ancr4ycrbi"))
(patches (search-patches "kmod-module-directory.patch"))))
(build-system gnu-build-system)
(native-inputs
@@ -1963,19 +1961,20 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.")
`(("xz" ,xz)
("zlib" ,zlib)))
(arguments
- `(#:tests? #f ; FIXME: Investigate test failures
+ `(#:tests? #f ; FIXME: Investigate test failures
#:configure-flags '("--with-xz" "--with-zlib")
- #:phases (alist-cons-after
- 'install 'install-modprobe&co
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin")))
- (for-each (lambda (tool)
- (symlink "kmod"
- (string-append bin "/" tool)))
- '("insmod" "rmmod" "lsmod" "modprobe"
- "modinfo" "depmod"))))
- %standard-phases)))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-modprobe&co
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (for-each (lambda (tool)
+ (symlink "kmod"
+ (string-append bin "/" tool)))
+ '("insmod" "rmmod" "lsmod" "modprobe"
+ "modinfo" "depmod"))
+ #t))))))
(home-page "https://www.kernel.org/")
(synopsis "Kernel module tools")
(description "Kmod is a set of tools to handle common tasks with Linux
@@ -1991,7 +1990,7 @@ from the module-init-tools project.")
;; The post-systemd fork, maintained by Gentoo.
(package
(name "eudev")
- (version "3.2.4")
+ (version "3.2.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/gentoo/eudev/archive/v"
@@ -1999,27 +1998,26 @@ from the module-init-tools project.")
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
- "1r1ag0snarygrj5qqxi2xdq9w6g3sfjd5jx1b0fl7zmqlsz3vvxx"))
+ "0c9l3m3mr1nvrvlcnzh5gjdg9p9k7hh0jk04wh596cbmbass2nhd"))
(patches (search-patches "eudev-rules-directory.patch"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-before 'configure 'bootstrap
+ (add-before 'bootstrap 'patch-file-names
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "man/make.sh"
(("/usr/bin/xsltproc")
(string-append (assoc-ref inputs "xsltproc")
"/bin/xsltproc")))
- ;; Manual pages are regenerated here.
- (zero? (system* "./autogen.sh"))))
+ #t))
(add-after 'install 'build-hwdb
(lambda* (#:key outputs #:allow-other-keys)
;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and
;; similar tools to display product names.
(let ((out (assoc-ref outputs "out")))
- (zero? (system* (string-append out "/bin/udevadm")
- "hwdb" "--update"))))))
+ (invoke (string-append out "/bin/udevadm")
+ "hwdb" "--update")))))
#:configure-flags (list "--enable-manpages")))
(native-inputs
`(("autoconf" ,autoconf)
@@ -2072,7 +2070,8 @@ time.")
(("confdir = .*$")
"confdir = @sysconfdir@\n")
(("DEFAULT_SYS_DIR = @DEFAULT_SYS_DIR@")
- "DEFAULT_SYS_DIR = @sysconfdir@"))))
+ "DEFAULT_SYS_DIR = @sysconfdir@"))
+ #t))
(patches (search-patches "lvm2-static-link.patch"))))
(build-system gnu-build-system)
(native-inputs
@@ -2256,7 +2255,9 @@ compliance.")
"1f9mcp78sdd4sci6v32vxfcl1rfjpv205jisz1p93kkfnaisy7ip"))
;; We're building 'regulatory.bin' by ourselves.
- (snippet '(delete-file "regulatory.bin"))))
+ (snippet '(begin
+ (delete-file "regulatory.bin")
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -2689,7 +2690,8 @@ also contains the libsysfs library.")
"includedir = @includedir@"))
(substitute* "configure"
(("includedir='(\\$\\{prefix\\}/include)'" all orig)
- (string-append "includedir='" orig "/sysfs'")))))))
+ (string-append "includedir='" orig "/sysfs'")))
+ #t))))
(synopsis "System utilities based on Linux sysfs (version 1.x)")))
(define-public cpufrequtils
@@ -3106,7 +3108,7 @@ write access to exFAT devices.")
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
+ (replace 'bootstrap
(lambda _
;; The tarball was not generated with 'make dist' so we
;; need to bootstrap things ourselves.
@@ -3241,12 +3243,6 @@ from the btrfs-progs package. It is meant to be used in initrds.")
(base32
"1bir9ladb58ijlcvrjrq1fb1xv5ys50zdjaq0yzliib0apsyrnyl"))))
(build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vif")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -3310,9 +3306,10 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.")
(modules '((guix build utils)))
;; Fix erroneous man page location in Makefile leading to
;; a compilation failure.
- (snippet
- '(substitute* "CMakeLists.txt"
- (("thinkfan\\.1") "src/thinkfan.1")))))
+ (snippet '(begin
+ (substitute* "CMakeLists.txt"
+ (("thinkfan\\.1") "src/thinkfan.1"))
+ #t))))
(build-system cmake-build-system)
(arguments
`(#:modules ((guix build cmake-build-system)
@@ -3363,11 +3360,12 @@ from userspace.")
(base32
"1mb228p80hv97pgk3myyvgp975r9mxq56c6bdn1n24kngcfh4niy"))
(modules '((guix build utils)))
- (snippet
- ;; Install under $prefix.
- '(substitute* '("src/Makefile.in" "ntfsprogs/Makefile.in")
- (("/sbin")
- "@sbindir@")))))
+ (snippet '(begin
+ ;; Install under $prefix.
+ (substitute* '("src/Makefile.in" "ntfsprogs/Makefile.in")
+ (("/sbin")
+ "@sbindir@"))
+ #t))))
(build-system gnu-build-system)
(inputs `(("util-linux" ,util-linux)
("fuse" ,fuse))) ;libuuid
@@ -3466,12 +3464,7 @@ The following service daemons are also provided:
(build-system gnu-build-system)
(arguments
`(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB.
- #:configure-flags '("--without-nistbeacon")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "sh" "autogen.sh")))))))
+ #:configure-flags '("--without-nistbeacon")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -3668,9 +3661,12 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.")
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(snippet
- ;; The snapshots lack a .git directory, breaking ‘git describe’.
- `(substitute* "Makefile"
- (("\"unknown\"") (string-append "\"v" ,version "\""))))))
+ `(begin
+ ;; The snapshots lack a .git directory,
+ ;; breaking ‘git describe’.
+ (substitute* "Makefile"
+ (("\"unknown\"") (string-append "\"v" ,version "\"")))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 1cda606c20..f7b74b030f 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -189,8 +189,10 @@ interface to the Tk widget system.")
(modules '((guix build utils)))
(snippet
;; Add ecl-bundle-systems to 'default-system-source-registry'.
- `(substitute* "contrib/asdf/asdf.lisp"
- ,@(asdf-substitutions name)))))
+ `(begin
+ (substitute* "contrib/asdf/asdf.lisp"
+ ,@(asdf-substitutions name))
+ #t))))
(build-system gnu-build-system)
;; src/configure uses 'which' to confirm the existence of 'gzip'.
(native-inputs `(("which" ,which)))
@@ -324,8 +326,10 @@ an interpreter, a compiler, a debugger, and much more.")
(modules '((guix build utils)))
(snippet
;; Add sbcl-bundle-systems to 'default-system-source-registry'.
- `(substitute* "contrib/asdf/asdf.lisp"
- ,@(asdf-substitutions name)))))
+ `(begin
+ (substitute* "contrib/asdf/asdf.lisp"
+ ,@(asdf-substitutions name))
+ #t))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
;; Bootstrap with CLISP.
@@ -618,10 +622,11 @@ The core is 12 builtin special forms and 33 builtin functions.")
(snippet
'(begin
(substitute* "src/unix.c"
- (("\\{ \"LUSH_DATE\", __DATE__ \\},") "")
- (("\\{ \"LUSH_TIME\", __TIME__ \\},") ""))
- (substitute* "src/main.c"
- (("\" \\(built \" __DATE__ \"\\)\"") ""))))
+ (("\\{ \"LUSH_DATE\", __DATE__ \\},") "")
+ (("\\{ \"LUSH_TIME\", __TIME__ \\},") ""))
+ (substitute* "src/main.c"
+ (("\" \\(built \" __DATE__ \"\\)\"") ""))
+ #t))
(sha256
(base32
"02pkfn3nqdkm9fm44911dbcz0v3r0l53vygj8xigl6id5g3iwi4k"))))
@@ -920,7 +925,8 @@ ANSI-compliant Common Lisp implementations.")
(delete-file-recursively "demo")
(delete-file "test/trapezoid.lisp")
(substitute* "clx.asd"
- (("\\(:file \"trapezoid\"\\)") ""))))))
+ (("\\(:file \"trapezoid\"\\)") ""))
+ #t))))
(build-system asdf-build-system/sbcl)
(home-page "http://www.cliki.net/portable-clx")
(synopsis "X11 client library for Common Lisp")
@@ -1048,12 +1054,12 @@ productive, customizable lisp based systems.")
(rename-file "contrib" "slynk/contrib")
;; Move slynk's contents into the base directory for easier
;; access
- (for-each
- (lambda (file)
- (unless (string-prefix? "." file)
- (rename-file (string-append "slynk/" file)
- (string-append "./" (basename file)))))
- (scandir "slynk"))))))
+ (for-each (lambda (file)
+ (unless (string-prefix? "." file)
+ (rename-file (string-append "slynk/" file)
+ (string-append "./" (basename file)))))
+ (scandir "slynk"))
+ #t))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:tests? #f ; No test suite
diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm
index 02dacd3e87..f493720973 100644
--- a/gnu/packages/lxde.scm
+++ b/gnu/packages/lxde.scm
@@ -364,7 +364,8 @@ in LXDE.")
(and (string-suffix? ".c" file)
(file-exists? (c->vala file))))))
(for-each delete-file
- (find-files "." generated-c-file?))))))
+ (find-files "." generated-c-file?))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/m4.scm b/gnu/packages/m4.scm
index 32e7c2ae42..b223ce91d1 100644
--- a/gnu/packages/m4.scm
+++ b/gnu/packages/m4.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -40,18 +41,19 @@
;; proceeds and fails, unsurprisingly.
#:tests? ,(not (%current-target-system))
- #:phases (alist-cons-before
- 'check 'pre-check
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Fix references to /bin/sh.
- (let ((bash (assoc-ref inputs "bash")))
- (for-each patch-shebang
- (find-files "tests" "\\.sh$"))
- (substitute* (find-files "tests"
- "posix_spawn")
- (("/bin/sh")
- (format #f "~a/bin/sh" bash)))))
- %standard-phases)))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Fix references to /bin/sh.
+ (let ((bash (assoc-ref inputs "bash")))
+ (for-each patch-shebang
+ (find-files "tests" "\\.sh$"))
+ (substitute* (find-files "tests"
+ "posix_spawn")
+ (("/bin/sh")
+ (format #f "~a/bin/sh" bash)))
+ #t))))))
(synopsis "Macro processor")
(description
"GNU M4 is an implementation of the M4 macro language, which features
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 12384a1031..d9b54d692f 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -408,7 +408,8 @@ sample proximities between pairs of cases.")
(display line out))
(loop (read-line in 'concat) skip-next?)))))))
(for-each delete-ifdefs (find-files "src/shogun/kernel/"
- "^Kernel\\.(cpp|h)"))))))
+ "^Kernel\\.(cpp|h)"))
+ #t))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ;no check target
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 7986671e97..b579914e73 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -137,9 +137,11 @@
(snippet
;; For a rebuild of the Flex/Bison byproducts touched by the
;; patch above.
- '(for-each delete-file
- '("mh/mh_alias_lex.c"
- "libmailutils/cfg/parser.c")))))
+ '(begin
+ (for-each delete-file
+ '("mh/mh_alias_lex.c"
+ "libmailutils/cfg/parser.c"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 779b7ef5aa..543aa919c3 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -1,6 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -143,24 +145,24 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(arguments
(substitute-keyword-arguments (package-arguments bzip2)
((#:phases phases)
- `(alist-cons-before
- 'build 'dash-static
- (lambda _
- (substitute* "Makefile"
- (("^LDFLAGS[[:blank:]]*=.*$")
- "LDFLAGS = -static")))
- ,phases))))))
+ `(modify-phases ,phases
+ (add-before 'build 'dash-static
+ (lambda _
+ (substitute* "Makefile"
+ (("^LDFLAGS[[:blank:]]*=.*$")
+ "LDFLAGS = -static"))
+ #t))))))))
(xz (package (inherit xz)
(arguments
`(#:strip-flags '("--strip-all")
- #:phases (alist-cons-before
- 'configure 'static-executable
- (lambda _
- ;; Ask Libtool for a static executable.
- (substitute* "src/xz/Makefile.in"
- (("^xz_LDADD =")
- "xz_LDADD = -all-static")))
- %standard-phases)))))
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'static-executable
+ (lambda _
+ ;; Ask Libtool for a static executable.
+ (substitute* "src/xz/Makefile.in"
+ (("^xz_LDADD =")
+ "xz_LDADD = -all-static"))
+ #t)))))))
(gawk (package (inherit gawk)
(source (origin (inherit (package-source gawk))
(patches (cons (search-patch "gawk-shell.patch")
@@ -175,14 +177,14 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
,@(substitute-keyword-arguments (package-arguments gawk)
((#:phases phases)
- `(alist-cons-before
- 'configure 'no-export-dynamic
- (lambda _
- ;; Since we use `-static', remove
- ;; `-export-dynamic'.
- (substitute* "configure"
- (("-Wl,-export-dynamic") "")))
- ,phases)))))
+ `(modify-phases ,phases
+ (add-before 'configure 'no-export-dynamic
+ (lambda _
+ ;; Since we use `-static', remove
+ ;; `-export-dynamic'.
+ (substitute* "configure"
+ (("-Wl,-export-dynamic") ""))
+ #t)))))))
(inputs (if (%current-target-system)
`(("bash" ,static-bash))
'()))))
@@ -306,19 +308,19 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
((#:configure-flags flags _ ...)
flags)))
#:strip-flags '("--strip-all")
- #:phases (alist-cons-before
- 'configure 'all-static
- (lambda _
- ;; The `-all-static' libtool flag can only be passed
- ;; after `configure', since configure tests don't use
- ;; libtool, and only for executables built with libtool.
- (substitute* '("binutils/Makefile.in"
- "gas/Makefile.in"
- "ld/Makefile.in")
- (("^LDFLAGS =(.*)$" line)
- (string-append line
- "\nAM_LDFLAGS = -static -all-static\n"))))
- %standard-phases)))))
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'all-static
+ (lambda _
+ ;; The `-all-static' libtool flag can only be passed
+ ;; after `configure', since configure tests don't use
+ ;; libtool, and only for executables built with libtool.
+ (substitute* '("binutils/Makefile.in"
+ "gas/Makefile.in"
+ "ld/Makefile.in")
+ (("^LDFLAGS =(.*)$" line)
+ (string-append line
+ "\nAM_LDFLAGS = -static -all-static\n")))
+ #t)))))))
(define %binutils-static-stripped
;; The subset of Binutils that we need.
@@ -424,18 +426,18 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(remove (cut string-match "--(.*plugin|enable-languages)" <>)
,flags)))
((#:phases phases)
- `(alist-cons-after
- 'pre-configure 'remove-lgcc_s
- (lambda _
- ;; Remove the '-lgcc_s' added to GNU_USER_TARGET_LIB_SPEC in
- ;; the 'pre-configure phase of our main gcc package, because
- ;; that shared library is not present in this static gcc. See
- ;; <https://lists.gnu.org/archive/html/guix-devel/2015-01/msg00008.html>.
- (substitute* (cons "gcc/config/rs6000/sysv4.h"
- (find-files "gcc/config"
- "^gnu-user.*\\.h$"))
- ((" -lgcc_s}}") "}}")))
- ,phases)))))
+ `(modify-phases ,phases
+ (add-after 'pre-configure 'remove-lgcc_s
+ (lambda _
+ ;; Remove the '-lgcc_s' added to GNU_USER_TARGET_LIB_SPEC in
+ ;; the 'pre-configure phase of our main gcc package, because
+ ;; that shared library is not present in this static gcc. See
+ ;; <https://lists.gnu.org/archive/html/guix-devel/2015-01/msg00008.html>.
+ (substitute* (cons "gcc/config/rs6000/sysv4.h"
+ (find-files "gcc/config"
+ "^gnu-user.*\\.h$"))
+ ((" -lgcc_s}}") "}}"))
+ #t)))))))
(native-inputs
(if (%current-target-system)
`(;; When doing a Canadian cross, we need GMP/MPFR/MPC both
@@ -493,12 +495,14 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(string-append includedir "/c++"))
;; For native builds, check whether the binaries actually work.
- ,(if (%current-target-system)
- '#t
- '(every (lambda (prog)
- (zero? (system* (string-append gcc "/bin/" prog)
- "--version")))
- '("gcc" "g++" "cpp")))))))
+ ,@(if (%current-target-system)
+ '()
+ '((for-each (lambda (prog)
+ (invoke (string-append gcc "/bin/" prog)
+ "--version"))
+ '("gcc" "g++" "cpp"))))
+
+ #t))))
(inputs `(("gcc" ,%gcc-static)))))
(define %guile-static
@@ -586,21 +590,22 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(mkdir (string-append out "/bin"))
(copy-file guile1 guile2)
- ;; Does the relocated Guile work?
- (and ,(if (%current-target-system)
- #t
- '(zero? (system* guile2 "--version")))
- (begin
- ;; Strip store references.
- (remove-store-references guile2)
-
- ;; Does the stripped Guile work? If it aborts, it could be
- ;; that it tries to open iconv descriptors and fails because
- ;; libc's iconv data isn't available (see
- ;; `guile-default-utf8.patch'.)
- ,(if (%current-target-system)
- #t
- '(zero? (system* guile2 "--version")))))))))
+ ;; Verify that the relocated Guile works.
+ ,@(if (%current-target-system)
+ '()
+ '((invoke guile2 "--version")))
+
+ ;; Strip store references.
+ (remove-store-references guile2)
+
+ ;; Verify that the stripped Guile works. If it aborts, it could be
+ ;; that it tries to open iconv descriptors and fails because libc's
+ ;; iconv data isn't available (see `guile-default-utf8.patch'.)
+ ,@(if (%current-target-system)
+ '()
+ '((invoke guile2 "--version")))
+
+ #t))))
(inputs `(("guile" ,%guile-static)))
(outputs '("out"))
(synopsis "Minimal statically-linked and relocatable Guile")))
@@ -627,17 +632,17 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(mkdir out)
(set-path-environment-variable "PATH" '("bin") (list tar xz))
(with-directory-excursion input
- (zero? (system* "tar" "cJvf"
- (string-append out "/"
- ,name "-" ,version
- "-"
- ,(or (%current-target-system)
- (%current-system))
- ".tar.xz")
- "."
- ;; avoid non-determinism in the archive
- "--sort=name" "--mtime=@0"
- "--owner=root:0" "--group=root:0"))))))))))
+ (invoke "tar" "cJvf"
+ (string-append out "/"
+ ,name "-" ,version
+ "-"
+ ,(or (%current-target-system)
+ (%current-system))
+ ".tar.xz")
+ "."
+ ;; avoid non-determinism in the archive
+ "--sort=name" "--mtime=@0"
+ "--owner=root:0" "--group=root:0")))))))))
(define %bootstrap-binaries-tarball
;; A tarball with the statically-linked bootstrap binaries.
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 257cabbbb6..644738f717 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -189,7 +189,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
(define-public help2man
(package
(name "help2man")
- (version "1.47.5")
+ (version "1.47.6")
(source
(origin
(method url-fetch)
@@ -197,7 +197,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
version ".tar.xz"))
(sha256
(base32
- "1cb14kp380jzk1yi4i7x9d8qplc8c5mgcbgycgs9ggpx34jhp9kw"))))
+ "0vz4dlrvy4vc6l7w0a7n668pfa0rdm73wr2gar58wqranyah46yr"))))
(build-system gnu-build-system)
(arguments `(;; There's no `check' target.
#:tests? #f))
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 64fe13b9bc..5e7d7b2bd3 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -170,9 +170,11 @@ interactive dialogs to guide them.")
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.
- '(for-each (lambda (d)
- (delete-file-recursively (string-append "libcoda/" d)))
- '("zlib" "pcre" "expat")))))
+ '(begin
+ (for-each (lambda (d)
+ (delete-file-recursively (string-append "libcoda/" d)))
+ '("zlib" "pcre" "expat"))
+ #t))))
(native-inputs
`(("fortran" ,gfortran)
("python" ,python)
@@ -820,7 +822,8 @@ extremely large and complex data collections.")
(for-each delete-file
(list "SZip.tar.gz" "ZLib.tar.gz" "JPEG8d.tar.gz"
"HDF4.tar.gz" "HDF5.tar.gz"))
- (delete-file-recursively ,(string-append "hdfjava-" version "/lib"))))))
+ (delete-file-recursively ,(string-append "hdfjava-" version "/lib"))
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("jdk" ,icedtea "jdk")
@@ -1223,7 +1226,9 @@ online as well as original implementations of various other algorithms.")
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.
- '(delete-file-recursively "ThirdParty"))))
+ '(begin
+ (delete-file-recursively "ThirdParty")
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -1447,7 +1452,9 @@ Open CASCADE library.")
(modules '((guix build utils)))
(snippet
;; Remove non-free METIS code
- '(delete-file-recursively "contrib/Metis"))))
+ '(begin
+ (delete-file-recursively "contrib/Metis")
+ #t))))
(build-system cmake-build-system)
(propagated-inputs
`(("fltk" ,fltk)
@@ -1981,7 +1988,8 @@ void mc64ad_ (int *a, int *b, int *c, int *d, int *e, double *f, int *g,
(let ((line (read-line in 'concat)))
(unless (regexp-exec rx line)
(display line out)
- (loop)))))))))))
+ (loop))))
+ #t)))))))
(build-system cmake-build-system)
(native-inputs
`(("tcsh" ,tcsh)))
@@ -2039,7 +2047,8 @@ void mc64ad_ (int *a, int *b, int *c, int *d, int *e, double *f, int *g,
(delete-file "SRC/mc64ad.f.bak")
(substitute* "SRC/util.c" ;adjust default algorithm
(("RowPerm[[:blank:]]*=[[:blank:]]*LargeDiag")
- "RowPerm = NOROWPERM"))))
+ "RowPerm = NOROWPERM"))
+ #t))
(patches (search-patches "superlu-dist-scotchmetis.patch"))))
(build-system gnu-build-system)
(native-inputs
@@ -2888,7 +2897,9 @@ Fresnel integrals, and similar related functions as well.")
(modules '((guix build utils)))
(snippet
;; Remove bundled metis source
- '(delete-file-recursively "metis-5.1.0"))))
+ '(begin
+ (delete-file-recursively "metis-5.1.0")
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;no "check" target
@@ -3084,19 +3095,21 @@ specifications.")
"12pj1idjz31r7c2mb5w03vy1cmvycvbkx9z29s40qdmkp1i7q6i0"))
(modules '((guix build utils)))
(snippet
- '(substitute* (list "lp_solve/ccc" "lpsolve55/ccc")
- (("^c=cc") "c=gcc")
- ;; Pretend to be on a 64 bit platform to obtain a common directory
- ;; name for the build results on all architectures; nothing else
- ;; seems to depend on it.
- (("^PLATFORM=.*$") "PLATFORM=ux64\n")
-
- ;; The check for 'isnan' as it is written fails with
- ;; "non-floating-point argument in call to function
- ;; ‘__builtin_isnan’", which leads to the 'NOISNAN' cpp macro
- ;; definition, which in turn leads to bad things. Fix the feature
- ;; test.
- (("isnan\\(0\\)") "isnan(0.)")))))
+ '(begin
+ (substitute* (list "lp_solve/ccc" "lpsolve55/ccc")
+ (("^c=cc") "c=gcc")
+ ;; Pretend to be on a 64 bit platform to obtain a common directory
+ ;; name for the build results on all architectures; nothing else
+ ;; seems to depend on it.
+ (("^PLATFORM=.*$") "PLATFORM=ux64\n")
+
+ ;; The check for 'isnan' as it is written fails with
+ ;; "non-floating-point argument in call to function
+ ;; ‘__builtin_isnan’", which leads to the 'NOISNAN' cpp macro
+ ;; definition, which in turn leads to bad things. Fix the feature
+ ;; test.
+ (("isnan\\(0\\)") "isnan(0.)"))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
@@ -3154,7 +3167,9 @@ revised simplex and the branch-and-bound methods.")
(modules '((guix build utils)))
(snippet
;; Remove bundled sources: UMFPACK, TBB, muParser, and boost
- '(delete-file-recursively "bundled"))))
+ '(begin
+ (delete-file-recursively "bundled")
+ #t))))
(build-system cmake-build-system)
(inputs
`(("tbb" ,tbb)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index ae489e1586..6df889e315 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -217,7 +217,8 @@ identi.ca and status.net).")
'("intltool.m4" "libtool.m4" "lt~obsolete.m4"
"ltoptions.m4" "ltsugar.m4" "ltversion.m4")))
(delete-file-recursively "build-aux")
- (delete-file "po/Makefile.in.in")))))
+ (delete-file "po/Makefile.in.in")
+ #t))))
(build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf)
("autoconf-archive" ,autoconf-archive)
@@ -243,13 +244,13 @@ identi.ca and status.net).")
#:phases
(modify-phases %standard-phases
;; Release 2.12.4 wasn't properly bootstrapped. Later ones might be!
- (add-after 'unpack 'bootstrap
+ (add-before 'boostrap 'copy-intltool-makefile
(lambda* (#:key inputs #:allow-other-keys)
;; This file is still required for autoreconf.
(copy-file (string-append (assoc-ref inputs "intltool")
"/share/intltool/Makefile.in.in")
"po/Makefile.in.in")
- (zero? (system* "autoreconf" "-fiv")))))))
+ #t)))))
(synopsis "Graphical IRC Client")
(description
"HexChat lets you connect to multiple IRC networks at once. The main
@@ -1068,7 +1069,9 @@ into existing applications.")
"1lw6807qrbmvzbrjn1rna1dhir2k70xpcjvyjn45y35hav333a42"))
;; psycmp3 currently depends on MP3::List and rxaudio (shareware),
;; we can add it back when this is no longer the case.
- (snippet '(delete-file "contrib/psycmp3"))))
+ (snippet '(begin
+ (delete-file "contrib/psycmp3")
+ #t))))
(build-system perl-build-system)
(inputs
`(("perl-curses" ,perl-curses)
@@ -1373,12 +1376,6 @@ is also scriptable and extensible via Guile.")
(base32
"0iaj56fkd5bjvqpvq3324ni895rmbj1akbfqipjydnghfwaym4z6"))))
(build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'bootstrap
- (lambda _
- (zero? (system* "./bootstrap.sh")))))))
(inputs
`(("expat" ,expat)
("openssl" ,openssl)))
@@ -1408,12 +1405,6 @@ manual SSL certificate verification.")
(base32
"1hzwdax4nsz0fncf5bjfza0cn0lc6xsf38y569ql1gg5hvwr6169"))))
(build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'bootstrap
- (lambda _
- (zero? (system* "./bootstrap.sh")))))))
(inputs
`(("expat" ,expat)
("openssl" ,openssl)))
diff --git a/gnu/packages/microcom.scm b/gnu/packages/microcom.scm
index dcb864808f..67fd5fe355 100644
--- a/gnu/packages/microcom.scm
+++ b/gnu/packages/microcom.scm
@@ -39,12 +39,6 @@
(base32
"080ci5589bpyy5kcl51csmvpw9zysify189hw6awx69pi3cjnxly"))))
(build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-i")))))))
(inputs `(("readline" ,readline)))
(native-inputs `(("automake" ,automake)
("autoconf" ,autoconf)))
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index c5a86d02c6..fee9575bb9 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -54,9 +54,11 @@
(modules '((guix build utils)))
(snippet
;; Ensure reproducibility.
- '(substitute* (find-files "cgi" "\\.c$")
- (("__DATE__") "\"1970-01-01\"")
- (("__TIME__") "\"00:00:00\"")))))
+ '(begin
+ (substitute* (find-files "cgi" "\\.c$")
+ (("__DATE__") "\"1970-01-01\"")
+ (("__TIME__") "\"00:00:00\""))
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("unzip" ,unzip)))
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index 6dc58e2cc8..5904fef8d3 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -120,7 +120,7 @@ versions of ID3v2.")
"0yfhqwk0w8q2hyv1jib1008jvzmwlpsxvc8qjllhna6p1hycqj97"))
(modules '((guix build utils)))
;; Don't use bundled zlib
- (snippet '(delete-file-recursively "zlib"))
+ (snippet '(begin (delete-file-recursively "zlib") #t))
(patches (search-patches "id3lib-CVE-2007-4460.patch"))))
(build-system gnu-build-system)
(inputs `(("zlib" ,zlib)))
@@ -192,10 +192,12 @@ Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF files.")
"042f1czcs9n2sbqvg4rsvfwlqib2gk976mfa2kxlfjghx5laqf04"))
(modules '((guix build utils)))
(snippet
- '(substitute* "Makefile"
- (("/bin/rm") "rm")
- (("/usr/bin/install") "install")
- (("man/man1") "share/man/man1")))))
+ '(begin
+ (substitute* "Makefile"
+ (("/bin/rm") "rm")
+ (("/usr/bin/install") "install")
+ (("man/man1") "share/man/man1"))
+ #t))))
(build-system gnu-build-system)
(outputs '("out" "gui")) ;GTK+ interface in "gui"
(arguments
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index 4bfe0ac563..ee427f84eb 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -91,13 +92,13 @@ algebra.")
(define-public mpfr
(package
(name "mpfr")
- (version "3.1.6")
+ (version "4.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mpfr/mpfr-" version
".tar.xz"))
(sha256 (base32
- "0l598h9klpgkz2bp0rxiqb90mkqh9f2f81n5rpy191j00hdaqqks"))))
+ "0vp1lrc08gcmwdaqck6bpzllkrykvp06vz5gnqpyw0v3h9h4m1v7"))))
(build-system gnu-build-system)
(outputs '("out" "debug"))
(propagated-inputs `(("gmp" ,gmp))) ; <mpfr.h> refers to <gmp.h>
@@ -112,14 +113,14 @@ correct rounding.")
(define-public mpc
(package
(name "mpc")
- (version "1.0.3")
+ (version "1.1.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnu/mpc/mpc-" version ".tar.gz"))
(sha256
(base32
- "1hzci2zrrd7v3g1jk35qindq05hbl0bhjcyyisq9z209xb3fqzb1"))))
+ "0biwnhjm3rx3hc0rfpvyniky4lpzsvdcwhmcn7f0h4iw2hwcb1b9"))))
(build-system gnu-build-system)
(outputs '("out" "debug"))
(propagated-inputs `(("gmp" ,gmp) ; <mpc.h> refers to both
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 4bd58d9733..7eb2896963 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -203,29 +203,31 @@ score, keyboard, guitar, drum and controller views.")
"0cdcj7di7j9jgzc1ihjna1a5df64f9hnmx7b9kh8rlg76hc0l0hi"))
(modules '((guix build utils)))
(snippet
- '(for-each
+ '(begin
+ (for-each
(lambda (dir)
(delete-file-recursively
- (string-append "3rdparty/" dir)))
+ (string-append "3rdparty/" dir)))
(list
- ;; TODO: The following dependencies are still bundled:
- ;; - "qxt": Appears to be unmaintained upstream.
- ;; - "qsqlite"
- ;; - "qtsingleapplication"
- ;; - "qocoa"
- ;; - "qtiocompressor"
- ;; - "gmock": The tests crash when using our googletest
- ;; package instead of the bundled gmock.
- "SPMediaKeyTap"
- "fancytabwidget"
- "google-breakpad"
- "libmygpo-qt"
- "libmygpo-qt5"
- "libprojectm"
- "qtwin"
- "sha2" ;; Replaced by openssl.
- "taglib"
- "tinysvcmdns")))
+ ;; TODO: The following dependencies are still bundled:
+ ;; - "qxt": Appears to be unmaintained upstream.
+ ;; - "qsqlite"
+ ;; - "qtsingleapplication"
+ ;; - "qocoa"
+ ;; - "qtiocompressor"
+ ;; - "gmock": The tests crash when using our googletest
+ ;; package instead of the bundled gmock.
+ "SPMediaKeyTap"
+ "fancytabwidget"
+ "google-breakpad"
+ "libmygpo-qt"
+ "libmygpo-qt5"
+ "libprojectm"
+ "qtwin"
+ "sha2" ;; Replaced by openssl.
+ "taglib"
+ "tinysvcmdns"))
+ #t))
(patches (search-patches "clementine-use-openssl.patch"
"clementine-remove-crypto++-dependency.patch"))))
(build-system cmake-build-system)
@@ -2607,7 +2609,8 @@ of tools for manipulating and accessing your music.")
'(begin
(delete-file-recursively "resources/music")
(substitute* "CMakeLists.txt"
- (("add_subdirectory\\(resources/music\\)") ""))))))
+ (("add_subdirectory\\(resources/music\\)") ""))
+ #t))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no check target
@@ -2645,9 +2648,11 @@ for improved Amiga ProTracker 2/3 compatibility.")
(modules '((guix build utils)))
(snippet
;; Remove use of __DATE__ and __TIME__ for reproducibility.
- `(substitute* "schism/version.c"
- (("Schism Tracker built %s %s.*$")
- (string-append "Schism Tracker version " ,version "\");"))))))
+ `(begin
+ (substitute* "schism/version.c"
+ (("Schism Tracker built %s %s.*$")
+ (string-append "Schism Tracker version " ,version "\");")))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -2762,9 +2767,11 @@ available memory.")
(modules '((guix build utils)))
(snippet
;; Remove use of __DATE__ and __TIME__ for reproducibility.
- '(substitute* "main.c"
- (("printf \\(\" Built : %s\", __DATE__\\);") "")
- (("printf \\(\" %s\", __TIME__\\);") "")))))
+ '(begin
+ (substitute* "main.c"
+ (("printf \\(\" Built : %s\", __DATE__\\);") "")
+ (("printf \\(\" %s\", __TIME__\\);") ""))
+ #t))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm
index 548261289e..6bc98b15d8 100644
--- a/gnu/packages/ncurses.scm
+++ b/gnu/packages/ncurses.scm
@@ -40,7 +40,7 @@
(define-public ncurses
(package
(name "ncurses")
- (version "6.0-20170930")
+ (version "6.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/ncurses/ncurses-"
@@ -48,7 +48,7 @@
".tar.gz"))
(sha256
(base32
- "0q3jck7lna77z5r42f13c4xglc7azd19pxfrjrpgp2yf615w4lgm"))))
+ "05qdmbmrrn88ii9f66rkcmcyzp1kb1ymkx7g040lfkd1nkp7w1da"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;1 MiB of man pages
@@ -56,7 +56,8 @@
(let ((patch-makefile-phase
'(lambda _
(for-each patch-makefile-SHELL
- (find-files "." "Makefile.in"))))
+ (find-files "." "Makefile.in"))
+ #t))
(configure-phase
;; The 'configure' script does not understand '--docdir', so we must
;; override that and use '--mandir' instead.
@@ -64,21 +65,27 @@
#:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
- (zero? (apply system* "./configure"
- (string-append "SHELL=" (which "sh"))
- (string-append "--build=" build)
- (string-append "--prefix=" out)
- (string-append "--mandir=" doc "/share/man")
- (if target
- (cons (string-append "--host=" target)
- configure-flags)
- configure-flags))))))
+ (apply invoke "./configure"
+ (string-append "SHELL=" (which "sh"))
+ (string-append "--build=" build)
+ (string-append "--prefix=" out)
+ (string-append "--mandir=" doc "/share/man")
+ (if target
+ (cons (string-append "--host=" target)
+ configure-flags)
+ configure-flags))
+ #t)))
(apply-rollup-patch-phase
+ ;; Ncurses distributes "stable" patchsets to be applied on top
+ ;; of the release tarball. These are only available as shell
+ ;; scripts(!) so we decompress and apply them in a phase.
+ ;; See <https://invisible-mirror.net/archives/ncurses/6.1/README>.
'(lambda* (#:key inputs native-inputs #:allow-other-keys)
(copy-file (assoc-ref (or native-inputs inputs) "rollup-patch")
(string-append (getcwd) "/rollup-patch.sh.bz2"))
- (and (zero? (system* "bzip2" "-d" "rollup-patch.sh.bz2"))
- (zero? (system* "sh" "rollup-patch.sh")))))
+ (invoke "bzip2" "-d" "rollup-patch.sh.bz2")
+ (invoke "sh" "rollup-patch.sh")
+ #t))
(remove-shebang-phase
'(lambda _
;; To avoid retaining a reference to the bootstrap Bash via the
@@ -149,7 +156,8 @@
(when (file-exists? packagew.pc)
(symlink packagew.pc package.pc))))
'())))
- '("curses" "ncurses" "form" "panel" "menu")))))))
+ '("curses" "ncurses" "form" "panel" "menu")))
+ #t))))
`(#:configure-flags
,(cons*
'quasiquote
@@ -174,8 +182,6 @@
,@(if (target-mingw?) '("--enable-term-driver") '()))))
#:tests? #f ; no "check" target
#:phases (modify-phases %standard-phases
- (add-after 'unpack 'apply-rollup-patch
- ,apply-rollup-patch-phase)
(replace 'configure ,configure-phase)
(add-after 'install 'post-install
,post-install-phase)
@@ -185,22 +191,7 @@
,remove-shebang-phase)))))
(self-native-input? #t) ; for `tic'
(native-inputs
- `(("pkg-config" ,pkg-config)
-
- ;; Ncurses distributes "stable" patchsets to be applied on top
- ;; of the release tarball. These are only available as shell
- ;; scripts(!) so we decompress and apply them in a phase.
- ;; See <https://invisible-mirror.net/archives/ncurses/6.0/README>.
- ("rollup-patch"
- ,(origin
- (method url-fetch)
- (uri (string-append
- "https://invisible-mirror.net/archives/ncurses/"
- (car (string-split version #\-))
- "/ncurses-" version "-patch.sh.bz2"))
- (sha256
- (base32
- "08a1pp8wnj1fwpa1pz3fgrmd6xwp21idniswqz8lx3w3z2nb4ydi"))))))
+ `(("pkg-config" ,pkg-config)))
(native-search-paths
(list (search-path-specification
(variable "TERMINFO_DIRS")
diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm
index 2d76d7e067..e5246660a2 100644
--- a/gnu/packages/netpbm.scm
+++ b/gnu/packages/netpbm.scm
@@ -94,7 +94,8 @@
(("^DATE=.*")
"DATE=\"Thu Jan 01 00:00:00+0000 1970\"\n")
(("^USER=.*")
- "USER=Guix\n"))))))
+ "USER=Guix\n"))
+ #t))))
(build-system gnu-build-system)
(inputs `(("ghostscript" ,ghostscript)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 395e75afa6..c962a8d821 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -399,9 +399,11 @@ Ethernet devices.")
"045cbsq9ps32j24v8y5hpyqxnqn9mpaf3mgvirlhgpqyb9jsia0c"))
(modules '((guix build utils)))
(snippet
- '(substitute* "Main.h"
- (("#include <stdio.h>")
- "#include <stdio.h>\n#include <stdlib.h>")))))
+ '(begin
+ (substitute* "Main.h"
+ (("#include <stdio.h>")
+ "#include <stdio.h>\n#include <stdlib.h>"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no "check" target
@@ -1570,8 +1572,6 @@ interface and a programmable text output for scripting.")
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "libnet") #t))
- (add-after 'chdir 'bootstrap
- (lambda _ (zero? (system* "autoreconf" "-vif"))))
(add-before 'build 'build-doc
(lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* "make" "-C" "doc" "doc"
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index 976d0c048a..8daaf6de89 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -68,7 +68,8 @@
(("deps/http_parser/http_parser.gyp") "")
(("deps/uv/include/\\*.h") "")
(("deps/uv/uv.gyp") "")
- (("deps/zlib/zlib.gyp") ""))))))
+ (("deps/zlib/zlib.gyp") ""))
+ #t))))
(build-system gnu-build-system)
(arguments
;; TODO: Purge the bundled copies from the source.
diff --git a/gnu/packages/nvi.scm b/gnu/packages/nvi.scm
index 5f829aa6ee..ea02762a9b 100644
--- a/gnu/packages/nvi.scm
+++ b/gnu/packages/nvi.scm
@@ -50,7 +50,8 @@
conf-wrap)
(newline conf-wrap)
(close-output-port conf-wrap)
- (chmod "configure" #o0755)))))
+ (chmod "configure" #o0755)
+ #t))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 24f402128c..25ef8ccad0 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -100,7 +100,8 @@
;; in OCaml's directory in the store, which is read-only.
(substitute* "Makefile"
(("--prefix")
- "--libdir $(LIBDIR) --prefix")))))))
+ "--libdir $(LIBDIR) --prefix"))
+ #t)))))
;; They also require almost the same set of arguments
(define janestreet-arguments
@@ -781,7 +782,8 @@ libpanel, librsvg and quartz.")
;; Without the '-fix' argument, the html file produced does not
;; have functioning internal hyperlinks.
(substitute* "doc/Makefile"
- (("hevea unison") "hevea -fix unison"))))))
+ (("hevea unison") "hevea -fix unison"))
+ #t))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 1.9 MiB of documentation
@@ -2196,17 +2198,19 @@ file (POSIX like) and filename.")
"1ln7vc7ip6s5xbi20mhnn087xi4a2m5vqawx0703qqnfkzhmslqy"))
(modules '((guix build utils)))
(snippet
- '(substitute* "test/test-main/Test.ml"
- ;; most of these tests fail because ld cannot find crti.o, but according
- ;; to the log file, the environment variables {LD_,}LIBRARY_PATH
- ;; are set correctly whene LD_LIBRARY_PATH is defined beforhand.
- (("TestBaseCompat.tests;") "")
- (("TestExamples.tests;") "")
- (("TestFull.tests;") "")
- (("TestPluginDevFiles.tests;") "")
- (("TestPluginInternal.tests;") "")
- (("TestPluginOCamlbuild.tests;") "")
- (("TestPluginOMake.tests;") "")))))
+ '(begin
+ (substitute* "test/test-main/Test.ml"
+ ;; most of these tests fail because ld cannot find crti.o, but according
+ ;; to the log file, the environment variables {LD_,}LIBRARY_PATH
+ ;; are set correctly whene LD_LIBRARY_PATH is defined beforhand.
+ (("TestBaseCompat.tests;") "")
+ (("TestExamples.tests;") "")
+ (("TestFull.tests;") "")
+ (("TestPluginDevFiles.tests;") "")
+ (("TestPluginInternal.tests;") "")
+ (("TestPluginOCamlbuild.tests;") "")
+ (("TestPluginOMake.tests;") ""))
+ #t))))
(build-system ocaml-build-system)
(native-inputs
`(("ocamlify" ,ocamlify)
diff --git a/gnu/packages/onc-rpc.scm b/gnu/packages/onc-rpc.scm
index 03d51d9517..72f2dd6409 100644
--- a/gnu/packages/onc-rpc.scm
+++ b/gnu/packages/onc-rpc.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -113,12 +113,6 @@ universal addresses.")
(base32
"1y6kmxmv1difzvdhx7grqzw0j2v2b74mg4kjb803m8jcgkqqx8m5"))))
(build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (invoke "sh" "autogen.sh"))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 709cdfd0f7..376c7d4fdb 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -142,7 +142,7 @@
(ice-9 rdelim))
#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
+ (replace 'bootstrap
(lambda _
;; Make sure 'msgmerge' can modify the PO files.
(for-each (lambda (po)
diff --git a/gnu/packages/patches/binutils-ld-new-dtags.patch b/gnu/packages/patches/binutils-ld-new-dtags.patch
deleted file mode 100644
index 5f7a03fc38..0000000000
--- a/gnu/packages/patches/binutils-ld-new-dtags.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Turn on --enable-new-dtags by default to make the linker set RUNPATH
-instead of RPATH on binaries. This is important because RUNPATH can
-be overriden using LD_LIBRARY_PATH at runtime.
-
-Patch from Nixpkgs by Eelco Dolstra <eelco.dolstra@logicblox.com>.
-
---- binutils/ld/ldmain.c
-+++ binutils/ld/ldmain.c
-@@ -296,6 +296,7 @@ main (int argc, char **argv)
-
- link_info.allow_undefined_version = TRUE;
- link_info.keep_memory = TRUE;
-+ link_info.new_dtags = TRUE;
- link_info.combreloc = TRUE;
- link_info.strip_discarded = TRUE;
- link_info.callbacks = &link_callbacks;
diff --git a/gnu/packages/patches/glib-respect-datadir.patch b/gnu/packages/patches/glib-respect-datadir.patch
deleted file mode 100644
index 309ce9fc0b..0000000000
--- a/gnu/packages/patches/glib-respect-datadir.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-On Guix, Python modules are in a different output from the executables,
-so searching "../share/glib-2.0" will not work.
-
-This patch restores behaviour prior to this commit:
-<https://git.gnome.org/browse/glib/commit/?id=fe2a9887a8ccb14f2386e01b14834e97a33bc2d7>
-
---- a/gio/gdbus-2.0/codegen/gdbus-codegen.in
-+++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in
-@@ -25,9 +25,12 @@
-
- srcdir = os.getenv('UNINSTALLED_GLIB_SRCDIR', None)
- filedir = os.path.dirname(__file__)
-+datadir = os.path.join('@datadir@', 'glib-2.0')
-
- if srcdir is not None:
- path = os.path.join(srcdir, 'gio', 'gdbus-2.0')
-+elif os.path.exists(os.path.join(datadir, 'codegen')):
-+ path = datadir
- elif os.path.basename(filedir) == 'bin':
- # Make the prefix containing gdbus-codegen 'relocatable' at runtime by
- # adding /some/prefix/bin/../share/glib-2.0 to the python path
diff --git a/gnu/packages/patches/graphite2-ffloat-store.patch b/gnu/packages/patches/graphite2-ffloat-store.patch
deleted file mode 100644
index f6ee56973e..0000000000
--- a/gnu/packages/patches/graphite2-ffloat-store.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Fix test failures of awamicmp1 and awamicmp2.
-
-Debian bug report:
-
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=855814
-
-Patch adapted from upstream source repository:
-
-https://github.com/silnrsi/graphite/commit/f7bbdd87d510d587c872e314d6458160c0069c65
-
-From f7bbdd87d510d587c872e314d6458160c0069c65 Mon Sep 17 00:00:00 2001
-From: Martin Hosken <martin_hosken@sil.org>
-Date: Tue, 14 Feb 2017 17:00:03 +0000
-Subject: [PATCH] try -ffloat-store for fp stability. Remove nested const to
- work around VS bug
-
----
- src/CMakeLists.txt | 2 +-
- src/inc/locale2lcid.h | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 4f1e7e5..5b61b5c 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -108,7 +108,7 @@ set_target_properties(graphite2 PROPERTIES PUBLIC_HEADER "${GRAPHITE_HEADERS}"
-
- if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
- set_target_properties(graphite2 PROPERTIES
-- COMPILE_FLAGS "-Wall -Wextra -Wno-unknown-pragmas -Wendif-labels -Wshadow -Wctor-dtor-privacy -Wnon-virtual-dtor -fno-rtti -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden -fno-stack-protector"
-+ COMPILE_FLAGS "-Wall -Wextra -Wno-unknown-pragmas -Wendif-labels -Wshadow -Wctor-dtor-privacy -Wnon-virtual-dtor -fno-rtti -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden -fno-stack-protector -ffloat-store"
- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}"
- LINKER_LANGUAGE C)
- if (CMAKE_COMPILER_IS_GNUCXX)
diff --git a/gnu/packages/patches/lcms-CVE-2016-10165.patch b/gnu/packages/patches/lcms-CVE-2016-10165.patch
deleted file mode 100644
index fa4d75c9ee..0000000000
--- a/gnu/packages/patches/lcms-CVE-2016-10165.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Fix CVE-2016-10165, an out-of-bounds heap read in Type_MLU_Read():
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10165
-http://seclists.org/oss-sec/2016/q3/288
-https://bugzilla.redhat.com/show_bug.cgi?id=1367357
-https://security-tracker.debian.org/tracker/CVE-2016-10165
-
-Patch copied from upstream source repository:
-
-https://github.com/mm2/Little-CMS/commit/5ca71a7bc18b6897ab21d815d15e218e204581e2
-
-From 5ca71a7bc18b6897ab21d815d15e218e204581e2 Mon Sep 17 00:00:00 2001
-From: Marti <marti.maria@tktbrainpower.com>
-Date: Mon, 15 Aug 2016 23:31:39 +0200
-Subject: [PATCH] Added an extra check to MLU bounds
-
-Thanks to Ibrahim el-sayed for spotting the bug
----
- src/cmstypes.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/cmstypes.c b/src/cmstypes.c
-index cb61860..c7328b9 100644
---- a/src/cmstypes.c
-+++ b/src/cmstypes.c
-@@ -1460,6 +1460,7 @@ void *Type_MLU_Read(struct _cms_typehandler_struct* self, cmsIOHANDLER* io, cmsU
-
- // Check for overflow
- if (Offset < (SizeOfHeader + 8)) goto Error;
-+ if ((Offset + Len) > SizeOfTag + 8) goto Error;
-
- // True begin of the string
- BeginOfThisString = Offset - SizeOfHeader - 8;
---
-2.11.0
-
diff --git a/gnu/packages/patches/libtasn1-CVE-2017-10790.patch b/gnu/packages/patches/libtasn1-CVE-2017-10790.patch
deleted file mode 100644
index 6cec0c8030..0000000000
--- a/gnu/packages/patches/libtasn1-CVE-2017-10790.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-Fix CVE-2017-10790:
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10790
-
-Patch copied from upstream source repository:
-
-https://git.savannah.nongnu.org/cgit/libtasn1.git/commit/?id=d8d805e1f2e6799bb2dff4871a8598dc83088a39
-
-From d8d805e1f2e6799bb2dff4871a8598dc83088a39 Mon Sep 17 00:00:00 2001
-From: Nikos Mavrogiannopoulos <nmav@redhat.com>
-Date: Thu, 22 Jun 2017 16:31:37 +0200
-Subject: [PATCH] _asn1_check_identifier: safer access to values read
-
-Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
----
- lib/parser_aux.c | 17 ++++++++++++-----
- 1 file changed, 12 insertions(+), 5 deletions(-)
-
-diff --git a/lib/parser_aux.c b/lib/parser_aux.c
-index 976ab38..786ea64 100644
---- a/lib/parser_aux.c
-+++ b/lib/parser_aux.c
-@@ -955,7 +955,7 @@ _asn1_check_identifier (asn1_node node)
- if (p2 == NULL)
- {
- if (p->value)
-- _asn1_strcpy (_asn1_identifierMissing, p->value);
-+ _asn1_str_cpy (_asn1_identifierMissing, sizeof(_asn1_identifierMissing), (char*)p->value);
- else
- _asn1_strcpy (_asn1_identifierMissing, "(null)");
- return ASN1_IDENTIFIER_NOT_FOUND;
-@@ -968,9 +968,15 @@ _asn1_check_identifier (asn1_node node)
- if (p2 && (type_field (p2->type) == ASN1_ETYPE_DEFAULT))
- {
- _asn1_str_cpy (name2, sizeof (name2), node->name);
-- _asn1_str_cat (name2, sizeof (name2), ".");
-- _asn1_str_cat (name2, sizeof (name2), (char *) p2->value);
-- _asn1_strcpy (_asn1_identifierMissing, p2->value);
-+ if (p2->value)
-+ {
-+ _asn1_str_cat (name2, sizeof (name2), ".");
-+ _asn1_str_cat (name2, sizeof (name2), (char *) p2->value);
-+ _asn1_str_cpy (_asn1_identifierMissing, sizeof(_asn1_identifierMissing), (char*)p2->value);
-+ }
-+ else
-+ _asn1_strcpy (_asn1_identifierMissing, "(null)");
-+
- p2 = asn1_find_node (node, name2);
- if (!p2 || (type_field (p2->type) != ASN1_ETYPE_OBJECT_ID) ||
- !(p2->type & CONST_ASSIGN))
-@@ -990,7 +996,8 @@ _asn1_check_identifier (asn1_node node)
- _asn1_str_cpy (name2, sizeof (name2), node->name);
- _asn1_str_cat (name2, sizeof (name2), ".");
- _asn1_str_cat (name2, sizeof (name2), (char *) p2->value);
-- _asn1_strcpy (_asn1_identifierMissing, p2->value);
-+ _asn1_str_cpy (_asn1_identifierMissing, sizeof(_asn1_identifierMissing), (char*)p2->value);
-+
- p2 = asn1_find_node (node, name2);
- if (!p2 || (type_field (p2->type) != ASN1_ETYPE_OBJECT_ID)
- || !(p2->type & CONST_ASSIGN))
---
-2.13.3
-
diff --git a/gnu/packages/patches/libtasn1-CVE-2018-6003.patch b/gnu/packages/patches/libtasn1-CVE-2018-6003.patch
deleted file mode 100644
index 3e6140518d..0000000000
--- a/gnu/packages/patches/libtasn1-CVE-2018-6003.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-Fix CVE-2018-6003:
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6003
-https://lists.gnu.org/archive/html/help-libtasn1/2018-01/msg00000.html
-
-Patch copied from upstream source repository:
-
-https://gitlab.com/gnutls/libtasn1/commit/c593ae84cfcde8fea45787e53950e0ac71e9ca97
-
-From c593ae84cfcde8fea45787e53950e0ac71e9ca97 Mon Sep 17 00:00:00 2001
-From: Nikos Mavrogiannopoulos <nmav@redhat.com>
-Date: Thu, 4 Jan 2018 10:52:05 +0100
-Subject: [PATCH] _asn1_decode_simple_ber: restrict the levels of recursion to 3
-
-On indefinite string decoding, setting a maximum level of recursions
-protects the BER decoder from a stack exhaustion due to large amounts
-of recursion.
-
-Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
----
- lib/decoding.c | 21 +++++++++++++++++++--
- 1 file changed, 19 insertions(+), 2 deletions(-)
-
-diff --git a/lib/decoding.c b/lib/decoding.c
-index 2240b09..0ee35d3 100644
---- a/lib/decoding.c
-+++ b/lib/decoding.c
-@@ -45,6 +45,13 @@
-
- #define DECODE_FLAG_HAVE_TAG 1
- #define DECODE_FLAG_INDEFINITE (1<<1)
-+/* On indefinite string decoding, allow this maximum levels
-+ * of recursion. Allowing infinite recursion, makes the BER
-+ * decoder susceptible to stack exhaustion due to that recursion.
-+ */
-+#define DECODE_FLAG_LEVEL1 (1<<2)
-+#define DECODE_FLAG_LEVEL2 (1<<3)
-+#define DECODE_FLAG_LEVEL3 (1<<4)
-
- #define DECR_LEN(l, s) do { \
- l -= s; \
-@@ -2216,7 +2223,8 @@ _asn1_decode_simple_ber (unsigned int etype, const unsigned char *der,
- }
-
- /* indefinite constructed */
-- if (((dflags & DECODE_FLAG_INDEFINITE) || class == ASN1_CLASS_STRUCTURED) && ETYPE_IS_STRING(etype))
-+ if ((((dflags & DECODE_FLAG_INDEFINITE) || class == ASN1_CLASS_STRUCTURED) && ETYPE_IS_STRING(etype)) &&
-+ !(dflags & DECODE_FLAG_LEVEL3))
- {
- len_len = 1;
-
-@@ -2236,8 +2244,17 @@ _asn1_decode_simple_ber (unsigned int etype, const unsigned char *der,
- do
- {
- unsigned tmp_len;
-+ unsigned flags = DECODE_FLAG_HAVE_TAG;
-+
-+ if (dflags & DECODE_FLAG_LEVEL1)
-+ flags |= DECODE_FLAG_LEVEL2;
-+ else if (dflags & DECODE_FLAG_LEVEL2)
-+ flags |= DECODE_FLAG_LEVEL3;
-+ else
-+ flags |= DECODE_FLAG_LEVEL1;
-
-- result = asn1_decode_simple_ber(etype, p, der_len, &out, &out_len, &tmp_len);
-+ result = _asn1_decode_simple_ber(etype, p, der_len, &out, &out_len, &tmp_len,
-+ flags);
- if (result != ASN1_SUCCESS)
- {
- warn();
---
-libgit2 0.26.0
-
diff --git a/gnu/packages/patches/libxcb-python-3.5-compat.patch b/gnu/packages/patches/libxcb-python-3.5-compat.patch
deleted file mode 100644
index f652498aad..0000000000
--- a/gnu/packages/patches/libxcb-python-3.5-compat.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-Fix compatibility issue with Python 3.5.
-
-Patch copied from upstream source repository:
-
-https://cgit.freedesktop.org/xcb/libxcb/commit/?id=8740a288ca468433141341347aa115b9544891d3
-
-From 8740a288ca468433141341347aa115b9544891d3 Mon Sep 17 00:00:00 2001
-From: Thomas Klausner <wiz@NetBSD.org>
-Date: Thu, 19 May 2016 17:31:18 +0200
-Subject: [PATCH] Fix inconsistent use of tabs vs. space.
-
-Needed for at least python-3.5.x.
-
-Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
-Signed-off-by: Uli Schlachter <psychon@znc.in>
----
- src/c_client.py | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/src/c_client.py b/src/c_client.py
-index 57de3fb..043338d 100644
---- a/src/c_client.py
-+++ b/src/c_client.py
-@@ -1364,7 +1364,7 @@ def _c_serialize(context, self):
- _c(' unsigned int xcb_align_to = 0;')
- if self.is_switch:
- _c(' unsigned int xcb_padding_offset = %d;',
-- self.get_align_offset() )
-+ self.get_align_offset() )
- prefix = [('_aux', '->', self)]
- aux_ptr = 'xcb_out'
-
-@@ -1390,7 +1390,7 @@ def _c_serialize(context, self):
- _c(' unsigned int xcb_align_to = 0;')
- if self.is_switch:
- _c(' unsigned int xcb_padding_offset = %d;',
-- self.get_align_offset() )
-+ self.get_align_offset() )
-
- elif 'sizeof' == context:
- param_names = [p[2] for p in params]
-@@ -1930,14 +1930,14 @@ def _c_accessors_list(self, field):
- # from the request size and divide that by the member size
- return '(((R->length * 4) - sizeof('+ self.c_type + '))/'+'sizeof('+field.type.member.c_wiretype+'))'
- else:
-- # use the accessor to get the start of the list, then
-- # compute the length of it by subtracting it from
-+ # use the accessor to get the start of the list, then
-+ # compute the length of it by subtracting it from
- # the adress of the first byte after the end of the
- # request
-- after_end_of_request = '(((char*)R) + R->length * 4)'
-- start_of_list = '%s(R)' % (field.c_accessor_name)
-+ after_end_of_request = '(((char*)R) + R->length * 4)'
-+ start_of_list = '%s(R)' % (field.c_accessor_name)
- bytesize_of_list = '%s - (char*)(%s)' % (after_end_of_request, start_of_list)
-- return '(%s) / sizeof(%s)' % (bytesize_of_list, field.type.member.c_wiretype)
-+ return '(%s) / sizeof(%s)' % (bytesize_of_list, field.type.member.c_wiretype)
- else:
- raise Exception(
- "lengthless lists with varsized members are not supported. Fieldname '%s'"
---
-2.11.1
-
diff --git a/gnu/packages/patches/patch-hurd-path-max.patch b/gnu/packages/patches/patch-hurd-path-max.patch
index 81e37930c2..1845a5803b 100644
--- a/gnu/packages/patches/patch-hurd-path-max.patch
+++ b/gnu/packages/patches/patch-hurd-path-max.patch
@@ -13,7 +13,7 @@ Subject: [PATCH] Do not rely on PATH_MAX when reading a symlink target.
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/util.c b/src/util.c
-index 82a7e37..c4c0f9d 100644
+index 1cc08ba..67dbd3a 100644
--- a/src/util.c
+++ b/src/util.c
@@ -460,12 +460,12 @@ move_file (char const *from, bool *from_needs_removal,
@@ -31,18 +31,19 @@ index 82a7e37..c4c0f9d 100644
size += i;
if (i != 0 || close (fd) != 0)
read_fatal ();
-@@ -610,9 +610,9 @@ copy_file (char const *from, char const *to, struct stat *tost,
+@@ -610,10 +610,10 @@ copy_file (char const *from, char const *to, struct stat *tost,
if (S_ISLNK (mode))
{
-- char *buffer = xmalloc (PATH_MAX);
+- char *buffer = xmalloc (PATH_MAX + 1);
+ char *buffer = xmalloc (tost->st_size + 1);
+ ssize_t r;
-- if (safe_readlink (from, buffer, PATH_MAX) < 0)
-+ if (safe_readlink (from, buffer, tost->st_size) < 0)
+- if ((r = safe_readlink (from, buffer, PATH_MAX)) < 0)
++ if ((r = safe_readlink (from, buffer, tost->st_size)) < 0)
pfatal ("Can't read %s %s", "symbolic link", from);
+ buffer[r] = '\0';
if (safe_symlink (buffer, to) != 0)
- pfatal ("Can't create %s %s", "symbolic link", to);
--
-2.4.2
+2.16.2
diff --git a/gnu/packages/patches/pcre2-CVE-2017-7186.patch b/gnu/packages/patches/pcre2-CVE-2017-7186.patch
deleted file mode 100644
index 5c16955aaa..0000000000
--- a/gnu/packages/patches/pcre2-CVE-2017-7186.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-Patch for <https://nvd.nist.gov/vuln/detail?vulnId=CVE-2017-7186>
-taken from <https://vcs.pcre.org/pcre2?view=revision&revision=670>.
-
---- trunk/src/pcre2_internal.h 2016/11/19 12:46:24 600
-+++ trunk/src/pcre2_internal.h 2017/02/24 18:25:32 670
-@@ -1774,10 +1774,17 @@
- /* UCD access macros */
-
- #define UCD_BLOCK_SIZE 128
--#define GET_UCD(ch) (PRIV(ucd_records) + \
-+#define REAL_GET_UCD(ch) (PRIV(ucd_records) + \
- PRIV(ucd_stage2)[PRIV(ucd_stage1)[(int)(ch) / UCD_BLOCK_SIZE] * \
- UCD_BLOCK_SIZE + (int)(ch) % UCD_BLOCK_SIZE])
-
-+#if PCRE2_CODE_UNIT_WIDTH == 32
-+#define GET_UCD(ch) ((ch > MAX_UTF_CODE_POINT)? \
-+ PRIV(dummy_ucd_record) : REAL_GET_UCD(ch))
-+#else
-+#define GET_UCD(ch) REAL_GET_UCD(ch)
-+#endif
-+
- #define UCD_CHARTYPE(ch) GET_UCD(ch)->chartype
- #define UCD_SCRIPT(ch) GET_UCD(ch)->script
- #define UCD_CATEGORY(ch) PRIV(ucp_gentype)[UCD_CHARTYPE(ch)]
-@@ -1834,6 +1841,9 @@
- #define _pcre2_default_compile_context PCRE2_SUFFIX(_pcre2_default_compile_context_)
- #define _pcre2_default_match_context PCRE2_SUFFIX(_pcre2_default_match_context_)
- #define _pcre2_default_tables PCRE2_SUFFIX(_pcre2_default_tables_)
-+#if PCRE2_CODE_UNIT_WIDTH == 32
-+#define _pcre2_dummy_ucd_record PCRE2_SUFFIX(_pcre2_dummy_ucd_record_)
-+#endif
- #define _pcre2_hspace_list PCRE2_SUFFIX(_pcre2_hspace_list_)
- #define _pcre2_vspace_list PCRE2_SUFFIX(_pcre2_vspace_list_)
- #define _pcre2_ucd_caseless_sets PCRE2_SUFFIX(_pcre2_ucd_caseless_sets_)
-@@ -1858,6 +1868,9 @@
- extern const uint32_t PRIV(vspace_list)[];
- extern const uint32_t PRIV(ucd_caseless_sets)[];
- extern const ucd_record PRIV(ucd_records)[];
-+#if PCRE2_CODE_UNIT_WIDTH == 32
-+extern const ucd_record PRIV(dummy_ucd_record)[];
-+#endif
- extern const uint8_t PRIV(ucd_stage1)[];
- extern const uint16_t PRIV(ucd_stage2)[];
- extern const uint32_t PRIV(ucp_gbtable)[];
-
---- trunk/src/pcre2_ucd.c 2015/07/17 15:44:51 316
-+++ trunk/src/pcre2_ucd.c 2017/02/24 18:25:32 670
-@@ -41,6 +41,20 @@
-
- const char *PRIV(unicode_version) = "8.0.0";
-
-+/* If the 32-bit library is run in non-32-bit mode, character values
-+greater than 0x10ffff may be encountered. For these we set up a
-+special record. */
-+
-+#if PCRE2_CODE_UNIT_WIDTH == 32
-+const ucd_record PRIV(dummy_ucd_record)[] = {{
-+ ucp_Common, /* script */
-+ ucp_Cn, /* type unassigned */
-+ ucp_gbOther, /* grapheme break property */
-+ 0, /* case set */
-+ 0, /* other case */
-+ }};
-+#endif
-+
- /* When recompiling tables with a new Unicode version, please check the
- types in this structure definition from pcre2_internal.h (the actual
- field names will be different):
diff --git a/gnu/packages/patches/pcre2-CVE-2017-8786.patch b/gnu/packages/patches/pcre2-CVE-2017-8786.patch
deleted file mode 100644
index 6071d58f07..0000000000
--- a/gnu/packages/patches/pcre2-CVE-2017-8786.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-Fix CVE-2017-8786:
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8786
-https://bugs.exim.org/show_bug.cgi?id=2079
-https://blogs.gentoo.org/ago/2017/04/29/libpcre-heap-based-buffer-overflow-write-in-pcre2test-c/
-
-Patch copied from upstream source repository:
-
-https://vcs.pcre.org/pcre2?view=revision&revision=696
-https://vcs.pcre.org/pcre2?view=revision&revision=697
-
---- trunk/doc/pcre2api.3 2017/03/21 16:48:40 695
-+++ trunk/doc/pcre2api.3 2017/03/21 17:46:21 696
-@@ -1,4 +1,4 @@
--.TH PCRE2API 3 "24 December 2016" "PCRE2 10.23"
-+.TH PCRE2API 3 "21 March 2017" "PCRE2 10.30"
- .SH NAME
- PCRE2 - Perl-compatible regular expressions (revised API)
- .sp
-@@ -2633,8 +2633,8 @@
- A text message for an error code from any PCRE2 function (compile, match, or
- auxiliary) can be obtained by calling \fBpcre2_get_error_message()\fP. The code
- is passed as the first argument, with the remaining two arguments specifying a
--code unit buffer and its length, into which the text message is placed. Note
--that the message is returned in code units of the appropriate width for the
-+code unit buffer and its length in code units, into which the text message is
-+placed. The message is returned in code units of the appropriate width for the
- library that is being used.
- .P
- The returned message is terminated with a trailing zero, and the function
-@@ -3321,6 +3321,6 @@
- .rs
- .sp
- .nf
--Last updated: 23 December 2016
--Copyright (c) 1997-2016 University of Cambridge.
-+Last updated: 21 March 2017
-+Copyright (c) 1997-2017 University of Cambridge.
- .fi
---- trunk/src/pcre2_error.c 2017/03/21 16:48:40 695
-+++ trunk/src/pcre2_error.c 2017/03/21 17:46:21 696
-@@ -271,7 +271,7 @@
- Arguments:
- enumber error number
- buffer where to put the message (zero terminated)
-- size size of the buffer
-+ size size of the buffer in code units
-
- Returns: length of message if all is well
- negative on error
---- trunk/src/pcre2test.c 2017/03/21 17:46:21 696
-+++ trunk/src/pcre2test.c 2017/03/21 18:36:13 697
-@@ -1017,9 +1017,9 @@
- if (test_mode == PCRE8_MODE) \
- r = pcre2_get_error_message_8(a,G(b,8),G(G(b,8),_size)); \
- else if (test_mode == PCRE16_MODE) \
-- r = pcre2_get_error_message_16(a,G(b,16),G(G(b,16),_size)); \
-+ r = pcre2_get_error_message_16(a,G(b,16),G(G(b,16),_size/2)); \
- else \
-- r = pcre2_get_error_message_32(a,G(b,32),G(G(b,32),_size))
-+ r = pcre2_get_error_message_32(a,G(b,32),G(G(b,32),_size/4))
-
- #define PCRE2_GET_OVECTOR_COUNT(a,b) \
- if (test_mode == PCRE8_MODE) \
-@@ -1399,6 +1399,9 @@
-
- /* ----- Common macros for two-mode cases ----- */
-
-+#define BYTEONE (BITONE/8)
-+#define BYTETWO (BITTWO/8)
-+
- #define CASTFLD(t,a,b) \
- ((test_mode == G(G(PCRE,BITONE),_MODE))? (t)(G(a,BITONE)->b) : \
- (t)(G(a,BITTWO)->b))
-@@ -1481,9 +1484,9 @@
-
- #define PCRE2_GET_ERROR_MESSAGE(r,a,b) \
- if (test_mode == G(G(PCRE,BITONE),_MODE)) \
-- r = G(pcre2_get_error_message_,BITONE)(a,G(b,BITONE),G(G(b,BITONE),_size)); \
-+ r = G(pcre2_get_error_message_,BITONE)(a,G(b,BITONE),G(G(b,BITONE),_size/BYTEONE)); \
- else \
-- r = G(pcre2_get_error_message_,BITTWO)(a,G(b,BITTWO),G(G(b,BITTWO),_size))
-+ r = G(pcre2_get_error_message_,BITTWO)(a,G(b,BITTWO),G(G(b,BITTWO),_size/BYTETWO))
-
- #define PCRE2_GET_OVECTOR_COUNT(a,b) \
- if (test_mode == G(G(PCRE,BITONE),_MODE)) \
-@@ -1904,7 +1907,7 @@
- #define PCRE2_DFA_MATCH(a,b,c,d,e,f,g,h,i,j) \
- a = pcre2_dfa_match_16(G(b,16),(PCRE2_SPTR16)c,d,e,f,G(g,16),h,i,j)
- #define PCRE2_GET_ERROR_MESSAGE(r,a,b) \
-- r = pcre2_get_error_message_16(a,G(b,16),G(G(b,16),_size))
-+ r = pcre2_get_error_message_16(a,G(b,16),G(G(b,16),_size/2))
- #define PCRE2_GET_OVECTOR_COUNT(a,b) a = pcre2_get_ovector_count_16(G(b,16))
- #define PCRE2_GET_STARTCHAR(a,b) a = pcre2_get_startchar_16(G(b,16))
- #define PCRE2_JIT_COMPILE(r,a,b) r = pcre2_jit_compile_16(G(a,16),b)
-@@ -2000,7 +2003,7 @@
- #define PCRE2_DFA_MATCH(a,b,c,d,e,f,g,h,i,j) \
- a = pcre2_dfa_match_32(G(b,32),(PCRE2_SPTR32)c,d,e,f,G(g,32),h,i,j)
- #define PCRE2_GET_ERROR_MESSAGE(r,a,b) \
-- r = pcre2_get_error_message_32(a,G(b,32),G(G(b,32),_size))
-+ r = pcre2_get_error_message_32(a,G(b,32),G(G(b,32),_size/4))
- #define PCRE2_GET_OVECTOR_COUNT(a,b) a = pcre2_get_ovector_count_32(G(b,32))
- #define PCRE2_GET_STARTCHAR(a,b) a = pcre2_get_startchar_32(G(b,32))
- #define PCRE2_JIT_COMPILE(r,a,b) r = pcre2_jit_compile_32(G(a,32),b)
---- trunk/src/pcre2test.c 2017/03/21 16:48:40 695
-+++ trunk/src/pcre2test.c 2017/03/21 17:46:21 696
-@@ -2889,7 +2889,7 @@
- {
- if (pbuffer32 != NULL) free(pbuffer32);
- pbuffer32_size = 4*len + 4;
-- if (pbuffer32_size < 256) pbuffer32_size = 256;
-+ if (pbuffer32_size < 512) pbuffer32_size = 512;
- pbuffer32 = (uint32_t *)malloc(pbuffer32_size);
- if (pbuffer32 == NULL)
- {
-@@ -7600,7 +7600,8 @@
- int errcode;
- char *endptr;
-
--/* Ensure the relevant non-8-bit buffer is available. */
-+/* Ensure the relevant non-8-bit buffer is available. Ensure that it is at
-+least 128 code units, because it is used for retrieving error messages. */
-
- #ifdef SUPPORT_PCRE2_16
- if (test_mode == PCRE16_MODE)
-@@ -7620,7 +7621,7 @@
- #ifdef SUPPORT_PCRE2_32
- if (test_mode == PCRE32_MODE)
- {
-- pbuffer32_size = 256;
-+ pbuffer32_size = 512;
- pbuffer32 = (uint32_t *)malloc(pbuffer32_size);
- if (pbuffer32 == NULL)
- {
---- trunk/testdata/testinput2 2017/03/21 16:48:40 695
-+++ trunk/testdata/testinput2 2017/03/21 17:46:21 696
-@@ -5017,4 +5017,6 @@
-
- /(?<!\1((?U)1((?U))))(*F)/never_backslash_c,alt_bsux,anchored,extended
-
-+/\g{3/
-+
- # End of testinput2
---- trunk/testdata/testoutput2 2017/03/21 16:48:40 695
-+++ trunk/testdata/testoutput2 2017/03/21 17:46:21 696
-@@ -15570,6 +15570,9 @@
-
- /(?<!\1((?U)1((?U))))(*F)/never_backslash_c,alt_bsux,anchored,extended
-
-+/\g{3/
-+Failed: error 157 at offset 2: \g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number
-+
- # End of testinput2
- Error -63: PCRE2_ERROR_BADDATA (unknown error number)
- Error -62: bad serialized data
diff --git a/gnu/packages/patches/python-3-search-paths.patch b/gnu/packages/patches/python-3-search-paths.patch
index 7feddb8e30..73e3f4ccf5 100644
--- a/gnu/packages/patches/python-3-search-paths.patch
+++ b/gnu/packages/patches/python-3-search-paths.patch
@@ -3,17 +3,14 @@ looking for headers and libraries.
--- setup.py 2015-10-07 23:32:58.891329173 +0200
+++ setup.py 2015-10-07 23:46:29.653349924 +0200
-@@ -507,11 +507,8 @@ class PyBuildExt(build_ext):
+@@ -575,8 +575,8 @@
# if a file is found in one of those directories, it can
# be assumed that no additional -I,-L directives are needed.
if not cross_compiling:
-- lib_dirs = self.compiler.library_dirs + [
-- '/lib64', '/usr/lib64',
-- '/lib', '/usr/lib',
-- ]
-- inc_dirs = self.compiler.include_dirs + ['/usr/include']
+- lib_dirs = self.compiler.library_dirs + system_lib_dirs
+- inc_dirs = self.compiler.include_dirs + system_include_dirs
+ lib_dirs = os.getenv('LIBRARY_PATH', '').split(os.pathsep)
+ inc_dirs = os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
else:
- lib_dirs = self.compiler.library_dirs[:]
- inc_dirs = self.compiler.include_dirs[:]
+ # Add the sysroot paths. 'sysroot' is a compiler option used to
+ # set the logical path of the standard system headers and
diff --git a/gnu/packages/patches/tar-CVE-2016-6321.patch b/gnu/packages/patches/tar-CVE-2016-6321.patch
deleted file mode 100644
index b79be9bc94..0000000000
--- a/gnu/packages/patches/tar-CVE-2016-6321.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Fix CVE-2016-6321:
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6321
-https://security-tracker.debian.org/tracker/CVE-2016-6321
-
-Patch adapted from upstream source repository (the changes to 'NEWS'
-don't apply to the Tar 1.29 release tarball).
-
-http://git.savannah.gnu.org/cgit/tar.git/commit/?id=7340f67b9860ea0531c1450e5aa261c50f67165d
-
-From 7340f67b9860ea0531c1450e5aa261c50f67165d Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
-Date: Sat, 29 Oct 2016 21:04:40 -0700
-Subject: [PATCH] When extracting, skip ".." members
-
-* NEWS: Document this.
-* src/extract.c (extract_archive): Skip members whose names
-contain "..".
----
- NEWS | 8 +++++++-
- src/extract.c | 8 ++++++++
- 2 files changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/src/extract.c b/src/extract.c
-index f982433..7904148 100644
---- a/src/extract.c
-+++ b/src/extract.c
-@@ -1629,12 +1629,20 @@ extract_archive (void)
- {
- char typeflag;
- tar_extractor_t fun;
-+ bool skip_dotdot_name;
-
- fatal_exit_hook = extract_finish;
-
- set_next_block_after (current_header);
-
-+ skip_dotdot_name = (!absolute_names_option
-+ && contains_dot_dot (current_stat_info.orig_file_name));
-+ if (skip_dotdot_name)
-+ ERROR ((0, 0, _("%s: Member name contains '..'"),
-+ quotearg_colon (current_stat_info.orig_file_name)));
-+
- if (!current_stat_info.file_name[0]
-+ || skip_dotdot_name
- || (interactive_option
- && !confirm ("extract", current_stat_info.file_name)))
- {
---
-2.11.0
-
diff --git a/gnu/packages/patches/tar-remove-wholesparse-check.patch b/gnu/packages/patches/tar-remove-wholesparse-check.patch
new file mode 100644
index 0000000000..41f53e86aa
--- /dev/null
+++ b/gnu/packages/patches/tar-remove-wholesparse-check.patch
@@ -0,0 +1,68 @@
+This patch is needed in order to build Guix on a Btrfs file system.
+
+
+From da922703282b0d3b8837a99a9c7fdd32f1d20d49 Mon Sep 17 00:00:00 2001
+From: Mark H Weaver <mhw@netris.org>
+Date: Tue, 9 Jan 2018 20:16:14 -0500
+Subject: [PATCH] Remove nonportable check for files containing only zeroes.
+
+This check benefitted only one unlikely case (large files containing
+only zeroes, on systems that do not support SEEK_HOLE) and was based
+on an assumption about file system behavior that is not mandated by
+POSIX and no longer holds in practice, namely that for sufficiently
+large files, (st_blocks == 0) implies that the file contains only
+zeroes. Examples of file systems that violate this assumption include
+Linux's /proc file system and Btrfs.
+
+* src/sparse.c (sparse_scan_file_wholesparse): Remove this function.
+(sparse_scan_file_seek): Remove the initial check for files containing
+only zeroes.
+---
+ src/sparse.c | 24 ------------------------
+ 1 file changed, 24 deletions(-)
+
+diff --git a/src/sparse.c b/src/sparse.c
+index d41c0ea..3de6560 100644
+--- a/src/sparse.c
++++ b/src/sparse.c
+@@ -261,26 +261,6 @@ sparse_scan_file_raw (struct tar_sparse_file *file)
+ return tar_sparse_scan (file, scan_end, NULL);
+ }
+
+-static bool
+-sparse_scan_file_wholesparse (struct tar_sparse_file *file)
+-{
+- struct tar_stat_info *st = file->stat_info;
+- struct sp_array sp = {0, 0};
+-
+- /* Note that this function is called only for truly sparse files of size >= 1
+- block size (checked via ST_IS_SPARSE before). See the thread
+- http://www.mail-archive.com/bug-tar@gnu.org/msg04209.html for more info */
+- if (ST_NBLOCKS (st->stat) == 0)
+- {
+- st->archive_file_size = 0;
+- sp.offset = st->stat.st_size;
+- sparse_add_map (st, &sp);
+- return true;
+- }
+-
+- return false;
+-}
+-
+ #ifdef SEEK_HOLE
+ /* Try to engage SEEK_HOLE/SEEK_DATA feature. */
+ static bool
+@@ -343,10 +323,6 @@ sparse_scan_file_seek (struct tar_sparse_file *file)
+ static bool
+ sparse_scan_file (struct tar_sparse_file *file)
+ {
+- /* always check for completely sparse files */
+- if (sparse_scan_file_wholesparse (file))
+- return true;
+-
+ switch (hole_detection)
+ {
+ case HOLE_DETECTION_DEFAULT:
+--
+2.15.1
+
diff --git a/gnu/packages/patches/xcb-proto-python3-print.patch b/gnu/packages/patches/xcb-proto-python3-print.patch
deleted file mode 100644
index 7d5dc9bc27..0000000000
--- a/gnu/packages/patches/xcb-proto-python3-print.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-Patch copied from upstream source repository:
-
-https://cgit.freedesktop.org/xcb/proto/commit/?id=bea5e1c85bdc0950913790364e18228f20395a3d
-
-From bea5e1c85bdc0950913790364e18228f20395a3d Mon Sep 17 00:00:00 2001
-From: Thomas Klausner <wiz@NetBSD.org>
-Date: Thu, 19 May 2016 17:30:05 +0200
-Subject: [PATCH] print() is a function and needs parentheses.
-
-Fixes build with python-3.x.
-
-Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
-Signed-off-by: Uli Schlachter <psychon@znc.in>
----
- xcbgen/xtypes.py | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/xcbgen/xtypes.py b/xcbgen/xtypes.py
-index c3b5758..b83b119 100644
---- a/xcbgen/xtypes.py
-+++ b/xcbgen/xtypes.py
-@@ -501,7 +501,7 @@ class ComplexType(Type):
- int(required_start_align_element.get('align', "4"), 0),
- int(required_start_align_element.get('offset', "0"), 0))
- if verbose_align_log:
-- print "Explicit start-align for %s: %s\n" % (self, self.required_start_align)
-+ print ("Explicit start-align for %s: %s\n" % (self, self.required_start_align))
-
- def resolve(self, module):
- if self.resolved:
-@@ -592,7 +592,7 @@ class ComplexType(Type):
- if verbose_align_log:
- print ("calc_required_start_align: %s has start-align %s"
- % (str(self), str(self.required_start_align)))
-- print "Details:\n" + str(log)
-+ print ("Details:\n" + str(log))
- if self.required_start_align.offset != 0:
- print (("WARNING: %s\n\thas start-align with non-zero offset: %s"
- + "\n\tsuggest to add explicit definition with:"
-@@ -619,12 +619,12 @@ class ComplexType(Type):
- for offset in range(0,align):
- align_candidate = Alignment(align, offset)
- if verbose_align_log:
-- print "trying %s for %s" % (str(align_candidate), str(self))
-+ print ("trying %s for %s" % (str(align_candidate), str(self)))
- my_log = AlignmentLog()
- if self.is_possible_start_align(align_candidate, callstack, my_log):
- log.append(my_log)
- if verbose_align_log:
-- print "found start-align %s for %s" % (str(align_candidate), str(self))
-+ print ("found start-align %s for %s" % (str(align_candidate), str(self)))
- return align_candidate
- else:
- my_ok_count = my_log.ok_count()
-@@ -641,7 +641,7 @@ class ComplexType(Type):
- # none of the candidates applies
- # this type has illegal internal aligns for all possible start_aligns
- if verbose_align_log:
-- print "didn't find start-align for %s" % str(self)
-+ print ("didn't find start-align for %s" % str(self))
- log.append(best_log)
- return None
-
-@@ -900,7 +900,7 @@ class SwitchType(ComplexType):
- # aux function for unchecked_get_alignment_after
- def get_align_for_selected_case_field(self, case_field, start_align, callstack, log):
- if verbose_align_log:
-- print "get_align_for_selected_case_field: %s, case_field = %s" % (str(self), str(case_field))
-+ print ("get_align_for_selected_case_field: %s, case_field = %s" % (str(self), str(case_field)))
- total_align = start_align
- for field in self.bitcases:
- my_callstack = callstack[:]
---
-2.11.1
-
diff --git a/gnu/packages/patches/xcb-proto-python3-whitespace.patch b/gnu/packages/patches/xcb-proto-python3-whitespace.patch
deleted file mode 100644
index f0509138b2..0000000000
--- a/gnu/packages/patches/xcb-proto-python3-whitespace.patch
+++ /dev/null
@@ -1,217 +0,0 @@
-Fixes compatibility issue with python > 3.5.
-
-Patch copied from upstream source repository:
-
-https://cgit.freedesktop.org/xcb/proto/commit/?id=ea7a3ac6c658164690e0febb55f4467cb9e0bcac
-
-From ea7a3ac6c658164690e0febb55f4467cb9e0bcac Mon Sep 17 00:00:00 2001
-From: Thomas Klausner <wiz@NetBSD.org>
-Date: Thu, 19 May 2016 17:30:04 +0200
-Subject: [PATCH] Make whitespace use consistent.
-
-At least python-3.5.x complains about this forcefully.
-
-Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
-Signed-off-by: Uli Schlachter <psychon@znc.in>
----
- xcbgen/align.py | 96 ++++++++++++++++++++++++++++-----------------------------
- 1 file changed, 48 insertions(+), 48 deletions(-)
-
-diff --git a/xcbgen/align.py b/xcbgen/align.py
-index 5e31838..d4c12ee 100644
---- a/xcbgen/align.py
-+++ b/xcbgen/align.py
-@@ -16,12 +16,12 @@ class Alignment(object):
- return self.align == other.align and self.offset == other.offset
-
- def __str__(self):
-- return "(align=%d, offset=%d)" % (self.align, self.offset)
-+ return "(align=%d, offset=%d)" % (self.align, self.offset)
-
- @staticmethod
- def for_primitive_type(size):
-- # compute the required start_alignment based on the size of the type
-- if size % 8 == 0:
-+ # compute the required start_alignment based on the size of the type
-+ if size % 8 == 0:
- # do 8-byte primitives require 8-byte alignment in X11?
- return Alignment(8,0)
- elif size % 4 == 0:
-@@ -33,7 +33,7 @@ class Alignment(object):
-
-
- def align_after_fixed_size(self, size):
-- new_offset = (self.offset + size) % self.align
-+ new_offset = (self.offset + size) % self.align
- return Alignment(self.align, new_offset)
-
-
-@@ -41,7 +41,7 @@ class Alignment(object):
- '''
- Assuming the given external_align, checks whether
- self is fulfilled for all cases.
-- Returns True if yes, False otherwise.
-+ Returns True if yes, False otherwise.
- '''
- if self.align == 1 and self.offset == 0:
- # alignment 1 with offset 0 is always fulfilled
-@@ -55,9 +55,9 @@ class Alignment(object):
- # the external align guarantees less alignment -> not guaranteed
- return False
-
-- if external_align.align % self.align != 0:
-+ if external_align.align % self.align != 0:
- # the external align cannot be divided by our align
-- # -> not guaranteed
-+ # -> not guaranteed
- # (this can only happen if there are alignments that are not
- # a power of 2, which is highly discouraged. But better be
- # safe and check for it)
-@@ -72,7 +72,7 @@ class Alignment(object):
-
- def combine_with(self, other):
- # returns the alignment that is guaranteed when
-- # both, self or other, can happen
-+ # both, self or other, can happen
- new_align = gcd(self.align, other.align)
- new_offset_candidate1 = self.offset % new_align
- new_offset_candidate2 = other.offset % new_align
-@@ -83,8 +83,8 @@ class Alignment(object):
- new_align = gcd(new_align, offset_diff)
- new_offset_candidate1 = self.offset % new_align
- new_offset_candidate2 = other.offset % new_align
-- assert new_offset_candidate1 == new_offset_candidate2
-- new_offset = new_offset_candidate1
-+ assert new_offset_candidate1 == new_offset_candidate2
-+ new_offset = new_offset_candidate1
- # return the result
- return Alignment(new_align, new_offset)
-
-@@ -92,44 +92,44 @@ class Alignment(object):
- class AlignmentLog(object):
-
- def __init__(self):
-- self.ok_list = []
-- self.fail_list = []
-- self.verbosity = 1
-+ self.ok_list = []
-+ self.fail_list = []
-+ self.verbosity = 1
-
- def __str__(self):
-- result = ""
-+ result = ""
-
-- # output the OK-list
-- for (align_before, field_name, type_obj, callstack, align_after) in self.ok_list:
-- stacksize = len(callstack)
-+ # output the OK-list
-+ for (align_before, field_name, type_obj, callstack, align_after) in self.ok_list:
-+ stacksize = len(callstack)
- indent = ' ' * stacksize
-- if self.ok_callstack_is_relevant(callstack):
-+ if self.ok_callstack_is_relevant(callstack):
- if field_name is None or field_name == "":
-- result += (" %sok: %s:\n\t%sbefore: %s, after: %s\n"
-- % (indent, str(type_obj), indent, str(align_before), str(align_after)))
-- else:
-- result += (" %sok: field \"%s\" in %s:\n\t%sbefore: %s, after: %s\n"
-- % (indent, str(field_name), str(type_obj),
-- indent, str(align_before), str(align_after)))
-+ result += (" %sok: %s:\n\t%sbefore: %s, after: %s\n"
-+ % (indent, str(type_obj), indent, str(align_before), str(align_after)))
-+ else:
-+ result += (" %sok: field \"%s\" in %s:\n\t%sbefore: %s, after: %s\n"
-+ % (indent, str(field_name), str(type_obj),
-+ indent, str(align_before), str(align_after)))
- if self.verbosity >= 1:
-- result += self.callstack_to_str(indent, callstack)
-+ result += self.callstack_to_str(indent, callstack)
-
-- # output the fail-list
-- for (align_before, field_name, type_obj, callstack, reason) in self.fail_list:
-- stacksize = len(callstack)
-+ # output the fail-list
-+ for (align_before, field_name, type_obj, callstack, reason) in self.fail_list:
-+ stacksize = len(callstack)
- indent = ' ' * stacksize
-- if field_name is None or field_name == "":
-- result += (" %sfail: align %s is incompatible with\n\t%s%s\n\t%sReason: %s\n"
-- % (indent, str(align_before), indent, str(type_obj), indent, reason))
-- else:
-- result += (" %sfail: align %s is incompatible with\n\t%sfield \"%s\" in %s\n\t%sReason: %s\n"
-- % (indent, str(align_before), indent, str(field_name), str(type_obj), indent, reason))
-+ if field_name is None or field_name == "":
-+ result += (" %sfail: align %s is incompatible with\n\t%s%s\n\t%sReason: %s\n"
-+ % (indent, str(align_before), indent, str(type_obj), indent, reason))
-+ else:
-+ result += (" %sfail: align %s is incompatible with\n\t%sfield \"%s\" in %s\n\t%sReason: %s\n"
-+ % (indent, str(align_before), indent, str(field_name), str(type_obj), indent, reason))
-
- if self.verbosity >= 1:
-- result += self.callstack_to_str(indent, callstack)
-+ result += self.callstack_to_str(indent, callstack)
-
-
-- return result
-+ return result
-
-
- def callstack_to_str(self, indent, callstack):
-@@ -137,41 +137,41 @@ class AlignmentLog(object):
- for stack_elem in callstack:
- result += "\t %s%s\n" % (indent, str(stack_elem))
- result += "\t%s]\n" % indent
-- return result
-+ return result
-
-
- def ok_callstack_is_relevant(self, ok_callstack):
- # determine whether an ok callstack is relevant for logging
-- if self.verbosity >= 2:
-- return True
-+ if self.verbosity >= 2:
-+ return True
-
- # empty callstacks are always relevant
-- if len(ok_callstack) == 0:
-+ if len(ok_callstack) == 0:
- return True
-
-- # check whether the ok_callstack is a subset or equal to a fail_callstack
-+ # check whether the ok_callstack is a subset or equal to a fail_callstack
- for (align_before, field_name, type_obj, fail_callstack, reason) in self.fail_list:
- if len(ok_callstack) <= len(fail_callstack):
- zipped = zip(ok_callstack, fail_callstack[:len(ok_callstack)])
-- is_subset = all([i == j for i, j in zipped])
-- if is_subset:
-+ is_subset = all([i == j for i, j in zipped])
-+ if is_subset:
- return True
-
- return False
-
-
- def ok(self, align_before, field_name, type_obj, callstack, align_after):
-- self.ok_list.append((align_before, field_name, type_obj, callstack, align_after))
-+ self.ok_list.append((align_before, field_name, type_obj, callstack, align_after))
-
- def fail(self, align_before, field_name, type_obj, callstack, reason):
-- self.fail_list.append((align_before, field_name, type_obj, callstack, reason))
-+ self.fail_list.append((align_before, field_name, type_obj, callstack, reason))
-
- def append(self, other):
-- self.ok_list.extend(other.ok_list)
-- self.fail_list.extend(other.fail_list)
-+ self.ok_list.extend(other.ok_list)
-+ self.fail_list.extend(other.fail_list)
-
- def ok_count(self):
-- return len(self.ok_list)
-+ return len(self.ok_list)
-
-
-
---
-2.11.1
-
diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm
index ee853d5015..5719b7bb45 100644
--- a/gnu/packages/pcre.scm
+++ b/gnu/packages/pcre.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -75,7 +76,7 @@ POSIX regular expression API.")
(define-public pcre2
(package
(name "pcre2")
- (version "10.23")
+ (version "10.31")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/pcre/pcre2/"
@@ -83,9 +84,7 @@ POSIX regular expression API.")
(sha256
(base32
- "0vn5g0mkkp99mmzpissa06hpyj6pk9s4mlwbjqrjvw3ihy8rpiyz"))
- (patches (search-patches "pcre2-CVE-2017-7186.patch"
- "pcre2-CVE-2017-8786.patch"))))
+ "1b389pzw91k1hzydsh4smdsxyppwz4pv74m3nrvy8rda0j3m6zg0"))))
(build-system gnu-build-system)
(inputs `(("bzip2" ,bzip2)
("readline" ,readline)
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 95f42c6751..f1aa958931 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -579,7 +579,7 @@ extracting content or merging files.")
(base32
"0b9j0gqbc3jhmx87r6idcsh8lnb30840c3hyx6dk2gdjqqh3hysp"))
(modules '((guix build utils)))
- (snippet '(delete-file-recursively "thirdparty"))))
+ (snippet '(begin (delete-file-recursively "thirdparty") #t))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
@@ -631,12 +631,14 @@ line tools for batch rendering @command{pdfdraw}, rewriting files
(snippet
;; Replace shebang with the bi-lingual shell/Perl trick to remove
;; dependency on Perl.
- '(substitute* "qpdf/fix-qdf"
- (("#!/usr/bin/env perl")
- "\
+ '(begin
+ (substitute* "qpdf/fix-qdf"
+ (("#!/usr/bin/env perl")
+ "\
eval '(exit $?0)' && eval 'exec perl -wS \"$0\" ${1+\"$@\"}'
& eval 'exec perl -wS \"$0\" $argv:q'
- if 0;\n")))))
+ if 0;\n"))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:disallowed-references (,perl)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index cf9f21dbc9..4b0454d4e2 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
-;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2016, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 ng0 <ng0@infotropique.org>
@@ -107,7 +107,7 @@
(replace 'configure
(lambda* (#:key configure-flags #:allow-other-keys)
(format #t "Perl configure flags: ~s~%" configure-flags)
- (zero? (apply system* "./Configure" configure-flags))))
+ (apply invoke "./Configure" configure-flags)))
(add-before
'strip 'make-shared-objects-writable
(lambda* (#:key outputs #:allow-other-keys)
@@ -117,7 +117,8 @@
(lib (string-append out "/lib")))
(for-each (lambda (dso)
(chmod dso #o755))
- (find-files lib "\\.so$")))))
+ (find-files lib "\\.so$"))
+ #t)))
(add-after 'install 'remove-extra-references
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -7488,7 +7489,8 @@ TODO: {
local $TODO = \"/proc/cpuinfo doesn't always report 'model name' or 'machine' ...\";
$type = &Sys::CPU::cpu_type();
ok( defined($type), \"CPU Type: $type\" );
-}~%")))))))
+}~%")))
+ #t))))
(build-system perl-build-system)
(synopsis "Perl extension for getting CPU information")
(description
diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm
index f3f279a533..58ace823ee 100644
--- a/gnu/packages/php.scm
+++ b/gnu/packages/php.scm
@@ -86,7 +86,8 @@
"pcre/pcrelib"
"sqlite3/libsqlite"
"xmlrpc/libxmlrpc"
- "zip/lib"))))))
+ "zip/lib"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 482ae1b862..82b55fbf2f 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -60,9 +60,11 @@
;; that, libplot.la ends up containing just "-lXaw" (without
;; "-L/path/to/Xaw"), due to the fact that there is no
;; libXaw.la, which forces us to propagate libXaw.
- '(substitute* "configure"
- (("-lXaw")
- "-lXaw7")))))
+ '(begin
+ (substitute* "configure"
+ (("-lXaw")
+ "-lXaw7"))
+ #t))))
(build-system gnu-build-system)
(inputs `(("libpng" ,libpng)
("libx11" ,libx11)
@@ -97,7 +99,8 @@ scientific data.")
;; Use the standard location for modules.
(substitute* "Makefile.in"
(("godir = .*$")
- "godir = $(moddir)\n"))))))
+ "godir = $(moddir)\n"))
+ #t))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("guile" ,guile-2.2)))
@@ -123,9 +126,11 @@ using the Cairo drawing library.")
(modules '((guix build utils)))
(snippet
;; Install binaries in the right place.
- '(substitute* "src/Makefile"
- (("INSTALLBIN =.*$")
- (string-append "INSTALLBIN = $(out)/bin"))))))
+ '(begin
+ (substitute* "src/Makefile"
+ (("INSTALLBIN =.*$")
+ (string-append "INSTALLBIN = $(out)/bin")))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm
index 6edfba95cc..d1485082e3 100644
--- a/gnu/packages/pretty-print.scm
+++ b/gnu/packages/pretty-print.scm
@@ -56,9 +56,11 @@
(modules '((guix build utils)))
(snippet
;; Remove timestamp from the installed 'README' file.
- '(substitute* "etc/README.in"
- (("@date@")
- "1st of some month, sometime after 1970")))
+ '(begin
+ (substitute* "etc/README.in"
+ (("@date@")
+ "1st of some month, sometime after 1970"))
+ #t))
(patches (search-patches
"a2ps-CVE-2001-1593.patch"
"a2ps-CVE-2014-0466.patch"))))
diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm
index d6f3aede28..b2def45ccf 100644
--- a/gnu/packages/profiling.scm
+++ b/gnu/packages/profiling.scm
@@ -350,8 +350,10 @@ different kinds of performance behavior.")
(modules '((guix build utils)))
(snippet
;; Remove bundled software.
- '(for-each delete-file-recursively
- '("vendor/opari2" "vendor/cube")))))
+ '(begin
+ (for-each delete-file-recursively
+ '("vendor/opari2" "vendor/cube"))
+ #t))))
(build-system gnu-build-system)
(inputs
`(("mpi" ,mpi)
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 8a45137a7f..f23ef9eca1 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -144,9 +144,11 @@ rates.")
(snippet
;; Disable console-kit support by default since it's deprecated
;; anyway.
- '(substitute* "src/daemon/default.pa.in"
- (("load-module module-console-kit" all)
- (string-append "#" all "\n"))))
+ '(begin
+ (substitute* "src/daemon/default.pa.in"
+ (("load-module module-console-kit" all)
+ (string-append "#" all "\n")))
+ #t))
(patches (search-patches
"pulseaudio-fix-mult-test.patch"
"pulseaudio-longer-test-timeout.patch"))))
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 3734b6ba10..f35c8c5042 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -563,7 +563,8 @@ PKCS#8, PKCS#12, PKCS#5, X.509 and TSP.")
(uri (pypi-uri "PyNaCl" version))
(modules '((guix build utils)))
;; Remove bundled libsodium
- (snippet '(delete-file-recursively "src/libsodium"))
+ (snippet '(begin (delete-file-recursively "src/libsodium")
+ #t))
(sha256
(base32
"135gz0020fqx8fbr9izpwyq49aww202nkqacq0cw61xz99sjpx9j"))))
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 135ea29706..b57a861988 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -138,7 +138,7 @@
(define-public python-2.7
(package
- (name "python")
+ (name "python2")
(version "2.7.14")
(source
(origin
@@ -338,7 +338,7 @@ data types.")
(define-public python-3.6
(package (inherit python-2)
- (version "3.6.3")
+ (version "3.6.4")
(source (origin
(method url-fetch)
(uri (string-append "https://www.python.org/ftp/python/"
@@ -351,7 +351,7 @@ data types.")
(patch-flags '("-p0"))
(sha256
(base32
- "1nl1raaagr4car787a2hmjv2dw6gqny53xfd6wisbgx4r5kxk9yd"))
+ "1fna7g8jxzl4kd2pqmmqhva5724c5m920x3fsrpsgskaylmr76qm"))
(snippet
'(begin
(for-each delete-file
@@ -359,8 +359,74 @@ data types.")
"Lib/ctypes/test/test_win32.py" ; fails on aarch64
"Lib/test/test_fcntl.py")) ; fails on aarch64
#t))))
- (arguments (substitute-keyword-arguments (package-arguments python-2)
- ((#:tests? _) #t)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-2)
+ ((#:tests? _) #t)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'patch-timestamp-for-pyc-files
+ (lambda _
+ ;; We set DETERMINISTIC_BUILD to only override the mtime when
+ ;; building with Guix, lest we break auto-compilation in
+ ;; environments.
+ (setenv "DETERMINISTIC_BUILD" "1")
+ (substitute* "Lib/py_compile.py"
+ (("source_stats\\['mtime'\\]")
+ "(1 if 'DETERMINISTIC_BUILD' in os.environ else source_stats['mtime'])"))
+
+ ;; Use deterministic hashes for strings, bytes, and datetime
+ ;; objects.
+ (setenv "PYTHONHASHSEED" "0")
+
+ ;; Reset mtime when validating bytecode header.
+ (substitute* "Lib/importlib/_bootstrap_external.py"
+ (("source_mtime = int\\(source_stats\\['mtime'\\]\\)")
+ "source_mtime = 1"))
+ #t))
+ ;; These tests fail because of our change to the bytecode
+ ;; validation. They fail because expected exceptions do not get
+ ;; thrown. This seems to be no problem.
+ (add-after 'unpack 'disable-broken-bytecode-tests
+ (lambda _
+ (substitute* "Lib/test/test_importlib/source/test_file_loader.py"
+ (("test_bad_marshal")
+ "disable_test_bad_marshal")
+ (("test_no_marshal")
+ "disable_test_no_marshal")
+ (("test_non_code_marshal")
+ "disable_test_non_code_marshal"))
+ #t))
+ ;; Unset DETERMINISTIC_BUILD to allow for tests that check that
+ ;; stale pyc files are rebuilt.
+ (add-before 'check 'allow-non-deterministic-compilation
+ (lambda _ (unsetenv "DETERMINISTIC_BUILD") #t))
+ ;; We need to rebuild all pyc files for three different
+ ;; optimization levels to replace all files that were not built
+ ;; deterministically.
+
+ ;; FIXME: Without this phase we have close to 2000 files that
+ ;; differ across different builds of this package. With this phase
+ ;; there are about 500 files left that differ.
+ (add-after 'install 'rebuild-bytecode
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "DETERMINISTIC_BUILD" "1")
+ (let ((out (assoc-ref outputs "out")))
+ (for-each
+ (lambda (opt)
+ (format #t "Compiling with optimization level: ~a\n"
+ (if (null? opt) "none" (car opt)))
+ (for-each (lambda (file)
+ (apply invoke
+ `(,(string-append out "/bin/python3")
+ ,@opt
+ "-m" "compileall"
+ "-f" ; force rebuild
+ ;; Don't build lib2to3, because it's Python 2 code.
+ ;; Also don't build obviously broken test code.
+ "-x" "(lib2to3|test/bad.*)"
+ ,file)))
+ (find-files out "\\.py$")))
+ (list '() '("-O") '("-OO"))))))))))
(native-search-paths
(list (search-path-specification
(variable "PYTHONPATH")
@@ -379,7 +445,7 @@ data types.")
(define-public python2-minimal
(package (inherit python-2)
- (name "python-minimal")
+ (name "python2-minimal")
(outputs '("out"))
;; Keep zlib, which is used by 'pip' (via the 'zipimport' module), which
@@ -1026,7 +1092,7 @@ from the Python interpreter, or as a small part of a larger application.")
(modify-phases %standard-phases
(replace 'check
(lambda _
- (zero? (system* "py.test" "-v")))))))
+ (invoke "py.test" "-v"))))))
(native-inputs
`(("python-py" ,python-py)
("python-pytest" ,python-pytest-bootstrap)))
@@ -3187,7 +3253,8 @@ that client code uses to construct the grammar directly in Python code.")
;; input since it would create a circular dependency: Extend the
;; test for Python 3, where it is already dropped, to Python 2.
(substitute* "numpydoc/tests/test_plot_directive.py"
- (("3") "2"))))))
+ (("3") "2"))
+ #t))))
(build-system python-build-system)
(propagated-inputs
`(("python-sphinx" ,python-sphinx)))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index a8c2729ee8..ec8995a92b 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
-;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Quiliro <quiliro@fsfla.org>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
@@ -145,7 +145,8 @@ system, and the core design of Django is reused in Grantlee.")
"qtcanvas3d/examples/canvas3d/3rdparty"))
;; Tests depend on this example, which depends on the 3rd party code.
(substitute* "qtmultimedia/examples/multimedia/multimedia.pro"
- (("spectrum") "#"))))))
+ (("spectrum") "#"))
+ #t))))
(build-system gnu-build-system)
(propagated-inputs
`(("mesa" ,mesa)))
@@ -185,7 +186,7 @@ system, and the core design of Django is reused in Grantlee.")
("libxslt" ,libxslt)
("libxtst" ,libxtst)
("mtdev" ,mtdev)
- ("mysql" ,mysql)
+ ("mariadb" ,mariadb)
("nss" ,nss)
("openssl" ,openssl)
("postgresql" ,postgresql)
@@ -287,7 +288,8 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(modules '((guix build utils)))
(snippet
;; Remove webkit module, which is not built.
- '(delete-file-recursively "src/3rdparty/webkit"))))
+ '(begin (delete-file-recursively "src/3rdparty/webkit")
+ #t))))
(inputs `(,@(alist-delete "harfbuzz"
(alist-delete "libjpeg" (package-inputs qt)))
("libjepg" ,libjpeg-8)
@@ -426,7 +428,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
("libxslt" ,libxslt)
("libxtst" ,libxtst)
("mtdev" ,mtdev)
- ("mysql" ,mysql)
+ ("mariadb" ,mariadb)
("nss" ,nss)
("openssl" ,openssl)
("pcre2" ,pcre2)
@@ -686,8 +688,8 @@ HostData=lib/qt5
(base32
"1nfxvf96wh1smdmcsk4m9f7zg69fgp844f8772qpv6v4m20p1qb9"))
(modules '((guix build utils)))
- (snippet
- '(delete-file-recursively "src/3rdparty"))))
+ (snippet '(begin (delete-file-recursively "src/3rdparty")
+ #t))))
(native-inputs `())
(inputs
`(("jasper" ,jasper)
@@ -901,7 +903,8 @@ recognition API for devices.")))
"examples/multimedia/spectrum/3rdparty")
;; We also prevent the spectrum example from being built.
(substitute* "examples/multimedia/multimedia.pro"
- (("spectrum") "#"))))))
+ (("spectrum") "#"))
+ #t))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:phases phases)
@@ -947,7 +950,8 @@ set of plugins for interacting with pulseaudio and GStreamer.")))
(modules '((guix build utils)))
(snippet
;; The examples try to build and cause the build to fail
- '(delete-file-recursively "examples"))))
+ '(begin (delete-file-recursively "examples")
+ #t))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:phases phases)
@@ -1233,7 +1237,8 @@ coloring, and many more.")))
"0zwch9vn17f3bpy300jcfxx6cx9qymk5j7khx0x9k1xqid4166c3"))
(modules '((guix build utils)))
(snippet
- '(delete-file-recursively "tools/opengldummy/3rdparty"))))
+ '(begin (delete-file-recursively "tools/opengldummy/3rdparty")
+ #t))))
(native-inputs `())
(inputs
`(("qtbase" ,qtbase)
@@ -1292,7 +1297,8 @@ and mobile applications targeting TV-like form factors.")))
(delete-file-recursively "tests/3rdparty")
;; the scion test refers to the bundled 3rd party test code.
(substitute* "tests/auto/auto.pro"
- (("scion") "#"))))))
+ (("scion") "#"))
+ #t))))
(inputs
`(("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)))
@@ -1338,7 +1344,8 @@ purchasing goods and services.")))
"0agdxgk7knf6zkjdi6316y2k9zq72wcg5zn3cbhw4hzjw81qadgg"))
(modules '((guix build utils)))
(snippet
- '(delete-file-recursively "examples/canvas3d/3rdparty"))))
+ '(begin (delete-file-recursively "examples/canvas3d/3rdparty")
+ #t))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
;; Building the tests depends on the bundled 3rd party javascript files,
diff --git a/gnu/packages/robotics.scm b/gnu/packages/robotics.scm
index 9b30b90da2..389bb5a028 100644
--- a/gnu/packages/robotics.scm
+++ b/gnu/packages/robotics.scm
@@ -91,10 +91,12 @@ hundred times faster than real-time.")
(modules '((guix build utils)))
(snippet
;; Add missing Qt5::Network.
- '(substitute* "targets/playground/CMakeLists.txt"
- (("target_link_libraries(.*)\\$\\{EXTRA_LIBS\\}" _ middle)
- (string-append "target_link_libraries" middle
- " Qt5::Network ${EXTRA_LIBS}"))))))
+ '(begin
+ (substitute* "targets/playground/CMakeLists.txt"
+ (("target_link_libraries(.*)\\$\\{EXTRA_LIBS\\}" _ middle)
+ (string-append "target_link_libraries" middle
+ " Qt5::Network ${EXTRA_LIBS}")))
+ #t))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
diff --git a/gnu/packages/sawfish.scm b/gnu/packages/sawfish.scm
index ede725877d..8795d8d9fb 100644
--- a/gnu/packages/sawfish.scm
+++ b/gnu/packages/sawfish.scm
@@ -47,13 +47,6 @@
(base32
"1bmcjl1x1rdh514q9z3hzyjmjmwwwkziipjpjsl301bwmiwrd8a8"))))
(build-system gnu-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- ;; The 0.92.6 tarball was not produced by 'make dist'
- ;; and lacks generated files. Sadness.
- (zero? (system* "autoreconf" "-vfi")))))))
(native-inputs
`(("makeinfo" ,texinfo)
("pkg-config" ,pkg-config)
@@ -94,10 +87,12 @@ implementing both small and large scale systems.")
"0qslm2isyv22hffdpw0nh7xk8jw8cj3h5y7d40c9h5r833w7j6sz"))
(modules '((guix build utils)))
(snippet
- '(substitute* "Makefile.in"
- (("installdir=\\$\\(repexecdir\\)")
- ;; Install libraries for librep to $out/lib/rep.
- "installdir=$(libdir)/rep")))))
+ '(begin
+ (substitute* "Makefile.in"
+ (("installdir=\\$\\(repexecdir\\)")
+ ;; Install libraries for librep to $out/lib/rep.
+ "installdir=$(libdir)/rep"))
+ #t))))
(build-system gnu-build-system)
(arguments '(#:tests? #f)) ; no tests
(native-inputs
@@ -134,7 +129,8 @@ backend of Sawfish.")
"REP_DL_LOAD_PATH=$(REP_DL_LOAD_PATH):"))
(substitute* "src/Makefile.in"
;; Install libraries for librep to $out/lib/rep.
- (("\\$\\(repexecdir\\)") "$(libdir)/rep"))))))
+ (("\\$\\(repexecdir\\)") "$(libdir)/rep"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm
index f44f037efb..d1dfdd4e27 100644
--- a/gnu/packages/scanner.scm
+++ b/gnu/packages/scanner.scm
@@ -45,9 +45,11 @@
(snippet
;; Generated HTML files and udev rules normally embed a
;; timestamp. Work around that to build things reproducibly.
- '(substitute* "tools/sane-desc.c"
- (("asctime \\(localtime \\(&current_time\\)\\)")
- "\"1970-01-01\"")))))
+ '(begin
+ (substitute* "tools/sane-desc.c"
+ (("asctime \\(localtime \\(&current_time\\)\\)")
+ "\"1970-01-01\""))
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 657ca875d5..39240dfca7 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -212,8 +212,10 @@ features an integrated Emacs-like editor and a large runtime library.")
;; Remove bundled libraries.
(modules '((guix build utils)))
(snippet
- '(for-each delete-file-recursively
- '("gc" "gmp" "libuv")))))
+ '(begin
+ (for-each delete-file-recursively
+ '("gc" "gmp" "libuv"))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -609,9 +611,10 @@ threads.")
(origin
(method url-fetch/tarbomb)
(modules '((guix build utils)))
- (snippet
- ;; Remove binary code
- '(delete-file-recursively "scmutils/mit-scheme"))
+ (snippet '(begin
+ ;; Remove binary code
+ (delete-file-recursively "scmutils/mit-scheme")
+ #t))
(uri (string-append "http://groups.csail.mit.edu/mac/users/gjs/6946"
"/scmutils-tarballs/" name "-" version
"-x86-64-gnu-linux.tar.gz"))
diff --git a/gnu/packages/scribus.scm b/gnu/packages/scribus.scm
index 860d346778..6cf382e0bb 100644
--- a/gnu/packages/scribus.scm
+++ b/gnu/packages/scribus.scm
@@ -75,8 +75,10 @@
(snippet
;; Fix typo. Equivalent to patch at
;; https://bugs.scribus.net/view.php?id=14850
- '(substitute* "cmake/modules/FindLIBPODOFO.cmake"
- (("find_package\\(OPENSSL\\)") "find_package(OpenSSL)")))))
+ '(begin
+ (substitute* "cmake/modules/FindLIBPODOFO.cmake"
+ (("find_package\\(OPENSSL\\)") "find_package(OpenSSL)"))
+ #t))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no test target
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index 222fd5b6f1..1bc2778da1 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -369,9 +369,10 @@ directory.")
(string-append "http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-"
version ".tar.gz"))
(modules '((guix build utils)))
- (snippet
- ;; Remove bundled libraries.
- '(delete-file-recursively "external"))
+ (snippet '(begin
+ ;; Remove bundled libraries.
+ (delete-file-recursively "external")
+ #t))
(sha256
(base32
"1fw3kkqi5346ai5if4pxrcbhs5c4vv3a4smgz6fl6kyaxwkmwqaf"))))
@@ -388,9 +389,10 @@ directory.")
(string-append "https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-"
version ".tar.gz"))
(modules '((guix build utils)))
- (snippet
- ;; Remove bundled libraries.
- '(delete-file-recursively "external"))
+ (snippet (begin
+ ;; Remove bundled libraries.
+ '(delete-file-recursively "external")
+ #t))
(sha256
(base32
"0xljwcpvd2knrjdfag5b257xqayplz55mqlszrqp0kpnphh5xnrl"))))
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 3dd3a070e4..8e6f5d94d9 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -113,10 +113,10 @@ such as compact binary encodings, XML, or JSON.")
"cpp-" version "/msgpack-" version ".tar.gz"))
(snippet
'(let ((p (open-file "msgpack.pc.in" "a")))
- (begin
- (display
- (string-append "Requires: " "zlib" "\n") p)
- (close-output-port p))))
+ (display
+ (string-append "Requires: " "zlib" "\n") p)
+ (close-output-port p)
+ #t))
(sha256
(base32
"18hzmyfg3mvnp7ab03nqdzzvqagkl42gygjpi4zv4i7aca2dmwf0"))))
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 685f6d2df4..0bd4cd2fb2 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -103,9 +103,10 @@ direct descendant of NetBSD's Almquist Shell (@command{ash}).")
"0nhc3yc5lnnan7zmxqqxm07rdpwjww5ijy45ll2njdc6fnfb2az4"))
(modules '((guix build utils)))
;; Don't try to install /etc/fish/config.fish.
- (snippet
- '(substitute* "Makefile.in"
- ((".*INSTALL.*sysconfdir.*fish.*") "")))))
+ (snippet '(begin
+ (substitute* "Makefile.in"
+ ((".*INSTALL.*sysconfdir.*fish.*") ""))
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("doxygen" ,doxygen)))
@@ -264,7 +265,7 @@ written by Paul Haahr and Byron Rakitzis.")
(substitute* "tests/syntax.at"
(("; other_script.csh") "; /bin/sh other_script.csh"))
;; Now, let's generate the test suite and patch it
- (system* "make" "tests/testsuite")
+ (invoke "make" "tests/testsuite")
;; This file is ISO-8859-1 encoded.
(with-fluids ((%default-port-encoding #f))
diff --git a/gnu/packages/slang.scm b/gnu/packages/slang.scm
index abc00c1a89..f9956d0113 100644
--- a/gnu/packages/slang.scm
+++ b/gnu/packages/slang.scm
@@ -51,7 +51,8 @@
(substitute* "src/Makefile.in"
(("/bin/ln") "ln"))
(substitute* "configure"
- (("-ltermcap") ""))))))
+ (("-ltermcap") ""))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:parallel-tests? #f
diff --git a/gnu/packages/smalltalk.scm b/gnu/packages/smalltalk.scm
index a0d6c86dff..c0c53a5291 100644
--- a/gnu/packages/smalltalk.scm
+++ b/gnu/packages/smalltalk.scm
@@ -100,7 +100,8 @@ such as ones for networking and GUI programming.")
"ux_version = \"GNU\";\n"))
(substitute* "unix/vm/config.cmake"
(("\\(VM_BUILD_STRING.*")
- "(VM_BUILD_STRING \\\"Built with GNU Guix\\\")"))))))
+ "(VM_BUILD_STRING \\\"Built with GNU Guix\\\")"))
+ #t))))
(inputs
`(("alsa-lib" ,alsa-lib)
("dbus" ,dbus)
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index d7b1897051..9e157f29f4 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -479,7 +479,8 @@ basis for almost any application.")
(("localhost") "127.0.0.1"))
(substitute* "src/testsuite/login-auth-test"
- (("/bin/cat") "cat"))))))
+ (("/bin/cat") "cat"))
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("m4" ,m4)
diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm
index 54d91c1f3c..93db2189e3 100644
--- a/gnu/packages/storage.scm
+++ b/gnu/packages/storage.scm
@@ -317,7 +317,7 @@
("python2-testtools" ,python2-testtools)
("python2-tox" ,python2-tox)))
(inputs
- `(("boost" ,boost-1.66)
+ `(("boost" ,boost)
("curl" ,curl)
("cryptsetup" ,cryptsetup)
("expat" ,expat)
diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm
index 3656f5855e..df1b963878 100644
--- a/gnu/packages/sync.scm
+++ b/gnu/packages/sync.scm
@@ -58,7 +58,8 @@
;; qtsingleapplication have not yet been packaged, but all are
;; explicitly used from the 3rdparty folder during build.
;; We can also remove the macgoodies folder
- (delete-file-recursively "src/3rdparty/qtmacgoodies")))))
+ (delete-file-recursively "src/3rdparty/qtmacgoodies")
+ #t))))
(build-system cmake-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 6c3792b92f..ed59a5b922 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -39,8 +39,9 @@
"0nv5g9ymykl4316l2g3mnac77y2rx9ps4j2kg3pymxlq6qms2dij"))
(modules '((guix build utils)))
;; Delete bundled ("vendored") free software source code.
- (snippet
- '(delete-file-recursively "vendor"))))
+ (snippet '(begin
+ (delete-file-recursively "vendor")
+ #t))))
(build-system go-build-system)
;; The primary Syncthing executable goes to "out", while the auxiliary
;; server programs and utility tools go to "utils". This reduces the size
diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm
index 6a668801ff..e4399678dc 100644
--- a/gnu/packages/tbb.scm
+++ b/gnu/packages/tbb.scm
@@ -40,9 +40,11 @@
"1i3zy87gyzw22fvajm039w6g822qzqn7jbmznc8y8c57qpqnf330"))
(modules '((guix build utils)))
(snippet
- '(substitute* "build/common.inc"
- (("export tbb_build_prefix.+$")
- "export tbb_build_prefix?=guix\n")))))
+ '(begin
+ (substitute* "build/common.inc"
+ (("export tbb_build_prefix.+$")
+ "export tbb_build_prefix?=guix\n"))
+ #t))))
(outputs '("out" "doc"))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index eeae8bea41..efc57d36ed 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -239,7 +239,8 @@ compatibility to existing emulators like xterm, gnome-terminal, konsole, etc.")
"")
;; Replace the call to 'sd_booted' by the truth value.
(("sd_booted\\(\\)")
- "1"))))))
+ "1"))
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -462,26 +463,28 @@ embedded kernel situations.")
"cool-retro-term-memory-leak-1.patch"))
(modules '((guix build utils)))
(snippet
- '(for-each (lambda (font)
- (delete-file-recursively
- (string-append "app/qml/fonts/" font))
- (substitute* '("app/qml/resources.qrc")
- (((string-append "<file>fonts/" font ".*"))
- "")))
- '(;"1971-ibm-3278" ; BSD 3-clause
- "1977-apple2" ; Non-Free
- "1977-commodore-pet" ; Non-Free
- "1979-atari-400-800" ; Non-Free
- "1982-commodore64" ; Non-Free
- "1985-atari-st" ; ?
- "1985-ibm-pc-vga" ; Unclear
- ;"modern-fixedsys-excelsior" ; Redistributable
- ;"modern-hermit" ; SIL
- ;"modern-inconsolata"; SIL
- ;"modern-pro-font-win-tweaked" ; X11
- ;"modern-proggy-tiny"; X11
- ;"modern-terminus" ; SIL
- "modern-monaco"))))) ; Apple non-free
+ '(begin
+ (for-each (lambda (font)
+ (delete-file-recursively
+ (string-append "app/qml/fonts/" font))
+ (substitute* '("app/qml/resources.qrc")
+ (((string-append "<file>fonts/" font ".*"))
+ "")))
+ '(;;"1971-ibm-3278" ; BSD 3-clause
+ "1977-apple2" ; Non-Free
+ "1977-commodore-pet" ; Non-Free
+ "1979-atari-400-800" ; Non-Free
+ "1982-commodore64" ; Non-Free
+ "1985-atari-st" ; ?
+ "1985-ibm-pc-vga" ; Unclear
+ ;;"modern-fixedsys-excelsior" ; Redistributable
+ ;;"modern-hermit" ; SIL
+ ;;"modern-inconsolata" ; SIL
+ ;;"modern-pro-font-win-tweaked" ; X11
+ ;;"modern-proggy-tiny" ; X11
+ ;;"modern-terminus" ; SIL
+ "modern-monaco")) ; Apple non-free
+ #t))))
(build-system gnu-build-system)
(inputs
`(("qtbase" ,qtbase)
diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index 30f593d0ad..bcaf35bf2d 100644
--- a/gnu/packages/texinfo.scm
+++ b/gnu/packages/texinfo.scm
@@ -143,7 +143,9 @@ is on expressing the content semantically, avoiding physical markup commands.")
;; timestamp so we don't trigger the rule to update PO files,
;; which would require Gettext.
;; See <http://bugs.gnu.org/18247>.
- '(utime "texi2html.pl" 0 0 0 0))))
+ '(begin
+ (utime "texi2html.pl" 0 0 0 0)
+ #t))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)))
(arguments
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index f1ccab9af9..caec009f1a 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -214,7 +214,9 @@ compiled, requires few libraries, and starts up quickly. ")
(modules '((guix build utils)))
;; Remove pre-built binaries.
- (snippet '(delete-file-recursively "bin"))))
+ (snippet '(begin
+ (delete-file-recursively "bin")
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
@@ -248,10 +250,10 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on
(base32
"0hakfikzsml7z0hja8m8mcahrmfy2piy81bq9nccsjplyfc9clai"))
(modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "GNUmakefile"
- (("/usr/bin/") ""))))))
+ (snippet '(begin
+ (substitute* "GNUmakefile"
+ (("/usr/bin/") ""))
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 2d8a104d54..11deff4f6d 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -93,10 +93,9 @@ to DOS format and vice versa.")
(base32
"0r4yhf7i7zp2nl2apyzz7r3i2in12n385hmr8zcfr18ly0ly530q"))
(modules '((guix build utils)))
- (snippet
- `(begin
- (delete-file "tests/Recode.c")
- #t))))
+ (snippet '(begin
+ (delete-file "tests/Recode.c")
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index bd86b2e0d9..6b1005c2f8 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -1,10 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
-;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2015, 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
@@ -65,8 +65,7 @@
(define-public libtasn1
(package
(name "libtasn1")
- (version "4.12")
- (replacement libtasn1/fixed)
+ (version "4.13")
(source
(origin
(method url-fetch)
@@ -74,8 +73,7 @@
version ".tar.gz"))
(sha256
(base32
- "0ls7jdq3y5fnrwg0pzhq11m21r8pshac2705bczz6mqjc8pdllv7"))
- (patches (search-patches "libtasn1-CVE-2017-10790.patch"))))
+ "1jlc1iahj8k3haz28j55nzg7sgni5h41vqy461i1bpbx6668wlky"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(home-page "https://www.gnu.org/software/libtasn1/")
@@ -87,14 +85,6 @@ networking, allowing for formal validation of data according to some
specifications.")
(license license:lgpl2.0+)))
-(define libtasn1/fixed
- (package
- (inherit libtasn1)
- (source (origin
- (inherit (package-source libtasn1))
- (patches (search-patches "libtasn1-CVE-2017-10790.patch"
- "libtasn1-CVE-2018-6003.patch"))))))
-
(define-public asn1c
(package
(name "asn1c")
@@ -155,7 +145,7 @@ living in the same process.")
(define-public gnutls
(package
(name "gnutls")
- (version "3.5.13")
+ (version "3.5.18")
(source (origin
(method url-fetch)
(uri
@@ -169,7 +159,7 @@ living in the same process.")
"gnutls-skip-pkgconfig-test.patch"))
(sha256
(base32
- "15ihq6p0hnnhs8cnjrkj40dmlcaa1jjg8xg0g2ydbnlqs454ixbr"))))
+ "0d02x28fwkkx7xzn7807nww6idchizzq3plx8sfcyiw7wzclh8mf"))))
(build-system gnu-build-system)
(arguments
`(; Ensure we don't keep a reference to this buggy software.
@@ -307,26 +297,25 @@ required structures.")
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
- (zero?
- (system* "./config"
- "shared" ;build shared libraries
- "--libdir=lib"
-
- ;; The default for this catch-all directory is
- ;; PREFIX/ssl. Change that to something more
- ;; conventional.
- (string-append "--openssldir=" out
- "/share/openssl-" ,version)
-
- (string-append "--prefix=" out)
-
- ;; XXX FIXME: Work around a code generation bug in GCC
- ;; 4.9.3 on ARM when compiled with -mfpu=neon. See:
- ;; <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66917>
- ,@(if (and (not (%current-target-system))
- (string-prefix? "armhf" (%current-system)))
- '("-mfpu=vfpv3")
- '()))))))
+ (apply invoke "./config"
+ "shared" ;build shared libraries
+ "--libdir=lib"
+
+ ;; The default for this catch-all directory is
+ ;; PREFIX/ssl. Change that to something more
+ ;; conventional.
+ (string-append "--openssldir=" out
+ "/share/openssl-" ,version)
+
+ (string-append "--prefix=" out)
+
+ ;; XXX FIXME: Work around a code generation bug in GCC
+ ;; 4.9.3 on ARM when compiled with -mfpu=neon. See:
+ ;; <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66917>
+ ,@(if (and (not (%current-target-system))
+ (string-prefix? "armhf" (%current-system)))
+ '("-mfpu=vfpv3")
+ '())))))
(add-after
'install 'make-libraries-writable
(lambda* (#:key outputs #:allow-other-keys)
@@ -432,27 +421,26 @@ required structures.")
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib")))
- (zero?
- (system* "./config"
- "shared" ;build shared libraries
- "--libdir=lib"
-
- ;; The default for this catch-all directory is
- ;; PREFIX/ssl. Change that to something more
- ;; conventional.
- (string-append "--openssldir=" out
- "/share/openssl-" ,version)
-
- (string-append "--prefix=" out)
- (string-append "-Wl,-rpath," lib)
-
- ;; XXX FIXME: Work around a code generation bug in GCC
- ;; 4.9.3 on ARM when compiled with -mfpu=neon. See:
- ;; <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66917>
- ,@(if (and (not (%current-target-system))
- (string-prefix? "armhf" (%current-system)))
- '("-mfpu=vfpv3")
- '()))))))
+ (apply invoke "./config"
+ "shared" ;build shared libraries
+ "--libdir=lib"
+
+ ;; The default for this catch-all directory is
+ ;; PREFIX/ssl. Change that to something more
+ ;; conventional.
+ (string-append "--openssldir=" out
+ "/share/openssl-" ,version)
+
+ (string-append "--prefix=" out)
+ (string-append "-Wl,-rpath," lib)
+
+ ;; XXX FIXME: Work around a code generation bug in GCC
+ ;; 4.9.3 on ARM when compiled with -mfpu=neon. See:
+ ;; <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66917>
+ ,@(if (and (not (%current-target-system))
+ (string-prefix? "armhf" (%current-system)))
+ '("-mfpu=vfpv3")
+ '())))))
;; XXX: Duplicate this phase to make sure 'version' evaluates
;; in the current scope and not the inherited one.
@@ -805,7 +793,8 @@ then ported to the GNU / Linux environment.")
'(begin
(substitute* "include/mbedtls/dhm.h"
(("#define MBEDTLS_DHM_RFC5114_MODP_P")
- "#define MBEDTLS_DHM_RFC5114_MODP_2048_P"))))))
+ "#define MBEDTLS_DHM_RFC5114_MODP_2048_P"))
+ #t))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/unrtf.scm b/gnu/packages/unrtf.scm
index 3a15171a57..1d21a81a0e 100644
--- a/gnu/packages/unrtf.scm
+++ b/gnu/packages/unrtf.scm
@@ -61,7 +61,7 @@
#$grep "/bin:" #$sed "/bin:"
#$coreutils "/bin:"
(getenv "PATH")))
- (zero? (system* "autoreconf" "-vfi"))))))
+ (invoke "autoreconf" "-vfi")))))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/unrtf/")
(synopsis "Convert Rich Text Format documents to other formats")
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index a3f4a4dd4b..70197744e7 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
-;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
@@ -391,7 +391,9 @@ everything from small to very large projects with speed and efficiency.")
(patches (search-patches "libgit2-0.25.1-mtime-0.patch"))
;; Remove bundled software.
- (snippet '(delete-file-recursively "deps"))
+ (snippet '(begin
+ (delete-file-recursively "deps")
+ #t))
(modules '((guix build utils)))))
(build-system cmake-build-system)
(outputs '("out" "debug"))
@@ -1539,11 +1541,6 @@ output of the 'git' command.")
(base32
"1ydis4y0amkgfr4y60sn076f1l41ya2kn89kfd9fqf44f9ccgb5r"))))
(build-system gnu-build-system)
- (arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vfi")))))))
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)))
(home-page "https://github.com/0-wiz-0/findnewest/releases")
@@ -1615,7 +1612,7 @@ repository\" with git-annex.")
(define-public fossil
(package
(name "fossil")
- (version "2.4")
+ (version "2.5")
(source
(origin
(method url-fetch)
@@ -1629,7 +1626,7 @@ repository\" with git-annex.")
"fossil-src-" version ".tar.gz")))
(sha256
(base32
- "0add35lk2ac4qg29d7ygj7pskv8lfln33f3kgf6x3548msv9hd6j"))))
+ "1lxawkhr1ki9fqw8076fxib2b1w673449yzb6vxjshqzh5h77c7r"))))
(build-system gnu-build-system)
(native-inputs
`(("tcl" ,tcl) ;for configuration only
@@ -1721,7 +1718,8 @@ be served with a HTTP file server of your choice.")
(("__TIME__") "\"00:00:00\""))
(substitute* "src/impossible.h"
(("__DATE__") "\"\"")
- (("__TIME__") "\"\""))))))
+ (("__TIME__") "\"\""))
+ #t))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags '("-fpkgconfig" "-fcurl" "-flibiconv" "-fthreaded"
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 0979b4f4e7..ffc5f33e7b 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -206,8 +206,7 @@ old-fashioned output methods with powerful ascii-art renderer.")
(modify-phases %standard-phases
;; XXX We need to run ./bootstrap because of the build
;; system fixes above.
- (add-after
- 'unpack 'bootstrap
+ (replace 'bootstrap
(lambda _ (zero? (system* "sh" "bootstrap")))))))
(home-page "http://liba52.sourceforge.net/")
(synopsis "ATSC A/52 stream decoder")
@@ -304,15 +303,15 @@ H.264 (MPEG-4 AVC) video streams.")
(base32
"0hknnnnx9661igm1r73dc7aqxnnrl5a8yvyvr1nhd9ymn2klwpl5"))
(modules '((guix build utils)))
- (snippet
- '(begin
- ;; Delete bundled libraries.
- (for-each delete-file-recursively
- '("lib/libebml"
- "lib/libmatroska"
- "lib/nlohmann-json"
- "lib/pugixml"
- "lib/utf8-cpp"))))))
+ (snippet '(begin
+ ;; Delete bundled libraries.
+ (for-each delete-file-recursively
+ '("lib/libebml"
+ "lib/libmatroska"
+ "lib/nlohmann-json"
+ "lib/pugixml"
+ "lib/utf8-cpp"))
+ #t))))
(build-system gnu-build-system)
(inputs
`(("boost" ,boost)
@@ -388,8 +387,9 @@ and creating Matroska files from other media files (@code{mkvmerge}).")
(base32
"1gyd94jkwdii9308m07nymsbxrmrcl81c0j8i10zhslr2mj07w0v"))
(modules '((guix build utils)))
- (snippet
- '(delete-file-recursively "source/compat/getopt"))))
+ (snippet '(begin
+ (delete-file-recursively "source/compat/getopt")
+ #t))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; tests are skipped if cpu-optimized code isn't built
@@ -1795,10 +1795,11 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(base32
"10m3ry0b2pvqx3bk34qh5dq337nn8pkc2gzfyhsj4nv9abskln47"))
(modules '((guix build utils)))
- (snippet
- ;; As of glibc 2.26, <xlocale.h> no longer is.
- '(substitute* "src/framework/mlt_property.h"
- (("xlocale\\.h") "locale.h")))))
+ (snippet '(begin
+ ;; As of glibc 2.26, <xlocale.h> no longer is.
+ (substitute* "src/framework/mlt_property.h"
+ (("xlocale\\.h") "locale.h"))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
@@ -1984,7 +1985,8 @@ implementation.")
"1x2ag1f2fwa4yh1g5spv99w9x1m33hbxlqwyhm205ssq0ra234bx"))
(patches (search-patches "libvdpau-va-gl-unbundle.patch"))
(modules '((guix build utils)))
- (snippet '(delete-file-recursively "3rdparty"))))
+ (snippet '(begin (delete-file-recursively "3rdparty")
+ #t))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; Tests require a running X11 server, with VA-API support.
@@ -2251,7 +2253,7 @@ supported players in addition to this package.")
`(#:tests? #f ;tests require Ruby and claim to be unsupported
#:phases
(modify-phases %standard-phases
- (add-before 'patch-source-shebangs 'bootstrap-gtk
+ (replace 'bootstrap
;; Run bootstrap ahead of time so that shebangs get patched.
(lambda _
(setenv "CONFIG_SHELL" (which "sh"))
@@ -2496,10 +2498,11 @@ many codecs and formats supported by libmediainfo.")
(base32
"0f5kxpayqn3yhabqrd2cqlc74i6x2xr01jfkank1lcilxnfyrsnq"))
(modules '((guix build utils)))
- (snippet
- ;; As of glibc 2.26, <xlocale.h> no longer is.
- '(substitute* "liveMedia/include/Locale.hh"
- (("xlocale\\.h") "locale.h")))))
+ (snippet '(begin
+ ;; As of glibc 2.26, <xlocale.h> no longer is.
+ (substitute* "liveMedia/include/Locale.hh"
+ (("xlocale\\.h") "locale.h"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
@@ -2770,7 +2773,7 @@ It counts more than 100 plugins.")
("sqlite" ,sqlite)))
(arguments
'(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
+ (replace 'bootstrap
(lambda _
(patch-shebang "version.sh")
(invoke "autoreconf" "-vfi"))))
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 0fc3197077..442335cb94 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -62,7 +62,8 @@
(substitute* "lib/Makefile.in"
(("getopt1?\\.(c|h|\\$\\(OBJEXT\\))") ""))
(for-each delete-file
- '("lib/getopt.h" "lib/getopt.c"))))))
+ '("lib/getopt.h" "lib/getopt.c"))
+ #t))))
(build-system gnu-build-system)
(home-page "http://software.schmorp.de/pkg/gvpe.html")
(inputs `(("openssl" ,openssl)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index ceb7d9b7c7..fd631d4fd8 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
-;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com>
@@ -414,12 +414,7 @@ APIs.")
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests included
- #:make-flags (list "CC=gcc")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vif")))))))
+ #:make-flags (list "CC=gcc")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@@ -544,7 +539,8 @@ data.")
;; Don't try to build with -Werror.
(substitute* (find-files "." "Makefile\\.in")
- (("-Werror") ""))))))
+ (("-Werror") ""))
+ #t))))
(build-system gnu-build-system)
(arguments '(#:parallel-build? #f
#:parallel-tests? #f))
@@ -580,7 +576,8 @@ It aims to conform to RFC 7159.")
;; Don't try to build with -Werror.
(substitute* (find-files "." "Makefile\\.in")
- (("-Werror") ""))))))))
+ (("-Werror") ""))
+ #t))))))
(define-public qjson
(package
@@ -854,7 +851,7 @@ UTS#46.")
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
+ (replace 'bootstrap
(lambda* (#:key inputs #:allow-other-keys)
;; configure.in and Makefile.am aren't in the root of the
;; source tree.
@@ -4033,11 +4030,7 @@ and vice-versa.")
"1bgg2kbj311pqdzw2v33za7k66g1rv44kkvvnz2gnpaasi9k0ii8"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; tests require bundling googletest sources
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _ (zero? (system* "sh" "autogen.sh")))))))
+ `(#:tests? #f)) ;tests require bundling googletest sources
;; The release tarball lacks the generated files.
(native-inputs
`(("autoconf" ,autoconf)
@@ -4845,10 +4838,11 @@ config files---you only have to specify the www root.")
(base32
"1w84y61f3ldg2f28q6qlyr1scn3mcx0bsbq3i5xi5w193wh3xa2q"))
(modules '((guix build utils)))
- (snippet
- '(substitute* "src/error.h"
- (("__DATE__") "\"1970-01-01\"")
- (("__TIME__") "\"00:00:00\"")))))
+ (snippet '(begin
+ (substitute* "src/error.h"
+ (("__DATE__") "\"1970-01-01\"")
+ (("__TIME__") "\"00:00:00\""))
+ #t))))
(build-system gnu-build-system)
(inputs
;; TODO: Add dependency on geoip-tools.
@@ -4878,9 +4872,10 @@ on the fly.")
(base32
"0mn5s6p68n32xzadz6ds5i6bp44dyxzkq68r1yljlv470jr84bql"))
(modules '((guix build utils)))
- (snippet
- ;; Remove non-free IETF RFC documentation.
- '(delete-file-recursively "doc"))))
+ (snippet '(begin
+ ;; Remove non-free IETF RFC documentation.
+ (delete-file-recursively "doc")
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -5014,9 +5009,10 @@ functions of Tidy.")
(uri (string-append "https://www.hiawatha-webserver.org/files/"
"hiawatha-" version ".tar.gz"))
(modules '((guix build utils)))
- (snippet
- ;; We use our packaged mbedtls, so delete the included copy.
- '(delete-file-recursively "mbedtls"))
+ (snippet '(begin
+ ;; We use our packaged mbedtls, so delete the included copy.
+ (delete-file-recursively "mbedtls")
+ #t))
(sha256
(base32
"0x2zfc8kc6c7rl4gwymwmg13w1c60biv6c6c9fvzpnl59bc9jgin"))))
diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm
index c6a319965a..06668d287b 100644
--- a/gnu/packages/wget.scm
+++ b/gnu/packages/wget.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;;
@@ -140,7 +140,7 @@ online pastebin services.")
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
+ (replace 'bootstrap
(lambda _
;; Make sure all the files are writable so that ./bootstrap
;; can proceed.
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index b38b3caa25..b16ef29ea5 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
-;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 ng0 <ng0@crash.cx>
;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net>
@@ -355,12 +355,7 @@ prompt.")
"119xvdm4r6irqk0mar80hx6s8ydw26y35h7712rd7nbg7pb7i053"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ;No tests included.
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vfi")))))))
+ `(#:tests? #f)) ;no tests included
(inputs
`(("xcb-util-image" ,xcb-util-image)
("xcb-util" ,xcb-util)
@@ -678,16 +673,17 @@ experience.")
"0kwpbls9h1alxcmvxh5g9qb995fds5b2ngcr44w0ibazkyls2pdc"))
(modules '((guix build utils)
(srfi srfi-19)))
- (snippet
- ;; Remove non-reproducible timestamp and use the date of the
- ;; source file instead.
- '(substitute* "common/version.c"
- (("__DATE__ \" \" __TIME__")
- (date->string
- (time-utc->date
- (make-time time-utc 0
- (stat:mtime (stat "awesome.c"))))
- "\"~c\""))))
+ (snippet '(begin
+ ;; Remove non-reproducible timestamp and use the date
+ ;; of the source file instead.
+ (substitute* "common/version.c"
+ (("__DATE__ \" \" __TIME__")
+ (date->string
+ (time-utc->date
+ (make-time time-utc 0
+ (stat:mtime (stat "awesome.c"))))
+ "\"~c\"")))
+ #t))
(patches (search-patches "awesome-reproducible-png.patch"))))
(build-system cmake-build-system)
(native-inputs `(("asciidoc" ,asciidoc)
diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm
index ad264a24e8..f1a61329e8 100644
--- a/gnu/packages/wxwidgets.scm
+++ b/gnu/packages/wxwidgets.scm
@@ -184,7 +184,8 @@ and many other languages.")
;; setup.py tries to keep its own license the same as wxwidget's
;; license (which it expects under $WXWIN/docs).
(("'preamble.txt', 'licence.txt', 'licendoc.txt', 'lgpl.txt'")
- ""))))))
+ ""))
+ #t))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 07a9b390fa..9ae0096e6a 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015, 2016 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2013, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2015 Alexander I.Grafov <grafov@gmail.com>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
@@ -90,11 +90,13 @@
"1i3f1agixxbfy4kxikb2b241p7c2lg73cl9wqfvlwz3q6zf5faxv"))
(modules '((guix build utils)))
(snippet
- ;; Do not record a timestamp and file name in gzipped man
- ;; pages (this is equivalent to 'gzip --no-name'.)
- '(substitute* "setup.py"
- (("gzip\\.open\\(gzfile, 'w', 9\\)")
- "gzip.GzipFile('', 'wb', 9, open(gzfile, 'wb'), 0.)")))))
+ '(begin
+ ;; Do not record a timestamp and file name in gzipped man
+ ;; pages (this is equivalent to 'gzip --no-name'.)
+ (substitute* "setup.py"
+ (("gzip\\.open\\(gzfile, 'w', 9\\)")
+ "gzip.GzipFile('', 'wb', 9, open(gzfile, 'wb'), 0.)"))
+ #t))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ;incompatible with python 3
@@ -136,12 +138,7 @@ program.")
"0n7pczk9vv30zf8qfln8ba3hnif9yfdxg0m84djac469wc28hnya"))))
(build-system gnu-build-system)
(arguments
- '(#:tests? #f ; There is no test suite
- #:phases
- (modify-phases %standard-phases
- ;; Since version 0.13, bootstrapped releases are no longer available.
- (add-after 'unpack 'bootstrap
- (lambda _ (zero? (system* "autoreconf" "-v")))))))
+ '(#:tests? #f)) ;there is no test suite
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
@@ -1279,7 +1276,9 @@ program for X11. It was designed to be fast, tiny and scriptable in any languag
(modules '((guix build utils)))
(snippet
;; Drop bundled m4.
- '(delete-file-recursively "m4"))))
+ '(begin
+ (delete-file-recursively "m4")
+ #t))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 729fa56a30..293b47a653 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -105,14 +105,14 @@ hierarchical form with variable field lengths.")
(define-public libxml2
(package
(name "libxml2")
- (version "2.9.7")
+ (version "2.9.8")
(source (origin
(method url-fetch)
(uri (string-append "ftp://xmlsoft.org/libxml2/libxml2-"
version ".tar.gz"))
(sha256
(base32
- "034hylzspvkm0p4bczqbf8q05a7r2disr8dz725x4bin61ymwg7n"))))
+ "0ci7is75bwqqw2p32vxvrk6ds51ik7qgx73m920rakv5jlayax0b"))))
(build-system gnu-build-system)
(home-page "http://www.xmlsoft.org/")
(synopsis "C parser for XML")
@@ -1233,7 +1233,7 @@ files. It is designed to be fast and to handle large input files.")
`(#:phases
(modify-phases %standard-phases
;; Bootstrapping is required in order to fix the test driver script.
- (add-after 'unpack 'bootstrap
+ (replace 'bootstrap
(lambda _
(zero? (system* "bash" "bootstrap")))))))
(native-inputs
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 46a9a3b85f..b27382a82c 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2015 Cyrill Schenkel <cyrill.schenkel@gmail.com>
@@ -425,10 +425,12 @@ Resources file.")
(modules '((guix build utils)))
(snippet
;; Do not include timestamps in '.pcf.gz' files.
- '(substitute* "Makefile.in"
- (("^COMPRESS = (.*)$" _ rest)
- (string-append "COMPRESS = " (string-trim-right rest)
- " --no-name\n"))))))
+ '(begin
+ (substitute* "Makefile.in"
+ (("^COMPRESS = (.*)$" _ rest)
+ (string-append "COMPRESS = " (string-trim-right rest)
+ " --no-name\n")))
+ #t))))
(define-syntax-rule (xorg-font-origin font version hash)
"Expand to the 'origin' form for the given Xorg font package."
@@ -1849,7 +1851,7 @@ management to participate in an X11R6 session.")
(define-public util-macros
(package
(name "util-macros")
- (version "1.19.1")
+ (version "1.19.2")
(source
(origin
(method url-fetch)
@@ -1859,25 +1861,26 @@ management to participate in an X11R6 session.")
".tar.bz2"))
(sha256
(base32
- "19h6wflpmh7xxqr6lk5z8pds6r9r0dn7ijbvaacymx2q0m05km0q"))))
+ "04p7ydqxgq37jklnfj18b70zsifiz4h50wvrk94i2112mmv37r6p"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(arguments
- `(#:phases (alist-cons-after
- 'unpack 'fix-makefile-in
- (lambda _
- (substitute* "Makefile.in"
- ;; Install xorg-macros.pc in PREFIX/lib/pkgconfig,
- ;; not PREFIX/share/pkgconfig.
- (("\\$\\(datadir\\)/pkgconfig") "$(libdir)/pkgconfig")))
- (alist-cons-after
- 'install 'post-install-cleanup
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (with-directory-excursion out
- (delete-file "share/util-macros/INSTALL")
- (rmdir "share/util-macros"))))
- %standard-phases))))
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-makefile-in
+ (lambda _
+ (substitute* "Makefile.in"
+ ;; Install xorg-macros.pc in PREFIX/lib/pkgconfig,
+ ;; not PREFIX/share/pkgconfig.
+ (("\\$\\(datadir\\)/pkgconfig") "$(libdir)/pkgconfig"))
+ #t))
+ (add-after 'install 'post-install-cleanup
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (with-directory-excursion out
+ (delete-file "share/util-macros/INSTALL")
+ (rmdir "share/util-macros"))
+ #t))))))
(home-page "https://www.x.org/wiki/")
(synopsis "Xorg autoconf macros")
(description
@@ -2089,7 +2092,7 @@ emulate a TI-30 or an HP-10C.")
(define-public xcb-proto
(package
(name "xcb-proto")
- (version "1.12")
+ (version "1.13")
(source
(origin
(method url-fetch)
@@ -2099,10 +2102,7 @@ emulate a TI-30 or an HP-10C.")
".tar.bz2"))
(sha256
(base32
- "01j91946q8f34l1mbvmmgvyc393sm28ym4lxlacpiav4qsjan8jr"))
- (patches
- (search-patches "xcb-proto-python3-whitespace.patch"
- "xcb-proto-python3-print.patch"))))
+ "1qdxw9syhbvswiqj5dvj278lrmfhs81apzmvx6205s4vcqg7563v"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config) ("python" ,python-minimal-wrapper)))
@@ -2767,11 +2767,7 @@ framebuffer device.")
`(#:configure-flags
(list (string-append "--with-xorg-conf-dir="
(assoc-ref %outputs "out")
- "/share/X11/xorg.conf.d"))
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vfi")))))))
+ "/share/X11/xorg.conf.d"))))
(home-page "https://www.x.org/wiki/")
(synopsis "Adreno video driver for X server")
(description
@@ -2926,11 +2922,7 @@ X server.")
(string-prefix? "x86_64-" system)))
%supported-systems))
(arguments
- '(#:configure-flags '("--with-default-accel=uxa")
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vfi")))))))
+ '(#:configure-flags '("--with-default-accel=uxa")))
(home-page "https://www.x.org/wiki/")
(synopsis "Intel video driver for X server")
(description
@@ -5044,7 +5036,7 @@ protocol.")
(define-public libxcb
(package
(name "libxcb")
- (version "1.12")
+ (version "1.13")
(source
(origin
(method url-fetch)
@@ -5052,9 +5044,7 @@ protocol.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "0nvv0la91cf8p5qqlb3r5xnmg1jn2wphn4fb5jfbr6byqsvv3psa"))
- (patches
- (search-patches "libxcb-python-3.5-compat.patch"))))
+ "1ahxhmdqp4bhb90zmc275rmf5wixqra4bnw9pqnzyl1w3598g30q"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libpthread-stubs" ,libpthread-stubs)
diff --git a/gnu/packages/zile.scm b/gnu/packages/zile.scm
index fd3d168b3d..858117de28 100644
--- a/gnu/packages/zile.scm
+++ b/gnu/packages/zile.scm
@@ -114,7 +114,7 @@ default Emacs configuration, but it carries a much lighter feature set.")
(substitute-keyword-arguments (package-arguments zile)
((#:phases phases)
`(modify-phases ,phases
- (add-after 'unpack 'bootstrap
+ (replace 'bootstrap
(lambda _
;; Make sure all the files are writable so that ./bootstrap
;; can proceed.
diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm
index 6ce813a001..a6da530dab 100644
--- a/guix/build/ant-build-system.scm
+++ b/guix/build/ant-build-system.scm
@@ -228,6 +228,7 @@ repack them. This is necessary to ensure that archives are reproducible."
(define %standard-phases
(modify-phases gnu:%standard-phases
(replace 'unpack unpack)
+ (delete 'bootstrap)
(replace 'configure configure)
(replace 'build build)
(replace 'check check)
diff --git a/guix/build/asdf-build-system.scm b/guix/build/asdf-build-system.scm
index c5e820a00a..dd6373b33a 100644
--- a/guix/build/asdf-build-system.scm
+++ b/guix/build/asdf-build-system.scm
@@ -220,6 +220,7 @@ valid."
(define %standard-phases/source
(modify-phases gnu:%standard-phases
+ (delete 'bootstrap)
(delete 'configure)
(delete 'check)
(delete 'build)
@@ -227,6 +228,7 @@ valid."
(define %standard-phases
(modify-phases gnu:%standard-phases
+ (delete 'bootstrap)
(delete 'configure)
(delete 'install)
(replace 'build build)
diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm
index 139b40321f..f52444f61c 100644
--- a/guix/build/cargo-build-system.scm
+++ b/guix/build/cargo-build-system.scm
@@ -172,6 +172,7 @@ SRC-NAME as if it was part of the directory DIR-NAME with name
(define %standard-phases
(modify-phases gnu:%standard-phases
+ (delete 'bootstrap)
(replace 'configure configure)
(replace 'build build)
(replace 'check check)
diff --git a/guix/build/cmake-build-system.scm b/guix/build/cmake-build-system.scm
index c82d9fef87..9b1112f2d6 100644
--- a/guix/build/cmake-build-system.scm
+++ b/guix/build/cmake-build-system.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
@@ -73,7 +73,7 @@
'())
,@configure-flags)))
(format #t "running 'cmake' with arguments ~s~%" args)
- (zero? (apply system* "cmake" args)))))
+ (apply invoke "cmake" args))))
(define* (check #:key (tests? #t) (parallel-tests? #t) (test-target "test")
#:allow-other-keys)
@@ -86,6 +86,7 @@
;; Everything is as with the GNU Build System except for the `configure'
;; and 'check' phases.
(modify-phases gnu:%standard-phases
+ (delete 'bootstrap)
(replace 'check check)
(replace 'configure configure)))
diff --git a/guix/build/cvs.scm b/guix/build/cvs.scm
index 9976e624b3..7111043747 100644
--- a/guix/build/cvs.scm
+++ b/guix/build/cvs.scm
@@ -55,19 +55,20 @@ Return #t on success, #f otherwise."
;; Use "-z0" because enabling compression leads to hangs during checkout on
;; certain repositories, such as
;; ":pserver:anonymous@cvs.savannah.gnu.org:/sources/gnustandards".
- (and (zero? (system* cvs-command "-z0"
- "-d" cvs-root-directory
- "checkout"
- (if (string-match "^[0-9]{4}-[0-9]{2}-[0-9]{2}$" revision)
- "-D" "-r")
- revision
- module))
- ;; Copy rather than rename in case MODULE and DIRECTORY are on
- ;; different devices.
- (copy-recursively module directory)
+ (invoke cvs-command "-z0"
+ "-d" cvs-root-directory
+ "checkout"
+ (if (string-match "^[0-9]{4}-[0-9]{2}-[0-9]{2}$" revision)
+ "-D" "-r")
+ revision
+ module)
- (with-directory-excursion directory
- (for-each delete-file-recursively (find-cvs-directories)))
- #t))
+ ;; Copy rather than rename in case MODULE and DIRECTORY are on
+ ;; different devices.
+ (copy-recursively module directory)
+
+ (with-directory-excursion directory
+ (for-each delete-file-recursively (find-cvs-directories)))
+ #t)
;;; cvs.scm ends here
diff --git a/guix/build/dub-build-system.scm b/guix/build/dub-build-system.scm
index ed86635708..9a72e3d544 100644
--- a/guix/build/dub-build-system.scm
+++ b/guix/build/dub-build-system.scm
@@ -121,6 +121,7 @@
(define %standard-phases
(modify-phases gnu:%standard-phases
+ (delete 'bootstrap)
(replace 'configure configure)
(replace 'build build)
(replace 'check check)
diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm
index b779847424..7c3b635139 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -262,6 +262,7 @@ second hyphen. This corresponds to 'name-version' as used in ELPA packages."
(modify-phases gnu:%standard-phases
(add-after 'set-paths 'set-emacs-load-path set-emacs-load-path)
(replace 'unpack unpack)
+ (delete 'bootstrap)
(delete 'configure)
;; Move the build phase after install: the .el files are byte compiled
;; directly in the store.
diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm
index 8389ca582f..30aec5b9c6 100644
--- a/guix/build/emacs-utils.scm
+++ b/guix/build/emacs-utils.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -18,6 +18,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix build emacs-utils)
+ #:use-module (guix build utils)
#:export (%emacs
emacs-batch-eval
emacs-batch-edit-file
@@ -39,16 +40,14 @@
(define (emacs-batch-eval expr)
"Run Emacs in batch mode, and execute the elisp code EXPR."
- (unless (zero? (system* (%emacs) "--quick" "--batch"
- (format #f "--eval=~S" expr)))
- (error "emacs-batch-eval failed!" expr)))
+ (invoke (%emacs) "--quick" "--batch"
+ (format #f "--eval=~S" expr)))
(define (emacs-batch-edit-file file expr)
"Load FILE in Emacs using batch mode, and execute the elisp code EXPR."
- (unless (zero? (system* (%emacs) "--quick" "--batch"
- (string-append "--visit=" file)
- (format #f "--eval=~S" expr)))
- (error "emacs-batch-edit-file failed!" file expr)))
+ (invoke (%emacs) "--quick" "--batch"
+ (string-append "--visit=" file)
+ (format #f "--eval=~S" expr)))
(define (emacs-generate-autoloads name directory)
"Generate autoloads for Emacs package NAME placed in DIRECTORY."
diff --git a/guix/build/font-build-system.scm b/guix/build/font-build-system.scm
index f2a646f6f4..6726595fe1 100644
--- a/guix/build/font-build-system.scm
+++ b/guix/build/font-build-system.scm
@@ -59,6 +59,7 @@ archive, or a font file."
(define %standard-phases
(modify-phases gnu:%standard-phases
(replace 'unpack unpack)
+ (delete 'bootstrap)
(delete 'configure)
(delete 'check)
(delete 'build)
diff --git a/guix/build/glib-or-gtk-build-system.scm b/guix/build/glib-or-gtk-build-system.scm
index b6291e735b..ba680fd1a9 100644
--- a/guix/build/glib-or-gtk-build-system.scm
+++ b/guix/build/glib-or-gtk-build-system.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -202,16 +203,16 @@ add a dependency of that output on GLib and GTK+."
(define* (compile-glib-schemas #:key outputs #:allow-other-keys)
"Implement phase \"glib-or-gtk-compile-schemas\": compile \"glib\" schemas
if needed."
- (every (match-lambda
- ((output . directory)
- (let ((schemasdir (string-append directory
- "/share/glib-2.0/schemas")))
- (if (and (directory-exists? schemasdir)
- (not (file-exists?
- (string-append schemasdir "/gschemas.compiled"))))
- (zero? (system* "glib-compile-schemas" schemasdir))
- #t))))
- outputs))
+ (for-each (match-lambda
+ ((output . directory)
+ (let ((schemasdir (string-append directory
+ "/share/glib-2.0/schemas")))
+ (when (and (directory-exists? schemasdir)
+ (not (file-exists?
+ (string-append schemasdir "/gschemas.compiled"))))
+ (invoke "glib-compile-schemas" schemasdir)))))
+ outputs)
+ #t)
(define %standard-phases
(modify-phases gnu:%standard-phases
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index 7b43361f99..8fe6fa8d60 100644
--- a/guix/build/gnu-build-system.scm
+++ b/guix/build/gnu-build-system.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,6 +27,8 @@
#:use-module (ice-9 format)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-19)
+ #:use-module (srfi srfi-34)
+ #:use-module (srfi srfi-35)
#:use-module (srfi srfi-26)
#:use-module (rnrs io ports)
#:export (%standard-phases
@@ -152,12 +155,50 @@ working directory."
;; Preserve timestamps (set to the Epoch) on the copied tree so that
;; things work deterministically.
(copy-recursively source "."
- #:keep-mtime? #t)
- #t)
- (and (if (string-suffix? ".zip" source)
- (zero? (system* "unzip" source))
- (zero? (system* "tar" "xvf" source)))
- (chdir (first-subdirectory ".")))))
+ #:keep-mtime? #t))
+ (begin
+ (if (string-suffix? ".zip" source)
+ (invoke "unzip" source)
+ (invoke "tar" "xvf" source))
+ (chdir (first-subdirectory "."))))
+ #t)
+
+(define %bootstrap-scripts
+ ;; Typical names of Autotools "bootstrap" scripts.
+ '("bootstrap" "bootstrap.sh" "autogen.sh"))
+
+(define* (bootstrap #:key (bootstrap-scripts %bootstrap-scripts)
+ #:allow-other-keys)
+ "If the code uses Autotools and \"configure\" is missing, run
+\"autoreconf\". Otherwise do nothing."
+ ;; Note: Run that right after 'unpack' so that the generated files are
+ ;; visible when the 'patch-source-shebangs' phase runs.
+ (if (not (file-exists? "configure"))
+
+ ;; First try one of the BOOTSTRAP-SCRIPTS. If none exists, and it's
+ ;; clearly an Autoconf-based project, run 'autoreconf'. Otherwise, do
+ ;; nothing (perhaps the user removed or overrode the 'configure' phase.)
+ (let ((script (find file-exists? bootstrap-scripts)))
+ ;; GNU packages often invoke the 'git-version-gen' script from
+ ;; 'configure.ac' so make sure it has a valid shebang.
+ (false-if-file-not-found
+ (patch-shebang "build-aux/git-version-gen"))
+
+ (if script
+ (let ((script (string-append "./" script)))
+ (format #t "running '~a'~%" script)
+ (if (executable-file? script)
+ (begin
+ (patch-shebang script)
+ (invoke script))
+ (invoke "sh" script)))
+ (if (or (file-exists? "configure.ac")
+ (file-exists? "configure.in"))
+ (invoke "autoreconf" "-vif")
+ (format #t "no 'configure.ac' or anything like that, \
+doing nothing~%"))))
+ (format #t "GNU build system bootstrapping not needed~%"))
+ #t)
;; See <http://bugs.gnu.org/17840>.
(define* (patch-usr-bin-file #:key native-inputs inputs
@@ -184,7 +225,8 @@ $CONFIG_SHELL, but some don't, such as `mkinstalldirs' or Automake's
(lambda (file stat)
;; Filter out symlinks.
(eq? 'regular (stat:type stat)))
- #:stat lstat)))
+ #:stat lstat))
+ #t)
(define (patch-generated-file-shebangs . rest)
"Patch shebangs in generated files, including `SHELL' variables in
@@ -199,7 +241,9 @@ makefiles."
#:stat lstat))
;; Patch `SHELL' in generated makefiles.
- (for-each patch-makefile-SHELL (find-files "." "^(GNU)?[mM]akefile$")))
+ (for-each patch-makefile-SHELL (find-files "." "^(GNU)?[mM]akefile$"))
+
+ #t)
(define* (configure #:key build target native-inputs inputs outputs
(configure-flags '()) out-of-source?
@@ -279,33 +323,32 @@ makefiles."
;; Call `configure' with a relative path. Otherwise, GCC's build system
;; (for instance) records absolute source file names, which typically
;; contain the hash part of the `.drv' file, leading to a reference leak.
- (zero? (apply system* bash
- (string-append srcdir "/configure")
- flags))))
+ (apply invoke bash
+ (string-append srcdir "/configure")
+ flags)))
(define* (build #:key (make-flags '()) (parallel-build? #t)
#:allow-other-keys)
- (zero? (apply system* "make"
- `(,@(if parallel-build?
- `("-j" ,(number->string (parallel-job-count)))
- '())
- ,@make-flags))))
+ (apply invoke "make"
+ `(,@(if parallel-build?
+ `("-j" ,(number->string (parallel-job-count)))
+ '())
+ ,@make-flags)))
(define* (check #:key target (make-flags '()) (tests? (not target))
(test-target "check") (parallel-tests? #t)
#:allow-other-keys)
(if tests?
- (zero? (apply system* "make" test-target
- `(,@(if parallel-tests?
- `("-j" ,(number->string (parallel-job-count)))
- '())
- ,@make-flags)))
- (begin
- (format #t "test suite not run~%")
- #t)))
+ (apply invoke "make" test-target
+ `(,@(if parallel-tests?
+ `("-j" ,(number->string (parallel-job-count)))
+ '())
+ ,@make-flags))
+ (format #t "test suite not run~%"))
+ #t)
(define* (install #:key (make-flags '()) #:allow-other-keys)
- (zero? (apply system* "make" "install" make-flags)))
+ (apply invoke "make" "install" make-flags))
(define* (patch-shebangs #:key inputs outputs (patch-shebangs? #t)
#:allow-other-keys)
@@ -371,10 +414,8 @@ makefiles."
(let ((debug (debug-file file)))
(mkdir-p (dirname debug))
(copy-file file debug)
- (and (zero? (system* strip-command "--only-keep-debug" debug))
- (begin
- (chmod debug #o400)
- #t))))
+ (invoke strip-command "--only-keep-debug" debug)
+ (chmod debug #o400)))
(define (add-debug-link file)
;; Add a debug link in FILE (info "(binutils) strip").
@@ -384,10 +425,10 @@ makefiles."
;; `bfd_fill_in_gnu_debuglink_section' function.) No reference to
;; DEBUG-OUTPUT is kept because bfd keeps only the basename of the debug
;; file.
- (zero? (system* objcopy-command "--enable-deterministic-archives"
- (string-append "--add-gnu-debuglink="
- (debug-file file))
- file)))
+ (invoke objcopy-command "--enable-deterministic-archives"
+ (string-append "--add-gnu-debuglink="
+ (debug-file file))
+ file))
(define (strip-dir dir)
(format #t "stripping binaries in ~s with ~s and flags ~s~%"
@@ -397,17 +438,29 @@ makefiles."
debug-output objcopy-command))
(for-each (lambda (file)
- (and (or (elf-file? file) (ar-file? file))
- (or (not debug-output)
- (make-debug-file file))
-
- ;; Ensure the file is writable.
- (begin (make-file-writable file) #t)
-
- (zero? (apply system* strip-command
- (append strip-flags (list file))))
- (or (not debug-output)
- (add-debug-link file))))
+ (when (or (elf-file? file) (ar-file? file))
+ ;; If an error occurs while processing a file, issue a
+ ;; warning and continue to the next file.
+ (guard (c ((invoke-error? c)
+ (format (current-error-port)
+ "warning: ~a: program ~s exited\
+~@[ with non-zero exit status ~a~]\
+~@[ terminated by signal ~a~]~%"
+ file
+ (invoke-error-program c)
+ (invoke-error-exit-status c)
+ (invoke-error-term-signal c))))
+ (when debug-output
+ (make-debug-file file))
+
+ ;; Ensure the file is writable.
+ (make-file-writable file)
+
+ (apply invoke strip-command
+ (append strip-flags (list file)))
+
+ (when debug-output
+ (add-debug-link file)))))
(find-files dir
(lambda (file stat)
;; Ignore symlinks such as:
@@ -415,15 +468,17 @@ makefiles."
(eq? 'regular (stat:type stat)))
#:stat lstat)))
- (or (not strip-binaries?)
- (every strip-dir
- (append-map (match-lambda
- ((_ . dir)
- (filter-map (lambda (d)
- (let ((sub (string-append dir "/" d)))
- (and (directory-exists? sub) sub)))
- strip-directories)))
- outputs))))
+ (when strip-binaries?
+ (for-each
+ strip-dir
+ (append-map (match-lambda
+ ((_ . dir)
+ (filter-map (lambda (d)
+ (let ((sub (string-append dir "/" d)))
+ (and (directory-exists? sub) sub)))
+ strip-directories)))
+ outputs)))
+ #t)
(define* (validate-runpath #:key
(validate-runpath? #t)
@@ -466,10 +521,11 @@ phase after stripping."
(filter-map (sub-directory output)
elf-directories)))
outputs)))
- (every* validate dirs))
- (begin
- (format (current-error-port) "skipping RUNPATH validation~%")
- #t)))
+ (unless (every* validate dirs)
+ (error "RUNPATH validation failed")))
+ (format (current-error-port) "skipping RUNPATH validation~%"))
+
+ #t)
(define* (validate-documentation-location #:key outputs
#:allow-other-keys)
@@ -549,47 +605,45 @@ DOCUMENTATION-COMPRESSOR-FLAGS."
(apply throw args))))))
(define (maybe-compress-directory directory regexp)
- (or (not (directory-exists? directory))
- (match (find-files directory regexp)
- (() ;nothing to compress
- #t)
- ((files ...) ;one or more files
- (format #t
- "compressing documentation in '~a' with ~s and flags ~s~%"
- directory documentation-compressor
- documentation-compressor-flags)
- (call-with-values
- (lambda ()
- (partition symbolic-link? files))
- (lambda (symlinks regular-files)
- ;; Compress the non-symlink files, and adjust symlinks to refer
- ;; to the compressed files. Leave files that have hard links
- ;; unchanged ('gzip' would refuse to compress them anyway.)
- ;; Also, do not retarget symbolic links pointing to other
- ;; symbolic links, since these are not compressed.
- (and (every retarget-symlink
- (filter (lambda (symlink)
- (and (not (points-to-symlink? symlink))
- (string-match regexp symlink)))
- symlinks))
- (zero?
- (apply system* documentation-compressor
- (append documentation-compressor-flags
- (remove has-links? regular-files)))))))))))
+ (when (directory-exists? directory)
+ (match (find-files directory regexp)
+ (() ;nothing to compress
+ #t)
+ ((files ...) ;one or more files
+ (format #t
+ "compressing documentation in '~a' with ~s and flags ~s~%"
+ directory documentation-compressor
+ documentation-compressor-flags)
+ (call-with-values
+ (lambda ()
+ (partition symbolic-link? files))
+ (lambda (symlinks regular-files)
+ ;; Compress the non-symlink files, and adjust symlinks to refer
+ ;; to the compressed files. Leave files that have hard links
+ ;; unchanged ('gzip' would refuse to compress them anyway.)
+ ;; Also, do not retarget symbolic links pointing to other
+ ;; symbolic links, since these are not compressed.
+ (for-each retarget-symlink
+ (filter (lambda (symlink)
+ (and (not (points-to-symlink? symlink))
+ (string-match regexp symlink)))
+ symlinks))
+ (apply invoke documentation-compressor
+ (append documentation-compressor-flags
+ (remove has-links? regular-files)))))))))
(define (maybe-compress output)
- (and (maybe-compress-directory (string-append output "/share/man")
- "\\.[0-9]+$")
- (maybe-compress-directory (string-append output "/share/info")
- "\\.info(-[0-9]+)?$")))
+ (maybe-compress-directory (string-append output "/share/man")
+ "\\.[0-9]+$")
+ (maybe-compress-directory (string-append output "/share/info")
+ "\\.info(-[0-9]+)?$"))
(if compress-documentation?
(match outputs
(((names . directories) ...)
- (every maybe-compress directories)))
- (begin
- (format #t "not compressing documentation~%")
- #t)))
+ (for-each maybe-compress directories)))
+ (format #t "not compressing documentation~%"))
+ #t)
(define* (delete-info-dir-file #:key outputs #:allow-other-keys)
"Delete any 'share/info/dir' file from OUTPUTS."
@@ -672,6 +726,7 @@ which cannot be found~%"
(let-syntax ((phases (syntax-rules ()
((_ p ...) `((p . ,p) ...)))))
(phases set-SOURCE-DATE-EPOCH set-paths install-locale unpack
+ bootstrap
patch-usr-bin-file
patch-source-shebangs configure patch-generated-file-shebangs
build check install
@@ -704,17 +759,26 @@ in order. Return #t if all the PHASES succeeded, #f otherwise."
;; The trick is to #:allow-other-keys everywhere, so that each procedure in
;; PHASES can pick the keyword arguments it's interested in.
- (every (match-lambda
- ((name . proc)
- (let ((start (current-time time-monotonic)))
- (format #t "starting phase `~a'~%" name)
- (let ((result (apply proc args))
- (end (current-time time-monotonic)))
- (format #t "phase `~a' ~:[failed~;succeeded~] after ~,1f seconds~%"
- name result
- (elapsed-time end start))
-
- ;; Dump the environment variables as a shell script, for handy debugging.
- (system "export > $NIX_BUILD_TOP/environment-variables")
- result))))
- phases))
+ (for-each (match-lambda
+ ((name . proc)
+ (let ((start (current-time time-monotonic)))
+ (format #t "starting phase `~a'~%" name)
+ (let ((result (apply proc args))
+ (end (current-time time-monotonic)))
+ (format #t "phase `~a' ~:[failed~;succeeded~] after ~,1f seconds~%"
+ name result
+ (elapsed-time end start))
+
+ ;; Issue a warning unless the result is #t.
+ (unless (eqv? result #t)
+ (format (current-error-port) "\
+## WARNING: phase `~a' returned `~s'. Return values other than #t
+## are deprecated. Please migrate this package so that its phase
+## procedures report errors by raising an exception, and otherwise
+## always return #t.~%"
+ name result))
+
+ ;; Dump the environment variables as a shell script, for handy debugging.
+ (system "export > $NIX_BUILD_TOP/environment-variables")
+ result))))
+ phases))
diff --git a/guix/build/gnu-dist.scm b/guix/build/gnu-dist.scm
index ad69c6cf16..bf1c63cb85 100644
--- a/guix/build/gnu-dist.scm
+++ b/guix/build/gnu-dist.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -41,24 +42,22 @@
(begin
(format #t "bootstrapping with `~a'...~%"
file)
- (zero?
- (system* (string-append "./" file))))
+ (invoke (string-append "./" file)))
(try-files files ...
(else fallback ...)))))))
(try-files "bootstrap" "bootstrap.sh" "autogen" "autogen.sh"
(else
(format #t "bootstrapping with `autoreconf'...~%")
- (zero? (system* "autoreconf" "-vfi"))))))
+ (invoke "autoreconf" "-vfi")))))
(define* (build #:key build-before-dist? make-flags (dist-target "distcheck")
#:allow-other-keys
#:rest args)
- (and (or (not build-before-dist?)
- (let ((build (assq-ref %standard-phases 'build)))
- (apply build args)))
- (begin
- (format #t "building target `~a'~%" dist-target)
- (zero? (apply system* "make" dist-target make-flags)))))
+ (when build-before-dist?
+ (let ((build (assq-ref %standard-phases 'build)))
+ (apply build args)))
+ (format #t "building target `~a'~%" dist-target)
+ (apply invoke "make" dist-target make-flags))
(define* (install-dist #:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm
index 3114067aa9..7c833a616f 100644
--- a/guix/build/go-build-system.scm
+++ b/guix/build/go-build-system.scm
@@ -261,6 +261,7 @@ files in OUTPUTS."
(define %standard-phases
(modify-phases gnu:%standard-phases
+ (delete 'bootstrap)
(delete 'configure)
(delete 'patch-generated-file-shebangs)
(replace 'unpack unpack)
diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm
index 3afc37e16d..268d59c1be 100644
--- a/guix/build/haskell-build-system.scm
+++ b/guix/build/haskell-build-system.scm
@@ -266,6 +266,7 @@ given Haskell package."
(define %standard-phases
(modify-phases gnu:%standard-phases
+ (delete 'bootstrap)
(add-before 'configure 'setup-compiler setup-compiler)
(add-before 'install 'haddock haddock)
(add-after 'install 'register register)
diff --git a/guix/build/hg.scm b/guix/build/hg.scm
index ae4574de57..ea51eb670b 100644
--- a/guix/build/hg.scm
+++ b/guix/build/hg.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,19 +34,20 @@
"Fetch CHANGESET from URL into DIRECTORY. CHANGESET must be a valid
Mercurial changeset identifier. Return #t on success, #f otherwise."
- (and (zero? (system* hg-command
- "clone" url
- "--rev" changeset
- ;; Disable TLS certificate verification. The hash of
- ;; the checkout is known in advance anyway.
- "--insecure"
- directory))
- (with-directory-excursion directory
- (begin
- ;; The contents of '.hg' vary as a function of the current
- ;; status of the Mercurial repo. Since we want a fixed
- ;; output, this directory needs to be taken out.
- (delete-file-recursively ".hg")
- #t))))
+ (invoke hg-command
+ "clone" url
+ "--rev" changeset
+ ;; Disable TLS certificate verification. The hash of
+ ;; the checkout is known in advance anyway.
+ "--insecure"
+ directory)
+
+ ;; The contents of '.hg' vary as a function of the current
+ ;; status of the Mercurial repo. Since we want a fixed
+ ;; output, this directory needs to be taken out.
+ (with-directory-excursion directory
+ (delete-file-recursively ".hg"))
+
+ #t)
;;; hg.scm ends here
diff --git a/guix/build/minify-build-system.scm b/guix/build/minify-build-system.scm
index 3580deda07..563def88e9 100644
--- a/guix/build/minify-build-system.scm
+++ b/guix/build/minify-build-system.scm
@@ -60,6 +60,7 @@
(define %standard-phases
(modify-phases gnu:%standard-phases
+ (delete 'bootstrap)
(delete 'configure)
(replace 'build build)
(delete 'check)
diff --git a/guix/build/ocaml-build-system.scm b/guix/build/ocaml-build-system.scm
index f77251ca09..d10431d8ef 100644
--- a/guix/build/ocaml-build-system.scm
+++ b/guix/build/ocaml-build-system.scm
@@ -103,6 +103,7 @@
;; Everything is as with the GNU Build System except for the `configure'
;; , `build', `check' and `install' phases.
(modify-phases gnu:%standard-phases
+ (delete 'bootstrap)
(add-before 'configure 'ocaml-findlib-environment
ocaml-findlib-environment)
(add-before 'install 'prepare-install prepare-install)
diff --git a/guix/build/perl-build-system.scm b/guix/build/perl-build-system.scm
index b2024e4406..c5f5baa3a9 100644
--- a/guix/build/perl-build-system.scm
+++ b/guix/build/perl-build-system.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -49,7 +50,7 @@
"INSTALLDIRS=site" "NO_PERLLOCAL=1" ,@make-maker-flags))
(else (error "no Build.PL or Makefile.PL found")))))
(format #t "running `perl' with arguments ~s~%" args)
- (zero? (apply system* "perl" args))))
+ (apply invoke "perl" args)))
(define-syntax-rule (define-w/gnu-fallback* (name args ...) body ...)
(define* (name args ... #:rest rest)
@@ -58,24 +59,24 @@
(apply (assoc-ref gnu:%standard-phases 'name) rest))))
(define-w/gnu-fallback* (build)
- (zero? (system* "./Build")))
+ (invoke "./Build"))
(define-w/gnu-fallback* (check #:key target
(tests? (not target)) (test-flags '())
#:allow-other-keys)
(if tests?
- (zero? (apply system* "./Build" "test" test-flags))
- (begin
- (format #t "test suite not run~%")
- #t)))
+ (apply invoke "./Build" "test" test-flags)
+ (format #t "test suite not run~%"))
+ #t)
(define-w/gnu-fallback* (install)
- (zero? (system* "./Build" "install")))
+ (invoke "./Build" "install"))
(define %standard-phases
;; Everything is as with the GNU Build System except for the `configure',
;; `build', `check', and `install' phases.
(modify-phases gnu:%standard-phases
+ (delete 'bootstrap)
(replace 'install install)
(replace 'check check)
(replace 'build build)
diff --git a/guix/build/python-build-system.scm b/guix/build/python-build-system.scm
index dd07986b94..c0a432038e 100644
--- a/guix/build/python-build-system.scm
+++ b/guix/build/python-build-system.scm
@@ -1,9 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -120,9 +121,9 @@
(format #t "running \"python setup.py\" with command ~s and parameters ~s~%"
command params)
(if use-setuptools?
- (zero? (apply system* "python" "-c" setuptools-shim
- command params))
- (zero? (apply system* "python" "./setup.py" command params))))
+ (apply invoke "python" "-c" setuptools-shim
+ command params)
+ (apply invoke "python" "./setup.py" command params)))
(error "no setup.py found")))
(define* (build #:key use-setuptools? #:allow-other-keys)
@@ -243,10 +244,21 @@ installed with setuptools."
#t))
#t))
+(define* (enable-bytecode-determinism #:rest _)
+ "Improve determinism of pyc files."
+ ;; Set DETERMINISTIC_BUILD to override the embedded mtime in pyc files.
+ (setenv "DETERMINISTIC_BUILD" "1")
+ ;; Use deterministic hashes for strings, bytes, and datetime objects.
+ (setenv "PYTHONHASHSEED" "0")
+ #t)
+
(define %standard-phases
;; 'configure' phase is not needed.
(modify-phases gnu:%standard-phases
(add-after 'unpack 'ensure-no-mtimes-pre-1980 ensure-no-mtimes-pre-1980)
+ (add-after 'ensure-no-mtimes-pre-1980 'enable-bytecode-determinism
+ enable-bytecode-determinism)
+ (delete 'bootstrap)
(delete 'configure)
(replace 'install install)
(replace 'check check)
diff --git a/guix/build/r-build-system.scm b/guix/build/r-build-system.scm
index 24aa73d4f2..5e18939d22 100644
--- a/guix/build/r-build-system.scm
+++ b/guix/build/r-build-system.scm
@@ -99,6 +99,7 @@
(define %standard-phases
(modify-phases gnu:%standard-phases
+ (delete 'bootstrap)
(delete 'configure)
(delete 'build)
(delete 'check) ; tests must be run after installation
diff --git a/guix/build/ruby-build-system.scm b/guix/build/ruby-build-system.scm
index 09ae2390a5..abef6937bc 100644
--- a/guix/build/ruby-build-system.scm
+++ b/guix/build/ruby-build-system.scm
@@ -308,6 +308,7 @@ extended with definitions for VARS."
(define %standard-phases
(modify-phases gnu:%standard-phases
+ (delete 'bootstrap)
(delete 'configure)
(replace 'unpack unpack)
(add-before 'build 'extract-gemspec extract-gemspec)
diff --git a/guix/build/scons-build-system.scm b/guix/build/scons-build-system.scm
index a8760968d8..eb013f03b6 100644
--- a/guix/build/scons-build-system.scm
+++ b/guix/build/scons-build-system.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,27 +32,27 @@
(define* (build #:key outputs (scons-flags '()) (parallel-build? #t) #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p out)
- (zero? (apply system* "scons"
- (append (if parallel-build?
- (list "-j" (number->string
- (parallel-job-count)))
- (list))
- scons-flags)))))
+ (apply invoke "scons"
+ (append (if parallel-build?
+ (list "-j" (number->string
+ (parallel-job-count)))
+ (list))
+ scons-flags))))
(define* (check #:key tests? test-target (scons-flags '()) #:allow-other-keys)
"Run the test suite of a given SCons application."
- (cond (tests?
- (zero? (apply system* "scons" test-target scons-flags)))
- (else
- (format #t "test suite not run~%")
- #t)))
+ (if tests?
+ (apply invoke "scons" test-target scons-flags)
+ (format #t "test suite not run~%"))
+ #t)
(define* (install #:key outputs (scons-flags '()) #:allow-other-keys)
"Install a given SCons application."
- (zero? (apply system* "scons" "install" scons-flags)))
+ (apply invoke "scons" "install" scons-flags))
(define %standard-phases
(modify-phases gnu:%standard-phases
+ (delete 'bootstrap)
(delete 'configure)
(replace 'build build)
(replace 'check check)
diff --git a/guix/build/svn.scm b/guix/build/svn.scm
index 31c30edaf5..252d1d4ee5 100644
--- a/guix/build/svn.scm
+++ b/guix/build/svn.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
+;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,23 +35,24 @@
(password #f))
"Fetch REVISION from URL into DIRECTORY. REVISION must be an integer, and a
valid Subversion revision. Return #t on success, #f otherwise."
- (and (zero? (apply system* svn-command
- "checkout" "--non-interactive"
- ;; Trust the server certificate. This is OK as we
- ;; verify the checksum later. This can be removed when
- ;; ca-certificates package is added.
- "--trust-server-cert" "-r" (number->string revision)
- `(,@(if (and user-name password)
- (list (string-append "--username=" user-name)
- (string-append "--password=" password))
- '())
- ,url ,directory)))
- (with-directory-excursion directory
- (begin
- ;; The contents of '.svn' vary as a function of the current status
- ;; of the repo. Since we want a fixed output, this directory needs
- ;; to be taken out.
- (delete-file-recursively ".svn")
- #t))))
+ (apply invoke svn-command
+ "checkout" "--non-interactive"
+ ;; Trust the server certificate. This is OK as we
+ ;; verify the checksum later. This can be removed when
+ ;; ca-certificates package is added.
+ "--trust-server-cert" "-r" (number->string revision)
+ `(,@(if (and user-name password)
+ (list (string-append "--username=" user-name)
+ (string-append "--password=" password))
+ '())
+ ,url ,directory))
+
+ ;; The contents of '.svn' vary as a function of the current status
+ ;; of the repo. Since we want a fixed output, this directory needs
+ ;; to be taken out.
+ (with-directory-excursion directory
+ (delete-file-recursively ".svn"))
+
+ #t)
;;; svn.scm ends here
diff --git a/guix/build/texlive-build-system.scm b/guix/build/texlive-build-system.scm
index f6b9b96b87..1c393ecd9d 100644
--- a/guix/build/texlive-build-system.scm
+++ b/guix/build/texlive-build-system.scm
@@ -34,11 +34,11 @@
;; Code:
(define (compile-with-latex format file)
- (zero? (system* format
- "-interaction=batchmode"
- "-output-directory=build"
- (string-append "&" format)
- file)))
+ (invoke format
+ "-interaction=batchmode"
+ "-output-directory=build"
+ (string-append "&" format)
+ file))
(define* (configure #:key inputs #:allow-other-keys)
(let* ((out (string-append (getcwd) "/.texlive-union"))
@@ -81,6 +81,7 @@
(define %standard-phases
(modify-phases gnu:%standard-phases
+ (delete 'bootstrap)
(replace 'configure configure)
(replace 'build build)
(delete 'check)
diff --git a/guix/build/utils.scm b/guix/build/utils.scm
index d7ed3d5177..c58a1afd1c 100644
--- a/guix/build/utils.scm
+++ b/guix/build/utils.scm
@@ -1,8 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,6 +23,8 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-26)
+ #:use-module (srfi srfi-34)
+ #:use-module (srfi srfi-35)
#:use-module (srfi srfi-60)
#:use-module (ice-9 ftw)
#:use-module (ice-9 match)
@@ -61,6 +63,7 @@
delete-file-recursively
file-name-predicate
find-files
+ false-if-file-not-found
search-path-as-list
set-path-environment-variable
@@ -85,7 +88,14 @@
fold-port-matches
remove-store-references
wrap-program
+
invoke
+ invoke-error?
+ invoke-error-program
+ invoke-error-arguments
+ invoke-error-exit-status
+ invoke-error-term-signal
+ invoke-error-stop-signal
locale-category->string))
@@ -396,6 +406,15 @@ also be included. If FAIL-ON-ERROR? is true, raise an exception upon error."
stat)
string<?)))
+(define-syntax-rule (false-if-file-not-found exp)
+ "Evaluate EXP but return #f if it raises to 'system-error with ENOENT."
+ (catch 'system-error
+ (lambda () exp)
+ (lambda args
+ (if (= ENOENT (system-error-errno args))
+ #f
+ (apply throw args)))))
+
;;;
;;; Search paths.
@@ -581,13 +600,25 @@ Where every <*-phase-name> is an expression evaluating to a symbol, and
((_ phases (add-after old-phase-name new-phase-name new-phase))
(alist-cons-after old-phase-name new-phase-name new-phase phases))))
+(define-condition-type &invoke-error &error
+ invoke-error?
+ (program invoke-error-program)
+ (arguments invoke-error-arguments)
+ (exit-status invoke-error-exit-status)
+ (term-signal invoke-error-term-signal)
+ (stop-signal invoke-error-stop-signal))
+
(define (invoke program . args)
- "Invoke PROGRAM with the given ARGS. Raise an error if the exit
-code is non-zero; otherwise return #t."
- (let ((status (apply system* program args)))
- (unless (zero? status)
- (error (format #f "program ~s exited with non-zero code" program)
- status))
+ "Invoke PROGRAM with the given ARGS. Raise an exception
+if the exit code is non-zero; otherwise return #t."
+ (let ((code (apply system* program args)))
+ (unless (zero? code)
+ (raise (condition (&invoke-error
+ (program program)
+ (arguments args)
+ (exit-status (status:exit-val code))
+ (term-signal (status:term-sig code))
+ (stop-signal (status:stop-sig code))))))
#t))
diff --git a/guix/build/waf-build-system.scm b/guix/build/waf-build-system.scm
index 85f0abcfd6..f0364e867d 100644
--- a/guix/build/waf-build-system.scm
+++ b/guix/build/waf-build-system.scm
@@ -70,6 +70,7 @@
(define %standard-phases
(modify-phases gnu:%standard-phases
+ (delete 'bootstrap)
(replace 'configure configure)
(replace 'build build)
(replace 'check check)
diff --git a/guix/download.scm b/guix/download.scm
index 55da2c1d37..50aa78fe0d 100644
--- a/guix/download.scm
+++ b/guix/download.scm
@@ -517,8 +517,8 @@ own. This helper makes it easier to deal with \"tar bombs\"."
(mkdir #$output)
(setenv "PATH" (string-append #$gzip "/bin"))
(chdir #$output)
- (zero? (system* (string-append #$tar "/bin/tar")
- "xf" #$drv)))
+ (invoke (string-append #$tar "/bin/tar")
+ "xf" #$drv))
#:local-build? #t)))
(define* (url-fetch/zipbomb url hash-algo hash
@@ -546,8 +546,8 @@ own. This helper makes it easier to deal with \"zip bombs\"."
#~(begin
(mkdir #$output)
(chdir #$output)
- (zero? (system* (string-append #$unzip "/bin/unzip")
- #$drv)))
+ (invoke (string-append #$unzip "/bin/unzip")
+ #$drv))
#:local-build? #t)))
(define* (download-to-store store url #:optional (name (basename url))
diff --git a/guix/packages.scm b/guix/packages.scm
index b5c0b60440..ab4b6278d6 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
@@ -519,9 +519,9 @@ specifies modules in scope when evaluating SNIPPET."
;; Use '--force' so that patches that do not apply perfectly are
;; rejected. Use '--no-backup-if-mismatch' to prevent making
;; "*.orig" file if a patch is applied with offset.
- (zero? (system* (string-append #+patch "/bin/patch")
- "--force" "--no-backup-if-mismatch"
- #+@flags "--input" patch)))
+ (invoke (string-append #+patch "/bin/patch")
+ "--force" "--no-backup-if-mismatch"
+ #+@flags "--input" patch))
(define (first-file directory)
;; Return the name of the first file in DIRECTORY.
@@ -546,64 +546,74 @@ specifies modules in scope when evaluating SNIPPET."
#+decomp "/bin"))
;; SOURCE may be either a directory or a tarball.
- (and (if (file-is-directory? #+source)
- (let* ((store (%store-directory))
- (len (+ 1 (string-length store)))
- (base (string-drop #+source len))
- (dash (string-index base #\-))
- (directory (string-drop base (+ 1 dash))))
- (mkdir directory)
- (copy-recursively #+source directory)
- #t)
- #+(if (string=? decompression-type "unzip")
- #~(zero? (system* "unzip" #+source))
- #~(zero? (system* (string-append #+tar "/bin/tar")
- "xvf" #+source))))
- (let ((directory (first-file ".")))
- (format (current-error-port)
- "source is under '~a'~%" directory)
- (chdir directory)
-
- (and (every apply-patch '#+patches)
- #+@(if snippet
- #~((let ((module (make-fresh-user-module)))
- (module-use-interfaces!
- module
- (map resolve-interface '#+modules))
- ((@ (system base compile) compile)
- '#+snippet
- #:to 'value
- #:opts %auto-compilation-options
- #:env module)))
- #~())
-
- (begin (chdir "..") #t)
-
- (unless tar-supports-sort?
- (call-with-output-file ".file_list"
- (lambda (port)
- (for-each (lambda (name)
- (format port "~a~%" name))
- (find-files directory
- #:directories? #t
- #:fail-on-error? #t)))))
- (zero? (apply system*
- (string-append #+tar "/bin/tar")
- "cvf" #$output
- ;; The bootstrap xz does not support
- ;; threaded compression (introduced in
- ;; 5.2.0), but it ignores the extra flag.
- (string-append "--use-compress-program="
- #+xz "/bin/xz --threads=0")
- ;; avoid non-determinism in the archive
- "--mtime=@0"
- "--owner=root:0"
- "--group=root:0"
- (if tar-supports-sort?
- `("--sort=name"
- ,directory)
- '("--no-recursion"
- "--files-from=.file_list"))))))))))
+ (if (file-is-directory? #+source)
+ (let* ((store (%store-directory))
+ (len (+ 1 (string-length store)))
+ (base (string-drop #+source len))
+ (dash (string-index base #\-))
+ (directory (string-drop base (+ 1 dash))))
+ (mkdir directory)
+ (copy-recursively #+source directory))
+ #+(if (string=? decompression-type "unzip")
+ #~(invoke "unzip" #+source)
+ #~(invoke (string-append #+tar "/bin/tar")
+ "xvf" #+source)))
+
+ (let ((directory (first-file ".")))
+ (format (current-error-port)
+ "source is under '~a'~%" directory)
+ (chdir directory)
+
+ (for-each apply-patch '#+patches)
+
+ (let ((result #+(if snippet
+ #~(let ((module (make-fresh-user-module)))
+ (module-use-interfaces!
+ module
+ (map resolve-interface '#+modules))
+ ((@ (system base compile) compile)
+ '#+snippet
+ #:to 'value
+ #:opts %auto-compilation-options
+ #:env module))
+ #~#t)))
+ ;; Issue a warning unless the result is #t.
+ (unless (eqv? result #t)
+ (format (current-error-port) "\
+## WARNING: the snippet returned `~s'. Return values other than #t
+## are deprecated. Please migrate this package so that its snippet
+## reports errors by raising an exception, and otherwise returns #t.~%"
+ result))
+ (unless result
+ (error "snippet returned false")))
+
+ (chdir "..")
+
+ (unless tar-supports-sort?
+ (call-with-output-file ".file_list"
+ (lambda (port)
+ (for-each (lambda (name)
+ (format port "~a~%" name))
+ (find-files directory
+ #:directories? #t
+ #:fail-on-error? #t)))))
+ (apply invoke
+ (string-append #+tar "/bin/tar")
+ "cvf" #$output
+ ;; The bootstrap xz does not support
+ ;; threaded compression (introduced in
+ ;; 5.2.0), but it ignores the extra flag.
+ (string-append "--use-compress-program="
+ #+xz "/bin/xz --threads=0")
+ ;; avoid non-determinism in the archive
+ "--mtime=@0"
+ "--owner=root:0"
+ "--group=root:0"
+ (if tar-supports-sort?
+ `("--sort=name"
+ ,directory)
+ '("--no-recursion"
+ "--files-from=.file_list")))))))
(let ((name (tarxz-name original-file-name)))
(gexp->derivation name build
diff --git a/guix/ui.scm b/guix/ui.scm
index cb49a15c4d..c6d0704cfa 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2013, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
@@ -41,6 +41,12 @@
#:use-module ((guix licenses) #:select (license? license-name))
#:use-module ((guix build syscalls)
#:select (free-disk-space terminal-columns))
+ #:use-module ((guix build utils)
+ #:select (invoke-error? invoke-error-program
+ invoke-error-arguments
+ invoke-error-exit-status
+ invoke-error-term-signal
+ invoke-error-stop-signal))
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-19)
@@ -636,6 +642,16 @@ or remove one of them from the profile.")
directories:~{ ~a~}~%")
(file-search-error-file-name c)
(file-search-error-search-path c)))
+ ((invoke-error? c)
+ (leave (G_ "program exited\
+~@[ with non-zero exit status ~a~]\
+~@[ terminated by signal ~a~]\
+~@[ stopped by signal ~a~]: ~s~%")
+ (invoke-error-exit-status c)
+ (invoke-error-term-signal c)
+ (invoke-error-stop-signal c)
+ (cons (invoke-error-program c)
+ (invoke-error-arguments c))))
((and (error-location? c) (message-condition? c))
(format (current-error-port)
(G_ "~a: error: ~a~%")