aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk19
-rw-r--r--gnu/packages/algebra.scm15
-rw-r--r--gnu/packages/aspell.scm17
-rw-r--r--gnu/packages/autotools.scm10
-rw-r--r--gnu/packages/avahi.scm17
-rw-r--r--gnu/packages/backup.scm47
-rw-r--r--gnu/packages/base.scm70
-rw-r--r--gnu/packages/bash.scm9
-rw-r--r--gnu/packages/bison.scm4
-rw-r--r--gnu/packages/boost.scm59
-rw-r--r--gnu/packages/build-tools.scm4
-rw-r--r--gnu/packages/cmake.scm49
-rw-r--r--gnu/packages/code.scm18
-rw-r--r--gnu/packages/commencement.scm46
-rw-r--r--gnu/packages/compression.scm18
-rw-r--r--gnu/packages/curl.scm17
-rw-r--r--gnu/packages/cyrus-sasl.scm17
-rw-r--r--gnu/packages/dbm.scm9
-rw-r--r--gnu/packages/documentation.scm23
-rw-r--r--gnu/packages/emacs-xyz.scm15
-rw-r--r--gnu/packages/file.scm6
-rw-r--r--gnu/packages/firmware.scm5
-rw-r--r--gnu/packages/fontutils.scm10
-rw-r--r--gnu/packages/freedesktop.scm2
-rw-r--r--gnu/packages/fribidi.scm13
-rw-r--r--gnu/packages/games.scm48
-rw-r--r--gnu/packages/gcc.scm4
-rw-r--r--gnu/packages/ghostscript.scm57
-rw-r--r--gnu/packages/glib.scm25
-rw-r--r--gnu/packages/gnome.scm13
-rw-r--r--gnu/packages/gnupg.scm60
-rw-r--r--gnu/packages/graphviz.scm8
-rw-r--r--gnu/packages/groff.scm22
-rw-r--r--gnu/packages/gtk.scm31
-rw-r--r--gnu/packages/guile-wm.scm4
-rw-r--r--gnu/packages/guile.scm3
-rw-r--r--gnu/packages/icu4c.scm67
-rw-r--r--gnu/packages/image.scm55
-rw-r--r--gnu/packages/jemalloc.scm4
-rw-r--r--gnu/packages/kerberos.scm21
-rw-r--r--gnu/packages/libbsd.scm4
-rw-r--r--gnu/packages/libevent.scm4
-rw-r--r--gnu/packages/libffi.scm15
-rw-r--r--gnu/packages/libidn.scm4
-rw-r--r--gnu/packages/linux.scm178
-rw-r--r--gnu/packages/llvm.scm32
-rw-r--r--gnu/packages/make-bootstrap.scm13
-rw-r--r--gnu/packages/man.scm2
-rw-r--r--gnu/packages/mate.scm4
-rw-r--r--gnu/packages/maths.scm5
-rw-r--r--gnu/packages/messaging.scm2
-rw-r--r--gnu/packages/music.scm2
-rw-r--r--gnu/packages/node.scm4
-rw-r--r--gnu/packages/nss.scm14
-rw-r--r--gnu/packages/openldap.scm42
-rw-r--r--gnu/packages/patches/aspell-default-dict-dir.patch24
-rw-r--r--gnu/packages/patches/aspell-gcc-compat.patch31
-rw-r--r--gnu/packages/patches/bash-linux-pgrp-pipe.patch32
-rw-r--r--gnu/packages/patches/bc-fix-cross-compilation.patch171
-rw-r--r--gnu/packages/patches/boost-dumpversion.patch24
-rw-r--r--gnu/packages/patches/cmake-curl-certificates.patch10
-rw-r--r--gnu/packages/patches/cyrus-sasl-ac-try-run-fix.patch12
-rw-r--r--gnu/packages/patches/doxygen-test.patch38
-rw-r--r--gnu/packages/patches/file-CVE-2018-10360.patch27
-rw-r--r--gnu/packages/patches/file-CVE-2019-18218.patch55
-rw-r--r--gnu/packages/patches/findutils-gnulib-libio.patch114
-rw-r--r--gnu/packages/patches/findutils-makedev.patch22
-rw-r--r--gnu/packages/patches/findutils-test-xargs.patch22
-rw-r--r--gnu/packages/patches/ghostscript-no-header-id.patch14
-rw-r--r--gnu/packages/patches/giflib-make-reallocarray-private.patch120
-rw-r--r--gnu/packages/patches/glibc-CVE-2019-19126.patch22
-rw-r--r--gnu/packages/patches/gsl-test-i686.patch17
-rw-r--r--gnu/packages/patches/guile-sqlite3-fix-cross-compilation.patch55
-rw-r--r--gnu/packages/patches/libffi-3.2.1-complex-alpha.patch28
-rw-r--r--gnu/packages/patches/libxslt-generated-ids.patch6
-rw-r--r--gnu/packages/patches/python-2.7-search-paths.patch10
-rw-r--r--gnu/packages/patches/python-3-search-paths.patch11
-rw-r--r--gnu/packages/patches/python-cross-compile.patch145
-rw-r--r--gnu/packages/patches/swig-guile-gc.patch76
-rw-r--r--gnu/packages/patches/tcl-fix-cross-compilation.patch39
-rw-r--r--gnu/packages/patches/tcsh-fix-autotest.patch45
-rw-r--r--gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch31
-rw-r--r--gnu/packages/pciutils.scm18
-rw-r--r--gnu/packages/pdf.scm4
-rw-r--r--gnu/packages/perl.scm23
-rw-r--r--gnu/packages/pkg-config.scm13
-rw-r--r--gnu/packages/pulseaudio.scm22
-rw-r--r--gnu/packages/python-xyz.scm16
-rw-r--r--gnu/packages/python.scm61
-rw-r--r--gnu/packages/qt.scm6
-rw-r--r--gnu/packages/readline.scm26
-rw-r--r--gnu/packages/ruby.scm2
-rw-r--r--gnu/packages/selinux.scm42
-rw-r--r--gnu/packages/shells.scm16
-rw-r--r--gnu/packages/sqlite.scm39
-rw-r--r--gnu/packages/ssh.scm11
-rw-r--r--gnu/packages/swig.scm36
-rw-r--r--gnu/packages/tcl.scm38
-rw-r--r--gnu/packages/telephony.scm22
-rw-r--r--gnu/packages/texinfo.scm112
-rw-r--r--gnu/packages/tls.scm93
-rw-r--r--gnu/packages/version-control.scm40
-rw-r--r--gnu/packages/web.scm43
-rw-r--r--gnu/packages/xdisorg.scm2
-rw-r--r--gnu/packages/xml.scm66
-rw-r--r--gnu/packages/xorg.scm147
-rw-r--r--guix/build-system/cmake.scm9
-rw-r--r--guix/build/utils.scm99
-rw-r--r--guix/gexp.scm7
-rw-r--r--guix/profiles.scm4
110 files changed, 2057 insertions, 1427 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 9d1028a5be..efbd9067bf 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -711,7 +711,6 @@ dist_patch_DATA = \
%D%/packages/patches/arm-trusted-firmware-optional-bin-generation.patch \
%D%/packages/patches/arm-trusted-firmware-rockchip-disable-binary.patch \
%D%/packages/patches/aspell-default-dict-dir.patch \
- %D%/packages/patches/aspell-gcc-compat.patch \
%D%/packages/patches/ath9k-htc-firmware-binutils.patch \
%D%/packages/patches/ath9k-htc-firmware-gcc.patch \
%D%/packages/patches/ath9k-htc-firmware-objcopy.patch \
@@ -740,8 +739,10 @@ dist_patch_DATA = \
%D%/packages/patches/azr3.patch \
%D%/packages/patches/bash-reproducible-linux-pgrp-pipe.patch \
%D%/packages/patches/bash-completion-directories.patch \
+ %D%/packages/patches/bash-linux-pgrp-pipe.patch \
%D%/packages/patches/bastet-change-source-of-unordered_set.patch \
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
+ %D%/packages/patches/bc-fix-cross-compilation.patch \
%D%/packages/patches/beignet-correct-file-names.patch \
%D%/packages/patches/benchmark-unbundle-googletest.patch \
%D%/packages/patches/biber-fix-encoding-write.patch \
@@ -749,6 +750,7 @@ dist_patch_DATA = \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
%D%/packages/patches/blender-2.79-python-3.7-fix.patch \
+ %D%/packages/patches/boost-dumpversion.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/calibre-remove-test-bs4.patch \
@@ -791,6 +793,7 @@ dist_patch_DATA = \
%D%/packages/patches/cube-nocheck.patch \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-CVE-2017-12836.patch \
+ %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch \
%D%/packages/patches/darkice-workaround-fpermissive-error.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/dbus-c++-gcc-compat.patch \
@@ -849,11 +852,8 @@ dist_patch_DATA = \
%D%/packages/patches/fbreader-curl-7.62.patch \
%D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \
%D%/packages/patches/fifo-map-remove-catch.hpp.patch \
- %D%/packages/patches/file-CVE-2018-10360.patch \
- %D%/packages/patches/findutils-gnulib-libio.patch \
+ %D%/packages/patches/file-CVE-2019-18218.patch \
%D%/packages/patches/findutils-localstatedir.patch \
- %D%/packages/patches/findutils-makedev.patch \
- %D%/packages/patches/findutils-test-xargs.patch \
%D%/packages/patches/flann-cmake-3.11.patch \
%D%/packages/patches/flint-ldconfig.patch \
%D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \
@@ -910,7 +910,6 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
- %D%/packages/patches/giflib-make-reallocarray-private.patch \
%D%/packages/patches/glib-tests-timer.patch \
%D%/packages/patches/glibc-CVE-2015-5180.patch \
%D%/packages/patches/glibc-CVE-2015-7547.patch \
@@ -924,6 +923,7 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-CVE-2018-11237.patch \
%D%/packages/patches/glibc-CVE-2019-7309.patch \
%D%/packages/patches/glibc-CVE-2019-9169.patch \
+ %D%/packages/patches/glibc-CVE-2019-19126.patch \
%D%/packages/patches/glibc-allow-kernel-2.6.32.patch \
%D%/packages/patches/glibc-boot-2.16.0.patch \
%D%/packages/patches/glibc-boot-2.2.5.patch \
@@ -961,7 +961,6 @@ dist_patch_DATA = \
%D%/packages/patches/grep-timing-sensitive-test.patch \
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
%D%/packages/patches/grub-efi-fat-serial-number.patch \
- %D%/packages/patches/gsl-test-i686.patch \
%D%/packages/patches/gspell-dash-test.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
%D%/packages/patches/guile-2.2-default-utf8.patch \
@@ -974,6 +973,7 @@ dist_patch_DATA = \
%D%/packages/patches/guile-relocatable.patch \
%D%/packages/patches/guile-rsvg-pkgconfig.patch \
%D%/packages/patches/guile-emacs-fix-configure.patch \
+ %D%/packages/patches/guile-sqlite3-fix-cross-compilation.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk2-theme-paths.patch \
@@ -1086,7 +1086,6 @@ dist_patch_DATA = \
%D%/packages/patches/libgnome-encoding.patch \
%D%/packages/patches/libgnomeui-utf8.patch \
%D%/packages/patches/libgpg-error-gawk-compat.patch \
- %D%/packages/patches/libffi-3.2.1-complex-alpha.patch \
%D%/packages/patches/libjpeg-turbo-CVE-2019-2201.patch \
%D%/packages/patches/libjxr-fix-function-signature.patch \
%D%/packages/patches/libjxr-fix-typos.patch \
@@ -1308,6 +1307,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-CVE-2018-14647.patch \
%D%/packages/patches/python-axolotl-AES-fix.patch \
%D%/packages/patches/python-cairocffi-dlopen-path.patch \
+ %D%/packages/patches/python-cross-compile.patch \
%D%/packages/patches/python-cffi-x87-stack-clean.patch \
%D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
%D%/packages/patches/python-configobj-setuptools.patch \
@@ -1391,7 +1391,6 @@ dist_patch_DATA = \
%D%/packages/patches/superlu-dist-fix-mpi-deprecations.patch \
%D%/packages/patches/superlu-dist-scotchmetis.patch \
%D%/packages/patches/supertux-unbundle-squirrel.patch \
- %D%/packages/patches/swig-guile-gc.patch \
%D%/packages/patches/swish-e-search.patch \
%D%/packages/patches/swish-e-format-security.patch \
%D%/packages/patches/symmetrica-bruch.patch \
@@ -1405,8 +1404,8 @@ dist_patch_DATA = \
%D%/packages/patches/tar-skip-unreliable-tests.patch \
%D%/packages/patches/tcc-boot-0.9.27.patch \
%D%/packages/patches/tclxml-3.2-install.patch \
+ %D%/packages/patches/tcl-fix-cross-compilation.patch \
%D%/packages/patches/tcsh-fix-autotest.patch \
- %D%/packages/patches/tcsh-fix-out-of-bounds-read.patch \
%D%/packages/patches/teensy-loader-cli-help.patch \
%D%/packages/patches/teeworlds-use-latest-wavpack.patch \
%D%/packages/patches/texinfo-5-perl-compat.patch \
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 6afd559c9c..7d33613e64 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -682,15 +683,23 @@ binary.")
(uri (string-append "mirror://gnu/bc/bc-" version ".tar.gz"))
(sha256
(base32
- "0amh9ik44jfg66csyvf4zz1l878c4755kjndq9j0270akflgrbb2"))))
+ "0amh9ik44jfg66csyvf4zz1l878c4755kjndq9j0270akflgrbb2"))
+ (patches (search-patches "bc-fix-cross-compilation.patch"))))
(build-system gnu-build-system)
(native-inputs
- `(("ed" ,ed)
+ `(("automake" ,automake)
+ ("autoconf" ,autoconf)
+ ("ed" ,ed)
("flex" ,flex)
("texinfo" ,texinfo)))
(arguments
'(#:configure-flags
- (list "--with-readline")))
+ (list "--with-readline")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+ (lambda _
+ (invoke "autoreconf" "-vif"))))))
(home-page "https://www.gnu.org/software/bc/")
(synopsis "Arbitrary precision numeric processing language")
(description
diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index af38c149c2..56d69fdb05 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
@@ -38,7 +38,7 @@
(define-public aspell
(package
(name "aspell")
- (version "0.60.6.1")
+ (version "0.60.8")
(source
(origin
(method url-fetch)
@@ -46,9 +46,8 @@
version ".tar.gz"))
(sha256
(base32
- "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm"))
- (patches (search-patches "aspell-default-dict-dir.patch"
- "aspell-gcc-compat.patch"))))
+ "1wi60ankalmh8ds7nplz434jd7j94gdvbahdwsr539rlad8pxdzr"))
+ (patches (search-patches "aspell-default-dict-dir.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -65,14 +64,6 @@
(("\"filter-path(.*)DICT_DIR" _ middle)
(string-append "\"filter-path" middle
"\"" libdir "\"")))
- #t)))
- (add-after 'install 'wrap-aspell
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((bin/aspell (string-append (assoc-ref outputs "out")
- "/bin/aspell")))
- (wrap-program bin/aspell
- '("ASPELL_CONF" "" =
- ("${ASPELL_CONF:-\"dict-dir ${GUIX_PROFILE:-$HOME/.guix-profile}/lib/aspell\"}")))
#t))))))
(inputs `(("perl" ,perl)))
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index ceb70dfee7..98f31f6bca 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -354,21 +355,22 @@ Makefile, simplifying the entire process for the developer.")
;; XXX: There are test failures on mips64el-linux starting from 2.4.4:
;; <http://hydra.gnu.org/build/181662>.
- #:tests? ,(not (string-prefix? "mips64"
- (or (%current-target-system)
+ ;; Also, do not run tests when cross compiling
+ #:tests? ,(not (or (%current-target-system)
+ (string-prefix? "mips64"
(%current-system))))
#:phases
(modify-phases %standard-phases
(add-before 'check 'pre-check
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
;; Run the test suite in parallel, if possible.
(setenv "TESTSUITEFLAGS"
(string-append
"-j"
(number->string (parallel-job-count))))
;; Patch references to /bin/sh.
- (let ((bash (assoc-ref inputs "bash")))
+ (let ((bash (assoc-ref (or native-inputs inputs) "bash")))
(substitute* "tests/testsuite"
(("/bin/sh")
(string-append bash "/bin/sh")))
diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm
index e84fed6a71..f82a421e08 100644
--- a/gnu/packages/avahi.scm
+++ b/gnu/packages/avahi.scm
@@ -35,7 +35,6 @@
(package
(name "avahi")
(version "0.7")
- (replacement avahi/fixed)
(home-page "http://avahi.org")
(source (origin
(method url-fetch)
@@ -44,7 +43,10 @@
(sha256
(base32
"0128n7jlshw4bpx0vg8lwj8qwdisjxi7mvniwfafgnkzzrfrpaap"))
- (patches (search-patches "avahi-localstatedir.patch"))))
+ (patches (search-patches "avahi-localstatedir.patch"
+ "avahi-CVE-2018-1000845.patch"))))
+ ;; Hide a duplicate of the CVE fixed above.
+ (properties `((lint-hidden-cve . ("CVE-2017-6519"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--with-distro=none"
@@ -75,17 +77,6 @@ network. It is an implementation of the mDNS (for \"Multicast DNS\") and
DNS-SD (for \"DNS-Based Service Discovery\") protocols.")
(license lgpl2.1+)))
-(define avahi/fixed
- (package
- (inherit avahi)
- (source (origin
- (inherit (package-source avahi))
- (patches
- (append (search-patches "avahi-CVE-2018-1000845.patch")
- (origin-patches (package-source avahi))))))
- ;; Hide a duplicate of the CVE fixed above.
- (properties `((lint-hidden-cve . ("CVE-2017-6519"))))))
-
(define-public nss-mdns
(package
(name "nss-mdns")
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 7a95ae77e0..e663cdc4cb 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -230,24 +231,34 @@ backups (called chunks) to allow easy burning to CD/DVD.")
(("/bin/pwd") (which "pwd")))
#t))
(replace 'check
- (lambda _
- ;; XXX: The test_owner_parse, test_read_disk, and
- ;; test_write_disk_lookup tests expect user 'root' to exist, but
- ;; the chroot's /etc/passwd doesn't have it. Turn off those tests.
- ;;
- ;; XXX: Adjust test that fails with zstd 1.4.1 because the default
- ;; options compresses two bytes better than this test expects.
- ;; https://github.com/libarchive/libarchive/issues/1226
- (substitute* "libarchive/test/test_write_filter_zstd.c"
- (("compression-level\", \"6\"")
- "compression-level\", \"7\""))
-
- ;; The tests allow one to disable tests matching a globbing pattern.
- (invoke "make" "libarchive_test" "bsdcpio_test" "bsdtar_test")
- ;; XXX: This glob disables too much.
- (invoke "./libarchive_test" "^test_*_disk*")
- (invoke "./bsdcpio_test" "^test_owner_parse")
- (invoke "./bsdtar_test")))
+ (lambda* (#:key (tests? #t) #:allow-other-keys)
+ (if tests?
+ ;; XXX: The test_owner_parse, test_read_disk, and
+ ;; test_write_disk_lookup tests expect user 'root' to
+ ;; exist, but the chroot's /etc/passwd doesn't have
+ ;; it. Turn off those tests.
+ ;;
+ ;; XXX: Adjust test that fails with zstd 1.4.1
+ ;; because the default options compresses two bytes
+ ;; better than this test expects.
+ ;; https://github.com/libarchive/libarchive/issues/1226
+ (begin
+ (substitute* "libarchive/test/test_write_filter_zstd.c"
+ (("compression-level\", \"6\"")
+ "compression-level\", \"7\""))
+
+ ;; The tests allow one to disable tests matching a globbing pattern.
+ (invoke "make"
+ "libarchive_test"
+ "bsdcpio_test"
+ "bsdtar_test")
+
+ ;; XXX: This glob disables too much.
+ (invoke "./libarchive_test" "^test_*_disk*")
+ (invoke "./bsdcpio_test" "^test_owner_parse")
+ (invoke "./bsdtar_test"))
+ ;; Tests may be disabled if cross-compiling.
+ (format #t "Test suite not run.~%"))))
(add-after 'install 'add--L-in-libarchive-pc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index e8150708c0..a336f5e6d0 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -253,40 +253,28 @@ interactive means to merge two files.")
(define-public findutils
(package
(name "findutils")
- (version "4.6.0")
+ (version "4.7.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/findutils/findutils-"
- version ".tar.gz"))
+ version ".tar.xz"))
(sha256
(base32
- "178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y"))
- (patches (search-patches
- "findutils-gnulib-libio.patch"
- "findutils-localstatedir.patch"
- "findutils-makedev.patch"
- "findutils-test-xargs.patch"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; The gnulib test-lock test is prone to writer starvation
- ;; with our glibc@2.25, which prefers readers, so disable it.
- ;; The gnulib commit b20e8afb0b2 should fix this once
- ;; incorporated here.
- (substitute* "tests/Makefile.in"
- (("test-lock\\$\\(EXEEXT\\) ") ""))
- #t))))
+ "16kqz9yz98dasmj70jwf5py7jk558w96w0vgp3zf9xsqk3gzpzn5"))
+ (patches (search-patches "findutils-localstatedir.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list
;; Tell 'updatedb' to write to /var.
- "--localstatedir=/var"
-
- ;; Work around cross-compilation failure. See
- ;; <http://savannah.gnu.org/bugs/?27299#comment1>.
- ,@(if (%current-target-system)
- '("gl_cv_func_wcwidth_works=yes")
- '()))))
+ "--localstatedir=/var")
+ #:phases (modify-phases %standard-phases
+ (add-before 'check 'adjust-test-shebangs
+ (lambda _
+ (substitute* '("tests/xargs/verbose-quote.sh"
+ "tests/find/exec-plus-last-file.sh")
+ (("#!/bin/sh")
+ (string-append "#!" (which "sh"))))
+ #t)))))
(synopsis "Operating on files matching given criteria")
(description
"Findutils supplies the basic file directory searching utilities of the
@@ -414,14 +402,14 @@ change. GNU make offers many powerful extensions over the standard utility.")
(define-public binutils
(package
(name "binutils")
- (version "2.32")
+ (version "2.33.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/binutils/binutils-"
version ".tar.bz2"))
(sha256
(base32
- "0b8767nyal1bc4cyzg5h9iis8kpkln1i3wkamig75cifj1fb2f6y"))
+ "1cmd0riv37bqy9mwbg6n3523qgr8b3bbm5kwj19sjrasl4yq9d0c"))
(patches (search-patches "binutils-loongson-workaround.patch"))))
(build-system gnu-build-system)
@@ -567,13 +555,13 @@ the store.")
;; version 2.28, GNU/Hurd used a different glibc branch.
(package
(name "glibc")
- (version "2.29")
+ (version "2.30")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
(sha256
(base32
- "0jzh58728flfh939a8k9pi1zdyalfzlxmwra7k0rzji5gvavivpk"))
+ "1bxqpg91d02qnaz837a5kamm0f43pr1il4r9pknygywsar713i72"))
(snippet
;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is
;; required on LFS distros to avoid loading the distro's libc.so
@@ -585,9 +573,7 @@ the store.")
#t))
(modules '((guix build utils)))
(patches (search-patches "glibc-ldd-x86_64.patch"
- "glibc-CVE-2019-7309.patch"
- "glibc-CVE-2019-9169.patch"
- "glibc-2.29-git-updates.patch"
+ "glibc-CVE-2019-19126.patch"
"glibc-hidden-visibility-ldconfig.patch"
"glibc-versioned-locpath.patch"
"glibc-allow-kernel-2.6.32.patch"
@@ -819,6 +805,26 @@ with the Linux kernel.")
;; 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-public glibc-2.29
+ (package
+ (inherit glibc)
+ (version "2.29")
+ (source (origin
+ (inherit (package-source glibc))
+ (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0jzh58728flfh939a8k9pi1zdyalfzlxmwra7k0rzji5gvavivpk"))
+ (patches (search-patches "glibc-ldd-x86_64.patch"
+ "glibc-CVE-2019-7309.patch"
+ "glibc-CVE-2019-9169.patch"
+ "glibc-2.29-git-updates.patch"
+ "glibc-hidden-visibility-ldconfig.patch"
+ "glibc-versioned-locpath.patch"
+ "glibc-allow-kernel-2.6.32.patch"
+ "glibc-reinstate-prlimit64-fallback.patch"
+ "glibc-supported-locales.patch"))))))
+
(define-public glibc-2.28
(package
(inherit glibc)
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 3af13a612a..88005f4618 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -69,7 +69,11 @@
(4 "021gqqvgydixkrmqss64b6srfdlkvnx88lyfzpxfrn5d6bc7li0l")
(5 "0xl2kyzm84nlyklrqzkn73ixabhzfhn9x91lzcmis89cppclvxav")
(6 "0844749ixk1z60437nkznzms1f0nzh9an62kj7sny6r0zyk2k1fn")
- (7 "16xg37gp1b8zlj5969w8mcrparwqlcbj9695vn3qhgb7wdz1xd0p")))
+ (7 "16xg37gp1b8zlj5969w8mcrparwqlcbj9695vn3qhgb7wdz1xd0p")
+ (8 "1qyp19krjh8zxvb0jgwmyjz40djslwcf4xi7kc1ab0iaca44bipf")
+ (9 "00yrjjqd95s81b21qq3ba1y7h879q8jaajlkjggc6grhcwbs4g7d")
+ (10 "04ca5bjv456v538mkspzvn4xb2zdphh31r4fpvfm9p5my0jw7yyn")
+ (11 "1sklyixvsv8993kxzs0jigacpdchjrq7jv5xpdx7kbqyp4rf6k9c")))
(define (download-patches store count)
"Download COUNT Bash patches into store. Return a list of
@@ -116,7 +120,8 @@ number/base32-hash tuples, directly usable in the 'patch-series' form."
(base32
"0kgvfwqdcd90waczf4gx39xnrxzijhjrzyzv7s8v4w31qqm0za5l"))
(patch-flags '("-p0"))
- (patches %patch-series-5.0)))
+ (patches (cons (search-patch "bash-linux-pgrp-pipe.patch")
+ %patch-series-5.0))))
(version (string-append version "." (number->string (length %patch-series-5.0))))
(build-system gnu-build-system)
diff --git a/gnu/packages/bison.scm b/gnu/packages/bison.scm
index 12f19b785e..eae8673edc 100644
--- a/gnu/packages/bison.scm
+++ b/gnu/packages/bison.scm
@@ -31,7 +31,7 @@
(define-public bison
(package
(name "bison")
- (version "3.4.1")
+ (version "3.5")
(source
(origin
(method url-fetch)
@@ -39,7 +39,7 @@
version ".tar.xz"))
(sha256
(base32
- "03c2pmq3bs0drdislnz6gm1rwz3n4pb2rz9navyxydppxg2rl597"))))
+ "0hd6lgkxb9i46alcwn87jygs53q4vkq7k0jzb84ikbdln4is1r2m"))))
(build-system gnu-build-system)
(arguments
'(;; Building in parallel on many-core systems may cause an error such as
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index 0a2a5c5c01..3665dccb56 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
@@ -55,6 +56,8 @@
(string-append "https://dl.bintray.com/boostorg/release/"
version "/source/boost_"
version-with-underscores ".tar.bz2"))))
+ (patches
+ (search-patches "boost-dumpversion.patch"))
(sha256
(base32
"0y47nc7w0arwgj4x1phadxbvl7wyfcgknbz5kv8lzpl98wsyh2j3"))))
@@ -63,7 +66,9 @@
("zlib" ,zlib)))
(native-inputs
`(("perl" ,perl)
- ("python" ,python-2)
+ ,@(if (%current-target-system)
+ '()
+ `(("python" ,python-2)))
("tcsh" ,tcsh)))
(arguments
`(#:tests? #f
@@ -77,7 +82,24 @@
;; Set the RUNPATH to $libdir so that the libs find each other.
(string-append "linkflags=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib"))
+ (assoc-ref %outputs "out") "/lib")
+ ,@(if (%current-target-system)
+ `("--user-config=user-config.jam"
+ ;; Python is not supported when cross-compiling.
+ "--without-python"
+ "binary-format=elf"
+ "target-os=linux"
+ ,@(cond
+ ((string-prefix? "arm" (%current-target-system))
+ '("abi=aapcs"
+ "address-model=32"
+ "architecture=arm"))
+ ((string-prefix? "aarch64" (%current-target-system))
+ '("abi=aapcs"
+ "address-model=64"
+ "architecture=arm"))
+ (else '())))
+ '()))
#:phases
(modify-phases %standard-phases
(delete 'bootstrap)
@@ -95,6 +117,14 @@
(setenv "SHELL" (which "sh"))
(setenv "CONFIG_SHELL" (which "sh"))
+ ,@(if (%current-target-system)
+ `((call-with-output-file "user-config.jam"
+ (lambda (port)
+ (format port
+ "using gcc : cross : ~a-c++ ;"
+ ,(%current-target-system)))))
+ '())
+
(invoke "./bootstrap.sh"
(string-append "--prefix=" out)
;; Auto-detection looks for ICU only in traditional
@@ -109,17 +139,20 @@
(replace 'install
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "./b2" "install" make-flags)))
- (add-after 'install 'provide-libboost_python
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- ;; Boost can build support for both Python 2 and Python 3 since
- ;; version 1.67.0, and suffixes each library with the Python
- ;; version. Many consumers only check for libboost_python
- ;; however, so we provide it here as suggested in
- ;; <https://github.com/boostorg/python/issues/203>.
- (with-directory-excursion (string-append out "/lib")
- (symlink "libboost_python27.so" "libboost_python.so"))
- #t))))))
+ ,@(if (%current-target-system)
+ '()
+ '((add-after 'install 'provide-libboost_python
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; Boost can build support for both Python 2 and
+ ;; Python 3 since version 1.67.0, and suffixes each
+ ;; library with the Python version. Many consumers
+ ;; only check for libboost_python however, so we
+ ;; provide it here as suggested in
+ ;; <https://github.com/boostorg/python/issues/203>.
+ (with-directory-excursion (string-append out "/lib")
+ (symlink "libboost_python27.so" "libboost_python.so"))
+ #t))))))))
(home-page "https://www.boost.org")
(synopsis "Peer-reviewed portable C++ source libraries")
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 342f5f59cd..cffe59f309 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -168,7 +168,7 @@ files and generates build instructions for the Ninja build system.")
(define-public meson
(package
(name "meson")
- (version "0.50.1")
+ (version "0.52.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
@@ -176,7 +176,7 @@ files and generates build instructions for the Ninja build system.")
version ".tar.gz"))
(sha256
(base32
- "1k2fw5qk4mqjcb4j5dhp8xfn0caqphb11yh8zkw7v9w01kb5d3zn"))))
+ "0df0iw94cx6jiqd0liw8ax1by3dqaw6fdqrxgr9sal4rwir789qc"))))
(build-system python-build-system)
(arguments
`(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index e2c244c1a7..806a7396e9 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -50,7 +51,7 @@
(define-public cmake-minimal
(package
(name "cmake-minimal")
- (version "3.15.1")
+ (version "3.16.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.cmake.org/files/v"
@@ -58,7 +59,7 @@
"/cmake-" version ".tar.gz"))
(sha256
(base32
- "1xyprly3sf4wi0n1x79k4n22yxm6pb7fv70gqr9lvc7qv14cbphq"))
+ "0pwcgvk75577rdizpzjrk2n43a6l7rvfhmhn7sd6xarwqrb6b9bd"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -74,7 +75,8 @@
"cmliblzma"
;; "cmlibuv"
"cmzlib"))
- #t)))))
+ #t)))
+ (patches (search-patches "cmake-curl-certificates.patch"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -99,6 +101,8 @@
(let ((skipped-tests
(list "BundleUtilities" ; This test fails on Guix.
"CTestTestSubdir" ; This test fails to build 2 of the 3 tests.
+ ;; This test requires 'ldconfig' which is not available in Guix.
+ "RunCMake.install"
;; These tests requires network access.
"CTestCoverageCollectGCOV"
"CTestTestUpload")))
@@ -123,7 +127,7 @@
;; files.
(substitute*
'("Modules/CompilerId/Xcode-3.pbxproj.in"
- "Modules/CPack.RuntimeScript.in"
+ "Modules/Internal/CPack/CPack.RuntimeScript.in"
"Source/cmGlobalXCodeGenerator.cxx"
"Source/cmLocalUnixMakefileGenerator3.cxx"
"Source/cmExecProgramCommand.cxx"
@@ -145,16 +149,17 @@
(replace 'configure
(lambda* (#:key (configure-flags '()) #:allow-other-keys)
(apply invoke "./configure" configure-flags))))))
- (inputs
+ (native-inputs
`(("bzip2" ,bzip2)
("curl" ,curl)
("expat" ,expat)
("file" ,file)
("libarchive" ,libarchive)
("libuv" ,libuv)
- ("ncurses" ,ncurses) ; required for ccmake
("rhash" ,rhash)
("zlib" ,zlib)))
+ (inputs
+ `(("ncurses" ,ncurses))) ; required for ccmake
(native-search-paths
(list (search-path-specification
(variable "CMAKE_PREFIX_PATH")
@@ -207,33 +212,13 @@ and workspaces that can be used in the compiler environment of your choice.")
(outputs '("out" "doc"))
(properties (alist-delete 'hidden? (package-properties cmake-minimal)))))
-(define-public cmake/fixed
- ;; This is a variant of CMake that fixes X.509 certificate lookup:
- ;; <https://issues.guix.gnu.org/issue/37371>.
- (package
- (inherit cmake)
- (version (string-append (package-version cmake) "-1"))
- (source (origin
- (inherit (package-source cmake))
- (patches
- (append (search-patches "cmake-curl-certificates.patch")
- (origin-patches (package-source cmake))))))))
-
-(define-public cmake-3.15.5
- ;; CMake 3.15.5 fixes some issues, but declare another version to
- ;; avoid triggering the rebuild of all CMake-based packages.
- ;; See <https://issues.guix.gnu.org/issue/38060>.
+(define-public cmake-minimal-cross
(package
- (inherit cmake)
- (version "3.15.5")
- (source (origin
- (inherit (package-source cmake))
- (uri (string-append "https://www.cmake.org/files/v"
- (version-major+minor version)
- "/cmake-" version ".tar.gz"))
- (sha256
- (base32
- "1d5y8d92axcc6rfqlsxamayfs3fc1vdby91hn5mx1kn02ppprpgv"))))))
+ (inherit cmake-minimal)
+ (name "cmake-minimal-cross")
+ (native-search-paths '())
+ (search-paths
+ (package-native-search-paths cmake-minimal))))
(define-public emacs-cmake-mode
(package
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 021181bd8f..35d81d95dc 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -30,6 +30,7 @@
(define-module (gnu packages code)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
@@ -659,9 +660,24 @@ the C, C++, C++/CLI, Objective‑C, C#, and Java programming languages.")
;; overrides this to be in PREFIX/doc. Fix this.
(substitute* "doc/Makefile.in"
(("^docdir = .*$") "docdir = @docdir@\n"))
+ #t))
+ (add-after 'unpack 'fix-configure
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.sub and config.guess:
+ (with-directory-excursion "config"
+ (for-each (lambda (file)
+ (install-file
+ (string-append (assoc-ref
+ (or native-inputs inputs) "automake")
+ "/share/automake-"
+ ,(version-major+minor
+ (package-version automake))
+ "/" file) "."))
+ '("config.sub" "config.guess")))
#t)))))
(native-inputs
- `(("texinfo" ,texinfo)))
+ `(("texinfo" ,texinfo)
+ ("automake" ,automake))) ; For up to date 'config.guess' and 'config.sub'.
(synopsis "Code reformatter")
(description
"Indent is a program that makes source code easier to read by
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 14ecf246d4..973e57c154 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1452,7 +1452,15 @@ exec " gcc "/bin/" program
(arguments
`(#:implicit-inputs? #f
#:guile ,%bootstrap-guile
- ,@(package-arguments findutils)))))
+
+ ;; The build system assumes we have done a mistake when time_t is 32-bit
+ ;; on a 64-bit system. Ignore that for our bootstrap toolchain.
+ ,@(if (target-64bit?)
+ (substitute-keyword-arguments (package-arguments findutils)
+ ((#:configure-flags flags ''())
+ `(cons "TIME_T_32_BIT_OK=yes"
+ ,flags)))
+ (package-arguments findutils))))))
(define file-boot0
(package
@@ -1718,20 +1726,13 @@ exec " gcc "/bin/" program
#:implicit-inputs? #f
,@(package-arguments m4)))))
-(define m4-boot0*
- (package
- ;; TODO: On the next rebuild cycle, use M4-BOOT0 as is.
- (inherit m4-boot0)
- (name "m4")))
-
(define bison-boot0
;; This Bison is needed to build MiG so we need it early in the process.
;; Recent versions of Linux-Libre headers also depend on this.
(package
(inherit bison)
- ;; TODO: On the next build cycle, do:
- ;;(name "bison-boot0")
- (propagated-inputs `(("m4" ,m4-boot0*)))
+ (name "bison-boot0")
+ (propagated-inputs `(("m4" ,m4-boot0)))
(native-inputs `(("perl" ,perl-boot0)))
(inputs (%boot0-inputs)) ;remove Flex...
(arguments
@@ -1739,17 +1740,6 @@ exec " gcc "/bin/" program
#:implicit-inputs? #f
#:guile ,%bootstrap-guile
- ;; XXX: These flags should be unconditional, but for now
- ;; we just add them on x86 to avoid a full rebuild.
- ;; TODO: On the next core-updates, use
- ;; 'substitute-keyword-arguments' to inherit them from
- ;; BISON.
- ,@(if (member (%current-system)
- '("x86_64-linux" "i686-linux"))
- '(#:parallel-build? #f
- #:parallel-tests? #f)
- '())
-
;; Zero timestamps in liby.a; this must be done
;; explicitly here because the bootstrap Binutils don't
;; do that (default is "cru".)
@@ -1760,19 +1750,16 @@ exec " gcc "/bin/" program
"RANLIB=ranlib")
(_
"RANLIB=ranlib -D"))
- "V=1")))))
+ "V=1")
+
+ ,@(package-arguments bison)))))
(define flex-boot0
;; This Flex is needed to build MiG as well as Linux-Libre headers.
(package
(inherit flex)
(native-inputs `(("bison" ,bison-boot0)))
- (propagated-inputs
- ;; XXX: Here we use an 'm4-boot0' package that's not eq? so that it
- ;; appears twice in '%build-inputs', like when we were using
- ;; 'package-with-explicit-inputs'.
- ;; TODO: Remove this hack on the next rebuild cycle.
- `(("m4" ,(package (inherit m4-boot0*)))))
+ (propagated-inputs `(("m4" ,m4-boot0)))
(inputs (%boot0-inputs))
(arguments
`(#:implicit-inputs? #f
@@ -2400,9 +2387,6 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define gnu-make-final
;; The final GNU Make, which uses the final Guile.
- ;; FIXME: This is a mistake: we shouldn't be propagating GUILE-FINAL to
- ;; PKG-CONFIG.
- ;; TODO: Fix that on the next rebuild cycle.
(let ((pkg-config (package
(inherit %pkg-config) ;the native pkg-config
(inputs `(("guile" ,guile-final)
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index cf23e88547..888401125b 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1371,18 +1371,18 @@ or junctions, and always follows hard links.")
(define-public zstd
(package
(name "zstd")
- (version "1.4.2")
+ (version "1.4.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/facebook/zstd/releases/download/"
"v" version "/zstd-" version ".tar.gz"))
(sha256
- (base32 "1ja3nrjynmiwwdjrf6crraizkbagp7y414bqqq2ady91nn1hjwqj"))))
+ (base32 "05ckxap00qvc0j51d3ci38150cxsw82w7s9zgd5fgzspnzmp1vsr"))))
(build-system gnu-build-system)
- (outputs '("out" ;1.1MiB executables and documentation
- "lib" ;1MiB shared library and headers
- "static")) ;1MiB static library
+ (outputs '("out" ;1.2MiB executables and documentation
+ "lib" ;1.2MiB shared library and headers
+ "static")) ;1.2MiB static library
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -1402,12 +1402,10 @@ or junctions, and always follows hard links.")
(delete-file ar))
(find-files shared-libs "\\.a$"))
- ;; While here, remove prefix= from the pkg-config file because it
- ;; is unused, and because it contains a needless reference to $out.
- ;; XXX: It would be great if #:disallow-references worked between
- ;; outputs.
+ ;; Make sure the pkg-config file refers to the right output.
(substitute* (string-append shared-libs "/pkgconfig/libzstd.pc")
- (("^prefix=.*") ""))
+ (("^prefix=.*")
+ (string-append "prefix=" lib "\n")))
#t))))
#:make-flags
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index aa5d24c401..a05c8e2c79 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -50,15 +50,14 @@
(define-public curl
(package
(name "curl")
- (version "7.65.3")
- (replacement curl-7.66.0)
+ (version "7.67.0")
(source (origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.xz"))
(sha256
(base32
- "1sjz4fq7jg96mpmpqq82nd61njna6jp3c4m9yrbx2j1rh5a8ingj"))))
+ "0v2k1v28ams5fa9gkybmnpnlkfqa2im5diywa8wqqcvr0crfglpm"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;1.2 MiB of man3 pages
@@ -143,18 +142,6 @@ tunneling, and so on.")
"See COPYING in the distribution."))
(home-page "https://curl.haxx.se/")))
-(define curl-7.66.0
- (package
- (inherit curl)
- (version "7.66.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://curl.haxx.se/download/curl-"
- version ".tar.xz"))
- (sha256
- (base32
- "1hcqxpibhknhjy56wcxz5vd6m9ggx3ykwp3wp5wx05ih36481d6v"))))))
-
(define-public kurly
(package
(name "kurly")
diff --git a/gnu/packages/cyrus-sasl.scm b/gnu/packages/cyrus-sasl.scm
index f84136e631..3e65a1faf6 100644
--- a/gnu/packages/cyrus-sasl.scm
+++ b/gnu/packages/cyrus-sasl.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2013, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,6 +21,7 @@
(define-module (gnu packages cyrus-sasl)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages dbm)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages tls)
@@ -41,8 +43,13 @@
"ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-"
version ".tar.gz")))
(sha256 (base32
- "1m85zcpgfdhm43cavpdkhb1s2zq1b31472hq1w1gs3xh94anp1i6"))))
+ "1m85zcpgfdhm43cavpdkhb1s2zq1b31472hq1w1gs3xh94anp1i6"))
+ (patches (search-patches "cyrus-sasl-ac-try-run-fix.patch"))))
(build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
(inputs `(("gdbm" ,gdbm)
("openssl" ,openssl)))
(propagated-inputs
@@ -57,7 +64,13 @@
;; 'plugin_common.c'. When building the shared libraries there, libtool
;; ends up doing "ln -s plugin_common.lo plugin_common.o", which can
;; fail with EEXIST when building things in parallel.
- #:parallel-build? #f))
+ #:parallel-build? #f
+
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+ (lambda _
+ (invoke "autoreconf" "-vif"))))))
(synopsis "Simple Authentication Security Layer implementation")
(description
"SASL (Simple Authentication Security Layer) is an Internet
diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm
index 5191c475c2..ea812c9715 100644
--- a/gnu/packages/dbm.scm
+++ b/gnu/packages/dbm.scm
@@ -55,7 +55,7 @@
#:phases
(modify-phases %standard-phases
(replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
+ (lambda* (#:key target outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
;; '--docdir' is not honored, so we need to patch.
@@ -74,6 +74,10 @@
'("--build=aarch64-unknown-linux-gnu")
'())
+ ,@(if (%current-target-system) ; cross building
+ '((string-append "--host=" target))
+ '())
+
;; Remove 7 MiB of .a files.
"--disable-static"
@@ -134,7 +138,8 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(sha256
(base32
"1p4ibds6z3ccy65lkmd6lm7js0kwifvl53r0fd759fjxgr917rl6"))))
- (arguments `(#:configure-flags '("--enable-libgdbm-compat")))
+ (arguments `(#:configure-flags '("--enable-libgdbm-compat"
+ "--disable-static")))
(build-system gnu-build-system)
(home-page "http://www.gnu.org.ua/software/gdbm")
(synopsis
diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index 19c42b00eb..c512a9803b 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,6 +32,7 @@
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages python)
#:use-module (gnu packages bison)
@@ -123,7 +125,7 @@ markup) can be customized and extended by the user.")
(define-public doxygen
(package
(name "doxygen")
- (version "1.8.15")
+ (version "1.8.16")
(home-page "http://www.doxygen.nl/")
(source (origin
(method url-fetch)
@@ -134,7 +136,7 @@ markup) can be customized and extended by the user.")
".src.tar.gz")))
(sha256
(base32
- "0p94b4yb6bk2dxzs5kyl82xxgq2qakgbx5yy3ssbbadncb20x75x"))
+ "10iwv8bcz5b5cd85gg8pgn0bmyg04n9hs36xn7ggjjnvynv1z67z"))
(patches (search-patches "doxygen-test.patch"))))
(build-system cmake-build-system)
(native-inputs
@@ -145,8 +147,23 @@ markup) can be customized and extended by the user.")
(inputs
`(("bash" ,bash-minimal)))
(arguments
- `(#:test-target "tests"
+ ;; Force cmake to use iconv header from cross-libc instead of the one
+ ;; from native libc.
+ `(,@(if (%current-target-system)
+ '(#:configure-flags
+ (list (string-append "-DICONV_INCLUDE_DIR="
+ (assoc-ref %build-inputs "cross-libc")
+ "/include")))
+ '())
+ #:test-target "tests"
#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'remove-git-requirement
+ (lambda _
+ ;; TODO: Remove this for > 1.8.16.
+ (substitute* "cmake/git_watcher.cmake"
+ (("Git QUIET REQUIRED")
+ "Git QUIET"))
+ #t))
(add-before 'configure 'patch-sh
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/portable.cpp"
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index be7bec8df6..c591a608eb 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -9521,15 +9521,12 @@ It should enable you to implement low-level X11 applications.")
;; Add a .desktop file to xsessions
(mkdir-p xsessions)
(mkdir-p bin)
- (with-output-to-file
- (string-append xsessions "/exwm.desktop")
- (lambda _
- (format #t "[Desktop Entry]~@
- Name=~a~@
- Comment=~a~@
- Exec=~a~@
- TryExec=~:*~a~@
- Type=Application~%" ,name ,synopsis exwm-executable)))
+ (make-desktop-entry-file
+ (string-append xsessions "/exwm.desktop")
+ #:name ,name
+ #:comment ,synopsis
+ #:exec exwm-executable
+ #:try-exec exwm-executable)
;; Add a shell wrapper to bin
(with-output-to-file exwm-executable
(lambda _
diff --git a/gnu/packages/file.scm b/gnu/packages/file.scm
index 9ba51d1b74..cf770297c4 100644
--- a/gnu/packages/file.scm
+++ b/gnu/packages/file.scm
@@ -30,15 +30,15 @@
(define-public file
(package
(name "file")
- (version "5.33")
+ (version "5.37")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.astron.com/pub/file/file-"
version ".tar.gz"))
- (patches (search-patches "file-CVE-2018-10360.patch"))
+ (patches (search-patches "file-CVE-2019-18218.patch"))
(sha256
(base32
- "1iipnwjkag7q04zjkaqic41r9nlw0ml6mhqian6qkkbisb1whlhw"))))
+ "0zz0p9bqnswfx0c16j8k62ivjq1m16x10xqv4hy9lcyxyxkkkhg9"))))
(build-system gnu-build-system)
;; When cross-compiling, this package depends upon a native install of
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 12b40389d0..c4bcf19d17 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -59,7 +60,7 @@
'(#:phases
(modify-phases %standard-phases
(add-before 'configure 'pre-configure
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
(chdir "target_firmware")
;; 'configure' is a simple script that runs 'cmake' with
@@ -67,7 +68,7 @@
(substitute* "configure"
(("^TOOLCHAIN=.*$")
(string-append "TOOLCHAIN="
- (assoc-ref inputs "cross-gcc")
+ (assoc-ref (or native-inputs inputs) "cross-gcc")
"\n")))
#t))
(replace 'install
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index aba6f07537..97d4cae872 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -525,16 +525,18 @@ using the above tables.")
(define-public libspiro
(package
(name "libspiro")
- (version "0.5.20150702")
+ (version "20190731")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/fontforge/libspiro/releases"
- "/download/" version "/libspiro-dist-" version ".tar.gz"))
+ "/download/" version "/libspiro-" version ".tar.gz"))
(sha256
(base32
- "153ckwj6h3wwlsgcppzqj8cymv1927hi8ar8fzpchq5q89cj2kai"))))
+ "0m63x97b7aciviijprvy85gm03p2jsgslxn323zl9zn7qz6d3ir4"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(synopsis "Clothoid to bezier conversion library")
(description
"Raph Levien's Spiro package as a library. A mechanism for drawing
@@ -762,7 +764,7 @@ maintain the Noto Fonts project.")
("desktop-file-utils" ,desktop-file-utils)))
(inputs
`(("json-glib" ,json-glib)
- ("sqlite-with-column-metadata" ,sqlite-with-column-metadata)
+ ("sqlite" ,sqlite)
("fonconfig" ,fontconfig)
("freetype" ,freetype)
("gtk+" ,gtk+)))
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index a26cbea542..2096cdb49f 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -555,7 +555,7 @@ Python.")
(define-public wayland
(package
(name "wayland")
- (version "1.17.0")
+ (version "1.18.0")
(source (origin
(method url-fetch)
(uri (string-append "https://wayland.freedesktop.org/releases/"
diff --git a/gnu/packages/fribidi.scm b/gnu/packages/fribidi.scm
index 61aa6fd726..b6cabdc4b0 100644
--- a/gnu/packages/fribidi.scm
+++ b/gnu/packages/fribidi.scm
@@ -27,9 +27,8 @@
(define-public fribidi
(package
- (replacement fribidi/fixed)
(name "fribidi")
- (version "1.0.5")
+ (version "1.0.7")
(source
(origin
(method url-fetch)
@@ -38,7 +37,8 @@
"/download/v" version "/fribidi-" version
".tar.bz2"))
(sha256
- (base32 "1kp4b1hpx2ky20ixgy2xhj5iygfl7ps5k9kglh1z5i7mhykg4r3a"))))
+ (base32 "0pckda4fcn0aw32lpycwdp25r2m7vca8zspq815ppi9gkwgg5das"))
+ (patches (search-patches "fribidi-CVE-2019-18397.patch"))))
(build-system gnu-build-system)
(synopsis "Implementation of the Unicode bidirectional algorithm")
(description
@@ -47,10 +47,3 @@ Algorithm. This algorithm is used to properly display text in left-to-right
or right-to-left ordering as necessary.")
(home-page "https://github.com/fribidi/fribidi")
(license lgpl2.1+)))
-
-(define fribidi/fixed
- (package
- (inherit fribidi)
- (source
- (origin (inherit (package-source fribidi))
- (patches (search-patches "fribidi-CVE-2019-18397.patch"))))))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 80ea82c123..6e6490412d 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5283,19 +5283,13 @@ Crowther & Woods, its original authors, in 1995. It has been known as
(copy-recursively "game" (string-append data "/game"))
;; launcher
(mkdir-p applications)
- (with-output-to-file (string-append applications "/"
- ,name ".desktop")
- (lambda ()
- (display
- (string-append
- "[Desktop Entry]
-Name=ToME4
-Comment=" ,synopsis "\n"
-"Exec=" ,name "\n"
-"Icon=" icon "\n"
-"Terminal=false
-Type=Application
-Categories=Game;RolePlaying;\n")))))
+ (make-desktop-entry-file
+ (string-append applications "/" ,name ".desktop")
+ #:name "ToME4"
+ #:comment ,synopsis
+ #:exec ,name
+ #:icon icon
+ #:categories '("Game" "RolePlaying")))
#t)))))
(home-page "https://te4.org")
(description "Tales of Maj’Eyal (ToME) RPG, featuring tactical turn-based
@@ -7580,22 +7574,18 @@ on items and player adaptability for character progression.")
;; game, so we borrow SCUMMVM's.
(let ((apps (string-append out "/share/applications")))
(mkdir-p apps)
- (with-output-to-file (string-append apps "/drascula.desktop")
- (lambda _
- (format #t
- "[Desktop Entry]~@
- Name=Drascula: The Vampire Strikes Back~@
- GenericName=Drascula~@
- Exec=~a/bin/drascula~@
- Icon=~a/share/icons/hicolor/scalable/apps/scummvm.svg~@
- Categories=AdventureGame;Game;RolePlaying;~@
- Keywords=game;adventure;roleplaying;2D,fantasy;~@
- Comment=Classic 2D point and click adventure game~@
- Comment[de]=klassisches 2D-Abenteuerspiel in Zeigen-und-Klicken-Manier~@
- Comment[fr]=Jeux classique d'aventure pointer-et-cliquer en 2D~@
- Comment[it]=Gioco classico di avventura punta e clicca 2D~@
- Type=Application~%"
- out scummvm))))
+ (make-desktop-entry-file
+ (string-append apps "/drascula.desktop")
+ #:name "Drascula: The Vampire Strikes Back"
+ #:generic-name "Drascula"
+ #:exec (string-append out "/bin/drascula")
+ #:icon (string-append scummvm "/share/icons/hicolor/scalable/apps/scummvm.svg")
+ #:categories '("AdventureGame" "Game" "RolePlaying")
+ #:keywords '("game" "adventure" "roleplaying" "2D" "fantasy")
+ #:comment '((#f "Classic 2D point and click adventure game")
+ ("de" "Klassisches 2D-Abenteuerspiel in Zeigen-und-Klicken-Manier")
+ ("fr" "Jeu classique d'aventure pointer-et-cliquer en 2D")
+ ("it" "Gioco classico di avventura punta e clicca 2D"))))
#t))))
(native-inputs
`(("bash" ,bash)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 29b9d34569..40cc9ed631 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -491,14 +491,14 @@ Go. It also includes runtime support libraries for these languages.")
(define-public gcc-7
(package
(inherit gcc-6)
- (version "7.4.0")
+ (version "7.5.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
- "0lgy170b0pp60j9cczqkmaqyjjb584vfamj4c30swd7k0j6y5pgd"))
+ "0qg6kqc5l72hpnj4vr6l0p69qav0rh4anlkk3y55540zy3klc6dq"))
(patches (search-patches "gcc-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch"))))
(description
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index 3b74a96966..72a38fddf5 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -84,6 +85,24 @@ Consortium standard (ICC), approved as ISO 15076-1.")
(sha256 (base32
"0zhcx67afb6b5r936w5jmaydj3ks8zh83n9rm5sv3m3k8q8jib1q"))))
(build-system gnu-build-system)
+ (native-inputs
+ `(("automake" ,automake))) ; For up to date 'config.guess' and 'config.sub'.
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-configure
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.sub and config.guess:
+ (for-each (lambda (file)
+ (install-file
+ (string-append (assoc-ref
+ (or native-inputs inputs) "automake")
+ "/share/automake-"
+ ,(version-major+minor
+ (package-version automake))
+ "/" file) "."))
+ '("config.sub" "config.guess"))
+ #t)))))
(synopsis "Library for handling paper sizes")
(description
"The paper library and accompanying files are intended to provide a simple
@@ -137,13 +156,7 @@ printing, and psresize, for adjusting page sizes.")
(define-public ghostscript
(package
(name "ghostscript")
- (version "9.27")
-
- ;; The problems addressed by GHOSTSCRIPT/FIXED are not security-related,
- ;; but they have a significant impact on usability, hence this graft.
- ;; TODO: Ungraft on next update cycle.
- (replacement ghostscript/fixed)
-
+ (version "9.50")
(source
(origin
(method url-fetch)
@@ -153,7 +166,7 @@ printing, and psresize, for adjusting page sizes.")
"/ghostscript-" version ".tar.xz"))
(sha256
(base32
- "06dnj0mxyaryfbwlsjwaqf847w91w2h8f108kxxcc41nrnx1y3zw"))
+ "1m770dwc82afdgzgq2kar3120r1lbybm3mssdm79f8kggf0v16yv"))
(patches (search-patches "ghostscript-no-header-creationdate.patch"
"ghostscript-no-header-id.patch"
"ghostscript-no-header-uuid.patch"))
@@ -186,6 +199,10 @@ printing, and psresize, for adjusting page sizes.")
(string-append "ZLIBDIR="
(assoc-ref %build-inputs "zlib") "/include")
"--enable-dynamic"
+ "--disable-compile-inits"
+ (string-append "--with-fontpath="
+ (assoc-ref %build-inputs "gs-fonts")
+ "/share/fonts/type1/ghostscript")
,@(if (%current-target-system)
'(;; Specify the native compiler, which is used to build 'echogs'
@@ -249,6 +266,7 @@ printing, and psresize, for adjusting page sizes.")
#t))))))
(native-inputs
`(("perl" ,perl)
+ ("pkg-config" ,pkg-config) ;needed for freetype
("python" ,python-wrapper)
("tcl" ,tcl)
@@ -259,7 +277,9 @@ printing, and psresize, for adjusting page sizes.")
("libjpeg/native" ,libjpeg))
'())))
(inputs
- `(("freetype" ,freetype)
+ `(("fontconfig" ,fontconfig)
+ ("freetype" ,freetype)
+ ("gs-fonts" ,gs-fonts)
("jbig2dec" ,jbig2dec)
("libjpeg" ,libjpeg)
("libpaper" ,libpaper)
@@ -275,25 +295,6 @@ output file formats and printers.")
(home-page "https://www.ghostscript.com/")
(license license:agpl3+)))
-(define ghostscript/fixed
- ;; This adds the Freetype dependency (among other things), which fixes the
- ;; rendering issues described in <https://issues.guix.gnu.org/issue/34877>.
- (package/inherit
- ghostscript
- (arguments
- (substitute-keyword-arguments (package-arguments ghostscript)
- ((#:configure-flags flags ''())
- `(append (list "--disable-compile-inits"
- (string-append "--with-fontpath="
- (assoc-ref %build-inputs "gs-fonts")
- "/share/fonts/type1/ghostscript"))
- ,flags))))
- (native-inputs `(("pkg-config" ,pkg-config) ;needed for freetype
- ,@(package-native-inputs ghostscript)))
- (inputs `(("gs-fonts" ,gs-fonts)
- ("fontconfig" ,fontconfig)
- ,@(package-inputs ghostscript)))))
-
(define-public ghostscript/x
(package/inherit ghostscript
(name (string-append (package-name ghostscript) "-with-x"))
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 528b67e6cf..369bd373ac 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -105,6 +105,9 @@
;; Install the session bus socket under /tmp.
"--with-session-socket-dir=/tmp"
+ ;; Build shared libraries only.
+ "--disable-static"
+
;; Use /etc/dbus-1 for system-wide config.
;; Look for configuration file under
;; /etc/dbus-1. This is notably required by
@@ -199,11 +202,17 @@ shared NFS home directories.")
("perl" ,perl) ; needed by GIO tests
("tzdata" ,tzdata-for-tests))) ; for tests/gdatetime.c
(arguments
- `(;; TODO: Uncomment on the next rebuild cycle.
- ;; #:disallowed-references (,tzdata-for-tests)
-
+ `(#:disallowed-references (,tzdata-for-tests)
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-dbus-launch-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((dbus (assoc-ref inputs "dbus")))
+ (substitute* "gio/gdbusaddress.c"
+ (("command_line = g_strdup_printf \\(\"dbus-launch")
+ (string-append "command_line = g_strdup_printf (\""
+ dbus "/bin/dbus-launch")))
+ #t)))
(add-before 'build 'pre-build
(lambda* (#:key inputs outputs #:allow-other-keys)
;; For tests/gdatetime.c.
@@ -529,16 +538,6 @@ information in their documents, such as whether a particular element should be
translated.")
(license license:gpl3+)))
-(define-public itstool/fixed
- ;; This variant fixes a python-libxml2 crash when processing UTF-8
- ;; sequences: <https://bugs.gnu.org/37468>. Since the issue is quite rare,
- ;; create this variant here to avoid a full rebuild.
- (package/inherit
- itstool
- (inputs
- `(("python-libxml2" ,python-libxml2/fixed)
- ,@(alist-delete "python-libxml2" (package-inputs itstool))))))
-
(define dbus-glib
(package
(name "dbus-glib")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index e0712bf99a..dd9ac29f4e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2534,7 +2534,7 @@ Hints specification (EWMH).")
`(("bison" ,bison)
("docbook-xml" ,docbook-xml)
("intltool" ,intltool)
- ("itstool" ,itstool/fixed) ;see <https://bugs.gnu.org/37468>
+ ("itstool" ,itstool)
("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)))
(home-page "http://www.gnumeric.org")
@@ -5070,17 +5070,6 @@ lifting is done by packages like yelp-xsl and itstool. This package just
wraps things up in a developer-friendly way.")
(license license:gpl2+)))
-(define-public yelp-tools/fixed
- ;; This variant fixes a python-libxml2 crash when processing UTF-8
- ;; sequences: <https://bugs.gnu.org/37468>. TODO: Remove this in
- ;; the next rebuild cycle.
- (hidden-package
- (package/inherit
- yelp-tools
- (propagated-inputs
- `(("itstool" ,itstool/fixed)
- ,@(alist-delete "itstool" (package-propagated-inputs yelp-tools)))))))
-
(define-public libgee
(package
(name "libgee")
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index b31280e39b..4e8869a658 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -97,6 +98,31 @@
(("namespace=errnos") "pkg_namespace=errnos"))
#t))))
(build-system gnu-build-system)
+ (arguments
+ (if (%current-target-system)
+ `(#:modules ((ice-9 match)
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:phases
+ (modify-phases %standard-phases
+ ;; When cross-compiling, some platform specific properties cannot
+ ;; be detected. Create a symlink to the appropriate platform
+ ;; file. See Cross-Compiling section at:
+ ;; https://github.com/gpg/libgpg-error/blob/master/README
+ (add-after 'unpack 'cross-symlinks
+ (lambda* (#:key target inputs #:allow-other-keys)
+ (let ((triplet
+ (match (string-take target
+ (string-index target #\-))
+ ("armhf" "arm-unknown-linux-gnueabi")
+ (x
+ (string-append x "-unknown-linux-gnu")))))
+ (symlink
+ (string-append "lock-obj-pub." triplet ".h")
+ "src/syscfg/lock-obj-pub.linux-gnu.h"))
+ #t))))
+ '()))
+ (native-inputs `(("gettext" ,gettext-minimal)))
(home-page "https://gnupg.org")
(synopsis "Library of error values for GnuPG components")
(description
@@ -111,15 +137,14 @@ Daemon and possibly more in the future.")
(define-public libgcrypt
(package
(name "libgcrypt")
- (version "1.8.4")
- (replacement libgcrypt-1.8.5)
+ (version "1.8.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
version ".tar.bz2"))
(sha256
(base32
- "09r27ywj9zplq6n9qw3mn7zmvf6y2jdmwx5d1kg8yqkj0qx18f7n"))))
+ "1hvsazms1bfd769q0ngl0r9g5i4m9mpz9jmvvrdzyzk3rfa2ljiv"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error-host" ,libgpg-error)))
@@ -145,18 +170,6 @@ generation.")
(properties '((ftp-server . "ftp.gnupg.org")
(ftp-directory . "/gcrypt/libgcrypt")))))
-(define-public libgcrypt-1.8.5
- (package
- (inherit libgcrypt)
- (version "1.8.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
- version ".tar.bz2"))
- (sha256
- (base32
- "1hvsazms1bfd769q0ngl0r9g5i4m9mpz9jmvvrdzyzk3rfa2ljiv"))))))
-
(define-public libassuan
(package
(name "libassuan")
@@ -468,11 +481,26 @@ gpgpme starting with version 1.7.")
"0n232iyayc46f7hywmjw0jr7pbmmz5h4b04jskhkzz9gxz0ci99c"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
+ (arguments
+ ;; When cross-compiling, the bash script libgcrypt-config provided by
+ ;; libgcrypt must be accessible during configure phase.
+ `(,@(if (%current-target-system)
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'add-libgrypt-config
+ (lambda _
+ (setenv "PATH" (string-append
+ (assoc-ref %build-inputs "libgcrypt")
+ "/bin:"
+ (getenv "PATH")))
+ #t))))
+ '())))
(native-inputs
`(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
- ("texinfo" ,texinfo)))
+ ("texinfo" ,texinfo)
+ ("guile" ,guile-2.2)))
(inputs
`(("guile" ,guile-2.2)
("libgcrypt" ,libgcrypt)))
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index f9667e873b..0d3b1e8339 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -55,15 +55,15 @@
(define-public graphviz
(package
(name "graphviz")
- (version "2.40.1")
+ (version "2.42.3")
(source (origin
(method url-fetch)
(uri (string-append
- "http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-"
- version ".tar.gz"))
+ "https://www2.graphviz.org/Packages/stable/portable_source/"
+ "graphviz-" version ".tar.gz"))
(sha256
(base32
- "08d4ygkxz2f553bxj6087da56a23kx1khv0j8ycxa102vvx1hlna"))))
+ "1pbswjbx3fjdlsxcm7cmlsl5bvaa3d6gcnr0cr8x3c8pag13zbwg"))))
(build-system gnu-build-system)
(arguments
;; FIXME: rtest/rtest.sh is a ksh script (!). Add ksh as an input.
diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm
index 98f17914bf..5fe353a901 100644
--- a/gnu/packages/groff.scm
+++ b/gnu/packages/groff.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -55,12 +56,28 @@
;; from 'inputs'.
(inputs `(("ghostscript" ,ghostscript)))
- (native-inputs `(("bison" ,bison)
+
+ ;; When cross-compiling, this package depends upon a native install of
+ ;; itself.
+ (native-inputs `(,@(if (%current-target-system)
+ `(("self" ,this-package))
+ '())
+ ("bison" ,bison)
("perl" ,perl)
("psutils" ,psutils)
("texinfo" ,texinfo)))
(arguments
`(#:parallel-build? #f ; parallel build fails
+ ,@(if (%current-target-system)
+ `(#:make-flags
+ ;; In groff-minimal package, that inherits from this package,
+ ;; we'll need to locate "groff" instead of "self".
+ (let ((groff (or (assoc-ref %build-host-inputs "groff")
+ (assoc-ref %build-host-inputs "self"))))
+ (list
+ (string-append "GROFF_BIN_PATH=" groff)
+ (string-append "GROFFBIN=" groff "/bin/groff"))))
+ '())
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-relocatability
@@ -115,7 +132,8 @@ is usually the formatter of \"man\" documentation pages.")
;; Omit the DVI, PS, PDF, and HTML backends.
(inputs '())
(native-inputs `(("bison" ,bison)
- ("perl" ,perl)))
+ ("perl" ,perl)
+ ("groff" ,groff)))
(arguments
`(#:disallowed-references (,perl)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 777601ed97..67b129c2a1 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -145,7 +145,8 @@ tools have full access to view and control running applications.")
("python" ,python-wrapper)))
(arguments
`(#:tests? #f ; see http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00085.html
- #:configure-flags '("--enable-tee"))) ; needed for GNU Icecat
+ #:configure-flags '("--enable-tee" ;needed for GNU Icecat
+ "--disable-static")))
(synopsis "2D graphics library")
(description
"Cairo is a 2D graphics library with support for multiple output devices.
@@ -181,7 +182,7 @@ affine transformation (scale, rotation, shear, etc.).")
(define-public harfbuzz
(package
(name "harfbuzz")
- (version "2.5.3")
+ (version "2.6.4")
(source (origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/"
@@ -189,7 +190,7 @@ affine transformation (scale, rotation, shear, etc.).")
version ".tar.xz"))
(sha256
(base32
- "0p45xk5bblsw8lfs7y7z80b4rvda9f2hlpr28flkrfmpjz3hvl7y"))))
+ "04iwq13w6zkdhljmsxrzgg4fyh04qnwfn57rgrl9kmijc7cvh4wl"))))
(build-system gnu-build-system)
(outputs '("out"
"bin")) ; 160K, only hb-view depend on cairo
@@ -671,7 +672,7 @@ is part of the GNOME accessibility project.")
"gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
"gtk2-theme-paths.patch"))))
(build-system gnu-build-system)
- (outputs '("out" "doc"))
+ (outputs '("out" "bin" "doc"))
(propagated-inputs
`(("atk" ,atk)
("gdk-pixbuf" ,gdk-pixbuf+svg)
@@ -698,14 +699,19 @@ is part of the GNOME accessibility project.")
(assoc-ref %outputs "doc")
"/share/gtk-doc/html"))
#:phases
- (alist-cons-before
- 'configure 'disable-tests
- (lambda _
- ;; FIXME: re-enable tests requiring an X server
- (substitute* "gtk/Makefile.in"
- (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits ."))
- #t)
- %standard-phases)))
+ (modify-phases %standard-phases
+ (add-before 'configure 'disable-tests
+ (lambda _
+ ;; FIXME: re-enable tests requiring an X server
+ (substitute* "gtk/Makefile.in"
+ (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits ."))
+ #t))
+ (add-after 'install 'remove-cache
+ (lambda* (#:key outputs #:allow-other-keys)
+ (for-each
+ delete-file
+ (find-files (assoc-ref outputs "out") "immodules.cache"))
+ #t)))))
(native-search-paths
(list (search-path-specification
(variable "GUIX_GTK2_PATH")
@@ -733,7 +739,6 @@ application suites.")
"10xyyhlfb0yk4hglngxh2zsv9xrxkqv343df8h01dvagc6jyp10k"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
- (outputs '("out" "bin" "doc"))
(propagated-inputs
`(("at-spi2-atk" ,at-spi2-atk)
("atk" ,atk)
diff --git a/gnu/packages/guile-wm.scm b/gnu/packages/guile-wm.scm
index 622fc560d9..3a6eebc91a 100644
--- a/gnu/packages/guile-wm.scm
+++ b/gnu/packages/guile-wm.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2016 Alex ter Weele <alex.ter.weele@gmail.com>
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 ng0 <ng0@n0.is>
+;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -57,7 +58,8 @@
"--with-guile-site-ccache-dir="
(assoc-ref %outputs "out")
"/lib/guile/2.2/site-ccache"))))
- (native-inputs `(("pkg-config" ,pkg-config)
+ (native-inputs `(("guile" ,guile-2.2)
+ ("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
(inputs `(("guile" ,guile-2.2)
("xcb" ,xcb-proto)))
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 43b3e026d1..1f767e3b3d 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -554,6 +554,8 @@ Guile's foreign function interface.")
(base32
"1nv8j7wk6b5n4p22szyi8lv8fs31rrzxhzz16gyj8r38c1fyp9qp"))
(file-name (string-append name "-" version "-checkout"))
+ (patches
+ (search-patches "guile-sqlite3-fix-cross-compilation.patch"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -566,6 +568,7 @@ Guile's foreign function interface.")
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
+ ("guile" ,guile-2.2)
("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.2)
diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm
index 922dfbd348..717ed277ee 100644
--- a/gnu/packages/icu4c.scm
+++ b/gnu/packages/icu4c.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,56 +28,43 @@
#:use-module (gnu packages python)
#:use-module (guix licenses)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix build-system ant)
#:use-module (guix build-system gnu))
-;; These patches are taken from ICUs 'maint-64' branch and will be included in
-;; 64.3. The latter patch is needed because many packages use "invalid"
-;; locales which misbehave with ICU 64.2. See discussion at
-;; <https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00343.html>.
-(define %icu4c-patches
- (list (origin
- (method url-fetch)
- (uri (string-append "https://github.com/unicode-org/icu/commit/"
- "7788f04eb9be0d7ecade6af46cf7b9825447763d.patch"))
- (file-name "icu4c-datetime-regression.patch")
- (sha256
- (base32
- "0gs2sbdfpzwwdjqcqr0c16fw3g7wy3gb1gbgvzs9k1ciw0bhpv4w")))
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/unicode-org/icu/commit/"
- "cfb20862909ff105d4f2c43923c97561bc5a5815.patch"))
- (file-name "icu4c-locale-mapping.patch")
- (sha256
- (base32
- "0s5psb60aisj6icziblvlp9dqcz56n3887i8ib0yidbjnnrw5b97")))))
-
(define-public icu4c
(package
(name "icu4c")
- (version "64.2")
+ (version "65.1")
(source (origin
(method url-fetch)
(uri (string-append
- "http://download.icu-project.org/files/icu4c/"
- version
+ "https://github.com/unicode-org/icu/releases/download/release-"
+ (string-map (lambda (x) (if (char=? x #\.) #\- x)) version)
"/icu4c-"
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
"-src.tgz"))
- (patches %icu4c-patches)
- (patch-flags '("-p2"))
(sha256
- (base32 "0v0xsf14xwlj125y9fd8lrhsaych4d8liv8gr746zng6g225szb2"))))
+ (base32 "0j6r6qqnhfr5iqkx53k63ifkm93kv1kkb7h2mlgd1mnnndk79qsk"))))
(build-system gnu-build-system)
+ ;; When cross-compiling, this package needs a source directory of a
+ ;; native-build of itself.
(native-inputs
- `(("python" ,python-minimal)))
+ `(("python" ,python-minimal)
+ ,@(if (%current-target-system)
+ `(("icu4c-build-root" ,icu4c-build-root))
+ '())))
(inputs
`(("perl" ,perl)))
(arguments
`(#:configure-flags
- '("--enable-rpath")
+ (list
+ "--enable-rpath"
+ ,@(if (%current-target-system)
+ '((string-append "--with-cross-build="
+ (assoc-ref %build-inputs "icu4c-build-root")))
+ '()))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir-to-source
@@ -105,6 +93,25 @@ C/C++ part.")
(license x11)
(home-page "http://site.icu-project.org/")))
+(define-public icu4c-build-root
+ (package
+ (inherit icu4c)
+ (name "icu4c-build-root")
+ (arguments
+ (substitute-keyword-arguments (package-arguments icu4c)
+ ((#:tests? _ '())
+ #f)
+ ((#:out-of-source? _ '())
+ #t)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (copy-recursively "../build" out)
+ #t)))))))
+ (native-inputs '())))
+
(define-public java-icu4j
(package
(name "java-icu4j")
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index e07ab15aec..c433429656 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -543,7 +543,7 @@ extracting icontainer icon files.")
(define-public libtiff
(package
(name "libtiff")
- (version "4.0.10")
+ (version "4.1.0")
(source
(origin
(method url-fetch)
@@ -551,7 +551,7 @@ extracting icontainer icon files.")
version ".tar.gz"))
(sha256
(base32
- "1r4np635gr6zlc0bic38dzvxia6iqzcrary4n1ylarzpr8fd2lic"))))
+ "0d46bdvxdiv59lxnb0xz9ywm8arsr6xsapi5s6y6vnys2wjz6aax"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;1.3 MiB of HTML documentation
@@ -560,7 +560,8 @@ extracting icontainer icon files.")
`(#:configure-flags (list (string-append "--with-docdir="
(assoc-ref %outputs "doc")
"/share/doc/"
- ,name "-" ,version))))
+ ,name "-" ,version)
+ "--disable-static")))
(inputs `(("zlib" ,zlib)
("libjpeg" ,libjpeg)))
(synopsis "Library for handling TIFF files")
@@ -628,15 +629,15 @@ arithmetic ops.")
(define-public jbig2dec
(package
(name "jbig2dec")
- (version "0.16")
+ (version "0.17")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ArtifexSoftware"
"/ghostpdl-downloads/releases/download"
- "/gs927/" name "-" version ".tar.gz"))
+ "/gs950/" name "-" version ".tar.gz"))
(sha256
(base32
- "00h61y7bh3z6mqfzxyb318gyh0f8jwarg4hvlrm83rqps8avzxm4"))
+ "0wpvslmwazia3z8gyk343kbq6yj47pxr4x5yjvx332v309qssazp"))
(patches (search-patches "jbig2dec-ignore-testtest.patch"))))
(build-system gnu-build-system)
(arguments '(#:configure-flags '("--disable-static")))
@@ -781,31 +782,31 @@ error-resilience, a Java-viewer for j2k-images, ...")
(define-public giflib
(package
(name "giflib")
- (version "5.1.4")
+ (version "5.2.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/giflib/giflib-"
- version ".tar.bz2"))
+ version ".tar.gz"))
(sha256
(base32
- "1md83dip8rf29y40cm5r7nn19705f54iraz6545zhwa6y8zyq9yz"))
- (patches (search-patches
- "giflib-make-reallocarray-private.patch"))))
+ "1gbrg03z1b6rlrvjyc6d41bc8j1bsr7rm8206gb1apscyii5bnii"))))
(build-system gnu-build-system)
(outputs '("bin" ; utility programs
"out")) ; library
- (inputs `(("libx11" ,libx11)
- ("libice" ,libice)
- ("libsm" ,libsm)
- ("perl" ,perl)))
(arguments
- `(#:phases
+ '(#:make-flags (list "CC=gcc"
+ (string-append "PREFIX="
+ (assoc-ref %outputs "out"))
+ (string-append "BINDIR="
+ (assoc-ref %outputs "bin") "/bin"))
+ #:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-html-doc-gen
(lambda _
- (substitute* "doc/Makefile.in"
+ (substitute* "doc/Makefile"
(("^all: allhtml manpages") ""))
#t))
+ (delete 'configure)
(add-after 'install 'install-manpages
(lambda* (#:key outputs #:allow-other-keys)
(let* ((bin (assoc-ref outputs "bin"))
@@ -1486,15 +1487,15 @@ is hereby granted."))))
(define-public libjpeg-turbo
(package
(name "libjpeg-turbo")
- (version "2.0.2")
- (replacement libjpeg-turbo/fixed)
+ (version "2.0.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/libjpeg-turbo/"
version "/libjpeg-turbo-" version ".tar.gz"))
+ (patches (search-patches "libjpeg-turbo-CVE-2019-2201.patch"))
(sha256
(base32
- "1v9gx1gdzgxf51nd55ncq7rghmj4x9x91rby50ag36irwngmkf5c"))))
+ "1ds16bnj17v6hzd43w8pzijz3imd9am4hw75ir0fxm240m8dwij2"))))
(build-system cmake-build-system)
(native-inputs
`(("nasm" ,nasm)))
@@ -1517,20 +1518,6 @@ and decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.).")
license:ijg ;the libjpeg library and associated tools
license:zlib)))) ;the libjpeg-turbo SIMD extensions
-;; Replacement package to fix CVE-2019-13960 and CVE-2019-2201.
-(define libjpeg-turbo/fixed
- (package
- (inherit libjpeg-turbo)
- (version "2.0.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/libjpeg-turbo/"
- version "/libjpeg-turbo-" version ".tar.gz"))
- (sha256
- (base32
- "1ds16bnj17v6hzd43w8pzijz3imd9am4hw75ir0fxm240m8dwij2"))
- (patches (search-patches "libjpeg-turbo-CVE-2019-2201.patch"))))))
-
(define-public niftilib
(package
(name "niftilib")
diff --git a/gnu/packages/jemalloc.scm b/gnu/packages/jemalloc.scm
index aa8493fd1d..2eabf4403f 100644
--- a/gnu/packages/jemalloc.scm
+++ b/gnu/packages/jemalloc.scm
@@ -32,7 +32,7 @@
(define-public jemalloc
(package
(name "jemalloc")
- (version "5.2.0")
+ (version "5.2.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -40,7 +40,7 @@
version "/jemalloc-" version ".tar.bz2"))
(sha256
(base32
- "1d73a5c5qdrwck0fa5pxz0myizaf3s9alsvhiqwrjahdlr29zgkl"))))
+ "1xl7z0vwbn5iycg7amka9jd6hxd8nmfk7nahi4p9w2bnw9f0wcrl"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm
index 1253a58546..bf344ce8ce 100644
--- a/gnu/packages/kerberos.scm
+++ b/gnu/packages/kerberos.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -68,9 +69,21 @@
("perl" ,perl)))
(arguments
`(;; XXX: On 32-bit systems, 'kdb5_util' hangs on an fcntl/F_SETLKW call
- ;; while running the tests in 'src/tests'.
- #:tests? ,(string=? (%current-system) "x86_64-linux")
+ ;; while running the tests in 'src/tests'. Also disable tests when
+ ;; cross-compiling.
+ #:tests? ,(and (not (%current-target-system))
+ (string=? (%current-system) "x86_64-linux"))
+ ,@(if (%current-target-system)
+ '(#:configure-flags
+ (list "krb5_cv_attr_constructor_destructor=yes"
+ "ac_cv_func_regcomp=yes"
+ "ac_cv_printf_positional=yes"
+ "ac_cv_file__etc_environment=yes"
+ "ac_cv_file__etc_TIMEZONE=no")
+ #:make-flags
+ (list "CFLAGS+=-DDESTRUCTOR_ATTR_WORKS=1"))
+ '())
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-source-directory
@@ -78,8 +91,8 @@
(chdir "src")
#t))
(add-before 'check 'pre-check
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((perl (assoc-ref inputs "perl")))
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ (let ((perl (assoc-ref (or native-inputs inputs) "perl")))
(substitute* "plugins/kdb/db2/libdb2/test/run.test"
(("/bin/cat") (string-append perl "/bin/perl"))
(("D/bin/sh") (string-append "D" (which "sh")))
diff --git a/gnu/packages/libbsd.scm b/gnu/packages/libbsd.scm
index a616de70bd..9d0dff10f1 100644
--- a/gnu/packages/libbsd.scm
+++ b/gnu/packages/libbsd.scm
@@ -25,14 +25,14 @@
(define-public libbsd
(package
(name "libbsd")
- (version "0.9.1")
+ (version "0.10.0")
(source (origin
(method url-fetch)
(uri (string-append "https://libbsd.freedesktop.org/releases/"
"libbsd-" version ".tar.xz"))
(sha256
(base32
- "1957w2wi7iqar978qlfsm220dwywnrh5m58nrnn9zmi74ds3bn2n"))))
+ "11x8q45jvjvf2dvgclds64mscyg10lva33qinf2hwgc84v3svf1l"))))
(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 465ed95eb2..b59efecbe1 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -99,14 +99,14 @@ limited support for fork events.")
(define-public libuv
(package
(name "libuv")
- (version "1.30.1")
+ (version "1.34.0")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.libuv.org/dist/v" version
"/libuv-v" version ".tar.gz"))
(sha256
(base32
- "12s7ifwgbfxblhv46inqa8c2lsnl8cgmvd37y4a4248xhkx1d0s6"))))
+ "0j416x38cp6gh5isn3fwv331aw6bpfmrk8xgm07rq5py47kyqg52"))))
(build-system gnu-build-system)
(arguments
'(;; XXX: Some tests want /dev/tty, attempt to make connections, etc.
diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm
index b61dbc8657..52654ddf3f 100644
--- a/gnu/packages/libffi.scm
+++ b/gnu/packages/libffi.scm
@@ -41,7 +41,7 @@
(define-public libffi
(package
(name "libffi")
- (version "3.2.1")
+ (version "3.3")
(source (origin
(method url-fetch)
(uri
@@ -49,21 +49,12 @@
name "-" version ".tar.gz"))
(sha256
(base32
- "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh"))
- (patches (search-patches "libffi-3.2.1-complex-alpha.patch"))))
+ "0mi0cpf8aa40ljjmzxb7im6dbj45bb0kllcd09xgmp834y9agyvj"))))
(build-system gnu-build-system)
(arguments
`(;; Prevent the build system from passing -march and -mtune to the
;; compiler. See "ax_cc_maxopt.m4" and "ax_gcc_archflag.m4".
- #:configure-flags '("--enable-portable-binary" "--without-gcc-arch")
- #: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)))))
+ #:configure-flags '("--enable-portable-binary" "--without-gcc-arch")))
(outputs '("out" "debug"))
(synopsis "Foreign function call interface library")
(description
diff --git a/gnu/packages/libidn.scm b/gnu/packages/libidn.scm
index ea9ce70dfb..8731ed3f83 100644
--- a/gnu/packages/libidn.scm
+++ b/gnu/packages/libidn.scm
@@ -59,14 +59,14 @@ Java libraries.")
(define-public libidn2
(package
(name "libidn2")
- (version "2.2.0")
+ (version "2.3.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libidn/" name "-" version
".tar.lz"))
(sha256
(base32
- "1a5cv79q6b719jv4fpwjl3r0mmx9qcpla98v9dk64cgxn8f8di10"))))
+ "14yw4w37ya6rcqa7h6p44x6711dwgq2j22xg6k79ybbf04sj88kb"))))
(native-inputs
`(("lzip" ,lzip)))
(inputs
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 96df2172e6..9977be6bfe 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -22,7 +22,7 @@
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
-;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 nee <nee-git@hidamari.blue>
@@ -1222,10 +1222,16 @@ by Robert Shea and Robert Anton Wilson.")
"0r84kwa5fl0sjdashcn4vh7hgfm7ahdcysig3mcjvpmkzi7p9g8h"))))
(build-system gnu-build-system)
(arguments
- '(#:modules ((guix build utils)
+ `(#:modules ((guix build utils)
(guix build gnu-build-system)
(srfi srfi-1)
(srfi srfi-26))
+ ,@(if (%current-target-system)
+ '(#:configure-flags
+ (list
+ "ac_cv_func_malloc_0_nonnull=yes"
+ "ac_cv_func_realloc_0_nonnull=yes"))
+ '())
#:phases
(modify-phases %standard-phases
(add-after
@@ -1595,12 +1601,13 @@ MIDI functionality to the Linux-based operating system.")
(("\\$\\(MKDIR_P\\) .*ASOUND_STATE_DIR.*")
"true\n"))
#t)))))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)))
(inputs
`(("libsamplerate" ,libsamplerate)
("ncurses" ,ncurses)
("alsa-lib" ,alsa-lib)
- ("xmlto" ,xmlto)
- ("gettext" ,gettext-minimal)))
+ ("xmlto" ,xmlto)))
(home-page "http://www.alsa-project.org/")
(synopsis "Utilities for the Advanced Linux Sound Architecture (ALSA)")
(description
@@ -2018,35 +2025,18 @@ transparently through a bridge.")
"/libnl-doc-" version ".tar.gz"))
(sha256
(base32 "19p5y8q3cm5wqvamqc4s5syxnnkvzxy3gw8ivxk6fv9ybn8jm35h"))))))
- (inputs
- `(("python-2" ,python-2)
- ("python-3" ,python-3)))
- (outputs '("out" "doc" "python2" "python3"))
+ (outputs `("out" "doc"))
(arguments
- `(#:modules ((guix build gnu-build-system)
- (guix build utils)
- (srfi srfi-1))
- #:phases
+ `(#:phases
(modify-phases %standard-phases
- (add-after 'install 'install-python
- (lambda* (#:key outputs #:allow-other-keys)
- (define (python-inst python)
- (invoke python "setup.py" "build")
- (invoke python "setup.py" "install"
- (string-append "--prefix="
- (assoc-ref %outputs python)))
- (invoke python "setup.py" "clean"))
- (setenv "LDFLAGS" (format #f "-Wl,-rpath=~a/lib"
- (assoc-ref %outputs "out")))
- (with-directory-excursion "./python"
- (for-each python-inst '("python2" "python3")))
- #t))
(add-after 'install 'install-doc
- (lambda* (#:key inputs outputs #:allow-other-keys)
+ (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
(let ((dest (string-append (assoc-ref outputs "doc")
"/share/doc/libnl")))
(mkdir-p dest)
- (invoke "tar" "xf" (assoc-ref inputs "libnl3-doc")
+ (invoke "tar" "xf" (assoc-ref
+ (or native-inputs inputs)
+ "libnl3-doc")
"--strip-components=1" "-C" dest)))))))
(home-page "https://www.infradead.org/~tgr/libnl/")
(synopsis "NetLink protocol library suite")
@@ -2061,6 +2051,43 @@ configuration and monitoring interfaces.")
;; 'nl-addr-add.c'), so the result is GPLv2-only.
(license license:gpl2)))
+;; libnl python extensions used to be outputs of libnl. However, as
+;; cross-compiling python extensions is currently broken, create separate
+;; packages for libnl python extensions.
+(define (libnl-python-package python)
+ (let ((name (string-append "libnl-" python)))
+ (package
+ (inherit libnl)
+ (name name)
+ (inputs `(,@(cond
+ ((string=? python "python2")
+ `(("python-2" ,python-2)))
+ ((string=? python "python3")
+ `(("python-3" ,python-3))))))
+ (propagated-inputs `(("libnl" ,libnl)))
+ (outputs '("out"))
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-1))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (define (python-inst python)
+ (invoke python "setup.py" "build")
+ (invoke python "setup.py" "install"
+ (string-append "--prefix="
+ (assoc-ref %outputs "out")))
+ (invoke python "setup.py" "clean"))
+ (setenv "LDFLAGS" (format #f "-Wl,-rpath=~a/lib"
+ (assoc-ref inputs "libnl")))
+ (with-directory-excursion "./python" (python-inst ,python))
+ #t))))))))
+
+(define-public libnl-python2 (libnl-python-package "python2"))
+(define-public libnl-python3 (libnl-python-package "python3"))
+
(define-public iw
(package
(name "iw")
@@ -2656,7 +2683,7 @@ from the module-init-tools project.")
(patches (search-patches "eudev-rules-directory.patch"))))
(build-system gnu-build-system)
(arguments
- '(#:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'make-source-writable
(lambda _
@@ -2665,19 +2692,25 @@ from the module-init-tools project.")
(for-each make-file-writable (find-files "."))
#t))
(add-before 'bootstrap 'patch-file-names
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
(substitute* "man/make.sh"
(("/usr/bin/xsltproc")
- (string-append (assoc-ref inputs "xsltproc")
+ (string-append (assoc-ref
+ (or native-inputs inputs) "xsltproc")
"/bin/xsltproc")))
#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.
+ ;;
+ ;; XXX: This can't be done when cross-compiling. Find another way
+ ;; to generate hwdb.bin for cross-built systems.
(let ((out (assoc-ref outputs "out")))
- (invoke (string-append out "/bin/udevadm")
- "hwdb" "--update")))))
+ ,@(if (%current-target-system)
+ '(#t)
+ '((invoke (string-append out "/bin/udevadm")
+ "hwdb" "--update")))))))
#:configure-flags (list "--enable-manpages")))
(native-inputs
`(("autoconf" ,autoconf)
@@ -2740,7 +2773,7 @@ time.")
(inputs
`(("udev" ,eudev)))
(arguments
- '(#:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'configure 'set-makefile-shell
(lambda _
@@ -2775,7 +2808,12 @@ time.")
(assoc-ref %outputs "out")
"/lib,-rpath="
(assoc-ref %outputs "out")
- "/lib/device-mapper"))
+ "/lib/device-mapper")
+ ;; This is needed when cross-compiling.
+ ,@(if (%current-target-system)
+ '("ac_cv_func_malloc_0_nonnull=yes"
+ "ac_cv_func_realloc_0_nonnull=yes")
+ '()))
;; The tests use 'mknod', which requires root access.
#:tests? #f))
@@ -2871,13 +2909,23 @@ interface.")
(patches (search-patches "crda-optional-gcrypt.patch"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
+ `(#:phases (modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'gzip-determinism
(lambda _
(substitute* "Makefile"
(("gzip") "gzip --no-name"))
#t))
+ ,@(if (%current-target-system)
+ '((add-after
+ 'unpack 'fix-pkg-config
+ (lambda* (#:key target #:allow-other-keys)
+ (substitute*
+ "Makefile"
+ (("pkg-config")
+ (string-append target "-pkg-config")))
+ #t)))
+ '())
(add-before
'build 'no-werror-no-ldconfig
(lambda _
@@ -2887,37 +2935,44 @@ interface.")
#t))
(add-before
'build 'set-regulator-db-file-name
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
;; Tell CRDA where to find our database.
- (let ((regdb (assoc-ref inputs "wireless-regdb")))
+ (let ((regdb (assoc-ref (or native-inputs inputs)
+ "wireless-regdb")))
(substitute* "crda.c"
(("\"/lib/crda/regulatory.bin\"")
(string-append "\"" regdb
"/lib/crda/regulatory.bin\"")))
#t))))
#:test-target "verify"
- #:make-flags (let ((out (assoc-ref %outputs "out"))
- (regdb (assoc-ref %build-inputs "wireless-regdb")))
- (list "CC=gcc" "V=1"
-
- ;; Disable signature-checking on 'regulatory.bin'.
- ;; The reason is that this simplifies maintenance
- ;; on our side (no need to manage a distro key
- ;; pair), and we can guarantee integrity of
- ;; 'regulatory.bin' by other means anyway, such as
- ;; 'guix gc --verify'. See
- ;; <https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb>
- ;; for a discssion.
- "USE_OPENSSL=0"
-
- (string-append "PREFIX=" out)
- (string-append "SBINDIR=" out "/sbin/")
- (string-append "UDEV_RULE_DIR="
- out "/lib/udev/rules.d")
- (string-append "LDFLAGS=-Wl,-rpath="
- out "/lib -L.")
- (string-append "REG_BIN=" regdb
- "/lib/crda/regulatory.bin")))))
+ #:make-flags (let ((out (assoc-ref %outputs "out"))
+ (regdb (assoc-ref %build-inputs "wireless-regdb"))
+ (target ,(%current-target-system)))
+ (list
+ (string-append
+ "CC=" (if target
+ (string-append target "-gcc") "gcc"))
+ "V=1"
+
+ ;; Disable signature-checking on 'regulatory.bin'.
+ ;; The reason is that this simplifies maintenance
+ ;; on our side (no need to manage a distro key
+ ;; pair), and we can guarantee integrity of
+ ;; 'regulatory.bin' by other means anyway, such as
+ ;; 'guix gc --verify'. See
+ ;; <https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb>
+ ;; for a discssion.
+ "USE_OPENSSL=0"
+
+ (string-append "PREFIX=" out)
+ (string-append "SBINDIR=" out "/sbin/")
+ (string-append "UDEV_RULE_DIR="
+ out "/lib/udev/rules.d")
+ (string-append "LDFLAGS=-Wl,-rpath="
+ out "/lib -L.")
+ (string-append "REG_BIN=" regdb
+ "/lib/crda/regulatory.bin")
+ "all_noverify"))))
(native-inputs `(("pkg-config" ,pkg-config)
("wireless-regdb" ,wireless-regdb)))
(inputs `(("libnl" ,libnl)))
@@ -3590,8 +3645,9 @@ MPEG-2 and audio over Linux IEEE 1394.")
#:phases
(modify-phases %standard-phases
(add-before 'build 'patch-program-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((coreutils (assoc-ref inputs "coreutils")))
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (let ((coreutils (assoc-ref (or native-inputs inputs)
+ "coreutils")))
(substitute* "udev-md-raid-arrays.rules"
(("/usr/bin/(readlink|basename)" all program)
(string-append coreutils "/bin/" program))))
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index a6f779e7f8..ae5fe72d93 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -89,6 +89,7 @@ as \"x86_64-linux\"."
(base32
"0k124sxkfhfi1rca6kzkdraf4axhx99x3cw2rk55056628dvwwl8"))))
(build-system cmake-build-system)
+ (outputs '("out" "opt-viewer"))
(native-inputs
`(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2
("perl" ,perl)))
@@ -106,16 +107,27 @@ as \"x86_64-linux\"."
;; Don't use '-g' during the build, to save space.
#:build-type "Release"
- #:phases (modify-phases %standard-phases
- (add-before 'build 'shared-lib-workaround
- ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen
- ;; doesn't seem to get the correct rpath to be able to run
- ;; from the build directory. Set LD_LIBRARY_PATH as a
- ;; workaround.
- (lambda _
- (setenv "LD_LIBRARY_PATH"
- (string-append (getcwd) "/lib"))
- #t)))))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'shared-lib-workaround
+ ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen
+ ;; doesn't seem to get the correct rpath to be able to run
+ ;; from the build directory. Set LD_LIBRARY_PATH as a
+ ;; workaround.
+ (lambda _
+ (setenv "LD_LIBRARY_PATH"
+ (string-append (getcwd) "/lib"))
+ #t))
+ (add-after 'install 'install-opt-viewer
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (opt-viewer-out (assoc-ref outputs "opt-viewer"))
+ (opt-viewer-share-dir (string-append opt-viewer-out "/share"))
+ (opt-viewer-dir (string-append opt-viewer-share-dir "/opt-viewer")))
+ (mkdir-p opt-viewer-share-dir)
+ (rename-file (string-append out "/share/opt-viewer")
+ opt-viewer-dir))
+ #t)))))
(home-page "https://www.llvm.org")
(synopsis "Optimizing compiler infrastructure")
(description
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index b8d1b2af3e..d149a7ec1a 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -167,15 +167,6 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(current-source-location)
#:native-inputs native-inputs))
-(define static-bash-for-bootstrap
- (package
- (inherit static-bash)
- (source (origin
- (inherit (package-source static-bash))
- (patches
- (cons (search-patch "bash-reproducible-linux-pgrp-pipe.patch")
- (origin-patches (package-source static-bash))))))))
-
(define %static-inputs
;; Packages that are to be used as %BOOTSTRAP-INPUTS.
(let ((coreutils (package (inherit coreutils)
@@ -252,7 +243,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(("-Wl,-export-dynamic") ""))
#t)))))))
(inputs (if (%current-target-system)
- `(("bash" ,static-bash-for-bootstrap))
+ `(("bash" ,static-bash))
'()))))
(tar (package (inherit tar)
(arguments
@@ -298,7 +289,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
("sed" ,sed)
("grep" ,grep)
("gawk" ,gawk)))
- ("bash" ,static-bash-for-bootstrap))))
+ ("bash" ,static-bash))))
(define %static-binaries
(package
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index f05efccece..f396eeafa9 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -216,6 +216,8 @@ Linux kernel and C library interfaces employed by user-space programs.")
;; ("perl-LocaleGettext" ,perl-LocaleGettext)
;; ("gettext" ,gettext-minimal)
))
+ (native-inputs
+ `(("perl" ,perl)))
(home-page "https://www.gnu.org/software/help2man/")
(synopsis "Automatically generate man pages from program --help")
(description
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index d55d1b4461..ba90ccec73 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -565,7 +565,7 @@ assorted menu related utility programs.")
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)
("libxslt" ,libxslt)
- ("yelp-tools" ,yelp-tools/fixed)
+ ("yelp-tools" ,yelp-tools)
("scrollkeeper" ,scrollkeeper)
("gettext" ,gettext-minimal)
("docbook-xml" ,docbook-xml)
@@ -1279,7 +1279,7 @@ can be used as backgrounds in the MATE Desktop environment.")
("pkg-config" ,pkg-config)
("scrollkeeper" ,scrollkeeper)
("xorgproto" ,xorgproto)
- ("yelp-tools" ,yelp-tools/fixed)))
+ ("yelp-tools" ,yelp-tools)))
(inputs
`(("atk" ,atk)
("cairo" ,cairo)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 0ed61ad4a1..930fe916a7 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -375,15 +375,14 @@ semiconductors.")
(define-public gsl
(package
(name "gsl")
- (version "2.5")
+ (version "2.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gsl/gsl-"
version ".tar.gz"))
(sha256
(base32
- "1395y9hlhqadn5g9j8q22224fds5sd92jxi9czfavjj24myasq04"))
- (patches (search-patches "gsl-test-i686.patch"))))
+ "1a460zj9xmbgvcymkdhqh313c4l29mn9cffbi5vf33x3qygk70mp"))))
(build-system gnu-build-system)
(arguments
`(;; Currently there are numerous tests that fail on "exotic"
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 549ee28400..75f611a2e0 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -769,7 +769,7 @@ on Axolotl and PEP.")
("libgcrypt" ,libgcrypt)
("libsoup" ,libsoup)
("qrencode" ,qrencode)
- ("sqlite" ,sqlite-with-column-metadata)
+ ("sqlite" ,sqlite)
("gpgme" ,gpgme)
("gtk+" ,gtk+)
("glib-networking" ,glib-networking)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 9cd1c17a99..2a1dd57edd 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -297,7 +297,7 @@ score, keyboard, guitar, drum and controller views.")
("pulseaudio" ,pulseaudio)
("qtbase" ,qtbase)
("qtx11extras" ,qtx11extras)
- ("sqlite" ,sqlite-with-column-metadata)
+ ("sqlite" ,sqlite)
("sparsehash" ,sparsehash)
("taglib" ,taglib)))
(home-page "https://clementine-player.org")
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index 83427d935f..753d2cc06a 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -45,14 +45,14 @@
(define-public node
(package
(name "node")
- (version "10.16.0")
+ (version "10.17.0")
(source (origin
(method url-fetch)
(uri (string-append "https://nodejs.org/dist/v" version
"/node-v" version ".tar.xz"))
(sha256
(base32
- "0236jlb1hxhzqjlmmlxipcycrndiq92c8434iyy7zshh3n4pzqqq"))
+ "13n5cvb340ba7vwm8il7bjrmpz89h6cibhk9rc3kq9ymdgbnf9j1"))
(modules '((guix build utils)))
(snippet
`(begin
diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm
index 4f421f6e9d..6ed197b578 100644
--- a/gnu/packages/nss.scm
+++ b/gnu/packages/nss.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@@ -71,7 +71,6 @@ in the Mozilla clients.")
(package
(name "nss")
(version "3.46.1")
- (replacement nss/fixed)
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@@ -84,7 +83,8 @@ in the Mozilla clients.")
(base32
"0l9ns44rlkp1bpblplspfbqmyhb8rhvc89y56kqh725rgpny1xrv"))
;; Create nss.pc and nss-config.
- (patches (search-patches "nss-pkgconfig.patch"
+ (patches (search-patches "nss-CVE-2019-11745.patch"
+ "nss-pkgconfig.patch"
"nss-freebl-stubs.patch"
"nss-increase-test-timeout.patch"))))
(build-system gnu-build-system)
@@ -184,11 +184,3 @@ applications. Applications built with NSS can support SSL v2 and v3, TLS,
PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other
security standards.")
(license license:mpl2.0)))
-
-(define nss/fixed
- (package
- (inherit nss)
- (source (origin
- (inherit (package-source nss))
- (patches (append (search-patches "nss-CVE-2019-11745.patch")
- (origin-patches (package-source nss))))))))
diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm
index 7abe9ab6f0..ec528787ca 100644
--- a/gnu/packages/openldap.scm
+++ b/gnu/packages/openldap.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -50,6 +51,7 @@
#:use-module (gnu packages)
#:use-module ((guix licenses) #:select (openldap2.8 lgpl2.1+ gpl3+ psfl))
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python))
@@ -57,7 +59,7 @@
(define-public openldap
(package
(name "openldap")
- (version "2.4.47")
+ (version "2.4.48")
(source (origin
(method url-fetch)
@@ -74,21 +76,51 @@
"openldap-release/openldap-" version ".tgz")))
(sha256
(base32
- "02sj0p1pq12hqq29b22m3f5zs2rykgvc0q3wlynxjcsjhrvmhk7m"))))
+ "0k87qra4kirb6xgja4q1jyw6piwb9v8b8g6gkxq4plawmgy3ylnr"))))
(build-system gnu-build-system)
(inputs `(("bdb" ,bdb-5.3)
("cyrus-sasl" ,cyrus-sasl)
("gnutls" ,gnutls)
- ("groff" ,groff)
("icu4c" ,icu4c)
("libgcrypt" ,libgcrypt)
("zlib" ,zlib)))
- (native-inputs `(("libtool" ,libtool)))
+ (native-inputs `(("libtool" ,libtool)
+ ("groff" ,groff)
+ ("bdb" ,bdb-5.3)
+ ;; For up to date 'config.guess' and 'config.sub'.
+ ("automake" ,automake)))
(arguments
`(#:tests? #f
- #:configure-flags '("--disable-static")
+ #:configure-flags
+ '("--disable-static"
+ ,@(if (%current-target-system)
+ '("--with-yielding_select=yes"
+ "ac_cv_func_memcmp_working=yes")
+ '()))
+ ;; Disable install stripping as it breaks cross-compiling.
+ #:make-flags '("STRIP=")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-configure
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.sub and config.guess:
+ (with-directory-excursion "build"
+ (for-each (lambda (file)
+ (install-file (string-append
+ (assoc-ref
+ (or native-inputs inputs) "automake")
+ "/share/automake-"
+ ,(version-major+minor
+ (package-version automake))
+ "/" file) "."))
+ '("config.sub" "config.guess")))
+ #t))
+ ,@(if (%current-target-system)
+ '((add-before 'configure 'fix-cross-gcc
+ (lambda* (#:key target #:allow-other-keys)
+ (setenv "CC" (string-append target "-gcc"))
+ #t)))
+ '())
(add-after 'install 'patch-sasl-path
;; Give -L arguments for cyrus-sasl to avoid propagation.
(lambda* (#:key inputs outputs #:allow-other-keys)
diff --git a/gnu/packages/patches/aspell-default-dict-dir.patch b/gnu/packages/patches/aspell-default-dict-dir.patch
index 17a6ff606f..5f759a66d9 100644
--- a/gnu/packages/patches/aspell-default-dict-dir.patch
+++ b/gnu/packages/patches/aspell-default-dict-dir.patch
@@ -8,12 +8,34 @@ However it is necessary for applications that use libaspell since
--- a/common/config.cpp
+++ b/common/config.cpp
+@@ -651,7 +651,20 @@ namespace acommon {
+ } else { // sep == '|'
+ assert(replace[0] == '$');
+ const char * env = getenv(replace.c_str()+1);
+- final_str += env ? env : second;
++ if (env) {
++ final_str += env;
++ } else if (second[0] == '$') {
++ // Expand the right-hand side of '|', which starts with a
++ // reference to an environment variable.
++ auto slash = second.find('/');
++ String variable = second.substr(1, slash - 1);
++ const char * env = getenv(variable.c_str());
++ String value = env ? String(env) : "";
++ value += second.substr(slash, second.size() - slash);
++ final_str += value;
++ } else {
++ final_str += second;
++ }
+ }
+ replace = "";
+ in_replace = false;
@@ -1349,6 +1349,9 @@ namespace acommon {
# define REPL ".aspell.<lang>.prepl"
#endif
+#undef DICT_DIR
-+#define DICT_DIR "<$ASPELL_DICT_DIR|home-dir/.guix-profile/lib/aspell>"
++#define DICT_DIR "<$ASPELL_DICT_DIR|$HOME/.guix-profile/lib/aspell>"
+
static const KeyInfo config_keys[] = {
// the description should be under 50 chars
diff --git a/gnu/packages/patches/aspell-gcc-compat.patch b/gnu/packages/patches/aspell-gcc-compat.patch
deleted file mode 100644
index 94c44f8fb6..0000000000
--- a/gnu/packages/patches/aspell-gcc-compat.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Fix GCC7 warnings.
-
-Taken from upstream:
-https://git.savannah.gnu.org/cgit/aspell.git/commit/?id=8089fa02122fed0a6394eba14bbedcb1d18e2384
-
-diff --git a/modules/filter/tex.cpp b/modules/filter/tex.cpp
-index a979539..19ab63c 100644
---- a/modules/filter/tex.cpp
-+++ b/modules/filter/tex.cpp
-@@ -174,7 +174,7 @@ namespace {
-
- if (c == '{') {
-
-- if (top.in_what == Parm || top.in_what == Opt || top.do_check == '\0')
-+ if (top.in_what == Parm || top.in_what == Opt || *top.do_check == '\0')
- push_command(Parm);
-
- top.in_what = Parm;
-diff --git a/prog/check_funs.cpp b/prog/check_funs.cpp
-index db54f3d..89ee09d 100644
---- a/prog/check_funs.cpp
-+++ b/prog/check_funs.cpp
-@@ -647,7 +647,7 @@ static void print_truncate(FILE * out, const char * word, int width) {
- }
- }
- if (i == width-1) {
-- if (word == '\0')
-+ if (*word == '\0')
- put(out,' ');
- else if (word[len] == '\0')
- put(out, word, len);
diff --git a/gnu/packages/patches/bash-linux-pgrp-pipe.patch b/gnu/packages/patches/bash-linux-pgrp-pipe.patch
new file mode 100644
index 0000000000..234a55e897
--- /dev/null
+++ b/gnu/packages/patches/bash-linux-pgrp-pipe.patch
@@ -0,0 +1,32 @@
+Unconditionally enable PGRP_PIPE on Linux (the kernel), regardless of
+the kernel version in use on the build machine.
+
+--- configure.ac.orig 2019-01-02 09:38:44.000000000 -0500
++++ configure.ac 2019-08-15 16:40:24.271758379 -0400
+@@ -1108,10 +1108,7 @@
+ solaris2*) LOCAL_CFLAGS=-DSOLARIS ;;
+ lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+- case "`uname -r`" in
+- 1.*|2.[[0123]]*) : ;;
+- *) AC_DEFINE(PGRP_PIPE) ;;
+- esac ;;
++ AC_DEFINE(PGRP_PIPE) ;;
+ netbsd*|openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;;
+ *qnx[[67]]*) LOCAL_LIBS="-lncurses" ;;
+ *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
+--- configure.orig 2019-01-02 09:43:04.000000000 -0500
++++ configure 2019-08-15 16:41:44.440155912 -0400
+@@ -16312,11 +16312,7 @@
+ solaris2*) LOCAL_CFLAGS=-DSOLARIS ;;
+ lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+- case "`uname -r`" in
+- 1.*|2.[0123]*) : ;;
+- *) $as_echo "#define PGRP_PIPE 1" >>confdefs.h
+- ;;
+- esac ;;
++ $as_echo "#define PGRP_PIPE 1" >>confdefs.h ;;
+ netbsd*|openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;;
+ *qnx[67]*) LOCAL_LIBS="-lncurses" ;;
+ *qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
diff --git a/gnu/packages/patches/bc-fix-cross-compilation.patch b/gnu/packages/patches/bc-fix-cross-compilation.patch
new file mode 100644
index 0000000000..14dfecdbde
--- /dev/null
+++ b/gnu/packages/patches/bc-fix-cross-compilation.patch
@@ -0,0 +1,171 @@
+Patch taken from nix.
+
+commit fdda59736ddc048cf38a2c7103f4f5d9eeaf995e
+Author: Ben Gamari <ben@smart-cactus.org>
+Date: Tue Oct 17 10:51:34 2017 -0400
+
+ Try implementing cross-compilation
+
+diff --git a/bc/Makefile.am b/bc/Makefile.am
+index d9d412e..fdef633 100644
+--- a/bc/Makefile.am
++++ b/bc/Makefile.am
+@@ -17,6 +17,7 @@ MAINTAINERCLEANFILES = Makefile.in bc.c bc.h scan.c \
+
+ AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/../h
+ LIBBC = ../lib/libbc.a
++LIBBC_HOST = ../lib/libbc_host.a
+ LIBL = @LEXLIB@
+ LDADD = $(LIBBC) $(LIBL) @READLINELIB@
+
+@@ -29,12 +30,20 @@ $(PROGRAMS): libmath.h $(LIBBC)
+ scan.o: bc.h
+ global.o: libmath.h
++
++main_host.c : main.c
++ cp $< $@
+
+-fbcOBJ = main.o bc.o scan.o execute.o load.o storage.o util.o warranty.o
++fbcOBJ = $(addsuffix _host,main.o bc.o scan.o execute.o load.o storage.o util.o warranty.o)
++
++%.o_host : CC:=$(CC_FOR_BUILD)
++
++%.o_host : %.c
++ $(COMPILE) -c $(CFLAGS) $(INCLUDES) -o $@ $<
+
+-libmath.h: libmath.b $(fbcOBJ) $(LIBBC)
++libmath.h: libmath.b $(fbcOBJ) $(LIBBC_HOST)
+ echo '{0}' > libmath.h
+- $(MAKE) global.o
+- $(LINK) -o fbc $(fbcOBJ) global.o $(LIBBC) $(LIBL) $(READLINELIB) $(LIBS)
++ $(MAKE) global.o_host
++ $(CC_FOR_BUILD) -o fbc $(fbcOBJ) global.o_host $(LIBBC_HOST) $(LIBL) ${READLINELIB} $(LIBS)
+ ./fbc -c $(srcdir)/libmath.b </dev/null >libmath.h
+ $(srcdir)/fix-libmath_h
+ rm -f ./fbc ./global.o
+diff --git a/configure.ac b/configure.ac
+index fc74573..5cabb73 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,6 +20,7 @@ m4_define([dc_version], 1.4.1)
+
+ AC_INIT([bc],[bc_version])
+ AC_CONFIG_SRCDIR(doc/bc.1)
++AC_CONFIG_MACRO_DIR([m4])
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AC_CONFIG_HEADERS(config.h)
+
+@@ -35,6 +36,7 @@ AC_DEFINE([DC_COPYRIGHT],
+ [Define the dc copyright line.])
+
+ AC_PROG_CC
++AX_CC_FOR_BUILD
+ AC_USE_SYSTEM_EXTENSIONS
+
+ AM_PROG_LEX
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index ec4bf59..c670f5b 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -1,5 +1,5 @@
+ ## Process this file with automake to produce Makefile.in
+-noinst_LIBRARIES = libbc.a
++noinst_LIBRARIES = libbc.a libbc_host.a
+
+ AM_CPPFLAGS = -I. -I.. -I$(srcdir)/../h
+
+@@ -24,3 +24,11 @@ testmul: testmul.o number.o
+
+ specialnumber: newnumber.o
+ cp newnumber.o number.o
++
++%.o_host : CC:=$(CC_FOR_BUILD)
++%.o_host : %.c
++ $(COMPILE) -c $(CFLAGS) $(INCLUDES) -o $@ $<
++
++libbc_host.a : $(addsuffix _host,$(libbc_a_OBJECTS))
++ ar cru $@ $+
++ ranlib $@
+diff --git a/m4/cc_for_build.m4 b/m4/cc_for_build.m4
+new file mode 100644
+index 0000000..c62ffad
+--- /dev/null
++++ b/m4/cc_for_build.m4
+@@ -0,0 +1,77 @@
++# ===========================================================================
++# https://www.gnu.org/software/autoconf-archive/ax_cc_for_build.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++# AX_CC_FOR_BUILD
++#
++# DESCRIPTION
++#
++# Find a build-time compiler. Sets CC_FOR_BUILD and EXEEXT_FOR_BUILD.
++#
++# LICENSE
++#
++# Copyright (c) 2010 Reuben Thomas <rrt@sc3d.org>
++# Copyright (c) 1999 Richard Henderson <rth@redhat.com>
++#
++# This program is free software: you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation, either version 3 of the License, or (at your
++# option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++# Public License for more details.
++#
++# You should have received a copy of the GNU General Public License along
++# with this program. If not, see <https://www.gnu.org/licenses/>.
++#
++# As a special exception, the respective Autoconf Macro's copyright owner
++# gives unlimited permission to copy, distribute and modify the configure
++# scripts that are the output of Autoconf when processing the Macro. You
++# need not follow the terms of the GNU General Public License when using
++# or distributing such scripts, even though portions of the text of the
++# Macro appear in them. The GNU General Public License (GPL) does govern
++# all other use of the material that constitutes the Autoconf Macro.
++#
++# This special exception to the GPL applies to versions of the Autoconf
++# Macro released by the Autoconf Archive. When you make and distribute a
++# modified version of the Autoconf Macro, you may extend this special
++# exception to the GPL to apply to your modified version as well.
++
++#serial 3
++
++dnl Get a default for CC_FOR_BUILD to put into Makefile.
++AC_DEFUN([AX_CC_FOR_BUILD],
++[# Put a plausible default for CC_FOR_BUILD in Makefile.
++if test -z "$CC_FOR_BUILD"; then
++ if test "x$cross_compiling" = "xno"; then
++ CC_FOR_BUILD='$(CC)'
++ else
++ CC_FOR_BUILD=gcc
++ fi
++fi
++AC_SUBST(CC_FOR_BUILD)
++# Also set EXEEXT_FOR_BUILD.
++if test "x$cross_compiling" = "xno"; then
++ EXEEXT_FOR_BUILD='$(EXEEXT)'
++else
++ AC_CACHE_CHECK([for build system executable suffix], bfd_cv_build_exeext,
++ [rm -f conftest*
++ echo 'int main () { return 0; }' > conftest.c
++ bfd_cv_build_exeext=
++ ${CC_FOR_BUILD} -o conftest conftest.c 1>&5 2>&5
++ for file in conftest.*; do
++ case $file in
++ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
++ *) bfd_cv_build_exeext=`echo $file | sed -e s/conftest//` ;;
++ esac
++ done
++ rm -f conftest*
++ test x"${bfd_cv_build_exeext}" = x && bfd_cv_build_exeext=no])
++ EXEEXT_FOR_BUILD=""
++ test x"${bfd_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${bfd_cv_build_exeext}
++fi
++AC_SUBST(EXEEXT_FOR_BUILD)])dnl
diff --git a/gnu/packages/patches/boost-dumpversion.patch b/gnu/packages/patches/boost-dumpversion.patch
new file mode 100644
index 0000000000..7df779cfe6
--- /dev/null
+++ b/gnu/packages/patches/boost-dumpversion.patch
@@ -0,0 +1,24 @@
+This issue is described here: https://github.com/openwrt/packages/pull/8685
+and has not been solved as of 1.70.0 release.
+
+--- a/tools/build/src/tools/common.jam
++++ b/tools/build/src/tools/common.jam
+@@ -973,18 +973,6 @@
+ }
+ }
+
+- # From GCC 5, versioning changes and minor becomes patch
+- if $(tag) = gcc && [ numbers.less 4 $(version[1]) ]
+- {
+- version = $(version[1]) ;
+- }
+-
+- # Ditto, from Clang 4
+- if ( $(tag) = clang || $(tag) = clangw ) && [ numbers.less 3 $(version[1]) ]
+- {
+- version = $(version[1]) ;
+- }
+-
+ # On intel, version is not added, because it does not matter and it is the
+ # version of vc used as backend that matters. Ideally, we should encode the
+ # backend version but that would break compatibility with V1.
diff --git a/gnu/packages/patches/cmake-curl-certificates.patch b/gnu/packages/patches/cmake-curl-certificates.patch
index 36252083f8..7fe2615271 100644
--- a/gnu/packages/patches/cmake-curl-certificates.patch
+++ b/gnu/packages/patches/cmake-curl-certificates.patch
@@ -6,19 +6,19 @@ as well as /etc/ssl/certs.
--- cmake-3.13.1/Source/cmCurl.cxx 2019-09-10 17:27:36.926907260 +0200
+++ cmake-3.13.1/Source/cmCurl.cxx 2019-09-10 17:52:35.475903919 +0200
-@@ -4,11 +4,8 @@
-
- #include "cmThirdParty.h"
+@@ -2,11 +2,8 @@
+ file Copyright.txt or https://cmake.org/licensing for details. */
+ #include "cmCurl.h"
-#if !defined(CMAKE_USE_SYSTEM_CURL) && !defined(_WIN32) && \
- !defined(__APPLE__) && !defined(CURL_CA_BUNDLE) && !defined(CURL_CA_PATH)
# define CMAKE_FIND_CAFILE
# include "cmSystemTools.h"
-#endif
+ #include "cmStringAlgorithms.h"
// curl versions before 7.21.5 did not provide this error code
- #if defined(LIBCURL_VERSION_NUM) && LIBCURL_VERSION_NUM < 0x071505
-@@ -29,6 +26,19 @@ std::string cmCurlSetCAInfo(::CURL* curl
+@@ -30,6 +27,19 @@
::CURLcode res = ::curl_easy_setopt(curl, CURLOPT_CAINFO, cafile);
check_curl_result(res, "Unable to set TLS/SSL Verify CAINFO: ");
}
diff --git a/gnu/packages/patches/cyrus-sasl-ac-try-run-fix.patch b/gnu/packages/patches/cyrus-sasl-ac-try-run-fix.patch
new file mode 100644
index 0000000000..8662e812e9
--- /dev/null
+++ b/gnu/packages/patches/cyrus-sasl-ac-try-run-fix.patch
@@ -0,0 +1,12 @@
+--- a/m4/sasl2.m4 2018-11-18 22:33:29.902625600 +0300
++++ b/m4/sasl2.m4 2018-11-18 22:33:59.828746176 +0300
+@@ -339,7 +339,8 @@
+ ],
+ [ AC_DEFINE(HAVE_GSS_SPNEGO,,[Define if your GSSAPI implementation supports SPNEGO])
+ AC_MSG_RESULT(yes) ],
+- AC_MSG_RESULT(no))
++ AC_MSG_RESULT(no),
++ AC_MSG_RESULT(no))
+ LIBS="$cmu_save_LIBS"
+
+ else
diff --git a/gnu/packages/patches/doxygen-test.patch b/gnu/packages/patches/doxygen-test.patch
index 8ccb9ec3c4..a2da54a3fa 100644
--- a/gnu/packages/patches/doxygen-test.patch
+++ b/gnu/packages/patches/doxygen-test.patch
@@ -5,19 +5,40 @@ test.
diff -u -r doxygen-1.8.7.orig/testing/012/citelist.xml doxygen-1.8.7/testing/012/citelist.xml
--- doxygen-1.8.7.orig/testing/012/citelist.xml 2014-04-24 23:43:34.000000000 +0200
+++ doxygen-1.8.7/testing/012/citelist.xml 2014-04-24 23:49:43.000000000 +0200
-@@ -6,17 +6,6 @@
+@@ -6,38 +6,6 @@
<briefdescription>
</briefdescription>
<detaileddescription>
- <para>
- <variablelist>
- <varlistentry>
-- <term><anchor id="citelist_1CITEREF_knuth79"/>[1]</term>
+- <term><anchor id="citelist_1CITEREF_Be09"/>[1]</term>
+- </varlistentry>
+- <listitem>
+- <para>P.<nonbreakablespace/>Belotti. <ulink url="http://doi.org/10.1007/978-1-4614-1927-3_5">Disjunctive cuts for non-convex MINLP</ulink>. In <ulink url="#CITEREF_LeLe12">Lee and Leyffer</ulink> <ulink url="#CITEREF_LeLe12">[4]</ulink>, pages 117<ndash/>144.</para>
+- <para/>
+- </listitem>
+- <varlistentry>
+- <term><anchor id="citelist_1CITEREF_BertholdHeinzVigerske2009"/>[2]</term>
+- </varlistentry>
+- <listitem>
+- <para>T.<nonbreakablespace/>Berthold, S.<nonbreakablespace/>Heinz, and S.<nonbreakablespace/>Vigerske. <ulink url="http://doi.org/10.1007/978-1-4614-1927-3_15">Extending a CIP framework to solve MIQCPs</ulink>. In <ulink url="#CITEREF_LeLe12">Lee and Leyffer</ulink> <ulink url="#CITEREF_LeLe12">[4]</ulink>, pages 427<ndash/>444.</para>
+- <para/>
+- </listitem>
+- <varlistentry>
+- <term><anchor id="citelist_1CITEREF_knuth79"/>[3]</term>
- </varlistentry>
- <listitem>
- <para>Donald<nonbreakablespace/>E. Knuth. <emphasis>Tex and Metafont, New Directions in Typesetting</emphasis>. American Mathematical Society and Digital Press, Stanford, 1979.</para>
- <para/>
- </listitem>
+- <varlistentry>
+- <term><anchor id="citelist_1CITEREF_LeLe12"/>[4]</term>
+- </varlistentry>
+- <listitem>
+- <para>Jon Lee and Sven Leyffer, editors. <ulink url="http://doi.org/10.1007/978-1-4614-1927-3"><emphasis>Mixed Integer Nonlinear Programming</emphasis></ulink>, volume 154 of <emphasis>The IMA Volumes in Mathematics and its Applications</emphasis>. Springer, 2012.</para>
+- <para/>
+- </listitem>
- </variablelist>
- </para>
</detaileddescription>
@@ -26,13 +47,14 @@ diff -u -r doxygen-1.8.7.orig/testing/012/citelist.xml doxygen-1.8.7/testing/012
diff -u -r doxygen-1.8.7.orig/testing/012/indexpage.xml doxygen-1.8.7/testing/012/indexpage.xml
--- doxygen-1.8.7.orig/testing/012/indexpage.xml 2014-04-24 23:43:34.000000000 +0200
+++ doxygen-1.8.7/testing/012/indexpage.xml 2014-04-24 23:44:05.000000000 +0200
-@@ -4,7 +4,7 @@
- <compoundname>index</compoundname>
- <title>My Project</title>
+@@ -6,8 +6,8 @@
+ <briefdescription>
+ </briefdescription>
<detaileddescription>
-- <para>See <ref refid="citelist_1CITEREF_knuth79" kindref="member">[1]</ref> for more info. </para>
-+ <para>See knuth79 for more info. </para>
+- <para>See <ref refid="citelist_1CITEREF_knuth79" kindref="member">[3]</ref> for more info.</para>
+- <para>Oter references with crosreference see <ref refid="citelist_1CITEREF_Be09" kindref="member">[1]</ref> and <ref refid="citelist_1CITEREF_BertholdHeinzVigerske2009" kindref="member">[2]</ref> for more info. </para>
++ <para>See knuth79 for more info.</para>
++ <para>Oter references with crosreference see Be09 and BertholdHeinzVigerske2009 for more info. </para>
</detaileddescription>
</compounddef>
</doxygen>
-
diff --git a/gnu/packages/patches/file-CVE-2018-10360.patch b/gnu/packages/patches/file-CVE-2018-10360.patch
deleted file mode 100644
index 9285611c04..0000000000
--- a/gnu/packages/patches/file-CVE-2018-10360.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-https://github.com/file/file/commit/a642587a9c9e2dd7feacdf513c3643ce26ad3c22.patch
-The leading part of the patch starting at line 27 was trimmed off.
-This patch should be OK to drop with file@5.35.
-
-From a642587a9c9e2dd7feacdf513c3643ce26ad3c22 Mon Sep 17 00:00:00 2001
-From: Christos Zoulas <christos@zoulas.com>
-Date: Sat, 9 Jun 2018 16:00:06 +0000
-Subject: [PATCH] Avoid reading past the end of buffer (Rui Reis)
-
----
- src/readelf.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/readelf.c b/src/readelf.c
-index 79c83f9f5..1f41b4611 100644
---- a/src/readelf.c
-+++ b/src/readelf.c
-@@ -842,7 +842,8 @@ do_core_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type,
-
- cname = (unsigned char *)
- &nbuf[doff + prpsoffsets(i)];
-- for (cp = cname; *cp && isprint(*cp); cp++)
-+ for (cp = cname; cp < nbuf + size && *cp
-+ && isprint(*cp); cp++)
- continue;
- /*
- * Linux apparently appends a space at the end
diff --git a/gnu/packages/patches/file-CVE-2019-18218.patch b/gnu/packages/patches/file-CVE-2019-18218.patch
new file mode 100644
index 0000000000..21069823b7
--- /dev/null
+++ b/gnu/packages/patches/file-CVE-2019-18218.patch
@@ -0,0 +1,55 @@
+Fix CVE-2019-18218:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-18218
+
+Patch copied from upstream source repository:
+
+https://github.com/file/file/commit/46a8443f76cec4b41ec736eca396984c74664f84
+
+From 46a8443f76cec4b41ec736eca396984c74664f84 Mon Sep 17 00:00:00 2001
+From: Christos Zoulas <christos@zoulas.com>
+Date: Mon, 26 Aug 2019 14:31:39 +0000
+Subject: [PATCH] Limit the number of elements in a vector (found by oss-fuzz)
+
+---
+ src/cdf.c | 9 ++++-----
+ src/cdf.h | 1 +
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/cdf.c b/src/cdf.c
+index 9d6396742..bb81d6374 100644
+--- a/src/cdf.c
++++ b/src/cdf.c
+@@ -1027,8 +1027,9 @@ cdf_read_property_info(const cdf_stream_t *sst, const cdf_header_t *h,
+ goto out;
+ }
+ nelements = CDF_GETUINT32(q, 1);
+- if (nelements == 0) {
+- DPRINTF(("CDF_VECTOR with nelements == 0\n"));
++ if (nelements > CDF_ELEMENT_LIMIT || nelements == 0) {
++ DPRINTF(("CDF_VECTOR with nelements == %"
++ SIZE_T_FORMAT "u\n", nelements));
+ goto out;
+ }
+ slen = 2;
+@@ -1070,8 +1071,6 @@ cdf_read_property_info(const cdf_stream_t *sst, const cdf_header_t *h,
+ goto out;
+ inp += nelem;
+ }
+- DPRINTF(("nelements = %" SIZE_T_FORMAT "u\n",
+- nelements));
+ for (j = 0; j < nelements && i < sh.sh_properties;
+ j++, i++)
+ {
+diff --git a/src/cdf.h b/src/cdf.h
+index 2f7e554b7..05056668f 100644
+--- a/src/cdf.h
++++ b/src/cdf.h
+@@ -48,6 +48,7 @@
+ typedef int32_t cdf_secid_t;
+
+ #define CDF_LOOP_LIMIT 10000
++#define CDF_ELEMENT_LIMIT 100000
+
+ #define CDF_SECID_NULL 0
+ #define CDF_SECID_FREE -1
diff --git a/gnu/packages/patches/findutils-gnulib-libio.patch b/gnu/packages/patches/findutils-gnulib-libio.patch
deleted file mode 100644
index 79f9fd914d..0000000000
--- a/gnu/packages/patches/findutils-gnulib-libio.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-Adjust to removal of libio interface in glibc 2.28.
-
-Based on this gnulib commit:
-https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=4af4a4a71827c0bc5e0ec67af23edef4f15cee8e
-
-diff --git a/gl/lib/fflush.c b/gl/lib/fflush.c
-index 5ae3e41..7a82470 100644
---- a/gl/lib/fflush.c
-+++ b/gl/lib/fflush.c
-@@ -33,7 +33,7 @@
- #undef fflush
-
-
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-
- /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
- static void
-@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp)
-
- #endif
-
--#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
-+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
-
- # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
- /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
-@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream)
- if (stream == NULL || ! freading (stream))
- return fflush (stream);
-
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-
- clear_ungetc_buffer_preserving_position (stream);
-
-diff --git a/gl/lib/fpurge.c b/gl/lib/fpurge.c
-index f313b22..ecdf82d 100644
---- a/gl/lib/fpurge.c
-+++ b/gl/lib/fpurge.c
-@@ -62,7 +62,7 @@ fpurge (FILE *fp)
- /* Most systems provide FILE as a struct and the necessary bitmask in
- <stdio.h>, because they need it for implementing getc() and putc() as
- fast macros. */
--# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- fp->_IO_read_end = fp->_IO_read_ptr;
- fp->_IO_write_ptr = fp->_IO_write_base;
- /* Avoid memory leak when there is an active ungetc buffer. */
-diff --git a/gl/lib/freadahead.c b/gl/lib/freadahead.c
-index 094daab..3f8101e 100644
---- a/gl/lib/freadahead.c
-+++ b/gl/lib/freadahead.c
-@@ -25,7 +25,7 @@
- size_t
- freadahead (FILE *fp)
- {
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- if (fp->_IO_write_ptr > fp->_IO_write_base)
- return 0;
- return (fp->_IO_read_end - fp->_IO_read_ptr)
-diff --git a/gl/lib/freading.c b/gl/lib/freading.c
-index 0512b19..8c48fe4 100644
---- a/gl/lib/freading.c
-+++ b/gl/lib/freading.c
-@@ -31,7 +31,7 @@ freading (FILE *fp)
- /* Most systems provide FILE as a struct and the necessary bitmask in
- <stdio.h>, because they need it for implementing getc() and putc() as
- fast macros. */
--# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- return ((fp->_flags & _IO_NO_WRITES) != 0
- || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
- && fp->_IO_read_base != NULL));
-diff --git a/gl/lib/fseeko.c b/gl/lib/fseeko.c
-index 1c65d2a..9026408 100644
---- a/gl/lib/fseeko.c
-+++ b/gl/lib/fseeko.c
-@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int whence)
- #endif
-
- /* These tests are based on fpurge.c. */
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- if (fp->_IO_read_end == fp->_IO_read_ptr
- && fp->_IO_write_ptr == fp->_IO_write_base
- && fp->_IO_save_base == NULL)
-@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int whence)
- return -1;
- }
-
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- fp->_flags &= ~_IO_EOF_SEEN;
- fp->_offset = pos;
- #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
-diff --git a/gl/lib/stdio-impl.h b/gl/lib/stdio-impl.h
-index 502d891..ea38ee2 100644
---- a/gl/lib/stdio-impl.h
-+++ b/gl/lib/stdio-impl.h
-@@ -18,6 +18,12 @@
- the same implementation of stdio extension API, except that some fields
- have different naming conventions, or their access requires some casts. */
-
-+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this
-+ problem by defining it ourselves. FIXME: Do not rely on glibc
-+ internals. */
-+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
-+# define _IO_IN_BACKUP 0x100
-+#endif
-
- /* BSD stdio derived implementations. */
-
diff --git a/gnu/packages/patches/findutils-makedev.patch b/gnu/packages/patches/findutils-makedev.patch
deleted file mode 100644
index 2f16c625d8..0000000000
--- a/gnu/packages/patches/findutils-makedev.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Include <sys/sysmacros.h> for "makedev".
-
-Taken from this gnulib commit:
-https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=4da63c5881f60f71999a943612da9112232b9161
-
-diff --git a/gl/lib/mountlist.c b/gl/lib/mountlist.c
-index bb4e4ee21..cf4020e2a 100644
---- a/gl/lib/mountlist.c
-+++ b/gl/lib/mountlist.c
-@@ -37,6 +37,12 @@
- # include <sys/param.h>
- #endif
-
-+#if MAJOR_IN_MKDEV
-+# include <sys/mkdev.h>
-+#elif MAJOR_IN_SYSMACROS
-+# include <sys/sysmacros.h>
-+#endif
-+
- #if defined MOUNTED_GETFSSTAT /* OSF_1 and Darwin1.3.x */
- # if HAVE_SYS_UCRED_H
- # include <grp.h> /* needed on OSF V4.0 for definition of NGROUPS,
diff --git a/gnu/packages/patches/findutils-test-xargs.patch b/gnu/packages/patches/findutils-test-xargs.patch
deleted file mode 100644
index 10c7bed28d..0000000000
--- a/gnu/packages/patches/findutils-test-xargs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-This test relies on 'xargs' being available in $PATH, which is not
-the case when we build the initial Findutils doing bootstrapping.
-Reported at <https://savannah.gnu.org/bugs/index.php?46786>.
-
---- findutils-4.6.0/find/testsuite/sv-34976-execdir-fd-leak.sh 2015-12-31 19:37:59.401526288 +0100
-+++ findutils-4.6.0/find/testsuite/sv-34976-execdir-fd-leak.sh 2015-12-31 19:38:36.061770693 +0100
-@@ -50,13 +50,14 @@ die() {
- # Create test files, each 98 in the directories ".", "one" and "two".
- make_test_data() {
- d="$1"
-+ xargs="`cd ../../xargs; pwd -P`/xargs"
- (
- cd "$1" || exit 1
- mkdir one two || exit 1
- for i in ${three_to_hundred} ; do
- printf "./%03d one/%03d two/%03d " $i $i $i
- done \
-- | xargs touch || exit 1
-+ | "$xargs" touch || exit 1
- ) \
- || die "failed to set up the test in ${outdir}"
- }
diff --git a/gnu/packages/patches/ghostscript-no-header-id.patch b/gnu/packages/patches/ghostscript-no-header-id.patch
index da1aa5530f..45fc95fd6e 100644
--- a/gnu/packages/patches/ghostscript-no-header-id.patch
+++ b/gnu/packages/patches/ghostscript-no-header-id.patch
@@ -9,10 +9,10 @@ See: https://bugs.ghostscript.com/show_bug.cgi?id=698208
diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c
--- orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c 2017-07-09 23:30:28.960479189 +0200
+++ gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c 2017-07-09 23:34:34.306524488 +0200
-@@ -1785,8 +1785,11 @@
+@@ -1810,8 +1810,11 @@
* +1 for the linearisation dict and +1 for the primary hint stream.
*/
- linear_params->FirsttrailerOffset = gp_ftell_64(linear_params->Lin_File.file);
+ linear_params->FirsttrailerOffset = gp_ftell(linear_params->Lin_File.file);
- gs_sprintf(LDict, "\ntrailer\n<</Size %ld/Info %d 0 R/Root %d 0 R/ID[%s%s]/Prev %d>>\nstartxref\r\n0\n%%%%EOF\n \n",
- linear_params->LastResource + 3, pdev->ResourceUsage[linear_params->Info_id].NewObjectNumber, pdev->ResourceUsage[linear_params->Catalog_id].NewObjectNumber, fileID, fileID, 0);
+ gs_sprintf(LDict, "\ntrailer\n<</Size %ld/Info %d 0 R/Root %d 0 R",
@@ -20,10 +20,10 @@ diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c gnu-ghostscript-9.
+ if (pdev->OwnerPassword.size > 0 || !(!getenv("GS_GENERATE_UUIDS") || (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 && strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0))) /* ID is mandatory when encrypting */
+ gs_sprintf(LDict, "/ID[%s%s]", fileID, fileID);
+ gs_sprintf(LDict, "/Prev %d>>\nstartxref\r\n0\n%%%%EOF\n \n", 0);
- fwrite(LDict, strlen(LDict), 1, linear_params->Lin_File.file);
+ gp_fwrite(LDict, strlen(LDict), 1, linear_params->Lin_File.file);
/* Write document catalog (Part 4) */
-@@ -2321,8 +2324,11 @@
+@@ -2346,8 +2349,11 @@
if (code != 0)
return_error(gs_error_ioerror);
@@ -34,10 +34,10 @@ diff -ur orig/gnu-ghostscript-9.14.0/devices/vector/gdevpdf.c gnu-ghostscript-9.
+ if (pdev->OwnerPassword.size > 0 || !(!getenv("GS_GENERATE_UUIDS") || (strcasecmp(getenv("GS_GENERATE_UUIDS"), "0") != 0 || strcasecmp(getenv("GS_GENERATE_UUIDS"), "no") != 0))) /* ID is mandatory when encrypting */
+ gs_sprintf(LDict, "/ID[%s%s]", fileID, fileID);
+ gs_sprintf(LDict, "/Prev %"PRId64">>\nstartxref\r\n0\n%%%%EOF\n", mainxref);
- fwrite(LDict, strlen(LDict), 1, linear_params->sfile);
+ gp_fwrite(LDict, strlen(LDict), 1, linear_params->sfile);
- code = gp_fseek_64(linear_params->sfile, pdev->ResourceUsage[HintStreamObj].LinearisedOffset, SEEK_SET);
-@@ -3016,10 +3022,12 @@
+ code = gp_fseek(linear_params->sfile, pdev->ResourceUsage[HintStreamObj].LinearisedOffset, SEEK_SET);
+@@ -3012,10 +3018,12 @@
stream_puts(s, "trailer\n");
pprintld3(s, "<< /Size %ld /Root %ld 0 R /Info %ld 0 R\n",
pdev->next_id, Catalog_id, Info_id);
diff --git a/gnu/packages/patches/giflib-make-reallocarray-private.patch b/gnu/packages/patches/giflib-make-reallocarray-private.patch
deleted file mode 100644
index 69228c5be8..0000000000
--- a/gnu/packages/patches/giflib-make-reallocarray-private.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-Move the declaration from gif_lib.h to gif_lib_private.h to solve
-conflicts when some .c-file #includes both stdlib.h and gif_lib.h.
-See also https://sourceforge.net/p/giflib/bugs/110/
-
-diff -ur giflib-5.1.4.orig/lib/dgif_lib.c giflib-5.1.4/lib/dgif_lib.c
---- giflib-5.1.4.orig/lib/dgif_lib.c 2018-02-28 20:31:02.294682673 +0100
-+++ giflib-5.1.4/lib/dgif_lib.c 2018-02-28 22:38:11.659126414 +0100
-@@ -396,7 +396,7 @@
-
- if (GifFile->SavedImages) {
- SavedImage* new_saved_images =
-- (SavedImage *)reallocarray(GifFile->SavedImages,
-+ (SavedImage *)giflib_private_reallocarray(GifFile->SavedImages,
- (GifFile->ImageCount + 1), sizeof(SavedImage));
- if (new_saved_images == NULL) {
- GifFile->Error = D_GIF_ERR_NOT_ENOUGH_MEM;
-@@ -1108,7 +1108,7 @@
- if (ImageSize > (SIZE_MAX / sizeof(GifPixelType))) {
- return GIF_ERROR;
- }
-- sp->RasterBits = (unsigned char *)reallocarray(NULL, ImageSize,
-+ sp->RasterBits = (unsigned char *)giflib_private_reallocarray(NULL, ImageSize,
- sizeof(GifPixelType));
-
- if (sp->RasterBits == NULL) {
-diff -ur giflib-5.1.4.orig/lib/gifalloc.c giflib-5.1.4/lib/gifalloc.c
---- giflib-5.1.4.orig/lib/gifalloc.c 2018-02-28 20:31:02.294682673 +0100
-+++ giflib-5.1.4/lib/gifalloc.c 2018-02-28 22:38:11.657126423 +0100
-@@ -8,7 +8,7 @@
- #include <stdio.h>
- #include <string.h>
-
--#include "gif_lib.h"
-+#include "gif_lib_private.h"
-
- #define MAX(x, y) (((x) > (y)) ? (x) : (y))
-
-@@ -188,7 +188,7 @@
-
- /* perhaps we can shrink the map? */
- if (RoundUpTo < ColorUnion->ColorCount) {
-- GifColorType *new_map = (GifColorType *)reallocarray(Map,
-+ GifColorType *new_map = (GifColorType *)giflib_private_reallocarray(Map,
- RoundUpTo, sizeof(GifColorType));
- if( new_map == NULL ) {
- GifFreeMapObject(ColorUnion);
-@@ -232,7 +232,7 @@
- if (*ExtensionBlocks == NULL)
- *ExtensionBlocks=(ExtensionBlock *)malloc(sizeof(ExtensionBlock));
- else {
-- ExtensionBlock* ep_new = (ExtensionBlock *)reallocarray
-+ ExtensionBlock* ep_new = (ExtensionBlock *)giflib_private_reallocarray
- (*ExtensionBlocks, (*ExtensionBlockCount + 1),
- sizeof(ExtensionBlock));
- if( ep_new == NULL )
-@@ -325,7 +325,7 @@
- if (GifFile->SavedImages == NULL)
- GifFile->SavedImages = (SavedImage *)malloc(sizeof(SavedImage));
- else
-- GifFile->SavedImages = (SavedImage *)reallocarray(GifFile->SavedImages,
-+ GifFile->SavedImages = (SavedImage *)giflib_private_reallocarray(GifFile->SavedImages,
- (GifFile->ImageCount + 1), sizeof(SavedImage));
-
- if (GifFile->SavedImages == NULL)
-@@ -355,7 +355,7 @@
- }
-
- /* next, the raster */
-- sp->RasterBits = (unsigned char *)reallocarray(NULL,
-+ sp->RasterBits = (unsigned char *)giflib_private_reallocarray(NULL,
- (CopyFrom->ImageDesc.Height *
- CopyFrom->ImageDesc.Width),
- sizeof(GifPixelType));
-@@ -369,7 +369,7 @@
-
- /* finally, the extension blocks */
- if (sp->ExtensionBlocks != NULL) {
-- sp->ExtensionBlocks = (ExtensionBlock *)reallocarray(NULL,
-+ sp->ExtensionBlocks = (ExtensionBlock *)giflib_private_reallocarray(NULL,
- CopyFrom->ExtensionBlockCount,
- sizeof(ExtensionBlock));
- if (sp->ExtensionBlocks == NULL) {
-diff -ur giflib-5.1.4.orig/lib/gif_lib.h giflib-5.1.4/lib/gif_lib.h
---- giflib-5.1.4.orig/lib/gif_lib.h 2018-02-28 20:31:02.294682673 +0100
-+++ giflib-5.1.4/lib/gif_lib.h 2018-02-28 20:31:43.135716712 +0100
-@@ -244,9 +244,6 @@
- GifPixelType ColorTransIn2[]);
- extern int GifBitSize(int n);
-
--extern void *
--reallocarray(void *optr, size_t nmemb, size_t size);
--
- /******************************************************************************
- Support for the in-core structures allocation (slurp mode).
- ******************************************************************************/
-diff -ur giflib-5.1.4.orig/lib/gif_lib_private.h giflib-5.1.4/lib/gif_lib_private.h
---- giflib-5.1.4.orig/lib/gif_lib_private.h 2018-02-28 20:31:02.294682673 +0100
-+++ giflib-5.1.4/lib/gif_lib_private.h 2018-02-28 22:38:11.657126423 +0100
-@@ -54,6 +54,9 @@
- bool gif89;
- } GifFilePrivateType;
-
-+extern void *
-+giflib_private_reallocarray(void *optr, size_t nmemb, size_t size);
-+
- #endif /* _GIF_LIB_PRIVATE_H */
-
- /* end */
-diff -ur giflib-5.1.4.orig/lib/openbsd-reallocarray.c giflib-5.1.4/lib/openbsd-reallocarray.c
---- giflib-5.1.4.orig/lib/openbsd-reallocarray.c 2018-02-28 20:31:02.295682659 +0100
-+++ giflib-5.1.4/lib/openbsd-reallocarray.c 2018-02-28 22:38:11.656126428 +0100
-@@ -27,7 +27,7 @@
- #define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4))
-
- void *
--reallocarray(void *optr, size_t nmemb, size_t size)
-+giflib_private_reallocarray(void *optr, size_t nmemb, size_t size)
- {
- if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) &&
- nmemb > 0 && SIZE_MAX / nmemb < size) {
diff --git a/gnu/packages/patches/glibc-CVE-2019-19126.patch b/gnu/packages/patches/glibc-CVE-2019-19126.patch
new file mode 100644
index 0000000000..5b9ac58ab7
--- /dev/null
+++ b/gnu/packages/patches/glibc-CVE-2019-19126.patch
@@ -0,0 +1,22 @@
+Fix CVE-2019-19126:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-19126
+https://sourceware.org/bugzilla/show_bug.cgi?id=25204
+
+Taken from upstream:
+https://sourceware.org/git/?p=glibc.git;a=commit;h=37c90e117310728a4ad1eb998c0bbe7d79c4a398
+
+diff --git a/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h b/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
+index 975cbe2..df2cdfd 100644
+--- a/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
++++ b/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h
+@@ -31,7 +31,8 @@
+ environment variable, LD_PREFER_MAP_32BIT_EXEC. */
+ #define EXTRA_LD_ENVVARS \
+ case 21: \
+- if (memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0) \
++ if (!__libc_enable_secure \
++ && memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0) \
+ GLRO(dl_x86_cpu_features).feature[index_arch_Prefer_MAP_32BIT_EXEC] \
+ |= bit_arch_Prefer_MAP_32BIT_EXEC; \
+ break;
diff --git a/gnu/packages/patches/gsl-test-i686.patch b/gnu/packages/patches/gsl-test-i686.patch
deleted file mode 100644
index 8828c08614..0000000000
--- a/gnu/packages/patches/gsl-test-i686.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Work around a test failure due to a rounding issue on 32-bit
-platforms, as reported at:
-
- https://lists.gnu.org/archive/html/bug-gsl/2016-10/msg00000.html
-
---- gsl-2.2.1/linalg/test.c 2016-10-05 13:27:42.464059730 +0200
-+++ gsl-2.2.1/linalg/test.c 2016-10-05 13:27:46.988095882 +0200
-@@ -4843,9 +4843,6 @@ main(void)
- gsl_test(test_cholesky_decomp_unit(), "Cholesky Decomposition [unit triangular]");
- gsl_test(test_cholesky_solve(), "Cholesky Solve");
-
-- gsl_test(test_cholesky_decomp(r), "Cholesky Decomposition");
-- gsl_test(test_cholesky_invert(r), "Cholesky Inverse");
-- gsl_test(test_pcholesky_decomp(r), "Pivoted Cholesky Decomposition");
- gsl_test(test_pcholesky_solve(r), "Pivoted Cholesky Solve");
- gsl_test(test_pcholesky_invert(r), "Pivoted Cholesky Inverse");
- gsl_test(test_mcholesky_decomp(r), "Modified Cholesky Decomposition");
diff --git a/gnu/packages/patches/guile-sqlite3-fix-cross-compilation.patch b/gnu/packages/patches/guile-sqlite3-fix-cross-compilation.patch
new file mode 100644
index 0000000000..9ea9a47677
--- /dev/null
+++ b/gnu/packages/patches/guile-sqlite3-fix-cross-compilation.patch
@@ -0,0 +1,55 @@
+From a6e9e62a77ecc5012929613e20da23b2636450a5 Mon Sep 17 00:00:00 2001
+From: Mathieu Othacehe <mathieu.othacehe@parrot.com>
+Date: Mon, 25 Mar 2019 11:00:38 +0100
+Subject: [PATCH] cross compile
+
+---
+ build-aux/guile.am | 2 +-
+ configure.ac | 19 ++++++++++++-------
+ 2 files changed, 13 insertions(+), 8 deletions(-)
+
+diff --git a/build-aux/guile.am b/build-aux/guile.am
+index dc1e63f..3126372 100644
+--- a/build-aux/guile.am
++++ b/build-aux/guile.am
+@@ -16,4 +16,4 @@ EXTRA_DIST = $(SOURCES) $(NOCOMP_SOURCES)
+ GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat
+ SUFFIXES = .scm .go
+ .scm.go:
+- $(AM_V_GEN)$(top_builddir)/env $(GUILE_TOOLS) compile $(GUILE_WARNINGS) -o "$@" "$<"
++ $(AM_V_GEN)$(top_builddir)/env $(GUILE_TOOLS) compile $(GUILE_TARGET) $(GUILE_WARNINGS) -o "$@" "$<"
+diff --git a/configure.ac b/configure.ac
+index f648fcb..2d34d0a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -21,15 +21,20 @@ PKG_CHECK_MODULES([SQLITE], [sqlite3])
+ SQLITE_LIBDIR="`"$PKG_CONFIG" sqlite3 --variable libdir`"
+ AC_SUBST([SQLITE_LIBDIR])
+
+-AC_MSG_CHECKING([whether '$SQLITE_LIBDIR/libsqlite3' is usable])
+-GUILE_CHECK([retval],
+- [(dynamic-func \"sqlite3_open_v2\"
++if test "$cross_compiling" = "no"; then
++ AC_MSG_CHECKING([whether '$SQLITE_LIBDIR/libsqlite3' is usable])
++ GUILE_CHECK([retval],
++ [(dynamic-func \"sqlite3_open_v2\"
+ (dynamic-link \"$SQLITE_LIBDIR/libsqlite3\"))])
+-if test "$retval" != 0; then
+- AC_MSG_RESULT([no])
+- AC_MSG_ERROR([failed to load '$SQLITE_LIBDIR/libsqlite3'])
++ if test "$retval" != 0; then
++ AC_MSG_RESULT([no])
++ AC_MSG_ERROR([failed to load '$SQLITE_LIBDIR/libsqlite3'])
++ else
++ AC_MSG_RESULT([yes])
++ fi
+ else
+- AC_MSG_RESULT([yes])
++ GUILE_TARGET="--target=$host_alias"
++ AC_SUBST([GUILE_TARGET])
+ fi
+
+ AC_CONFIG_FILES([Makefile sqlite3.scm])
+--
+2.17.1
+
diff --git a/gnu/packages/patches/libffi-3.2.1-complex-alpha.patch b/gnu/packages/patches/libffi-3.2.1-complex-alpha.patch
deleted file mode 100644
index ebbc0635a5..0000000000
--- a/gnu/packages/patches/libffi-3.2.1-complex-alpha.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-The patch fixes build failure of form:
- ../src/alpha/osf.S:298:2: error: #error "osf.S out of sync with ffi.h"
-Upstream fixed the bug in a more invasive way
-but didn't have releases since 3.2.1.
-
-The patch is taken from Gentoo:
-https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-libs/libffi/files/libffi-3.2.1-complex_alpha.patch
-
---- libffi-3.2.1/src/alpha/osf.S 2015-01-16 10:46:15.000000000 +0100
-+++ libffi-3.2.1/src/alpha/osf.S 2015-01-16 10:46:24.000000000 +0100
-@@ -279,6 +279,7 @@
- .gprel32 $load_64 # FFI_TYPE_SINT64
- .gprel32 $load_none # FFI_TYPE_STRUCT
- .gprel32 $load_64 # FFI_TYPE_POINTER
-+ .gprel32 $load_none # FFI_TYPE_COMPLEX
-
- /* Assert that the table above is in sync with ffi.h. */
-
-@@ -294,7 +295,8 @@
- || FFI_TYPE_SINT64 != 12 \
- || FFI_TYPE_STRUCT != 13 \
- || FFI_TYPE_POINTER != 14 \
-- || FFI_TYPE_LAST != 14
-+ || FFI_TYPE_COMPLEX != 15 \
-+ || FFI_TYPE_LAST != 15
- #error "osf.S out of sync with ffi.h"
- #endif
-
diff --git a/gnu/packages/patches/libxslt-generated-ids.patch b/gnu/packages/patches/libxslt-generated-ids.patch
index 4273875c7c..1cd2363d6a 100644
--- a/gnu/packages/patches/libxslt-generated-ids.patch
+++ b/gnu/packages/patches/libxslt-generated-ids.patch
@@ -162,10 +162,10 @@ diff --git a/libxslt/xsltInternals.h b/libxslt/xsltInternals.h
index 95e8fe6..8eedae4 100644
--- a/libxslt/xsltInternals.h
+++ b/libxslt/xsltInternals.h
-@@ -1786,6 +1786,8 @@ struct _xsltTransformContext {
- int funcLevel; /* Needed to catch recursive functions issues */
- int maxTemplateDepth;
+@@ -1782,6 +1782,8 @@ struct _xsltTransformContext {
int maxTemplateVars;
+ unsigned long opLimit;
+ unsigned long opCount;
+
+ unsigned long nextid;/* for generating stable ids */
};
diff --git a/gnu/packages/patches/python-2.7-search-paths.patch b/gnu/packages/patches/python-2.7-search-paths.patch
index a012bc8fe0..5a345c7691 100644
--- a/gnu/packages/patches/python-2.7-search-paths.patch
+++ b/gnu/packages/patches/python-2.7-search-paths.patch
@@ -3,13 +3,17 @@ looking for headers and libraries.
--- Python-2.7.10/setup.py 2015-10-07 18:33:18.125153186 +0200
+++ Python-2.7.10/setup.py 2015-10-07 18:33:47.497347552 +0200
-@@ -526,6 +526,10 @@ class PyBuildExt(build_ext):
+@@ -526,6 +526,14 @@ class PyBuildExt(build_ext):
inc_dirs += ['/system/include', '/atheos/autolnk/include']
inc_dirs += os.getenv('C_INCLUDE_PATH', '').split(os.pathsep)
+ # Always honor these variables.
-+ lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep)
-+ inc_dirs += os.getenv('CPATH', '').split(os.pathsep)
++ if not cross_compiling:
++ lib_dirs += os.getenv('LIBRARY_PATH', '').split(os.pathsep)
++ inc_dirs += os.getenv('CPATH', '').split(os.pathsep)
++ else:
++ lib_dirs = os.getenv('CROSS_LIBRARY_PATH', '').split(os.pathsep)
++ inc_dirs = os.getenv('CROSS_CPATH', '').split(os.pathsep)
+
# OSF/1 and Unixware have some stuff in /usr/ccs/lib (like -ldb)
if host_platform in ['osf1', 'unixware7', 'openunix8']:
diff --git a/gnu/packages/patches/python-3-search-paths.patch b/gnu/packages/patches/python-3-search-paths.patch
index 5fea9c66b6..cf1647207b 100644
--- a/gnu/packages/patches/python-3-search-paths.patch
+++ b/gnu/packages/patches/python-3-search-paths.patch
@@ -3,7 +3,7 @@ looking for headers and libraries.
--- a/setup.py 2015-10-07 23:32:58.891329173 +0200
+++ b/setup.py 2015-10-07 23:46:29.653349924 +0200
-@@ -575,8 +575,8 @@
+@@ -575,15 +575,15 @@
# 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:
@@ -14,3 +14,12 @@ looking for headers and libraries.
else:
# Add the sysroot paths. 'sysroot' is a compiler option used to
# set the logical path of the standard system headers and
+ # libraries.
+- lib_dirs = (self.compiler.library_dirs +
++ lib_dirs = (os.getenv('CROSS_LIBRARY_PATH', '').split(os.pathsep) +
+ sysroot_paths(('LDFLAGS', 'CC'), system_lib_dirs))
+- inc_dirs = (self.compiler.include_dirs +
++ inc_dirs = (os.getenv('CROSS_CPATH', '').split(os.pathsep) +
+ sysroot_paths(('CPPFLAGS', 'CFLAGS', 'CC'),
+ system_include_dirs))
+ exts = []
diff --git a/gnu/packages/patches/python-cross-compile.patch b/gnu/packages/patches/python-cross-compile.patch
new file mode 100644
index 0000000000..5a470e1852
--- /dev/null
+++ b/gnu/packages/patches/python-cross-compile.patch
@@ -0,0 +1,145 @@
+Patch taken from https://bugs.python.org/issue22724 and augmented with
+following Nix patch
+https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/python/cpython/2.7/cross-compile.patch
+to fix the whole cross-compilation circus.
+
+---
+ Makefile.pre.in | 14 +++++++-------
+ configure | 5 ++++-
+ setup.py | 9 ++++++---
+ 3 files changed, 17 insertions(+), 11 deletions(-)
+
+diff --git a/Makefile.pre.in b/Makefile.pre.in
+index 2a14f3323b..6239fc32fc 100644
+--- a/Makefile.pre.in
++++ b/Makefile.pre.in
+@@ -492,7 +492,7 @@ $(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
+ $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+
+ platform: $(BUILDPYTHON) pybuilddir.txt
+- $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
++ $(RUNSHARED) $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
+
+ # Create build directory and generate the sysconfig build-time data there.
+ # pybuilddir.txt contains the name of the build dir and is used for
+@@ -503,7 +503,7 @@ platform: $(BUILDPYTHON) pybuilddir.txt
+ # or removed in case of failure.
+ pybuilddir.txt: $(BUILDPYTHON)
+ @echo "none" > ./pybuilddir.txt
+- $(RUNSHARED) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars ;\
++ $(RUNSHARED) $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars ;\
+ if test $$? -ne 0 ; then \
+ echo "generate-posix-vars failed" ; \
+ rm -f ./pybuilddir.txt ; \
+@@ -525,7 +525,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o
+ esac; \
+ $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
+ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
+- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
++ $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
+
+ # Build static library
+ # avoid long command lines, same as LIBRARY_OBJS
+@@ -928,7 +928,7 @@ install: @FRAMEWORKINSTALLFIRST@ commoninstall bininstall maninstall @FRAMEWORKI
+ upgrade) ensurepip="--upgrade" ;; \
+ install|*) ensurepip="" ;; \
+ esac; \
+- $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
++ $(RUNSHARED) $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) -m ensurepip \
+ $$ensurepip --root=$(DESTDIR)/ ; \
+ fi
+
+@@ -939,7 +939,7 @@ altinstall: commoninstall
+ upgrade) ensurepip="--altinstall --upgrade --no-default-pip" ;; \
+ install|*) ensurepip="--altinstall --no-default-pip" ;; \
+ esac; \
+- $(RUNSHARED) $(PYTHON_FOR_BUILD) -m ensurepip \
++ $(RUNSHARED) $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) -m ensurepip \
+ $$ensurepip --root=$(DESTDIR)/ ; \
+ fi
+
+@@ -1270,7 +1270,7 @@ libainstall: @DEF_MAKE_RULE@ python-config
+ # Install the dynamically loadable modules
+ # This goes into $(exec_prefix)
+ sharedinstall: sharedmods
+- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
++ $(RUNSHARED) $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
+ --prefix=$(prefix) \
+ --install-scripts=$(BINDIR) \
+ --install-platlib=$(DESTSHARED) \
+@@ -1344,7 +1344,7 @@ frameworkinstallextras:
+ # This installs a few of the useful scripts in Tools/scripts
+ scriptsinstall:
+ SRCDIR=$(srcdir) $(RUNSHARED) \
+- $(PYTHON_FOR_BUILD) $(srcdir)/Tools/scripts/setup.py install \
++ $(PY_BUILD_ENVIRON) $(PYTHON_FOR_BUILD) $(srcdir)/Tools/scripts/setup.py install \
+ --prefix=$(prefix) \
+ --install-scripts=$(BINDIR) \
+ --root=$(DESTDIR)/
+diff --git a/configure b/configure
+index 67300fe2b6..6050f588c5 100755
+--- a/configure
++++ b/configure
+@@ -741,6 +741,7 @@ CONFIG_ARGS
+ SOVERSION
+ VERSION
+ PYTHON_FOR_BUILD
++PY_BUILD_ENVIRON
+ PYTHON_FOR_REGEN
+ host_os
+ host_vendor
+@@ -2964,7 +2965,8 @@ $as_echo_n "checking for python interpreter for cross build... " >&6; }
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $interp" >&5
+ $as_echo "$interp" >&6; }
+- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp
++ PY_BUILD_ENVIRON='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR)'
++ PYTHON_FOR_BUILD=$interp
+ fi
+ elif test "$cross_compiling" = maybe; then
+ as_fn_error $? "Cross compiling required --host=HOST-TUPLE and --build=ARCH" "$LINENO" 5
+@@ -2974,6 +2976,7 @@ fi
+
+
+
++
+ if test "$prefix" != "/"; then
+ prefix=`echo "$prefix" | sed -e 's/\/$//g'`
+ fi
+diff --git a/setup.py b/setup.py
+index cb47a2339c..472e7e2b26 100644
+--- a/setup.py
++++ b/setup.py
+@@ -497,8 +497,6 @@ class PyBuildExt(build_ext):
+ if not cross_compiling:
+ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
+ add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+- if cross_compiling:
+- self.add_gcc_paths()
+ self.add_multiarch_paths()
+
+ # Add paths specified in the environment variables LDFLAGS and
+@@ -556,7 +554,10 @@ class PyBuildExt(build_ext):
+ # be assumed that no additional -I,-L directives are needed.
+ inc_dirs = self.compiler.include_dirs[:]
+ lib_dirs = self.compiler.library_dirs[:]
+- if not cross_compiling:
++ if cross_compiling:
++ inc_dirs = []
++ lib_dirs = []
++ else:
+ for d in (
+ '/usr/include',
+ ):
+@@ -621,6 +622,8 @@ class PyBuildExt(build_ext):
+ # Some modules that are normally always on:
+ #exts.append( Extension('_weakref', ['_weakref.c']) )
+
++ self.compiler.library_dirs = lib_dirs + [ '.' ]
++
+ # array objects
+ exts.append( Extension('array', ['arraymodule.c']) )
+
+--
+2.17.1
+
diff --git a/gnu/packages/patches/swig-guile-gc.patch b/gnu/packages/patches/swig-guile-gc.patch
deleted file mode 100644
index 0e745a6247..0000000000
--- a/gnu/packages/patches/swig-guile-gc.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-Fix garbage collection for Guile versions >= 2.0.12. This issue showed
-up when running the tests on i686-linux.
-
-Taken from this upstream commit:
-https://github.com/swig/swig/commit/38f2ab0c30e369e63bbd0a6152108488d0de68e1
-
-diff --git a/Lib/guile/guile_scm_run.swg b/Lib/guile/guile_scm_run.swg
-index 274f197158..0d04cb7c62 100644
---- a/Lib/guile/guile_scm_run.swg
-+++ b/Lib/guile/guile_scm_run.swg
-@@ -99,6 +99,7 @@ SWIG_Guile_scm2newstr(SCM str, size_t *len) {
- static int swig_initialized = 0;
- static scm_t_bits swig_tag = 0;
- static scm_t_bits swig_collectable_tag = 0;
-+static scm_t_bits swig_finalized_tag = 0;
- static scm_t_bits swig_destroyed_tag = 0;
- static scm_t_bits swig_member_function_tag = 0;
- static SCM swig_make_func = SCM_EOL;
-@@ -163,7 +164,19 @@ SWIG_Guile_PointerType(SCM object)
- }
- else scm_wrong_type_arg("SWIG-Guile-PointerType", 1, object);
- }
--
-+
-+SWIGINTERN int
-+SWIG_Guile_IsValidSmob(SCM smob)
-+{
-+ /* We do not accept smobs representing destroyed pointers, but we have to
-+ allow finalized smobs because Guile >= 2.0.12 sets all smob instances
-+ to the 'finalized' type before calling their 'free' function. This change
-+ was introduced to Guile in commit 8dff3af087c6eaa83ae0d72aa8b22aef5c65d65d */
-+ return SCM_SMOB_PREDICATE(swig_tag, smob)
-+ || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)
-+ || SCM_SMOB_PREDICATE(swig_finalized_tag, smob);
-+}
-+
- SWIGINTERN int
- SWIG_Guile_ConvertPtr(SCM s, void **result, swig_type_info *type, int flags)
- {
-@@ -179,8 +192,7 @@ SWIG_Guile_ConvertPtr(SCM s, void **result, swig_type_info *type, int flags)
- *result = SCM_POINTER_VALUE(s);
- return SWIG_OK;
- #endif /* if SCM_MAJOR_VERSION >= 2 */
-- } else if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
-- /* we do not accept smobs representing destroyed pointers */
-+ } else if (SWIG_Guile_IsValidSmob(smob)) {
- from = (swig_type_info *) SCM_CELL_WORD_2(smob);
- if (!from) return SWIG_ERROR;
- if (type) {
-@@ -239,7 +251,7 @@ SWIG_Guile_MarkPointerNoncollectable(SCM s)
- {
- SCM smob = SWIG_Guile_GetSmob(s);
- if (!SCM_NULLP(smob)) {
-- if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
-+ if (SWIG_Guile_IsValidSmob(smob)) {
- SCM_SET_CELL_TYPE(smob, swig_tag);
- }
- else scm_wrong_type_arg(NULL, 0, s);
-@@ -252,7 +264,7 @@ SWIG_Guile_MarkPointerDestroyed(SCM s)
- {
- SCM smob = SWIG_Guile_GetSmob(s);
- if (!SCM_NULLP(smob)) {
-- if (SCM_SMOB_PREDICATE(swig_tag, smob) || SCM_SMOB_PREDICATE(swig_collectable_tag, smob)) {
-+ if (SWIG_Guile_IsValidSmob(smob)) {
- SCM_SET_CELL_TYPE(smob, swig_destroyed_tag);
- }
- else scm_wrong_type_arg(NULL, 0, s);
-@@ -419,6 +431,8 @@ SWIG_Guile_Init ()
- scm_set_smob_print(swig_collectable_tag, print_collectable_swig);
- scm_set_smob_equalp(swig_collectable_tag, equalp_swig);
- scm_set_smob_free(swig_collectable_tag, free_swig);
-+ /* For Guile >= 2.0.12. See libguile/smob.c:clear_smobnum */
-+ swig_finalized_tag = swig_collectable_tag & ~0xff00;
- }
- if (ensure_smob_tag(swig_module, &swig_destroyed_tag,
- "destroyed-swig-pointer", "destroyed-swig-pointer-tag")) {
diff --git a/gnu/packages/patches/tcl-fix-cross-compilation.patch b/gnu/packages/patches/tcl-fix-cross-compilation.patch
new file mode 100644
index 0000000000..00c36b8f27
--- /dev/null
+++ b/gnu/packages/patches/tcl-fix-cross-compilation.patch
@@ -0,0 +1,39 @@
+From f7fa48c4c75a1e748dc5071e709c0b62ff739eaa Mon Sep 17 00:00:00 2001
+From: "jan.nijtmans" <nijtmans@users.sourceforge.net>
+Date: Mon, 9 Dec 2019 10:02:20 +0000
+Subject: [PATCH] Fix [abd4abedd2]: Failed to build tk 8.6.10 with cross
+ compile
+
+Patch taken from upstream to fix cross-compilation. To be removed on next Tcl release.
+
+---
+ compat/strtol.c | 2 +-
+ compat/strtoul.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/compat/strtol.c b/compat/strtol.c
+index b7f69196ce2..811006a64c3 100644
+--- a/compat/strtol.c
++++ b/compat/strtol.c
+@@ -53,7 +53,7 @@ strtol(
+ */
+
+ p = string;
+- while (TclIsSpaceProc(*p)) {
++ while (isspace(UCHAR(*p))) {
+ p += 1;
+ }
+
+diff --git a/compat/strtoul.c b/compat/strtoul.c
+index e37eb05f823..15587f1da1a 100644
+--- a/compat/strtoul.c
++++ b/compat/strtoul.c
+@@ -74,7 +74,7 @@ strtoul(
+ */
+
+ p = string;
+- while (TclIsSpaceProc(*p)) {
++ while (isspace(UCHAR(*p))) {
+ p += 1;
+ }
+ if (*p == '-') {
diff --git a/gnu/packages/patches/tcsh-fix-autotest.patch b/gnu/packages/patches/tcsh-fix-autotest.patch
index 78444a1b2a..200867cb9b 100644
--- a/gnu/packages/patches/tcsh-fix-autotest.patch
+++ b/gnu/packages/patches/tcsh-fix-autotest.patch
@@ -63,38 +63,14 @@
AT_DATA([comment2.csh],
[[echo testing...@%:@\
-@@ -567,10 +567,10 @@ run=3
-# Adapt to changes in sed 4.3:
-# https://github.com/tcsh-org/tcsh/commit/2ad4fc1705893207598ed5cd21713ddf3f17bba0
- ]])
- AT_DATA([uniformity_test.csh],
- [[
--set SERVICE_NAME_LOG = `cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g'`
-+set SERVICE_NAME_LOG = `cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g'`
- echo -n "$SERVICE_NAME_LOG" > ./output1
-
--cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g' > ./output2
-+cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g' > ./output2
-
- diff -uprN ./output1 ./output2 >& /dev/null
-
-@@ -587,7 +587,7 @@ AT_DATA([quoting_result_test.csh],
- echo "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP\)(HOST=db\)(PORT=1521\)\)(CONNECT_DATA=(SERVER=DEDICATED\)(SERVICE_NAME=bns03\)\)\)" > ./expected_result
-
- set string = "jdbc_url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=bns03)))"
--set SERVICE_NAME_LOG = `echo "$string" | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\)/\\\)/g'`
-+set SERVICE_NAME_LOG = `echo "$string" | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\)/\\\)/g'`
-
- echo "$SERVICE_NAME_LOG" > ./actual_result
-
--- tests/subst.at
+++ tests/subst.at
-@@ -54,7 +54,7 @@ AT_CHECK([echo 'echo ~; echo "$HOME"' | tcsh -f | uniq | wc -l | tr -d ' \t'],
+@@ -54,7 +54,7 @@ AT_CHECK([export HOME=$(getent passwd $(id -un) | awk -F: '{ print $(NF - 1) }')
, [1
])
--AT_CHECK([echo "echo ~$(id -un)/foo; echo \"$HOME/foo\"" | tcsh -f | uniq dnl
-+AT_CHECK([echo "echo ~$(id -un)/foo; echo \"$HOME/foo\"" | tcsh -f | grep -v "/homeless-shelter" | uniq dnl
+-AT_CHECK([export HOME=$(getent passwd $(id -un) | awk -F: '{ print $(NF - 1) }'); echo "echo ~$(id -un)/foo; echo \"\$HOME/foo\"" | tcsh -f | uniq dnl
++AT_CHECK([export HOME=$(getent passwd $(id -un) | awk -F: '{ print $(NF - 1) }'); echo "echo ~$(id -un)//foo; echo \"\$HOME/foo\"" | tcsh -f | uniq dnl
| wc -l | tr -d ' \t'], , [1
])
@@ -110,21 +86,6 @@
]])
chmod a+x args.sh
AT_CHECK([tcsh -f listflags.csh], ,
-@@ -704,9 +705,9 @@ AT_CHECK([tcsh -f mail.csh], ,
-# This test fails by trying to change to the build user's home
-# directory, which does not exist.
- AT_CLEANUP
-
-
--AT_SETUP([$ cdtohome])
--AT_CHECK([tcsh -f -c 'cd'], 0)
--AT_CLEANUP
-+#AT_SETUP([$ cdtohome])
-+#AT_CHECK([tcsh -f -c 'cd'], 0)
-+#AT_CLEANUP
- AT_SETUP([$ noimplicithome])
- AT_CHECK([tcsh -f -c 'unset cdtohome; cd'], 1, , [cd: Too few arguments.
- ])
@@ -728,55 +729,57 @@ TCSH_UNTESTED([$ oid])
AT_SETUP([$ owd])
diff --git a/gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch b/gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch
deleted file mode 100644
index 48c294f78e..0000000000
--- a/gnu/packages/patches/tcsh-fix-out-of-bounds-read.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Fix out-of-bounds read in c_substitute():
-
-http://seclists.org/oss-sec/2016/q4/612
-
-Patch copied from upstream source repository:
-
-https://github.com/tcsh-org/tcsh/commit/6a542dc4fb2ba26518a47e9b3a9bcd6a91b94596
-
-From 6a542dc4fb2ba26518a47e9b3a9bcd6a91b94596 Mon Sep 17 00:00:00 2001
-From: christos <christos>
-Date: Fri, 2 Dec 2016 16:59:28 +0000
-Subject: [PATCH] Fix out of bounds read (Brooks Davis) (reproduce by starting
- tcsh and hitting tab at the prompt)
-
----
- ed.chared.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ed.chared.c b/ed.chared.c
-index 1277e53..310393e 100644
---- ed.chared.c
-+++ ed.chared.c
-@@ -750,7 +750,7 @@ c_substitute(void)
- /*
- * If we found a history character, go expand it.
- */
-- if (HIST != '\0' && *p == HIST)
-+ if (p >= InputBuf && HIST != '\0' && *p == HIST)
- nr_exp = c_excl(p);
- else
- nr_exp = 0;
diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm
index f8b79cf907..18d7c1e56c 100644
--- a/gnu/packages/pciutils.scm
+++ b/gnu/packages/pciutils.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,6 +23,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages compression)
#:use-module (gnu packages pkg-config)
@@ -42,12 +44,26 @@
"1wwkpglvvr1sdj2gxz9khq507y02c4px48njy25divzdhv4jwifv"))))
(build-system gnu-build-system)
(arguments
- '(#:phases
+ `(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
;; There's no 'configure' script, just a raw makefile.
(substitute* "Makefile"
+ ,@(if (%current-target-system)
+ `((("^CROSS_COMPILE=.*$")
+ (string-append "CROSS_COMPILE="
+ ,(%current-target-system) "-"
+ "\n"))
+ (("^HOST=.*$")
+ (string-append "HOST="
+ ,(gnu-triplet->nix-system
+ (%current-target-system)) "\n"))
+ ;; Disable 'install' strip option, that would fail when
+ ;; we are cross-compiling.
+ (("^STRIP=.*$")
+ "STRIP=\n"))
+ '())
(("^PREFIX=.*$")
(string-append "PREFIX := " (assoc-ref outputs "out")
"\n"))
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index ebe0168ff2..b5ce6e4c2c 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -90,14 +90,14 @@
(define-public poppler
(package
(name "poppler")
- (version "0.79.0")
+ (version "0.83.0")
(source (origin
(method url-fetch)
(uri (string-append "https://poppler.freedesktop.org/poppler-"
version ".tar.xz"))
(sha256
(base32
- "1j18jlv1q6h21azb939gqjsgcbsh5qcd8dwxdmad54p5ixha91gr"))))
+ "16vr1g5qsqwyxfnyikqw37i04x9zpp45far2x90c7qbijw6nap38"))))
(build-system cmake-build-system)
;; FIXME:
;; use libcurl: no
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index f732c0ed46..89254de339 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -22,6 +22,7 @@
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -66,14 +67,14 @@
;; Yeah, Perl... It is required early in the bootstrap process by Linux.
(package
(name "perl")
- (version "5.30.0")
+ (version "5.30.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/src/5.0/perl-"
version ".tar.gz"))
(sha256
(base32
- "1wkmz6xn3fswpqhz29akiklcxclnlykhp96a8bqcz36rak3i64l5"))
+ "0r7r8a7pkgxp3w5lza559ahxczw6hzpwvhkpc4c99vpi3xbjagdz"))
(patches (search-patches
"perl-no-sys-dirs.patch"
"perl-autosplit-default-time.patch"
@@ -81,7 +82,7 @@
"perl-reproducible-build-date.patch"))))
(build-system gnu-build-system)
(arguments
- '(#:tests? #f
+ `(#:tests? #f
#:configure-flags
(let ((out (assoc-ref %outputs "out"))
(libc (assoc-ref %build-inputs "libc")))
@@ -115,22 +116,12 @@
(lambda* (#:key configure-flags #:allow-other-keys)
(format #t "Perl configure flags: ~s~%" configure-flags)
(apply invoke "./Configure" configure-flags)))
- (add-before
- 'strip 'make-shared-objects-writable
- (lambda* (#:key outputs #:allow-other-keys)
- ;; The 'lib/perl5' directory contains ~50 MiB of .so. Make them
- ;; writable so that 'strip' actually strips them.
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib")))
- (for-each (lambda (dso)
- (chmod dso #o755))
- (find-files lib "\\.so$"))
- #t)))
-
(add-after 'install 'remove-extra-references
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
- (libc (assoc-ref inputs "libc"))
+ (libc (assoc-ref inputs
+ ,(if (%current-target-system)
+ "cross-libc" "libc")))
(config1 (car (find-files (string-append out "/lib/perl5")
"^Config_heavy\\.pl$")))
(config2 (find-files (string-append out "/lib/perl5")
diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm
index c3bc3025a3..9c632532be 100644
--- a/gnu/packages/pkg-config.scm
+++ b/gnu/packages/pkg-config.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -49,7 +50,17 @@
(base32
"14fmwzki1rlz8bs2p810lk6jqdxsk966d8drgsjmi54cd00rrikg"))))
(build-system gnu-build-system)
- (arguments `(#:configure-flags '("--with-internal-glib")))
+ (arguments
+ `(#:configure-flags
+ '("--with-internal-glib"
+ ;; Those variables are guessed incorrectly when cross-compiling.
+ ;; See: https://developer.gimp.org/api/2.0/glib/glib-cross-compiling.html.
+ ,@(if (%current-target-system)
+ '("glib_cv_stack_grows=no"
+ "glib_cv_uscore=no"
+ "ac_cv_func_posix_getpwuid_r=yes"
+ "ac_cv_func_posix_getgrgid_r=yes")
+ '()))))
(native-search-paths
(list (search-path-specification
(variable "PKG_CONFIG_PATH")
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 671dcd1563..77b85550db 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,6 +30,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix utils)
#:use-module ((guix licenses) #:prefix l:)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
@@ -103,10 +105,28 @@ for reading and writing new sound file formats.")
"1ha46i0nbibq0pl0pjwcqiyny4hj8lp1bnl4dpxm64zjw9lb2zha"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ("automake" ,automake))) ;For up to date 'config.guess' and 'config.sub'.
(propagated-inputs
`(("libsndfile" ,libsndfile)
("fftw" ,fftw)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-configure
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.sub and config.guess:
+ (with-directory-excursion "Cfg"
+ (for-each (lambda (file)
+ (install-file (string-append
+ (assoc-ref
+ (or native-inputs inputs) "automake")
+ "/share/automake-"
+ ,(version-major+minor
+ (package-version automake))
+ "/" file) "."))
+ '("config.sub" "config.guess")))
+ #t)))))
(home-page "http://www.mega-nerd.com/SRC/index.html")
(synopsis "Audio sample rate conversion library")
(description
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f41e59c047..574c596e5f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -6799,13 +6799,13 @@ add functionality and customization to your projects with their own plugins.")
(define-public python-fonttools
(package
(name "python-fonttools")
- (version "3.38.0")
+ (version "4.2.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "fonttools" version ".zip"))
(sha256
(base32
- "12ripk3s7skgxr1bs9r8n13r94ym3s8iir7ivfixls9fa4dabmlh"))))
+ "0psy6z52jn49wp93s3k7kj0jzji1cad3wnwgm6c26vphv5appk4v"))))
(build-system python-build-system)
(native-inputs
`(("unzip" ,unzip)
@@ -6821,8 +6821,18 @@ also contains a tool called “TTX” which converts TrueType/OpenType fonts to
from an XML-based format.")
(license license:expat)))
+;; Fonttools 4.x dropped support for Python 2, so stick with 3.x here.
(define-public python2-fonttools
- (package-with-python2 python-fonttools))
+ (let ((base (package-with-python2 (strip-python2-variant python-fonttools))))
+ (package/inherit
+ base
+ (version "3.44.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "fonttools" version ".zip"))
+ (sha256
+ (base32
+ "0v6399g755f2hn1ry62i5b6gdinf2fpx2966v3bxh6bjw1accb5p")))))))
(define-public python-ly
(package
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 048941e8a9..ef1c8e4a09 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -38,7 +38,7 @@
;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com>
;;; Copyright © 2017, 2018 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
-;;; Copyright © 2017, 2018 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
@@ -110,7 +110,8 @@
"python-2-deterministic-build-info.patch"
"python-2.7-site-prefixes.patch"
"python-2.7-source-date-epoch.patch"
- "python-2.7-adjust-tests.patch"))
+ "python-2.7-adjust-tests.patch"
+ "python-cross-compile.patch"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -151,6 +152,13 @@
"INSTALL=install -c"
"MKDIR_P=mkdir -p"
+ ;; Disable runtime check failing if cross-compiling, see:
+ ;; https://lists.yoctoproject.org/pipermail/poky/2013-June/008997.html
+ ,@(if (%current-target-system)
+ '("ac_cv_buggy_getaddrinfo=no"
+ "ac_cv_file__dev_ptmx=no"
+ "ac_cv_file__dev_ptc=no")
+ '())
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))
;; With no -j argument tests use all available cpus, so provide one.
@@ -171,6 +179,12 @@
(add-before
'configure 'patch-lib-shells
(lambda _
+ ;; This variable is used in setup.py to enable cross compilation
+ ;; specific switches. As it is not set properly by configure
+ ;; script, set it manually.
+ ,@(if (%current-target-system)
+ '((setenv "_PYTHON_HOST_PLATFORM" ""))
+ '())
;; Filter for existing files, since some may not exist in all
;; versions of python that are built with this recipe.
(substitute* (filter file-exists?
@@ -250,7 +264,9 @@
(if (null? opt) "none" (car opt)))
(for-each (lambda (file)
(apply invoke
- `(,(string-append out "/bin/python")
+ `(,,(if (%current-target-system)
+ "python2"
+ '(string-append out "/bin/python"))
,@opt
"-m" "compileall"
"-f" ; force rebuild
@@ -293,7 +309,12 @@
("tcl" ,tcl)
("tk" ,tk))) ; for tkinter
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ;; When cross-compiling, a native version of Python itself is needed.
+ ,@(if (%current-target-system)
+ `(("python2" ,this-package)
+ ("which" ,which))
+ '())))
(native-search-paths
(list (search-path-specification
(variable "PYTHONPATH")
@@ -356,19 +377,15 @@ data types.")
" --exclude test_mmap"
;; test_socket may hang and eventually run out of memory
;; on some systems: <https://bugs.python.org/issue34587>.
- " test_socket"
- ;; XXX: test_ctypes fails on some platforms due to a problem in
- ;; libffi 3.2.1: <https://bugs.python.org/issue23249>.
- ,@(if (string-prefix? "aarch64" (%current-system))
- '(" test_ctypes")
- '()))))
+ " test_socket")))
((#:phases phases)
`(modify-phases ,phases
(add-before 'check 'set-TZDIR
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
;; test_email requires the Olson time zone database.
(setenv "TZDIR"
- (string-append (assoc-ref inputs "tzdata")
+ (string-append (assoc-ref
+ (or native-inputs inputs) "tzdata")
"/share/zoneinfo"))
#t))
;; Unset SOURCE_DATE_EPOCH while running the test-suite and set it
@@ -389,18 +406,24 @@ data types.")
(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.
- "-x" "lib2to3/.*"
- ,file)))
+ `(,,(if (%current-target-system)
+ "python3"
+ '(string-append out
+ "/bin/python3"))
+ ,@opt
+ "-m" "compileall"
+ "-f" ; force rebuild
+ ;; Don't build lib2to3, because it's Python 2 code.
+ "-x" "lib2to3/.*"
+ ,file)))
(find-files out "\\.py$")))
(list '() '("-O") '("-OO")))
#t)))))))
(native-inputs
`(("tzdata" ,tzdata-for-tests)
+ ,@(if (%current-target-system)
+ `(("python3" ,this-package))
+ '())
,@(package-native-inputs python-2)))
(native-search-paths
(list (search-path-specification
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 795b5e9d2b..4036b27b4a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -191,7 +191,7 @@ system, and the core design of Django is reused in Grantlee.")
("postgresql" ,postgresql)
("pulseaudio" ,pulseaudio)
("pcre2" ,pcre2)
- ("sqlite" ,sqlite-with-column-metadata)
+ ("sqlite" ,sqlite)
("udev" ,eudev)
("unixodbc" ,unixodbc)
("wayland" ,wayland)
@@ -387,7 +387,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
("pcre2" ,pcre2)
("postgresql" ,postgresql)
("pulseaudio" ,pulseaudio)
- ("sqlite" ,sqlite-with-column-metadata)
+ ("sqlite" ,sqlite)
("unixodbc" ,unixodbc)
("xcb-util" ,xcb-util)
("xcb-util-image" ,xcb-util-image)
@@ -1970,7 +1970,7 @@ different kinds of sliders, and much more.")
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libwebp" ,libwebp)
- ("sqlite" ,sqlite-with-column-metadata)
+ ("sqlite" ,sqlite)
("fontconfig" ,fontconfig)
("libxrender" ,libxrender)
("qtbase" ,qtbase)
diff --git a/gnu/packages/readline.scm b/gnu/packages/readline.scm
index 57d550d67f..9f886f9b6e 100644
--- a/gnu/packages/readline.scm
+++ b/gnu/packages/readline.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,22 +31,29 @@
#:use-module (guix utils)
#:use-module (ice-9 format))
-(define (patch-url seqno)
- (format #f "mirror://gnu/readline/readline-7.0-patches/readline70-~3,'0d" seqno))
+(define (patch-url version seqno)
+ (format #f "mirror://gnu/readline/readline-~a-patches/readline~a-~3,'0d"
+ version (string-join (string-split version #\.) "") seqno))
-(define (readline-patch seqno sha256)
+(define (readline-patch version seqno sha256)
"Return the origin of Readline patch SEQNO, with expected hash SHA256"
(origin
(method url-fetch)
- (uri (patch-url seqno))
+ (uri (patch-url version seqno))
(sha256 sha256)))
-(define-syntax-rule (patch-series (seqno hash) ...)
- (list (readline-patch seqno (base32 hash))
+(define-syntax-rule (patch-series version (seqno hash) ...)
+ (list (readline-patch version seqno (base32 hash))
...))
+(define %patch-series-8.0
+ (patch-series
+ "8.0"
+ (1 "0sfh7wn0pr743xspnb1zndxndlv9rc0hcg14cbw5cmyg6f4ykrfq")))
+
(define %patch-series-7.0
(patch-series
+ "7.0"
(1 "0xm3sxvwmss7ddyfb11n6pgcqd1aglnpy15g143vzcf75snb7hcs")
(2 "0n1dxmqsbjgrfxb1hgk5c6lsraw4ncbnzxlsx7m35nym6lncjiw7")
(3 "1027kmymniizcy0zbdlrczxfx3clxcdln5yq05q9yzlc6y9slhwy")
@@ -55,7 +63,8 @@
(define-public readline
(package
(name "readline")
- (version "8.0")
+ (version (string-append "8.0."
+ (number->string (length %patch-series-8.0))))
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/readline/readline-"
@@ -63,7 +72,8 @@
(sha256
(base32
"0qg4924hf4hg0r0wbx2chswsr08734536fh5iagkd3a7f4czafg3"))
- (patches (search-patches "readline-link-ncurses.patch"))
+ (patches (append %patch-series-8.0
+ (search-patches "readline-link-ncurses.patch")))
(patch-flags '("-p0"))))
(build-system gnu-build-system)
(propagated-inputs `(("ncurses" ,ncurses)))
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ad675dc488..57d7fa91f3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
;;; Copyright © 2019 Collin J. Doering <collin@rekahsoft.ca>
;;; Copyright © 2019 Diego N. Barbato <dnbarbato@posteo.de>
+;;; Copyright © 2019 Brett Gilio <brettg@posteo.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -95,6 +96,7 @@
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
+ #:configure-flags '("--enable-shared") ; dynamic linking
#:phases
(modify-phases %standard-phases
(add-before 'configure 'replace-bin-sh-and-remove-libffi
diff --git a/gnu/packages/selinux.scm b/gnu/packages/selinux.scm
index 1c45cb8c7e..49362d129b 100644
--- a/gnu/packages/selinux.scm
+++ b/gnu/packages/selinux.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -39,7 +40,6 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages swig)
- #:use-module (gnu packages textutils)
#:use-module (gnu packages xml))
;; Update the SELinux packages together!
@@ -47,8 +47,8 @@
(define-public libsepol
(package
(name "libsepol")
- (version "2.7")
- (source (let ((release "20170804"))
+ (version "3.0")
+ (source (let ((release "20191204"))
(origin
(method git-fetch)
(uri (git-reference
@@ -57,7 +57,7 @@
(file-name (string-append "selinux-" release "-checkout"))
(sha256
(base32
- "1l1nn8bx08v4cxkw5kb0wgr61rfqj5ra9dh1dy5jslillj93vivq")))))
+ "05rpzm72cgprd0ccr6lvx9hm8j8b5nkqi4avshlsyg7s3sdlcxjs")))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; tests require checkpolicy, which requires libsepol
@@ -65,7 +65,7 @@
#:make-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "PREFIX=" out)
- (string-append "DESTDIR=" out)
+ (string-append "SHLIBDIR=" out "/lib")
(string-append "MAN3DIR=" out "/share/man/man3")
(string-append "MAN5DIR=" out "/share/man/man5")
(string-append "MAN8DIR=" out "/share/man/man8")
@@ -139,7 +139,7 @@ module into a binary representation.")
(string-append "LIBSEPOLA="
(assoc-ref %build-inputs "libsepol")
"/lib/libsepol.a")
- (string-append "PYSITEDIR="
+ (string-append "PYTHONLIBDIR="
(assoc-ref %outputs "python")
"/lib/python"
,(version-major+minor (package-version python))
@@ -150,19 +150,17 @@ module into a binary representation.")
(delete 'portability)
(replace 'enter-dir
(lambda _ (chdir ,name) #t))
- (add-after 'enter-dir 'remove-Werror
- (lambda _
- ;; GCC complains about the fact that the output does not (yet)
- ;; have an "include" directory, even though it is referenced.
- (substitute* '("src/Makefile"
- "utils/Makefile")
- (("-Werror ") ""))
- #t))
(add-after 'build 'pywrap
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "pywrap" make-flags)))
(add-after 'install 'install-pywrap
- (lambda* (#:key make-flags #:allow-other-keys)
+ (lambda* (#:key make-flags outputs #:allow-other-keys)
+ ;; The build system uses "python setup.py install" to install
+ ;; Python bindings. Instruct it to use the correct output.
+ (substitute* "src/Makefile"
+ (("--prefix=\\$\\(PREFIX\\)")
+ (string-append "--prefix=" (assoc-ref outputs "python"))))
+
(apply invoke "make" "install-pywrap" make-flags)))))))
;; These libraries are in "Requires.private" in libselinux.pc.
(propagated-inputs
@@ -191,7 +189,7 @@ the core SELinux management utilities.")
(substitute-keyword-arguments (package-arguments libsepol)
((#:make-flags flags)
`(cons* "PYTHON=python3"
- (string-append "PYSITEDIR="
+ (string-append "PYTHONLIBDIR="
(assoc-ref %outputs "out")
"/lib/python"
,(version-major+minor (package-version python))
@@ -202,6 +200,12 @@ the core SELinux management utilities.")
(delete 'portability)
(replace 'enter-dir
(lambda _ (chdir ,name) #t))
+ (add-before 'install 'adjust-semanage-conf-location
+ (lambda _
+ (substitute* "src/Makefile"
+ (("DEFAULT_SEMANAGE_CONF_LOCATION=/etc")
+ "DEFAULT_SEMANAGE_CONF_LOCATION=$(PREFIX)/etc"))
+ #t))
(add-after 'build 'pywrap
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "pywrap" make-flags)))
@@ -212,7 +216,6 @@ the core SELinux management utilities.")
`(("libsepol" ,libsepol)
("libselinux" ,libselinux)
("audit" ,audit)
- ("ustr" ,ustr)
;; For pywrap phase
("python" ,python-wrapper)))
(native-inputs
@@ -393,11 +396,6 @@ tools, and libraries designed to facilitate SELinux policy analysis.")
(lambda _ (chdir ,name) #t))
(add-after 'enter-dir 'ignore-/usr-tests
(lambda* (#:key inputs #:allow-other-keys)
- ;; The Makefile decides to build restorecond only if it finds the
- ;; inotify header somewhere under /usr.
- (substitute* "Makefile"
- (("ifeq.*") "")
- (("endif.*") ""))
;; Rewrite lookup paths for header files.
(substitute* '("newrole/Makefile"
"setfiles/Makefile"
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 1d2f754e4a..0369a20e0c 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Meiyo Peng <meiyo.peng@gmail.com>
;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
@@ -334,7 +335,7 @@ written by Paul Haahr and Byron Rakitzis.")
(define-public tcsh
(package
(name "tcsh")
- (version "6.20.00")
+ (version "6.22.02")
(source (origin
(method url-fetch)
;; Old tarballs are moved to old/.
@@ -344,9 +345,8 @@ written by Paul Haahr and Byron Rakitzis.")
"old/tcsh-" version ".tar.gz")))
(sha256
(base32
- "17ggxkkn5skl0v1x0j6hbv5l0sgnidfzwv16992sqkdm983fg7dq"))
- (patches (search-patches "tcsh-fix-autotest.patch"
- "tcsh-fix-out-of-bounds-read.patch"))
+ "0nw8prz1n0lmr82wnpyhrzmki630afn7p9cfgr3vl00vr9c72a7d"))
+ (patches (search-patches "tcsh-fix-autotest.patch"))
(patch-flags '("-p0"))))
(build-system gnu-build-system)
(native-inputs
@@ -357,6 +357,14 @@ written by Paul Haahr and Byron Rakitzis.")
(arguments
`(#:phases
(modify-phases %standard-phases
+ ,@(if (%current-target-system)
+ '((add-before 'configure 'set-cross-cc
+ (lambda _
+ (substitute* "configure"
+ (("CC_FOR_GETHOST=\"cc\"")
+ "CC_FOR_GETHOST=\"gcc\""))
+ #t)))
+ '())
(add-before 'check 'patch-test-scripts
(lambda _
;; Take care of pwd
diff --git a/gnu/packages/sqlite.scm b/gnu/packages/sqlite.scm
index 6d6df17f90..195146aca2 100644
--- a/gnu/packages/sqlite.scm
+++ b/gnu/packages/sqlite.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 David Craven <david@craven.ch>
-;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -46,7 +46,7 @@
(define-public sqlite
(package
(name "sqlite")
- (version "3.28.0")
+ (version "3.30.1")
(source (origin
(method url-fetch)
(uri (let ((numeric-version
@@ -62,9 +62,10 @@
numeric-version ".tar.gz")))
(sha256
(base32
- "1hxpi45crbqp6lacl7z611lna02k956m9bsy2bjzrbb2y23546yn"))))
+ "0q4f57a5995wz9c7dfiqy9zwl0kn0b900nxwinqa3llv13dm0nlc"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)))
+ (outputs '("out" "static"))
(arguments
`(#:configure-flags
;; Add -DSQLITE_SECURE_DELETE, -DSQLITE_ENABLE_FTS3,
@@ -74,7 +75,25 @@
(list (string-append "CFLAGS=-O2 -DSQLITE_SECURE_DELETE "
"-DSQLITE_ENABLE_FTS3 "
"-DSQLITE_ENABLE_UNLOCK_NOTIFY "
- "-DSQLITE_ENABLE_DBSTAT_VTAB"))))
+ "-DSQLITE_ENABLE_DBSTAT_VTAB "
+ ;; Column metadata is required by GNU Jami and Qt, et.al.
+ "-DSQLITE_ENABLE_COLUMN_METADATA"))
+ #:phases (modify-phases %standard-phases
+ (add-after 'install 'move-static-library
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (static (assoc-ref outputs "static"))
+ (source (string-append out "/lib/libsqlite3.a")))
+ (mkdir-p (string-append static "/lib"))
+ (link source (string-append static "/lib/libsqlite3.a"))
+ (delete-file source)
+
+ ;; Remove reference to the static library from the .la file
+ ;; so that Libtool looks for it in the usual places.
+ (substitute* (string-append out "/lib/libsqlite3.la")
+ (("^old_library=.*")
+ "old_library=''\n"))
+ #t))))))
(home-page "https://www.sqlite.org/")
(synopsis "The SQLite database management system")
(description
@@ -83,15 +102,3 @@ zero-configuration, transactional SQL database engine. SQLite is the most
widely deployed SQL database engine in the world. The source code for SQLite
is in the public domain.")
(license license:public-domain)))
-
-;; This is used by Qt.
-(define-public sqlite-with-column-metadata
- (package/inherit sqlite
- (name "sqlite-with-column-metadata")
- (arguments
- (substitute-keyword-arguments (package-arguments sqlite)
- ((#:configure-flags flags)
- `(list (string-append "CFLAGS=-O2 -DSQLITE_SECURE_DELETE "
- "-DSQLITE_ENABLE_UNLOCK_NOTIFY "
- "-DSQLITE_ENABLE_DBSTAT_VTAB "
- "-DSQLITE_ENABLE_COLUMN_METADATA")))))))
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 45b8f0db00..ac95e11f7f 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2018 Manuel Graf <graf@init.at>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -165,7 +166,15 @@ a server that supports the SSH-2 protocol.")
"--with-libedit"
;; Enable PAM support in sshd.
- "--with-pam")
+ "--with-pam"
+
+ ;; "make install" runs "install -s" by default,
+ ;; which doesn't work for cross-compiled binaries
+ ;; because it invokes 'strip' instead of
+ ;; 'TRIPLET-strip'. Work around this.
+ ,,@(if (%current-target-system)
+ '("--disable-strip")
+ '()))
#:phases
(modify-phases %standard-phases
diff --git a/gnu/packages/swig.scm b/gnu/packages/swig.scm
index b1b17fc68d..3de6343da8 100644
--- a/gnu/packages/swig.scm
+++ b/gnu/packages/swig.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2013, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,34 +25,28 @@
#:use-module (guix licenses)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
- #:use-module (gnu packages pcre)
- #:use-module (gnu packages guile)
#:use-module (gnu packages boost)
- #:use-module (gnu packages python)
- #:use-module (gnu packages perl))
+ #:use-module (gnu packages guile)
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages python))
(define-public swig
(package
(name "swig")
- (version "3.0.12")
+ (version "4.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" name "/"
name "-" version "/"
name "-" version ".tar.gz"))
- (patches (search-patches "swig-guile-gc.patch"))
(sha256
(base32
- "0kf99ygrjs5616gsqhz1l7bib3a12izmxi7g48bwblbymr3z9ybw"))))
+ "1ac7g0gd8ndwv3ybqn5vjgqxa7090bby4db164a7mn9ssp8b803s"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'set-env
- ;; Required since Perl 5.26.0's removal of the current
- ;; working directory from @INC.
- ;; TODO Try removing this for later versions of SWIG.
- (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1") #t))
(add-before 'configure 'workaround-gcc-bug
(lambda _
;; XXX: Don't add the -isystem flag, or GCCs #include_next
@@ -60,17 +55,12 @@
(("-isystem ") "-I"))
#t)))))
(native-inputs `(("boost" ,boost)
- ("pcre" ,pcre "bin"))) ;for 'pcre-config'
- (inputs `(;; Provide these to run the corresponding tests.
- ("guile" ,guile-2.0)
- ("perl" ,perl)))
- ;; FIXME: reactivate input python as soon as the test failures
- ;; fatal error: Python.h: No such file or directory
- ;; # include <Python.h>
- ;; are fixed.
- ;; The python part probably never worked and does not seem to
- ;; be needed for currently dependent packages.
-;; ("python" ,python-wrapper)))
+ ("pcre" ,pcre "bin") ;for 'pcre-config'
+ ;; The following are for tests and examples:
+ ("guile" ,guile-2.2)
+ ("perl" ,perl)))
+ ;;("python" ,python-wrapper)
+ (inputs `(("pcre" ,pcre)))
(home-page "http://swig.org/")
(synopsis
"Interface compiler that connects C/C++ code to higher-level languages")
diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm
index 1e4aa13cc9..c88d0338cb 100644
--- a/gnu/packages/tcl.scm
+++ b/gnu/packages/tcl.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -43,17 +44,18 @@
(define-public tcl
(package
(name "tcl")
- (version "8.6.9")
+ (version "8.6.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/tcl/Tcl/"
version "/tcl" version "-src.tar.gz"))
(sha256
(base32
- "0kjzj7mkzfnb7ksxanbibibfpciyvsh5ffdlhs0bmfc75kgd435d"))))
+ "1vc7imilx6kcb5319r7hnrp4jn5pqb41an3vr3azhgcfcgvdp5ji"))
+ (patches (search-patches "tcl-fix-cross-compilation.patch"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
+ `(#:phases (modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda _ (chdir "unix") #t))
(add-after 'install 'install-private-headers
@@ -73,9 +75,16 @@
;; PREFIX/share/man. The 'validate-documentation-location' phase is
;; not able to fix this up because the default install populates both
;; PREFIX/man and PREFIX/share/man.
- #:configure-flags (list (string-append "--mandir="
- (assoc-ref %outputs "out")
- "/share/man"))
+ #:configure-flags
+ (list (string-append "--mandir="
+ (assoc-ref %outputs "out")
+ "/share/man")
+ ;; This is needed when cross-compiling, see:
+ ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=719247
+ ,@(if (%current-target-system)
+ '("tcl_cv_strtod_buggy=1"
+ "ac_cv_func_strtod=yes")
+ '()))
;; XXX: There are a few test failures (related to HTTP, most
;; likely related to name resolution), but that doesn't cause
@@ -138,7 +147,7 @@ X11 GUIs.")
(define-public tk
(package
(name "tk")
- (version "8.6.9.1")
+ (version "8.6.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/tcl/Tcl/"
@@ -146,7 +155,7 @@ X11 GUIs.")
version "-src.tar.gz"))
(sha256
(base32
- "1d7bfkxpacy33w5nahf73lkwxqpff44w1jplg7i2gmwgiaawvjwg"))
+ "11p3ycqbr5116vpaxv6fl6md6gcav1ffspgr8wrlc2lxhn543pv3"))
(patches (search-patches "tk-find-library.patch"))))
(build-system gnu-build-system)
(arguments
@@ -179,9 +188,16 @@ X11 GUIs.")
"/lib -lfontconfig")))
#t))))
- #:configure-flags (list (string-append "--with-tcl="
- (assoc-ref %build-inputs "tcl")
- "/lib"))
+ #:configure-flags
+ (list (string-append "--with-tcl="
+ (assoc-ref %build-inputs "tcl")
+ "/lib")
+ ;; This is needed when cross-compiling, see:
+ ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=719247
+ ,@(if (%current-target-system)
+ '("tcl_cv_strtod_buggy=1"
+ "ac_cv_func_strtod=yes")
+ '()))
;; The tests require a running X server, so we just skip them.
#:tests? #f))
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 0c9de8bd0c..ee8385d13c 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -63,7 +63,6 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages serialization)
#:use-module (gnu packages speech)
- #:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages upnp)
#:use-module (gnu packages video)
@@ -899,19 +898,7 @@ This package provides a library common to all Jami clients.")
("clutter-gtk" ,clutter-gtk)
("gettext" ,gnu-gettext)
("libcanberra" ,libcanberra)
- ("webkitgtk" ,webkitgtk)
- ;; TODO: We must wrap ring-client-gnome to force using the
- ;; `sqlite-with-column-metadata' package instead of `sqlite' or else it
- ;; fails with:
- ;;
- ;; /gnu/store/...-qtbase-5.11.2/lib/qt5/plugins/sqldrivers/libqsqlite.so:
- ;; undefined symbol: sqlite3_column_table_name16
- ;;
- ;; qtbase is built against sqlite-with-column-metadata but somehow
- ;; jami-client-gnome ends up with both `sqlite' and
- ;; `sqlite-with-column-metadata' as inputs and it seems that
- ;; libqsqlite.so gets confused.
- ("sqlite" ,sqlite-with-column-metadata)))
+ ("webkitgtk" ,webkitgtk)))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib:bin" ,glib "bin")
@@ -927,13 +914,6 @@ This package provides a library common to all Jami clients.")
(add-after 'unpack 'change-directory
(lambda _
(chdir "client-gnome")
- #t))
- (add-after 'install 'wrap
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (path (string-append (assoc-ref inputs "sqlite") "/lib")))
- (wrap-program (string-append out "/bin/jami-gnome")
- `("LD_LIBRARY_PATH" ":" prefix (,path))))
#t)))))
(synopsis "Distributed, privacy-respecting communication program")
(description "Jami (formerly GNU Ring) is a secure and distributed voice,
diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index 44800b3961..ae8ecc868b 100644
--- a/gnu/packages/texinfo.scm
+++ b/gnu/packages/texinfo.scm
@@ -4,6 +4,8 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,10 +23,12 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages texinfo)
+ #:use-module (gnu packages autotools)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix download)
+ #:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
@@ -47,8 +51,28 @@
(base32
"0rixv4c301djr0d0cnsxs8c1wjndi6bf9vi5axz6mwjkv80cmfcv"))))
(build-system gnu-build-system)
- (inputs `(("ncurses" ,ncurses)
- ("perl" ,perl)))
+ (arguments
+ ;; When cross-compiling, the package is configured twice: once with the
+ ;; native compiler and once with the cross-compiler. During the configure
+ ;; with the native compiler, the environment is reset. This leads to
+ ;; multiple environment variables missing. Do not reset the environment
+ ;; to prevent that.
+ (if (%current-target-system)
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'fix-cross-configure
+ (lambda _
+ (substitute* "configure"
+ (("env -i")
+ "env "))
+ #t))))
+ '()))
+ (inputs `(("ncurses" ,ncurses)))
+ ;; When cross-compiling, texinfo will build some of its own binaries with
+ ;; the native compiler. This means ncurses is needed both in both inputs
+ ;; and native-inputs.
+ (native-inputs `(("perl" ,perl)
+ ("ncurses" ,ncurses)))
(native-search-paths
;; This is the variable used by the standalone Info reader.
@@ -89,8 +113,7 @@ is on expressing the content semantically, avoiding physical markup commands.")
(patches (search-patches "texinfo-5-perl-compat.patch"))
(sha256
(base32
- "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal"))))
- (native-inputs '())))
+ "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal"))))))
(define-public texinfo-4
(package (inherit texinfo)
@@ -104,8 +127,37 @@ is on expressing the content semantically, avoiding physical markup commands.")
(sha256
(base32
"1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d"))))
- (native-inputs '())
- (inputs `(("ncurses" ,ncurses) ("xz" ,xz)))))
+ (inputs `(("ncurses" ,ncurses)
+ ("xz" ,xz)))
+ (native-inputs
+ `(("automake" ,automake)
+ ,@(package-native-inputs texinfo)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments texinfo)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'fix-configure
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.sub and config.guess.
+ (with-directory-excursion "build-aux"
+ (for-each
+ (lambda (file)
+ (install-file (string-append
+ (assoc-ref
+ (or native-inputs inputs) "automake")
+ "/share/automake-"
+ ,(version-major+minor
+ (package-version automake))
+ "/" file) "."))
+ '("config.sub" "config.guess")))
+ #t))
+ ;; Build native version of tools before running 'build phase.
+ ,@(if (%current-target-system)
+ `((add-before 'build 'make-native-gnu-lib
+ (lambda* (#:key inputs #:allow-other-keys)
+ (invoke "make" "-C" "tools/gnulib/lib")
+ #t)))
+ '())))))))
(define-public info-reader
;; The idea of this package is to have the standalone Info reader without
@@ -114,32 +166,32 @@ is on expressing the content semantically, avoiding physical markup commands.")
(inherit texinfo)
(name "info-reader")
(arguments
- `(#:disallowed-references ,(assoc-ref (package-inputs texinfo)
- "perl")
+ `(,@(substitute-keyword-arguments (package-arguments texinfo)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'install 'keep-only-info-reader
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Remove everything but 'bin/info' and associated
+ ;; files.
+ (define (files)
+ (scandir "." (lambda (file)
+ (not (member file '("." ".."))))))
+ (let ((out (assoc-ref outputs "out")))
+ (with-directory-excursion out
+ (for-each delete-file-recursively
+ (fold delete (files) '("bin" "share"))))
+ (with-directory-excursion (string-append out "/bin")
+ (for-each delete-file (delete "info" (files))))
+ (with-directory-excursion (string-append out "/share")
+ (for-each delete-file-recursively
+ (fold delete (files)
+ '("info" "locale"))))
+ #t))))))
+ #:disallowed-references ,(assoc-ref (package-inputs texinfo)
+ "perl")
#:modules ((ice-9 ftw) (srfi srfi-1)
- ,@%gnu-build-system-modules)
-
- #:phases (modify-phases %standard-phases
- (add-after 'install 'keep-only-info-reader
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Remove everything but 'bin/info' and associated
- ;; files.
- (define (files)
- (scandir "." (lambda (file)
- (not (member file '("." ".."))))))
-
- (let ((out (assoc-ref outputs "out")))
- (with-directory-excursion out
- (for-each delete-file-recursively
- (fold delete (files) '("bin" "share"))))
- (with-directory-excursion (string-append out "/bin")
- (for-each delete-file (delete "info" (files))))
- (with-directory-excursion (string-append out "/share")
- (for-each delete-file-recursively
- (fold delete (files)
- '("info" "locale"))))
- #t))))))
+ ,@%gnu-build-system-modules)))
(synopsis "Standalone Info documentation reader")))
(define-public texi2html
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 10d864348c..d01202c684 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -70,7 +71,7 @@
(define-public libtasn1
(package
(name "libtasn1")
- (version "4.14")
+ (version "4.15.0")
(source
(origin
(method url-fetch)
@@ -78,7 +79,7 @@
version ".tar.gz"))
(sha256
(base32
- "025sqnlzji78ss2fi78dajc0v0h5fi02wp39hws41sn8qnjlnq4y"))))
+ "17kkh89zfnwszw657fj13y2gamzay33lsrfazgm4sc7mx2gm0xyx"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-static")))
@@ -162,7 +163,7 @@ living in the same process.")
(define-public gnutls
(package
(name "gnutls")
- (version "3.6.9")
+ (version "3.6.11.1")
(source (origin
(method url-fetch)
(uri
@@ -174,7 +175,7 @@ living in the same process.")
(patches (search-patches "gnutls-skip-trust-store-test.patch"))
(sha256
(base32
- "1jqz5s3lv8sa53348cfi9nr5pw5l55n8m40b8msdvv0pb2jzqca3"))))
+ "1y1wadpsrj5ai603xv5bgssl9v0pb1si2hg14zqdnmcsvgri5fpv"))))
(build-system gnu-build-system)
(arguments
`(; Ensure we don't keep a reference to this buggy software.
@@ -299,8 +300,7 @@ required structures.")
(define-public openssl
(package
(name "openssl")
- (version "1.1.1c")
- (replacement openssl-1.1.1d)
+ (version "1.1.1d")
(source (origin
(method url-fetch)
(uri (list (string-append "https://www.openssl.org/source/openssl-"
@@ -312,7 +312,7 @@ required structures.")
"/openssl-" version ".tar.gz")))
(sha256
(base32
- "142c7zdlz06hjrrvinb9f276czc78bnkyhd9xma621qmmmwk1yzn"))
+ "1whinyw402z3b9xlb3qaxv4b9sk4w1bgh9k0y8df1z4x3yy92fhy"))
(patches (search-patches "openssl-1.1-c-rehash-in.patch"))))
(build-system gnu-build-system)
(outputs '("out"
@@ -330,6 +330,23 @@ required structures.")
#:disallowed-references ,(list (canonical-package perl))
#:phases
(modify-phases %standard-phases
+ ,@(if (%current-target-system)
+ '((add-before
+ 'configure 'set-cross-compile
+ (lambda* (#:key target outputs #:allow-other-keys)
+ (setenv "CROSS_COMPILE" (string-append target "-"))
+ (setenv "CONFIGURE_TARGET_ARCH"
+ (cond
+ ((string-prefix? "i686" target)
+ "linux-x86")
+ ((string-prefix? "x86_64" target)
+ "linux-x86_64")
+ ((string-prefix? "arm" target)
+ "linux-armv4")
+ ((string-prefix? "aarch64" target)
+ "linux-aarch64")))
+ #t)))
+ '())
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -339,7 +356,9 @@ required structures.")
(("/usr/bin/env")
(string-append (assoc-ref %build-inputs "coreutils")
"/bin/env")))
- (invoke "./config"
+ (invoke ,@(if (%current-target-system)
+ '("./Configure")
+ '("./config"))
"shared" ;build shared libraries
"--libdir=lib"
@@ -350,7 +369,10 @@ required structures.")
"/share/openssl-" ,version)
(string-append "--prefix=" out)
- (string-append "-Wl,-rpath," lib)))))
+ (string-append "-Wl,-rpath," lib)
+ ,@(if (%current-target-system)
+ '((getenv "CONFIGURE_TARGET_ARCH"))
+ '())))))
(add-after 'install 'move-static-libraries
(lambda* (#:key outputs #:allow-other-keys)
;; Move static libraries to the "static" output.
@@ -402,24 +424,6 @@ required structures.")
(license license:openssl)
(home-page "https://www.openssl.org/")))
-(define openssl-1.1.1d
- (package/inherit
- openssl
- (version "1.1.1d")
- (source (origin
- (method url-fetch)
- (uri (list (string-append "https://www.openssl.org/source/openssl-"
- version ".tar.gz")
- (string-append "ftp://ftp.openssl.org/source/"
- "openssl-" version ".tar.gz")
- (string-append "ftp://ftp.openssl.org/source/old/"
- (string-trim-right version char-set:letter)
- "/openssl-" version ".tar.gz")))
- (patches (search-patches "openssl-1.1-c-rehash-in.patch"))
- (sha256
- (base32
- "1whinyw402z3b9xlb3qaxv4b9sk4w1bgh9k0y8df1z4x3yy92fhy"))))))
-
(define-public openssl-1.0
(package
(inherit openssl)
@@ -466,21 +470,26 @@ required structures.")
(("^MANDIR[[:blank:]]*=.*$")
(string-append "MANDIR = " out "/share/man\n")))
#t)))
- (replace 'configure
- ;; Override this phase because OpenSSL 1.0 does not understand -rpath.
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (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)))))
+ (replace 'configure
+ ;; Override this phase because OpenSSL 1.0 does not understand -rpath.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (invoke ,@(if (%current-target-system)
+ '("./Configure")
+ '("./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)
+ ,@(if (%current-target-system)
+ '((getenv "CONFIGURE_TARGET_ARCH"))
+ '())))))
(delete 'move-extra-documentation)
(add-after 'install 'move-man3-pages
(lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index d354a807a3..5f928716fa 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -141,6 +141,10 @@ changes to project files over time. It supports both a distributed workflow
as well as the classic centralized workflow.")
(license license:gpl2+)))
+(define git-cross-configure-flags
+ '("ac_cv_fread_reads_directories=yes"
+ "ac_cv_snprintf_returns_bogus=no"))
+
(define-public git
(package
(name "git")
@@ -238,7 +242,10 @@ as well as the classic centralized workflow.")
;; absolute file name to 'wish'.
#:configure-flags (list (string-append "--with-tcltk="
(assoc-ref %build-inputs "tk")
- "/bin/wish8.6")) ; XXX
+ "/bin/wish8.6") ; XXX
+ ,@(if (%current-target-system)
+ git-cross-configure-flags
+ '()))
#:modules ((srfi srfi-1)
(srfi srfi-26)
@@ -255,6 +262,15 @@ as well as the classic centralized workflow.")
(remove (cut string-prefix? bash-full <>) path)
":"))
#t)))
+ ;; Add cross curl-config script to PATH when cross-compiling.
+ ,@(if (%current-target-system)
+ '((add-before 'configure 'add-cross-curl-config
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "PATH"
+ (string-append (assoc-ref inputs "curl") "/bin:"
+ (getenv "PATH")))
+ #t)))
+ '())
(add-after 'configure 'patch-makefiles
(lambda _
(substitute* "Makefile"
@@ -513,7 +529,10 @@ everything from small to very large projects with speed and efficiency.")
((#:make-flags flags)
`(delete "USE_LIBPCRE2=yes" ,flags))
((#:configure-flags flags)
- ''())
+ `(list
+ ,@(if (%current-target-system)
+ git-cross-configure-flags
+ '())))
((#:disallowed-references lst '())
`(,perl ,@lst))))
(outputs '("out"))
@@ -552,7 +571,14 @@ everything from small to very large projects with speed and efficiency.")
(build-system cmake-build-system)
(outputs '("out" "debug"))
(arguments
- `(#:configure-flags '("-DUSE_SHA1DC=ON") ; SHA-1 collision detection
+ `(#:configure-flags
+ (list "-DUSE_SHA1DC=ON" ; SHA-1 collision detection
+ ,@(if (%current-target-system)
+ `((string-append
+ "-DPKG_CONFIG_EXECUTABLE="
+ (assoc-ref %build-inputs "pkg-config")
+ "/bin/" ,(%current-target-system) "-pkg-config"))
+ '()))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-hardcoded-paths
@@ -567,9 +593,13 @@ everything from small to very large projects with speed and efficiency.")
(lambda _
(for-each make-file-writable (find-files "."))
#t))
- ;; Run checks more verbosely.
+ ;; Run checks more verbosely, unless we are cross-compiling.
(replace 'check
- (lambda _ (invoke "./libgit2_clar" "-v" "-Q"))))))
+ (lambda* (#:key (tests? #t) #:allow-other-keys)
+ (if tests?
+ (invoke "./libgit2_clar" "-v" "-Q")
+ ;; Tests may be disabled if cross-compiling.
+ (format #t "Test suite not run.~%")))))))
(inputs
`(("libssh2" ,libssh2)
("http-parser" ,http-parser)))
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index dd27454e79..b3d7d4c614 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -35,6 +35,8 @@
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
;;;
;;; This file is part of GNU Guix.
@@ -5551,10 +5553,22 @@ into your tests. It automatically starts up a HTTP server in a separate thread
#:make-flags
(list (string-append "PREFIX="
(assoc-ref %outputs "out"))
- "CC=gcc" "library")
+ "library"
+ ,@(if (%current-target-system)
+ '()
+ '("CC=gcc")))
#:phases
(modify-phases %standard-phases
- (delete 'configure))))
+ ,@(if (%current-target-system)
+ '((replace 'configure
+ (lambda* (#:key target #:allow-other-keys)
+ (substitute* (find-files "." "Makefile")
+ (("CC\\?=.*$")
+ (string-append "CC=" target "-gcc\n"))
+ (("AR\\?=.*$")
+ (string-append "AR=" target "-ar\n")))
+ #t)))
+ '((delete 'configure))))))
(synopsis "HTTP request/response parser for C")
(description "This is a parser for HTTP messages written in C. It parses
both requests and responses. The parser is designed to be used in
@@ -6754,8 +6768,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
(define-public nghttp2
(package
(name "nghttp2")
- (version "1.39.1")
- (replacement nghttp2-1.39.2)
+ (version "1.40.0")
(source
(origin
(method url-fetch)
@@ -6764,7 +6777,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
"nghttp2-" version ".tar.xz"))
(sha256
(base32
- "0j0lk37k8k3f61r9nw647hg4b22z1753l36n3xrp9x01civ614b7"))))
+ "0wwhwv7cvi1vxpdjwvg0kpa4jzhszclpnwrwfcw728zz53a47z09"))))
(build-system gnu-build-system)
(outputs (list "out"
"lib")) ; only libnghttp2
@@ -6802,9 +6815,10 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
(assoc-ref outputs "lib")))
#t))
(add-before 'check 'set-timezone-directory
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")
- "/share/zoneinfo"))
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ (setenv "TZDIR" (string-append
+ (assoc-ref (or native-inputs inputs) "tzdata")
+ "/share/zoneinfo"))
#t)))))
(home-page "https://nghttp2.org/")
(synopsis "HTTP/2 protocol client, proxy, server, and library")
@@ -6833,19 +6847,6 @@ compressed JSON header blocks.
@end itemize\n")
(license license:expat)))
-(define nghttp2-1.39.2
- (package
- (inherit nghttp2)
- (version "1.39.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/nghttp2/nghttp2/"
- "releases/download/v" version "/"
- "nghttp2-" version ".tar.xz"))
- (sha256
- (base32
- "12yfsjghbaypp4w964d45ih9vs38g6anih80wbsflaxx192idlm2"))))))
-
(define-public hpcguix-web
(let ((commit "f39c90b35e99e4122b0866ec4337020d61c81508")
(revision "4"))
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 9b198a02da..081d683759 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -437,6 +437,8 @@ following the mouse.")
"1ryxzdf048x7wsx4dlvrr1p00gzwfs7lybnhgc7ygbj0dvyxcrns"))
(patches (search-patches "pixman-CVE-2016-5296.patch"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(inputs
`(("libpng" ,libpng)
("zlib" ,zlib)))
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index bdbaf9300b..65e0608948 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -66,8 +66,7 @@
(define-public expat
(package
(name "expat")
- (version "2.2.7")
- (replacement expat-2.2.9)
+ (version "2.2.9")
(source (let ((dot->underscore (lambda (c) (if (char=? #\. c) #\_ c))))
(origin
(method url-fetch)
@@ -79,8 +78,10 @@
"/expat-" version ".tar.xz")))
(sha256
(base32
- "1y5yax6bq8p9xk49zqkd62pxk8bq266wrgbrqgaxp3wsrw5g9qrh")))))
+ "1960mmgbb4cm64n1p0nz3hrs1pw03hkrfcw8prmnn4622mdrd9hy")))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(home-page "https://libexpat.github.io/")
(synopsis "Stream-oriented XML parser library written in C")
(description
@@ -89,23 +90,6 @@ stream-oriented parser in which an application registers handlers for
things the parser might find in the XML document (like start tags).")
(license license:expat)))
-(define expat-2.2.9
- (package
- (inherit expat)
- (version "2.2.9")
- (source (let ((dot->underscore (lambda (c) (if (char=? #\. c) #\_ c))))
- (origin
- (method url-fetch)
- (uri (list (string-append "mirror://sourceforge/expat/expat/"
- version "/expat-" version ".tar.xz")
- (string-append
- "https://github.com/libexpat/libexpat/releases/download/R_"
- (string-map dot->underscore version)
- "/expat-" version ".tar.xz")))
- (sha256
- (base32
- "1960mmgbb4cm64n1p0nz3hrs1pw03hkrfcw8prmnn4622mdrd9hy")))))))
-
(define-public libebml
(package
(name "libebml")
@@ -133,14 +117,14 @@ hierarchical form with variable field lengths.")
(define-public libxml2
(package
(name "libxml2")
- (version "2.9.9")
+ (version "2.9.10")
(source (origin
(method url-fetch)
(uri (string-append "ftp://xmlsoft.org/libxml2/libxml2-"
version ".tar.gz"))
(sha256
(base32
- "0wd881jzvqayx0ihzba29jl80k06xj9ywp16kxacdqs3064p1ywl"))))
+ "07xynh8hcxb2yb1fs051xrgszjvj37wnxvxgsj10rzmqzy9y3zma"))))
(build-system gnu-build-system)
(outputs '("out" "static"))
(arguments
@@ -182,9 +166,12 @@ project (but it is usable outside of the Gnome platform).")
(license license:x11)))
(define-public python-libxml2
- ;; TODO: Merge with 'python-libxml2/fixed' on the next rebuild cycle.
(package/inherit libxml2
(name "python-libxml2")
+ (source (origin
+ (inherit (package-source libxml2))
+ (patches (cons (search-patch "python-libxml2-utf8.patch")
+ (origin-patches (package-source libxml2))))))
(build-system python-build-system)
(outputs '("out"))
(arguments
@@ -210,40 +197,41 @@ project (but it is usable outside of the Gnome platform).")
(inputs `(("libxml2" ,libxml2)))
(synopsis "Python bindings for the libxml2 library")))
-(define-public python-libxml2/fixed
- ;; This variant fixes a crash when processing UTF-8 sequences:
- ;; <https://bugs.gnu.org/37468>
- ;; TODO: Merge with 'python-libxml2' on the next rebuild cycle.
- (package/inherit
- python-libxml2
- (version (string-append (package-version python-libxml2) "-1"))
- (source (origin
- (inherit (package-source libxml2))
- (patches (cons (search-patch "python-libxml2-utf8.patch")
- (origin-patches (package-source libxml2))))))))
-
(define-public python2-libxml2
(package-with-python2 python-libxml2))
(define-public libxslt
(package
(name "libxslt")
- (version "1.1.33")
+ (version "1.1.34")
(source (origin
(method url-fetch)
(uri (string-append "ftp://xmlsoft.org/libxslt/libxslt-"
version ".tar.gz"))
(sha256
(base32
- "1j1q1swnsy8jgi9x7mclvkrqhfgn09886gdlr9wzk7a08i8n0dlf"))
+ "0zrzz6kjdyavspzik6fbkpvfpbd25r2qg6py5nnjaabrsr3bvccq"))
(patches (search-patches "libxslt-generated-ids.patch"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-before 'check 'disable-fuzz-tests
+ (lambda _
+ ;; Disable libFuzzer tests, because they require
+ ;; instrumentation builds of libxml2 and libxslt.
+ (substitute* "tests/Makefile"
+ (("exslt plugins fuzz")
+ "exslt plugins"))
+ #t)))))
(home-page "http://xmlsoft.org/XSLT/index.html")
(synopsis "C library for applying XSLT stylesheets to XML documents")
(inputs `(("libgcrypt" ,libgcrypt)
("libxml2" ,libxml2)
("python" ,python-minimal-wrapper)
- ("zlib" ,zlib)))
+ ("zlib" ,zlib)
+ ("xz" ,xz)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
(description
"Libxslt is an XSLT C library developed for the GNOME project. It is
based on libxml for XML parsing, tree manipulation and XPath support.")
@@ -954,6 +942,8 @@ code for classes that correspond to data structures defined by XMLSchema.")
(assoc-ref %build-inputs
"util-linux")
"/bin/getopt"))))
+ (native-inputs
+ `(("util-linux" ,util-linux)))
(inputs
`(("util-linux" ,util-linux) ; for 'getopt'
("libxml2" ,libxml2) ; for 'xmllint'
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index fda61aff67..b3792122ac 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
;;; Copyright © 2019 nee <nee@cock.li>
;;; Copyright © 2019 Yoshinori Arai <kumagusu08@gmail.com>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -211,14 +212,14 @@ which can be read by any architecture.")
(define-public xorgproto
(package
(name "xorgproto")
- (version "2019.1")
+ (version "2019.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://xorg/individual/proto/"
"xorgproto-" version ".tar.bz2"))
(sha256
(base32
- "16yll1kaffnslik5sizlw3qrigj1gpsgfgyq6903g3mwdixamnm6"))))
+ "13kvir8dz9dvzhvyfndpff1z7k8h14s7kkl7mbl427andhax1v26"))))
(build-system gnu-build-system)
(propagated-inputs
;; To get util-macros in (almost?) all package inputs.
@@ -1039,6 +1040,8 @@ of new capabilities and controls for text keyboards.")
(base32
"0hvjfhrcym770cr0zpqajdy3cda30aiwbjzv16iafkqkbl090gr5"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(inputs
`(("xorgproto" ,xorgproto)
("libxext" ,libxext)
@@ -1065,6 +1068,8 @@ of new capabilities and controls for text keyboards.")
(base32
"1ir0j92mnd1nk37mrv9bz5swnccqldicgszvfsh62jd14q6k115q"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("xorgproto" ,xorgproto)))
(home-page "https://www.x.org/")
@@ -1092,6 +1097,8 @@ synchronization between the X server and direct-rendering clients.")
(base32
"0y90170dp8wsidr1dzza0grxr1lfh30ji3b5vkjz4j6x1n0wxz1c"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(inputs
`(("zlib" ,zlib)
("xorgproto" ,xorgproto)))
@@ -1278,6 +1285,8 @@ with the Cygwin XWin server when running X11 in a rootless mode.")
(base32
"13sfcglvz87vl58hd9rszwr73z0z4nwga3c12rfh7f5s2ln8l8dk"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
;; xcomposite.pc refers to all these.
`(("xorgproto" ,xorgproto)
@@ -1307,6 +1316,8 @@ with the Cygwin XWin server when running X11 in a rootless mode.")
(base32
"0ab53h0rkq721ihk5hi469x500f3pgbkm1wy01yf24x5m923nli0"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(inputs
`(("libbsd" ,libbsd)
("xorgproto" ,xorgproto)))
@@ -1333,6 +1344,8 @@ with the Cygwin XWin server when running X11 in a rootless mode.")
(base32
"05lja9s54090xwh31r0bqms4v3pimng5xr09g2rdnafx2vk6hp12"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
;; xft.pc refers to all these.
`(("libxrender" ,libxrender)
@@ -1367,6 +1380,8 @@ configuration files.")
(base32
"1irq9crvscd3yb8sr802dhvvfr35jdy1n2yz094xplmd42mbv3bm"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(inputs
`(("libx11" ,libx11)))
(native-inputs
@@ -1392,6 +1407,8 @@ configuration files.")
(base32
"0cdpqnx6258i4l6qhphvkdiyspysg0i5caqjy820kp63wwjk4d4w"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(inputs
`(("libxt" ,libxt)
("xorgproto" ,xorgproto)
@@ -1424,6 +1441,8 @@ treat it as part of their software base when porting.")
(base32
"1v5xaiw4zlhxspvx76y3hq4wpxv7mpj6parqnwdqvpj8vbinsspx"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(inputs
`(("gettext" ,gettext-minimal)
("libxt" ,libxt)
@@ -1452,6 +1471,8 @@ treat it as part of their software base when porting.")
(base32
"1m0jr0lbz9ixpp9ihk68349q0i7ry2379lnfzdy4mrl86ijc2xgz"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(inputs
`(("xorgproto" ,xorgproto)
("libxext" ,libxext)
@@ -1479,6 +1500,8 @@ treat it as part of their software base when porting.")
(base32
"1y4vx1vabg7j9hamp0vrfrax5b0lmgm3h0lbgbb3hnkv3dd0f5zr"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(inputs
`(("libxext" ,libxext)
("libx11" ,libx11)))
@@ -1504,6 +1527,8 @@ treat it as part of their software base when porting.")
(sha256
(base32 "00vjvcdlc1sga251jkxn6gkxmx9h5n290ffxxpa40qbca1gvr61b"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("xorgproto" ,xorgproto)))
(inputs
@@ -4551,6 +4576,13 @@ cannot be adequately worked around on the client side of the wire.")
(base32
"0azqxllcsfxc3ilhz6kwc6x7m8wc477p59ir9p0yrsldx766zbar"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--disable-static"
+ ;; Disable zero malloc check that fails when cross-compiling.
+ ,@(if (%current-target-system)
+ '("--disable-malloc0returnsnull")
+ '()))))
(propagated-inputs
`(("xorgproto" ,xorgproto)))
(inputs
@@ -4580,6 +4612,8 @@ cannot be adequately worked around on the client side of the wire.")
(base32
"086p0axqj57nvkaqa6r00dnr9kyrn1m8blgf0zjy25zpxkbxn200"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("xorgproto" ,xorgproto)))
(inputs
@@ -4636,6 +4670,13 @@ cannot be adequately worked around on the client side of the wire.")
(base32
"0j89cnb06g8x79wmmnwzykgkkfdhin9j7hjpvsxwlr3fz1wmjvf0"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--disable-static"
+ ;; Disable zero malloc check that fails when cross-compiling.
+ ,@(if (%current-target-system)
+ '("--disable-malloc0returnsnull")
+ '()))))
(propagated-inputs
`(("xorgproto" ,xorgproto)))
(inputs
@@ -4662,6 +4703,8 @@ cannot be adequately worked around on the client side of the wire.")
(base32
"012jpyj7xfm653a9jcfqbzxyywdmwb2b5wr1dwylx14f3f54jma6"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("libxi" ,libxi)
("xorgproto" ,xorgproto)))
@@ -4699,6 +4742,8 @@ protocol and arbitrary X extension protocol.")
(base32
"125hn06bd3d8y97hm2pbf5j55gg4r2hpd3ifad651i4sr7m16v6j"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("xorgproto" ,xorgproto)))
(inputs
@@ -4727,8 +4772,21 @@ protocol and arbitrary X extension protocol.")
"0c3563kw9fg15dpgx4dwvl12qz6sdqdns1pxa574hc7i5m42mman"))))
(build-system gnu-build-system)
(arguments
- '(#:phases
+ `(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-configure
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.sub and config.guess:
+ (for-each (lambda (file)
+ (install-file (string-append
+ (assoc-ref
+ (or native-inputs inputs) "automake")
+ "/share/automake-"
+ ,(version-major+minor
+ (package-version automake))
+ "/" file) "."))
+ '("config.sub" "config.guess"))
+ #t))
(add-after 'install 'wrap-mkfontdir
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
@@ -4740,7 +4798,8 @@ protocol and arbitrary X extension protocol.")
(inputs
`(("mkfontscale" ,mkfontscale)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ("automake" ,automake))) ;For up to date 'config.guess' and 'config.sub'.
(home-page "https://www.x.org/wiki/")
(synopsis "Create an index of X font files in a directory")
(description
@@ -4797,6 +4856,8 @@ common definitions and porting layer.")
(base32
"0j638yvmyna2k4mz465jywgdybgdchdqppfx6xfazg7l5khxr1kg"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("xorgproto" ,xorgproto)))
(inputs
@@ -4825,6 +4886,8 @@ common definitions and porting layer.")
(base32
"1v3krc6x0zliaa66qq1bf9j60x5nqfy68v8axaiglxpnvgqcpy6c"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("xorgproto" ,xorgproto)))
(native-inputs
@@ -4851,6 +4914,8 @@ an X Window System display.")
(base32
"1miana3y4hwdqdparsccmygqr3ic3hs5jrqfzp70hvi2zwxd676y"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("xorgproto" ,xorgproto)))
(inputs
@@ -4877,6 +4942,8 @@ an X Window System display.")
(base32
"0hiji1bvpl78aj3a3141hkk353aich71wv8l5l2z51scfy878zqs"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("freetype" ,freetype)
("libfontenc" ,libfontenc)
@@ -4924,6 +4991,8 @@ new API's in libXft, or the legacy API's in libX11.")
(base32
"0q8hz3slga3w3ch8wp0k7ay9ilhz315qnab0w1y2x9w3cf7hv8rn"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("xorgproto" ,xorgproto)
("libx11" ,libx11)
@@ -4951,6 +5020,8 @@ new API's in libXft, or the legacy API's in libX11.")
(base32
"08z0mqywrm7ij8bxlfrx0d2wy6kladdmkva1nw5k6qix82z0xsla"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
;; In accordance with xrandr.pc.
`(("libx11" ,libx11)
@@ -4980,6 +5051,8 @@ new API's in libXft, or the legacy API's in libX11.")
(base32
"1kbdjsvkm5l7axv7g477qj18sab2wnqhliy6197syzizgfbsfgbb"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("libxv" ,libxv)))
(inputs
@@ -5008,6 +5081,8 @@ new API's in libXft, or the legacy API's in libX11.")
(base32
"0mydhlyn72i7brjwypsqrpkls3nm6vxw0li8b2nw0caz7kwjgvmg"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("libxext" ,libxext)
("xorgproto" ,xorgproto)))
@@ -5049,7 +5124,8 @@ protocol.")
`(("pkg-config" ,pkg-config)
("python" ,python-minimal-wrapper)))
(arguments
- `(#:configure-flags '("--enable-xkb")))
+ `(#:configure-flags '("--enable-xkb"
+ "--disable-static")))
(home-page "https://xcb.freedesktop.org/")
(synopsis "The X C Binding (XCB) library")
(description
@@ -5238,7 +5314,7 @@ draggable titlebars and borders.")
(define-public libx11
(package
(name "libx11")
- (version "1.6.8")
+ (version "1.6.9")
(source
(origin
(method url-fetch)
@@ -5248,21 +5324,29 @@ draggable titlebars and borders.")
".tar.bz2"))
(sha256
(base32
- "1mbkwhhprhf49s2iwx7kiliprsdvd690zk44x3h53ql9q52si2dj"))))
+ "1ldyn9c6pyx54sxzaw120n3q42rqi7b503aqmyjky6fn038fiiww"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;8 MiB of man pages + XML
(arguments
- '(#:configure-flags (list (string-append "--mandir="
- (assoc-ref %outputs "doc")
- "/share/man"))))
+ `(#:configure-flags
+ (list (string-append "--mandir="
+ (assoc-ref %outputs "doc")
+ "/share/man")
+ "--disable-static"
+
+ ;; Disable zero malloc check that fails when cross-compiling.
+ ,@(if (%current-target-system)
+ '("--disable-malloc0returnsnull")
+ '()))))
(propagated-inputs
`(("xorgproto" ,xorgproto)
("libxcb" ,libxcb)))
(inputs
`(("xtrans" ,xtrans)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ("xorgproto" ,xorgproto)))
(home-page "https://www.x.org/wiki/")
(synopsis "Xorg Core X11 protocol client library")
(description "Xorg Core X11 protocol client library.")
@@ -5285,6 +5369,8 @@ draggable titlebars and borders.")
(base32
"10l7c9fm0jmpkm9ab9dz8r6m1pr87vvgqjnbx1psz50h4pwfklrs"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("libx11" ,libx11)
("libxrender" ,libxrender)
@@ -5325,9 +5411,15 @@ draggable titlebars and borders.")
(outputs '("out"
"doc")) ;2 MiB of man pages + XML
(arguments
- '(#:configure-flags (list (string-append "--mandir="
- (assoc-ref %outputs "doc")
- "/share/man"))))
+ `(#:configure-flags
+ (list (string-append "--mandir="
+ (assoc-ref %outputs "doc")
+ "/share/man")
+ "--disable-static"
+ ;; Disable zero malloc check that fails when cross-compiling.
+ ,@(if (%current-target-system)
+ '("--disable-malloc0returnsnull")
+ '()))))
(propagated-inputs
`(("libx11" ,libx11)
("libice" ,libice)
@@ -5357,6 +5449,8 @@ draggable titlebars and borders.")
(base32
"1kdhxplwrn43d9jp3v54llp05kwx210lrsdvqb6944jp29rhdy4f"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("libxext" ,libxext)
("libxmu" ,libxmu)
@@ -5416,6 +5510,8 @@ keyboard focus, and user-specified key and pointer button bindings.")
(base32
"1sahmrgbpyki4bb72hxym0zvxwnycmswsxiisgqlln9vrdlr9r26"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("libxcb" ,libxcb)))
(native-inputs
@@ -5452,6 +5548,8 @@ The XCB util module provides the following libraries:
(base32
"0krr4rcw6r42cncinzvzzdqnmxk3nrgpnadyg2h8k9x10q3hm885"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(native-inputs
`(("m4" ,m4)
("pkg-config" ,pkg-config)))
@@ -5534,6 +5632,8 @@ numbers.")
(base32
"1z1gxacg7q4cw6jrd26gvi5y04npsyavblcdad1xccc8swvnmf9d"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("libxcb" ,libxcb)))
(inputs
@@ -5568,6 +5668,8 @@ The XCB util-image module provides the following library:
(base32
"1nbd45pzc1wm6v5drr5338j4nicbgxa5hcakvsvm5pnyy47lky0f"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("libxcb" ,libxcb)))
(native-inputs
@@ -5600,6 +5702,8 @@ The XCB util-keysyms module provides the following library:
(base32
"0nza1csdvvxbmk8vgv8vpmq7q8h05xrw3cfx9lwxd1hjzd47xsf6"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("libxcb" ,libxcb)))
(native-inputs
@@ -5632,6 +5736,8 @@ The XCB util-renderutil module provides the following library:
(base32
"0gra7hfyxajic4mjd63cpqvd20si53j1q3rbdlkqkahfciwq3gr8"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(propagated-inputs
`(("libxcb" ,libxcb)))
(native-inputs
@@ -6384,25 +6490,28 @@ output.")
" ")))
#t))
(add-before 'build 'make-doubled-bdfs
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
(invoke "make" "-C" "Fonts"
"doubled_bdfs"
(string-append "SHELL="
- (assoc-ref inputs "bash")
+ (assoc-ref (or native-inputs inputs)
+ "bash")
"/bin/bash"))))
(replace 'install
- (lambda* (#:key inputs outputs #:allow-other-keys)
+ (lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
(let ((out (assoc-ref %outputs "out")))
(invoke "make" "install-linux"
(string-append "prefix=" out)
(string-append "SHELL="
- (assoc-ref inputs "bash")
+ (assoc-ref (or native-inputs inputs)
+ "bash")
"/bin/bash"))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("bdftopcf" ,bdftopcf)
("bdfresize" ,bdfresize)
- ("sharutils" ,sharutils))) ;for 'uuencode'
+ ("sharutils" ,sharutils) ;for 'uuencode'
+ ("perl" ,perl)))
(inputs
`(("perl" ,perl))) ;used by 'ckbcomp'
(synopsis "Set up the Linux console font and keyboard")
diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm
index ca88fadddf..aa0f4187ec 100644
--- a/guix/build-system/cmake.scm
+++ b/guix/build-system/cmake.scm
@@ -43,16 +43,19 @@
`((guix build cmake-build-system)
,@%gnu-build-system-modules))
-(define (default-cmake)
+(define (default-cmake target)
"Return the default CMake package."
;; Do not use `@' to avoid introducing circular dependencies.
(let ((module (resolve-interface '(gnu packages cmake))))
- (module-ref module 'cmake-minimal)))
+ (module-ref module
+ (if target
+ 'cmake-minimal-cross
+ 'cmake-minimal))))
(define* (lower name
#:key source inputs native-inputs outputs system target
- (cmake (default-cmake))
+ (cmake (default-cmake target))
#:allow-other-keys
#:rest arguments)
"Return a bag for NAME."
diff --git a/guix/build/utils.scm b/guix/build/utils.scm
index b8be73ead4..cee4e8aaa2 100644
--- a/guix/build/utils.scm
+++ b/guix/build/utils.scm
@@ -1324,6 +1324,105 @@ not supported."
(&wrap-error (program prog)
(type 'no-interpreter-found)))))))))
+(define* (make-desktop-entry-file destination #:key
+ (type "Application") ; One of "Application", "Link" or "Directory".
+ (version "1.1")
+ name
+ (generic-name name)
+ (no-display #f)
+ comment
+ icon
+ (hidden #f)
+ only-show-in
+ not-show-in
+ (d-bus-activatable #f)
+ try-exec
+ exec
+ path
+ (terminal #f)
+ actions
+ mime-type
+ (categories "Application")
+ implements
+ keywords
+ (startup-notify #t)
+ startup-w-m-class
+ #:rest all-args)
+ "Create a desktop entry file at DESTINATION.
+You must specify NAME.
+
+Values can be booleans, numbers, strings or list of strings.
+
+Additionally, locales can be specified with an alist where the key is the
+locale. The #f key specifies the default. Example:
+
+ #:name '((#f \"I love Guix\") (\"fr\" \"J'aime Guix\"))
+
+produces
+
+ Name=I love Guix
+ Name[fr]=J'aime Guix
+
+For a complete description of the format, see the specifications at
+https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html."
+ (define (escape-semicolon s)
+ (string-join (string-split s #\;) "\\;"))
+ (define* (parse key value #:optional locale)
+ (set! value (match value
+ (#t "true")
+ (#f "false")
+ ((? number? n) n)
+ ((? string? s) (escape-semicolon s))
+ ((? list? value)
+ (catch 'wrong-type-arg
+ (lambda () (string-join (map escape-semicolon value) ";"))
+ (lambda args (error "List arguments can only contain strings: ~a" args))))
+ (_ (error "Value must be a boolean, number, string or list of strings"))))
+ (format #t "~a=~a~%"
+ (if locale
+ (format #f "~a[~a]" key locale)
+ key)
+ value))
+
+ (define key-error-message "This procedure only takes key arguments beside DESTINATION")
+
+ (unless name
+ (error "Missing NAME key argument"))
+ (unless (member #:type all-args)
+ (set! all-args (append (list #:type type) all-args)))
+ (mkdir-p (dirname destination))
+
+ (with-output-to-file destination
+ (lambda ()
+ (format #t "[Desktop Entry]~%")
+ (let loop ((args all-args))
+ (match args
+ (() #t)
+ ((_) (error key-error-message))
+ ((key value . ...)
+ (unless (keyword? key)
+ (error key-error-message))
+ (set! key
+ (string-join (map string-titlecase
+ (string-split (symbol->string
+ (keyword->symbol key))
+ #\-))
+ ""))
+ (match value
+ (((_ . _) . _)
+ (for-each (lambda (locale-subvalue)
+ (parse key
+ (if (and (list? (cdr locale-subvalue))
+ (= 1 (length (cdr locale-subvalue))))
+ ;; Support both proper and improper lists for convenience.
+ (cadr locale-subvalue)
+ (cdr locale-subvalue))
+ (car locale-subvalue)))
+ value))
+ (_
+ (parse key value)))
+ (loop (cddr args))))))))
+
;;;
;;; Locales.
diff --git a/guix/gexp.scm b/guix/gexp.scm
index 12331052a6..cacc2bf183 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -1390,14 +1390,9 @@ TARGET, a GNU triplet."
(ice-9 format)
(srfi srfi-1)
(srfi srfi-26)
+ (system base target)
(system base compile))
- ;; TODO: Inline this on the next rebuild cycle.
- (ungexp-splicing
- (if target
- (gexp ((use-modules (system base target))))
- (gexp ())))
-
(define (regular? file)
(not (member file '("." ".."))))
diff --git a/guix/profiles.scm b/guix/profiles.scm
index 0d38b2513f..93ceafc4bc 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -1113,6 +1113,8 @@ for both major versions of GTK+."
;; Don't run the hook when there's nothing to do.
(let* ((pkg-gtk+ (module-ref ; lazy reference
(resolve-interface '(gnu packages gtk)) 'gtk+))
+ (pkg-gtk+2 (module-ref ; lazy reference
+ (resolve-interface '(gnu packages gtk)) 'gtk+-2))
(gexp #~(begin
#$(if gtk+
(build
@@ -1126,7 +1128,7 @@ for both major versions of GTK+."
(build
gtk+-2 "2.10.0"
#~(string-append
- #$gtk+-2 "/bin/gtk-query-immodules-2.0"))
+ #$pkg-gtk+2:bin "/bin/gtk-query-immodules-2.0"))
#t))))
(if (or gtk+ gtk+-2)
(gexp->derivation "gtk-im-modules" gexp