[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: Merge remote-tracking branch 'origin/master' into core-updates
From: |
guix-commits |
Subject: |
01/01: Merge remote-tracking branch 'origin/master' into core-updates |
Date: |
Fri, 16 Apr 2021 07:51:46 -0400 (EDT) |
efraim pushed a commit to branch core-updates
in repository guix.
commit fcc39864dba82e14895afbe841091091366c96bc
Merge: 76fc36d 44f9432
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Fri Apr 16 14:39:48 2021 +0300
Merge remote-tracking branch 'origin/master' into core-updates
Conflicts:
gnu/local.mk
gnu/packages/boost.scm
gnu/packages/chez.scm
gnu/packages/compression.scm
gnu/packages/crates-io.scm
gnu/packages/docbook.scm
gnu/packages/engineering.scm
gnu/packages/gcc.scm
gnu/packages/gl.scm
gnu/packages/gtk.scm
gnu/packages/nettle.scm
gnu/packages/python-check.scm
gnu/packages/python-xyz.scm
gnu/packages/radio.scm
gnu/packages/rust.scm
gnu/packages/sqlite.scm
guix/build-system/node.scm
.guix-authorizations | 24 +-
Makefile.am | 1 +
build-aux/build-self.scm | 121 +-
doc/contributing.texi | 16 +-
doc/guix.texi | 499 +-
etc/committer.scm.in | 152 +-
etc/guix-install.sh | 9 +-
etc/news.scm | 94 +
gnu/bootloader/grub.scm | 2 +-
gnu/build/activation.scm | 13 +-
gnu/ci.scm | 62 +-
gnu/installer/steps.scm | 12 +-
gnu/local.mk | 28 +-
gnu/packages/acl.scm | 43 +-
gnu/packages/admin.scm | 99 +-
gnu/packages/aidc.scm | 21 +-
gnu/packages/algebra.scm | 6 +-
gnu/packages/antivirus.scm | 4 +-
gnu/packages/assembly.scm | 4 +-
gnu/packages/astronomy.scm | 18 +-
gnu/packages/audio.scm | 76 +-
gnu/packages/autotools.scm | 2 +-
.../aux-files/linux-libre/5.10-x86_64.conf | 2 +-
.../aux-files/linux-libre/5.11-x86_64.conf | 2 +-
gnu/packages/axoloti.scm | 13 +-
gnu/packages/base.scm | 8 +-
gnu/packages/bioconductor.scm | 446 +-
gnu/packages/bioinformatics.scm | 368 +-
gnu/packages/boost.scm | 26 +
gnu/packages/bootloaders.scm | 6 +-
gnu/packages/build-tools.scm | 44 +-
gnu/packages/c.scm | 4 +-
gnu/packages/calendar.scm | 2 +-
gnu/packages/ccache.scm | 30 +-
gnu/packages/certs.scm | 76 +-
gnu/packages/check.scm | 73 +-
gnu/packages/chez.scm | 261 +-
gnu/packages/chromium.scm | 8 +-
gnu/packages/ci.scm | 164 +-
gnu/packages/code.scm | 6 +-
gnu/packages/compression.scm | 5 +-
gnu/packages/cpp.scm | 210 +-
gnu/packages/cran.scm | 586 +-
gnu/packages/crates-graphics.scm | 3 +
gnu/packages/crates-io.scm | 233 +-
gnu/packages/cross-base.scm | 2 +-
gnu/packages/crypto.scm | 15 +-
gnu/packages/cryptsetup.scm | 6 +-
gnu/packages/cups.scm | 17 +-
gnu/packages/curl.scm | 15 +
gnu/packages/databases.scm | 47 +-
gnu/packages/debian.scm | 14 +-
gnu/packages/debug.scm | 11 +-
gnu/packages/diffoscope.scm | 4 +-
gnu/packages/disk.scm | 60 +-
gnu/packages/django.scm | 8 +-
gnu/packages/dns.scm | 28 +-
gnu/packages/docbook.scm | 13 +
gnu/packages/docker.scm | 86 +-
gnu/packages/ebook.scm | 137 +-
gnu/packages/education.scm | 11 -
gnu/packages/efi.scm | 4 +-
gnu/packages/emacs-xyz.scm | 480 +-
gnu/packages/emacs.scm | 6 +-
gnu/packages/embedded.scm | 47 +-
gnu/packages/emulators.scm | 10 +-
gnu/packages/engineering.scm | 468 +-
gnu/packages/fcitx5.scm | 6 +-
gnu/packages/file-systems.scm | 32 +-
gnu/packages/file.scm | 2 +
gnu/packages/finance.scm | 15 +-
gnu/packages/flashing-tools.scm | 49 +-
gnu/packages/fontutils.scm | 2 +-
gnu/packages/freedesktop.scm | 33 +-
gnu/packages/ftp.scm | 121 +-
gnu/packages/game-development.scm | 52 +-
gnu/packages/games.scm | 46 +-
gnu/packages/gcc.scm | 7 +-
gnu/packages/genealogy.scm | 6 +-
gnu/packages/geo.scm | 161 +-
gnu/packages/gimp.scm | 58 +-
gnu/packages/gl.scm | 36 +-
gnu/packages/glib.scm | 2 +-
gnu/packages/gnome-xyz.scm | 4 +-
gnu/packages/gnome.scm | 131 +-
gnu/packages/gnu-doc.scm | 8 +-
gnu/packages/gnuzilla.scm | 8 +-
gnu/packages/golang.scm | 25 +-
gnu/packages/gpodder.scm | 14 +-
gnu/packages/graphics.scm | 43 +-
gnu/packages/graphviz.scm | 52 +
gnu/packages/gstreamer.scm | 2 +-
gnu/packages/gtk.scm | 16 +-
gnu/packages/guile-xyz.scm | 119 +-
gnu/packages/guile.scm | 6 +-
gnu/packages/hardware.scm | 6 +-
gnu/packages/haskell-apps.scm | 4 +-
gnu/packages/haskell-web.scm | 2 +-
gnu/packages/image-processing.scm | 95 +-
gnu/packages/imagemagick.scm | 213 +-
gnu/packages/irc.scm | 8 +-
gnu/packages/jami.scm | 301 +-
gnu/packages/javascript.scm | 4 +-
gnu/packages/julia-xyz.scm | 766 +-
gnu/packages/jupyter.scm | 128 +-
gnu/packages/kde-pim.scm | 2 +-
gnu/packages/kde.scm | 5 +-
gnu/packages/language.scm | 4 +-
gnu/packages/libevent.scm | 16 +
gnu/packages/libffi.scm | 5 +-
gnu/packages/libreoffice.scm | 4 +-
gnu/packages/linphone.scm | 961 ++-
gnu/packages/linux.scm | 143 +-
gnu/packages/lisp-xyz.scm | 541 +-
gnu/packages/lisp.scm | 10 +-
gnu/packages/llvm.scm | 11 -
gnu/packages/logging.scm | 23 +-
gnu/packages/mail.scm | 143 +-
gnu/packages/man.scm | 47 +-
gnu/packages/maths.scm | 242 +-
gnu/packages/matrix.scm | 29 +-
gnu/packages/mes.scm | 5 +-
gnu/packages/messaging.scm | 223 +-
gnu/packages/monitoring.scm | 4 +-
gnu/packages/mp3.scm | 9 +-
gnu/packages/music.scm | 140 +-
gnu/packages/nettle.scm | 17 +-
gnu/packages/networking.scm | 197 +-
gnu/packages/node-xyz.scm | 32 +-
gnu/packages/node.scm | 508 +-
gnu/packages/ocaml.scm | 68 +-
gnu/packages/openstack.scm | 13 +-
gnu/packages/package-management.scm | 34 +-
gnu/packages/password-utils.scm | 31 -
.../patches/calibre-no-updates-dialog.patch | 22 +-
.../patches/calibre-remove-test-sqlite.patch | 21 +-
.../patches/calibre-remove-test-unrar.patch | 24 +-
.../chez-scheme-build-util-paths-backport.patch | 780 ++
.../patches/containerd-test-with-go1.13.patch | 21 -
.../patches/curl-7.76-use-ssl-cert-env.patch | 64 +
.../gimp-make-gegl-introspect-optional.patch | 43 +
.../patches/imagemagick-CVE-2020-27829.patch | 27 +
.../patches/imagemagick-ReadDCMImage-fix.patch | 26 +
.../patches/imagemagick-ReadDCMPixels-fix.patch | 35 +
.../imagemagick-WriteTHUMBNAILImage-fix.patch | 25 +
.../patches/libvirt-add-install-prefix.patch | 329 +
.../patches/linphone-desktop-without-sdk.patch | 235 +
gnu/packages/patches/linphoneqt-tabbutton.patch | 96 -
.../lksctp-tools-1.0.18-fix-header-file-name.patch | 32 +
.../patches/llhttp-bootstrap-CVE-2020-8287.patch | 100 +
gnu/packages/patches/mariadb-CVE-2021-27928.patch | 642 ++
gnu/packages/patches/mediastreamer2-srtp2.patch | 155 -
gnu/packages/patches/opendht-fix-jami.patch | 33 -
gnu/packages/patches/pidgin-vv-gst.patch | 48 -
gnu/packages/patches/pyqt-public-sip.patch | 55 -
gnu/packages/patches/qemu-build-info-manual.patch | 2 +-
gnu/packages/patches/qemu-glibc-2.30.patch | 57 +
gnu/packages/patches/racket-sh-via-rktio.patch | 87 +
gnu/packages/patches/runc-CVE-2019-5736.patch | 343 -
gnu/packages/patches/upx-CVE-2021-20285.patch | 76 +
.../vtk-fix-freetypetools-build-failure.patch | 14 +-
.../patches/wpa-supplicant-CVE-2021-30004.patch | 115 +
gnu/packages/pdf.scm | 13 +-
gnu/packages/perl-check.scm | 4 +-
gnu/packages/perl.scm | 33 +-
gnu/packages/photo.scm | 17 +-
gnu/packages/popt.scm | 2 +-
gnu/packages/pretty-print.scm | 13 -
gnu/packages/python-build.scm | 24 +-
gnu/packages/python-check.scm | 85 +-
gnu/packages/python-compression.scm | 150 +-
gnu/packages/python-web.scm | 134 +-
gnu/packages/python-xyz.scm | 918 ++-
gnu/packages/qt.scm | 388 +-
gnu/packages/radio.scm | 361 +-
gnu/packages/rdf.scm | 4 +-
gnu/packages/rsync.scm | 6 +-
gnu/packages/ruby.scm | 5 +-
gnu/packages/rust.scm | 4 +
gnu/packages/scheme.scm | 191 +-
gnu/packages/scsi.scm | 6 +-
gnu/packages/search.scm | 8 +-
gnu/packages/shells.scm | 654 +-
gnu/packages/speech.scm | 15 +-
gnu/packages/sphinx.scm | 24 +-
gnu/packages/ssh.scm | 93 +-
gnu/packages/statistics.scm | 35 +-
gnu/packages/syncthing.scm | 74 +-
gnu/packages/tcl.scm | 2 +-
gnu/packages/telegram.scm | 4 +-
gnu/packages/telephony.scm | 22 +-
gnu/packages/tex.scm | 277 +
gnu/packages/text-editors.scm | 11 +-
gnu/packages/time.scm | 9 +-
gnu/packages/tls.scm | 6 +-
gnu/packages/tmux.scm | 6 +-
gnu/packages/upnp.scm | 4 +-
gnu/packages/version-control.scm | 18 +-
gnu/packages/video.scm | 30 +-
gnu/packages/vim.scm | 10 +-
gnu/packages/virtualization.scm | 151 +-
gnu/packages/visidata.scm | 4 +-
gnu/packages/vpn.scm | 13 +-
gnu/packages/web-browsers.scm | 42 +-
gnu/packages/web.scm | 120 +-
gnu/packages/webkit.scm | 11 +-
gnu/packages/wm.scm | 108 +-
gnu/packages/xdisorg.scm | 8 +-
gnu/packages/xfce.scm | 27 +-
gnu/packages/xml.scm | 47 +-
gnu/services.scm | 27 +-
gnu/services/admin.scm | 4 +-
gnu/services/base.scm | 19 +-
gnu/services/ci.scm | 127 +
gnu/services/cuirass.scm | 2 +-
gnu/services/databases.scm | 4 +-
gnu/services/mail.scm | 2 +-
gnu/services/networking.scm | 141 +
gnu/services/sysctl.scm | 2 +
gnu/services/version-control.scm | 2 +-
gnu/services/web.scm | 35 +-
gnu/services/xorg.scm | 2 +
gnu/system/vm.scm | 20 +-
gnu/tests.scm | 26 +-
gnu/tests/base.scm | 4 -
gnu/tests/ci.scm | 128 +
gnu/tests/databases.scm | 2 +-
gnu/tests/docker.scm | 3 +-
gnu/tests/file-sharing.scm | 271 +
gnu/tests/guix.scm | 5 +-
gnu/tests/monitoring.scm | 7 +-
gnu/tests/networking.scm | 92 +-
gnu/tests/nfs.scm | 2 +-
gnu/tests/virtualization.scm | 11 +
gnu/tests/web.scm | 7 +-
guix/build-system/go.scm | 24 +-
guix/build-system/node.scm | 21 +-
guix/build/graft.scm | 281 +-
guix/build/julia-build-system.scm | 2 +-
guix/build/node-build-system.scm | 207 +-
guix/build/qt-build-system.scm | 68 +-
guix/channels.scm | 17 +-
guix/git.scm | 45 +-
guix/gnu-maintenance.scm | 91 +-
guix/http-client.scm | 109 +-
guix/import/go.scm | 465 +-
guix/import/print.scm | 11 +-
guix/import/utils.scm | 48 +-
guix/ipfs.scm | 183 +
guix/licenses.scm | 7 +
guix/lint.scm | 62 +-
guix/scripts/archive.scm | 4 +-
guix/scripts/build.scm | 2 +-
guix/scripts/copy.scm | 4 +-
guix/scripts/describe.scm | 10 +-
guix/scripts/discover.scm | 12 +-
guix/scripts/download.scm | 17 +-
guix/scripts/edit.scm | 10 +-
guix/scripts/import.scm | 3 +-
guix/scripts/import/cran.scm | 2 +
guix/scripts/import/go.scm | 75 +-
guix/scripts/publish.scm | 12 +-
guix/scripts/repl.scm | 11 +-
guix/scripts/search.scm | 9 +-
guix/scripts/show.scm | 10 +-
guix/scripts/substitute.scm | 200 +-
guix/scripts/system.scm | 2 +-
guix/status.scm | 23 +-
guix/upstream.scm | 15 +-
guix/utils.scm | 1 +
nix/libstore/build.cc | 4 +-
nix/libstore/local-store.cc | 12 +-
nix/local.mk | 2 +-
nix/nix-daemon/nix-daemon.cc | 9 -
nix/nix-daemon/shared.hh | 9 -
po/guix/LINGUAS | 1 +
po/guix/sk.po | 7845 ++++++++++++++++++++
tests/gnu-maintenance.scm | 19 +-
tests/go.scm | 139 +-
tests/grafts.scm | 83 +
tests/ipfs.scm | 55 +
tests/publish.scm | 4 +-
tests/substitute.scm | 4 +-
283 files changed, 23922 insertions(+), 6391 deletions(-)
diff --cc gnu/local.mk
index f9996e6,50b11a8..ae3beb6
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@@ -40,7 -40,7 +40,8 @@@
# Copyright © 2020 Malte Frank Gerdes <mate.f.gerdes@gmail.com>
# Copyright © 2020 Vinicius Monego <monego@posteo.net>
# Copyright © 2021 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
+# Copyright © 2021 Greg Hogan <code@greghogan.com>
+ # Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
#
# This file is part of GNU Guix.
#
@@@ -1078,7 -1084,29 +1081,8 @@@ dist_patch_DATA =
%D%/packages/patches/ghostscript-no-header-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
+ %D%/packages/patches/gimp-make-gegl-introspect-optional.patch \
%D%/packages/patches/glib-appinfo-watch.patch \
- %D%/packages/patches/glib-tests-timer.patch \
- %D%/packages/patches/glib-CVE-2021-27218.patch \
- %D%/packages/patches/glib-CVE-2021-27219-01.patch \
- %D%/packages/patches/glib-CVE-2021-27219-02.patch \
- %D%/packages/patches/glib-CVE-2021-27219-03.patch \
- %D%/packages/patches/glib-CVE-2021-27219-04.patch \
- %D%/packages/patches/glib-CVE-2021-27219-05.patch \
- %D%/packages/patches/glib-CVE-2021-27219-06.patch \
- %D%/packages/patches/glib-CVE-2021-27219-07.patch \
- %D%/packages/patches/glib-CVE-2021-27219-08.patch \
- %D%/packages/patches/glib-CVE-2021-27219-09.patch \
- %D%/packages/patches/glib-CVE-2021-27219-10.patch \
- %D%/packages/patches/glib-CVE-2021-27219-11.patch \
- %D%/packages/patches/glib-CVE-2021-27219-12.patch \
- %D%/packages/patches/glib-CVE-2021-27219-13.patch \
- %D%/packages/patches/glib-CVE-2021-27219-14.patch \
- %D%/packages/patches/glib-CVE-2021-27219-15.patch \
- %D%/packages/patches/glib-CVE-2021-27219-16.patch \
- %D%/packages/patches/glib-CVE-2021-27219-17.patch \
- %D%/packages/patches/glib-CVE-2021-27219-18.patch \
- %D%/packages/patches/glib-CVE-2021-28153.patch \
%D%/packages/patches/glibc-CVE-2018-11236.patch \
%D%/packages/patches/glibc-CVE-2018-11237.patch \
%D%/packages/patches/glibc-CVE-2019-7309.patch \
@@@ -1195,6 -1224,11 +1199,10 @@@
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
%D%/packages/patches/idris-disable-test.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \
+ %D%/packages/patches/imagemagick-CVE-2020-27829.patch \
+ %D%/packages/patches/imagemagick-ReadDCMImage-fix.patch \
+ %D%/packages/patches/imagemagick-ReadDCMPixels-fix.patch \
+ %D%/packages/patches/imagemagick-WriteTHUMBNAILImage-fix.patch \
- %D%/packages/patches/inetutils-hurd.patch \
%D%/packages/patches/inkscape-poppler-0.76.patch \
%D%/packages/patches/intel-xed-fix-nondeterminism.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \
@@@ -1362,9 -1402,9 +1373,8 @@@
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \
- %D%/packages/patches/mediastreamer2-srtp2.patch \
%D%/packages/patches/mesa-skip-tests.patch \
%D%/packages/patches/mescc-tools-boot.patch \
- %D%/packages/patches/meson-for-build-rpath.patch \
%D%/packages/patches/metabat-fix-compilation.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/mingw-w64-6.0.0-gcc.patch \
@@@ -1610,7 -1648,11 +1619,6 @@@
%D%/packages/patches/rnp-disable-ruby-rnp-tests.patch \
%D%/packages/patches/rnp-unbundle-googletest.patch \
%D%/packages/patches/ruby-sanitize-system-libxml.patch \
- %D%/packages/patches/runc-CVE-2019-5736.patch \
- %D%/packages/patches/rust-1.19-mrustc.patch \
- %D%/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch \
- %D%/packages/patches/rust-1.45-linker-locale.patch \
- %D%/packages/patches/rust-1.48-linker-locale.patch \
- %D%/packages/patches/rust-bootstrap-stage0-test.patch \
%D%/packages/patches/rust-coresimd-doctest.patch \
%D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \
%D%/packages/patches/rust-nettle-disable-vendor.patch \
diff --cc gnu/packages/boost.scm
index bc0e95b,a59bb01..33f05cf
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@@ -14,8 -14,7 +14,9 @@@
;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
+ ;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr>
;;;
;;; This file is part of GNU Guix.
;;;
diff --cc gnu/packages/build-tools.scm
index b47a790,87f393c..9a18b77
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@@ -324,8 -325,19 +324,8 @@@ resembles Python."
version ".tar.gz"))
(sha256
(base32
- "19n8alcpzv6npgp27iqljkmvdmr7s2c7zm8y997j1nlvpa1cgqbj"))))))
+ "1iac7p99zfgkznq4qlnkk7b8xwwlilcrnkf33sczm56yqnqyg0rs"))))))
-(define-public meson-for-build
- (package
- (inherit meson)
- (name "meson-for-build")
- (source (origin
- (inherit (package-source meson))
- (patches (search-patches "meson-for-build-rpath.patch"))))
-
- ;; People should probably install "meson", not "meson-for-build".
- (properties `((hidden? . #t)))))
-
(define-public premake4
(package
(name "premake")
diff --cc gnu/packages/crates-io.scm
index ae169b8,9d97816..4d3a7d5
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@@ -12,9 -12,8 +12,9 @@@
;;; Copyright © 2020 André Batista <nandre@riseup.net>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 aecepoglu <aecepoglu@fastmail.fm>
- ;;; Copyright @ 2021 Zheng Junjie <873216071@qq.com>
+ ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;;
;;; This file is part of GNU Guix.
@@@ -22328,25 -22369,15 +22370,15 @@@ image together with its neighboring pix
("rust-dtoa" ,rust-dtoa-0.4)
("rust-encoding" ,rust-encoding-0.2)
("rust-flate2" ,rust-flate2-1)
- ("rust-image" ,rust-image-0.23)
+ ("rust-image" ,rust-image-0.20)
("rust-itoa" ,rust-itoa-0.4)
- ("rust-linked-hash-map" ,rust-linked-hash-map-0.4)
+ ("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
("rust-log" ,rust-log-0.4)
("rust-lzw" ,rust-lzw-0.10)
- ("rust-nom" ,rust-nom-5)
+ ("rust-nom" ,rust-nom-6)
("rust-pom" ,rust-pom-3)
("rust-rayon" ,rust-rayon-1)
- ("rust-time" ,rust-time-0.2))
- #:phases (modify-phases %standard-phases
- (add-before 'check 'disable-problematic-tests
- (lambda _
- ;; This tests depends on the test_1_create.pdf file
- ;; having created by create_document, but the file does
- ;; not always exist at the time the test run (see:
- ;; https://github.com/J-F-Liu/lopdf/issues/137).
- (substitute* "src/parser_aux.rs"
- (("fn load_and_save" all)
- (string-append "#[ignore] " all))))))))
+ ("rust-time" ,rust-time-0.2))))
(home-page "https://github.com/J-F-Liu/lopdf")
(synopsis "Rust library for PDF document manipulation")
(description
diff --cc gnu/packages/curl.scm
index 17bee2e,94dc51c..3e8ad93
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@@ -60,8 -60,9 +60,9 @@@
version ".tar.xz"))
(sha256
(base32
- "12w7gskrglg6qrmp822j37fmbr0icrcxv7rib1fy5xiw80n5z7cr"))
+ "1j2g04m6als6hmqzvddv84c31m0x90bfgyz3bjrwdkarbkby40k3"))
(patches (search-patches "curl-use-ssl-cert-env.patch"))))
+ (replacement curl/fixed)
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;1.2 MiB of man3 pages
@@@ -142,9 -143,29 +143,23 @@@ tunneling, and so on."
"See COPYING in the distribution."))
(home-page "https://curl.haxx.se/")))
-;; This package exists mainly to bootstrap CMake. It must not depend on
-;; anything that uses cmake-build-system.
(define-public curl-minimal
- (hidden-package
- (package/inherit
- curl
- (name "curl-minimal")
- (inputs (alist-delete "openldap" (package-inputs curl))))))
+ (deprecated-package "curl-minimal" curl))
+ (define-public curl/fixed
+ (package
+ (inherit curl)
+ (version "7.76.0")
+ (source
+ (origin
+ (inherit (package-source curl))
+ (uri (string-append "https://curl.haxx.se/download/curl-"
+ version ".tar.xz"))
+ (patches (search-patches "curl-7.76-use-ssl-cert-env.patch"))
+ (sha256
+ (base32
+ "1j2g04m6als6hmqzvddv84c31m0x90bfgyz3bjrwdkarbkby40k3"))))))
+
(define-public kurly
(package
(name "kurly")
diff --cc gnu/packages/docbook.scm
index acc17f0,e348fb1..3fd1930
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@@ -35,7 -34,7 +36,8 @@@
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module ((guix build utils) #:select (alist-replace))
+ #:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix build-system python))
@@@ -469,87 -463,13 +471,98 @@@ DB2LaTeX."
;; lib/contrib/which is under an X11 license
(license gpl2+)))
+ ;; This is a variant of the 'dblatex' package that is not updated often. It
+ ;; is intended to be used as a native-input at build-time only, e.g. by
+ ;; 'gtk-doc' for generating package documentation. This allows the main
+ ;; 'dblatex' and 'imagemagick' packages to be freely updated on the 'master'
+ ;; branch without triggering an excessive number of rebuilds.
+ (define-public dblatex/stable
+ (hidden-package
+ (package/inherit dblatex
+ (inputs (alist-replace "imagemagick" `(,imagemagick/stable)
+ (package-inputs dblatex))))))
++
+(define-public docbook-utils
+ (package
+ (name "docbook-utils")
+ (version "0.6.14")
+ (source (origin
+ (method url-fetch)
+ ;; The original sources are not accessible anymore.
+ (uri (string-append "http://deb.debian.org/debian/pool/main/"
+ "d/docbook-utils/docbook-utils_"
+ version ".orig.tar.gz"))
+ (sha256
+ (base32
+ "1scj5vgw1xz872pq54a89blcxqqm11p90yzv8a9mqq57x27apyj8"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'patch-build-system
+ (lambda _
+ (substitute* (find-files "." "\\.in$")
+ ;; Do not hard-code SGML_CATALOG_FILES.
+ ((".*SGML_CATALOG_FILES=/etc/sgml/catalog.*") "")
+ ;; Use OpenSP and OpenJade.
+ (("\\bjade\\b")
+ "openjade")
+ (("\\bnsgmls\\b")
+ "onsgmls"))
+ #t))
+ (add-after 'unpack 'patch-jw.in
+ ;; Do not override the SGML_CATALOG_FILES environment
+ ;; variable.
+ (lambda _
+ (substitute* "bin/jw.in"
+ ((".*SGML_CATALOG_FILES=`find.*")
+ "")
+ (("SGML_CATALOG_FILES=`echo.*")
+ ":\n")
+ (("SGML_CATALOG_FILES=\"\"")
+ ":")
+ (("\\bwhich\\b")
+ "command -v"))
+ #t))
+ (add-after 'unpack 'patch-txt-backend
+ (lambda _
+ ;; Locate lynx, links or w3m from the PATH, not from
+ ;; /usr/bin.
+ (substitute* "backends/txt"
+ (("CONVERT=/usr/bin/")
+ "CONVERT=")
+ (("\\[ -x /usr/bin/([^ ]+) \\]" dummy command)
+ (string-append "command -v " command " >
/dev/null")))
+ #t)))))
+ ;; Propagated for convenience. All these tools are used at run time to
+ ;; provide the complete functionality of the docbook-utils commands.
+ (propagated-inputs
+ `(("texlive-jadetex" ,texlive-jadetex)
+ ("docbook-sgml" ,docbook-sgml-3.1)
+ ("docbook-dsssl" ,docbook-dsssl)
+ ("openjade" ,openjade)
+ ("opensp" ,opensp)
+ ("lynx" ,lynx)
+ ("perl-sgmls" ,perl-sgmls)))
+ (home-page "https://packages.debian.org/sid/docbook-utils")
+ (synopsis "DocBook converter to other formats")
+ (description "The docbook-utils package is a collection of utilities
+intended to ease the use of SGML and XML.
+@table @command
+@item jw
+Convert a SGML DocBook file to other formats such as Hyper Text Markup
+Language (HTML), Rich Text Format (RTF), PostScript (PS), man, Portable
+Document Format (PDF), TeX, Texinfo or plain text (txt). It can be used
+more conveniently via the following wrappers:
+@itemx docbook2dvi Convert a SGML DocBook file to the DVI format.
+@itemx docbook2html Convert a SGML DocBook file to an HTML document.
+@itemx docbook2man Convert a SGML DocBook file a man page.
+@itemx docbook2pdf Convert a SGML DocBook file to a PDF document.
+@itemx docbook2ps Convert a SGML DocBook file to a PS document.
+@itemx docbook2rtf Convert a SGML DocBook file to a RTF document.
+@itemx docbook2tex Convert a SGML DocBook file to a TeX document.
+@itemx docbook2texi Convert a SGML DocBook file to a Texinfo document.
+@itemx docbook2txt Convert a SGML DocBook file to a plain text document.
+@item sgmldiff
+Detect the differences in markup between two SGML files.
+@end table")
+ (license gpl2+)))
diff --cc gnu/packages/gcc.scm
index e9f5889,a412c93..9dff1a1
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@@ -583,9 -595,8 +583,8 @@@ It also includes runtime support librar
"gcc-5.0-libvtv-runpath.patch"))))))
;; Note: When changing the default gcc version, update
- ;; the gcc-toolchain-* definitions and the gfortran definition
- ;; accordingly.
+ ;; the gcc-toolchain-* definitions.
-(define-public gcc gcc-7)
+(define-public gcc gcc-8)
(define-public (make-libstdc++ gcc)
"Return a libstdc++ package based on GCC. The primary use case is when
diff --cc gnu/packages/gl.scm
index c194d26,7b5a0b4..9243407
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@@ -307,14 -308,14 +309,14 @@@ also known as DXTn or DXTC) for Mesa."
;; "-Dopencl=true"
;; "-Domx=true"
"-Dosmesa=gallium"
- "-Dgallium-xa=true"
+ "-Dgallium-xa=enabled"
;; features required by wayland
- "-Dgles2=true"
- "-Dgbm=true"
- "-Dshared-glapi=true"
+ "-Dgles2=enabled"
+ "-Dgbm=enabled"
+ "-Dshared-glapi=enabled"
- ;; Enable Vulkan on i686-linux and x86-64-linux.
+ ;; Explicitly enable Vulkan on some architectures.
,@(match (%current-system)
((or "i686-linux" "x86_64-linux")
'("-Dvulkan-drivers=intel,amd"))
@@@ -336,7 -339,10 +340,10 @@@
,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
'("-Ddri-drivers=i915,i965,nouveau,r200,r100"
- "-Dllvm=true")) ; default is x86/x86_64 only
+ "-Dllvm=enabled")) ; default is x86/x86_64 only
+ ("powerpc64le-linux"
+ '("-Ddri-drivers=nouveau,r200,r100"
- "-Dllvm=true"))
++ "-Dllvm=enabled"))
(_
'("-Ddri-drivers=nouveau,r200,r100"))))
diff --cc gnu/packages/gnuzilla.scm
index b9d2de2,f2de477..e7c9b90
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@@ -1598,9 -1598,9 +1598,9 @@@ standards of the IceCat project."
(file-name (string-append "thunderbird-" version "-checkout"))
(sha256
(base32
- "19h1s9qcxzcvbd1m07xajk5lhpikj53k5fp3nwvl38xj7a3s0gxw")))))
+ "0qgz9qj8gbn2ccmhvk3259ahs9p435ipvkzsysn3xj8a6klbz02w")))))
("autoconf" ,autoconf-2.13)
- ("cargo" ,rust-1.41 "cargo")
+ ("cargo" ,rust "cargo")
("clang" ,clang)
("llvm" ,llvm)
("nasm" ,nasm)
diff --cc gnu/packages/gtk.scm
index 517264d,bffc9e0..9f3aea4
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@@ -2054,31 -1819,28 +2055,42 @@@ information."
("dblatex" ,dblatex)
("docbook-xml" ,docbook-xml-4.3)
("docbook-xsl" ,docbook-xsl)
- ("source-highlight" ,source-highlight)
("glib" ,glib)
- ("python-six" ,python-six)))
- (home-page "https://www.gtk.org/gtk-doc/")
- (synopsis "Documentation generator from C source code")
- (description
- "GTK-Doc generates API documentation from comments added to C code. It
is
-typically used to document the public API of GTK+ and GNOME libraries, but it
-can also be used to document application code.")
- (license license:gpl2+)))
+ ("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)
+ ("python" ,python)
+ ("python-anytree" ,python-anytree)
+ ("python-lxml" ,python-lxml)
+ ("python-parameterized" ,python-parameterized)
+ ("python-pygments" ,python-pygments)
+ ("python-unittest2" ,python-unittest2)
+ ("source-highlight" ,source-highlight)
+ ("yelp-tools" ,yelp-tools)))
+ (home-page "https://wiki.gnome.org/DocumentationProject/GtkDoc")
+ (synopsis "GTK+ DocBook Documentation Generator")
+ (description "GtkDoc is a tool used to extract API documentation from
C-code
+like Doxygen, but handles documentation of GObject (including signals and
+properties) that makes it very suitable for GTK+ apps and libraries. It uses
+docbook for intermediate files and can produce html by default and
pdf/man-pages
+with some extra work.")
+ (license
+ (list
+ ;; Docs.
+ license:fdl1.1+
+ ;; Others.
+ license:gpl2+))))
+ ;; This is a variant of the 'gtk-doc' package that is not updated often. It
+ ;; is intended to be used as a native-input at build-time only. This allows
+ ;; the main 'gtk-doc', 'dblatex' and 'imagemagick' packages to be freely
+ ;; updated on the 'master' branch without triggering an excessive number of
+ ;; rebuilds.
+ (define-public gtk-doc/stable
+ (hidden-package
+ (package/inherit gtk-doc
+ (inputs (alist-replace "dblatex" `(,dblatex/stable)
+ (package-inputs gtk-doc))))))
+
(define-public gtk-engines
(package
(name "gtk-engines")
diff --cc gnu/packages/libffi.scm
index 7226369,d62a158..b0a66c1
--- a/gnu/packages/libffi.scm
+++ b/gnu/packages/libffi.scm
@@@ -1,8 -1,8 +1,8 @@@
;;; GNU Guix --- Functional package management for GNU
- ;;; Copyright © 2012, 2013, 2014, 2020 Ludovic Courtès <ludo@gnu.org>
+ ;;; Copyright © 2012, 2013, 2014, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015, 2019 Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
-;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017, 2019, 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
diff --cc gnu/packages/mail.scm
index c538d77,c8f29b8..35584c4
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@@ -40,8 -40,8 +40,9 @@@
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2020 divoplade <d@divoplade.fr>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
+ ;;; Copyright © 2021 Benoit Joly <benoit@benoitj.ca>
;;;
;;; This file is part of GNU Guix.
;;;
diff --cc gnu/packages/nettle.scm
index 838ead7,753e2d6..7088e1d
--- a/gnu/packages/nettle.scm
+++ b/gnu/packages/nettle.scm
@@@ -1,7 -1,8 +1,8 @@@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
+ ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
diff --cc gnu/packages/python-check.scm
index f7342c6,b68f23a..da6d088
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@@ -1180,61 -1219,28 +1216,83 @@@ any Python VM with basically no runtim
;; mypyc/lib-rt/getargs.c
(license (list license:expat license:psfl))))
+;;; This variant exists to break a cycle between python-pylama and
python-isort.
+(define-public python-mypy-minimal
+ (hidden-package
+ (package
+ (inherit python-mypy)
+ (name "python-mypy-minimal")
+ (arguments
+ `(#:tests? #f
+ #:phases (modify-phases %standard-phases
+ ;; XXX: Fails with: "In procedure utime: No such file or
+ ;; directory".
+ (delete 'ensure-no-mtimes-pre-1980))))
+ (native-inputs '()))))
+
+(define-public python-pylama
+ (package
+ (name "python-pylama")
+ (version "7.7.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pylama" version))
+ (sha256
+ (base32
+ "13vx7daqz2918y9s8q3v2i3xaq3ah43a9p58srqi6hqskkpm7blv"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ ;; Fails with: "ImportError: cannot import name
+ ;; 'commented_out_code_line_numbers' from 'eradicate'".
+ (delete-file "pylama/lint/pylama_eradicate.py")
+ ;; Requires python-astroid, which fails to build on
+ ;; Python 3.9+ (see:
+ ;; https://github.com/PyCQA/astroid/issues/881).
+ (delete-file "pylama/lint/pylama_pylint.py"))))))
+ (native-inputs
+ `(("python-py" ,python-py)
+ ("python-pytest" ,python-pytest)
+ ("python-radon" ,python-radon)))
+ (propagated-inputs
+ `(("python-mccabe" ,python-mccabe)
+ ("python-mypy", python-mypy-minimal)
+ ("python-pycodestyle" ,python-pycodestyle)
+ ("python-pydocstyle" ,python-pydocstyle)
+ ("python-pyflakes" ,python-pyflakes)))
+ (home-page "https://github.com/klen/pylama")
+ (synopsis "Code audit tool for python")
+ (description "Pylama is a code audit tool for Python and JavaScript to
check
+for style, syntax and other code health metrics. It is essentially a
+convenient wrapper above tools such as Pyflakes, pydocstyle, pycodestyle and
+McCabe, among others.")
+ (license license:lgpl3+)))
+
+ (define-public python-pyannotate
+ (package
+ (name "python-pyannotate")
+ (version "1.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyannotate" version))
+ (sha256
+ (base32
+ "16bm0mf7wxvy0lgmcs1p8n1ji8pnvj1jvj8zk3am70dkp825iv84"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-mypy-extensions" ,python-mypy-extensions)
+ ("python-six" ,python-six)))
+ (home-page
+ "https://github.com/dropbox/pyannotate")
+ (synopsis "Auto-generate PEP-484 annotations")
+ (description "This package, PyAnnotate, is used to auto-generate PEP-484
+ annotations.")
+ (license license:asl2.0)))
+
(define-public python-eradicate
(package
(name "python-eradicate")
diff --cc gnu/packages/python-xyz.scm
index 92ac335,5a42205..9da8e47
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@@ -8521,11 -8656,11 +8607,11 @@@ PEP 8."
(method url-fetch)
(uri (pypi-uri "pyflakes" version))
(sha256
-- (base32
- "1j3zqbiwkyicvww499bblq33x0bjpzdrxajhaysr7sk7x5gdgcim"))
- "1ny10364ciqh4ripasj4zzv4145l21l3s85m3qlrvfq5pk58xg7m"))))
++ (base32
++ "1ny10364ciqh4ripasj4zzv4145l21l3s85m3qlrvfq5pk58xg7m"))
+ (patches (search-patches "python-pyflakes-fix-tests.patch"))))
(build-system python-build-system)
- (home-page
- "https://github.com/pyflakes/pyflakes")
+ (home-page "https://github.com/PyCQA/pyflakes")
(synopsis "Passive checker of Python programs")
(description
"Pyflakes statically checks Python source code for common errors.")
diff --cc gnu/packages/radio.scm
index ff694ce,e6d5ef0..36472fe
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@@ -311,11 -361,10 +361,10 @@@ used by RDS Spy, and audio files contai
("python-pyzmq" ,python-pyzmq)
("python-scipy" ,python-scipy)
("python-sphinx" ,python-sphinx)
- ("swig" ,swig)
- ("texlive" ,(texlive-union (list texlive-amsfonts
- texlive-latex-amsmath
- ;; TODO: Add newunicodechar.
- texlive-latex-graphics)))
+ ("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts
- texlive-latex-amsmath
- ;; TODO: Add newunicodechar.
- texlive-latex-graphics)))
++ texlive-latex-amsmath
++ ;; TODO: Add newunicodechar.
++ texlive-latex-graphics)))
("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("alsa-lib" ,alsa-lib)
diff --cc gnu/packages/rust.scm
index d7bf149,3952a17..1623710
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@@ -810,45 -1445,24 +810,49 @@@ safety and thread safety guarantees."
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash")))
(substitute* "library/std/src/process/tests.rs"
- (("\"/bin/sh\"") (string-append "\"" bash "/bin/sh\"")))
+ (("\"/bin/sh\"")
+ (string-append "\"" bash "/bin/sh\"")))
(substitute*
"library/std/src/sys/unix/process/process_common/tests.rs"
- (("fn test_process_mask") "#[allow(unused_attributes)]
+ (("fn test_process_mask")
+ "#[allow(unused_attributes)]
#[ignore]
- fn test_process_mask"))
- #t))))))))))
-
-(define-public rust-1.49
- (rust-bootstrapped-package rust-1.48 "1.49.0"
- "0yf7kll517398dgqsr7m3gldzj0iwsp3ggzxrayckpqzvylfy2mm"))
+ fn test_process_mask")))))
+ (add-after 'unpack 'disable-interrupt-tests
+ (lambda _
+ ;; This test hangs in the build container; disable it.
+ (substitute* (match (find-files "." "^freshness.rs$")
+ ((file) file))
+ (("fn linking_interrupted")
+ "#[ignore]\nfn linking_interrupted"))
+ ;; Likewise for the ctrl_c_kills_everyone test.
+ (substitute* (match (find-files "." "^death.rs$")
+ ((file) file))
+ (("fn ctrl_c_kills_everyone")
+ "#[ignore]\nfn ctrl_c_kills_everyone"))))
+ (add-after 'configure 'enable-docs
+ (lambda _
+ (substitute* "config.toml"
+ (("docs = false")
+ "docs = true"))))
+ (add-after 'configure 'add-gdb-to-config
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((gdb (assoc-ref inputs "gdb")))
+ (substitute* "config.toml"
+ (("^python =.*" all)
+ (string-append all
+ "gdb = \"" gdb "/bin/gdb\"\n"))))))))))
+ ;; Add test inputs.
+ (native-inputs (cons*
+ ;; The tests fail when using GDB 10 (see:
+ ;; https://github.com/rust-lang/rust/issues/79009).
+ `("gdb" ,gdb-9.2)
+ `("procps" ,procps)
+ (package-native-inputs base-rust))))))
(define-public rust-1.50
- (rust-bootstrapped-package rust-1.49 "1.50.0"
+ (rust-bootstrapped-package rust "1.50.0"
"0pjs7j62maiyvkmhp9zrxl528g2n0fphp4rq6ap7aqdv0a6qz5wm"))
+
+ (define-public rust-1.51
+ (rust-bootstrapped-package rust-1.50 "1.51.0"
+ "0ixqkqglv3isxbvl4ldr4byrkx692wghsz3fasy1pn5kr2prnsvs"))
-
-;; TODO(staging): Bump this variable to the latest packaged rust.
-(define-public rust rust-1.45)
diff --cc gnu/packages/wm.scm
index 3aec945,f92b8f4..4c32d85
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@@ -1591,10 -1591,11 +1592,10 @@@ modules for building a Wayland composit
("libmpdclent" ,libmpdclient)
("libnl" ,libnl)
("pulseaudio" ,pulseaudio)
- ("spdlog" ,spdlog-1.7)
+ ("spdlog" ,spdlog)
("wayland" ,wayland)))
(native-inputs
- `(("gcc" ,gcc-8) ; for #include <filesystem>
- ("glib:bin" ,glib "bin")
+ `(("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)
("scdoc" ,scdoc)
("wayland-protocols" ,wayland-protocols)))
diff --cc guix/build-system/node.scm
index 73a6f15,98f63f8..ae799d1
--- a/guix/build-system/node.scm
+++ b/guix/build-system/node.scm
@@@ -1,6 -1,6 +1,7 @@@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
+ ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
+;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@@ -18,11 -18,9 +19,10 @@@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix build-system node)
- #:use-module (guix store)
#:use-module (guix utils)
#:use-module (guix packages)
- #:use-module (guix derivations)
+ #:use-module (guix gexp)
+ #:use-module (guix monads)
#:use-module (guix search-paths)
#:use-module (guix build-system)
#:use-module (guix build-system gnu)
@@@ -76,12 -67,12 +69,13 @@@
(build node-build)
(arguments (strip-keyword-arguments private-keywords arguments)))))
-(define* (node-build store name inputs
+(define* (node-build name inputs
#:key
+ source
+ (npm-flags ''())
+ (test-target "test")
(tests? #t)
- (phases '(@ (guix build node-build-system)
- %standard-phases))
+ (phases '%standard-phases)
(outputs '("out"))
(search-paths '())
(system (%current-system))
@@@ -91,28 -82,38 +85,27 @@@
(guix build utils))))
"Build SOURCE using NODE and INPUTS."
(define builder
- `(begin
- (use-modules ,@modules)
- (node-build #:name ,name
- #:source ,(match (assoc-ref inputs "source")
- (((? derivation? source))
- (derivation->output-path source))
- ((source) source)
- (source source))
- #:system ,system
- #:test-target ,test-target
- #:tests? ,tests?
- #:phases ,phases
- #:outputs %outputs
- #:search-paths ',(map search-path-specification->sexp
- search-paths)
- #:inputs %build-inputs)))
+ (with-imported-modules imported-modules
+ #~(begin
+ (use-modules #$@(sexp->gexp modules))
+ (node-build #:name #$name
+ #:source #+source
+ #:system #$system
+ #:npm-flags #$npm-flags
++ #:test-target #$test-target
+ #:tests? #$tests?
+ #:phases #$phases
+ #:outputs #$(outputs->gexp outputs)
+ #:search-paths '#$(sexp->gexp
+ (map search-path-specification->sexp
+ search-paths))
+ #:inputs #$(input-tuples->gexp inputs)))))
- (define guile-for-build
- (match guile
- ((? package?)
- (package-derivation store guile system #:graft? #f))
- (#f
- (let* ((distro (resolve-interface '(gnu packages commencement)))
- (guile (module-ref distro 'guile-final)))
- (package-derivation store guile system #:graft? #f)))))
-
- (build-expression->derivation store name builder
- #:inputs inputs
- #:system system
- #:modules imported-modules
- #:outputs outputs
- #:guile-for-build guile-for-build))
+ (mlet %store-monad ((guile (package->derivation (or guile (default-guile))
+ system #:graft? #f)))
+ (gexp->derivation name builder
+ #:system system
+ #:guile-for-build guile)))
(define node-build-system
(build-system