aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-03-20 14:13:05 +0100
committerMarius Bakke <mbakke@fastmail.com>2018-03-20 14:13:05 +0100
commitdc7e07c9b9780883a462c5973cd2ecad06fdb4ae (patch)
tree14d185abfdd092a470e72ea27a3dad879145fb76
parent616446ffbf9af9e8e5df0ef40c4e33dba9e25152 (diff)
parentdbc75dadb54dd0e6b3a125949c26aadfa3bff4ca (diff)
downloadgnu-guix-dc7e07c9b9780883a462c5973cd2ecad06fdb4ae.tar
gnu-guix-dc7e07c9b9780883a462c5973cd2ecad06fdb4ae.tar.gz
Merge branch 'staging'
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/base.scm55
-rw-r--r--gnu/packages/build-tools.scm22
-rw-r--r--gnu/packages/calendar.scm26
-rw-r--r--gnu/packages/certs.scm15
-rw-r--r--gnu/packages/elf.scm19
-rw-r--r--gnu/packages/freedesktop.scm50
-rw-r--r--gnu/packages/gl.scm14
-rw-r--r--gnu/packages/gnome.scm58
-rw-r--r--gnu/packages/gnuzilla.scm14
-rw-r--r--gnu/packages/gtk.scm11
-rw-r--r--gnu/packages/image.scm4
-rw-r--r--gnu/packages/linux.scm16
-rw-r--r--gnu/packages/ninja.scm2
-rw-r--r--gnu/packages/patches/giflib-make-reallocarray-private.patch120
-rw-r--r--gnu/packages/patches/gnome-todo-libical-compat.patch17
-rw-r--r--gnu/packages/patches/gtk2-fix-failing-test.patch39
-rw-r--r--gnu/packages/patches/json-glib-fix-tests-32bit.patch174
-rw-r--r--gnu/packages/pciutils.scm5
-rw-r--r--gnu/packages/pulseaudio.scm13
-rw-r--r--gnu/packages/python.scm14
-rw-r--r--gnu/packages/video.scm4
-rw-r--r--gnu/packages/web.scm7
-rw-r--r--gnu/packages/xdisorg.scm12
-rw-r--r--gnu/packages/xiph.scm4
-rw-r--r--gnu/packages/xorg.scm12
-rw-r--r--guix/build-system/meson.scm18
-rw-r--r--guix/build/meson-build-system.scm9
28 files changed, 563 insertions, 195 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 490f07b9de..686595cd58 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -700,6 +700,7 @@ dist_patch_DATA = \
%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/giflib-make-reallocarray-private.patch \
%D%/packages/patches/gimp-CVE-2017-17784.patch \
%D%/packages/patches/gimp-CVE-2017-17785.patch \
%D%/packages/patches/gimp-CVE-2017-17786.patch \
@@ -728,6 +729,7 @@ dist_patch_DATA = \
%D%/packages/patches/glog-gcc-5-demangling.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
%D%/packages/patches/gmp-faulty-test.patch \
+ %D%/packages/patches/gnome-todo-libical-compat.patch \
%D%/packages/patches/gnome-tweak-tool-search-paths.patch \
%D%/packages/patches/gnucash-price-quotes-perl.patch \
%D%/packages/patches/gnutls-skip-trust-store-test.patch \
@@ -754,7 +756,6 @@ dist_patch_DATA = \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk2-theme-paths.patch \
- %D%/packages/patches/gtk2-fix-failing-test.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
@@ -796,6 +797,7 @@ dist_patch_DATA = \
%D%/packages/patches/java-xerces-xjavac_taskdef.patch \
%D%/packages/patches/jemalloc-arm-address-bits.patch \
%D%/packages/patches/jbig2dec-ignore-testtest.patch \
+ %D%/packages/patches/json-glib-fix-tests-32bit.patch \
%D%/packages/patches/jq-CVE-2015-8863.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/khmer-use-libraries.patch \
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index e91f7d43ef..07ae4b70ae 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1091,7 +1091,7 @@ command.")
(define-public tzdata
(package
(name "tzdata")
- (version "2017c")
+ (version "2018c")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1099,7 +1099,7 @@ command.")
version ".tar.gz"))
(sha256
(base32
- "02yrrfj0p7ar885ja41ylijzbr8wc6kz6kzlw8c670i9m693ym6n"))))
+ "1xik57rdi7kqa0wb5jbz7vyjyxpr88lw1g4kscj0ylpgnzjc6998"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
@@ -1107,10 +1107,8 @@ command.")
(tmp (getenv "TMPDIR")))
(list (string-append "TOPDIR=" out)
(string-append "TZDIR=" out "/share/zoneinfo")
-
- ;; Discard zic, dump, and tzselect, already
- ;; provided by glibc.
- (string-append "ETCDIR=" tmp "/etc")
+ (string-append "TZDEFAULT=" out
+ "/share/zoneinfo/localtime")
;; Likewise for the C library routines.
(string-append "LIBDIR=" tmp "/lib")
@@ -1131,6 +1129,9 @@ command.")
(lambda* (#:key outputs #:allow-other-keys)
;; Move data in the right place.
(let ((out (assoc-ref outputs "out")))
+ ;; Discard zic, dump, and tzselect, already
+ ;; provided by glibc.
+ (delete-file-recursively (string-append out "/usr"))
(symlink (string-append out "/share/zoneinfo")
(string-append out "/share/zoneinfo/posix"))
(delete-file-recursively
@@ -1147,7 +1148,7 @@ command.")
version ".tar.gz"))
(sha256
(base32
- "1dvrq0b2hz7cjqdyd7x21wpy4qcng3rvysr61ij0c2g64fyb9s41"))))))
+ "0rg6s1vlgwd8sjhla55hx2h5m2xbx0shm347pkbg4vsaz707zyii"))))))
(home-page "https://www.iana.org/time-zones")
(synopsis "Database of current and historical time zones")
(description "The Time Zone Database (often called tz or zoneinfo)
@@ -1173,6 +1174,45 @@ and daylight-saving rules.")
(sha256
(base32
"02yrrfj0p7ar885ja41ylijzbr8wc6kz6kzlw8c670i9m693ym6n"))))
+ (arguments
+ '(#:tests? #f
+ #:make-flags (let ((out (assoc-ref %outputs "out"))
+ (tmp (getenv "TMPDIR")))
+ (list (string-append "TOPDIR=" out)
+ (string-append "TZDIR=" out "/share/zoneinfo")
+
+ ;; Discard zic, dump, and tzselect, already
+ ;; provided by glibc.
+ (string-append "ETCDIR=" tmp "/etc")
+
+ ;; Likewise for the C library routines.
+ (string-append "LIBDIR=" tmp "/lib")
+ (string-append "MANDIR=" tmp "/man")
+
+ "AWK=awk"
+ "CC=gcc"))
+ #:modules ((guix build utils)
+ (guix build gnu-build-system)
+ (srfi srfi-1))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'unpack
+ (lambda* (#:key source inputs #:allow-other-keys)
+ (and (zero? (system* "tar" "xvf" source))
+ (zero? (system* "tar" "xvf" (assoc-ref inputs "tzcode"))))))
+ (add-after 'install 'post-install
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Move data in the right place.
+ (let ((out (assoc-ref outputs "out")))
+ (symlink (string-append out "/share/zoneinfo")
+ (string-append out "/share/zoneinfo/posix"))
+ (delete-file-recursively
+ (string-append out "/share/zoneinfo-posix"))
+ (copy-recursively (string-append out "/share/zoneinfo-leaps")
+ (string-append out "/share/zoneinfo/right"))
+ (delete-file-recursively
+ (string-append out "/share/zoneinfo-leaps")))))
+ (delete 'configure))))
(inputs `(("tzcode" ,(origin
(method url-fetch)
(uri (string-append
@@ -1182,7 +1222,6 @@ and daylight-saving rules.")
(base32
"1dvrq0b2hz7cjqdyd7x21wpy4qcng3rvysr61ij0c2g64fyb9s41")))))))))
-
(define-public libiconv
(package
(name "libiconv")
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 73eacf7df2..b1534e09a4 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -71,7 +71,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
(define-public meson
(package
(name "meson")
- (version "0.44.0")
+ (version "0.45.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
@@ -79,8 +79,17 @@ makes a few sacrifices to acquire fast full and incremental build times.")
version ".tar.gz"))
(sha256
(base32
- "06r8limj38mv884s5riiz6lpzw37cvhbf9jd0smzcbi7fwmv3yah"))))
+ "1r3wlimllakrswx2rb4mbdk1iricqk6myvdvib6dkyx362yanm9l"))))
(build-system python-build-system)
+ (arguments
+ `(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH
+ ;; patch in meson-for-build, and patching many hard-coded file system
+ ;; locations in "run_unittests.py".
+ #:tests? #f
+ #:phases (modify-phases %standard-phases
+ ;; Meson calls the various executables in out/bin through the
+ ;; Python interpreter, so we cannot use the shell wrapper.
+ (delete 'wrap))))
(inputs `(("ninja" ,ninja)))
(propagated-inputs `(("python" ,python)))
(home-page "https://mesonbuild.com/")
@@ -98,15 +107,8 @@ resembles Python.")
(package
(inherit meson)
(name "meson-for-build")
- (version "0.42.1")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/mesonbuild/meson/"
- "archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1494hdnd40g2v6pky34j0f2iwc6kwn51vck37qwz7nl2xr17b18q"))
+ (inherit (package-source meson))
(patches (search-patches "meson-for-build-rpath.patch"))))
;; People should probably install "meson", not "meson-for-build".
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 44bf05a9bb..b2f6aec83d 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -35,16 +35,19 @@
#:use-module (gnu packages databases)
#:use-module (gnu packages dav)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages glib)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages time)
+ #:use-module (gnu packages xml)
#:use-module (srfi srfi-26))
(define-public libical
(package
(name "libical")
- (version "2.0.0")
+ (version "3.0.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -52,15 +55,18 @@
version "/libical-" version ".tar.gz"))
(sha256
(base32
- "1njn2kr0rrjqv5g3hdhpdzrhankyj4fl1bgn76z3g4n1b7vi2k35"))))
+ "0hcjyf35b8rrvy8xziqxc4imi28mmkixb09gknisvp6jsa5fp4av"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; test suite appears broken
+ #:configure-flags '("-DSHARED_ONLY=true")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-paths
- (lambda _
- (let ((tzdata (assoc-ref %build-inputs "tzdata")))
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; FIXME: This should be patched to use TZDIR so we can drop
+ ;; the tzdata dependency.
+ (let ((tzdata (assoc-ref inputs "tzdata")))
(substitute* "src/libical/icaltz-util.c"
(("\\\"/usr/share/zoneinfo\\\",")
(string-append "\"" tzdata "/share/zoneinfo\""))
@@ -69,16 +75,22 @@
(("\\\"/usr/share/lib/zoneinfo\\\"") "")))
#t)))))
(native-inputs
- `(("perl" ,perl)))
+ `(("perl" ,perl)
+ ("pkg-config" ,pkg-config)))
(inputs
- `(("icu4c" ,icu4c)
+ `(("glib" ,glib)
+ ("libxml2" ,libxml2)
("tzdata" ,tzdata)))
+ (propagated-inputs
+ ;; In Requires.private of libical.pc.
+ `(("icu4c" ,icu4c)))
(home-page "https://libical.github.io/libical/")
(synopsis "iCalendar protocols and data formats implementation")
(description
"Libical is an implementation of the iCalendar protocols and protocol
data units.")
- (license license:lgpl2.1)))
+ ;; Can be used with either license. See COPYING.
+ (license (list license:lgpl2.1 license:mpl2.0))))
(define-public khal
(package
diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
index 0f2f2d25ba..3cbf9202f9 100644
--- a/gnu/packages/certs.scm
+++ b/gnu/packages/certs.scm
@@ -75,7 +75,7 @@
(define-public nss-certs
(package
(name "nss-certs")
- (version "3.35")
+ (version "3.36")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@@ -86,7 +86,7 @@
"nss-" version ".tar.gz")))
(sha256
(base32
- "1ypn68z9ncbbshi3184ywrhx5i846lyd72gps1grzqzdkgh7s4pl"))))
+ "1580qc0a4s8v3k3vg7zz4xly4alkjrw7qq9zy2nf6p4v56wcfg53"))))
(build-system gnu-build-system)
(outputs '("out"))
(native-inputs
@@ -102,8 +102,10 @@
(srfi srfi-26)
(ice-9 regex))
#:phases
- (alist-cons-after
- 'unpack 'install
+ (modify-phases
+ (map (cut assq <> %standard-phases)
+ '(set-paths install-locale unpack))
+ (add-after 'unpack 'install
(lambda _
(let ((certsdir (string-append %output "/etc/ssl/certs/"))
(trusted-rx (make-regexp "^# openssl-trust=[a-zA-Z]"
@@ -131,10 +133,9 @@
;; "Usage error; try -help."
;; This looks like a bug in openssl-1.0.2, but we can also
;; switch into the target directory.
- (system* "c_rehash" "."))))
+ (invoke "c_rehash" "."))
+ #t))))))
- (map (cut assq <> %standard-phases)
- '(set-paths install-locale unpack)))))
(synopsis "CA certificates from Mozilla")
(description
"This package provides certificates for Certification Authorities (CA)
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 576f649c2d..08d92532fa 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -22,6 +22,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages elf)
+ #:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@@ -121,20 +122,18 @@ Executable and Linkable Format (@dfn{ELF}). This includes @command{ld},
;; patch makes significant changes to the algorithm, possibly
;; introducing bugs. So, we apply the patch only on ARM systems.
(inputs
- (if (string-prefix? "arm" (or (%current-target-system) (%current-system)))
+ (if (target-arm32?)
`(("patch/rework-for-arm" ,(search-patch
"patchelf-rework-for-arm.patch")))
'()))
(arguments
- (if (string-prefix? "arm" (or (%current-target-system) (%current-system)))
- `(#:phases (alist-cons-after
- 'unpack 'patch/rework-for-arm
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((patch-file
- (assoc-ref inputs "patch/rework-for-arm")))
- (zero? (system* "patch" "--force" "-p1"
- "--input" patch-file))))
- %standard-phases))
+ (if (target-arm32?)
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch/rework-for-arm
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((patch-file (assoc-ref inputs "patch/rework-for-arm")))
+ (invoke "patch" "--force" "-p1" "--input" patch-file))))))
'()))
(home-page "https://nixos.org/patchelf.html")
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 981303545a..91eb37fb7a 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -30,10 +30,12 @@
(define-module (gnu packages freedesktop)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (gnu packages acl)
@@ -68,11 +70,13 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages python)
+ #:use-module (gnu packages valgrind)
#:use-module (gnu packages w3m)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
- #:use-module (gnu packages xorg))
+ #:use-module (gnu packages xorg)
+ #:use-module (srfi srfi-1))
(define-public xdg-utils
(package
@@ -142,26 +146,31 @@ freedesktop.org project.")
(define-public libinput
(package
(name "libinput")
- (version "1.7.3")
+ (version "1.10.2")
(source (origin
(method url-fetch)
(uri (string-append "https://freedesktop.org/software/libinput/"
name "-" version ".tar.xz"))
(sha256
(base32
- "07fbzxddvhjcch43hdxb24sj7ri96zzpcjalvsicmw0i4wnn2v89"))))
- (build-system gnu-build-system)
+ "1fbv354ii1g4wc4k7d7gbnalqjpzmk9zlpi8linqrzlf6inpc28m"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:configure-flags '("-Ddocumentation=false")))
(native-inputs
- `(("cairo" ,cairo)
- ("gtk+" ,gtk+)
- ("pkg-config" ,pkg-config)))
+ `(("check" ,check)
+ ("pkg-config" ,pkg-config)
+ ("valgrind" ,valgrind)))
(propagated-inputs
- `(("libudev" ,eudev))) ; required by libinput.pc
- (inputs
- `(("glib" ,glib)
+ `(;; In Requires.private of libinput.pc.
("libevdev" ,libevdev)
- ("mtdev" ,mtdev)
- ("libwacom" ,libwacom)))
+ ("libudev" ,eudev)
+ ("libwacom" ,libwacom)
+ ("mtdev" ,mtdev)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)))
(home-page "https://www.freedesktop.org/wiki/Software/libinput/")
(synopsis "Input devices handling library")
(description
@@ -172,14 +181,15 @@ other applications that need to directly deal with input devices.")
(define-public libinput-minimal
(package (inherit libinput)
(name "libinput-minimal")
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (inputs
- `(("libevdev" ,libevdev)
- ("mtdev" ,mtdev)))
+ (inputs '())
+ (propagated-inputs
+ (alist-delete "libwacom" (package-propagated-inputs libinput)))
(arguments
- `(#:configure-flags
- '("--disable-libwacom")))))
+ (substitute-keyword-arguments (package-arguments libinput)
+ ((#:configure-flags flags ''())
+ `(cons* "-Dlibwacom=false"
+ "-Ddebug-gui=false" ;requires gtk+@3
+ ,flags))))))
(define-public libxdg-basedir
(package
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index f46c4b4d4b..bee61cec22 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@@ -222,7 +222,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
(package
(name "mesa")
- (version "17.3.1")
+ (version "17.3.6")
(source
(origin
(method url-fetch)
@@ -234,7 +234,7 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz")))
(sha256
(base32
- "1h94m2nkxa1y4n415d5idk2x2lkgbvjcikv6r2r6yn4ak7h0grls"))
+ "1y7vawz2sbpzdqk4b60w8kfrxb2rfkdjkifyxxfx1jaasj05d4g5"))
(patches
(search-patches "mesa-wayland-egl-symbols-check-mips.patch"
"mesa-skip-disk-cache-test.patch"))))
@@ -556,7 +556,7 @@ OpenGL graphics API.")
(define-public libepoxy
(package
(name "libepoxy")
- (version "1.4.1")
+ (version "1.5.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -564,7 +564,7 @@ OpenGL graphics API.")
version "/libepoxy-" version ".tar.xz"))
(sha256
(base32
- "19hsyap2p0sflj75ycf4af9bsp453bamymbcgnmrphigabsspil8"))))
+ "1md58amxyp34yjnw4xa185hw5jm0hnb2xnhdc28zdsx6k19rk52c"))))
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -575,10 +575,6 @@ OpenGL graphics API.")
(mesa (assoc-ref inputs "mesa")))
(substitute* "src/gen_dispatch.py"
(("/usr/bin/env python") python))
- ;; Add support for aarch64, see upstream:
- ;; https://github.com/anholt/libepoxy/pull/114
- (substitute* "test/dlwrap.c"
- (("GLIBC_2.4") "GLIBC_2.17\", \"GLIBC_2.4"))
(substitute* (find-files "." "\\.[ch]$")
(("libGL.so.1") (string-append mesa "/lib/libGL.so.1"))
(("libEGL.so.1") (string-append mesa "/lib/libEGL.so.1")))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 5eea29e0b2..6623a59bff 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -1157,7 +1157,7 @@ XML/CSS rendering engine.")
(define-public libgsf
(package
(name "libgsf")
- (version "1.14.41")
+ (version "1.14.42")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1165,7 +1165,7 @@ XML/CSS rendering engine.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1lq87wnrsjbjafpk3c8xwd56gqx319fhck9xkg2da88hd9c9h2qm"))))
+ "1hhdz0ymda26q6bl5ygickkgrh998lxqq4z9i8dzpcvqna3zpzr9"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
@@ -2265,18 +2265,20 @@ configuration storage systems.")
(define-public json-glib
(package
(name "json-glib")
- (version "1.2.8")
+ (version "1.4.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
+ (patches (search-patches "json-glib-fix-tests-32bit.patch"))
(sha256
(base32
- "02pl0wl3mf47c038bgv2r4pa6pr6y3shjhxn1l7s3rrrgl1sjmgx"))))
- (build-system gnu-build-system)
+ "1j3dd2xj1l9fi12m1gpmfgf5p4c1w0i970m6k62k3is98yj0jxrd"))))
+ (build-system meson-build-system)
(native-inputs
- `(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
+ `(("gettext" ,gettext-minimal)
+ ("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)))
(propagated-inputs
@@ -4873,7 +4875,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
(define-public evolution-data-server
(package
(name "evolution-data-server")
- (version "3.24.3")
+ (version "3.26.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -4881,27 +4883,44 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1jj1q81bl3r0c8rnsfqi83igqlprzdcjim1fvygbyfy7b8gigqqk"))))
+ "1v0hwlrlm23bz5dmamdavm771f4gs64fyq82argrc0nwgn2a2fp4"))))
(build-system cmake-build-system)
(arguments
'(;; XXX FIXME: 11/85 tests are failing.
#:tests? #f
#:configure-flags
- (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
- "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
- "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
- "-DENABLE_VALA_BINDINGS=ON"
- ;; FIXME: Building against ICU 60 requires C++11 or higher. Remove
- ;; this when our default compiler is >= GCC6.
- "-DCMAKE_CXX_FLAGS=-std=gnu++11"
- "-DENABLE_INTROSPECTION=ON") ;required for Vala bindings
+ (let* ((lib (string-append (assoc-ref %outputs "out")
+ "/lib"))
+ (runpaths (map (lambda (s) (string-append
+ lib "/evolution-data-server/" s))
+ '("addressbook-backends" "calendar-backends"
+ "camel-providers" "credential-modules"
+ "registry-modules"))))
+ (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
+ "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
+ "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
+ "-DENABLE_VALA_BINDINGS=ON"
+ ;; FIXME: Building against ICU 60 requires C++11 or higher. Remove
+ ;; this when our default compiler is >= GCC6.
+ "-DCMAKE_CXX_FLAGS=-std=gnu++11"
+ (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
+ (string-append lib "/evolution-data-server;")
+ (string-join runpaths ";"))
+ "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda _
(substitute* "tests/test-server-utils/e-test-server-utils.c"
(("/bin/rm") (which "rm")))
- #t)))))
+ #t))
+ (add-before 'configure 'dont-override-rpath
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ ;; CMakeLists.txt hard-codes runpath to just the libdir.
+ ;; Remove it so the configure flag is respected.
+ (("SET\\(CMAKE_INSTALL_RPATH .*") ""))
+ #t)))))
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
("gobject-introspection" ,gobject-introspection)
@@ -6149,7 +6168,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.")
(define-public gnome-calendar
(package
(name "gnome-calendar")
- (version "3.26.2")
+ (version "3.26.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -6157,7 +6176,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.")
name "-" version ".tar.xz"))
(sha256
(base32
- "03n51mvlc0vabr1rx9577z927icl3mrxrrv8zckfjav6p4vwg8hr"))))
+ "1clnfvvsaqw9vpxrs6qrxzmgpaw9x2nkjik2x2vwvm07pdvhddxn"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
@@ -6189,6 +6208,7 @@ desktop. It supports multiple calendars, month, week and year view.")
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
+ (patches (search-patches "gnome-todo-libical-compat.patch"))
(sha256
(base32
"106xx1w18pxjmj5k0k2qjzi6b3c3kaz7b5kyrpknykibnr401ff9"))))
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 87381ba196..0836b89a80 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -250,7 +250,7 @@ in C/C++.")
(define-public nspr
(package
(name "nspr")
- (version "4.17")
+ (version "4.19")
(source (origin
(method url-fetch)
(uri (string-append
@@ -258,7 +258,7 @@ in C/C++.")
version "/src/nspr-" version ".tar.gz"))
(sha256
(base32
- "158hdn285dsb5rys8wl1wi32dd1axwhqq0r8fwny4aj157m0l2jr"))))
+ "0agpv3f17h8kmzi0ifibaaxc1k3xc0q61wqw3l6r2xr2z8bmkn9f"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)))
@@ -268,6 +268,10 @@ in C/C++.")
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib"))
+ ;; Use fixed timestamps for reproducibility.
+ #:make-flags '("SH_DATE='1970-01-01 00:00:01'"
+ ;; This is epoch 1 in microseconds.
+ "SH_NOW=100000")
#:phases (modify-phases %standard-phases
(add-before 'configure 'chdir
(lambda _ (chdir "nspr") #t)))))
@@ -282,7 +286,7 @@ in the Mozilla clients.")
(define-public nss
(package
(name "nss")
- (version "3.34.1")
+ (version "3.36")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@@ -293,7 +297,7 @@ in the Mozilla clients.")
"nss-" version ".tar.gz")))
(sha256
(base32
- "186x33wsk4mzjz7dzbn8p0py9a0nzkgzpfkdv4rlyy5gghv5vhd3"))
+ "1580qc0a4s8v3k3vg7zz4xly4alkjrw7qq9zy2nf6p4v56wcfg53"))
;; Create nss.pc and nss-config.
(patches (search-patches "nss-pkgconfig.patch"
"nss-increase-test-timeout.patch"))))
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index f0f49bbce5..d7061adcc6 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -594,7 +594,7 @@ is part of the GNOME accessibility project.")
(define-public gtk+-2
(package
(name "gtk+")
- (version "2.24.31")
+ (version "2.24.32")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -602,11 +602,10 @@ is part of the GNOME accessibility project.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0n26jm09n03nqbd00d2ij63xrby3vik56sk5yj6w1vy768kr5hb8"))
+ "0bjq7ja9gwcv6n5q4qkvdjjx40wsdiikksz1zqxvxsm5vlyskj5n"))
(patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
"gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
- "gtk2-theme-paths.patch"
- "gtk2-fix-failing-test.patch"))))
+ "gtk2-theme-paths.patch"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(propagated-inputs
@@ -660,7 +659,7 @@ application suites.")
(name "gtk+")
;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in
;; mate.scm will also need to be updated.
- (version "3.22.26")
+ (version "3.22.28")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -668,7 +667,7 @@ application suites.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0rxrsh6bcp13hihxxs8f0m9xwniby4lmfi7y5mp9fhg5439z1vk1"))
+ "07syy63d2q12b7mkbhqpirq270365fsql5l9qsrdgzlc04mn36fj"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
(outputs '("out" "bin" "doc"))
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index e0f6794247..f398e09a2b 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -574,7 +574,9 @@ error-resilience, a Java-viewer for j2k-images, ...")
version ".tar.bz2"))
(sha256
(base32
- "1md83dip8rf29y40cm5r7nn19705f54iraz6545zhwa6y8zyq9yz"))))
+ "1md83dip8rf29y40cm5r7nn19705f54iraz6545zhwa6y8zyq9yz"))
+ (patches (search-patches
+ "giflib-make-reallocarray-private.patch"))))
(build-system gnu-build-system)
(outputs '("bin" ; utility programs
"out")) ; library
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 90cf887527..2e0912a8bf 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -970,7 +970,7 @@ intercept and print the system calls executed by the program.")
(define-public alsa-lib
(package
(name "alsa-lib")
- (version "1.1.4.1")
+ (version "1.1.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -978,7 +978,7 @@ intercept and print the system calls executed by the program.")
version ".tar.bz2"))
(sha256
(base32
- "0xjvi381105gldhv0z872a0x58sghznyx19j45lw5iyi2h68gfwi"))))
+ "1rhacnlj0grvfagjx5qzsnbhw7m7lyccghqs4jsv0dnsqv9qmxpl"))))
(build-system gnu-build-system)
(home-page "https://www.alsa-project.org/")
(synopsis "The Advanced Linux Sound Architecture libraries")
@@ -990,14 +990,14 @@ MIDI functionality to the Linux-based operating system.")
(define-public alsa-utils
(package
(name "alsa-utils")
- (version "1.1.4")
+ (version "1.1.5")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.alsa-project.org/pub/utils/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "17cxih9ibjp1193dyd79j50pyfa9dvrs6r9kpwrvzicjvr2110x7"))))
+ "1s727md6mb408y2cfwzjkx23abxhampyrjdkgpyygdhxx62x42rj"))))
(build-system gnu-build-system)
(arguments
;; XXX: Disable man page creation until we have DocBook.
@@ -1037,14 +1037,14 @@ MIDI functionality to the Linux-based operating system.")
(define-public alsa-plugins
(package
(name "alsa-plugins")
- (version "1.1.4")
+ (version "1.1.5")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.alsa-project.org/pub/plugins/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "12hsvm6rpinjkg06pa9hzndkdrbfw6wk6yk00cm8y1gbv8xiq3ak"))))
+ "073zpgvj4pldmzqq97l40wngvbqnvrkc8yw153mgny9kypwaazbr"))))
(build-system gnu-build-system)
;; TODO: Split libavcodec and speex if possible. It looks like they can not
;; be split, there are references to both in files.
@@ -3001,7 +3001,7 @@ Bluetooth audio output devices like headphones or loudspeakers.")
(define-public bluez
(package
(name "bluez")
- (version "5.47")
+ (version "5.49")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3009,7 +3009,7 @@ Bluetooth audio output devices like headphones or loudspeakers.")
version ".tar.xz"))
(sha256
(base32
- "1j22hfjz0fp4pgclgz9mfcwjbr4wqgah3gd2qhfg4r6msmybyxfg"))))
+ "15ffsaz7l3fgdg03l7g1xx9jw7xgs6pc548zxqsxawsca5x1sc1k"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/ninja.scm b/gnu/packages/ninja.scm
index adb236484f..5a168a6ada 100644
--- a/gnu/packages/ninja.scm
+++ b/gnu/packages/ninja.scm
@@ -48,6 +48,8 @@
(lambda _
(substitute* "src/subprocess-posix.cc"
(("/bin/sh") (which "sh")))
+ (substitute* "src/subprocess_test.cc"
+ (("/bin/echo") (which "echo")))
#t))
(replace 'build
(lambda _
diff --git a/gnu/packages/patches/giflib-make-reallocarray-private.patch b/gnu/packages/patches/giflib-make-reallocarray-private.patch
new file mode 100644
index 0000000000..69228c5be8
--- /dev/null
+++ b/gnu/packages/patches/giflib-make-reallocarray-private.patch
@@ -0,0 +1,120 @@
+Move the declaration from gif_lib.h to gif_lib_private.h to solve
+conflicts when some .c-file #includes both stdlib.h and gif_lib.h.
+See also https://sourceforge.net/p/giflib/bugs/110/
+
+diff -ur giflib-5.1.4.orig/lib/dgif_lib.c giflib-5.1.4/lib/dgif_lib.c
+--- giflib-5.1.4.orig/lib/dgif_lib.c 2018-02-28 20:31:02.294682673 +0100
++++ giflib-5.1.4/lib/dgif_lib.c 2018-02-28 22:38:11.659126414 +0100
+@@ -396,7 +396,7 @@
+
+ if (GifFile->SavedImages) {
+ SavedImage* new_saved_images =
+- (SavedImage *)reallocarray(GifFile->SavedImages,
++ (SavedImage *)giflib_private_reallocarray(GifFile->SavedImages,
+ (GifFile->ImageCount + 1), sizeof(SavedImage));
+ if (new_saved_images == NULL) {
+ GifFile->Error = D_GIF_ERR_NOT_ENOUGH_MEM;
+@@ -1108,7 +1108,7 @@
+ if (ImageSize > (SIZE_MAX / sizeof(GifPixelType))) {
+ return GIF_ERROR;
+ }
+- sp->RasterBits = (unsigned char *)reallocarray(NULL, ImageSize,
++ sp->RasterBits = (unsigned char *)giflib_private_reallocarray(NULL, ImageSize,
+ sizeof(GifPixelType));
+
+ if (sp->RasterBits == NULL) {
+diff -ur giflib-5.1.4.orig/lib/gifalloc.c giflib-5.1.4/lib/gifalloc.c
+--- giflib-5.1.4.orig/lib/gifalloc.c 2018-02-28 20:31:02.294682673 +0100
++++ giflib-5.1.4/lib/gifalloc.c 2018-02-28 22:38:11.657126423 +0100
+@@ -8,7 +8,7 @@
+ #include <stdio.h>
+ #include <string.h>
+
+-#include "gif_lib.h"
++#include "gif_lib_private.h"
+
+ #define MAX(x, y) (((x) > (y)) ? (x) : (y))
+
+@@ -188,7 +188,7 @@
+
+ /* perhaps we can shrink the map? */
+ if (RoundUpTo < ColorUnion->ColorCount) {
+- GifColorType *new_map = (GifColorType *)reallocarray(Map,
++ GifColorType *new_map = (GifColorType *)giflib_private_reallocarray(Map,
+ RoundUpTo, sizeof(GifColorType));
+ if( new_map == NULL ) {
+ GifFreeMapObject(ColorUnion);
+@@ -232,7 +232,7 @@
+ if (*ExtensionBlocks == NULL)
+ *ExtensionBlocks=(ExtensionBlock *)malloc(sizeof(ExtensionBlock));
+ else {
+- ExtensionBlock* ep_new = (ExtensionBlock *)reallocarray
++ ExtensionBlock* ep_new = (ExtensionBlock *)giflib_private_reallocarray
+ (*ExtensionBlocks, (*ExtensionBlockCount + 1),
+ sizeof(ExtensionBlock));
+ if( ep_new == NULL )
+@@ -325,7 +325,7 @@
+ if (GifFile->SavedImages == NULL)
+ GifFile->SavedImages = (SavedImage *)malloc(sizeof(SavedImage));
+ else
+- GifFile->SavedImages = (SavedImage *)reallocarray(GifFile->SavedImages,
++ GifFile->SavedImages = (SavedImage *)giflib_private_reallocarray(GifFile->SavedImages,
+ (GifFile->ImageCount + 1), sizeof(SavedImage));
+
+ if (GifFile->SavedImages == NULL)
+@@ -355,7 +355,7 @@
+ }
+
+ /* next, the raster */
+- sp->RasterBits = (unsigned char *)reallocarray(NULL,
++ sp->RasterBits = (unsigned char *)giflib_private_reallocarray(NULL,
+ (CopyFrom->ImageDesc.Height *
+ CopyFrom->ImageDesc.Width),
+ sizeof(GifPixelType));
+@@ -369,7 +369,7 @@
+
+ /* finally, the extension blocks */
+ if (sp->ExtensionBlocks != NULL) {
+- sp->ExtensionBlocks = (ExtensionBlock *)reallocarray(NULL,
++ sp->ExtensionBlocks = (ExtensionBlock *)giflib_private_reallocarray(NULL,
+ CopyFrom->ExtensionBlockCount,
+ sizeof(ExtensionBlock));
+ if (sp->ExtensionBlocks == NULL) {
+diff -ur giflib-5.1.4.orig/lib/gif_lib.h giflib-5.1.4/lib/gif_lib.h
+--- giflib-5.1.4.orig/lib/gif_lib.h 2018-02-28 20:31:02.294682673 +0100
++++ giflib-5.1.4/lib/gif_lib.h 2018-02-28 20:31:43.135716712 +0100
+@@ -244,9 +244,6 @@
+ GifPixelType ColorTransIn2[]);
+ extern int GifBitSize(int n);
+
+-extern void *
+-reallocarray(void *optr, size_t nmemb, size_t size);
+-
+ /******************************************************************************
+ Support for the in-core structures allocation (slurp mode).
+ ******************************************************************************/
+diff -ur giflib-5.1.4.orig/lib/gif_lib_private.h giflib-5.1.4/lib/gif_lib_private.h
+--- giflib-5.1.4.orig/lib/gif_lib_private.h 2018-02-28 20:31:02.294682673 +0100
++++ giflib-5.1.4/lib/gif_lib_private.h 2018-02-28 22:38:11.657126423 +0100
+@@ -54,6 +54,9 @@
+ bool gif89;
+ } GifFilePrivateType;
+
++extern void *
++giflib_private_reallocarray(void *optr, size_t nmemb, size_t size);
++
+ #endif /* _GIF_LIB_PRIVATE_H */
+
+ /* end */
+diff -ur giflib-5.1.4.orig/lib/openbsd-reallocarray.c giflib-5.1.4/lib/openbsd-reallocarray.c
+--- giflib-5.1.4.orig/lib/openbsd-reallocarray.c 2018-02-28 20:31:02.295682659 +0100
++++ giflib-5.1.4/lib/openbsd-reallocarray.c 2018-02-28 22:38:11.656126428 +0100
+@@ -27,7 +27,7 @@
+ #define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4))
+
+ void *
+-reallocarray(void *optr, size_t nmemb, size_t size)
++giflib_private_reallocarray(void *optr, size_t nmemb, size_t size)
+ {
+ if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) &&
+ nmemb > 0 && SIZE_MAX / nmemb < size) {
diff --git a/gnu/packages/patches/gnome-todo-libical-compat.patch b/gnu/packages/patches/gnome-todo-libical-compat.patch
new file mode 100644
index 0000000000..34f2e254b2
--- /dev/null
+++ b/gnu/packages/patches/gnome-todo-libical-compat.patch
@@ -0,0 +1,17 @@
+Fix compatibility with libical 3.0.
+
+Patch copied from Arch Linux:
+https://git.archlinux.org/svntogit/packages.git/tree/trunk/gnome-todo-3.26.2-libical-3.0.patch?h=packages/gnome-todo
+
+diff -up gnome-todo-3.26.2/src/gtd-task.c.libical-3.0 gnome-todo-3.26.2/src/gtd-task.c
+--- gnome-todo-3.26.2/src/gtd-task.c.libical-3.0 2017-11-08 14:53:53.484294926 +0100
++++ gnome-todo-3.26.2/src/gtd-task.c 2017-11-08 14:53:57.208294874 +0100
+@@ -778,7 +778,7 @@ gtd_task_set_complete (GtdTask *task,
+ dt->minute = g_date_time_get_minute (now);
+ dt->second = g_date_time_get_seconds (now);
+ dt->is_date = 0;
+- dt->is_utc = 1;
++ dt->zone = icaltimezone_get_utc_timezone ();
+
+ /* convert timezone
+ *
diff --git a/gnu/packages/patches/gtk2-fix-failing-test.patch b/gnu/packages/patches/gtk2-fix-failing-test.patch
deleted file mode 100644
index 721dc012c7..0000000000
--- a/gnu/packages/patches/gtk2-fix-failing-test.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 12d8b4e8f2f9c9a7707d1d3fccba382732212e3c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com>
-Date: Tue, 5 Dec 2017 20:06:36 +0100
-Subject: [PATCH] Fix test failing on new GLib versions.
-
-This test fails on newer GLib version, because GLib exports a new public marshaller.
-The additional symbol making the test fail is:
-g_cclosure_marshal_BOOLEAN__BOXED_BOXED
-
-The fix makes the test ignore non-gtk related abi.
-This ensures if future marshallers are added to glib those will not pose a problem.
-
-The fix also ensures that the test still checks the gtk abi for identity, and
-that the library provides a superset of the required abi.
-
-Upstream reponse to this problem was:
-
-GLib added a new marshaller in its public API
-And the `abicheck.sh`in GTK+ 2.24 hasn't been updated because GTK+ 2.24 is in deep
-maintenance mode and very few people test it against newer versions of GLib
-
----
- gtk/abicheck.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gtk/abicheck.sh b/gtk/abicheck.sh
-index 0d033fb..53b7bfe 100755
---- a/gtk/abicheck.sh
-+++ b/gtk/abicheck.sh
-@@ -1,5 +1,5 @@
- #! /bin/sh
-
- cpp -DINCLUDE_VARIABLES -P -DG_OS_UNIX -DGTK_WINDOWING_X11 -DALL_FILES ${srcdir:-.}/gtk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE//' | sort > expected-abi
--nm -D -g --defined-only .libs/libgtk-x11-2.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi
-+nm -D -g --defined-only .libs/libgtk-x11-2.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | egrep '^gtk_' | sort > actual-abi
- diff -u expected-abi actual-abi && rm -f expected-abi actual-abi
---
-2.15.0
-
diff --git a/gnu/packages/patches/json-glib-fix-tests-32bit.patch b/gnu/packages/patches/json-glib-fix-tests-32bit.patch
new file mode 100644
index 0000000000..77ea134915
--- /dev/null
+++ b/gnu/packages/patches/json-glib-fix-tests-32bit.patch
@@ -0,0 +1,174 @@
+Fix floating point issues on 32-bit platforms:
+
+https://gitlab.gnome.org/GNOME/json-glib/issues/27
+
+This is an amalgamation of the following upstream commits:
+https://gitlab.gnome.org/GNOME/json-glib/commit/70e2648e02232c1a439a7418388f18fee9afb3fe
+https://gitlab.gnome.org/GNOME/json-glib/commit/675e27505776a1d77fa1ffd1974284890caec1f4
+
+diff --git a/json-glib/tests/json-test-utils.h b/json-glib/tests/json-test-utils.h
+new file mode 100644
+index 0000000..83a02c6
+--- /dev/null
++++ b/json-glib/tests/json-test-utils.h
+@@ -0,0 +1,21 @@
++#include <string.h>
++#include <math.h>
++#include <float.h>
++#include <glib.h>
++#include <json-glib/json-glib.h>
++
++#define json_fuzzy_equals(n1,n2,epsilon) \
++ (((n1) > (n2) ? ((n1) - (n2)) : ((n2) - (n1))) < (epsilon))
++
++#define json_assert_fuzzy_equals(n1,n2,epsilon) \
++ G_STMT_START { \
++ double __n1 = (n1), __n2 = (n2), __epsilon = (epsilon); \
++ if (json_fuzzy_equals (__n1, __n2, __epsilon)) ; else { \
++ g_assertion_message_cmpnum (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, \
++ #n1 " == " #n2 " (+/- " #epsilon ")", \
++ __n1, "==", __n2, 'f'); \
++ } \
++ } G_STMT_END
++
++#define json_assert_almost_equals(n1,n2) \
++ json_assert_fuzzy_equals (n1, n2, DBL_EPSILON)
+diff --git a/json-glib/tests/array.c b/json-glib/tests/array.c
+index 98afeab..426cd72 100644
+--- a/json-glib/tests/array.c
++++ b/json-glib/tests/array.c
+@@ -1,9 +1,4 @@
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-
+-#include <glib.h>
+-#include <json-glib/json-glib.h>
++#include "json-test-utils.h"
+
+ static void
+ test_empty_array (void)
+@@ -37,7 +32,7 @@ test_add_element (void)
+
+ json_array_add_double_element (array, 3.14);
+ g_assert_cmpint (json_array_get_length (array), ==, 3);
+- g_assert_cmpfloat (json_array_get_double_element (array, 2), ==, 3.14);
++ json_assert_fuzzy_equals (json_array_get_double_element (array, 2), 3.14, 0.001);
+
+ json_array_add_boolean_element (array, TRUE);
+ g_assert_cmpint (json_array_get_length (array), ==, 4);
+diff --git a/json-glib/tests/node.c b/json-glib/tests/node.c
+index 23bda63..80beb78 100644
+--- a/json-glib/tests/node.c
++++ b/json-glib/tests/node.c
+@@ -1,6 +1,4 @@
+-#include <glib.h>
+-#include <json-glib/json-glib.h>
+-#include <string.h>
++#include "json-test-utils.h"
+
+ static void
+ test_init_int (void)
+@@ -19,7 +17,7 @@ test_init_double (void)
+ JsonNode *node = json_node_new (JSON_NODE_VALUE);
+
+ json_node_set_double (node, 3.14159);
+- g_assert_cmpfloat (json_node_get_double (node), ==, 3.14159);
++ json_assert_fuzzy_equals (json_node_get_double (node), 3.14159, 0.00001);
+
+ json_node_free (node);
+ }
+@@ -119,13 +117,13 @@ test_get_int (void)
+
+ json_node_set_int (node, 0);
+ g_assert_cmpint (json_node_get_int (node), ==, 0);
+- g_assert_cmpfloat (json_node_get_double (node), ==, 0.0);
++ json_assert_almost_equals (json_node_get_double (node), 0.0);
+ g_assert (!json_node_get_boolean (node));
+ g_assert (!json_node_is_null (node));
+
+ json_node_set_int (node, 42);
+ g_assert_cmpint (json_node_get_int (node), ==, 42);
+- g_assert_cmpfloat (json_node_get_double (node), ==, 42.0);
++ json_assert_almost_equals (json_node_get_double (node), 42.0);
+ g_assert (json_node_get_boolean (node));
+ g_assert (!json_node_is_null (node));
+
+@@ -138,7 +136,7 @@ test_get_double (void)
+ JsonNode *node = json_node_new (JSON_NODE_VALUE);
+
+ json_node_set_double (node, 3.14);
+- g_assert_cmpfloat (json_node_get_double (node), ==, 3.14);
++ json_assert_fuzzy_equals (json_node_get_double (node), 3.14, 0.001);
+ g_assert_cmpint (json_node_get_int (node), ==, 3);
+ g_assert (json_node_get_boolean (node));
+
+@@ -232,9 +230,9 @@ test_gvalue_autopromotion (void)
+ g_print ("Expecting a gdouble, got a %s\n", g_type_name (G_VALUE_TYPE (&check)));
+
+ g_assert_cmpint (G_VALUE_TYPE (&check), ==, G_TYPE_DOUBLE);
+- g_assert_cmpfloat ((float) g_value_get_double (&check), ==, 3.14159f);
++ json_assert_fuzzy_equals (g_value_get_double (&check), 3.14159, 0.00001);
+ g_assert_cmpint (G_VALUE_TYPE (&value), !=, G_VALUE_TYPE (&check));
+- g_assert_cmpfloat ((gdouble) g_value_get_float (&value), ==, g_value_get_double (&check));
++ json_assert_almost_equals (g_value_get_float (&value), g_value_get_double (&check));
+
+ g_value_unset (&value);
+ g_value_unset (&check);
+diff --git a/json-glib/tests/parser.c b/json-glib/tests/parser.c
+index f71584a..8c52a1d 100644
+--- a/json-glib/tests/parser.c
++++ b/json-glib/tests/parser.c
+@@ -1,11 +1,5 @@
+-#include "config.h"
+-
++#include "json-test-utils.h"
+ #include <stdlib.h>
+-#include <stdio.h>
+-
+-#include <glib.h>
+-
+-#include <json-glib/json-glib.h>
+
+ static const gchar *test_empty_string = "";
+ static const gchar *test_empty_array_string = "[ ]";
+@@ -38,13 +32,13 @@ verify_string_value (JsonNode *node)
+ static void
+ verify_double_value (JsonNode *node)
+ {
+- g_assert_cmpfloat (10.2e3, ==, json_node_get_double (node));
++ json_assert_fuzzy_equals (10.2e3, json_node_get_double (node), 0.1);
+ }
+
+ static void
+ verify_negative_double_value (JsonNode *node)
+ {
+- g_assert_cmpfloat (-3.14, ==, json_node_get_double (node));
++ json_assert_fuzzy_equals (-3.14, json_node_get_double (node), 0.01);
+ }
+
+ static const struct {
+diff --git a/json-glib/tests/reader.c b/json-glib/tests/reader.c
+index 43a6aac..9bab312 100644
+--- a/json-glib/tests/reader.c
++++ b/json-glib/tests/reader.c
+@@ -1,9 +1,4 @@
+-#include <stdlib.h>
+-#include <stdio.h>
+-
+-#include <glib.h>
+-
+-#include <json-glib/json-glib.h>
++#include "json-test-utils.h"
+
+ static const gchar *test_base_array_data =
+ "[ 0, true, null, \"foo\", 3.14, [ false ], { \"bar\" : 42 } ]";
+@@ -78,7 +73,7 @@ test_base_object (void)
+ g_assert (json_reader_get_error (reader) == NULL);
+
+ json_reader_read_member (reader, "double");
+- g_assert_cmpfloat (json_reader_get_double_value (reader), ==, 42.47);
++ json_assert_fuzzy_equals (json_reader_get_double_value (reader), 42.47, 0.01);
+ json_reader_end_element (reader);
+
+ g_object_unref (reader);
diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm
index e052b20776..e77aa3f288 100644
--- a/gnu/packages/pciutils.scm
+++ b/gnu/packages/pciutils.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,7 +31,7 @@
(define-public pciutils
(package
(name "pciutils")
- (version "3.5.5")
+ (version "3.5.6")
(source (origin
(method url-fetch)
(uri (string-append
@@ -38,7 +39,7 @@
version ".tar.xz"))
(sha256
(base32
- "1x9rb5y82rzg8b67lh42yy9ag9xr7kzibz566lffd41g37xghqhx"))))
+ "08dvsk1b5m1r7qqzsm849h4glq67mngf8zw7bg0102ff1jwywipk"))))
(build-system gnu-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm
index 8a45137a7f..43816e09f8 100644
--- a/gnu/packages/pulseaudio.scm
+++ b/gnu/packages/pulseaudio.scm
@@ -47,7 +47,6 @@
(define-public libsndfile
(package
(name "libsndfile")
- (replacement libsndfile/fixed)
(version "1.0.28")
(source (origin
(method url-fetch)
@@ -55,7 +54,8 @@
version ".tar.gz"))
(patches (search-patches "libsndfile-armhf-type-checks.patch"
"libsndfile-CVE-2017-8361-8363-8365.patch"
- "libsndfile-CVE-2017-8362.patch"))
+ "libsndfile-CVE-2017-8362.patch"
+ "libsndfile-CVE-2017-12562.patch"))
(sha256
(base32
"1afzm7jx34jhqn32clc5xghyjglccam2728yxlx37yj2y0lkkwqz"))))
@@ -81,15 +81,6 @@ SPARC. Hopefully the design of the library will also make it easy to extend
for reading and writing new sound file formats.")
(license l:gpl2+)))
-(define libsndfile/fixed
- (package
- (inherit libsndfile)
- (source (origin
- (inherit (package-source libsndfile))
- (patches (append
- (origin-patches (package-source libsndfile))
- (search-patches "libsndfile-CVE-2017-12562.patch")))))))
-
(define-public libsamplerate
(package
(name "libsamplerate") ; aka. Secret Rabbit Code (SRC)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 05d3390604..76b5460f63 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -5488,7 +5488,7 @@ complexity of Python source code.")
(package (inherit base)
(propagated-inputs
`(("python2-configparser" ,python2-configparser)
- ("python2-enum" ,python2-enum)
+ ("python2-enum34" ,python2-enum34)
,@(package-propagated-inputs base))))))
;; python-hacking requires flake8 <2.6.0.
@@ -12101,18 +12101,10 @@ ignoring formatting changes.")
"Make loops show a progress bar on the console by just wrapping any
iterable with @code{|tqdm(iterable)|}. Offers many options to define
design and layout.")
- (license (list license:mpl2.0 license:expat))
- (properties `((python2-variant . ,(delay python2-tqdm))))))
+ (license (list license:mpl2.0 license:expat))))
(define-public python2-tqdm
- (let ((tqdm (package-with-python2
- (strip-python2-variant python-tqdm))))
- (package
- (inherit tqdm)
- (native-inputs
- ;; FIXME: This should be propagated from python2-flake8 instead.
- `(("python2-enum34" ,python2-enum34)
- ,@(package-native-inputs tqdm))))))
+ (package-with-python2 python-tqdm))
(define-public python-pkginfo
(package
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 5a478c5804..0dc0ef6551 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -541,7 +541,7 @@ libebml is a C++ library to read and write EBML files.")
(define-public libva
(package
(name "libva")
- (version "2.0.0")
+ (version "2.1.0")
(source
(origin
(method url-fetch)
@@ -553,7 +553,7 @@ libebml is a C++ library to read and write EBML files.")
(string-append "https://www.freedesktop.org/software/vaapi/releases/"
"libva/libva-" version "/libva-" version ".tar.bz2")))
(sha256
- (base32 "0cz5i62jnibmnx0i80i9yipq39v16qr6fw461f6hvrh9lbwh21mv"))))
+ (base32 "03sb1b3fxw8myf9kz6rxw5f3v1p0vfmk34779qx0q8fk24x9bypk"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index d04e5310bf..51640ea097 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -3508,15 +3508,18 @@ applications.")
(define-public perl-uri
(package
(name "perl-uri")
- (version "1.71")
+ (version "1.73")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
"URI-" version ".tar.gz"))
(sha256
(base32
- "05a1ck1bhvqkkk690xhsxf7276dnagk96qkh2jy4prrrgw6wm3lw"))))
+ "04z4xwiryrbxxi48bwbkgq9q9pwfgqry3wp0ramcrwv3dx5ap9yc"))))
(build-system perl-build-system)
+ (native-inputs
+ ;; For tests.
+ `(("perl-test-needs" ,perl-test-needs)))
(license l:perl-license)
(synopsis "Perl Uniform Resource Identifiers (absolute and relative)")
(description
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 93cc57a176..2db5b3d896 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -319,7 +319,7 @@ rasterisation.")
(define-public libdrm
(package
(name "libdrm")
- (version "2.4.89")
+ (version "2.4.91")
(source
(origin
(method url-fetch)
@@ -329,7 +329,7 @@ rasterisation.")
".tar.bz2"))
(sha256
(base32
- "0bm06vqqjbb06mlz2f2h4man0xp0dz928pyycs8q1d5vma19g7v2"))
+ "0068dn47c478vm1lyyhy02gilrpsma0xmcblhvs0dzqyrk80wjk3"))
(patches (search-patches "libdrm-symbol-check.patch"))))
(build-system gnu-build-system)
(arguments
@@ -885,14 +885,14 @@ Escape key when Left Control is pressed and released on its own.")
(define-public libwacom
(package
(name "libwacom")
- (version "0.26")
+ (version "0.29")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/linuxwacom/libwacom/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "0xpvkjvzaj9blcmw8ha46616bzfivj99kwzvr91clxd6iaf11r63"))))
+ "1diklgcjhmvcxi9p1ifp6wcnyr6k7z9jhrlzfhzjqd6zipk01slw"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -917,7 +917,7 @@ Wacom tablet applet.")
(define-public xf86-input-wacom
(package
(name "xf86-input-wacom")
- (version "0.35.0")
+ (version "0.36.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -925,7 +925,7 @@ Wacom tablet applet.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "0za44snc0zirq65a4lxsmg7blp1bynj6j835hm459x8yx1qhmxjm"))))
+ "1xi39hl8ddgj9m7m2k2ll2r3wh0k0aq45fvrsv43651bhz9cbrza"))))
(arguments
`(#:configure-flags
(list (string-append "--with-sdkdir="
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index 2e922d2a95..d3a590bc58 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -57,14 +57,14 @@
(define libogg
(package
(name "libogg")
- (version "1.3.2")
+ (version "1.3.3")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.xiph.org/releases/ogg/libogg-"
version ".tar.xz"))
(sha256
(base32
- "16z74q422jmprhyvy7c9x909li8cqzmvzyr8cgbm52xcsp6pqs1z"))))
+ "022wjlzn8fx7mfby4pcgyjwx8zir7jr7cizichh3jgaki8bwcgsg"))))
(build-system gnu-build-system)
(synopsis "Library for manipulating the ogg multimedia format")
(description
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 1e4835b5c0..871fae29d7 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -1028,7 +1028,7 @@ of new capabilities and controls for text keyboards.")
(define-public libxshmfence
(package
(name "libxshmfence")
- (version "1.2")
+ (version "1.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1036,7 +1036,7 @@ of new capabilities and controls for text keyboards.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "032b0nlkdrpbimdld4gqvhqx53rzn8fawvf1ybhzn7lcswgjs6yj"))))
+ "1ir0j92mnd1nk37mrv9bz5swnccqldicgszvfsh62jd14q6k115q"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("xproto" ,xproto)))
@@ -3707,7 +3707,7 @@ alternative implementations like XRandR or TwinView.")
(define xkbcomp-intermediate ; used as input for xkeyboard-config
(package
(name "xkbcomp-intermediate")
- (version "1.4.0")
+ (version "1.4.1")
(source
(origin
(method url-fetch)
@@ -3717,7 +3717,7 @@ alternative implementations like XRandR or TwinView.")
".tar.bz2"))
(sha256
(base32
- "0syfc6zscvai824mzihlnrqxhkcr27dzkpy8zndavi83iischsdw"))))
+ "0djp7bb0ch2ddwmc1bkg4fddxdvamiiz375x0r0ni5dcb37w93bl"))))
(build-system gnu-build-system)
(inputs
`(("xproto" ,xproto)
@@ -3821,7 +3821,7 @@ extension to the X11 protocol. It includes:
(define-public xkeyboard-config
(package
(name "xkeyboard-config")
- (version "2.22")
+ (version "2.23.1")
(source
(origin
(method url-fetch)
@@ -3831,7 +3831,7 @@ extension to the X11 protocol. It includes:
".tar.bz2"))
(sha256
(base32
- "1garmbyfjp0han04l2l90zzwlfbdgdxl6r1qnic36i5wkycckbny"))))
+ "1wq27cs1c9y7d1d7zp5yhq29paj9smajdb68lyvm28d2zq2vqjra"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)
diff --git a/guix/build-system/meson.scm b/guix/build-system/meson.scm
index d7754e460a..529a2b8b0f 100644
--- a/guix/build-system/meson.scm
+++ b/guix/build-system/meson.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
+;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -80,8 +81,15 @@
(system system)
(build-inputs `(("meson" ,meson)
("ninja" ,ninja)
- ;; Add patchelf for (guix build rpath) to work.
- ("patchelf" ,(default-patchelf))
+ ;; XXX PatchELF fails to build on armhf, so we skip
+ ;; the 'fix-runpath' phase there for now. It is used
+ ;; to avoid superfluous entries in RUNPATH as described
+ ;; in <https://bugs.gnu.org/28444#46>, so armhf may now
+ ;; have different runtime dependencies from other arches.
+ ,@(if (not (string-prefix? "arm" (or (%current-target-system)
+ (%current-system))))
+ `(("patchelf" ,(default-patchelf)))
+ '())
,@native-inputs))
(host-inputs `(,@(if source
`(("source" ,source))
@@ -139,7 +147,11 @@ has a 'meson.build' file."
#:inputs %build-inputs
#:search-paths ',(map search-path-specification->sexp
search-paths)
- #:phases build-phases
+ #:phases
+ (if (string-prefix? "arm" ,(or (%current-target-system)
+ (%current-system)))
+ (modify-phases build-phases (delete 'fix-runpath))
+ build-phases)
#:configure-flags ,configure-flags
#:build-type ,build-type
#:tests? ,tests?
diff --git a/guix/build/meson-build-system.scm b/guix/build/meson-build-system.scm
index 2b92240c52..e8cb5440eb 100644
--- a/guix/build/meson-build-system.scm
+++ b/guix/build/meson-build-system.scm
@@ -46,6 +46,15 @@
,(string-append "--buildtype=" build-type)
,@configure-flags
,source-dir)))
+
+ ;; Meson lacks good facilities for dealing with RUNPATH, so we
+ ;; add the output "lib" directory here to avoid doing that in
+ ;; many users. Related issues:
+ ;; * <https://github.com/mesonbuild/meson/issues/314>
+ ;; * <https://github.com/mesonbuild/meson/issues/3038>
+ ;; * <https://github.com/NixOS/nixpkgs/issues/31222>
+ (setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib"))
+
(mkdir build-dir)
(chdir build-dir)
(zero? (apply system* "meson" args))))