summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi21
-rw-r--r--gnu/local.mk5
-rw-r--r--gnu/packages/adns.scm4
-rw-r--r--gnu/packages/autotools.scm4
-rw-r--r--gnu/packages/base.scm17
-rw-r--r--gnu/packages/bison.scm15
-rw-r--r--gnu/packages/bootstrap.scm6
-rw-r--r--gnu/packages/commencement.scm16
-rw-r--r--gnu/packages/compression.scm47
-rw-r--r--gnu/packages/curl.scm49
-rw-r--r--gnu/packages/docbook.scm12
-rw-r--r--gnu/packages/emulators.scm19
-rw-r--r--gnu/packages/engineering.scm4
-rw-r--r--gnu/packages/file.scm5
-rw-r--r--gnu/packages/fontutils.scm6
-rw-r--r--gnu/packages/gdb.scm7
-rw-r--r--gnu/packages/gettext.scm4
-rw-r--r--gnu/packages/guile.scm17
-rw-r--r--gnu/packages/icu4c.scm8
-rw-r--r--gnu/packages/jemalloc.scm4
-rw-r--r--gnu/packages/libevent.scm12
-rw-r--r--gnu/packages/libffi.scm5
-rw-r--r--gnu/packages/libidn.scm5
-rw-r--r--gnu/packages/multiprecision.scm4
-rw-r--r--gnu/packages/openldap.scm18
-rw-r--r--gnu/packages/patches/docbook-xsl-nonrecursive-string-subst.patch11
-rw-r--r--gnu/packages/patches/docbook-xsl-support-old-url.patch17
-rw-r--r--gnu/packages/patches/icu4c-CVE-2020-10531.patch127
-rw-r--r--gnu/packages/patches/libffi-3.3-powerpc-fixes.patch138
-rw-r--r--gnu/packages/patches/zziplib-CVE-2018-16548.patch49
-rw-r--r--gnu/packages/ruby.scm10
-rw-r--r--gnu/packages/texinfo.scm27
-rw-r--r--gnu/packages/web.scm23
-rw-r--r--gnu/packages/xml.scm4
-rw-r--r--gnu/system/shadow.scm8
-rw-r--r--guix/build/python-build-system.scm24
-rw-r--r--guix/build/utils.scm3
-rw-r--r--guix/gexp.scm29
38 files changed, 356 insertions, 428 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 0b79a49814..85fc64cbda 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -6959,6 +6959,13 @@ By default guix calls @code{setup.py} under control of
@code{setuptools}, much like @command{pip} does. Some packages are not
compatible with setuptools (and pip), thus you can disable this by
setting the @code{#:use-setuptools?} parameter to @code{#f}.
+
+If a @code{"python"} output is available, the package is installed into it
+instead of the default @code{"out"} output. This is useful for packages that
+include a Python package as only a part of the software, and thus want to
+combine the phases of @code{python-build-system} with another build system.
+Python bindings are a common usecase.
+
@end defvr
@defvr {Scheme Variable} perl-build-system
@@ -30175,6 +30182,20 @@ GDB}):
From there on, GDB will pick up debugging information from the
@file{.debug} files under @file{~/.guix-profile/lib/debug}.
+Below is an alternative GDB script which is useful when working with
+other profiles. It takes advantage of the optional Guile integration in
+GDB. This snippet is included by default on Guix System in the
+@file{~/.gdbinit} file.
+
+@example
+guile
+(use-modules (gdb))
+(execute (string-append "set debug-file-directory "
+ (or (getenv "GDB_DEBUG_FILE_DIRECTORY")
+ "~/.guix-profile/lib/debug")))
+end
+@end example
+
In addition, you will most likely want GDB to be able to show the source
code being debugged. To do that, you will have to unpack the source
code of the package of interest (obtained with @code{guix build
diff --git a/gnu/local.mk b/gnu/local.mk
index 2f851afe4e..c9ab3f203b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -899,6 +899,7 @@ dist_patch_DATA = \
%D%/packages/patches/diffutils-gets-undeclared.patch \
%D%/packages/patches/dkimproxy-add-ipv6-support.patch \
%D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch \
+ %D%/packages/patches/docbook-xsl-support-old-url.patch \
%D%/packages/patches/doc++-include-directives.patch \
%D%/packages/patches/doc++-segfault-fix.patch \
%D%/packages/patches/docker-fix-tests.patch \
@@ -1133,7 +1134,6 @@ dist_patch_DATA = \
%D%/packages/patches/icecat-use-system-media-libs.patch \
%D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \
%D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \
- %D%/packages/patches/icu4c-CVE-2020-10531.patch \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \
@@ -1684,8 +1684,7 @@ dist_patch_DATA = \
%D%/packages/patches/xsane-fix-pdf-floats.patch \
%D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \
%D%/packages/patches/xsane-support-ipv6.patch \
- %D%/packages/patches/xsane-tighten-default-umask.patch \
- %D%/packages/patches/zziplib-CVE-2018-16548.patch
+ %D%/packages/patches/xsane-tighten-default-umask.patch
MISC_DISTRO_FILES = \
%D%/packages/ld-wrapper.in
diff --git a/gnu/packages/adns.scm b/gnu/packages/adns.scm
index 57f34942d5..a67a00284b 100644
--- a/gnu/packages/adns.scm
+++ b/gnu/packages/adns.scm
@@ -65,7 +65,7 @@ scripts.")
(define-public c-ares
(package
(name "c-ares")
- (version "1.16.0")
+ (version "1.16.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -73,7 +73,7 @@ scripts.")
".tar.gz"))
(sha256
(base32
- "129sm0wzij0mp8vdv68v18hnykcjb6ivi66wnqnnw598q7bql1fy"))))
+ "1kl6bzlcmxn0524h5qldlbh99wf96whhvk54w3p4igf3xk8150yh"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 775576ff5d..96f2925180 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -169,9 +169,9 @@ files with a system-specific shebang."
(inputs `(("guile"
;; XXX: Kludge to hide the circular dependency.
,(module-ref (resolve-interface '(gnu packages guile))
- 'guile-2.0))
+ 'guile-3.0/fixed))
("autoconf" ,autoconf)
- ("bash" ,bash)))
+ ("bash" ,bash-minimal)))
(arguments
'(#:modules ((guix build utils))
#:builder
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index c83775d8ee..f22e4ab9cc 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Vitaliy Shatrov <D0dyBo0D0dyBo0@protonmail.com>
+;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,6 +38,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages acl)
#:use-module (gnu packages algebra)
+ #:use-module (gnu packages attr)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages ed)
@@ -141,7 +143,19 @@ including, for example, recursive directory searching.")
".tar.gz"))
(sha256
(base32
- "0alqagh0nliymz23kfjg6g9w3cr086k0sfni56gi8fhzqwa3xksk"))))
+ "0alqagh0nliymz23kfjg6g9w3cr086k0sfni56gi8fhzqwa3xksk"))
+ ;; Remove this snippet once upstream releases a fixed version.
+ ;; This snippet changes Makefile.in, even though the upstream
+ ;; patch changes testsuite/local.mk, since we build sed from a
+ ;; release tarball. See: https://bugs.gnu.org/36150
+ (snippet
+ '(begin
+ (substitute* "Makefile.in"
+ (("^ abs_srcdir='\\$\\(abs_srcdir\\)'.*" previous-line)
+ (string-append
+ previous-line
+ " CONFIG_HEADER='$(CONFIG_HEADER)'\t\t\\\n")))))
+ (modules '((guix build utils)))))
(build-system gnu-build-system)
(synopsis "Stream editor")
(native-inputs
@@ -317,6 +331,7 @@ used to apply commands with arbitrarily long arguments.")
(patches (search-patches "coreutils-ls.patch"))))
(build-system gnu-build-system)
(inputs `(("acl" ,acl) ; TODO: add SELinux
+ ("attr" ,attr) ;for xattrs in ls, mv, etc
("gmp" ,gmp) ;bignums in 'expr', yay!
;; Do not use libcap when cross-compiling since it's not quite
diff --git a/gnu/packages/bison.scm b/gnu/packages/bison.scm
index 4c6da7d9b7..2f533550f2 100644
--- a/gnu/packages/bison.scm
+++ b/gnu/packages/bison.scm
@@ -33,7 +33,7 @@
(define-public bison
(package
(name "bison")
- (version "3.5.3")
+ (version "3.6.3")
(source
(origin
(method url-fetch)
@@ -41,7 +41,7 @@
version ".tar.xz"))
(sha256
(base32
- "1i57hbczvr8674z73775jxdd3y59qggs5lmfd60gmwm5i1gmpy1b"))))
+ "0gdpnjh6ra9xa9vj6hzjdf0c04x4pjyy8vssm3qdb7fya4v7knq6"))))
(build-system gnu-build-system)
(arguments
'(;; Building in parallel on many-core systems may cause an error such as
@@ -68,17 +68,6 @@ simple tools through complex programming languages.
Bison also provides an implementation of @command{yacc}, as specified by POSIX.")
(license gpl3+)))
-(define-public bison-3.6
- (package
- (inherit bison)
- (version "3.6.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/bison/bison-" version ".tar.xz"))
- (sha256
- (base32 "0gdpnjh6ra9xa9vj6hzjdf0c04x4pjyy8vssm3qdb7fya4v7knq6"))))))
-
(define-public bison-3.0
(package
(inherit bison)
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index c39e60ec8b..fee2ae1199 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2018, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2019 Carl Dong <contact@carldong.me>
;;; Copyright © 2019 Léo Le Bouter <lle-bout@zaclys.net>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -740,9 +741,12 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
"1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))))
(native-search-paths
(list (search-path-specification
- (variable "CPATH")
+ (variable "C_INCLUDE_PATH")
(files '("include")))
(search-path-specification
+ (variable "CPLUS_INCLUDE_PATH")
+ (files '("include/c++" "include")))
+ (search-path-specification
(variable "LIBRARY_PATH")
(files '("lib" "lib64")))))
(synopsis "Bootstrap binaries of the GNU Compiler Collection")
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index aa30e3fa18..d38005a5ab 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3278,9 +3278,9 @@ memoized as a function of '%current-system'."
`(modify-phases ,phases
(add-before 'configure 'pre-configure
(lambda* (#:key inputs #:allow-other-keys)
- ;; Don't clobber CPATH with the bootstrap libc.
- (setenv "NATIVE_CPATH" (getenv "CPATH"))
- (unsetenv "CPATH")
+ ;; Don't clobber include paths with the bootstrap libc.
+ (unsetenv "C_INCLUDE_PATH")
+ (unsetenv "CPLUS_INCLUDE_PATH")
;; Tell 'libpthread' where to find 'libihash' on Hurd systems.
,@(if (hurd-system?)
@@ -3291,13 +3291,6 @@ memoized as a function of '%current-system'."
(assoc-ref %build-inputs "kernel-headers")
"/lib/libihash.a\n"))))
'())
-
- ;; 'rpcgen' needs native libc headers to be built.
- (substitute* "sunrpc/Makefile"
- (("sunrpc-CPPFLAGS =.*" all)
- (string-append "CPATH = $(NATIVE_CPATH)\n"
- "export CPATH\n"
- all "\n")))
#t)))))))
(propagated-inputs `(("kernel-headers" ,(kernel-headers-boot0))))
(native-inputs
@@ -3315,9 +3308,6 @@ memoized as a function of '%current-system'."
`(("mig" ,mig-boot0))
'())
- ;; A native GCC is needed to build `cross-rpcgen'.
- ("native-gcc" ,@(assoc-ref (%boot0-inputs) "gcc"))
-
;; Here, we use the bootstrap Bash, which is not satisfactory
;; because we don't want to depend on bootstrap tools.
("static-bash" ,@(assoc-ref (%boot0-inputs) "bash"))))))
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 97f254ff6e..506a33184a 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -472,7 +472,7 @@ compressed with pbzip2 can be decompressed with bzip2).")
(define-public xz
(package
(name "xz")
- (version "5.2.4")
+ (version "5.2.5")
(source (origin
(method url-fetch)
(uri (list (string-append "http://tukaani.org/xz/xz-" version
@@ -481,7 +481,7 @@ compressed with pbzip2 can be decompressed with bzip2).")
version ".tar.gz")))
(sha256
(base32
- "0ibi2zsfaz6l756spjwc5rayf4ckgc9hwmy8qinppcyk4svz64mm"))))
+ "045s9agl3bpv3swlwydhgsqh7791957vmgw2plw8f1rks07r3x7n"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -1383,14 +1383,14 @@ or junctions, and always follows hard links.")
(define-public zstd
(package
(name "zstd")
- (version "1.4.4")
+ (version "1.4.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/facebook/zstd/releases/download/"
"v" version "/zstd-" version ".tar.gz"))
(sha256
- (base32 "05ckxap00qvc0j51d3ci38150cxsw82w7s9zgd5fgzspnzmp1vsr"))))
+ (base32 "17nf0r20360i80689bg5ipxbk2413b2dn3z7wj8byqpiddy1rscq"))))
(build-system gnu-build-system)
(outputs '("out" ;1.2MiB executables and documentation
"lib" ;1.2MiB shared library and headers
@@ -1398,6 +1398,13 @@ or junctions, and always follows hard links.")
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'remove-bogus-check
+ (lambda _
+ ;; lib/Makefile falsely claims that no .pc file can be created.
+ (substitute* "lib/Makefile"
+ (("error configured .*dir ")
+ "true "))
+ #t))
(delete 'configure) ;no configure script
(add-after 'install 'adjust-library-locations
(lambda* (#:key outputs #:allow-other-keys)
@@ -1422,9 +1429,12 @@ or junctions, and always follows hard links.")
#t))))
#:make-flags
(list "CC=gcc"
- (string-append "PREFIX=" (assoc-ref %outputs "out"))
- (string-append "LIBDIR=" (assoc-ref %outputs "lib") "/lib")
- (string-append "INCLUDEDIR=" (assoc-ref %outputs "lib") "/include")
+ (string-append "prefix=" (assoc-ref %outputs "out"))
+ (string-append "libdir=" (assoc-ref %outputs "lib") "/lib")
+ (string-append "includedir=" (assoc-ref %outputs "lib") "/include")
+ ;; Auto-detection is over-engineered and buggy.
+ "PCLIBDIR=lib"
+ "PCINCDIR=include"
;; Skip auto-detection of, and creating a dependency on, the build
;; environment's ‘xz’ for what amounts to a dubious feature anyway.
"HAVE_LZMA=0"
@@ -1593,26 +1603,25 @@ recreates the stored directory structure by default.")
(define-public zziplib
(package
(name "zziplib")
- (version "0.13.69")
+ (version "0.13.71")
(home-page "https://github.com/gdraheim/zziplib")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
- (patches (search-patches "zziplib-CVE-2018-16548.patch"))
(sha256
(base32
- "0fbk9k7ryas2wh2ykwkvm1pbi40i88rfvc3dydh9xyd7w2jcki92"))))
+ "109vznm9cxkqbj5r83qdgcdfk0j4kbg96dqr0q085nhwpgkw7viz"))))
(build-system gnu-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
- (add-before 'check 'make-files-writable
- (lambda _
- (for-each make-file-writable
- (find-files "test" #:directories? #t))
- #t)))
-
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'make-files-writable
+ (lambda _
+ (for-each make-file-writable
+ (find-files "." #:directories? #t))
+ #t)))
;; XXX: The default test target attempts to download external resources and
;; fails without error: <https://github.com/gdraheim/zziplib/issues/53>.
;; To prevent confusing log messages, just run a simple zip test that works.
@@ -1621,9 +1630,7 @@ recreates the stored directory structure by default.")
`(("zlib" ,zlib)))
(native-inputs `(("perl" ,perl) ; for the documentation
("pkg-config" ,pkg-config)
- ;; for the documentation; Python 3 not supported,
- ;; http://forums.gentoo.org/viewtopic-t-863161-start-0.html
- ("python" ,python-2)
+ ("python" ,python)
("zip" ,zip))) ; to create test files
(synopsis "Library for accessing zip files")
(description
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 55b7e4393b..6e08a64e82 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -53,15 +53,14 @@
(define-public curl
(package
(name "curl")
- (version "7.69.1")
- (replacement curl-7.71.0)
+ (version "7.71.1")
(source (origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.xz"))
(sha256
(base32
- "0kwxh76iq9fblk7iyv4f75bmcmasarp2bcm1mm07wyvzd7kdbiq3"))
+ "13357690bgr533dd49k0blwvkwcscgxwwj6ssifb5gnd4zd3xy20"))
(patches (search-patches "curl-use-ssl-cert-env.patch"))))
(build-system gnu-build-system)
(outputs '("out"
@@ -126,25 +125,6 @@
(substitute* "tests/runtests.pl"
(("/bin/sh") (which "sh")))
- ;; XXX FIXME: Test #1510 seems to work on some machines and not
- ;; others, possibly based on the kernel version. It works on Guix System
- ;; on x86_64 with linux-libre-4.1, but fails on Hydra for both i686
- ;; and x86_64 with the following error:
- ;;
- ;; test 1510...[HTTP GET connection cache limit (CURLOPT_MAXCONNECTS)]
- ;;
- ;; 1510: output (log/stderr1510) FAILED:
- ;; --- log/check-expected 2015-06-27 07:45:53.166720834 +0000
- ;; +++ log/check-generated 2015-06-27 07:45:53.166720834 +0000
- ;; @@ -1,5 +1,5 @@
- ;; * Connection #0 to host server1.example.com left intact[LF]
- ;; * Connection #1 to host server2.example.com left intact[LF]
- ;; * Connection #2 to host server3.example.com left intact[LF]
- ;; -* Closing connection 0[LF]
- ;; +* Closing connection 1[LF]
- ;; * Connection #3 to host server4.example.com left intact[LF]
- (delete-file "tests/data/test1510")
-
;; The top-level "make check" does "make -C tests quiet-test", which
;; is too quiet. Use the "test" target instead, which is more
;; verbose.
@@ -171,31 +151,6 @@ tunneling, and so on.")
(name "curl-minimal")
(inputs (alist-delete "openldap" (package-inputs curl))))))
-;; Replacement package to fix CVE-2020-8169 and CVE-2020-8177.
-(define curl-7.71.0
- (package
- (inherit curl)
- (version "7.71.0")
- (source (origin
- (inherit (package-source curl))
- (uri (string-append "https://curl.haxx.se/download/curl-"
- version ".tar.xz"))
- (sha256
- (base32
- "0wlppmx9iry8slh4pqcxj7lwc6fqwnlhh9ri2pcym2rx76a8gwfd"))))
- (arguments
- (substitute-keyword-arguments (package-arguments curl)
- ((#:phases phases)
- `(modify-phases ,phases
- (replace 'check
- (lambda _
- ;; Test 1510 is now disabled upstream, and the test runner
- ;; complains that it can not disable a non-existing test.
- ;; Thus, override the phase to not delete the test.
- (substitute* "tests/runtests.pl"
- (("/bin/sh") (which "sh")))
- (invoke "make" "-C" "tests" "test")))))))))
-
(define-public kurly
(package
(name "kurly")
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index ee09b9d0b4..2c7f920011 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -167,15 +167,17 @@ by no means limited to these applications.) This package provides XML DTDs.")
(define-public docbook-xsl
(package
(name "docbook-xsl")
- (version "1.79.1")
+ (version "1.79.2")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/docbook/docbook-xsl/"
- version "/docbook-xsl-" version ".tar.bz2"))
- (patches (search-patches "docbook-xsl-nonrecursive-string-subst.patch"))
+ (uri (string-append "https://github.com/docbook/xslt10-stylesheets"
+ "/releases/download/release%2F" version
+ "/docbook-xsl-" version ".tar.bz2"))
+ (patches (search-patches "docbook-xsl-support-old-url.patch"
+ "docbook-xsl-nonrecursive-string-subst.patch"))
(sha256
(base32
- "0s59lihif2fr7rznckxr2kfyrvkirv76r1zvidp9b5mj28p4apvj"))
+ "0wd33z41kdsybyx3ay21w6bdlmgpd9kyn3mr5y520lsf8km28r9i"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index ea90b53d06..e11b34d85e 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -1820,17 +1820,6 @@ performance, features, and ease of use.")
(guix build utils))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'install-bindings-to-python-output
- (lambda* (#:key outputs #:allow-other-keys)
- ;; python-build-system will build the bindings and install them to
- ;; the "out" output, so change the build-internal names of the
- ;; outputs.
- ;;
- ;; TODO: remove this once #40469 lands, through the core-updates
- ;; holding zone, on master.
- (set-car! (assoc "out" outputs) "lib")
- (set-car! (assoc "python" outputs) "out")
- #t))
(add-before 'build 'build-library
(lambda* (#:key inputs #:allow-other-keys)
(invoke "make"
@@ -1843,7 +1832,7 @@ performance, features, and ease of use.")
"UNICORN_STATIC=no"
(string-append
"PREFIX="
- (assoc-ref outputs "lib")))))
+ (assoc-ref outputs "out")))))
(add-before 'build 'prepare-bindings
(lambda* (#:key outputs #:allow-other-keys)
(chdir "bindings/python")
@@ -1856,7 +1845,7 @@ performance, features, and ease of use.")
(("_path_list = \\[.*")
(string-append
"_path_list = [\""
- (assoc-ref outputs "lib")
+ (assoc-ref outputs "out")
;; eat the rest of the list
"/lib\"] + 0*[")))
#t))
@@ -1877,10 +1866,10 @@ performance, features, and ease of use.")
(let* ((python-samples (find-files "." "sample_.*"))
(c-samples (find-files "../../samples" ".*\\.c"))
(python-docdir
- (string-append (assoc-ref outputs "out")
+ (string-append (assoc-ref outputs "python")
"/share/doc/unicorn/samples"))
(c-docdir
- (string-append (assoc-ref outputs "lib")
+ (string-append (assoc-ref outputs "out")
"/share/doc/unicorn/samples")))
(for-each (cut install-file <> c-docdir) c-samples)
(for-each (cut install-file <> python-docdir) python-samples)
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 806aa37dfa..01f34213fa 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -2734,9 +2734,7 @@ GUI.")
;; The GUI, which we elide, requires tcl and tk.
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
- ;; Requires bison 3.6+ but we currently only have 3.5.
- ;; Bison 3.6 will be available in the next core update.
- ("bison-3.6" ,bison-3.6)
+ ("bison" ,bison)
("clisp" ,clisp)
("dejagnu" ,dejagnu)
("flex" ,flex)
diff --git a/gnu/packages/file.scm b/gnu/packages/file.scm
index bac951f9c5..bed272ae35 100644
--- a/gnu/packages/file.scm
+++ b/gnu/packages/file.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,14 +31,14 @@
(define-public file
(package
(name "file")
- (version "5.38")
+ (version "5.39")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.astron.com/pub/file/file-"
version ".tar.gz"))
(sha256
(base32
- "0d7s376b4xqymnrsjxi3nsv3f5v89pzfspzml2pcajdk5by2yg2r"))))
+ "1lgs2w2sgamzf27kz5h7pajz7v62554q21fbs11n4mfrfrm2hpgh"))))
(build-system gnu-build-system)
;; When cross-compiling, this package depends upon a native install of
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index b53365e0d5..ed47f6436c 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Nikita <nikita@n0.is>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
@@ -423,14 +423,14 @@ X11-system or any other graphical user interface.")
(define-public teckit
(package
(name "teckit")
- (version "2.5.9") ;signed by key 0xC9183BEA0288CDEE
+ (version "2.5.10") ; signed by key 0xC9183BEA0288CDEE
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/silnrsi/teckit/releases/"
"download/v" version "/teckit-" version ".tar.gz"))
(sha256
- (base32 "0gbxyip4wdibirdg2pvzayzyy927vxyd6dfyfiflx8zg88qzn8v8"))))
+ (base32 "12qnf8nhxyr4d5pc01s3vc6h726506957an4vvmmfz633cqi5796"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index 830121751f..11e0bb3e76 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -117,6 +118,12 @@
("dejagnu" ,dejagnu)
("pkg-config" ,pkg-config)
,@(if (hurd-target?) `(("mig" ,mig)) '())))
+ ;; TODO: Add support for the GDB_DEBUG_FILE_DIRECTORY environment variable
+ ;; in GDB itself instead of relying on some glue code in the Guix-provided
+ ;; .gdbinit file.
+ (native-search-paths (list (search-path-specification
+ (variable "GDB_DEBUG_FILE_DIRECTORY")
+ (files '("lib/debug")))))
(home-page "https://www.gnu.org/software/gdb/")
(synopsis "The GNU debugger")
(description
diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index b9070ae818..4166cee248 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -44,14 +44,14 @@
(define-public gettext-minimal
(package
(name "gettext-minimal")
- (version "0.20.1")
+ (version "0.21")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gettext/gettext-"
version ".tar.gz"))
(sha256
(base32
- "0p3zwkk27wm2m2ccfqm57nj7vqkmfpn7ja1nf65zmhz8qqs5chb6"))))
+ "04kbg1sx0ncfrsbr85ggjslqkzzb243fcw9nyh3rrv1a22ihszf7"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;9 MiB of HTML
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index c59daeebe2..dd252179bb 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -284,14 +284,14 @@ without requiring the source code to be rewritten.")
(package
(inherit guile-2.2)
(name "guile")
- (version "3.0.2")
+ (version "3.0.4")
(source (origin
(inherit (package-source guile-2.2))
(uri (string-append "mirror://gnu/guile/guile-"
version ".tar.xz"))
(sha256
(base32
- "12lziar4j27j9whqp2n18427q45y9ghq7gdd8lqhmj1k0lr7vi2k"))))
+ "0c8dkyvs6xbxp7rgnhkyakajzhakay7qn9kahj1mj49x5vf4fybb"))))
(arguments
;; XXX: JIT-enabled Guile crashes in obscure ways on GNU/Hurd.
(if (hurd-target?)
@@ -309,17 +309,8 @@ without requiring the source code to be rewritten.")
"share/guile/site/3.0")))))))
(define-public guile-3.0-latest
- ;; TODO: Make this 'guile-3.0' on the next rebuild cycle.
- (package
- (inherit guile-3.0)
- (version "3.0.4")
- (source (origin
- (inherit (package-source guile-3.0))
- (uri (string-append "mirror://gnu/guile/guile-"
- version ".tar.xz"))
- (sha256
- (base32
- "0c8dkyvs6xbxp7rgnhkyakajzhakay7qn9kahj1mj49x5vf4fybb"))))))
+ ;; The latest 3.0.x version.
+ guile-3.0)
(define-public guile-next
(deprecated-package "guile-next" guile-3.0))
diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm
index 2fadc2ad8d..d467096708 100644
--- a/gnu/packages/icu4c.scm
+++ b/gnu/packages/icu4c.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
@@ -39,7 +39,7 @@
(define-public icu4c
(package
(name "icu4c")
- (version "66.1")
+ (version "67.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -48,10 +48,8 @@
"/icu4c-"
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
"-src.tgz"))
- (patch-flags '("-p2"))
- (patches (search-patches "icu4c-CVE-2020-10531.patch"))
(sha256
- (base32 "0bharwzc9nzkbrcf405z2nb3h7q0711z450arz0mjmdrk8hg58sj"))))
+ (base32 "1p6mhvxl0xr2n0g6xdps3mwzwlv6mjsz3xlpm793p9aiybb0ra4l"))))
(build-system gnu-build-system)
;; When cross-compiling, this package needs a source directory of a
;; native-build of itself.
diff --git a/gnu/packages/jemalloc.scm b/gnu/packages/jemalloc.scm
index c4b87b540d..906330a4b6 100644
--- a/gnu/packages/jemalloc.scm
+++ b/gnu/packages/jemalloc.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
@@ -54,7 +54,7 @@
#t)))
,@(if (any (cute string-prefix? <> (or (%current-target-system)
(%current-system)))
- '("x64_64" "i686"))
+ '("x86_64" "i686"))
;; Transparent huge pages are only enabled by default on Intel processors
'()
'(#:configure-flags (list "--disable-thp")))))
diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
index dab574a155..00d57f3504 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -41,7 +41,7 @@
(define-public libevent
(package
(name "libevent")
- (version "2.1.11")
+ (version "2.1.12")
(source (origin
(method url-fetch)
(uri (string-append
@@ -49,7 +49,7 @@
version "-stable/libevent-" version "-stable.tar.gz"))
(sha256
(base32
- "0g988zqm45sj1hlhhz4il5z4dpi5dl74hzjwzl4md37a09iaqnx6"))))
+ "1fq30imk8zd26x8066di3kpc5zyfc5z6frr3zll685zcx4dxxrlj"))))
(build-system gnu-build-system)
(outputs '("out" "bin"))
(arguments
@@ -76,7 +76,7 @@ loop.")
(define-public libev
(package
(name "libev")
- (version "4.31")
+ (version "4.33")
(source (origin
(method url-fetch)
(uri (string-append "http://dist.schmorp.de/libev/Attic/libev-"
@@ -84,7 +84,7 @@ loop.")
".tar.gz"))
(sha256
(base32
- "0nkfqv69wfyy2bpga4d53iqydycpik8jp8x6q70353hia8mmv1gd"))))
+ "1sjs4324is7fp21an4aas2z4dwsvs6z4xwrmp72vwpq1s6wbfzjh"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
@@ -102,14 +102,14 @@ limited support for fork events.")
(define-public libuv
(package
(name "libuv")
- (version "1.35.0")
+ (version "1.38.1")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.libuv.org/dist/v" version
"/libuv-v" version ".tar.gz"))
(sha256
(base32
- "0126mfmaw3s92dsga60sydgwjmzwg9cd36n127pydmisah17v50f"))))
+ "0iy6yp9nrxpj643w7la3kl3j59ni59b0l4v6n23a63s8kqkpvkhf"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")
diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm
index ec8703ffdb..0e6a31d78c 100644
--- a/gnu/packages/libffi.scm
+++ b/gnu/packages/libffi.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015, 2019 Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017, 2019, 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -50,7 +50,8 @@
name "-" version ".tar.gz"))
(sha256
(base32
- "0mi0cpf8aa40ljjmzxb7im6dbj45bb0kllcd09xgmp834y9agyvj"))))
+ "0mi0cpf8aa40ljjmzxb7im6dbj45bb0kllcd09xgmp834y9agyvj"))
+ (patches (search-patches "libffi-3.3-powerpc-fixes.patch"))))
(build-system gnu-build-system)
(arguments
`(;; Prevent the build system from passing -march and -mtune to the
diff --git a/gnu/packages/libidn.scm b/gnu/packages/libidn.scm
index 8731ed3f83..b46cdfc0a5 100644
--- a/gnu/packages/libidn.scm
+++ b/gnu/packages/libidn.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,14 +34,14 @@
(define-public libidn
(package
(name "libidn")
- (version "1.35")
+ (version "1.36")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libidn/libidn-" version
".tar.gz"))
(sha256
(base32
- "07pyy0afqikfq51z5kbzbj9ldbd12mri0zvx0mfv3ds6bc0g26pi"))))
+ "0f20n634whpmdwr81c2r0vxxjwchgkvhsr1i8s2bm0ad6h473dhl"))))
(build-system gnu-build-system)
;; FIXME: No Java and C# libraries are currently built.
(arguments
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index b3a5ec5894..c1880e3a7e 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -113,13 +113,13 @@ It is aimed at use in, for example, cryptography and computational algebra.")
(define-public mpfr
(package
(name "mpfr")
- (version "4.0.2")
+ (version "4.1.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mpfr/mpfr-" version
".tar.xz"))
(sha256 (base32
- "12m3amcavhpqygc499s3fzqlb8f2j2rr7fkqsm10xbjfc04fffqx"))))
+ "0zwaanakrqjf84lfr5hfsdr7hncwv9wj0mchlr7cmxigfgqs760c"))))
(build-system gnu-build-system)
(outputs '("out" "debug"))
(propagated-inputs `(("gmp" ,gmp))) ; <mpfr.h> refers to <gmp.h>
diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm
index 14bf874f48..3ac95c11df 100644
--- a/gnu/packages/openldap.scm
+++ b/gnu/packages/openldap.scm
@@ -61,8 +61,7 @@
(define-public openldap
(package
(name "openldap")
- (replacement openldap-2.4.50)
- (version "2.4.49")
+ (version "2.4.50")
(source (origin
(method url-fetch)
@@ -79,7 +78,7 @@
"openldap-release/openldap-" version ".tgz")))
(sha256
(base32
- "0vp524rsngdcykf6ki7vprsyg7gj8z7hszg8xwxz50219fa1gcg3"))))
+ "1f46nlfwmys110j36sifm7ah8m8f3s10c3vaiikmmigmifapvdaw"))))
(build-system gnu-build-system)
(inputs `(("bdb" ,bdb-5.3)
("cyrus-sasl" ,cyrus-sasl)
@@ -127,19 +126,6 @@
(license openldap2.8)
(home-page "https://www.openldap.org/")))
-(define openldap-2.4.50
- (package
- (inherit openldap)
- (version "2.4.50")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://www.openldap.org/software/download/"
- "OpenLDAP/openldap-release/openldap-" version
- ".tgz"))
- (sha256
- (base32
- "1f46nlfwmys110j36sifm7ah8m8f3s10c3vaiikmmigmifapvdaw"))))))
-
(define-public nss-pam-ldapd
(package
(name "nss-pam-ldapd")
diff --git a/gnu/packages/patches/docbook-xsl-nonrecursive-string-subst.patch b/gnu/packages/patches/docbook-xsl-nonrecursive-string-subst.patch
index 4199dd18a5..fed4b76429 100644
--- a/gnu/packages/patches/docbook-xsl-nonrecursive-string-subst.patch
+++ b/gnu/packages/patches/docbook-xsl-nonrecursive-string-subst.patch
@@ -5,7 +5,7 @@ https://bugzilla.samba.org/show_bug.cgi?id=9515
https://bugzilla.gnome.org/show_bug.cgi?id=736077 (for xsltproc)
Patch copied from Debian:
-https://anonscm.debian.org/cgit/collab-maint/docbook-xsl.git/tree/debian/patches/765567_non-recursive_string_subst.patch
+https://salsa.debian.org/debian/docbook-xsl/-/blob/master/debian/patches/765567_non-recursive_string_subst.patch
Description: use EXSLT "replace" function when available
A recursive implementation of string.subst is problematic,
@@ -15,11 +15,12 @@ Bug-Debian: https://bugs.debian.org/750593
--- a/lib/lib.xsl
+++ b/lib/lib.xsl
-@@ -10,7 +10,10 @@
+@@ -6,7 +6,11 @@
+
This module implements DTD-independent functions
- ******************************************************************** -->
--<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+- ******************************************************************** --><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
++ ******************************************************************** -->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:str="http://exslt.org/strings"
+ exclude-result-prefixes="str"
@@ -27,7 +28,7 @@ Bug-Debian: https://bugs.debian.org/750593
<xsl:template name="dot.count">
<!-- Returns the number of "." characters in a string -->
-@@ -56,6 +59,9 @@
+@@ -52,6 +56,9 @@
<xsl:param name="replacement"/>
<xsl:choose>
diff --git a/gnu/packages/patches/docbook-xsl-support-old-url.patch b/gnu/packages/patches/docbook-xsl-support-old-url.patch
new file mode 100644
index 0000000000..5b7dda458f
--- /dev/null
+++ b/gnu/packages/patches/docbook-xsl-support-old-url.patch
@@ -0,0 +1,17 @@
+Docbook 1.79.2 makes very few changes apart from changing the canonical URL
+to cdn.docbook.org. This patch adds support for the previous URL to avoid
+breaking packages that still use that.
+
+Adapted from Debian:
+https://salsa.debian.org/debian/docbook-xsl/-/blob/master/debian/patches/0005-catalog.xml-Compatibility-with-1.79.1-or-earlier.patch
+
+--- a/catalog.xml
++++ b/catalog.xml
+@@ -5,4 +5,7 @@
+ <rewriteSystem systemIdStartString="http://cdn.docbook.org/release/xsl/current/" rewritePrefix="./"/>
+ <rewriteURI uriStartString="http://cdn.docbook.org/release/xsl/1.79.2/" rewritePrefix="./"/>
+ <rewriteSystem systemIdStartString="http://cdn.docbook.org/release/xsl/1.79.2/" rewritePrefix="./"/>
++ <!-- Also support old URI of v1.79.1 or earlier -->
++ <rewriteURI uriStartString="http://docbook.sourceforge.net/release/xsl/current/" rewritePrefix="./"/>
++ <rewriteSystem systemIdStartString="http://docbook.sourceforge.net/release/xsl/current/" rewritePrefix="./"/>
+ </catalog>
diff --git a/gnu/packages/patches/icu4c-CVE-2020-10531.patch b/gnu/packages/patches/icu4c-CVE-2020-10531.patch
deleted file mode 100644
index c2ab923bdc..0000000000
--- a/gnu/packages/patches/icu4c-CVE-2020-10531.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-Fix CVE-2020-10531:
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10531
-
-Patch copied from upstream source repository (changes to the test suite
-are commented out):
-
-https://github.com/unicode-org/icu/commit/b7d08bc04a4296982fcef8b6b8a354a9e4e7afca
-
-From b7d08bc04a4296982fcef8b6b8a354a9e4e7afca Mon Sep 17 00:00:00 2001
-From: Frank Tang <ftang@chromium.org>
-Date: Sat, 1 Feb 2020 02:39:04 +0000
-Subject: [PATCH] ICU-20958 Prevent SEGV_MAPERR in append
-
-See #971
----
- icu4c/source/common/unistr.cpp | 6 ++-
- icu4c/source/test/intltest/ustrtest.cpp | 62 +++++++++++++++++++++++++
- icu4c/source/test/intltest/ustrtest.h | 1 +
- 3 files changed, 68 insertions(+), 1 deletion(-)
-
-diff --git a/icu4c/source/common/unistr.cpp b/icu4c/source/common/unistr.cpp
-index 901bb3358ba..077b4d6ef20 100644
---- a/icu4c/source/common/unistr.cpp
-+++ b/icu4c/source/common/unistr.cpp
-@@ -1563,7 +1563,11 @@ UnicodeString::doAppend(const UChar *srcChars, int32_t srcStart, int32_t srcLeng
- }
-
- int32_t oldLength = length();
-- int32_t newLength = oldLength + srcLength;
-+ int32_t newLength;
-+ if (uprv_add32_overflow(oldLength, srcLength, &newLength)) {
-+ setToBogus();
-+ return *this;
-+ }
-
- // Check for append onto ourself
- const UChar* oldArray = getArrayStart();
-#diff --git a/icu4c/source/test/intltest/ustrtest.cpp b/icu4c/source/test/intltest/ustrtest.cpp
-#index b6515ea813c..ad38bdf53a3 100644
-#--- a/icu4c/source/test/intltest/ustrtest.cpp
-#+++ b/icu4c/source/test/intltest/ustrtest.cpp
-#@@ -67,6 +67,7 @@ void UnicodeStringTest::runIndexedTest( int32_t index, UBool exec, const char* &
-# TESTCASE_AUTO(TestWCharPointers);
-# TESTCASE_AUTO(TestNullPointers);
-# TESTCASE_AUTO(TestUnicodeStringInsertAppendToSelf);
-#+ TESTCASE_AUTO(TestLargeAppend);
-# TESTCASE_AUTO_END;
-# }
-#
-#@@ -2310,3 +2311,64 @@ void UnicodeStringTest::TestUnicodeStringInsertAppendToSelf() {
-# str.insert(2, sub);
-# assertEquals("", u"abbcdcde", str);
-# }
-#+
-#+void UnicodeStringTest::TestLargeAppend() {
-#+ if(quick) return;
-#+
-#+ IcuTestErrorCode status(*this, "TestLargeAppend");
-#+ // Make a large UnicodeString
-#+ int32_t len = 0xAFFFFFF;
-#+ UnicodeString str;
-#+ char16_t *buf = str.getBuffer(len);
-#+ // A fast way to set buffer to valid Unicode.
-#+ // 4E4E is a valid unicode character
-#+ uprv_memset(buf, 0x4e, len * 2);
-#+ str.releaseBuffer(len);
-#+ UnicodeString dest;
-#+ // Append it 16 times
-#+ // 0xAFFFFFF times 16 is 0xA4FFFFF1,
-#+ // which is greater than INT32_MAX, which is 0x7FFFFFFF.
-#+ int64_t total = 0;
-#+ for (int32_t i = 0; i < 16; i++) {
-#+ dest.append(str);
-#+ total += len;
-#+ if (total <= INT32_MAX) {
-#+ assertFalse("dest is not bogus", dest.isBogus());
-#+ } else {
-#+ assertTrue("dest should be bogus", dest.isBogus());
-#+ }
-#+ }
-#+ dest.remove();
-#+ total = 0;
-#+ for (int32_t i = 0; i < 16; i++) {
-#+ dest.append(str);
-#+ total += len;
-#+ if (total + len <= INT32_MAX) {
-#+ assertFalse("dest is not bogus", dest.isBogus());
-#+ } else if (total <= INT32_MAX) {
-#+ // Check that a string of exactly the maximum size works
-#+ UnicodeString str2;
-#+ int32_t remain = INT32_MAX - total;
-#+ char16_t *buf2 = str2.getBuffer(remain);
-#+ if (buf2 == nullptr) {
-#+ // if somehow memory allocation fail, return the test
-#+ return;
-#+ }
-#+ uprv_memset(buf2, 0x4e, remain * 2);
-#+ str2.releaseBuffer(remain);
-#+ dest.append(str2);
-#+ total += remain;
-#+ assertEquals("When a string of exactly the maximum size works", (int64_t)INT32_MAX, total);
-#+ assertEquals("When a string of exactly the maximum size works", INT32_MAX, dest.length());
-#+ assertFalse("dest is not bogus", dest.isBogus());
-#+
-#+ // Check that a string size+1 goes bogus
-#+ str2.truncate(1);
-#+ dest.append(str2);
-#+ total++;
-#+ assertTrue("dest should be bogus", dest.isBogus());
-#+ } else {
-#+ assertTrue("dest should be bogus", dest.isBogus());
-#+ }
-#+ }
-#+}
-#diff --git a/icu4c/source/test/intltest/ustrtest.h b/icu4c/source/test/intltest/ustrtest.h
-#index 218befdcc68..4a356a92c7a 100644
-#--- a/icu4c/source/test/intltest/ustrtest.h
-#+++ b/icu4c/source/test/intltest/ustrtest.h
-#@@ -97,6 +97,7 @@ class UnicodeStringTest: public IntlTest {
-# void TestWCharPointers();
-# void TestNullPointers();
-# void TestUnicodeStringInsertAppendToSelf();
-#+ void TestLargeAppend();
-# };
-#
-# #endif
diff --git a/gnu/packages/patches/libffi-3.3-powerpc-fixes.patch b/gnu/packages/patches/libffi-3.3-powerpc-fixes.patch
new file mode 100644
index 0000000000..971ed26180
--- /dev/null
+++ b/gnu/packages/patches/libffi-3.3-powerpc-fixes.patch
@@ -0,0 +1,138 @@
+This is a combination of the following 4 commits:
+https://github.com/libffi/libffi/commit/01a75ed76ea7e57f1b7a5c183e2b1e890e6aa0fd.patch
+https://github.com/libffi/libffi/commit/6663047f56c2932a6b10a790f4ac6666dd181326.patch
+https://github.com/libffi/libffi/commit/e50b9ef8b910fa642ef158f6642e60d54d7ad740.patch
+https://github.com/libffi/libffi/commit/4d6d2866ae43e55325e8ee96561221804602cd7a.patch
+
+From 2dbfa92a95e3bacabca431b89d2a5925e48a0e40 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Thu, 28 Nov 2019 12:42:41 +0000
+
+powerpc: fix build failure on power7 and older (#532)
+
+Build failure looks as:
+```
+libtool: compile: powerpc-unknown-linux-gnu-gcc \
+ -O2 -mcpu=powerpc -mtune=powerpc -pipe ... -c src/powerpc/ffi.c ...
+In file included from src/powerpc/ffi.c:33:
+src/powerpc/ffi_powerpc.h:65:9: error: '__int128' is not supported on this target
+ 65 | typedef __int128 float128;
+ | ^~~~~~~~
+```
+
+The fix avoids using __int128 in favour of aligned char[16].
+
+Closes: https://github.com/libffi/libffi/issues/531
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+
+Address platforms with no __int128.
+
+powerpc64: Use memcpy to help platforms with no __int128. (#534)
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Update powerpc sysv assembly for ffi_powerpc.h changes (#541)
+
+Some of the flag bits were moved when adding powerpc64 vector support.
+
+Fixes #536
+---
+ src/powerpc/ffi_linux64.c | 12 ++++++------
+ src/powerpc/ffi_powerpc.h | 2 +-
+ src/powerpc/sysv.S | 12 +++++-------
+ 3 files changed, 12 insertions(+), 14 deletions(-)
+
+diff --git a/src/powerpc/ffi_linux64.c b/src/powerpc/ffi_linux64.c
+index de0d033..4d50878 100644
+--- a/src/powerpc/ffi_linux64.c
++++ b/src/powerpc/ffi_linux64.c
+@@ -547,9 +547,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
+ if (next_arg.ul == gpr_end.ul)
+ next_arg.ul = rest.ul;
+ if (vecarg_count < NUM_VEC_ARG_REGISTERS64 && i < nfixedargs)
+- *vec_base.f128++ = **p_argv.f128;
++ memcpy (vec_base.f128++, *p_argv.f128, sizeof (float128));
+ else
+- *next_arg.f128 = **p_argv.f128;
++ memcpy (next_arg.f128, *p_argv.f128, sizeof (float128));
+ if (++next_arg.f128 == gpr_end.f128)
+ next_arg.f128 = rest.f128;
+ vecarg_count++;
+@@ -680,9 +680,9 @@ ffi_prep_args64 (extended_cif *ecif, unsigned long *const stack)
+ {
+ if (vecarg_count < NUM_VEC_ARG_REGISTERS64
+ && i < nfixedargs)
+- *vec_base.f128++ = *arg.f128++;
++ memcpy (vec_base.f128++, arg.f128, sizeof (float128));
+ else
+- *next_arg.f128 = *arg.f128++;
++ memcpy (next_arg.f128, arg.f128++, sizeof (float128));
+ if (++next_arg.f128 == gpr_end.f128)
+ next_arg.f128 = rest.f128;
+ vecarg_count++;
+@@ -986,9 +986,9 @@ ffi_closure_helper_LINUX64 (ffi_cif *cif,
+ do
+ {
+ if (pvec < end_pvec && i < nfixedargs)
+- *to.f128 = *pvec++;
++ memcpy (to.f128, pvec++, sizeof (float128));
+ else
+- *to.f128 = *from.f128;
++ memcpy (to.f128, from.f128, sizeof (float128));
+ to.f128++;
+ from.f128++;
+ }
+diff --git a/src/powerpc/ffi_powerpc.h b/src/powerpc/ffi_powerpc.h
+index 5ee2a70..8e2f2f0 100644
+--- a/src/powerpc/ffi_powerpc.h
++++ b/src/powerpc/ffi_powerpc.h
+@@ -62,7 +62,7 @@ typedef _Float128 float128;
+ #elif defined(__FLOAT128__)
+ typedef __float128 float128;
+ #else
+-typedef __int128 float128;
++typedef char float128[16] __attribute__((aligned(16)));
+ #endif
+
+ void FFI_HIDDEN ffi_closure_SYSV (void);
+diff --git a/src/powerpc/sysv.S b/src/powerpc/sysv.S
+index 1474ce7..df97734 100644
+--- a/src/powerpc/sysv.S
++++ b/src/powerpc/sysv.S
+@@ -104,17 +104,16 @@ ENTRY(ffi_call_SYSV)
+ bctrl
+
+ /* Now, deal with the return value. */
+- mtcrf 0x01,%r31 /* cr7 */
++ mtcrf 0x03,%r31 /* cr6-cr7 */
+ bt- 31,L(small_struct_return_value)
+ bt- 30,L(done_return_value)
+ #ifndef __NO_FPRS__
+ bt- 29,L(fp_return_value)
+ #endif
+ stw %r3,0(%r30)
+- bf+ 28,L(done_return_value)
++ bf+ 27,L(done_return_value)
+ stw %r4,4(%r30)
+- mtcrf 0x02,%r31 /* cr6 */
+- bf 27,L(done_return_value)
++ bf 26,L(done_return_value)
+ stw %r5,8(%r30)
+ stw %r6,12(%r30)
+ /* Fall through... */
+@@ -145,10 +144,9 @@ L(done_return_value):
+ #ifndef __NO_FPRS__
+ L(fp_return_value):
+ .cfi_restore_state
+- bf 28,L(float_return_value)
++ bf 27,L(float_return_value)
+ stfd %f1,0(%r30)
+- mtcrf 0x02,%r31 /* cr6 */
+- bf 27,L(done_return_value)
++ bf 26,L(done_return_value)
+ stfd %f2,8(%r30)
+ b L(done_return_value)
+ L(float_return_value):
+--
+2.26.0
+
diff --git a/gnu/packages/patches/zziplib-CVE-2018-16548.patch b/gnu/packages/patches/zziplib-CVE-2018-16548.patch
deleted file mode 100644
index a17c6a9768..0000000000
--- a/gnu/packages/patches/zziplib-CVE-2018-16548.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-The following 3 patches applied to 0.13.69 in this order, combined:
-https://github.com/gdraheim/zziplib/commit/9411bde3e4a70a81ff3ffd256b71927b2d90dcbb.patch
-https://github.com/gdraheim/zziplib/commit/d2e5d5c53212e54a97ad64b793a4389193fec687.patch
-https://github.com/gdraheim/zziplib/commit/0e1dadb05c1473b9df2d7b8f298dab801778ef99.patch
-
-diff --git a/test/test.zip b/test/test.zip
-index 2c992ea..952d475 100644
-Binary files a/test/test.zip and b/test/test.zip differ
-diff --git a/zzip/zip.c b/zzip/zip.c
-index 14e2e06..f97a40a 100644
---- a/zzip/zip.c
-+++ b/zzip/zip.c
-@@ -472,9 +472,15 @@ __zzip_parse_root_directory(int fd,
- } else
- {
- if (io->fd.seeks(fd, zz_rootseek + zz_offset, SEEK_SET) < 0)
-+ {
-+ free(hdr0);
- return ZZIP_DIR_SEEK;
-+ }
- if (io->fd.read(fd, &dirent, sizeof(dirent)) < __sizeof(dirent))
-+ {
-+ free(hdr0);
- return ZZIP_DIR_READ;
-+ }
- d = &dirent;
- }
-
-@@ -574,11 +580,18 @@ __zzip_parse_root_directory(int fd,
-
- if (hdr_return)
- *hdr_return = hdr0;
-+ else
-+ {
-+ /* If it is not assigned to *hdr_return, it will never be free()'d */
-+ free(hdr0);
-+ }
- } /* else zero (sane) entries */
-+ else
-+ free(hdr0);
- # ifndef ZZIP_ALLOW_MODULO_ENTRIES
-- return (entries != zz_entries ? ZZIP_CORRUPTED : 0);
-+ return (entries != zz_entries) ? ZZIP_CORRUPTED : 0;
- # else
-- return ((entries & (unsigned)0xFFFF) != zz_entries ? ZZIP_CORRUPTED : 0);
-+ return ((entries & (unsigned)0xFFFF) != zz_entries) ? ZZIP_CORRUPTED : 0;
- # endif
- }
-
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 10d9433e01..ae8dd22c01 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -88,7 +88,7 @@
license:gpl2+
license:gpl3+))
-(define-public ruby
+(define-public ruby-2.6
(package
(name "ruby")
(version "2.6.5")
@@ -146,7 +146,7 @@ a focus on simplicity and productivity.")
(define-public ruby-2.7
(package
- (inherit ruby)
+ (inherit ruby-2.6)
(version "2.7.1")
(source
(origin
@@ -189,7 +189,7 @@ a focus on simplicity and productivity.")
(define-public ruby-2.5
(package
- (inherit ruby)
+ (inherit ruby-2.6)
(version "2.5.8")
(source
(origin
@@ -208,7 +208,7 @@ a focus on simplicity and productivity.")
(define-public ruby-2.4
(package
- (inherit ruby)
+ (inherit ruby-2.6)
(version "2.4.10")
(source
(origin
@@ -225,6 +225,8 @@ a focus on simplicity and productivity.")
(delete-file-recursively "ext/fiddle/libffi-3.2.1")
#t))))))
+(define-public ruby ruby-2.7)
+
(define-public mruby
(package
(name "mruby")
diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index dea26a6395..b53b56fbf2 100644
--- a/gnu/packages/texinfo.scm
+++ b/gnu/packages/texinfo.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
-;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
@@ -59,21 +59,18 @@
;; with the native compiler, the environment is reset. This leads to
;; multiple environment variables missing. Do not reset the environment
;; to prevent that.
- (if (%current-target-system)
- '(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'fix-cross-configure
- (lambda _
- (substitute* "configure"
- (("env -i")
- "env "))
- #t))))
- '()))
+ `(#:phases
+ (if ,(%current-target-system)
+ (modify-phases %standard-phases
+ (add-before 'configure 'fix-cross-configure
+ (lambda _
+ (substitute* "configure"
+ (("env -i")
+ "env "))
+ #t)))
+ %standard-phases)))
(inputs `(("ncurses" ,ncurses)
- ;; TODO: remove `if' in the next rebuild cycle.
- ,@(if (%current-target-system)
- `(("perl" ,perl))
- '())))
+ ("perl" ,perl)))
;; When cross-compiling, texinfo will build some of its own binaries with
;; the native compiler. This means ncurses is needed both in both inputs
;; and native-inputs.
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index b6e22935a7..b674019b8f 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -749,7 +749,7 @@ libraries for working with JNLP applets.")
(define-public jansson
(package
(name "jansson")
- (version "2.12")
+ (version "2.13.1")
(source (origin
(method url-fetch)
(uri
@@ -757,7 +757,7 @@ libraries for working with JNLP applets.")
version ".tar.bz2"))
(sha256
(base32
- "1lp1mv8pjp5yziws66cy0dhpcam4bbjqhffk13v4vgdybp674pb4"))))
+ "1g8h18vh8gyxlwfmvdivdp1siad26ywj5zr4j4avgdyjg7wa147f"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-static")))
@@ -7213,8 +7213,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
(define-public nghttp2
(package
(name "nghttp2")
- (version "1.40.0")
- (replacement nghttp2-1.41)
+ (version "1.41.0")
(source
(origin
(method url-fetch)
@@ -7223,7 +7222,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
"nghttp2-" version ".tar.xz"))
(sha256
(base32
- "0wwhwv7cvi1vxpdjwvg0kpa4jzhszclpnwrwfcw728zz53a47z09"))))
+ "1hk77vngjmvvzb5y1gi1aqwf6qywrc7yak08zvzb7x81qs6mphmb"))))
(build-system gnu-build-system)
(outputs (list "out"
"lib")) ; only libnghttp2
@@ -7297,20 +7296,6 @@ compressed JSON header blocks.
@end itemize\n")
(license license:expat)))
-(define-public nghttp2-1.41 ;fixes CVE-2020-11080
- (package
- (inherit nghttp2)
- (version "1.41.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/nghttp2/nghttp2/"
- "releases/download/v" version "/"
- "nghttp2-" version ".tar.xz"))
- (sha256
- (base32
- "1hk77vngjmvvzb5y1gi1aqwf6qywrc7yak08zvzb7x81qs6mphmb"))))))
-
(define-public hpcguix-web
(let ((commit "9de63562b06b4aef3a3afe5ecb18d3c91e57ee74")
(revision "5"))
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 959745e4f7..e49cb104a3 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -2187,13 +2187,13 @@ because lxml.etree already has it's own implementation of XPath 1.0.")
(define-public python-lxml
(package
(name "python-lxml")
- (version "4.4.2")
+ (version "4.5.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "lxml" version))
(sha256
- (base32 "01nvb5j8vs9nk4z5s3250b1m22b4d08kffa36if3g1mdygdrvxpg"))))
+ (base32 "1xhx76hr1w3lllfcg9a01f2y0zwyf59ijnvlh08299mjh8b3mhfd"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index a69339bc07..8c76bc2b11 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -162,7 +163,12 @@ XTerm*utf8: always
XTerm*metaSendsEscape: true\n"))
(gdbinit (plain-file "gdbinit" "\
# Tell GDB where to look for separate debugging files.
-set debug-file-directory ~/.guix-profile/lib/debug
+guile
+(use-modules (gdb))
+(execute (string-append \"set debug-file-directory \"
+ (or (getenv \"GDB_DEBUG_FILE_DIRECTORY\")
+ \"~/.guix-profile/lib/debug\")))
+end
# Authorize extensions found in the store, such as the
# pretty-printers of libstdc++.
diff --git a/guix/build/python-build-system.scm b/guix/build/python-build-system.scm
index 09bd8465c8..62e7a7b305 100644
--- a/guix/build/python-build-system.scm
+++ b/guix/build/python-build-system.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -154,9 +155,14 @@
(major+minor (take components 2)))
(string-join major+minor ".")))
+(define (python-output outputs)
+ "Return the path of the python output, if there is one, or fall-back to out."
+ (or (assoc-ref outputs "python")
+ (assoc-ref outputs "out")))
+
(define (site-packages inputs outputs)
"Return the path of the current output's Python site-package."
- (let* ((out (assoc-ref outputs "out"))
+ (let* ((out (python-output outputs))
(python (assoc-ref inputs "python")))
(string-append out "/lib/python"
(python-version python)
@@ -175,7 +181,7 @@ when running checks after installing the package."
(define* (install #:key outputs (configure-flags '()) use-setuptools?
#:allow-other-keys)
"Install a given Python package."
- (let* ((out (assoc-ref outputs "out"))
+ (let* ((out (python-output outputs))
(params (append (list (string-append "--prefix=" out))
(if use-setuptools?
;; distutils does not accept these flags
@@ -199,12 +205,8 @@ when running checks after installing the package."
(string-append dir "/sbin"))))
outputs))
- (let* ((out (assoc-ref outputs "out"))
- (python (assoc-ref inputs "python"))
- (var `("PYTHONPATH" prefix
- ,(cons (string-append out "/lib/python"
- (python-version python)
- "/site-packages")
+ (let* ((var `("PYTHONPATH" prefix
+ ,(cons (site-packages inputs outputs)
(search-path-as-string->list
(or (getenv "PYTHONPATH") ""))))))
(for-each (lambda (dir)
@@ -220,11 +222,7 @@ installed with setuptools."
;; Even if the "easy-install.pth" is not longer created, we kept this phase.
;; There still may be packages creating an "easy-install.pth" manually for
;; some good reason.
- (let* ((out (assoc-ref outputs "out"))
- (python (assoc-ref inputs "python"))
- (site-packages (string-append out "/lib/python"
- (python-version python)
- "/site-packages"))
+ (let* ((site-packages (site-packages inputs outputs))
(easy-install-pth (string-append site-packages "/easy-install.pth"))
(new-pth (string-append site-packages "/" name ".pth")))
(when (file-exists? easy-install-pth)
diff --git a/guix/build/utils.scm b/guix/build/utils.scm
index 419c10195b..dc55c6745d 100644
--- a/guix/build/utils.scm
+++ b/guix/build/utils.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -800,7 +801,7 @@ sub-expression. For example:
((\"hello\")
\"good morning\\n\")
((\"foo([a-z]+)bar(.*)$\" all letters end)
- (string-append \"baz\" letter end)))
+ (string-append \"baz\" letters end)))
Here, anytime a line of FILE contains \"hello\", it is replaced by \"good
morning\". Anytime a line of FILE matches the second regexp, ALL is bound to
diff --git a/guix/gexp.scm b/guix/gexp.scm
index 67b6121313..7132ca899b 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -1507,7 +1507,8 @@ last one is created from the given <scheme-file> object."
(guile (%guile-for-build))
(module-path %load-path)
(extensions '())
- (deprecation-warnings #f))
+ (deprecation-warnings #f)
+ (optimization-level 1))
"Return a derivation that builds a tree containing the `.go' files
corresponding to MODULES. All the MODULES are built in a context where
they can refer to each other. When TARGET is true, cross-compile MODULES for
@@ -1531,6 +1532,13 @@ TARGET, a GNU triplet."
(system base target)
(system base compile))
+ (define optimizations-for-level
+ (or (and=> (false-if-exception
+ (resolve-interface '(system base optimize)))
+ (lambda (iface)
+ (module-ref iface 'optimizations-for-level))) ;Guile 3.0
+ (const '())))
+
(define (regular? file)
(not (member file '("." ".."))))
@@ -1546,17 +1554,14 @@ TARGET, a GNU triplet."
(ungexp (* total 2))
entry)
- (ungexp-splicing
- (if target
- (gexp ((with-target (ungexp target)
- (lambda ()
- (compile-file entry
- #:output-file output
- #:opts
- %auto-compilation-options)))))
- (gexp ((compile-file entry
- #:output-file output
- #:opts %auto-compilation-options)))))
+ (with-target (ungexp (or target (gexp %host-type)))
+ (lambda ()
+ (compile-file entry
+ #:output-file output
+ #:opts
+ `(,@%auto-compilation-options
+ ,@(optimizations-for-level
+ (ungexp optimization-level))))))
(+ 1 processed))))