aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/apr.scm4
-rw-r--r--gnu/packages/build-tools.scm4
-rw-r--r--gnu/packages/certs.scm4
-rw-r--r--gnu/packages/cups.scm4
-rw-r--r--gnu/packages/databases.scm9
-rw-r--r--gnu/packages/documentation.scm4
-rw-r--r--gnu/packages/elf.scm4
-rw-r--r--gnu/packages/freedesktop.scm4
-rw-r--r--gnu/packages/gdb.scm4
-rw-r--r--gnu/packages/gl.scm8
-rw-r--r--gnu/packages/gnome.scm45
-rw-r--r--gnu/packages/gnuzilla.scm6
-rw-r--r--gnu/packages/gtk.scm8
-rw-r--r--gnu/packages/imagemagick.scm4
-rw-r--r--gnu/packages/libffi.scm45
-rw-r--r--gnu/packages/linux.scm25
-rw-r--r--gnu/packages/maths.scm5
-rw-r--r--gnu/packages/ninja.scm4
-rw-r--r--gnu/packages/patches/doxygen-test.patch8
-rw-r--r--gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch15
-rw-r--r--gnu/packages/pciutils.scm4
-rw-r--r--gnu/packages/pdf.scm4
-rw-r--r--gnu/packages/python-web.scm15
-rw-r--r--gnu/packages/rust.scm4
-rw-r--r--gnu/packages/sdl.scm2
-rw-r--r--gnu/packages/video.scm4
-rw-r--r--gnu/packages/vulkan.scm15
-rw-r--r--gnu/packages/xdisorg.scm10
-rw-r--r--gnu/packages/xorg.scm14
-rw-r--r--guix/build/ruby-build-system.scm53
31 files changed, 207 insertions, 133 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index c27bf9749e..6286f726c0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1057,6 +1057,7 @@ dist_patch_DATA = \
%D%/packages/patches/mozjs38-tracelogger.patch \
%D%/packages/patches/mozjs38-version-detection.patch \
%D%/packages/patches/mrrescue-support-love-11.patch \
+ %D%/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch \
%D%/packages/patches/mumble-1.2.19-abs.patch \
%D%/packages/patches/mumps-build-parallelism.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
diff --git a/gnu/packages/apr.scm b/gnu/packages/apr.scm
index 8ccec08fa2..1a4a1c6304 100644
--- a/gnu/packages/apr.scm
+++ b/gnu/packages/apr.scm
@@ -30,14 +30,14 @@
(define-public apr
(package
(name "apr")
- (version "1.6.3")
+ (version "1.6.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/apr/apr-"
version ".tar.bz2"))
(sha256
(base32
- "0wiik6amxn6lkc55fv9yz5i3kbxnqbp36alrzabx1avsdp8hc7qk"))
+ "01d1n1ql66bxsjx0wyzazmkqdqdmr0is6a7lwyy5kzy4z7yajz56"))
(patches
(search-patches "apr-skip-getservbyname-test.patch"))
(patch-flags '("-p0"))))
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index daf55d84df..7031ed8ea3 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -160,7 +160,7 @@ files and generates build instructions for the Ninja build system.")
(define-public meson
(package
(name "meson")
- (version "0.49.0")
+ (version "0.49.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
@@ -168,7 +168,7 @@ files and generates build instructions for the Ninja build system.")
version ".tar.gz"))
(sha256
(base32
- "0l8m1v7cl5ybm7psfqmmdqbvmnsbb1qhb8ni3hwap3i0mk29a0zv"))))
+ "1z89f71r29laywx75bamjakybv9653wz0vd2l4xhvqy1dqr197zg"))))
(build-system python-build-system)
(arguments
`(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH
diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
index bb66d27026..89f2ff2884 100644
--- a/gnu/packages/certs.scm
+++ b/gnu/packages/certs.scm
@@ -76,7 +76,7 @@
(define-public nss-certs
(package
(name "nss-certs")
- (version "3.41")
+ (version "3.42.1")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@@ -87,7 +87,7 @@
"nss-" version ".tar.gz")))
(sha256
(base32
- "0bbif42fzz5gk451sv3yphdrl7m4p6zgk5jk0307j06xs3sihbmb"))))
+ "1ihzqspvqjmysp1c15xxr7kqvj3zm9dqnanxhkaxyjgx71yv6z88"))))
(build-system gnu-build-system)
(outputs '("out"))
(native-inputs
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 9f23b8e9ae..b20e92518b 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -56,7 +56,7 @@
(define-public cups-filters
(package
(name "cups-filters")
- (version "1.21.5")
+ (version "1.22.1")
(source(origin
(method url-fetch)
(uri
@@ -64,7 +64,7 @@
"cups-filters-" version ".tar.xz"))
(sha256
(base32
- "0azq9j7kqy18g6vgmvrbw8i4mcqdp3cbgh7q79x1b8p92w4si6rq"))
+ "08szgpmac7xlf6vqkvg3pbphnrk2mal3gy382q2y3cm7k4plys3y"))
(modules '((guix build utils)))
(snippet
;; install backends, banners and filters to cups-filters output
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 9c003cbdb7..c1b6a329ee 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -496,7 +496,7 @@ Language.")
(define-public mariadb
(package
(name "mariadb")
- (version "10.1.37")
+ (version "10.1.38")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.mariadb.org/f/"
@@ -504,7 +504,7 @@ Language.")
name "-" version ".tar.gz"))
(sha256
(base32
- "0ijdmdn9mcciwv361zfmja6b1h6qpbdqgrnnq6kkdapplyq1dmcc"))
+ "0zq77w3ff9q781fn8cv46vy1v4ggb8vjarjvk51k653x4gyg9wfa"))
(patches (search-patches "mariadb-client-test-32bit.patch"))
(modules '((guix build utils)))
(snippet
@@ -583,7 +583,7 @@ Language.")
"roles.acl_statistics"
;; This file contains a time bomb which makes it fail after
- ;; 2019-01-01. See <https://bugs.gnu.org/34351> for details.
+ ;; 2030-12-31. See <https://bugs.gnu.org/34351> for details.
"main.mysqldump"
;; XXX: Fails sporadically.
@@ -697,7 +697,7 @@ as a drop-in replacement of MySQL.")
(patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags '("--with-uuid=e2fs")
+ `(#:configure-flags '("--with-uuid=e2fs" "--with-openssl")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-/bin/sh
@@ -716,6 +716,7 @@ as a drop-in replacement of MySQL.")
(inputs
`(("readline" ,readline)
("libuuid" ,util-linux)
+ ("openssl" ,openssl)
("zlib" ,zlib)))
(home-page "https://www.postgresql.org/")
(synopsis "Powerful object-relational database system")
diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index 9d4d5916fb..6ce7827391 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -123,7 +123,7 @@ markup) can be customized and extended by the user.")
(define-public doxygen
(package
(name "doxygen")
- (version "1.8.14")
+ (version "1.8.15")
(home-page "http://www.doxygen.nl/")
(source (origin
(method url-fetch)
@@ -134,7 +134,7 @@ markup) can be customized and extended by the user.")
".src.tar.gz")))
(sha256
(base32
- "0kcxymbam9jwiyjwyvwdjj0h74lbb6c467szsipzbxjyfl17wxfi"))
+ "0p94b4yb6bk2dxzs5kyl82xxgq2qakgbx5yy3ssbbadncb20x75x"))
(patches (search-patches "doxygen-test.patch"))))
(build-system cmake-build-system)
(native-inputs
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index ace31ec663..1f8263b9c5 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -41,14 +41,14 @@
(define-public elfutils
(package
(name "elfutils")
- (version "0.173")
+ (version "0.176")
(source (origin
(method url-fetch)
(uri (string-append "https://sourceware.org/elfutils/ftp/"
version "/elfutils-" version ".tar.bz2"))
(sha256
(base32
- "1zq0l12k64hrbjmdjc4llrad96c25i427hpma1id9nk87w9qqvdp"))
+ "08qhrl4g6qqr4ga46jhh78y56a47p3msa5b2x1qhzbxhf71lfmzb"))
(patches (search-patches "elfutils-tests-ptrace.patch"))))
(build-system gnu-build-system)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 7bb77ba283..4739f25599 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -148,14 +148,14 @@ freedesktop.org project.")
(define-public libinput
(package
(name "libinput")
- (version "1.12.3")
+ (version "1.12.6")
(source (origin
(method url-fetch)
(uri (string-append "https://freedesktop.org/software/libinput/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0mg2zqbjcgj0aq7d9nwawvyhx43vakilahrc83hrfyif3a3gyrpj"))))
+ "0pgla0mc6mvyr1ljy10mcqvfz8i5z6yp7dbx2bcd70y67wx05d0j"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Ddocumentation=false")))
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index 74eb0f8994..e9df33e3fc 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -37,14 +37,14 @@
(define-public gdb
(package
(name "gdb")
- (version "8.2")
+ (version "8.2.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz"))
(sha256
(base32
- "0fbw6j4z7kmvywwgavn7w3knp860i5i9qnjffc5p52bwkji43963"))))
+ "00i27xqawjv282a07i73lp1l02n0a3ywzhykma75qg500wll6sha"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; FIXME "make check" fails on single-processor systems.
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 37b8fce7cb..8a336a50f4 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, 2018 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@@ -221,7 +221,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
(package
(name "mesa")
- (version "18.3.1")
+ (version "18.3.4")
(source
(origin
(method url-fetch)
@@ -233,7 +233,7 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz")))
(sha256
(base32
- "0qyw9dj2p9n91qzc4ylck2an7ibssjvzi2bjcpv2ajk851yq47sv"))
+ "01xv03ah4l5lcfx015n3fg1620dh4nbbv6gmhh6zhdsx6sj4sc9j"))
(patches
(search-patches "mesa-skip-disk-cache-test.patch"))))
(build-system gnu-build-system)
@@ -257,7 +257,7 @@ also known as DXTn or DXTC) for Mesa.")
("libxvmc" ,libxvmc)
,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
- `(("llvm" ,llvm-6))) ;TODO: Change to LLVM in the next rebuild cycle.
+ `(("llvm" ,llvm)))
(_
`()))
("makedepend" ,makedepend)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 55032fdd77..e0e8c850f2 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -33,6 +33,7 @@
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
+;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -127,6 +128,7 @@
#:use-module (gnu packages rdesktop)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
+ #:use-module (gnu packages rust)
#:use-module (gnu packages samba)
#:use-module (gnu packages scanner)
#:use-module (gnu packages selinux)
@@ -1267,7 +1269,7 @@ XML/CSS rendering engine.")
(define-public libgsf
(package
(name "libgsf")
- (version "1.14.44")
+ (version "1.14.45")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1275,7 +1277,7 @@ XML/CSS rendering engine.")
name "-" version ".tar.xz"))
(sha256
(base32
- "1ppzfk3zmmgrg9jh8vc4dacddbfngjslq2wpj94pcr3i0c8dxgk8"))))
+ "1yk91ccf7z9b8d8ac6vip3gc5c0pkwgabqy6l0pj0kf43l7jrg2w"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
@@ -1300,7 +1302,7 @@ dealing with different structured file formats.")
(define-public librsvg
(package
(name "librsvg")
- (version "2.40.20")
+ (version "2.44.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1308,11 +1310,22 @@ dealing with different structured file formats.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0ay9himvw1l1swcf3h1312d2iqzfl65kpbfgiyfykgvq7cydvx6g"))))
+ "1h3qnqhr0l7pd2bxg69ki6ckl4srdwgr471dpp4jq9i4784hp0v6"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
+ `(#:make-flags '("CC=gcc")
+ #:phases
(modify-phases %standard-phases
+ ;; Don't patch anything in vendor/ to avoid having to recompute
+ ;; checksums for the bundled Cargo "crates". TODO: Unbundle those.
+ (delete 'patch-source-shebangs)
+ (delete 'patch-generated-file-shebangs)
+ (delete 'patch-usr-bin-file)
+ (add-before 'configure 'patch-all-the-things
+ (lambda _
+ (for-each patch-shebang '("tap-driver.sh" "tap-test"))
+ (patch-/usr/bin/file "configure")
+ #t))
(add-before 'configure 'pre-configure
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "gdk-pixbuf-loader/Makefile.in"
@@ -1326,22 +1339,32 @@ dealing with different structured file formats.")
(("gdk_pixbuf_cache_file = .*$")
"gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n"))
#t))
- (add-after 'unpack 'remove-failing-tests
+ (add-before 'check 'remove-failing-tests
(lambda _
(with-directory-excursion "tests/fixtures/reftests"
(for-each delete-file
- '(;; This test fails on i686:
+ '(;; The images produced by these tests differ slightly
+ ;; from their reference counterparts due to differences
+ ;; in the build environment (missing fonts, etc). See
+ ;; <tests/README.md> for details.
+ ;; These fail on x86_64.
+ "svg1.1/coords-viewattr-02-b.svg"
+ "svg1.1/filters-composite-04-f.svg"
+ "svg1.1/filters-image-01-b.svg"
+ "svg1.1/filters-conv-02-f.svg"
+ "svg1.1/filters-conv-04-f.svg"
+ ;; This test fails on i686:
"svg1.1/masking-path-04-b.svg"
- "svg1.1/masking-path-04-b-ref.png"
;; This test fails on armhf:
"svg1.1/masking-mask-01-b.svg"
- "svg1.1/masking-mask-01-b-ref.png"
;; This test fails on aarch64:
- "bugs/777834-empty-text-children.svg"
- "bugs/777834-empty-text-children-ref.png")))
+ "bugs/777834-empty-text-children.svg")))
#t)))))
(native-inputs
`(("pkg-config" ,pkg-config)
+ ;; This is the minimum supported Rust version in Librsvg 2.44.
+ ("rust" ,rust-1.27)
+ ("cargo" ,rust-1.27 "cargo")
("glib" ,glib "bin") ; glib-mkenums, etc.
("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
(inputs
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index e11c0eb576..16ed207cb1 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -443,7 +443,7 @@ in the Mozilla clients.")
(define-public nss
(package
(name "nss")
- (version "3.41")
+ (version "3.42.1")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@@ -454,7 +454,7 @@ in the Mozilla clients.")
"nss-" version ".tar.gz")))
(sha256
(base32
- "0bbif42fzz5gk451sv3yphdrl7m4p6zgk5jk0307j06xs3sihbmb"))
+ "1ihzqspvqjmysp1c15xxr7kqvj3zm9dqnanxhkaxyjgx71yv6z88"))
;; Create nss.pc and nss-config.
(patches (search-patches "nss-pkgconfig.patch"
"nss-increase-test-timeout.patch"))))
@@ -502,7 +502,7 @@ in the Mozilla clients.")
;; leading to test failures:
;; <https://bugzilla.mozilla.org/show_bug.cgi?id=609734>. To
;; work around that, set the time to roughly the release date.
- (invoke "faketime" "2018-12-01" "./nss/tests/all.sh")))
+ (invoke "faketime" "2019-02-01" "./nss/tests/all.sh")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index fb5c178d53..b54279ec96 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -447,7 +447,7 @@ highlighting and other features typical of a source code editor.")
(define-public gdk-pixbuf
(package
(name "gdk-pixbuf")
- (version "2.38.0")
+ (version "2.38.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -455,7 +455,7 @@ highlighting and other features typical of a source code editor.")
name "-" version ".tar.xz"))
(sha256
(base32
- "0ixfmnxjylx06mjaw116apymwi1a8rnkmkbbvqaxxg2pfwy9fl6x"))))
+ "0fmbjgjcyym3qg46f64qgl7icdm4ii77flyc1mhk244rp8vgi7zi"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Dinstalled_tests=false")
@@ -693,7 +693,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.24.2")
+ (version "3.24.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -701,7 +701,7 @@ application suites.")
name "-" version ".tar.xz"))
(sha256
(base32
- "14l8mimdm44r3h5pn5hzigl1z25jna8jxvb16l88v4nc4zj0afsv"))
+ "0bxhvnixc1hjxbzx063lghmix0wmv282khsqmckdxhrb606zpr8b"))
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
"gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))
(modules '((guix build utils)))
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index dafe8c76ed..0207eb6569 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -48,14 +48,14 @@
;; The 7 release series has an incompatible API, while the 6 series is still
;; maintained. Don't update to 7 until we've made sure that the ImageMagick
;; users are ready for the 7-series API.
- (version "6.9.10-16")
+ (version "6.9.10-27")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
- "1ylbv69r8l3d4za4i8q41cs6lq06mnhiq4qm03rvs3vp3gyp1m9x"))))
+ "1skngh58lkpa2scc9rhjxvhyn6f7nlwd28hbwrxzlvvb7qil9jcq"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")
diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm
index 1df6b7b6df..f47f7623b4 100644
--- a/gnu/packages/libffi.scm
+++ b/gnu/packages/libffi.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2015, 2019 Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
-;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@@ -92,14 +92,12 @@ conversions for values passed between the two languages.")
(base32 "1x3lrj928dcxx1k8k9gf3s4s3jwvzv8mc3kkyg1g7c3a1sc1f3z9"))
(patches (search-patches "python-cffi-x87-stack-clean.patch"))))
(build-system python-build-system)
- (outputs '("out" "doc"))
(inputs
`(("libffi" ,libffi)))
(propagated-inputs ; required at run-time
`(("python-pycparser" ,python-pycparser)))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("python-sphinx" ,python-sphinx)
("python-pytest" ,python-pytest)))
(arguments
`(#:modules ((ice-9 ftw)
@@ -134,17 +132,7 @@ conversions for values passed between the two languages.")
(lambda _
(substitute* "testing/cffi0/test_ownlib.py"
(("ret.left") "ownlib.left"))
- #t))
- (add-after 'install 'install-doc
- (lambda* (#:key outputs (make-flags '()) #:allow-other-keys)
- (let* ((doc (string-append (assoc-ref outputs "doc")
- "/share/doc/" ,name "-" ,version))
- (html (string-append doc "/html")))
- (with-directory-excursion "doc"
- (apply invoke "make" "html" make-flags)
- (mkdir-p html)
- (copy-recursively "build/html" html))
- #t))))))
+ #t)))))
(home-page "https://cffi.readthedocs.org")
(synopsis "Foreign function interface for Python")
(description
@@ -154,6 +142,35 @@ conversions for values passed between the two languages.")
(define-public python2-cffi
(package-with-python2 python-cffi))
+(define-public python-cffi-documentation
+ (package
+ (name "python-cffi-documentation")
+ (version (package-version python-cffi))
+ (source (package-source python-cffi))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "doc") #t))
+ (delete 'configure)
+ (replace 'build
+ (lambda* (#:key (make-flags '()) #:allow-other-keys)
+ (apply invoke "make" "html" make-flags)))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (copy-recursively "build/html" (string-append out "/html"))
+ #t))))))
+ (native-inputs
+ `(("sphinx-build" ,python-sphinx)))
+ (home-page (package-home-page python-cffi))
+ (synopsis "Documentation for the Python CFFI interface")
+ (description
+ "This package contains HTML documentation for the @code{python-cffi}
+project.")
+ (license (package-license python-cffi))))
+
(define-public ruby-ffi
(package
(name "ruby-ffi")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 1976e24cba..53b15b414a 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -15,7 +15,7 @@
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
-;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2018 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
@@ -1027,7 +1027,7 @@ intercept and print the system calls executed by the program.")
(define-public alsa-lib
(package
(name "alsa-lib")
- (version "1.1.7")
+ (version "1.1.8")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1035,7 +1035,7 @@ intercept and print the system calls executed by the program.")
version ".tar.bz2"))
(sha256
(base32
- "02fw7dw202mjid49w9ki3dsfcyvid5fj488561bdzcm3haw00q4x"))))
+ "1pxf0zkmps03l3zzd0fr828xhkg6a8hxljmbxzc2cyj2ls9kmp1w"))))
(build-system gnu-build-system)
(home-page "https://www.alsa-project.org/")
(synopsis "The Advanced Linux Sound Architecture libraries")
@@ -1047,14 +1047,14 @@ MIDI functionality to the Linux-based operating system.")
(define-public alsa-utils
(package
(name "alsa-utils")
- (version "1.1.7")
+ (version "1.1.8")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.alsa-project.org/pub/utils/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "02jlw6a22j2rr7inggfgk2hzx3w0fjhvhs0dn1afpzdp9aspzchx"))))
+ "1kx45yhrxai3k595yyqs4wj0p2n5b0c9mf0k36ljjf1bj8lgb6zx"))))
(build-system gnu-build-system)
(arguments
;; XXX: Disable man page creation until we have DocBook.
@@ -1067,6 +1067,13 @@ MIDI functionality to the Linux-based operating system.")
"/lib/udev/rules.d"))
#:phases
(modify-phases %standard-phases
+ (add-before 'check 'disable-broken-test
+ (lambda _
+ ;; XXX: The 1.1.8 release tarball is missing a header that's
+ ;; required for this test to work. Fixed in 1.1.9.
+ (substitute* "axfer/test/Makefile"
+ ((".*container-test.*") ""))
+ #t))
(add-before
'install 'pre-install
(lambda _
@@ -1094,14 +1101,14 @@ MIDI functionality to the Linux-based operating system.")
(define-public alsa-plugins
(package
(name "alsa-plugins")
- (version "1.1.7")
+ (version "1.1.8")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.alsa-project.org/pub/plugins/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "0iys4zl1davzyg3mn9lvil1n3k1ifrg3v1caj3k4dqyrnrd40jx7"))))
+ "152r82i6f97gfilfgiax5prxkd4xlcipciv8ha8yrk452qbxyxvz"))))
(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.
@@ -2021,7 +2028,7 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.")
(define-public kmod
(package
(name "kmod")
- (version "25")
+ (version "26")
(source (origin
(method url-fetch)
(uri
@@ -2029,7 +2036,7 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.")
"kmod-" version ".tar.xz"))
(sha256
(base32
- "1kgixs4m3jvwk7fb3d18n6j77qhgi9qfv4csj35rs5ancr4ycrbi"))
+ "17dvrls70nr3b3x1wm8pwbqy4r8a5c20m0dhys8mjhsnpg425fsp"))
(patches (search-patches "kmod-module-directory.patch"))))
(build-system gnu-build-system)
(native-inputs
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 667ed94ec0..c4e9328071 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2933,7 +2933,7 @@ parts of it.")
(define-public openblas
(package
(name "openblas")
- (version "0.3.4")
+ (version "0.3.5")
(source
(origin
(method url-fetch)
@@ -2942,7 +2942,7 @@ parts of it.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1s56lgilyyw86dzmj3jkci9zsg24n60wq4d0zri1hrxlxb6ihimj"))))
+ "062kg4ny1ywz7k5grpb4pbf0hba0w6manbajwkmv4f477a31sxpl"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -2958,6 +2958,7 @@ parts of it.")
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"SHELL=bash"
+ "MAKE_NB_JOBS=0" ;use jobserver for submakes
;; Build the library for all supported CPUs. This allows
;; switching CPU targets at runtime with the environment variable
;; OPENBLAS_CORETYPE=<type>, where "type" is a supported CPU type.
diff --git a/gnu/packages/ninja.scm b/gnu/packages/ninja.scm
index 5a168a6ada..0791abe764 100644
--- a/gnu/packages/ninja.scm
+++ b/gnu/packages/ninja.scm
@@ -30,7 +30,7 @@
(define-public ninja
(package
(name "ninja")
- (version "1.8.2")
+ (version "1.9.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/martine/ninja/"
@@ -38,7 +38,7 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1x66q6494ml1p1f74mxzik1giakl4zj7rxig9jsc50087l671f46"))))
+ "1ffmzj5s9h98qhl94d9i23zcv057rsqbac9g1hdgvlzq51ccfzjx"))))
(build-system gnu-build-system)
(native-inputs `(("python" ,python-2)))
(arguments
diff --git a/gnu/packages/patches/doxygen-test.patch b/gnu/packages/patches/doxygen-test.patch
index 5ac063adbf..8ccb9ec3c4 100644
--- a/gnu/packages/patches/doxygen-test.patch
+++ b/gnu/packages/patches/doxygen-test.patch
@@ -5,14 +5,14 @@ test.
diff -u -r doxygen-1.8.7.orig/testing/012/citelist.xml doxygen-1.8.7/testing/012/citelist.xml
--- doxygen-1.8.7.orig/testing/012/citelist.xml 2014-04-24 23:43:34.000000000 +0200
+++ doxygen-1.8.7/testing/012/citelist.xml 2014-04-24 23:49:43.000000000 +0200
-@@ -4,17 +4,6 @@
- <compoundname>citelist</compoundname>
- <title>Bibliography</title>
+@@ -6,17 +6,6 @@
+ <briefdescription>
+ </briefdescription>
<detaileddescription>
- <para>
- <variablelist>
- <varlistentry>
-- <term><anchor id="_1CITEREF_knuth79"/>[1]</term>
+- <term><anchor id="citelist_1CITEREF_knuth79"/>[1]</term>
- </varlistentry>
- <listitem>
- <para>Donald<nonbreakablespace/>E. Knuth. <emphasis>Tex and Metafont, New Directions in Typesetting</emphasis>. American Mathematical Society and Digital Press, Stanford, 1979.</para>
diff --git a/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch b/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch
new file mode 100644
index 0000000000..9e76653a07
--- /dev/null
+++ b/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch
@@ -0,0 +1,15 @@
+https://github.com/thepowersgang/mrustc/issues/109
+From: Danny Milosavljevic <dannym@scratchpost.org>
+Date: Fri, 3 Jan 2019 13:00:00 +0100
+
+--- mrustc/src/expand/proc_macro.cpp.orig 2019-02-01 14:16:54.208486062 +0100
++++ mrustc/src/expand/proc_macro.cpp 2019-02-01 14:17:14.350925705 +0100
+@@ -977,7 +977,7 @@
+ for(;;)
+ {
+ auto b = recv_u8();
+- v |= static_cast<uint64_t>(b) << ofs;
++ v |= static_cast<uint64_t>(b & 0x7F) << ofs;
+ if( (b & 0x80) == 0 )
+ break;
+ ofs += 7;
diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm
index d5369f3b6d..f8b79cf907 100644
--- a/gnu/packages/pciutils.scm
+++ b/gnu/packages/pciutils.scm
@@ -31,7 +31,7 @@
(define-public pciutils
(package
(name "pciutils")
- (version "3.6.1")
+ (version "3.6.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -39,7 +39,7 @@
version ".tar.xz"))
(sha256
(base32
- "1q39hh8scgvqppk1clzjh7yiq5p2r0knv52g3qzmdhsir4f47h7w"))))
+ "1wwkpglvvr1sdj2gxz9khq507y02c4px48njy25divzdhv4jwifv"))))
(build-system gnu-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 29f2381e6d..f0841b6570 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -663,14 +663,14 @@ line tools for batch rendering @command{pdfdraw}, rewriting files
(define-public qpdf
(package
(name "qpdf")
- (version "8.2.1")
+ (version "8.4.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/qpdf/qpdf/" version
"/qpdf-" version ".tar.gz"))
(sha256
(base32
- "1jdb0jj72fjdp6xip4m7yz31r5x13zs7h4smnxsycgw3vbmx6igl"))
+ "1864p952m8vzxk6v500a42psbqj2g2gyli3d3zj6h33hzwxqy09r"))
(modules '((guix build utils)))
(snippet
;; Replace shebang with the bi-lingual shell/Perl trick to remove
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 839f48ce4f..4b84594b2a 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1278,15 +1278,19 @@ WebSocket usage in Python programs.")
(define-public python-requests
(package
(name "python-requests")
- (version "2.13.0")
+ (version "2.21.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "requests" version))
(sha256
(base32
- "1s0wg4any4dsv5l3hqjxqk2zgb7pdbqhy9rhc8kh3aigfq4ws8jp"))))
- ;; TODO: unbundle urllib3 and chardet.
+ "13jr0wkj9c2j8c0c8iaal9iivi0bpxghnsdn6lxcpnmc657q4ajh"))))
(build-system python-build-system)
+ (propagated-inputs
+ `(("python-certifi" ,python-certifi)
+ ("python-chardet" ,python-chardet)
+ ("python-idna" ,python-idna)
+ ("python-urllib3" ,python-urllib3)))
(arguments
;; FIXME: Some tests require network access.
'(#:tests? #f))
@@ -1455,11 +1459,6 @@ authenticated session objects providing things like keep-alive.")
"08lwd9f3hqznyf32vnzwvp87pchx062nkbgyrf67rwlkgj0jk5fy"))))
(build-system python-build-system)
(arguments `(#:tests? #f))
- (native-inputs
- `(;; some packages for tests
- ("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
- ("python-tornado" ,python-tornado)))
(propagated-inputs
`(;; These 5 inputs are used to build urrlib3[secure]
("python-certifi" ,python-certifi)
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 02626eb22d..feadbcddba 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -106,7 +106,9 @@
(file-name (git-file-name name version))
(sha256
(base32
- "0a7v8ccyzp1sdkwni8h1698hxpfz2sxhcpx42n6l2pbm0rbjp08i"))))
+ "0a7v8ccyzp1sdkwni8h1698hxpfz2sxhcpx42n6l2pbm0rbjp08i"))
+ (patches
+ (search-patches "mrustc-0.8.0-fix-variable-length-integer-receiving.patch"))))
(outputs '("out" "cargo"))
(build-system gnu-build-system)
(inputs
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index 2e125c9d23..7c7b7e7350 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -81,6 +81,8 @@
;; finding the libGL from mesa at runtime.
"LDFLAGS=-lGL")
+ #:make-flags '("V=1") ;build verbosely
+
#:tests? #f)) ; no check target
(propagated-inputs
;; SDL headers include X11 headers.
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 52f151bd78..57d28e7e6e 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -628,7 +628,7 @@ libebml is a C++ library to read and write EBML files.")
(define-public libva
(package
(name "libva")
- (version "2.3.0")
+ (version "2.4.0")
(source
(origin
(method url-fetch)
@@ -640,7 +640,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 "1r6wiw4k044cpb39rfqqdw6qmzw0268whpz124hywck9v980x130"))))
+ (base32 "14ckq67z3pcd7jrnrm3ckss440g6dzp2m0ff5rps54qmq9b309lr"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index fbed97ead0..d4b8b7a691 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -163,16 +163,17 @@ interpretation of the specifications for these languages.")
(define-public vulkan-headers
(package
(name "vulkan-headers")
- (version "1.1.99")
+ (version "1.1.101")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Headers")
(commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "166z6wn5kxnqm55zgzhmqa9hg48d11bfmi3wnf1mqhsx48xw6b8z"))))
+ "1hb1lg56i2685nz7i4hbsv3sz1iym2wimjz4bfa175xh5jyvr0km"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; No tests.
@@ -193,9 +194,10 @@ interpretation of the specifications for these languages.")
(uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Loader")
(commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "02m3sdcbl8s6qr1nsba5621vg3f4akkfaa7g9hi70cpvws4x0gg8"))))
+ "02xkjaack3zmbsnh95jbkkdarf7ccfpfjby12kikajwr0kr4d4df"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;FIXME: 23/39 tests fail. Try "tests/run_all_tests.sh".
@@ -242,16 +244,17 @@ and the ICD.")
(define-public vulkan-tools
(package
(name "vulkan-tools")
- (version "1.1.97.0")
+ (version "1.1.100")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KhronosGroup/Vulkan-Tools")
- (commit (string-append "sdk-" version))))
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1p70wk0x546w1dlvlghrqm4l4b6ql0x08pdybyagnwwph0gdvqy3"))))
+ "1b9c8yimn34b77nbrkra4qj71gcw8zr0cgdp85ghxampm7gzx0xi"))))
(build-system cmake-build-system)
(inputs
`(("glslang" ,glslang)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index f0d6ac3eb5..23ea19dec7 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -164,14 +164,14 @@ avoiding password prompts when X11 forwarding has already been setup.")
(define-public libxkbcommon
(package
(name "libxkbcommon")
- (version "0.8.2")
+ (version "0.8.4")
(source (origin
(method url-fetch)
- (uri (string-append "https://xkbcommon.org/download/" name "-"
+ (uri (string-append "https://xkbcommon.org/download/libxkbcommon-"
version ".tar.xz"))
(sha256
(base32
- "136mdq11lrwg6rjmm44lmysxxgb9c35p4sq6k0cd129x82rw9f3s"))))
+ "12vc91ydhphd5sddz15560r41l7k0i7mq6nma8kkbzdp6bwwzpb0"))))
(build-system gnu-build-system)
(inputs
`(("libx11" ,libx11)
@@ -324,7 +324,7 @@ rasterisation.")
(define-public libdrm
(package
(name "libdrm")
- (version "2.4.96")
+ (version "2.4.97")
(source
(origin
(method url-fetch)
@@ -334,7 +334,7 @@ rasterisation.")
".tar.bz2"))
(sha256
(base32
- "14xkip83qgljjaahzq40qgl60j54q7k00la1hbf5kk5lgg7ilmhd"))
+ "08yimlp6jir1rs5ajgdx74xa5qdzcqahpdzdk0rmkmhh7vdcrl3p"))
(patches (search-patches "libdrm-symbol-check.patch"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index fcfb500854..8808c4bd2a 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -1084,7 +1084,7 @@ synchronization between the X server and direct-rendering clients.")
(define-public libfontenc
(package
(name "libfontenc")
- (version "1.1.3")
+ (version "1.1.4")
(source
(origin
(method url-fetch)
@@ -1094,14 +1094,14 @@ synchronization between the X server and direct-rendering clients.")
".tar.bz2"))
(sha256
(base32
- "08gxmrhgw97mv0pvkfmd46zzxrn6zdw4g27073zl55gwwqq8jn3h"))))
+ "0y90170dp8wsidr1dzza0grxr1lfh30ji3b5vkjz4j6x1n0wxz1c"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)
("xorgproto" ,xorgproto)))
(native-inputs
`(("pkg-config" ,pkg-config)))
- (home-page "https://www.x.org/wiki/")
+ (home-page "https://gitlab.freedesktop.org/xorg/lib/libfontenc")
(synopsis "Xorg font encoding library")
(description "Xorg font encoding library.")
(license license:x11)))
@@ -3852,7 +3852,7 @@ extension to the X11 protocol. It includes:
(define-public xkeyboard-config
(package
(name "xkeyboard-config")
- (version "2.24")
+ (version "2.26")
(source
(origin
(method url-fetch)
@@ -3862,7 +3862,7 @@ extension to the X11 protocol. It includes:
".tar.bz2"))
(sha256
(base32
- "1my4786pd7iv5x392r9skj3qclmbd26nqzvh2fllwkkbyj08bcci"))))
+ "13h3381pfp4pv32189zkfsj2x0alr91xj6dqii76rl0c8v3ihdrr"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)
@@ -5145,8 +5145,8 @@ over Xlib, including:
("xcb-util-renderutil" ,xcb-util-renderutil)
("xcb-util-wm" ,xcb-util-wm)))
(native-inputs
- `(("python" ,python-minimal-wrapper)
- ("pkg-config" ,pkg-config)))
+ `(("python" ,python-wrapper)
+ ("pkg-config" ,pkg-config)))
(arguments
`(#:parallel-tests? #f
#:configure-flags
diff --git a/guix/build/ruby-build-system.scm b/guix/build/ruby-build-system.scm
index 3a658e2557..ba0de1259e 100644
--- a/guix/build/ruby-build-system.scm
+++ b/guix/build/ruby-build-system.scm
@@ -86,28 +86,29 @@ operation is not deterministic, we replace it with `find`."
"Remove the original gemspec, if present, and replace it with a new one.
This avoids issues with upstream gemspecs requiring tools such as git to
generate the files list."
- (when (gem-archive? source)
- (let ((gemspec (or (false-if-exception (first-gemspec))
- ;; Make new gemspec if one wasn't shipped.
- ".gemspec")))
-
- (when (file-exists? gemspec) (delete-file gemspec))
-
- ;; Extract gemspec from source gem.
- (let ((pipe (open-pipe* OPEN_READ "gem" "spec" "--ruby" source)))
- (dynamic-wind
- (const #t)
- (lambda ()
- (call-with-output-file gemspec
- (lambda (out)
- ;; 'gem spec' writes to stdout, but 'gem build' only reads
- ;; gemspecs from a file, so we redirect the output to a file.
- (while (not (eof-object? (peek-char pipe)))
- (write-char (read-char pipe) out))))
- #t)
- (lambda ()
- (close-pipe pipe)))))
- #t))
+ (if (gem-archive? source)
+ (let ((gemspec (or (false-if-exception (first-gemspec))
+ ;; Make new gemspec if one wasn't shipped.
+ ".gemspec")))
+
+ (when (file-exists? gemspec) (delete-file gemspec))
+
+ ;; Extract gemspec from source gem.
+ (let ((pipe (open-pipe* OPEN_READ "gem" "spec" "--ruby" source)))
+ (dynamic-wind
+ (const #t)
+ (lambda ()
+ (call-with-output-file gemspec
+ (lambda (out)
+ ;; 'gem spec' writes to stdout, but 'gem build' only reads
+ ;; gemspecs from a file, so we redirect the output to a file.
+ (while (not (eof-object? (peek-char pipe)))
+ (write-char (read-char pipe) out))))
+ #t)
+ (lambda ()
+ (close-pipe pipe)))))
+ (display "extract-gemspec: skipping as source is not a gem archive\n"))
+ #t)
(define* (build #:key source #:allow-other-keys)
"Build a new gem using the gemspec from the SOURCE gem."
@@ -138,11 +139,13 @@ GEM-FLAGS are passed to the 'gem' invokation, if present."
(gem-file-basename (basename gem-file))
(gem-name (substring gem-file-basename
0
- (- (string-length gem-file-basename) 4))))
+ (- (string-length gem-file-basename) 4)))
+ (gem-dir (string-append vendor-dir "/gems/" gem-name)))
(setenv "GEM_VENDOR" vendor-dir)
(or (zero?
(apply system* "gem" "install" gem-file
+ "--verbose"
"--local" "--ignore-dependencies" "--vendor"
;; Executables should go into /bin, not
;; /lib/ruby/gems.
@@ -163,7 +166,7 @@ GEM-FLAGS are passed to the 'gem' invokation, if present."
;; For gems with native extensions, several Makefile-related files
;; are created that contain timestamps or other elements making
;; them not reproducible. They are unnecessary so we remove them.
- (when (file-exists? (string-append vendor-dir "/ext"))
+ (when (file-exists? (string-append gem-dir "/ext"))
(for-each (lambda (file)
(log-file-deletion file)
(delete-file file))
@@ -172,7 +175,7 @@ GEM-FLAGS are passed to the 'gem' invokation, if present."
"page-Makefile.ri")
(find-files (string-append vendor-dir "/extensions")
"gem_make.out")
- (find-files (string-append vendor-dir "/ext")
+ (find-files (string-append gem-dir "/ext")
"Makefile"))))
#t))