[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/04: Merge branch 'master' into core-updates-frozen
From: |
guix-commits |
Subject: |
01/04: Merge branch 'master' into core-updates-frozen |
Date: |
Wed, 17 Nov 2021 18:01:23 -0500 (EST) |
civodul pushed a commit to branch core-updates-frozen
in repository guix.
commit 3a317f7476f8c6012e166ff9f340f861938721c9
Merge: e55547b 62e707d
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Wed Nov 17 23:24:42 2021 +0100
Merge branch 'master' into core-updates-frozen
config-daemon.ac | 11 -
doc/guix.texi | 88 +-
doc/local.mk | 3 +-
gnu/build/bootloader.scm | 1 +
gnu/home/services.scm | 21 +-
gnu/home/services/shells.scm | 8 +-
gnu/home/services/utils.scm | 2 +-
gnu/home/services/xdg.scm | 2 +-
gnu/image.scm | 3 +
gnu/local.mk | 22 +-
gnu/packages/admin.scm | 10 +-
gnu/packages/adns.scm | 22 +
gnu/packages/astronomy.scm | 114 +-
gnu/packages/audio.scm | 13 +-
gnu/packages/backup.scm | 61 +-
gnu/packages/benchmark.scm | 3 -
gnu/packages/bioconductor.scm | 2 +-
gnu/packages/bioinformatics.scm | 232 ++-
gnu/packages/boost.scm | 7 +
gnu/packages/bootloaders.scm | 6 +-
gnu/packages/build-tools.scm | 4 +-
gnu/packages/c.scm | 108 +-
gnu/packages/ci.scm | 6 +-
gnu/packages/cpp.scm | 42 +-
gnu/packages/crates-io.scm | 2038 +++++++++++++++++++-
gnu/packages/crypto.scm | 83 +
gnu/packages/cups.scm | 3 -
gnu/packages/databases.scm | 14 +-
gnu/packages/debian.scm | 15 +-
gnu/packages/diffoscope.scm | 4 +-
gnu/packages/django.scm | 4 -
gnu/packages/dunst.scm | 5 +-
gnu/packages/emacs-xyz.scm | 239 ++-
gnu/packages/engineering.scm | 3 -
gnu/packages/enlightenment.scm | 7 +-
gnu/packages/fcitx5.scm | 16 +-
gnu/packages/finance.scm | 35 +-
gnu/packages/firmware.scm | 8 -
gnu/packages/fonts.scm | 6 -
gnu/packages/game-development.scm | 6 -
gnu/packages/games.scm | 16 +-
gnu/packages/genimage.scm | 8 +-
gnu/packages/geo.scm | 37 +
gnu/packages/gnome-xyz.scm | 3 -
gnu/packages/gnupg.scm | 7 +-
gnu/packages/gstreamer.scm | 7 -
gnu/packages/gtk.scm | 9 -
gnu/packages/guile-xyz.scm | 90 +-
gnu/packages/guile.scm | 44 -
gnu/packages/haskell-apps.scm | 3 -
gnu/packages/haskell-check.scm | 2 +-
gnu/packages/image-viewers.scm | 57 +
gnu/packages/image.scm | 16 +-
gnu/packages/julia-jll.scm | 177 +-
gnu/packages/julia-xyz.scm | 73 +-
gnu/packages/julia.scm | 13 +-
gnu/packages/kodi.scm | 3 +-
gnu/packages/libevent.scm | 4 +-
gnu/packages/linux.scm | 35 +-
gnu/packages/lisp-check.scm | 47 +-
gnu/packages/lisp-xyz.scm | 600 +++++-
gnu/packages/llvm.scm | 1 +
gnu/packages/logging.scm | 4 +-
gnu/packages/lua.scm | 29 +-
gnu/packages/machine-learning.scm | 4 +-
gnu/packages/mail.scm | 87 +-
gnu/packages/maths.scm | 25 +
gnu/packages/messaging.scm | 132 +-
gnu/packages/monitoring.scm | 3 -
gnu/packages/mpd.scm | 12 +-
gnu/packages/music.scm | 33 +
gnu/packages/networking.scm | 13 +-
gnu/packages/node.scm | 20 +-
gnu/packages/ocaml.scm | 70 +-
gnu/packages/package-management.scm | 18 +-
gnu/packages/patches/aws-c-auth-cmake-prefix.patch | 13 -
.../aws-c-auth-disable-networking-tests.patch | 64 -
.../aws-c-auth-install-private-headers.patch | 19 +
gnu/packages/patches/aws-c-cal-cmake-prefix.patch | 13 -
.../patches/aws-c-compression-cmake-prefix.patch | 13 -
.../patches/aws-c-event-stream-cmake-prefix.patch | 13 -
gnu/packages/patches/aws-c-http-cmake-prefix.patch | 13 -
.../aws-c-http-disable-networking-tests.patch | 48 -
gnu/packages/patches/aws-c-io-cmake-prefix.patch | 13 -
.../aws-c-io-disable-networking-tests.patch | 103 -
gnu/packages/patches/aws-c-mqtt-cmake-prefix.patch | 13 -
gnu/packages/patches/aws-c-s3-cmake-prefix.patch | 13 -
.../aws-c-s3-disable-networking-tests.patch | 153 --
.../patches/aws-checksums-cmake-prefix.patch | 13 -
.../patches/aws-crt-cpp-cmake-prefix.patch | 13 -
.../aws-crt-cpp-disable-networking-tests.patch | 47 -
.../patches/aws-sdk-cpp-cmake-prefix.patch | 18 -
.../aws-sdk-cpp-disable-networking-tests.patch | 44 -
.../patches/aws-sdk-cpp-disable-werror.patch | 11 -
.../patches/bear-disable-preinstall-tests.patch | 24 +-
gnu/packages/patches/genimage-mke2fs-test.patch | 40 +
gnu/packages/patches/genimage-signedness.patch | 24 -
.../patches/python-pytorch-system-libraries.patch | 164 +-
.../patches/rust-adblock-ignore-live-tests.patch | 69 +
gnu/packages/pdf.scm | 22 +-
gnu/packages/pep.scm | 2 +-
gnu/packages/phabricator.scm | 3 -
gnu/packages/plotutils.scm | 3 -
gnu/packages/pretty-print.scm | 15 +-
gnu/packages/python-build.scm | 4 +-
gnu/packages/python-check.scm | 35 +-
gnu/packages/python-science.scm | 15 +-
gnu/packages/python-web.scm | 56 +-
gnu/packages/python-xyz.scm | 373 +++-
gnu/packages/samba.scm | 4 +-
gnu/packages/scanner.scm | 2 +-
gnu/packages/search.scm | 4 +-
gnu/packages/shells.scm | 3 -
gnu/packages/shellutils.scm | 29 +
gnu/packages/sqlite.scm | 7 +-
gnu/packages/ssh.scm | 3 -
gnu/packages/task-management.scm | 4 +-
gnu/packages/terminals.scm | 63 +-
gnu/packages/tex.scm | 118 ++
gnu/packages/tls.scm | 62 +-
gnu/packages/version-control.scm | 66 +-
gnu/packages/video.scm | 16 +-
gnu/packages/virtualization.scm | 7 +-
gnu/packages/vlang.scm | 4 -
gnu/packages/vpn.scm | 3 -
gnu/packages/web-browsers.scm | 19 +-
gnu/packages/web.scm | 17 +-
gnu/packages/wm.scm | 5 +-
gnu/packages/xdisorg.scm | 8 +-
gnu/packages/xml.scm | 4 +-
gnu/packages/xorg.scm | 3 -
gnu/services/cups.scm | 4 +-
gnu/services/ssh.scm | 11 +-
gnu/services/virtualization.scm | 48 +-
gnu/services/web.scm | 10 +-
gnu/system/image.scm | 61 +-
gnu/tests/web.scm | 5 +-
guix/build-system/julia.scm | 5 +-
guix/build/julia-build-system.scm | 48 +-
guix/build/qt-utils.scm | 2 +-
guix/import/cran.scm | 91 +-
guix/import/print.scm | 85 +-
guix/import/pypi.scm | 47 +-
guix/import/utils.scm | 3 +
guix/licenses.scm | 2 +
guix/packages.scm | 2 +-
guix/scripts/environment.scm | 2 +-
guix/scripts/import/cran.scm | 35 +-
guix/scripts/import/pypi.scm | 32 +-
guix/store/deduplication.scm | 69 +-
guix/tests.scm | 30 +-
nix/libstore/gc.cc | 4 +-
nix/libstore/local-store.hh | 3 +
nix/libstore/optimise-store.cc | 15 +-
tests/derivations.scm | 14 +-
tests/egg.scm | 2 +-
tests/gexp.scm | 11 +-
tests/home-import.scm | 1 +
tests/nar.scm | 7 +-
tests/print.scm | 84 +
tests/pypi.scm | 12 +-
tests/store-deduplication.scm | 41 +-
tests/store.scm | 4 +-
163 files changed, 5791 insertions(+), 1915 deletions(-)
diff --cc gnu/local.mk
index 70af4a8,6aada73..e710766
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@@ -1121,15 -1105,13 +1104,15 @@@ dist_patch_DATA =
%D%/packages/patches/gcc-8-strmov-store-file-names.patch \
%D%/packages/patches/gcc-9-asan-fix-limits-include.patch \
%D%/packages/patches/gcc-9-strmov-store-file-names.patch \
- %D%/packages/patches/gdb-hurd.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-brect-bounds.patch \
- %D%/packages/patches/gdk-pixbuf-CVE-2020-29385.patch \
+ %D%/packages/patches/gd-Revert-fix-303-gdlib.pc.patch \
%D%/packages/patches/gdm-default-session.patch \
+ %D%/packages/patches/gdm-elogind-support.patch \
+ %D%/packages/patches/gdm-remove-hardcoded-xwayland-path.patch \
+ %D%/packages/patches/gdm-wayland-session-wrapper-from-env.patch \
%D%/packages/patches/geary-CVE-2020-24661.patch \
- %D%/packages/patches/genimage-signedness.patch \
+ %D%/packages/patches/genimage-mke2fs-test.patch \
%D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
%D%/packages/patches/ghc-testsuite-dlopen-pie.patch \
@@@ -1738,7 -1731,12 +1721,8 @@@
%D%/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch \
%D%/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch \
%D%/packages/patches/ruby-sanitize-system-libxml.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/rustc-1.39.0-src.patch \
+ %D%/packages/patches/rust-adblock-ignore-live-tests.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-ndarray-0.13-remove-blas-src.patch \
diff --cc gnu/packages/backup.scm
index a2dcffa,d30e546..882042d
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@@ -4,9 -4,9 +4,9 @@@
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
- ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
+ ;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
@@@ -144,11 -144,11 +144,10 @@@
(lambda* (#:key inputs #:allow-other-keys)
(setenv "HOME" (getcwd)) ; gpg needs to write to $HOME
(setenv "TZDIR" ; some timestamp checks need TZDIR
- (string-append (assoc-ref inputs "tzdata")
- "/share/zoneinfo"))
+ (search-input-directory inputs "share/zoneinfo"))
;; Some things respect TMPDIR, others hard-code /tmp, and the
;; defaults don't match up, breaking test_restart. Fix it.
- (setenv "TMPDIR" "/tmp")
- #t)))))
+ (setenv "TMPDIR" "/tmp"))))))
(home-page "https://duplicity.gitlab.io/duplicity-web/")
(synopsis "Encrypted backup using rsync algorithm")
(description
diff --cc gnu/packages/boost.scm
index a614972,19556df..440728c
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@@ -277,9 -288,13 +277,16 @@@ across a broad spectrum of applications
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "./b2" "install" make-flags))))))))
+(define-public boost-with-python3
+ (deprecated-package "boost-with-python3" boost))
+
+ (define-public boost-with-python2
+ (package/inherit boost
+ (name "boost-python2")
+ (native-inputs
+ `(("python" ,python-2)
+ ,@(alist-delete "python" (package-native-inputs boost))))))
+
(define-public boost-static
(package
(inherit boost)
diff --cc gnu/packages/cpp.scm
index 0426586,9520a16..3b10b89
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@@ -76,11 -69,10 +76,12 @@@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages pretty-print)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
- #:use-module (gnu packages xml))
+ #:use-module (gnu packages xml)
+ #:use-module (srfi srfi-1))
(define-public range-v3
(package
diff --cc gnu/packages/guile.scm
index df75389,2108b9f..941b718
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@@ -668,12 -585,10 +635,9 @@@ specification. These are the main feat
(sha256
(base32
"0nj0684qgh6ppkbdyxqfyjwsv2qbyairxpi8fzrhsi3xnc7jn4im"))))
- (native-inputs `(("pkg-config" ,pkg-config)
- ("guile" ,guile-3.0)))
- (inputs `(("guile" ,guile-3.0)))))
+ (native-inputs (list pkg-config guile-3.0))
+ (inputs (list guile-3.0))))
- (define-public guile3.0-json
- (deprecated-package "guile3.0-json" guile-json-3))
-
(define-public guile-json-4
(package
(inherit guile-json-3)
diff --cc gnu/packages/lua.scm
index 7cadba6,2d43bc9..22dc7c6
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@@ -1202,17 -1193,10 +1192,10 @@@ enabled."
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "fennel"
(("/usr/bin/env .*lua")
- (search-input-file inputs "/bin/lua")))
- #t))
- (string-append (assoc-ref inputs "lua") "/bin/lua")))))
++ (search-input-file inputs "/bin/lua")))))
(delete 'check)
(add-after 'install 'check
- (assoc-ref %standard-phases 'check))
- (add-after 'install 'install-manpage
- (lambda* (#:key outputs #:allow-other-keys)
- (install-file "fennel.1"
- (string-append (assoc-ref outputs "out")
- "/share/man/man1"))
- #t)))))
+ (assoc-ref %standard-phases 'check)))))
(inputs `(("lua" ,lua)))
(home-page "https://fennel-lang.org/")
(synopsis "Lisp that compiles to Lua")
diff --cc gnu/packages/mail.scm
index a40e5e5,0e7134e..c92ec14
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@@ -40,9 -40,9 +40,10 @@@
;;; 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>
+ ;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
;;;
;;; This file is part of GNU Guix.
;;;
diff --cc gnu/packages/mpd.scm
index e6c1e68,3c2fe49..b9da295
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@@ -114,10 -117,11 +117,10 @@@ interfacing MPD in the C, C++ & Objecti
"/mpd-" version ".tar.xz"))
(sha256
(base32
- "1850ii8vnv5l8b561fai4q2mcrnym94mvlrxiy48fvpfm8s7ygql"))))
+ "0m67wibxc6n6438h2va59n51wwwbwhbdj9635cnpc3wqvlq9sd9g"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-next ; Requires Meson >= 0.56.0
- #:configure-flags '("-Ddocumentation=enabled")))
+ `(#:configure-flags '("-Ddocumentation=enabled")))
(inputs `(("ao" ,ao)
("alsa-lib" ,alsa-lib)
("avahi" ,avahi)
diff --cc gnu/packages/pep.scm
index dde316e,6685691..7ae77d1
--- a/gnu/packages/pep.scm
+++ b/gnu/packages/pep.scm
@@@ -241,10 -241,10 +241,10 @@@ ENGINE_INC_PATH=~a/includ
`(("python-pytest" ,python-pytest)
("python-pytest-forked" ,python-pytest-forked)))
(inputs
- `(("boost-python" ,boost-with-python3)
+ `(("boost" ,boost)
("libpepadapter" ,libpepadapter)
("pep-engine" ,pep-engine)
- ("python-setuptools-scm" ,python-setuptools-scm/next)
+ ("python-setuptools-scm" ,python-setuptools-scm)
("util-linux" ,util-linux "lib"))) ;; uuid.h
(home-page "https://pep.foundation/")
(synopsis "Python adapter for p≡p (pretty Easy Privacy)")
diff --cc gnu/packages/python-xyz.scm
index 3a85266,f32c322..4bca271
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@@ -18503,12 -18655,34 +18649,22 @@@ current test, while only declaring the
several utilities, as well as an API for building localization tools.")
(license license:gpl2+)))
+ ;; Required for virtaal, newer versions do not build with python2
(define-public python2-translate-toolkit
- (package-with-python2 python-translate-toolkit))
+ (package-with-python2
+ (package
+ (inherit python-translate-toolkit)
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "translate-toolkit" version ".tar.bz2"))
+ (sha256
+ (base32
"1vlkwrg83vb17jc36pmwh2b7jphwf390lz0jw8hakcg16qhwypvq")))))))
(define-public python-packaging
- (package
+ (package/inherit python-packaging-bootstrap
(name "python-packaging")
- (version "20.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "packaging" version))
- ;; XXX: The URL in the patch file is wrong, it should be
- ;; <https://github.com/pypa/packaging/pull/256>.
- (patches (search-patches "python-packaging-test-arch.patch"))
- (sha256
- (base32
- "1y2ip3a4ykkpgnwgn85j6hkspcl0cg3mzms97f40mk57vwqq67gy"))))
- (build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
diff --cc gnu/packages/sqlite.scm
index 934c7c6,007b8f9..7afa97e
--- a/gnu/packages/sqlite.scm
+++ b/gnu/packages/sqlite.scm
@@@ -109,18 -123,23 +109,13 @@@ widely deployed SQL database engine in
is in the public domain.")
(license license:public-domain)))
-(define-public sqlite/fixed
+(define-public sqlite-3.33
(package
(inherit sqlite)
- (version "3.32.3")
+ (version "3.33.0")
(source (origin
(method url-fetch)
- (uri (let ((numeric-version
- (match (string-split version #\.)
- ((first-digit other-digits ...)
- (string-append first-digit
- (string-pad-right
- (string-concatenate
- (map (cut string-pad <> 2 #\0)
- other-digits))
- 6 #\0))))))
- (string-append "https://sqlite.org/2020/sqlite-autoconf-"
- numeric-version ".tar.gz")))
+ (uri (sqlite-uri version 2020))
(sha256
(base32
- "05dvdfaxd552gj5p7k0i72sfam7lykaw1g2pfn52jnppqx42qshh"))))))
-
- ;; Column metadata support was added to the regular 'sqlite' package with
- ;; commit fad5b1a6d8d9c36bea5785ae4fbc1beb37e644d7.
- (define-public sqlite-with-column-metadata
- (deprecated-package "sqlite-with-column-metadata" sqlite))
+ "0rlbaq177gcgk5dswd3akbhv2nvvzljrbhgy18hklbhw7h90f5d3"))))))
diff --cc gnu/packages/tex.scm
index d563019,bfca913..0c6304a
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@@ -4508,24 -4135,34 +4508,49 @@@ mode. The functionality is provided b
but non-expandable ones.")
(license license:lppl1.3+)))
-(define-public texlive-latex-filemod
- (deprecated-package "texlive-latex-filemod" texlive-filemod))
+(define-deprecated-package texlive-latex-filemod texlive-filemod)
+
+(define-public texlive-latex-hanging
+ (package
+ (inherit (simple-texlive-package
+ "texlive-latex-hanging"
+ '("/tex/latex/hanging/")
+ (base32
+ "0s86yaxyfv9zxf4svwg9s13by9vrw38apfg0hsfchsimsdd6gsbb")
+ #:trivial? #t))
+ (home-page "https://www.ctan.org/pkg/hanging")
+ (synopsis "Typeset hanging paragraphs")
+ (description
+ "The @code{hanging} package facilitates the typesetting of hanging
+paragraphs. The package also enables typesetting with hanging punctuation,
+by making punctuation characters active.")
+ (license license:lppl1.3c+)))
+ (define-public texlive-fira
+ (package
+ (inherit (simple-texlive-package
+ "texlive-fira"
+ (list "doc/fonts/fira/"
+ "tex/latex/fira/"
+ "fonts/vf/public/fira/"
+ "fonts/type1/public/fira/"
+ "fonts/tfm/public/fira/"
+ "fonts/opentype/public/fira/"
+ "fonts/map/dvips/fira/"
+ "fonts/enc/dvips/fira/")
+ (base32 "0mxrwwf8i383vrs64lsyiwnai4cy305pkv1kgd4nrhmgi7pdc3ac")
+ #:trivial? #t))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/fonts/fira")
+ (synopsis "Fira fonts with LaTeX support")
+ (description
+ "This package provides LaTeX, pdfLaTeX, XeLaTeX and LuaLaTeX support for
+ the Fira Sans family of fonts designed by Erik Spiekermann and Ralph du
+ Carrois of Carrois Type Design. Fira Sans is available in eleven weights with
+ corresponding italics: light, regular, medium, bold, ...")
+ (license (list license:lppl
+ license:silofl1.1))))
+
(define-public texlive-latex-ifplatform
(package
(name "texlive-latex-ifplatform")
diff --cc gnu/packages/tls.scm
index be8f7a4,9051975..a93621f
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@@ -351,40 -368,148 +351,37 @@@ required structures."
,@(alist-delete "guile"
(package-inputs gnutls))))))
- (define-public guile3.0-gnutls
- (deprecated-package "guile3.0-gnutls" gnutls))
-
+(define (target->openssl-target target)
+ "Return the value to set CONFIGURE_TARGET_ARCH to when cross-compiling
+OpenSSL for TARGET."
+ ;; Keep this code outside the build code,
+ ;; such that new targets can be added
+ ;; without causing rebuilds for other targets.
+ (cond ((string-prefix? "i586" target)
+ "hurd-x86")
+ ((string-prefix? "i686" target)
+ "linux-x86")
+ ((string-prefix? "x86_64" target)
+ "linux-x86_64")
+ ((string-prefix? "mips64el" target)
+ "linux-mips64")
+ ((string-prefix? "arm" target)
+ "linux-armv4")
+ ((string-prefix? "aarch64" target)
+ "linux-aarch64")
+ ((string-prefix? "powerpc64le" target)
+ "linux-ppc64le")
+ ((string-prefix? "powerpc64" target)
+ "linux-ppc64")
+ ((string-prefix? "powerpc" target)
+ "linux-ppc")
+ ((string-prefix? "riscv64" target)
+ ;; linux64-riscv64 isn't recognized until 3.0.0.
+ "linux-generic64")))
+
(define-public openssl
(package
- (name "openssl")
- (version "1.1.1j")
- (replacement openssl-1.1.1l)
- (source (origin
- (method url-fetch)
- (uri (list (string-append
"https://www.openssl.org/source/openssl-"
- version ".tar.gz")
- (string-append "ftp://ftp.openssl.org/source/"
- "openssl-" version ".tar.gz")
- (string-append "ftp://ftp.openssl.org/source/old/"
- (string-trim-right version
char-set:letter)
- "/openssl-" version ".tar.gz")))
- (patches (search-patches "openssl-1.1-c-rehash-in.patch"))
- (sha256
- (base32
- "1gw17520vh13izy1xf5q0a2fqgcayymjjj5bk0dlkxndfnszrwma"))))
- (build-system gnu-build-system)
- (outputs '("out"
- "doc" ;6.8 MiB of man3 pages and full HTML documentation
- "static")) ;6.4 MiB of .a files
- (native-inputs `(("perl" ,perl)))
- (arguments
- `(#:parallel-tests? #f
- #:test-target "test"
-
- ;; Changes to OpenSSL sometimes cause Perl to "sneak in" to the closure,
- ;; so we explicitly disallow it here.
- #:disallowed-references ,(list (canonical-package perl))
- #:phases
- (modify-phases %standard-phases
- ,@(if (%current-target-system)
- '((add-before
- 'configure 'set-cross-compile
- (lambda* (#:key target outputs #:allow-other-keys)
- (setenv "CROSS_COMPILE" (string-append target "-"))
- (setenv "CONFIGURE_TARGET_ARCH"
- (cond
- ((string-prefix? "i586" target)
- "hurd-x86")
- ((string-prefix? "i686" target)
- "linux-x86")
- ((string-prefix? "x86_64" target)
- "linux-x86_64")
- ((string-prefix? "mips64el" target)
- "linux-mips64")
- ((string-prefix? "arm" target)
- "linux-armv4")
- ((string-prefix? "aarch64" target)
- "linux-aarch64")
- ((string-prefix? "powerpc64le" target)
- "linux-ppc64le")
- ((string-prefix? "powerpc64" target)
- "linux-ppc64")
- ((string-prefix? "powerpc" target)
- "linux-ppc")))
- #t)))
- '())
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib")))
- ;; It's not a shebang so patch-source-shebangs misses it.
- (substitute* "config"
- (("/usr/bin/env")
- (string-append (assoc-ref %build-inputs "coreutils")
- "/bin/env")))
- (invoke ,@(if (%current-target-system)
- '("./Configure")
- '("./config"))
- "shared" ;build shared libraries
- "--libdir=lib"
-
- ;; The default for this catch-all directory is
- ;; PREFIX/ssl. Change that to something more
- ;; conventional.
- (string-append "--openssldir=" out
- "/share/openssl-"
- ,(package-version this-package))
-
- (string-append "--prefix=" out)
- (string-append "-Wl,-rpath," lib)
- ,@(if (%current-target-system)
- '((getenv "CONFIGURE_TARGET_ARCH"))
- '())))))
- (add-after 'install 'move-static-libraries
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Move static libraries to the "static" output.
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib"))
- (static (assoc-ref outputs "static"))
- (slib (string-append static "/lib")))
- (for-each (lambda (file)
- (install-file file slib)
- (delete-file file))
- (find-files lib "\\.a$"))
- #t)))
- (add-after 'install 'move-extra-documentation
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Move man3 pages and full HTML documentation to "doc".
- (let* ((out (assoc-ref outputs "out"))
- (man3 (string-append out "/share/man/man3"))
- (html (string-append out "/share/doc/openssl"))
- (doc (assoc-ref outputs "doc"))
- (man-target (string-append doc "/share/man/man3"))
- (html-target (string-append doc "/share/doc/openssl")))
- (copy-recursively man3 man-target)
- (delete-file-recursively man3)
- (copy-recursively html html-target)
- (delete-file-recursively html)
- #t)))
- (add-after
- 'install 'remove-miscellany
- (lambda* (#:key outputs #:allow-other-keys)
- ;; The 'misc' directory contains random undocumented shell and Perl
- ;; scripts. Remove them to avoid retaining a reference on Perl.
- (let ((out (assoc-ref outputs "out")))
- (delete-file-recursively (string-append out "/share/openssl-"
- ,(package-version
this-package)
- "/misc"))
- #t))))))
- (native-search-paths
- (list (search-path-specification
- (variable "SSL_CERT_DIR")
- (separator #f) ;single entry
- (files '("etc/ssl/certs")))
- (search-path-specification
- (variable "SSL_CERT_FILE")
- (file-type 'regular)
- (separator #f) ;single entry
- (files '("etc/ssl/certs/ca-certificates.crt")))))
- (synopsis "SSL/TLS implementation")
- (description
- "OpenSSL is an implementation of SSL/TLS.")
- (license license:openssl)
- (home-page "https://www.openssl.org/")))
-
-;; Replacement package to fix multiple CVEs.
-(define openssl-1.1.1l
- (package
- (inherit openssl)
+ (name "openssl")
(version "1.1.1l")
(source (origin
(method url-fetch)
diff --cc guix/build-system/julia.scm
index 5b824d7,8ceac09..2998663
--- a/guix/build-system/julia.scm
+++ b/guix/build-system/julia.scm
@@@ -1,6 -1,6 +1,7 @@@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Nicolò Balzarotti <nicolo@nixo.xyz>
+;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
+ ;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me>
;;;
;;; This file is part of GNU Guix.
;;;
@@@ -89,26 -90,41 +91,27 @@@
(guix build utils))))
"Build SOURCE using Julia, and with INPUTS."
(define builder
- `(begin
- (use-modules ,@modules)
- (julia-build #:name ,name
- #:source ,(match (assoc-ref inputs "source")
- (((? derivation? source))
- (derivation->output-path source))
- ((source)
- source)
- (source
- source))
- #:system ,system
- #:tests? ,tests?
- #:phases ,phases
- #:outputs %outputs
- #:search-paths ',(map search-path-specification->sexp
- search-paths)
- #:inputs %build-inputs
- #:julia-package-name ,julia-package-name
- #:julia-package-uuid ,julia-package-uuid)))
+ (with-imported-modules imported-modules
+ #~(begin
+ (use-modules #$@(sexp->gexp modules))
+ (julia-build #:name #$name
+ #:source #+source
+ #:system #$system
+ #:tests? #$tests?
+ #:phases #$phases
+ #:outputs #$(outputs->gexp outputs)
+ #:search-paths '#$(sexp->gexp
+ (map search-path-specification->sexp
+ search-paths))
+ #:inputs #$(input-tuples->gexp inputs)
- #:julia-package-name #$julia-package-name))))
++ #:julia-package-name #$julia-package-name
++ #:julia-package-uuid #$julia-package-uuid))))
- (define guile-for-build
- (match guile
- ((? package?)
- (package-derivation store guile system #:graft? #f))
- (#f ; the default
- (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 julia-build-system
(build-system
diff --cc guix/import/print.scm
index c1739f3,767b052..6601614
--- a/guix/import/print.scm
+++ b/guix/import/print.scm
@@@ -31,17 -32,6 +32,14 @@@
#:use-module (ice-9 match)
#:export (package->code))
+(define (redundant-input-labels? inputs)
+ "Return #t if input labels in the INPUTS list are redundant."
+ (every (match-lambda
+ ((label (? package? package) . _)
+ (string=? label (package-name package)))
+ (_ #f))
+ inputs))
+
- ;; FIXME: the quasiquoted arguments field may contain embedded package
- ;; objects, e.g. in #:disallowed-references; they will just be printed with
- ;; their usual #<package ...> representation, not as variable names.
(define (package->code package)
"Return an S-expression representing the source code that produces PACKAGE
when evaluated."
@@@ -110,36 -110,46 +118,62 @@@
;; FIXME: in order to be able to throw away the directory prefix,
;; we just assume that the patch files can be found with
;; "search-patches".
- ,@(if (null? patches) '()
- `((patches (search-patches ,@(map basename patches))))))))
+ ,@(cond ((null? patches)
+ '())
+ ((every string? patches)
+ `((patches (search-patches ,@(map basename patches)))))
+ (else
+ `((patches (list ,@(map (match-lambda
+ ((? string? file)
+ `(search-patch ,file))
+ ((? origin? origin)
+ (source->code origin #f)))
+ patches)))))))))
+
+ (define (variable-reference module name)
+ ;; FIXME: using '@ certainly isn't pretty, but it avoids having to import
+ ;; the individual package modules.
+ (list '@ module name))
+
+ (define (object->code obj quoted?)
+ (match obj
+ ((? package? package)
+ (let* ((module (package-module-name package))
+ (name (variable-name package module)))
+ (if quoted?
+ (list 'unquote (variable-reference module name))
+ (variable-reference module name))))
+ ((? origin? origin)
+ (let ((code (source->code origin #f)))
+ (if quoted?
+ (list 'unquote code)
+ code)))
+ ((lst ...)
+ (let ((lst (map (cut object->code <> #t) lst)))
+ (if quoted?
+ lst
+ (list 'quasiquote lst))))
+ (obj
+ obj)))
- (define (package-lists->code lsts)
- (list 'quasiquote (object->code lsts #t)))
+ (define (inputs->code inputs)
+ (if (redundant-input-labels? inputs)
+ `(list ,@(map (match-lambda ;no need for input labels ("new style")
+ ((_ package)
- (let ((module (package-module-name package)))
- `(@ ,module ,(variable-name package module))))
++ (let* ((module (package-module-name package))
++ (name (variable-name package module)))
++ (variable-reference module name)))
+ ((_ package output)
- (let ((module (package-module-name package)))
++ (let* ((module (package-module-name package))
++ (name (variable-name package module)))
+ (list 'quasiquote
+ (list
+ (list 'unquote
- `(@ ,module
- ,(variable-name package module)))
++ (variable-reference module name))
+ output)))))
+ inputs))
+ (list 'quasiquote ;preserve input labels (deprecated)
- (map (match-lambda
- ((label pkg . out)
- (let ((mod (package-module-name pkg)))
- (cons* label
- ;; FIXME: using '@ certainly isn't pretty, but
it
- ;; avoids having to import the individual
package
- ;; modules.
- (list 'unquote
- (list '@ mod (variable-name pkg mod)))
- out))))
- inputs))))
++ (object->code inputs #t))))
(let ((name (package-name package))
(version (package-version package))