aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (test-file-systems)
  #:use-module (guix store)
  #:use-module (guix modules)
  #:use-module (gnu system file-systems)
  #:use-module (srfi srfi-1)
  #:use-module (srfi srfi-64)
  #:use-module (ice-9 match))

;; Test the (gnu system file-systems) module.

(test-begin "file-systems")

(test-assert "file-system-needed-for-boot?"
  (let-syntax ((dummy-fs (syntax-rules ()
                           ((_ directory)
                            (file-system
                              (device "foo")
                              (mount-point directory)
                              (type "ext4"))))))
    (parameterize ((%store-prefix "/gnu/guix/store"))
      (and (file-system-needed-for-boot? (dummy-fs "/"))
           (file-system-needed-for-boot? (dummy-fs "/gnu"))
           (file-system-needed-for-boot? (dummy-fs "/gnu/guix"))
           (file-system-needed-for-boot? (dummy-fs "/gnu/guix/store"))
           (not (file-system-needed-for-boot?
                 (dummy-fs "/gnu/guix/store/foo")))
           (not (file-system-needed-for-boot? (dummy-fs "/gn")))
           (not (file-system-needed-for-boot?
                 (file-system
                   (inherit (dummy-fs (%store-prefix)))
                   (device "/foo")
                   (flags '(bind-mount read-only)))))))))

(test-assert "does not pull (guix config)"
  ;; This module is meant both for the host side and "build side", so make
  ;; sure it doesn't pull in (guix config), which depends on the user's
  ;; config.
  (not (member '(guix config)
               (source-module-closure '((gnu system file-systems))))))

(test-equal "does not pull (gnu packages …)"
  ;; Same story: (gnu packages …) should not be pulled.
  #f
  (find (match-lambda
          (('gnu 'packages _ ..1) #t)
          (_ #f))
        (source-module-closure '((gnu system file-systems)))))

(test-equal "file-system-options->alist"
  '("autodefrag" ("subvol" . "home") ("compress" . "lzo"))
  (file-system-options->alist "autodefrag,subvol=home,compress=lzo"))

(test-equal "file-system-options->alist (#f)"
  '()
  (file-system-options->alist #f))

(test-equal "alist->file-system-options"
  "autodefrag,subvol=root,compress=lzo"
  (alist->file-system-options '("autodefrag"
                                ("subvol" . "root")
                                ("compress" . "lzo"))))

(test-equal "alist->file-system-options (null)"
  #f
  (alist->file-system-options '()))


;;;
;;; Btrfs related.
;;;

(define %btrfs-root-subvolume
  (file-system
    (device (file-system-label "btrfs-pool"))
    (mount-point "/")
    (type "btrfs")
    (options "subvol=rootfs,compress=zstd")))

(define %btrfs-store-subvolid
  (file-system
    (device (file-system-label "btrfs-pool"))
    (mount-point "/gnu/store")
    (type "btrfs")
    (options "subvolid=10,compress=zstd")
    (dependencies (list %btrfs-root-subvolume))))

(define %btrfs-store-subvolume
  (file-system
    (device (file-system-label "btrfs-pool"))
    (mount-point "/gnu/store")
    (type "btrfs")
    (options "subvol=/some/nested/file/name")
    (dependencies (list %btrfs-root-subvolume))))

(test-assert "btrfs-subvolume? (subvol)"
  (btrfs-subvolume? %btrfs-root-subvolume))

(test-assert "btrfs-subvolume? (subvolid)"
  (btrfs-subvolume? %btrfs-store-subvolid))

(test-equal "btrfs-store-subvolume-file-name"
  "/some/nested/file/name"
  (parameterize ((%store-prefix "/gnu/store"))
    (btrfs-store-subvolume-file-name (list %btrfs-root-subvolume
                                           %btrfs-store-subvolume))))

(test-error "btrfs-store-subvolume-file-name (subvolid)"
            (parameterize ((%store-prefix "/gnu/store"))
              (btrfs-store-subvolume-file-name (list %btrfs-root-subvolume
                                                     %btrfs-store-subvolid))))

(test-end)
informatics.scm7
-rw-r--r--gnu/packages/boost.scm12
-rw-r--r--gnu/packages/bootloaders.scm4
-rw-r--r--gnu/packages/bootstrap.scm2
-rw-r--r--gnu/packages/commencement.scm30
-rw-r--r--gnu/packages/compression.scm142
-rw-r--r--gnu/packages/cups.scm10
-rw-r--r--gnu/packages/curl.scm18
-rw-r--r--gnu/packages/databases.scm11
-rw-r--r--gnu/packages/ed.scm4
-rw-r--r--gnu/packages/embedded.scm4
-rw-r--r--gnu/packages/file.scm4
-rw-r--r--gnu/packages/flex.scm8
-rw-r--r--gnu/packages/fontutils.scm52
-rw-r--r--gnu/packages/freedesktop.scm4
-rw-r--r--gnu/packages/gcc.scm3
-rw-r--r--gnu/packages/gd.scm5
-rw-r--r--gnu/packages/gettext.scm16
-rw-r--r--gnu/packages/ghostscript.scm259
-rw-r--r--gnu/packages/gl.scm14
-rw-r--r--gnu/packages/glib.scm1
-rw-r--r--gnu/packages/gnome.scm117
-rw-r--r--gnu/packages/gnupg.scm33
-rw-r--r--gnu/packages/golang.scm8
-rw-r--r--gnu/packages/groff.scm12
-rw-r--r--gnu/packages/guile.scm37
-rw-r--r--gnu/packages/icu4c.scm13
-rw-r--r--gnu/packages/image.scm77
-rw-r--r--gnu/packages/java.scm2
-rw-r--r--gnu/packages/kerberos.scm33
-rw-r--r--gnu/packages/ld-wrapper.in40
-rw-r--r--gnu/packages/libevent.scm12
-rw-r--r--gnu/packages/libffi.scm3
-rw-r--r--gnu/packages/libidn.scm38
-rw-r--r--gnu/packages/libsigsegv.scm17
-rw-r--r--gnu/packages/libunistring.scm8
-rw-r--r--gnu/packages/linux.scm51
-rw-r--r--gnu/packages/make-bootstrap.scm30
-rw-r--r--gnu/packages/maths.scm2
-rw-r--r--gnu/packages/mpd.scm11
-rw-r--r--gnu/packages/ncurses.scm13
-rw-r--r--gnu/packages/netpbm.scm23
-rw-r--r--gnu/packages/openldap.scm35
-rw-r--r--gnu/packages/package-management.scm4
-rw-r--r--gnu/packages/patches/ath9k-htc-firmware-binutils.patch20
-rw-r--r--gnu/packages/patches/binutils-mips-bash-bug.patch22
-rw-r--r--gnu/packages/patches/coreutils-cut-huge-range-test.patch29
-rw-r--r--gnu/packages/patches/coreutils-fix-cross-compilation.patch15
-rw-r--r--gnu/packages/patches/eudev-conflicting-declaration.patch31
-rw-r--r--gnu/packages/patches/expat-CVE-2016-0718-fix-regression.patch35
-rw-r--r--gnu/packages/patches/findutils-gnulib-multi-core.patch294
-rw-r--r--gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch82
-rw-r--r--gnu/packages/patches/fontconfig-path-max.patch124
-rw-r--r--gnu/packages/patches/freetype-CVE-2017-8105.patch56
-rw-r--r--gnu/packages/patches/freetype-CVE-2017-8287.patch44
-rw-r--r--gnu/packages/patches/gcc-asan-powerpc-missing-include.patch20
-rw-r--r--gnu/packages/patches/gettext-gnulib-multi-core.patch178
-rw-r--r--gnu/packages/patches/gettext-multi-core.patch185
-rw-r--r--gnu/packages/patches/ghostscript-CVE-2013-5653.patch85
-rw-r--r--gnu/packages/patches/ghostscript-CVE-2015-3228.patch32
-rw-r--r--gnu/packages/patches/ghostscript-CVE-2016-7976.patch185
-rw-r--r--gnu/packages/patches/ghostscript-CVE-2016-7978.patch25
-rw-r--r--gnu/packages/patches/ghostscript-CVE-2016-7979.patch48
-rw-r--r--gnu/packages/patches/ghostscript-CVE-2016-8602.patch47
-rw-r--r--gnu/packages/patches/ghostscript-CVE-2017-8291.patch166
-rw-r--r--gnu/packages/patches/ghostscript-no-header-creationdate.patch22
-rw-r--r--gnu/packages/patches/ghostscript-no-header-id.patch57
-rw-r--r--gnu/packages/patches/ghostscript-no-header-uuid.patch50
-rw-r--r--gnu/packages/patches/ghostscript-runpath.patch17
-rw-r--r--gnu/packages/patches/grep-gnulib-lock.patch32
-rw-r--r--gnu/packages/patches/groff-source-date-epoch.patch299
-rw-r--r--gnu/packages/patches/guile-2.2-default-utf8.patch78
-rw-r--r--gnu/packages/patches/guile-relocatable.patch4
-rw-r--r--gnu/packages/patches/intltool-perl-compatibility.patch76
-rw-r--r--gnu/packages/patches/libffi-3.2.1-complex-alpha.patch28
-rw-r--r--gnu/packages/patches/libtasn1-CVE-2017-6891.patch51
-rw-r--r--gnu/packages/patches/libtiff-CVE-2016-10092.patch42
-rw-r--r--gnu/packages/patches/libtiff-CVE-2016-10093.patch53
-rw-r--r--gnu/packages/patches/libtiff-CVE-2016-10094.patch34
-rw-r--r--gnu/packages/patches/libtiff-CVE-2017-5225.patch86
-rw-r--r--gnu/packages/patches/libtiff-assertion-failure.patch60
-rw-r--r--gnu/packages/patches/libtiff-divide-by-zero-ojpeg.patch63
-rw-r--r--gnu/packages/patches/libtiff-divide-by-zero-tiffcp.patch104
-rw-r--r--gnu/packages/patches/libtiff-divide-by-zero-tiffcrop.patch57
-rw-r--r--gnu/packages/patches/libtiff-divide-by-zero.patch67
-rw-r--r--gnu/packages/patches/libtiff-heap-overflow-pixarlog-luv.patch131
-rw-r--r--gnu/packages/patches/libtiff-heap-overflow-tif-dirread.patch132
-rw-r--r--gnu/packages/patches/libtiff-heap-overflow-tiffcp.patch67
-rw-r--r--gnu/packages/patches/libtiff-heap-overflow-tiffcrop.patch60
-rw-r--r--gnu/packages/patches/libtiff-invalid-read.patch64
-rw-r--r--gnu/packages/patches/libtiff-null-dereference.patch42
-rw-r--r--gnu/packages/patches/libtiff-tiffcp-underflow.patch41
-rw-r--r--gnu/packages/patches/libunistring-gnulib-multi-core.patch178
-rw-r--r--gnu/packages/patches/mesa-fix-32bit-test-failures.patch58
-rw-r--r--gnu/packages/patches/mesa-skip-disk-cache-test.patch7
-rw-r--r--gnu/packages/patches/metabat-fix-boost-issue.patch27
-rw-r--r--gnu/packages/patches/pcre-CVE-2017-7186.patch56
-rw-r--r--gnu/packages/patches/perl-net-ssleay-disable-ede-test.patch23
-rw-r--r--gnu/packages/patches/perl-no-sys-dirs.patch73
-rw-r--r--gnu/packages/patches/poppler-CVE-2017-9776.patch34
-rw-r--r--gnu/packages/patches/poppler-fix-crash-with-broken-documents.patch61
-rw-r--r--gnu/packages/patches/python-file-double-encoding-bug.patch50
-rw-r--r--gnu/packages/patches/shishi-fix-libgcrypt-detection.patch32
-rw-r--r--gnu/packages/patches/wget-perl-5.26.patch96
-rw-r--r--gnu/packages/pciutils.scm19
-rw-r--r--gnu/packages/pcre.scm1
-rw-r--r--gnu/packages/pdf.scm17
-rw-r--r--gnu/packages/perl.scm485
-rw-r--r--gnu/packages/pkg-config.scm4
-rw-r--r--gnu/packages/pulseaudio.scm17
-rw-r--r--gnu/packages/python.scm26
-rw-r--r--gnu/packages/swig.scm12
-rw-r--r--gnu/packages/tex.scm4
-rw-r--r--gnu/packages/tls.scm92
-rw-r--r--gnu/packages/web.scm46
-rw-r--r--gnu/packages/wget.scm20
-rw-r--r--gnu/packages/wine.scm3
-rw-r--r--gnu/packages/wm.scm4
-rw-r--r--gnu/packages/xdisorg.scm4
-rw-r--r--gnu/packages/xml.scm11
-rw-r--r--gnu/packages/xorg.scm40
-rw-r--r--gnu/system.scm8
-rw-r--r--gnu/tests/ssh.scm2
-rw-r--r--guix/build-system/cmake.scm160
-rw-r--r--guix/build-system/gnu.scm1
-rw-r--r--guix/build/cmake-build-system.scm11
-rw-r--r--guix/build/gnu-build-system.scm43
-rw-r--r--guix/build/syscalls.scm16
-rw-r--r--guix/build/utils.scm17
-rw-r--r--guix/packages.scm7
138 files changed, 3462 insertions, 3425 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 9482d4bb53..acdadd6294 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2,7 +2,7 @@
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
-# Copyright © 2013, 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
+# Copyright © 2013, 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
# Copyright © 2016, 2017 Kei Kebreau <kei@openmailbox.org>
# Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
@@ -525,7 +525,6 @@ dist_patch_DATA = \
%D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/binutils-ld-new-dtags.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
- %D%/packages/patches/binutils-mips-bash-bug.patch \
%D%/packages/patches/blast+-fix-makefile.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/cairo-CVE-2016-9082.patch \
@@ -552,7 +551,6 @@ dist_patch_DATA = \
%D%/packages/patches/cool-retro-term-memory-leak-1.patch \
%D%/packages/patches/cool-retro-term-remove-non-free-fonts.patch \
%D%/packages/patches/coreutils-cut-huge-range-test.patch \
- %D%/packages/patches/coreutils-fix-cross-compilation.patch \
%D%/packages/patches/cpio-CVE-2016-2037.patch \
%D%/packages/patches/cpufrequtils-fix-aclocal.patch \
%D%/packages/patches/cracklib-CVE-2016-6318.patch \
@@ -582,9 +580,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/erlang-man-path.patch \
%D%/packages/patches/eudev-rules-directory.patch \
- %D%/packages/patches/eudev-conflicting-declaration.patch \
%D%/packages/patches/evilwm-lost-focus-bug.patch \
- %D%/packages/patches/expat-CVE-2016-0718-fix-regression.patch \
%D%/packages/patches/exim-CVE-2017-1000369.patch \
%D%/packages/patches/fastcap-mulGlobal.patch \
%D%/packages/patches/fastcap-mulSetup.patch \
@@ -596,22 +592,20 @@ dist_patch_DATA = \
%D%/packages/patches/fcgi-2.4.0-gcc44-fixes.patch \
%D%/packages/patches/fcgi-2.4.0-poll.patch \
%D%/packages/patches/findutils-localstatedir.patch \
+ %D%/packages/patches/findutils-gnulib-multi-core.patch \
%D%/packages/patches/findutils-test-xargs.patch \
%D%/packages/patches/flint-ldconfig.patch \
%D%/packages/patches/fltk-shared-lib-defines.patch \
%D%/packages/patches/fltk-xfont-on-demand.patch \
- %D%/packages/patches/fontconfig-charwidth-symbol-conflict.patch \
- %D%/packages/patches/fontconfig-path-max.patch \
%D%/packages/patches/fontforge-svg-modtime.patch \
%D%/packages/patches/freeimage-CVE-2015-0852.patch \
%D%/packages/patches/freeimage-CVE-2016-5684.patch \
%D%/packages/patches/freeimage-fix-build-with-gcc-5.patch \
- %D%/packages/patches/freetype-CVE-2017-8105.patch \
- %D%/packages/patches/freetype-CVE-2017-8287.patch \
%D%/packages/patches/fuse-overlapping-headers.patch \
%D%/packages/patches/gawk-shell.patch \
%D%/packages/patches/gcc-arm-bug-71399.patch \
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
+ %D%/packages/patches/gcc-asan-powerpc-missing-include.patch \
%D%/packages/patches/gcc-cross-environment-variables.patch \
%D%/packages/patches/gcc-libvtv-runpath.patch \
%D%/packages/patches/gcc-strmov-store-file-names.patch \
@@ -633,14 +627,13 @@ dist_patch_DATA = \
%D%/packages/patches/gegl-CVE-2012-4433.patch \
%D%/packages/patches/gemma-intel-compat.patch \
%D%/packages/patches/geoclue-config.patch \
+ %D%/packages/patches/gettext-multi-core.patch \
+ %D%/packages/patches/gettext-gnulib-multi-core.patch \
%D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \
- %D%/packages/patches/ghostscript-CVE-2013-5653.patch \
- %D%/packages/patches/ghostscript-CVE-2015-3228.patch \
- %D%/packages/patches/ghostscript-CVE-2016-7976.patch \
- %D%/packages/patches/ghostscript-CVE-2016-7978.patch \
- %D%/packages/patches/ghostscript-CVE-2016-7979.patch \
- %D%/packages/patches/ghostscript-CVE-2016-8602.patch \
%D%/packages/patches/ghostscript-CVE-2017-8291.patch \
+ %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/ghostscript-runpath.patch \
%D%/packages/patches/glib-networking-ssl-cert-file.patch \
%D%/packages/patches/glib-tests-timer.patch \
@@ -670,10 +663,13 @@ dist_patch_DATA = \
%D%/packages/patches/gobject-introspection-cc.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \
%D%/packages/patches/graphite2-ffloat-store.patch \
+ %D%/packages/patches/grep-gnulib-lock.patch \
%D%/packages/patches/grep-timing-sensitive-test.patch \
+ %D%/packages/patches/groff-source-date-epoch.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 \
%D%/packages/patches/guile-bytestructures-name-clash.patch \
%D%/packages/patches/guile-default-utf8.patch \
%D%/packages/patches/guile-linux-syscalls.patch \
@@ -710,6 +706,7 @@ dist_patch_DATA = \
%D%/packages/patches/icu4c-reset-keyword-list-iterator.patch \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \
+ %D%/packages/patches/intltool-perl-compatibility.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/jacal-fix-texinfo.patch \
%D%/packages/patches/jbig2dec-ignore-testtest.patch \
@@ -758,6 +755,7 @@ dist_patch_DATA = \
%D%/packages/patches/libgit2-0.25.1-mtime-0.patch \
%D%/packages/patches/libgdata-fix-tests.patch \
%D%/packages/patches/libgdata-glib-duplicate-tests.patch \
+ %D%/packages/patches/libffi-3.2.1-complex-alpha.patch \
%D%/packages/patches/libjxr-fix-function-signature.patch \
%D%/packages/patches/libjxr-fix-typos.patch \
%D%/packages/patches/liboop-mips64-deplibs-fix.patch \
@@ -774,27 +772,10 @@ dist_patch_DATA = \
%D%/packages/patches/libssh-hostname-parser-bug.patch \
%D%/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch \
%D%/packages/patches/libtar-CVE-2013-4420.patch \
- %D%/packages/patches/libtasn1-CVE-2017-6891.patch \
- %D%/packages/patches/libtasn1-CVE-2017-10790.patch \
+ %D%/packages/patches/libtasn1-CVE-2017-10790.patch \
%D%/packages/patches/libtheora-config-guess.patch \
- %D%/packages/patches/libtiff-CVE-2016-10092.patch \
- %D%/packages/patches/libtiff-CVE-2016-10093.patch \
- %D%/packages/patches/libtiff-CVE-2016-10094.patch \
%D%/packages/patches/libtiff-CVE-2016-10688.patch \
- %D%/packages/patches/libtiff-CVE-2017-5225.patch \
%D%/packages/patches/libtiff-CVE-2017-9936.patch \
- %D%/packages/patches/libtiff-assertion-failure.patch \
- %D%/packages/patches/libtiff-divide-by-zero-ojpeg.patch \
- %D%/packages/patches/libtiff-divide-by-zero-tiffcp.patch \
- %D%/packages/patches/libtiff-divide-by-zero-tiffcrop.patch \
- %D%/packages/patches/libtiff-divide-by-zero.patch \
- %D%/packages/patches/libtiff-heap-overflow-pixarlog-luv.patch \
- %D%/packages/patches/libtiff-heap-overflow-tif-dirread.patch \
- %D%/packages/patches/libtiff-heap-overflow-tiffcp.patch \
- %D%/packages/patches/libtiff-heap-overflow-tiffcrop.patch \
- %D%/packages/patches/libtiff-invalid-read.patch \
- %D%/packages/patches/libtiff-null-dereference.patch \
- %D%/packages/patches/libtiff-tiffcp-underflow.patch \
%D%/packages/patches/libtiff-tiffgetfield-bugs.patch \
%D%/packages/patches/libtiff-tiffycbcrtorgb-integer-overflow.patch \
%D%/packages/patches/libtiff-tiffycbcrtorgbinit-integer-overflow.patch \
@@ -802,6 +783,7 @@ dist_patch_DATA = \
%D%/packages/patches/libtorrent-rasterbar-boost-compat.patch \
%D%/packages/patches/libtool-skip-tests2.patch \
%D%/packages/patches/libunwind-CVE-2015-3239.patch \
+ %D%/packages/patches/libunistring-gnulib-multi-core.patch \
%D%/packages/patches/libusb-0.1-disable-tests.patch \
%D%/packages/patches/libvpx-CVE-2016-2818.patch \
%D%/packages/patches/libxcb-python-3.5-compat.patch \
@@ -841,11 +823,11 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4409.patch \
%D%/packages/patches/mcrypt-CVE-2012-4426.patch \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
- %D%/packages/patches/mesa-fix-32bit-test-failures.patch \
%D%/packages/patches/mesa-skip-disk-cache-test.patch \
%D%/packages/patches/mesa-wayland-egl-symbols-check-mips.patch \
%D%/packages/patches/metabat-remove-compilation-date.patch \
%D%/packages/patches/metabat-fix-compilation.patch \
+ %D%/packages/patches/metabat-fix-boost-issue.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \
%D%/packages/patches/mpc123-initialize-ao.patch \
@@ -903,6 +885,7 @@ dist_patch_DATA = \
%D%/packages/patches/patchelf-rework-for-arm.patch \
%D%/packages/patches/patchutils-xfail-gendiff-tests.patch \
%D%/packages/patches/patch-hurd-path-max.patch \
+ %D%/packages/patches/pcre-CVE-2017-7186.patch \
%D%/packages/patches/pcre2-CVE-2017-7186.patch \
%D%/packages/patches/pcre2-CVE-2017-8786.patch \
%D%/packages/patches/perl-file-path-CVE-2017-6512.patch \
@@ -913,7 +896,6 @@ dist_patch_DATA = \
%D%/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch \
%D%/packages/patches/perl-io-socket-ssl-openssl-1.0.2f-fix.patch \
%D%/packages/patches/perl-net-amazon-s3-moose-warning.patch \
- %D%/packages/patches/perl-net-ssleay-disable-ede-test.patch \
%D%/packages/patches/perl-net-dns-resolver-programmable-fix.patch \
%D%/packages/patches/perl-no-sys-dirs.patch \
%D%/packages/patches/perl-module-pluggable-search.patch \
@@ -932,8 +914,6 @@ dist_patch_DATA = \
%D%/packages/patches/plotutils-libpng-jmpbuf.patch \
%D%/packages/patches/polkit-drop-test.patch \
%D%/packages/patches/policycoreutils-make-sepolicy-use-python3.patch \
- %D%/packages/patches/poppler-CVE-2017-9776.patch \
- %D%/packages/patches/poppler-fix-crash-with-broken-documents.patch \
%D%/packages/patches/portaudio-audacity-compat.patch \
%D%/packages/patches/portmidi-modular-build.patch \
%D%/packages/patches/procmail-ambiguous-getline-debian.patch \
@@ -957,7 +937,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-3.5-fix-tests.patch \
%D%/packages/patches/python-3.5-getentropy-on-old-kernels.patch \
%D%/packages/patches/python-dendropy-fix-tests.patch \
- %D%/packages/patches/python-file-double-encoding-bug.patch \
%D%/packages/patches/python-fix-tests.patch \
%D%/packages/patches/python-genshi-add-support-for-python-3.4-AST.patch \
%D%/packages/patches/python-genshi-buildable-on-python-2.7.patch \
@@ -1014,6 +993,7 @@ dist_patch_DATA = \
%D%/packages/patches/scotch-test-threading.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
+ %D%/packages/patches/shishi-fix-libgcrypt-detection.patch \
%D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \
%D%/packages/patches/slim-sigusr1.patch \
@@ -1084,6 +1064,7 @@ dist_patch_DATA = \
%D%/packages/patches/weechat-python.patch \
%D%/packages/patches/wget-CVE-2017-6508.patch \
%D%/packages/patches/wget-fix-504-test-timeout.patch \
+ %D%/packages/patches/wget-perl-5.26.patch \
%D%/packages/patches/wicd-bitrate-none-fix.patch \
%D%/packages/patches/wicd-get-selected-profile-fix.patch \
%D%/packages/patches/wicd-urwid-1.3.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index c4aa108f89..e8a1cb552c 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -167,10 +167,10 @@ and provides a \"top-like\" mode (monitoring).")
`(("pkg-config" ,pkg-config)
;; This is the Guile we use as a cross-compiler...
- ("guile" ,guile-2.0)))
+ ("guile" ,guile-2.2)))
(inputs
;; ... and this is the one that appears in shebangs when cross-compiling.
- `(("guile" ,guile-2.0)))
+ `(("guile" ,guile-2.2)))
(synopsis "System service manager")
(description
"The GNU Shepherd is a daemon-managing daemon, meaning that it supervises
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index d4405a5bf9..c57c703700 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;;
@@ -479,7 +480,6 @@ binary.")
(base32
"0amh9ik44jfg66csyvf4zz1l878c4755kjndq9j0270akflgrbb2"))))
(build-system gnu-build-system)
- (inputs `(("readline" ,readline)))
(native-inputs
`(("ed" ,ed)
("flex" ,flex)
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index 3c590950fd..faa0d17230 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -78,6 +78,16 @@ C++ @dfn{Standard Template Library} (STL).")
"/lib"))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-boost-build-error
+ ;; A chain of Boost headers leads to this error: "make_array" is
+ ;; not a member of "boost::serialization". This can be avoided by
+ ;; loading the "array_wrapper" header first.
+ (lambda _
+ (substitute* "src/synfig/valuenodes/valuenode_dynamic.cpp"
+ (("#include <boost/numeric/odeint/integrate/integrate.hpp>" match)
+ (string-append
+ "#include <boost/serialization/array_wrapper.hpp>\n" match)))
+ #t))
(add-after 'unpack 'adapt-to-libxml++-changes
(lambda _
(substitute* "configure"
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index f9a537d712..20b375abe1 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -184,8 +184,7 @@ backups (called chunks) to allow easy burning to CD/DVD.")
(define-public libarchive
(package
(name "libarchive")
- (replacement libarchive-3.3.1)
- (version "3.2.2")
+ (version "3.3.1")
(source
(origin
(method url-fetch)
@@ -193,7 +192,7 @@ backups (called chunks) to allow easy burning to CD/DVD.")
version ".tar.gz"))
(sha256
(base32
- "03q6y428rg723c9fj1vidzjw46w1vf8z0h95lkvz1l9jw571j739"))))
+ "1rr40hxlm9vy5z2zb5w7pyfkgd1a4s061qapm83s19accb8mpji9"))))
(build-system gnu-build-system)
;; TODO: Add -L/path/to/nettle in libarchive.pc.
(inputs
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index da2c6dead6..1ccff1fcf5 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -7,6 +7,8 @@
;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
+;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -87,7 +89,8 @@ command-line arguments, multiple languages, and so on.")
(sha256
(base32
"1dcasjp3a578nrvzrcn38mpizb8w1q6mvfzhjmcqqgkf0nsivj72"))
- (patches (search-patches "grep-timing-sensitive-test.patch"))))
+ (patches (search-patches "grep-timing-sensitive-test.patch"
+ "grep-gnulib-lock.patch"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl))) ;some of the tests require it
(arguments
@@ -228,14 +231,14 @@ differences.")
(define-public diffutils
(package
(name "diffutils")
- (version "3.5")
+ (version "3.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/diffutils/diffutils-"
version ".tar.xz"))
(sha256
(base32
- "0csmqfz8ks23kdjsq0v2ll1acqiz8lva06dj19mwmymrsp69ilys"))))
+ "1mivg0fy3a6fcn535ln8nkgfj6vxh5hsxxs5h6692wxmsjyyh8fn"))))
(build-system gnu-build-system)
(synopsis "Comparing and merging files")
(description
@@ -258,8 +261,13 @@ interactive means to merge two files.")
(sha256
(base32
"178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y"))
- (patches (search-patches "findutils-localstatedir.patch"
- "findutils-test-xargs.patch"))))
+ (patches (search-patches
+ "findutils-localstatedir.patch"
+ "findutils-test-xargs.patch"
+ ;; test-lock has performance issues on multi-core
+ ;; machines, it hangs or takes a long time to complete.
+ ;; This is a commit from gnulib to fix this issue.
+ "findutils-gnulib-multi-core.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list
@@ -285,15 +293,15 @@ used to apply commands with arbitrarily long arguments.")
(define-public coreutils
(package
(name "coreutils")
- (version "8.26")
+ (version "8.27")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/coreutils/coreutils-"
version ".tar.xz"))
(sha256
(base32
- "13lspazc7xkviy93qz7ks9jv4sldvgmwpq36ghrbrqpq93br8phm"))
- (patches (search-patches "coreutils-fix-cross-compilation.patch"))))
+ "0sv547572iq8ayy8klir4hnngnx92a9nsazmf1wgzfc7xr4x74c8"))
+ (patches (search-patches "coreutils-cut-huge-range-test.patch"))))
(build-system gnu-build-system)
(inputs `(("acl" ,acl) ; TODO: add SELinux
("gmp" ,gmp) ;bignums in 'expr', yay!
@@ -308,21 +316,12 @@ used to apply commands with arbitrarily long arguments.")
;; copy of help2man. However, don't pass it when cross-compiling since
;; that would lead it to try to run programs to get their '--help' output
;; for help2man.
- `(,@(if (%current-target-system)
- '()
- `(("perl" ,perl)))
-
- ;; Apply this patch only on ARM to avoid a full rebuild.
- ;; TODO: Move to 'patches' in the next update cycle.
- ,@(if (string-prefix? "arm" (or (%current-target-system)
- (%current-system)))
- `(("cut-test.patch"
- ,(search-patch "coreutils-cut-huge-range-test.patch")))
- '())))
+ (if (%current-target-system)
+ '()
+ `(("perl" ,perl))))
(outputs '("out" "debug"))
(arguments
`(#:parallel-build? #f ; help2man may be called too early
- #:parallel-tests? #f ; race condition fixed after 8.26
#:phases (alist-cons-before
'build 'patch-shell-references
(lambda* (#:key inputs #:allow-other-keys)
@@ -337,22 +336,7 @@ used to apply commands with arbitrarily long arguments.")
(substitute* (find-files "tests" "\\.sh$")
(("#!/bin/sh")
(format #f "#!~a/bin/sh" bash)))))
-
- ,@(if (string-prefix? "arm" (or (%current-target-system)
- (%current-system)))
- '((alist-cons-before
- 'build 'patch-cut-test
- (lambda* (#:key inputs native-inputs
- #:allow-other-keys)
- (let ((patch (or (assoc-ref inputs
- "cut-test.patch")
- (assoc-ref native-inputs
- "cut-test.patch"))))
- (zero?
- (system* "patch" "-p1" "--force"
- "--input" patch))))
- %standard-phases))
- '(%standard-phases)))))
+ %standard-phases)))
(synopsis "Core GNU utilities (file, text, shell)")
(description
"GNU Coreutils includes all of the basic command-line tools that are
@@ -362,29 +346,6 @@ functionality beyond that which is outlined in the POSIX standard.")
(license gpl3+)
(home-page "https://www.gnu.org/software/coreutils/")))
-;; We add version 8.27 here for use in (gnu system) due to a time
-;; zone bug in `date' versions 8.25 - 8.26.
-;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23035
-;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26238
-(define-public coreutils-8.27
- (package
- (inherit coreutils)
- (version "8.27")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/coreutils/coreutils-"
- version ".tar.xz"))
- (sha256
- (base32
- "0sv547572iq8ayy8klir4hnngnx92a9nsazmf1wgzfc7xr4x74c8"))))
- (arguments
- (if (string-prefix? "arm" (or (%current-target-system)
- (%current-system)))
- (substitute-keyword-arguments (package-arguments coreutils)
- ((#:phases phases)
- `(alist-delete 'patch-cut-test ,phases)))
- (package-arguments coreutils)))))
-
(define-public coreutils-minimal
;; Coreutils without its optional dependencies.
(package
@@ -434,17 +395,16 @@ change. GNU make offers many powerful extensions over the standard utility.")
(define-public binutils
(package
(name "binutils")
- (version "2.27")
+ (version "2.28")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/binutils/binutils-"
version ".tar.bz2"))
(sha256
(base32
- "125clslv17xh1sab74343fg6v31msavpmaa1c1394zsqa773g5rn"))
+ "0wiasgns7i8km8nrxas265sh2dfpsw93b3qw195ipc90w4z475v2"))
(patches (search-patches "binutils-ld-new-dtags.patch"
- "binutils-loongson-workaround.patch"
- "binutils-mips-bash-bug.patch"))))
+ "binutils-loongson-workaround.patch"))))
(build-system gnu-build-system)
;; TODO: Add dependency on zlib + those for Gold.
@@ -456,10 +416,6 @@ change. GNU make offers many powerful extensions over the standard utility.")
;; Don't search under /usr/lib & co.
"--with-lib-path=/no-ld-lib-path"
- ;; Glibc 2.17 has a "comparison of unsigned
- ;; expression >= 0 is always true" in wchar.h.
- "--disable-werror"
-
;; Install BFD. It ends up in a hidden directory,
;; but it's here.
"--enable-install-libbfd"
@@ -482,7 +438,7 @@ included.")
(define* (make-ld-wrapper name #:key
(target (const #f))
binutils
- (guile (canonical-package guile-2.0))
+ (guile (canonical-package guile-2.2))
(bash (canonical-package bash))
(guile-for-build guile))
"Return a package called NAME that contains a wrapper for the 'ld' program
@@ -558,7 +514,6 @@ store.")
(package
(name "glibc")
(version "2.25")
- (replacement glibc-2.25-patched)
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/glibc/glibc-"
@@ -576,7 +531,12 @@ store.")
(modules '((guix build utils)))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-versioned-locpath.patch"
- "glibc-o-largefile.patch"))))
+ "glibc-o-largefile.patch"
+ "glibc-memchr-overflow-i686.patch"
+ "glibc-vectorized-strcspn-guards.patch"
+ "glibc-CVE-2017-1000366-pt1.patch"
+ "glibc-CVE-2017-1000366-pt2.patch"
+ "glibc-CVE-2017-1000366-pt3.patch"))))
(build-system gnu-build-system)
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
@@ -588,10 +548,6 @@ store.")
(arguments
`(#:out-of-source? #t
- ;; In version 2.21, there a race in the 'elf' directory, see
- ;; <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00709.html>.
- #:parallel-build? #f
-
;; The libraries have an empty RUNPATH, but some, such as the versioned
;; libraries (libdl-2.24.so, etc.) have ld.so marked as NEEDED. Since
;; these libraries are always going to be found anyway, just skip
@@ -667,19 +623,6 @@ store.")
;; 4.7.1.
((" -lgcc_s") ""))
- ;; Apply patch only on i686.
- ;; TODO: Move the patch to 'patches' in the next update cycle.
- ,@(if (string-prefix? "i686" (or (%current-target-system)
- (%current-system)))
- `((unless (zero? (system* "patch" "-p1" "--force"
- "--input"
- (or (assoc-ref native-inputs
- "glibc-memchr-overflow-i686.patch")
- (assoc-ref inputs
- "glibc-memchr-overflow-i686.patch"))))
- (error "patch failed for glibc-memchr-overflow-i686.patch")))
- '())
-
;; Have `system' use that Bash.
(substitute* "sysdeps/posix/system.c"
(("#define[[:blank:]]+SHELL_PATH.*$")
@@ -723,15 +666,7 @@ store.")
;; install the message catalogs, with 'msgfmt'.
(native-inputs `(("texinfo" ,texinfo)
("perl" ,perl)
- ("gettext" ,gettext-minimal)
-
- ;; Apply this patch only on i686 to avoid a full rebuild.
- ;; TODO: Move to 'patches' in the next update cycle.
- ,@(if (string-prefix? "i686" (or (%current-target-system)
- (%current-system)))
- `(("glibc-memchr-overflow-i686.patch"
- ,(search-patch "glibc-memchr-overflow-i686.patch")))
- '())))
+ ("gettext" ,gettext-minimal)))
(native-search-paths
;; Search path for packages that provide locale data. This is useful
@@ -780,71 +715,6 @@ with the Linux kernel.")
;; Add libmachuser.so and libhurduser.so to libc.so's search path.
;; See <http://lists.gnu.org/archive/html/bug-hurd/2015-07/msg00051.html>.
`(modify-phases ,original-phases
- ;; TODO: This is almost an exact copy of the phase of the same name
- ;; in glibc/linux. The only difference is that the i686 patch is
- ;; not applied here. In the next update cycle the patch moves to
- ;; the patches field and this overwritten phase won't be needed any
- ;; more.
- (replace 'pre-configure
- (lambda* (#:key inputs native-inputs outputs
- #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- ;; FIXME: Normally we would look it up only in INPUTS
- ;; but cross-base uses it as a native input.
- (bash (or (assoc-ref inputs "static-bash")
- (assoc-ref native-inputs "static-bash"))))
- ;; Install the rpc data base file under `$out/etc/rpc'.
- ;; FIXME: Use installFlags = [ "sysconfdir=$(out)/etc" ];
- (substitute* "sunrpc/Makefile"
- (("^\\$\\(inst_sysconfdir\\)/rpc(.*)$" _ suffix)
- (string-append out "/etc/rpc" suffix "\n"))
- (("^install-others =.*$")
- (string-append "install-others = " out "/etc/rpc\n")))
-
- (substitute* "Makeconfig"
- ;; According to
- ;; <http://www.linuxfromscratch.org/lfs/view/stable/chapter05/glibc.html>,
- ;; linking against libgcc_s is not needed with GCC
- ;; 4.7.1.
- ((" -lgcc_s") ""))
-
- ;; Have `system' use that Bash.
- (substitute* "sysdeps/posix/system.c"
- (("#define[[:blank:]]+SHELL_PATH.*$")
- (format #f "#define SHELL_PATH \"~a/bin/bash\"\n"
- bash)))
-
- ;; Same for `popen'.
- (substitute* "libio/iopopen.c"
- (("/bin/sh")
- (string-append bash "/bin/sh")))
-
- ;; Same for the shell used by the 'exec' functions for
- ;; scripts that lack a shebang.
- (substitute* (find-files "." "^paths\\.h$")
- (("#define[[:blank:]]+_PATH_BSHELL[[:blank:]].*$")
- (string-append "#define _PATH_BSHELL \""
- bash "/bin/sh\"\n")))
-
- ;; Nscd uses __DATE__ and __TIME__ to create a string to
- ;; make sure the client and server come from the same
- ;; libc. Use something deterministic instead.
- (substitute* "nscd/nscd_stat.c"
- (("static const char compilation\\[21\\] =.*$")
- (string-append
- "static const char compilation[21] = \""
- (string-take (basename out) 20) "\";\n")))
-
- ;; Make sure we don't retain a reference to the
- ;; bootstrap Perl.
- (substitute* "malloc/mtrace.pl"
- (("^#!.*")
- ;; The shebang can be omitted, because there's the
- ;; "bilingual" eval/exec magic at the top of the file.
- "")
- (("exec @PERL@")
- "exec perl")))))
(add-after 'install 'augment-libc.so
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
@@ -902,19 +772,6 @@ GLIBC/HURD for a Hurd host"
(define-syntax glibc
(identifier-syntax (glibc-for-target)))
-(define glibc-2.25-patched
- (package
- (inherit glibc)
- (source (origin
- (inherit (package-source glibc))
- (patches (search-patches "glibc-ldd-x86_64.patch"
- "glibc-versioned-locpath.patch"
- "glibc-o-largefile.patch"
- "glibc-vectorized-strcspn-guards.patch"
- "glibc-CVE-2017-1000366-pt1.patch"
- "glibc-CVE-2017-1000366-pt2.patch"
- "glibc-CVE-2017-1000366-pt3.patch"))))))
-
;; Below are old libc versions, which we use mostly to build locale data in
;; the old format (which the new libc cannot cope with.)
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 9e93dfc491..b8b0ae58f6 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -211,33 +211,33 @@ without modification.")
(outputs (delete "include" (package-outputs bash)))
(arguments
- (let ((args `(#:modules ((guix build gnu-build-system)
- (guix build utils)
- (srfi srfi-1)
- (srfi srfi-26))
- ,@(package-arguments bash))))
- (substitute-keyword-arguments args
- ((#:configure-flags flags)
- `(list "--without-bash-malloc"
- "--disable-readline"
- "--disable-history"
- "--disable-help-builtin"
- "--disable-progcomp"
- "--disable-net-redirections"
- "--disable-nls"
+ (substitute-keyword-arguments (package-arguments bash)
+ ((#:modules _ '())
+ '((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-1)
+ (srfi srfi-26)))
+ ((#:configure-flags flags '())
+ `(list "--without-bash-malloc"
+ "--disable-readline"
+ "--disable-history"
+ "--disable-help-builtin"
+ "--disable-progcomp"
+ "--disable-net-redirections"
+ "--disable-nls"
- ;; Pretend 'dlopen' is missing so we don't build loadable
- ;; modules and related code.
- "ac_cv_func_dlopen=no"
+ ;; Pretend 'dlopen' is missing so we don't build loadable
+ ;; modules and related code.
+ "ac_cv_func_dlopen=no"
- ,@(if (%current-target-system)
- '("bash_cv_job_control_missing=no"
- "bash_cv_getcwd_malloc=yes")
- '())))
- ((#:phases phases)
- `(modify-phases ,phases
- ;; No loadable modules.
- (delete 'move-development-files))))))))
+ ,@(if (%current-target-system)
+ '("bash_cv_job_control_missing=no"
+ "bash_cv_getcwd_malloc=yes")
+ '())))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ ;; No loadable modules.
+ (delete 'move-development-files)))))))
(define-public static-bash
;; Statically-linked Bash that contains nothing but the 'bash' binary and
diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index b9732374d7..790a238579 100644
--- a/gnu/packages/bdw-gc.scm
+++ b/gnu/packages/bdw-gc.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,7 +24,8 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
- #:use-module (gnu packages pkg-config))
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages hurd))
(define-public libgc
(package
@@ -38,8 +40,20 @@
"143x7g0d0k6250ai6m2x3l4y352mzizi4wbgrmahxscv2aqjhjm1"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags '(;; Install gc_cpp.h et al.
- "--enable-cplusplus")))
+ `(#:configure-flags
+ (list
+ ;; Install gc_cpp.h et al.
+ "--enable-cplusplus"
+ ;; In GNU/Hurd systems during the 'Check' phase,
+ ;; there is a deadlock caused by the 'gctest' test.
+ ;; To disable the error set "--disable-gcj-support"
+ ;; to configure script. See bug report and discussion:
+ ;; <https://lists.opendylan.org/pipermail/bdwgc/2017-April/006275.html>
+ ;; <https://lists.gnu.org/archive/html/bug-hurd/2017-01/msg00008.html>
+ ,@(if (hurd-triplet? (or (%current-system)
+ (%current-target-system)))
+ '("--disable-gcj-support")
+ '()))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("libatomic-ops" ,libatomic-ops)))
(outputs '("out" "debug"))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 3ec8b5ec71..84f070f0fd 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -3484,7 +3484,8 @@ form of assemblies or reads.")
(base32
"0rws9r1ziv6way8cf49jg8bzj7x2131kfqkhj8byf0z5hnrq3bwv"))
(patches (search-patches "metabat-remove-compilation-date.patch"
- "metabat-fix-compilation.patch"))))
+ "metabat-fix-compilation.patch"
+ "metabat-fix-boost-issue.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -4683,6 +4684,10 @@ Roche 454, Ion Torrent and Pacific BioSciences SMRT.")
'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
+ ;; Allow 'konfigure.perl' to find 'package.prl'.
+ (setenv "PERL5LIB"
+ (string-append ".:" (getenv "PERL5LIB")))
+
;; The 'configure' script doesn't recognize things like
;; '--enable-fast-install'.
(zero? (system* "./configure"
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index dfaa853533..4c7308e9d6 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -28,14 +28,15 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages icu4c)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages python)
- #:use-module (gnu packages shells)
- #:use-module (gnu packages perl))
+ #:use-module (gnu packages shells))
(define-public boost
(package
(name "boost")
- (version "1.63.0")
+ (version "1.64.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -44,9 +45,10 @@
".tar.bz2"))
(sha256
(base32
- "1c5kzhcqahnic55dxcnw7r80qvwx5sfa2sa97yzv7xjrywljbbmy"))))
+ "0cikd35xfkpg9nnl76yqqnqxnf3hyfjjww8xjd4akflprsm5rk3v"))))
(build-system gnu-build-system)
- (inputs `(("zlib" ,zlib)))
+ (inputs `(("icu4c" ,icu4c)
+ ("zlib" ,zlib)))
(native-inputs
`(("perl" ,perl)
("python" ,python-2)
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index c0d16b6c88..864b1a2698 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -122,7 +122,7 @@
("bison" ,bison)
;; Due to a bug in flex >= 2.6.2, GRUB must be built with an older flex:
;; <http://lists.gnu.org/archive/html/grub-devel/2017-02/msg00133.html>
- ;; TODO Try building with flex > 2.6.3.
+ ;; TODO Try building with flex > 2.6.4.
("flex" ,flex-2.6.1)
("texinfo" ,texinfo)
("help2man" ,help2man)
@@ -292,7 +292,7 @@ menu to select one of the installed operating systems.")
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
- ("flex" ,flex-2.6.1))) ; A bug in flex prevents building with flex-2.6.3.
+ ("flex" ,flex)))
(arguments
`(#:make-flags
(list "CC=gcc"
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index f43decc96e..ba733b3a9e 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -162,6 +162,7 @@ successful, or false to signal an error."
gnu-triplet->nix-system)
(%current-system))))
"Return the name of Glibc's dynamic linker for SYSTEM."
+ ;; See the 'SYSDEP_KNOWN_INTERPRETER_NAMES' cpp macro in libc.
(cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2")
((string=? system "i686-linux") "/lib/ld-linux.so.2")
((string=? system "armhf-linux") "/lib/ld-linux-armhf.so.3")
@@ -170,6 +171,7 @@ successful, or false to signal an error."
((string=? system "i686-gnu") "/lib/ld.so.1")
((string=? system "aarch64-linux") "/lib/ld-linux-aarch64.so.1")
((string=? system "powerpc-linux") "/lib/ld.so.1")
+ ((string=? system "powerpc64le-linux") "/lib/ld64.so.2")
((string=? system "alpha-linux") "/lib/ld-linux.so.2")
;; XXX: This one is used bare-bones, without a libc, so add a case
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 54cf89bf47..2b67881ede 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -509,14 +509,7 @@ the bootstrap environment."
(propagated-inputs `(("kernel-headers" ,(kernel-headers-boot0))))
(native-inputs
`(("texinfo" ,texinfo-boot0)
- ("perl" ,perl-boot0)
- ;; Apply this patch only on i686 to avoid a full rebuild.
- ;; TODO: Remove in the next update cycle.
- ,@(if (string-prefix? "i686" (or (%current-target-system)
- (%current-system)))
- `(("glibc-memchr-overflow-i686.patch"
- ,(search-patch "glibc-memchr-overflow-i686.patch")))
- '())))
+ ("perl" ,perl-boot0)))
(inputs
`(;; The boot inputs. That includes the bootstrap libc. We don't want
;; it in $CPATH, hence the 'pre-configure' phase above.
@@ -806,13 +799,14 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define bash-final
;; Link with `-static-libgcc' to make sure we don't retain a reference
- ;; to the bootstrap GCC.
+ ;; to the bootstrap GCC. Use "bash-minimal" to avoid an extra dependency
+ ;; on Readline and ncurses.
(let ((bash (package
- (inherit bash)
+ (inherit bash-minimal)
(arguments
`(#:disallowed-references
,(assoc-ref %boot3-inputs "coreutils&co")
- ,@(package-arguments bash))))))
+ ,@(package-arguments bash-minimal))))))
(package-with-bootstrap-guile
(package-with-explicit-inputs (static-libgcc-package bash)
%boot3-inputs
@@ -828,7 +822,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; This package must be public because other modules refer to it. However,
;; mark it as hidden so that 'fold-packages' ignores it.
(package-with-bootstrap-guile
- (package-with-explicit-inputs (hidden-package guile-2.0/fixed)
+ (package-with-explicit-inputs (hidden-package guile-2.2/fixed)
%boot4-inputs
(current-source-location)
#:guile %bootstrap-guile)))
@@ -849,12 +843,10 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define-public ld-wrapper
;; The final 'ld' wrapper, which uses the final Guile and Binutils.
- (package (inherit ld-wrapper-boot3)
- (name "ld-wrapper")
- (inputs `(("guile" ,guile-final)
- ("bash" ,bash-final)
- ,@(fold alist-delete (package-inputs ld-wrapper-boot3)
- '("guile" "bash"))))))
+ (make-ld-wrapper "ld-wrapper"
+ #:binutils binutils-final
+ #:guile guile-final
+ #:bash bash-final))
(define %boot5-inputs
;; Now with UTF-8 locales. Remember that the bootstrap binaries were built
@@ -947,7 +939,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
the implicit inputs of 'gnu-build-system', return that one, otherwise return
PACKAGE.
-The goal is to avoid duplication in cases like GUILE-FINAL vs. GUILE-2.0,
+The goal is to avoid duplication in cases like GUILE-FINAL vs. GUILE-2.2,
COREUTILS-FINAL vs. COREUTILS, etc."
;; XXX: This doesn't handle dependencies of the final inputs, such as
;; libunistring, GMP, etc.
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index a732ca26de..f2989d9c15 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -212,84 +212,78 @@ file; as a result, it is often used in conjunction with \"tar\", resulting in
(home-page "https://www.gnu.org/software/gzip/")))
(define-public bzip2
- (let ((build-shared-lib
- ;; Build a shared library.
- '(lambda* (#:key inputs #:allow-other-keys)
- (patch-makefile-SHELL "Makefile-libbz2_so")
- (zero? (system* "make" "-f" "Makefile-libbz2_so"))))
- (install-shared-lib
- '(lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (libdir (string-append out "/lib")))
- (for-each (lambda (file)
- (let ((base (basename file)))
- (format #t "installing `~a' to `~a'~%"
- base libdir)
- (copy-file file
- (string-append libdir "/" base))))
- (find-files "." "^libbz2\\.so")))))
- (set-cross-environment
- '(lambda* (#:key target #:allow-other-keys)
- (substitute* (find-files "." "Makefile")
- (("CC=.*$")
- (string-append "CC = " target "-gcc\n"))
- (("AR=.*$")
- (string-append "AR = " target "-ar\n"))
- (("RANLIB=.*$")
- (string-append "RANLIB = " target "-ranlib\n"))
- (("^all:(.*)test" _ prerequisites)
- ;; Remove 'all' -> 'test' dependency.
- (string-append "all:" prerequisites "\n"))))))
- (package
- (name "bzip2")
- (version "1.0.6")
- (source (origin
- (method url-fetch)
- (uri (string-append "http://www.bzip.org/" version "/bzip2-"
- version ".tar.gz"))
- (sha256
- (base32
- "1kfrc7f0ja9fdn6j1y6yir6li818npy6217hvr3wzmnmzhs8z152"))))
- (build-system gnu-build-system)
- (arguments
- `(#:modules ((guix build gnu-build-system)
- (guix build utils)
- (srfi srfi-1))
- #:phases
- ,(if (%current-target-system)
-
- ;; Cross-compilation: use the cross tools.
- `(alist-cons-before
- 'build 'build-shared-lib ,build-shared-lib
- (alist-cons-after
- 'install 'install-shared-lib ,install-shared-lib
- (alist-replace 'configure ,set-cross-environment
- %standard-phases)))
-
- ;; Native compilation: build the shared library.
- `(alist-cons-before
- 'build 'build-shared-lib ,build-shared-lib
- (alist-cons-after
- 'install 'install-shared-lib ,install-shared-lib
- (alist-delete 'configure %standard-phases))))
+ (package
+ (name "bzip2")
+ (version "1.0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.bzip.org/" version "/bzip2-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1kfrc7f0ja9fdn6j1y6yir6li818npy6217hvr3wzmnmzhs8z152"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-1))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key target #:allow-other-keys)
+ (if ,(%current-target-system)
+ ;; Cross-compilation: use the cross tools.
+ (substitute* (find-files "." "Makefile")
+ (("CC=.*$")
+ (string-append "CC = " target "-gcc\n"))
+ (("AR=.*$")
+ (string-append "AR = " target "-ar\n"))
+ (("RANLIB=.*$")
+ (string-append "RANLIB = " target "-ranlib\n"))
+ (("^all:(.*)test" _ prerequisites)
+ ;; Remove 'all' -> 'test' dependency.
+ (string-append "all:" prerequisites "\n")))
+ #t)))
+ (add-before 'build 'build-shared-lib
+ (lambda* (#:key inputs #:allow-other-keys)
+ (patch-makefile-SHELL "Makefile-libbz2_so")
+ (zero? (system* "make" "-f" "Makefile-libbz2_so"))))
+ (add-after 'install 'install-shared-lib
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib")))
+ (for-each (lambda (file)
+ (let ((base (basename file)))
+ (format #t "installing `~a' to `~a'~%"
+ base libdir)
+ (copy-file file
+ (string-append libdir "/" base))))
+ (find-files "." "^libbz2\\.so")))
+ #t))
+ (add-after 'install-shared-lib 'patch-scripts
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ (substitute* (string-append out "/bin/bzdiff")
+ (("/bin/rm") "rm")))
+ #t)))
- #:make-flags (list (string-append "PREFIX="
- (assoc-ref %outputs "out")))
+ #:make-flags (list (string-append "PREFIX="
+ (assoc-ref %outputs "out")))
- ;; Don't attempt to run the tests when cross-compiling.
- ,@(if (%current-target-system)
- '(#:tests? #f)
- '())))
- (synopsis "High-quality data compression program")
- (description
- "bzip2 is a freely available, patent free (see below), high-quality data
+ ;; Don't attempt to run the tests when cross-compiling.
+ ,@(if (%current-target-system)
+ '(#:tests? #f)
+ '())))
+ (synopsis "High-quality data compression program")
+ (description
+ "bzip2 is a freely available, patent free (see below), high-quality data
compressor. It typically compresses files to within 10% to 15% of the best
available techniques (the PPM family of statistical compressors), whilst
being around twice as fast at compression and six times faster at
decompression.")
- (license (license:non-copyleft "file://LICENSE"
- "See LICENSE in the distribution."))
- (home-page "http://www.bzip.org/"))))
+ (license (license:non-copyleft "file://LICENSE"
+ "See LICENSE in the distribution."))
+ (home-page "http://www.bzip.org/")))
(define-public lbzip2
(package
@@ -462,14 +456,14 @@ some compression ratio).")
(define-public lzip
(package
(name "lzip")
- (version "1.16")
+ (version "1.18")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/lzip-"
version ".tar.gz"))
(sha256
(base32
- "0l9724rw1l3hg2ldr3n7ihqich4m9nc6y7l302bvdj4jmxdw530j"))))
+ "1p8lvc22sv3damld9ng8y6i8z2dvvpsbi9v7yhr5bc2a20m8iya7"))))
(build-system gnu-build-system)
(home-page "http://www.nongnu.org/lzip/lzip.html")
(synopsis "Lossless data compressor based on the LZMA algorithm")
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index fec328cda6..aba8ce7eb1 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Mark H Weaver <mhw@netris.org>
@@ -53,7 +53,7 @@
(define-public cups-filters
(package
(name "cups-filters")
- (version "1.13.1")
+ (version "1.14.1")
(source(origin
(method url-fetch)
(uri
@@ -61,7 +61,7 @@
"cups-filters-" version ".tar.xz"))
(sha256
(base32
- "0s7hylp2lcvc1vrqpywpv7lspkrh4xf7cyi4nbg10cf38rshj474"))
+ "0175jhqpsyn7bkh7w43ydhyws5zsdak05hr1fsadvzslvwqkffgi"))
(modules '((guix build utils)))
(snippet
;; install backends, banners and filters to cups-filters output
@@ -141,7 +141,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
(define-public cups-minimal
(package
(name "cups-minimal")
- (version "2.2.1")
+ (version "2.2.4")
(source
(origin
(method url-fetch)
@@ -149,7 +149,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
version "/cups-" version "-source.tar.gz"))
(sha256
(base32
- "1m8rwhbk0l8n19iwm51r2569jj15d0x6mpqhfig0bk3pm4577f43"))))
+ "1k4qxafmapq6hzbkh273fdyzkj9alw6ppwz5k933bhsi4svlsvar"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index a9f219b621..af15aa38c4 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -40,15 +40,14 @@
(define-public curl
(package
(name "curl")
- (replacement curl-7.54.1)
- (version "7.53.0")
+ (version "7.54.1")
(source (origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.lzma"))
(sha256
(base32
- "1k0i31xygb804c61llhin5wbpcscg4gfqmbxcfkpdr1alwh7igrq"))))
+ "0vnv3cz0s1l5cjby86hm0x6pgzqijmdm97qa9q5px200956z6yib"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;1.2 MiB of man3 pages
@@ -120,16 +119,3 @@ tunneling, and so on.")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))
(home-page "https://curl.haxx.se/")))
-
-(define curl-7.54.1
- (package
- (inherit curl)
- (version "7.54.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://curl.haxx.se/download/curl-"
- version ".tar.lzma"))
- (sha256
- (base32
- "0vnv3cz0s1l5cjby86hm0x6pgzqijmdm97qa9q5px200956z6yib"))))))
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 13efc5edca..b77270e11e 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -127,14 +127,14 @@ either single machines or networked clusters.")
(define-public gdbm
(package
(name "gdbm")
- (version "1.12")
+ (version "1.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdbm/gdbm-"
version ".tar.gz"))
(sha256
(base32
- "1smwz4x5qa4js0zf1w3asq6z7mh20zlgwbh2bk5dczw6xrk22yyr"))))
+ "0lx201q20dvc70f8a3c9s7s18z15inlxvbffph97ngvrgnyjq9cx"))))
(arguments `(#:configure-flags '("--enable-libgdbm-compat")))
(build-system gnu-build-system)
(home-page "http://www.gnu.org.ua/software/gdbm")
@@ -753,7 +753,7 @@ for example from a shell script.")
(define-public sqlite
(package
(name "sqlite")
- (version "3.17.0")
+ (version "3.19.3")
(source (origin
(method url-fetch)
(uri (let ((numeric-version
@@ -769,7 +769,7 @@ for example from a shell script.")
numeric-version ".tar.gz")))
(sha256
(base32
- "0k472gq0p706jq4529p60znvw02hdf172qxgbdv59q0n7anqbr54"))))
+ "00b3l2qglpl1inx21fckiwxnfq5xf6441flc79rqg7zdvh1rq4h6"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)))
(arguments
@@ -1089,7 +1089,8 @@ module, and nothing else.")
"17sgwq3mvqjhv3b77cnvrq60xgp8harjhlnvpwmxc914rqc5ckaz"))))
(build-system perl-build-system)
(native-inputs
- `(("perl-test-deep" ,perl-test-deep)
+ `(("perl-module-install" ,perl-module-install)
+ ("perl-test-deep" ,perl-test-deep)
("perl-test-exception" ,perl-test-exception)
("perl-test-warn" ,perl-test-warn)))
(propagated-inputs
diff --git a/gnu/packages/ed.scm b/gnu/packages/ed.scm
index 5014229952..d30d7bcfa8 100644
--- a/gnu/packages/ed.scm
+++ b/gnu/packages/ed.scm
@@ -28,14 +28,14 @@
(define-public ed
(package
(name "ed")
- (version "1.14.1")
+ (version "1.14.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/ed/ed-"
version ".tar.lz"))
(sha256
(base32
- "0ajm69pma7gigddlrq2qi4dsllz9vhm8gqwpkcdagdd2yaw7xfgz"))))
+ "1nqhk3n1s1p77g2bjnj55acicsrlyb2yasqxqwpx0w0djfx64ygm"))))
(build-system gnu-build-system)
(native-inputs `(("lzip" ,lzip)))
(arguments
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index e509647eae..29a3e543e5 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -447,7 +447,7 @@ with a layered architecture of JTAG interface and TAP support.")
,@(package-arguments xbinutils)))
(native-inputs
`(("bison" ,bison)
- ("flex" ,flex-2.6.1) ; needed because of yywrap error
+ ("flex" ,flex)
("texinfo" ,texinfo)
("dejagnu" ,dejagnu)
,@(package-native-inputs xbinutils))))))
@@ -827,7 +827,7 @@ simulator.")
(base32
"14b3h2ji740s8zq5vwm4qdcxs4aa4wxi6wb9di3bv1h39x14nyr9"))))
("texinfo" ,texinfo)
- ("flex" ,flex-2.6.1) ; A bug in flex prevents building with flex-2.6.3.
+ ("flex" ,flex)
("bison" ,bison)
("guile-1.8" ,guile-1.8)
("which" ,base:which)))
diff --git a/gnu/packages/file.scm b/gnu/packages/file.scm
index a6239877a0..050e6715b1 100644
--- a/gnu/packages/file.scm
+++ b/gnu/packages/file.scm
@@ -28,14 +28,14 @@
(define-public file
(package
(name "file")
- (version "5.28")
+ (version "5.30")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.astron.com/pub/file/file-"
version ".tar.gz"))
(sha256
(base32
- "04p0w9ggqq6cqvwhyni0flji1z0rwrz896hmhkxd2mc6dca5xjqf"))))
+ "057jpcyy8ws7q4s4sm8r1rxb8xycdbng2z4y9i98f094wlr28k39"))))
(build-system gnu-build-system)
;; When cross-compiling, this package depends upon a native install of
diff --git a/gnu/packages/flex.scm b/gnu/packages/flex.scm
index 1470b967da..b09ac0bb89 100644
--- a/gnu/packages/flex.scm
+++ b/gnu/packages/flex.scm
@@ -32,7 +32,7 @@
(define-public flex
(package
(name "flex")
- (version "2.6.3")
+ (version "2.6.4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -41,7 +41,7 @@
"flex-" version ".tar.gz"))
(sha256
(base32
- "1an2cn2z85mkpgqcinh1fhhcd7993qm2lil1yxic8iz76ci79ck8"))))
+ "15g9bv236nzi665p9ggqjlfn4dwck5835vf0bbw2cz7h5c1swyp8"))))
(build-system gnu-build-system)
(inputs
(let ((bison-for-tests
@@ -86,10 +86,6 @@ executes the corresponding C code.")
(license (non-copyleft "file://COPYING"
"See COPYING in the distribution."))))
-;;; Many packages fail to build with flex > 2.6.1, due to this bug in flex:
-;;; <https://github.com/westes/flex/issues/162>
-;;; We must not use a flex before 2.6.1, due to CVE-2016-6354.
-;;; TODO Try using flex > 2.6.3.
(define-public flex-2.6.1
(package
(inherit flex)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 75736a73d0..bd74c4d6aa 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -34,6 +34,7 @@
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gperf)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gtk)
#:use-module (gnu packages xml)
@@ -48,14 +49,13 @@
(define-public freetype
(package
(name "freetype")
- (replacement freetype/fixed)
- (version "2.7.1")
+ (version "2.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/freetype/freetype-"
version ".tar.bz2"))
(sha256 (base32
- "121gm15ayfg3rglby8ifh8384mcjb9dhmx9j40zl7yszw72b4frs"))))
+ "02xlj611alpvl3h33hvfw1jyxc1vp9mzwcckkiglkhn3hknh7im3"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -74,15 +74,6 @@ anti-aliased glyph bitmap generation with 256 gray levels.")
(license license:freetype) ; some files have other licenses
(home-page "https://www.freetype.org/")))
-(define freetype/fixed
- (package
- (inherit freetype)
- (source
- (origin
- (inherit (package-source freetype))
- (patches (search-patches "freetype-CVE-2017-8105.patch"
- "freetype-CVE-2017-8287.patch"))))))
-
(define-public ttfautohint
(package
(name "ttfautohint")
@@ -235,22 +226,21 @@ fonts to/from the WOFF2 format.")
(define-public fontconfig
(package
(name "fontconfig")
- (version "2.12.1")
+ (version "2.12.3")
(source (origin
(method url-fetch)
(uri (string-append
"https://www.freedesktop.org/software/fontconfig/release/fontconfig-"
version ".tar.bz2"))
- (patches (search-patches "fontconfig-charwidth-symbol-conflict.patch"
- "fontconfig-path-max.patch"))
(sha256 (base32
- "1wy7svvp7df6bjpg1m5vizb3ngd7rhb20vpclv3x3qa71khs6jdl"))))
+ "1ggq6jmz3mlzk4xjs615aqw9h3hq33chjn82bhli26kk09kby95x"))))
(build-system gnu-build-system)
(propagated-inputs `(("expat" ,expat)
("freetype" ,freetype)))
(inputs `(("gs-fonts" ,gs-fonts)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("gperf" ,gperf) ; Try dropping this for > 2.12.3.
+ ("pkg-config" ,pkg-config)))
(arguments
`(#:configure-flags
(list "--with-cache-dir=/var/cache/fontconfig"
@@ -268,10 +258,12 @@ fonts to/from the WOFF2 format.")
"PYTHON=false")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'fix-tests-for-freetype-2.7.1
+ (add-before 'configure 'regenerate-fcobjshash
+ ;; XXX The pre-generated gperf files are broken.
+ ;; See <https://bugs.freedesktop.org/show_bug.cgi?id=101280>.
(lambda _
- (substitute* "test/run-test.sh"
- (("\\\| sort") "| cut -d' ' -f2 | sort"))
+ (delete-file "src/fcobjshash.h")
+ (delete-file "src/fcobjshash.gperf")
#t))
(replace 'install
(lambda _
@@ -385,8 +377,7 @@ applications should be.")
(define-public graphite2
(package
(name "graphite2")
- (version "1.3.9")
- (replacement graphite2/fixed)
+ (version "1.3.10")
(source
(origin
(method url-fetch)
@@ -395,7 +386,7 @@ applications should be.")
(patches (search-patches "graphite2-ffloat-store.patch"))
(sha256
(base32
- "0rs5h7m340z75kygx8d72cps0q6yvvqa9i788vym7585cfv8a0gc"))))
+ "1bm1rl2ww0m8rvmknh8fpajyz9xqv43qs9qrzf7xd5gaz6rf7zch"))))
(build-system cmake-build-system)
(native-inputs
`(("python" ,python-2) ; because of "import imap" in tests
@@ -411,21 +402,6 @@ and returns a sequence of positioned glyphids from the font.")
(license license:lgpl2.1+)
(home-page "https://github.com/silnrsi/graphite")))
-(define graphite2/fixed
- (package
- (inherit graphite2)
- (name "graphite2")
- (source
- (origin
- (method url-fetch)
- (uri (let ((version "1.3.10"))
- (string-append "https://github.com/silnrsi/graphite/releases/"
- "download/" version "/" name "-" version ".tgz")))
- (patches (search-patches "graphite2-ffloat-store.patch"))
- (sha256
- (base32
- "1bm1rl2ww0m8rvmknh8fpajyz9xqv43qs9qrzf7xd5gaz6rf7zch"))))))
-
(define-public potrace
(package
(name "potrace")
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index a9a7e08da1..9dbb8c0869 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -393,7 +393,7 @@ applications, X servers (rootless or fullscreen) or other display servers.")
(define-public wayland-protocols
(package
(name "wayland-protocols")
- (version "1.7")
+ (version "1.9")
(source (origin
(method url-fetch)
(uri (string-append
@@ -401,7 +401,7 @@ applications, X servers (rootless or fullscreen) or other display servers.")
"wayland-protocols-" version ".tar.xz"))
(sha256
(base32
- "07qw166s6bm81zfnhf4lmww6wj0il960fm3vp7n1z3rign9jlpv3"))))
+ "0xag2yci0l13brmq2k12vdv0wlnb2j0rxk2cnp170fya63g74sv6"))))
(build-system gnu-build-system)
(inputs
`(("wayland" ,wayland)))
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index bb8570bec5..eee91c32bf 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -213,7 +213,7 @@ where the OS part is overloaded to denote a specific ABI---into GCC
;; Fix the dynamic linker's file name.
(substitute* (find-files "gcc/config"
"^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$")
- (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ ]*).*$"
+ (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ \t]*).*$"
_ gnu-user suffix)
(format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%"
gnu-user suffix
@@ -385,6 +385,7 @@ Go. It also includes runtime support libraries for these languages.")
"0fihlcy5hnksdxk0sn6bvgnyq8gfrgs8m794b1jxwd1dxinzg3b0"))
(patches (search-patches "gcc-arm-bug-71399.patch"
"gcc-strmov-store-file-names.patch"
+ "gcc-asan-powerpc-missing-include.patch"
"gcc-5.0-libvtv-runpath.patch"
"gcc-5-source-date-epoch-1.patch"
"gcc-5-source-date-epoch-2.patch"))))))
diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm
index aac0f9664c..b4e6ce435b 100644
--- a/gnu/packages/gd.scm
+++ b/gnu/packages/gd.scm
@@ -154,6 +154,11 @@ you can create PNG images on the fly or modify existing files.")
(base32
"1kaxs67rfd4w46lxgcg3pa05a596l0h1k8n4zk2gwrrar4022wpx"))))
(build-system perl-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'set-env
+ (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1"))))))
(native-inputs
`(("perl-module-build" ,perl-module-build)))
(propagated-inputs
diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index 0484b8089e..76c01b1e09 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,7 +46,13 @@
version ".tar.gz"))
(sha256
(base32
- "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z"))))
+ "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z"))
+ ;; test-lock has performance issues on multi-core machines,
+ ;; it hangs or takes a long time to complete.
+ ;; There is one commit in gettext and one commit
+ ;; in gettext's embedded gnulib to fix this issue.
+ (patches (search-patches "gettext-multi-core.patch"
+ "gettext-gnulib-multi-core.patch"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;8 MiB of HTML
@@ -137,6 +144,13 @@ translated messages from the catalogs. Nearly all GNU packages use Gettext.")
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-before 'configure 'set-search-path
+ (lambda _
+ ;; Work around "dotless @INC" build failure.
+ (setenv "PERL5LIB"
+ (string-append (getcwd) ":"
+ (getenv "PERL5LIB")))
+ #t))
;; FIXME: One test fails as we don't have SGMLS.pm
(add-before 'check 'disable-sgml-test
(lambda _
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index dc5dbcc856..d5d5aa2dff 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -2,9 +2,10 @@
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2013, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -129,85 +130,129 @@ printing, and psresize, for adjusting page sizes.")
(define-public ghostscript
(package
- (name "ghostscript")
- (replacement ghostscript/fixed)
- (version "9.14.0")
- ;; XXX Try removing the bundled copy of jbig2dec.
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/ghostscript/gnu-ghostscript-"
- version ".tar.xz"))
- (sha256
- (base32
- "0q4jj41p0qbr4mgcc9q78f5zs8cm1g57wgryhsm2yq4lfslm3ib1"))
- (patches (search-patches "ghostscript-CVE-2013-5653.patch"
- "ghostscript-CVE-2015-3228.patch"
- "ghostscript-CVE-2016-7976.patch"
- "ghostscript-CVE-2016-7978.patch"
- "ghostscript-CVE-2016-7979.patch"
- "ghostscript-CVE-2016-8602.patch"
- "ghostscript-runpath.patch"))
- (modules '((guix build utils)))
- (snippet
- ;; Honor --docdir.
- '(substitute* "Makefile.in"
- (("^docdir=.*$") "docdir = @docdir@\n")
- (("^exdir=.*$") "exdir = $(docdir)/examples\n")))))
- (build-system gnu-build-system)
- (outputs '("out" "doc")) ;16 MiB of HTML/PS doc + examples
- (inputs `(("freetype" ,freetype)
- ("lcms" ,lcms)
- ("libjpeg-8" ,libjpeg-8)
- ("libpng" ,libpng)
- ("libpaper" ,libpaper)
- ("libtiff" ,libtiff)
- ("zlib" ,zlib)))
- (native-inputs
- `(("perl" ,perl)
- ("pkg-config" ,pkg-config) ; needed to find libtiff
- ("python" ,python-wrapper)
- ("tcl" ,tcl)))
- (arguments
- `(#:disallowed-references ("doc")
- #:phases
- (modify-phases %standard-phases
- (add-after 'configure 'patch-config-files
- (lambda _
- (substitute* "base/all-arch.mak"
- (("/bin/sh") (which "sh")))
- (substitute* "base/unixhead.mak"
- (("/bin/sh") (which "sh")))))
- (add-after 'configure 'remove-doc-reference
- (lambda _
- ;; Don't retain a reference to the 'doc' output in 'gs'.
- ;; The only use of this definition is in the output of
- ;; 'gs --help', so this change is fine.
- (substitute* "base/gscdef.c"
- (("GS_DOCDIR")
- "\"~/.guix-profile/share/doc/ghostscript\""))))
- (replace 'build
+ (name "ghostscript")
+ (version "9.21")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ArtifexSoftware/"
+ "ghostpdl-downloads/releases/download/gs"
+ (string-delete #\. version)
+ "/ghostscript-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0lyhjcrkmd5fcmh8h56bs4xr9k4jasmikv5vsix1hd4ai0ad1q9b"))
+ (patches (search-patches "ghostscript-runpath.patch"
+ "ghostscript-CVE-2017-8291.patch"
+ "ghostscript-no-header-creationdate.patch"
+ "ghostscript-no-header-id.patch"
+ "ghostscript-no-header-uuid.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Remove bundled libraries. The bundled OpenJPEG is a patched fork so
+ ;; we leave it, at least for now.
+ ;; TODO Try unbundling ijs, which is developed alongside Ghostscript.
+ '(begin
+ (for-each delete-file-recursively '("freetype" "jbig2dec" "jpeg"
+ "lcms2" "libpng"
+ "tiff" "zlib"))))))
+ (build-system gnu-build-system)
+ (outputs '("out" "doc")) ;19 MiB of HTML/PS doc + examples
+ (arguments
+ `(#:disallowed-references ("doc")
+ #:configure-flags
+ (list "--with-system-libtiff"
+ "LIBS=-lz"
+ (string-append "ZLIBDIR="
+ (assoc-ref %build-inputs "zlib") "/include")
+ "--enable-dynamic"
+
+ ,@(if (%current-target-system)
+ '(;; Specify the native compiler, which is used to build 'echogs'
+ ;; and other intermediary tools when cross-compiling; see
+ ;; <https://ghostscript.com/FAQ.html>.
+ "CCAUX=gcc"
+
+ ;; Save 'config.log' etc. of the native build under
+ ;; auxtmp/, useful for debugging.
+ "--enable-save_confaux")
+ '()))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-doc-dir
(lambda _
- ;; Build 'libgs.so', but don't build the statically-linked 'gs'
- ;; binary (saves 18 MiB).
- (zero? (system* "make" "so" "-j"
- (number->string (parallel-job-count))))))
- (replace 'install
+ ;; Honor --docdir.
+ (substitute* "Makefile.in"
+ (("^docdir=.*$") "docdir = @docdir@\n")
+ (("^exdir=.*$") "exdir = $(docdir)/examples\n"))
+ #t))
+ (add-after 'configure 'remove-doc-reference
(lambda _
- (zero? (system* "make" "soinstall"))))
- (add-after 'install 'create-gs-symlink
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- ;; some programs depend on having a 'gs' binary available
- (symlink "gsc" (string-append out "/bin/gs"))))))))
- (synopsis "PostScript and PDF interpreter")
- (description
- "Ghostscript is an interpreter for the PostScript language and the PDF
+ ;; Don't retain a reference to the 'doc' output in 'gs'.
+ ;; The only use of this definition is in the output of
+ ;; 'gs --help', so this change is fine.
+ (substitute* "base/gscdef.c"
+ (("GS_DOCDIR")
+ "\"~/.guix-profile/share/doc/ghostscript\""))
+ #t))
+ (add-after 'configure 'patch-config-files
+ (lambda _
+ (substitute* "base/unixhead.mak"
+ (("/bin/sh") (which "sh")))
+ #t))
+ ,@(if (%current-target-system)
+ `((add-after 'configure 'add-native-lz
+ (lambda _
+ ;; Add missing '-lz' for native tools such as 'mkromfs'.
+ (substitute* "Makefile"
+ (("^AUXEXTRALIBS=(.*)$" _ value)
+ (string-append "AUXEXTRALIBS = -lz " value "\n")))
+ #t)))
+ '())
+ (replace 'build
+ (lambda _
+ ;; Build 'libgs.so', but don't build the statically-linked 'gs'
+ ;; binary (saves 22 MiB).
+ (zero? (system* "make" "so" "-j"
+ (number->string (parallel-job-count))))))
+ (replace 'install
+ (lambda _
+ (zero? (system* "make" "soinstall"))))
+ (add-after 'install 'create-gs-symlink
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; Some programs depend on having a 'gs' binary available.
+ (symlink "gsc" (string-append out "/bin/gs"))
+ #t))))))
+ (native-inputs
+ `(("perl" ,perl)
+ ("python" ,python-wrapper)
+ ("tcl" ,tcl)
+
+ ;; When cross-compiling, some of the natively-built tools require all
+ ;; these libraries.
+ ,@(if (%current-target-system)
+ `(("zlib/native" ,zlib)
+ ("libjpeg/native" ,libjpeg)
+ ("lcms2/native" ,lcms))
+ '())))
+ (inputs
+ `(("freetype" ,freetype)
+ ("jbig2dec" ,jbig2dec)
+ ("lcms2" ,lcms)
+ ("libjpeg" ,libjpeg)
+ ("libpaper" ,libpaper)
+ ("libpng" ,libpng)
+ ("libtiff" ,libtiff)
+ ("zlib" ,zlib)))
+ (synopsis "PostScript and PDF interpreter")
+ (description
+ "Ghostscript is an interpreter for the PostScript language and the PDF
file format. It also includes a C library that implements the graphics
capabilities of the PostScript language. It supports a wide variety of
output file formats and printers.")
- (license license:agpl3+)
- (home-page "https://www.gnu.org/software/ghostscript/")
- (properties '((upstream-name . "gnu-ghostscript")))))
+ (home-page "https://www.ghostscript.com/")
+ (license license:agpl3+)))
(define-public ghostscript/x
(package/inherit ghostscript
@@ -216,27 +261,11 @@ output file formats and printers.")
("libxt" ,libxt)
,@(package-inputs ghostscript)))))
-(define ghostscript/fixed
- (package
- (inherit ghostscript)
- (source
- (origin
- (inherit (package-source ghostscript))
- (patches
- (append
- (origin-patches (package-source ghostscript))
- (search-patches "ghostscript-CVE-2017-8291.patch")))))))
-
(define-public ijs
(package
(name "ijs")
- (version "9.14.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/ghostscript/gnu-ghostscript-"
- version ".tar.xz"))
- (sha256 (base32
- "0q4jj41p0qbr4mgcc9q78f5zs8cm1g57wgryhsm2yq4lfslm3ib1"))))
+ (version (package-version ghostscript))
+ (source (package-source ghostscript))
(build-system gnu-build-system)
(native-inputs
`(("libtool" ,libtool)
@@ -244,31 +273,29 @@ output file formats and printers.")
("autoconf" ,autoconf)))
(arguments
`(#:phases
- (alist-cons-after
- 'unpack 'autogen
- (lambda _
- ;; need to regenerate macros
- (system* "autoreconf" "-if")
- ;; do not run configure
- (substitute* "autogen.sh"
- (("^.*\\$srcdir/configure.*") ""))
- (system* "bash" "autogen.sh")
-
- ;; create configure script in ./ijs/
- (chdir "ijs")
- ;; do not run configure
- (substitute* "autogen.sh"
- (("^.*\\$srcdir/configure.*") "")
- (("^ + && echo Now type.*$") ""))
- (zero? (system* "bash" "autogen.sh")))
- %standard-phases)))
+ (modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+ (lambda _
+ ;; need to regenerate macros
+ (system* "autoreconf" "-if")
+ ;; do not run configure
+ (substitute* "autogen.sh"
+ (("^.*\\$srcdir/configure.*") ""))
+ (system* "bash" "autogen.sh")
+ ;; create configure script in ./ijs/
+ (chdir "ijs")
+ ;; do not run configure
+ (substitute* "autogen.sh"
+ (("^.*\\$srcdir/configure.*") "")
+ (("^ + && echo Now type.*$") ""))
+ (zero? (system* "bash" "autogen.sh")))))))
(synopsis "IJS driver framework for inkjet and other raster devices")
(description
"IJS is a protocol for transmission of raster page images. This package
provides the reference implementation of the raster printer driver
architecture.")
(license license:expat)
- (home-page "https://www.gnu.org/software/ghostscript/")))
+ (home-page (package-home-page ghostscript))))
(define-public gs-fonts
(package
@@ -286,6 +313,10 @@ architecture.")
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; nothing to check, just files to copy
+
+ #:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-1))
#:phases
(modify-phases %standard-phases
(delete 'configure)
@@ -309,13 +340,13 @@ Ghostscript. It currently includes the 35 standard PostScript fonts.")
(define-public libspectre
(package
(name "libspectre")
- (version "0.2.7")
+ (version "0.2.8")
(source (origin
(method url-fetch)
(uri (string-append "https://libspectre.freedesktop.org/releases/libspectre-"
version ".tar.gz"))
(sha256 (base32
- "1v63lqc6bhhxwkpa43qmz8phqs8ci4dhzizyy16d3vkb20m846z8"))))
+ "1a67iglsc3r05mzngyg9kb1gy8whq4fgsnyjwi7bqfw2i7rnl9b5"))))
(build-system gnu-build-system)
(inputs `(("ghostscript" ,ghostscript)))
(native-inputs `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 08f6187f8a..d017e375c9 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -30,6 +30,7 @@
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages elf)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
@@ -216,7 +217,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
(package
(name "mesa")
- (version "17.0.6")
+ (version "17.1.4")
(source
(origin
(method url-fetch)
@@ -226,10 +227,9 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz")))
(sha256
(base32
- "17d60jjzg4ddm95gk2cqx0xz6b9anmmz6ax4majwr3gis2yg7v49"))
+ "1bcwxin7nmbnv92xav381b6qxscsx1zzc71ryfvj03cglbkb1wq6"))
(patches
- (search-patches "mesa-fix-32bit-test-failures.patch"
- "mesa-wayland-egl-symbols-check-mips.patch"
+ (search-patches "mesa-wayland-egl-symbols-check-mips.patch"
"mesa-skip-disk-cache-test.patch"))))
(build-system gnu-build-system)
(propagated-inputs
@@ -246,6 +246,7 @@ also known as DXTn or DXTC) for Mesa.")
`(("expat" ,expat)
("dri2proto" ,dri2proto)
("dri3proto" ,dri3proto)
+ ("libelf" ,libelf) ;required for r600 when using llvm
("libva" ,(force libva-without-mesa))
("libxml2" ,libxml2)
;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support
@@ -261,7 +262,8 @@ also known as DXTn or DXTC) for Mesa.")
("wayland" ,wayland)))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("python" ,python-2)))
+ ("python" ,python-2)
+ ("which" ,(@ (gnu packages base) which))))
(arguments
`(#:configure-flags
'(,@(match (%current-system)
@@ -293,7 +295,7 @@ also known as DXTn or DXTC) for Mesa.")
,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
'("--with-dri-drivers=i915,i965,nouveau,r200,radeon,swrast"
- "--enable-gallium-llvm")) ; default is x86/x86_64 only
+ "--enable-llvm")) ; default is x86/x86_64 only
(_
'("--with-dri-drivers=nouveau,r200,radeon,swrast"))))
#:phases
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index fcd1daf5e8..926703e159 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -347,6 +347,7 @@ bindings to call into the C library.")
(uri (string-append "https://launchpad.net/intltool/trunk/"
version "/+download/intltool-"
version ".tar.gz"))
+ (patches (search-patches "intltool-perl-compatibility.patch"))
(sha256
(base32
"1karx4sb7bnm2j67q0q74hspkfn6lqprpy5r99vkn5bb36a4viv7"))))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index d9d3fe7939..b334d7cbc0 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -1154,7 +1154,7 @@ dealing with different structured file formats.")
(define-public librsvg
(package
(name "librsvg")
- (version "2.40.16")
+ (version "2.40.17")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1162,7 +1162,7 @@ dealing with different structured file formats.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0bpz6gsq8xi1pb5k9ax6vinph460v14znch3y5yz167s0dmwz2yl"))))
+ "1k39gyf7f5m9x0jvpcxvfcqswdb04xhm1lbwbjabn1f4xk5wbxp6"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -1366,6 +1366,17 @@ is intended for user preferences; not arbitrary data storage.")
(native-inputs
`(("perl" ,perl)
("intltool" ,intltool)))
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-after 'configure 'use-our-intltool
+ (lambda _
+ ;; Do not use the bundled intltool commands, which lack
+ ;; the "dotless @INC" fixes of our 'intltool' package.
+ (substitute* (find-files "." "^Makefile$")
+ (("^INTLTOOL_(EXTRACT|UPDATE|MERGE) = .*$" _ tool)
+ (string-append "INTLTOOL_" tool " = intltool-"
+ (string-downcase tool) "\n")))
+ #t)))))
(home-page "http://www.gnome.org")
(synopsis "Base MIME and Application database for GNOME")
(description "GNOME Mime Data is a module which contains the base MIME
@@ -2395,7 +2406,11 @@ libxml to ease remote use of the RESTful API.")
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
- `(#:configure-flags
+ `(#:modules ((guix build utils)
+ (guix build gnu-build-system)
+ (ice-9 popen))
+
+ #:configure-flags
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html")
@@ -2405,34 +2420,77 @@ libxml to ease remote use of the RESTful API.")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'disable-unconnected-socket-test
- ;; This test fails due to missing /etc/nsswitch.conf
- ;; in the build environment.
- (lambda _
- (substitute* "tests/socket-test.c"
- ((".*/sockets/unconnected.*") ""))
- #t))
+ ;; This test fails due to missing /etc/nsswitch.conf
+ ;; in the build environment.
+ (lambda _
+ (substitute* "tests/socket-test.c"
+ ((".*/sockets/unconnected.*") ""))
+ #t))
(add-before 'check 'pre-check
- (lambda _
- ;; The 'check-local' target runs 'env LANG=C sort -u',
- ;; unset 'LC_ALL' to make 'LANG' working.
- (unsetenv "LC_ALL")
- ;; The ca-certificates.crt is not available in the build
- ;; environment.
- (setenv "SSL_CERT_FILE" "/dev/null")
- ;; HTTPD in Guix uses mod_event and does not build prefork.
- (substitute* "tests/httpd.conf"
- (("^LoadModule mpm_prefork_module.*$") "\n"))
- #t))
+ (lambda _
+ ;; The 'check-local' target runs 'env LANG=C sort -u',
+ ;; unset 'LC_ALL' to make 'LANG' working.
+ (unsetenv "LC_ALL")
+ ;; The ca-certificates.crt is not available in the build
+ ;; environment.
+ (setenv "SSL_CERT_FILE" "/dev/null")
+ ;; HTTPD in Guix uses mod_event and does not build prefork.
+ (substitute* "tests/httpd.conf"
+ (("^LoadModule mpm_prefork_module.*$") "\n"))
+
+ ;; Generate a self-signed certificate that has "localhost" as its
+ ;; 'dnsName'. Failing to do that, and starting with GnuTLS
+ ;; 3.5.12, tests such as "ssl-tests" fail:
+ ;;
+ ;; ERROR:ssl-test.c:406:do_tls_interaction_test: Unexpected status 6 Unacceptable TLS certificate (expected 200 OK)
+ ;;
+ ;; 'certtool' is interactive so we have to pipe it the answers.
+ ;; Reported at <https://bugzilla.gnome.org/show_bug.cgi?id=784696>.
+ (let ((pipe (open-output-pipe "certtool --generate-self-signed \
+ --load-privkey tests/test-key.pem --outfile tests/test-cert.pem")))
+ (for-each (lambda (line)
+ (display line pipe)
+ (newline pipe))
+ '("" ;Common name
+ "" ;UID
+ "Guix" ;Organizational unit name
+ "GNU" ;Organization name
+ "" ;Locality name
+ "" ;State or province
+ "" ;Country
+ "" ;subject's domain component (DC)
+ "" ;E-mail
+ "" ;serial number
+ "-1" ;expiration time
+ "N" ;belong to authority?
+ "N" ;web client certificate?
+ "N" ;IPsec IKE?
+ "Y" ;web server certificate?
+ "localhost" ;dnsName of subject
+ "" ;dnsName of subject (end)
+ "" ;URI of subject
+ "127.0.0.1" ;IP address of subject
+ "" ;signing?
+ "" ;encryption?
+ "" ;sign OCSP requests?
+ "" ;sign code?
+ "" ;time stamping?
+ "" ;email protection?
+ "" ;URI of the CRL distribution point
+ "y" ;above info OK?
+ ))
+ (close-pipe pipe))
+ #t))
(replace 'install
- (lambda _
- (zero?
- (system* "make"
- ;; Install vala bindings into $out.
- (string-append "vapidir=" %output
- "/share/vala/vapi")
- "install")))))))
- (native-inputs
- `(("glib:bin" ,glib "bin") ; for glib-mkenums
+ (lambda _
+ (zero?
+ (system* "make"
+ ;; Install vala bindings into $out.
+ (string-append "vapidir=" %output
+ "/share/vala/vapi")
+ "install")))))))
+ (native-inputs
+ `(("glib:bin" ,glib "bin") ; for glib-mkenums
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
@@ -2441,6 +2499,7 @@ libxml to ease remote use of the RESTful API.")
;; These are needed for the tests.
;; FIXME: Add PHP once available.
("curl" ,curl)
+ ("gnutls" ,gnutls) ;for 'certtool'
("httpd" ,httpd)))
(propagated-inputs
;; libsoup-2.4.pc refers to all these.
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index a9d8679a29..ca4f1d34f2 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -58,7 +58,7 @@
(define-public libgpg-error
(package
(name "libgpg-error")
- (version "1.26")
+ (version "1.27")
(source
(origin
(method url-fetch)
@@ -66,7 +66,7 @@
version ".tar.bz2"))
(sha256
(base32
- "0sgfia0syq78k1c9h10rkhc1nfv5v097icrprlx2x4qn074wnjsc"))))
+ "1li95ni122fzinzlmxbln63nmgij63irxfvi52ws4zfbzv3am4sg"))))
(build-system gnu-build-system)
(home-page "https://gnupg.org")
(synopsis "Library of error values for GnuPG components")
@@ -82,15 +82,14 @@ Daemon and possibly more in the future.")
(define-public libgcrypt
(package
(name "libgcrypt")
- (replacement libgcrypt-1.7.8)
- (version "1.7.6")
+ (version "1.7.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
version ".tar.bz2"))
(sha256
(base32
- "1g05prhgqw4ryd0w433q8nhds0h93kf47hfjagi2r7dghkpaysk2"))))
+ "16f1rsv4y4w2pk1il2jbcqggsb6mrlfva5vayd205fp68zm7d0ll"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error-host" ,libgpg-error)))
@@ -116,30 +115,6 @@ generation.")
(properties '((ftp-server . "ftp.gnupg.org")
(ftp-directory . "/gcrypt/libgcrypt")))))
-(define libgcrypt-1.7.8
- (package
- (inherit libgcrypt)
- (version "1.7.8")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
- version ".tar.bz2"))
- (sha256
- (base32
- "16f1rsv4y4w2pk1il2jbcqggsb6mrlfva5vayd205fp68zm7d0ll"))))))
-
-(define-public libgcrypt-1.5
- (package (inherit libgcrypt)
- (version "1.5.6")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnupg/libgcrypt/libgcrypt-"
- version ".tar.bz2"))
- (sha256
- (base32
- "0ydy7bgra5jbq9mxl5x031nif3m6y3balc6ndw2ngj11wnsjc61h"))))))
-
(define-public libassuan
(package
(name "libassuan")
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 70cae6d871..e2d1abbbbf 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2016, 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
+;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -296,6 +297,13 @@ sequential processes (CSP) concurrent programming features added.")
(substitute* "../misc/cgo/testcarchive/carchive_test.go"
(("#!/usr/bin/env") (string-append "#!" (which "env"))))
+ ;; Escape braces in test data to workaround test failure. For
+ ;; more information:
+ ;; https://github.com/golang/go/issues/20007
+ ;; FIXME: remove this once we upgrade to 1.9
+ (substitute* "cmd/vet/testdata/copylock_func.go"
+ (("struct\\{lock sync.Mutex\\}") "struct\\{lock sync.Mutex\\}"))
+
(substitute* "net/lookup_unix.go"
(("/etc/protocols") (string-append net-base "/etc/protocols")))
(substitute* "net/port_unix.go"
diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm
index 46e1ccf233..67dd1dbfa6 100644
--- a/gnu/packages/groff.scm
+++ b/gnu/packages/groff.scm
@@ -40,12 +40,18 @@
(uri (string-append "mirror://gnu/groff/groff-" version
".tar.gz"))
(sha256 (base32
- "1998v2kcs288d3y7kfxpvl369nqi06zbbvjzafyvyl3pr7bajj1s"))))
+ "1998v2kcs288d3y7kfxpvl369nqi06zbbvjzafyvyl3pr7bajj1s"))
+ (patches (search-patches "groff-source-date-epoch.patch"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;12MiB of PS, PDF, HTML, and examples
- (inputs `(("ghostscript" ,ghostscript)
- ("netpbm" ,netpbm)))
+
+ ;; Note: groff's HTML backend uses executables from netpbm when they are in
+ ;; $PATH. In practice, not having them doesn't prevent it from install its
+ ;; own HTML doc, nor does it change its capabilities, so we removed netpbm
+ ;; from 'inputs'.
+
+ (inputs `(("ghostscript" ,ghostscript)))
(native-inputs `(("bison" ,bison)
("perl" ,perl)
("psutils" ,psutils)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 74aea8e238..53304bd1a4 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -154,7 +154,11 @@ without requiring the source code to be rewritten.")
(inputs `(("libffi" ,libffi)
("readline" ,readline)
,@(libiconv-if-needed)
- ,@(if (target-mingw?) '() `(("bash" ,bash)))))
+
+ ;; We need Bash when cross-compiling because some of the scripts
+ ;; in bin/ refer to it. Use 'bash-minimal' because we don't need
+ ;; an interactive Bash with Readline and all.
+ ,@(if (target-mingw?) '() `(("bash" ,bash-minimal)))))
(propagated-inputs
`( ;; These ones aren't normally needed here, but since `libguile-2.0.la'
;; reads `-lltdl -lunistring', adding them here will add the needed
@@ -213,24 +217,20 @@ without requiring the source code to be rewritten.")
(home-page "https://www.gnu.org/software/guile/")
(license license:lgpl3+)))
-(define-public guile-2.0/fixed
- ;; A package of Guile 2.0 that's rarely changed. It is the one used
- ;; in the `base' module, and thus changing it entails a full rebuild.
- (package
- (inherit guile-2.0)
- (properties '((hidden? . #t))))) ;people should install 'guile-2.0'
-
(define-public guile-2.2
(package (inherit guile-2.0)
(name "guile")
(version "2.2.2")
(source (origin
(method url-fetch)
+
+ ;; Note: we are limited to one of the compression formats
+ ;; supported by the bootstrap binaries, so no lzip here.
(uri (string-append "mirror://gnu/guile/guile-" version
- ".tar.lz"))
+ ".tar.xz"))
(sha256
(base32
- "1dnh75h4rkx1zflpsngznkwcd6afn6zrc5x3xq7n946pm5bnx5bq"))
+ "1azm25zcmxif0skxfrp11d2wc89nrzpjaann9yxdw6pvjxhs948w"))
(modules '((guix build utils)))
;; Remove the pre-built object files. Instead, build everything
@@ -250,6 +250,17 @@ without requiring the source code to be rewritten.")
(files '("lib/guile/2.2/site-ccache"
"share/guile/site/2.2")))))))
+(define-public guile-2.2/fixed
+ ;; A package of Guile 2.2 that's rarely changed. It is the one used
+ ;; in the `base' module, and thus changing it entails a full rebuild.
+ (package
+ (inherit guile-2.2)
+ (properties '((hidden? . #t) ;people should install 'guile-2.2'
+ (timeout . 72000) ;20 hours
+ (max-silent-time . 36000))) ;10 hours (needed on ARM
+ ; when heavily loaded)
+ (replacement #f)))
+
(define-public guile-next
(deprecated-package "guile-next" guile-2.2))
@@ -1742,7 +1753,11 @@ dictionary and suggesting spelling corrections.")
("automake" ,automake)
("libtool" ,libtool)
;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
- ("gettext" ,gettext-minimal)))
+ ("gettext" ,gettext-minimal)
+
+ ;; Bash with loadable module support, for the test
+ ;; suite.
+ ("bash-full" ,bash)))
(inputs `(("guile" ,guile-2.0)
("bash:include" ,bash "include")))
(synopsis "Extend Bash using Guile")
diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm
index 224319f84f..3461285850 100644
--- a/gnu/packages/icu4c.scm
+++ b/gnu/packages/icu4c.scm