diff --git a/gnu/local.mk b/gnu/local.mk index 03e180cc85..f7f7084b4e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1689,6 +1689,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch \ %D%/packages/patches/python-pyfakefs-remove-bad-test.patch \ %D%/packages/patches/python-pyflakes-test-location.patch \ + %D%/packages/patches/python2-pyopenssl-openssl-compat.patch \ %D%/packages/patches/python-flint-includes.patch \ %D%/packages/patches/python-libxml2-utf8.patch \ %D%/packages/patches/python-magic-python-bytecode.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 33b9a672fc..4bdc3e7792 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1304,7 +1304,7 @@ command.") (name "tzdata") ;; This package should be kept in sync with python-pytz in (gnu packages ;; time). - (version "2021e") + (version "2022a") (source (origin (method url-fetch) (uri (string-append @@ -1312,7 +1312,7 @@ command.") version ".tar.gz")) (sha256 (base32 - "1cdjdcxl0s9xf0dg1z64kh7llm80byxqlzrkkjzcdlyh6yvl5v07")))) + "0r0nhwpk9nyxj5kkvjy58nr5d85568m04dcb69c4y3zmykczyzzg")))) (build-system gnu-build-system) (arguments (list #:tests? #f @@ -1380,7 +1380,7 @@ command.") version ".tar.gz")) (sha256 (base32 - "0x8pcfmjvxk29yfh8bklchv2f0vpl4yih0gc4wyx292l78wncijq"))))) + "1iysv8fdkm79k8wh8jizmjmq075q4qjhk090vxjy57my6dz5wmzq"))))) (home-page "https://www.iana.org/time-zones") (synopsis "Database of current and historical time zones") (description "The Time Zone Database (often called tz or zoneinfo) diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index d410b05860..53fb027563 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -28,6 +28,7 @@ #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) @@ -159,31 +160,27 @@ that was originally contributed to Debian.") (inputs '()) (propagated-inputs '()) (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (rnrs io ports) - (srfi srfi-26)) - #:phases - (modify-phases - (map (cut assq <> %standard-phases) - '(set-paths install-locale unpack)) - (add-after 'unpack 'install - (lambda _ - ;; TODO: On the next rebuild cycle, remove references to - ;; '%output' and '%outputs'. - (let ((certsdir (string-append ,(if (%current-target-system) - '(assoc-ref %outputs "out") - '%output) - "/etc/ssl/certs/"))) - (with-directory-excursion "nss/lib/ckfw/builtins/" - (unless (file-exists? "blacklist.txt") - (call-with-output-file "blacklist.txt" (const #t))) - ;; Extract selected single certificates from blob. - (invoke "certdata2pem") - ;; Copy .pem files into the output. - (for-each (cut install-file <> certsdir) - (find-files "." ".*\\.pem$"))) - (invoke "openssl" "rehash" certsdir))))))) + (list #:modules '((guix build gnu-build-system) + (guix build utils) + (rnrs io ports) + (srfi srfi-26)) + #:phases + #~(modify-phases + (map (cut assq <> %standard-phases) + '(set-paths install-locale unpack)) + (add-after 'unpack 'install + (lambda _ + (let ((certsdir (string-append #$output + "/etc/ssl/certs/"))) + (with-directory-excursion "nss/lib/ckfw/builtins/" + (unless (file-exists? "blacklist.txt") + (call-with-output-file "blacklist.txt" (const #t))) + ;; Extract selected single certificates from blob. + (invoke "certdata2pem") + ;; Copy .pem files into the output. + (for-each (cut install-file <> certsdir) + (find-files "." ".*\\.pem$"))) + (invoke "openssl" "rehash" certsdir))))))) (synopsis "CA certificates from Mozilla") (description "This package provides certificates for Certification Authorities (CA) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 2340ef72d9..5c8b547c0d 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -2740,13 +2740,13 @@ mocks, stubs and fakes.") (define-public python-flaky (package (name "python-flaky") - (version "3.5.3") + (version "3.7.0") (source (origin (method url-fetch) (uri (pypi-uri "flaky" version)) (sha256 (base32 - "1nm1kjf857z5aw7v642ffsy1vwf255c6wjvmil71kckjyd0mxg8j")))) + "03daz352021211kvdb056f3afrd2gsdq0rd1awgr38910xw01l9s")))) (build-system python-build-system) (arguments ;; TODO: Tests require 'coveralls' and 'genty' which are not in Guix yet. diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 86313f5e4f..452a22f0f2 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -62496,13 +62496,13 @@ different for every thread.") (name "rust-thread-id") (version "3.3.0") (source - (origin - (method url-fetch) - (uri (crate-uri "thread-id" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7")))) + (origin + (method url-fetch) + (uri (crate-uri "thread-id" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h90v19fjz3x9b25ywh68z5yf2zsmm6h5zb4rl302ckbsp4z9yy7")))) (arguments `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 9980cbe9aa..6052b53158 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2018 Ludovic Courtès +;;; Copyright © 2012-2016, 2018, 2022 Ludovic Courtès ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge ;;; Copyright © 2013, 2017 Cyril Roelandt ;;; Copyright © 2014, 2016 David Thompson @@ -56,6 +56,7 @@ ;;; Copyright © 2021 jgart ;;; Copyright © 2021 Foo Chuan Wei ;;; Copyright © 2022 Zhu Zihao +;;; Copyright © 2021 Brice Waegeneire ;;; ;;; This file is part of GNU Guix. ;;; @@ -90,6 +91,7 @@ #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages dbm) + #:use-module (gnu packages docbook) #:use-module (gnu packages emacs) #:use-module (gnu packages flex) #:use-module (gnu packages freedesktop) @@ -1193,38 +1195,43 @@ and high-availability (HA).") (patches (search-patches "postgresql-disable-resolve_symlinks.patch")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--with-uuid=e2fs" "--with-openssl" - ;; PostgreSQL installs its own Makefile (should it?). - ;; Prevent it from retaining needless references to - ;; the build tools in order to save size. - "MKDIR_P=mkdir -p" "INSTALL_BIN=install -c" - "LD=ld" "TAR=tar") - #:phases - (modify-phases %standard-phases - (add-before 'configure 'patch-/bin/sh - (lambda _ - ;; Refer to the actual shell. - (substitute* '("src/bin/pg_ctl/pg_ctl.c" - "src/bin/psql/command.c") - (("/bin/sh") (which "sh"))) - #t)) - (add-before 'configure 'set-socket-dir - (lambda _ - (substitute* '("src/include/pg_config_manual.h") - (("DEFAULT_PGSOCKET_DIR[^\n]*") - "DEFAULT_PGSOCKET_DIR \"/var/run/postgresql\"")) - #t)) - (add-after 'build 'build-contrib - (lambda _ - (invoke "make" "-C" "contrib"))) - (add-after 'install 'install-contrib - (lambda _ - (invoke "make" "-C" "contrib" "install")))))) - (inputs - `(("readline" ,readline) - ("libuuid" ,util-linux "lib") - ("openssl" ,openssl) - ("zlib" ,zlib))) + (list + #:configure-flags + #~(list "--with-uuid=e2fs" "--with-openssl" + (string-append "--mandir=" #$output "/share/man") + ;; PostgreSQL installs its own Makefile (should it?). + ;; Prevent it from retaining needless references to + ;; the build tools in order to save size. + "MKDIR_P=mkdir -p" "INSTALL_BIN=install -c" + "LD=ld" "TAR=tar") + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'patch-/bin/sh + (lambda _ + ;; Refer to the actual shell. + (substitute* '("src/bin/pg_ctl/pg_ctl.c" + "src/bin/psql/command.c") + (("/bin/sh") (which "sh"))))) + (add-before 'configure 'set-socket-dir + (lambda _ + (substitute* '("src/include/pg_config_manual.h") + (("DEFAULT_PGSOCKET_DIR[^\n]*") + "DEFAULT_PGSOCKET_DIR \"/var/run/postgresql\"")))) + (add-after 'build 'build-contrib + (lambda _ + (invoke "make" "-C" "contrib"))) + (add-after 'install 'install-contrib + (lambda _ + (invoke "make" "-C" "contrib" "install"))) + (add-after 'install 'install-manuals + (lambda _ + (with-directory-excursion "doc/src/sgml" + (invoke "make" "install-man") + (invoke "make" "postgres.info") + (install-file "postgres.info" + (string-append #$output "/share/info")))))))) + (native-inputs (list docbook-xml docbook2x libxml2 perl texinfo)) + (inputs (list readline `(,util-linux "lib") openssl zlib)) (home-page "https://www.postgresql.org/") (synopsis "Powerful object-relational database system") (description @@ -1239,36 +1246,15 @@ pictures, sounds, or video.") (define-public postgresql-13 (package (inherit postgresql-14) - (version "13.4") + (version "13.6") (source (origin (inherit (package-source postgresql-14)) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "1kf0gcsrl5n25rjlvkh87aywmn28kbwvakm5c7j1qpr4j01y34za")))) - (arguments - (if (target-riscv64?) - `(,@(substitute-keyword-arguments (package-arguments postgresql-14) - ((#:phases phases) - #~(modify-phases #$phases - (add-after 'unpack 'apply-riscv-spinlock-patch - ;; The patch is applied in this custom phase and not via the - ;; "origin" object above to avoid rebuilding a large number - ;; of packages on other platforms. - (lambda* (#:key inputs #:allow-other-keys) - (let ((patch-file - #$(local-file - (search-patch - "postgresql-riscv-spinlocks.patch")))) - (invoke "patch" "-p1" "-i" patch-file)))))))) - `(,@(package-arguments postgresql-14)))) - (native-inputs - (if (target-riscv64?) - (list - (local-file (search-patch "postgresql-riscv-spinlocks.patch")) - patch) - '())))) + "1z37ix80hb2bqa2smh1hbj9r507ypnl3pil43gkqznnlv6ipzz5s")) + (patches (search-patches "postgresql-riscv-spinlocks.patch")))))) (define-public postgresql-11 (package @@ -1281,7 +1267,10 @@ pictures, sounds, or video.") version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "1qvrm0vhwnc5nijfbqybhwfjbq4r7vmk445sz7s6fiagpn78xxf8")))))) + "1qvrm0vhwnc5nijfbqybhwfjbq4r7vmk445sz7s6fiagpn78xxf8")))) + (native-inputs + (modify-inputs (package-native-inputs postgresql-13) + (replace "docbook-xml" docbook-xml-4.2))))) (define-public postgresql-10 (package @@ -1293,7 +1282,11 @@ pictures, sounds, or video.") version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "17v51a9vnz6lgbfmbdmcwsiyi572wndwa4n30nk2zr6gkgaidpl7")))))) + "17v51a9vnz6lgbfmbdmcwsiyi572wndwa4n30nk2zr6gkgaidpl7")))) + (native-inputs + (modify-inputs (package-native-inputs postgresql-11) + (append opensp docbook-sgml-4.2) + (delete "docbook-xml"))))) (define-public postgresql postgresql-13) @@ -1361,12 +1354,26 @@ pictures, sounds, or video.") (pg-union (string-append (getcwd) "/../pg-union"))) (match inputs (((names . directories) ...) - (union-build pg-union (cons #$output directories)))) + ;; PG will only load extensions from its own $libdir, + ;; which it calculates based on argv[0]. As of + ;; PostgreSQL 13.6, it calls 'canonicalize_path' on + ;; argv[0] so a merge symlink is not enough to trick + ;; it; thus, the code below makes a full copy of PG + ;; and friends such that 'pg_config --libdir', for + ;; instance, points to PG-UNION, allowing it to load + ;; the timescaledb extension. + (union-build pg-union (cons #$output directories) + #:symlink + (lambda (old new) + (if (file-is-directory? old) + (copy-recursively old new) + (copy-file old new)))))) (setenv "PATH" (string-append pg-union "/bin:" (getenv "PATH"))) (invoke "initdb" "-D" pg-data) (copy-file "test/postgresql.conf" (string-append pg-data "/postgresql.conf")) + (invoke "pg_ctl" "-D" pg-data "-o" (string-append "-k " pg-data) "-l" (string-append pg-data "/db.log") diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 6575bf2d75..dcaac3b8d2 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -362,17 +362,18 @@ for DocBook.") (description "Documentation for the DocBook DSSSL style sheets.") (license (license:non-copyleft "file://doc/LEGALNOTICE.htm")))) -(define-public docbook-sgml +(define-public docbook-sgml-4.2 (package (name "docbook-sgml") - (version "4.1") + (version "4.2") (source (origin (method url-fetch) - (uri (string-append "https://www.oasis-open.org/docbook/sgml/" - version "/docbk41.zip")) + (uri (string-append + "https://www.oasis-open.org/docbook/sgml/4.2/docbook-" + version ".zip")) (sha256 (base32 - "04b3gp4zkh9c5g9kvnywdkdfkcqx3kjc04j4mpkr4xk7lgqgrany")))) + "1hrm4qmmzi285bkxkc74lxvjvw2gbl7ycbaxhv31h9rl9g4x5sv7")))) (build-system trivial-build-system) (arguments '(#:modules ((guix build utils)) @@ -393,8 +394,8 @@ for DocBook.") ;; Reference the ISO 8879 character entities. ;; e.g. "iso-lat1.gml" --> "/ISOlat1" (substitute* "docbook.cat" - (("(.*ISO 8879.*)\"iso-(.*)\\.gml\"" _ head name) - (string-append head "\"" iso-entities-dir "/ISO" name "\""))))))) + (("\"iso-(.*)\\.gml\"" _ name) + (string-append "\"" iso-entities-dir "/ISO" name "\""))))))) (native-inputs (list unzip)) (inputs @@ -404,6 +405,20 @@ for DocBook.") (description "This package provides SGML style sheets for DocBook.") (license (license:x11-style "" "See file headers.")))) +(define-public docbook-sgml-4.1 + (package + (inherit docbook-sgml-4.2) + (version "4.1") + (source (origin + (method url-fetch) + (uri (string-append "https://www.oasis-open.org/docbook/sgml/" + version "/docbk41.zip")) + (sha256 + (base32 + "04b3gp4zkh9c5g9kvnywdkdfkcqx3kjc04j4mpkr4xk7lgqgrany")))))) + +(define-public docbook-sgml docbook-sgml-4.1) + (define-public docbook-sgml-3.1 (package (inherit docbook-sgml) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 15a34d1557..31b5c04324 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -68,6 +68,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages pdf) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages selinux) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages web) ; for jansson @@ -262,7 +263,6 @@ ;; This is not needed for (modern) IMAP. mailutils - ;; TODO: Add the optional dependencies. gpm libx11 gtk+ @@ -272,7 +272,9 @@ libxft libtiff giflib + lcms libjpeg-turbo + libselinux acl jansson gmp diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index fc2c45c1f1..01cb480edf 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -963,14 +963,14 @@ Python.") (define-public wayland (package (name "wayland") - (version "1.19.0") + (version "1.20.0") (source (origin (method url-fetch) (uri (string-append "https://wayland.freedesktop.org/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "05bd2vphyx8qwa1mhsj1zdaiv4m4v94wrlssrn0lad8d601dkk5s")))) + "09c7rpbwavjg4y16mrfa57gk5ix6rnzpvlnv1wp7fnbh9hak985q")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index d3ee7aed93..c740c087dd 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -261,7 +261,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "21.3.2") + (version "21.3.8") (source (origin (method url-fetch) @@ -273,7 +273,7 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "1g96y59bw10ml8h4jl259g41jdmf5ww3jbwqpz1sprq7hgxvmrz2")) + "19wx5plk6z0hhi0zdzxjx8ynl3lhlc5mbd8vhwqyk92kvhxjf3g7")) (patches (search-patches "mesa-skip-tests.patch")))) (build-system meson-build-system) @@ -288,26 +288,28 @@ also known as DXTn or DXTC) for Mesa.") libxxf86vm xorgproto)) (inputs - `(("expat" ,expat) - ("libelf" ,elfutils) ;required for r600 when using llvm - ("libva" ,(force libva-without-mesa)) - ("libxml2" ,libxml2) - ("libxrandr" ,libxrandr) - ("libxvmc" ,libxvmc) - ;; Note: update the 'clang' input of mesa-opencl when bumping this. - ("llvm" ,llvm-11) - ("wayland" ,wayland) - ("wayland-protocols" ,wayland-protocols))) + (append (list expat + elfutils ;libelf required for r600 when using llvm + (force libva-without-mesa) + libxml2 + libxrandr + libxvmc + wayland + wayland-protocols) + ;; TODO: Resort alphabetically. + ;; Note: update the 'clang' input of mesa-opencl when bumping this. + (list llvm-11))) (native-inputs - `(("bison" ,bison) - ("flex" ,flex) - ("gettext" ,gettext-minimal) - ("glslang" ,glslang) - ("pkg-config" ,pkg-config) - ("python" ,python-wrapper) - ("python-libxml2", python-libxml2) ;for OpenGL ES 1.1 and 2.0 support - ("python-mako" ,python-mako) - ("which" ,(@ (gnu packages base) which)))) + (append (list bison + flex + gettext-minimal + pkg-config + python-wrapper + python-libxml2 ;for OpenGL ES 1.1 and 2.0 support + python-mako + (@ (gnu packages base) which)) + ;; TODO: Resort alphabetically. + (list glslang))) (outputs '("out" "bin")) (arguments `(#:configure-flags @@ -510,11 +512,11 @@ from software emulation to complete hardware acceleration for modern GPUs.") ((#:configure-flags flags) `(cons "-Dgallium-opencl=standalone" ,flags)))) (inputs - `(("libclc" ,libclc) - ,@(package-inputs mesa))) + (modify-inputs (package-inputs mesa) + (prepend libclc))) (native-inputs - `(("clang" ,clang-11) - ,@(package-native-inputs mesa))))) + (modify-inputs (package-native-inputs mesa) + (prepend clang-11))))) (define-public mesa-opencl-icd (package/inherit mesa-opencl diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index e6573894b4..a938453dd4 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3459,18 +3459,9 @@ for dealing with different structured file formats.") `(,glib "bin") gobject-introspection pkg-config - python-wrapper - ruby vala)) (inputs - (list bzip2 - fontconfig - freetype - harfbuzz - libcroco - libgsf - libxml2 - pango)) + (list freetype harfbuzz libxml2 pango)) (propagated-inputs (list cairo gdk-pixbuf glib)) (synopsis "SVG rendering library") @@ -3561,7 +3552,7 @@ diagrams.") `(,glib "bin") ; glib-mkenums, etc. gobject-introspection)) ; g-ir-compiler, etc. (inputs - (list pango libcroco bzip2 libgsf libxml2)) + (list pango libcroco libxml2)) (propagated-inputs ;; librsvg-2.0.pc refers to all of that. (list cairo gdk-pixbuf glib)) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 61c29be116..296f0b8b07 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -53,6 +53,7 @@ (define-module (gnu packages golang) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) + #:use-module (guix memoization) #:use-module ((guix build utils) #:select (alist-replace)) #:use-module (guix download) #:use-module (guix git-download) @@ -626,7 +627,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (package (inherit go-1.16) (name "go") - (version "1.17.8") + (version "1.17.9") (source (origin (method git-fetch) @@ -636,7 +637,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (file-name (git-file-name name version)) (sha256 (base32 - "05qfs17wddxmmi349g9ci12w9fjb5vbss6qpjc4qzgqzznqf0ycy")))) + "02l6gxn738kam1niy2nl2wpsbzl4x87h2wik6hd3py19kq4z2flw")))) (outputs '("out" "tests")) ; 'tests' contains distribution tests. (arguments `(#:modules ((ice-9 match) @@ -840,35 +841,43 @@ in the style of communicating sequential processes (@dfn{CSP}).") (define-public go go-1.17) -(define-public (make-go-std go) - "Return a package which builds the standard library for Go compiler GO." - (package - (name (string-append (package-name go) "-std")) - (version (package-version go)) - (source #f) - (build-system go-build-system) - (arguments - `(#:import-path "std" - #:build-flags `("-pkgdir" "pkg") ; "Install" to build directory. - #:allow-go-reference? #t - #:substitutable? #f ; Faster to build than download. - #:tests? #f ; Already tested in the main Go build. - #:go ,go - #:phases - (modify-phases %standard-phases - (delete 'unpack) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (out-cache (string-append out "/var/cache/go/build"))) - (copy-recursively (getenv "GOCACHE") out-cache) - (delete-file (string-append out-cache "/trim.txt")) - (delete-file (string-append out-cache "/README"))))) - (delete 'install-license-files)))) - (home-page (package-home-page go)) - (synopsis "Cached standard library build for Go") - (description (package-description go)) - (license (package-license go)))) +(define make-go-std + (mlambdaq (go) + "Return a package which builds the standard library for Go compiler GO." + (package + (name (string-append (package-name go) "-std")) + (version (package-version go)) + (source #f) + (build-system go-build-system) + (arguments + `(#:import-path "std" + #:build-flags `("-pkgdir" "pkg") ; "Install" to build directory. + #:allow-go-reference? #t + #:substitutable? #f ; Faster to build than download. + #:tests? #f ; Already tested in the main Go build. + #:go ,go + #:phases + (modify-phases %standard-phases + (delete 'unpack) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (out-cache (string-append out "/var/cache/go/build"))) + (copy-recursively (getenv "GOCACHE") out-cache) + (delete-file (string-append out-cache "/trim.txt")) + (delete-file (string-append out-cache "/README"))))) + (delete 'install-license-files)))) + (home-page (package-home-page go)) + (synopsis "Cached standard library build for Go") + (description (package-description go)) + (license (package-license go))))) + +(export make-go-std) + +;; Make those public so they have a corresponding Cuirass job. +(define-public go-std-1.14 (make-go-std go-1.14)) +(define-public go-std-1.16 (make-go-std go-1.16)) +(define-public go-std-1.17 (make-go-std go-1.17)) (define-public go-0xacab-org-leap-shapeshifter (let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474") @@ -2684,8 +2693,8 @@ packages.") (license license:bsd-3)))) (define-public go-golang-org-x-sys - (let ((commit "05986578812163b26672dabd9b425240ae2bb0ad") - (revision "7")) + (let ((commit "ed5796bab16455f104b6a384d51b7f9990cb9806") + (revision "8")) (package (name "go-golang-org-x-sys") (version (git-version "0.0.0" revision commit)) @@ -2697,7 +2706,7 @@ packages.") (file-name (git-file-name name version)) (sha256 (base32 - "1q2rxb6z5l6pmlckjsz2l0b8lw7bqgk6frhzbmi1dv0y5irb2ka7")))) + "081vs5bg91mwg5bdmlcvy2qyrvg766aicj47smcwfk4bbh0nc0qa")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/sys" diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 8ecb4a1e12..5a13ce56b3 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2017, 2019, 2021 Ludovic Courtès +;;; Copyright © 2013, 2017, 2019, 2021-2022 Ludovic Courtès ;;; Copyright © 2013, 2015, 2016 Andreas Enge ;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver ;;; Copyright © 2014, 2015 Alex Kost @@ -987,31 +987,31 @@ Metafile}, and @acronym{EMF+, Enhanced Metafile Plus} files.") (define-public imlib2 (package (name "imlib2") - (version "1.7.1") + (version "1.9.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/enlightenment/imlib2-src/" version - "/imlib2-" version ".tar.bz2")) + "/imlib2-" version ".tar.xz")) (sha256 (base32 - "01y45cdml2dr9cqgybrgxr86sd77d1qfa1gzclzy1j6bkminlfh3")))) + "0l662h74i3mzl5ligj1352rf8bf48drasj97wygr2037gk5fijas")))) (build-system gnu-build-system) (arguments '(#:configure-flags (list "--disable-static"))) (native-inputs - `(("pkgconfig" ,pkg-config))) + (list pkg-config)) (inputs - `(("bzip2" ,bzip2) - ("freetype" ,freetype) - ("giflib" ,giflib) - ("libid3tag" ,libid3tag) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libtiff" ,libtiff) - ("libx11" ,libx11) - ("libxext" ,libxext) - ("libwebp" ,libwebp))) + (list bzip2 + freetype + giflib + libid3tag + libjpeg-turbo + libpng + libtiff + libx11 + libxext + libwebp)) (home-page "https://sourceforge.net/projects/enlightenment/") (synopsis "Loading, saving, rendering and manipulating image files") @@ -1027,6 +1027,19 @@ This is a complete rewrite over the Imlib 1.x series. The architecture is more modular, simple, and flexible.") (license license:imlib2))) +(define-public imlib2-1.7 + (package + (inherit imlib2) + (version "1.7.1") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/enlightenment/imlib2-src/" version + "/imlib2-" version ".tar.bz2")) + (sha256 + (base32 + "01y45cdml2dr9cqgybrgxr86sd77d1qfa1gzclzy1j6bkminlfh3")))))) + (define-public giblib (package (name "giblib") @@ -1049,7 +1062,9 @@ more modular, simple, and flexible.") "1b4bmbmj52glq0s898lppkpzxlprq9aav49r06j2wx4dv3212rhp")))) (build-system gnu-build-system) (inputs - (list libx11 imlib2)) + (list libx11 + ;; Needs an old imlib2 with the 'imlib2-config' program. + imlib2-1.7)) (home-page ;; This vanished page is universally accepted as giblib's home despite not ;; mentioning the package once. diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index e914499541..9f957692cb 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -87,7 +87,7 @@ (define-public extra-cmake-modules (package (name "extra-cmake-modules") - (version "5.70.0") + (version "5.91.0") (source (origin (method url-fetch) (uri (string-append @@ -96,7 +96,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "10c5xs5shk0dcshpdxg564ay5y8hgmvfvmlhmhjf0dy79kcah3c3")))) + "0k65rvxh926ya6qahzk2ns7g1fya1429648mlx7iipxa61g8h5wp")))) (build-system cmake-build-system) (native-inputs ;; Add test dependency, except on armhf where building it is too @@ -104,39 +104,55 @@ (if (and (not (%current-target-system)) (string=? (%current-system) "armhf-linux")) '() - `(("qtbase" ,qtbase-5)))) ;for tests (needs qmake) + (list qtbase-5))) ;for tests (needs qmake) (arguments - `(#:tests? ,(and (not (%current-target-system)) - (not (null? (package-native-inputs this-package)))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-lib-path - (lambda _ - ;; Always install into /lib and not into /lib64. - (substitute* "kde-modules/KDEInstallDirs.cmake" - (("\"lib64\"") "\"lib\"") - ;; TODO: Base the following on values taken from Qt - ;; Install plugins into lib/qt5/plugins - ;; TODO: Check if this is okay for Android, too - ;; (see comment in KDEInstallDirs.cmake) - (("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"") - "_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt5/plugins\"") - ;; Install imports into lib/qt5/imports - (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"") - "_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"") - ;; Install qml-files into lib/qt5/qml - (("_define_relative\\(QMLDIR LIBDIR \"qml\"") - "_define_relative(QMLDIR LIBDIR \"qt5/qml\"")) - (substitute* "modules/ECMGeneratePriFile.cmake" - ;; Install pri-files into lib/qt5/mkspecs - (("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules") - "set(ECM_MKSPECS_INSTALL_DIR lib/qt5/mkspecs/modules")) - #t)) - ;; install and check phase are swapped to prevent install from failing - ;; after testsuire has run - (add-after 'install 'check-post-install - (assoc-ref %standard-phases 'check)) - (delete 'check)))) + (list + #:tests? (and (not (%current-target-system)) + (not (null? (package-native-inputs this-package)))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-lib-path + (lambda _ + ;; Always install into /lib and not into /lib64. + (substitute* "kde-modules/KDEInstallDirsCommon.cmake" + (("\"lib64\"") "\"lib\"")) + + ;; Determine the install path by the major version of Qt. + ;; TODO: Base the following on values taken from Qt + ;; Install plugins into lib/qt5/plugins + ;; TODO: Check if this is okay for Android, too + ;; (see comment in KDEInstallDirs.cmake) + (substitute* '("kde-modules/KDEInstallDirs5.cmake" + "kde-modules/KDEInstallDirs6.cmake") + ;; Fix the installation path of Qt plugins. + (("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"") + "_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt${QT_MAJOR_VERSION}/plugins\"") + ;; Fix the installation path of QML files. + (("_define_relative\\(QMLDIR LIBDIR \"qml\"") + "_define_relative(QMLDIR LIBDIR \"qt${QT_MAJOR_VERSION}/qml\"")) + + ;; Qt Quick Control 1 is no longer available in Qt 6. + (substitute* '("kde-modules/KDEInstallDirs5.cmake") + (("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"") + "_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"")) + + (substitute* "modules/ECMGeneratePriFile.cmake" + ;; Install pri-files into lib/qt${QT_MAJOR_VERSION}/mkspecs + (("set\\(ECM_MKSPECS_INSTALL_DIR mkspecs/modules") + "set(ECM_MKSPECS_INSTALL_DIR lib/qt${QT_MAJOR_VERSION}/mkspecs/modules")))) + ;; Work around for the failed test KDEFetchTranslations. + ;; It complains that the cmake project name is not + ;; "frameworks/extra-cmake-modules". + ;; TODO: Fix it upstream. + (add-after 'unpack 'fix-test + (lambda _ + (substitute* "tests/KDEFetchTranslations/CMakeLists.txt" + (("frameworks/extra-cmake-modules") "extra-cmake-modules")))) + ;; install and check phase are swapped to prevent install from failing + ;; after testsuire has run + (add-after 'install 'check-post-install + (assoc-ref %standard-phases 'check)) + (delete 'check)))) ;; optional dependencies - to save space, we do not add these inputs. ;; Sphinx > 1.2: ;; Required to build Extra CMake Modules documentation in Qt Help format. diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 85447a5b76..216dd01395 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -50,6 +50,7 @@ ;;; Copyright © 2020 Zhu Zihao ;;; Copyright © 2020 David Dashyan ;;; Copyright © 2020 pukkamustard +;;; Copyright © 2021 Solene Rapenne ;;; Copyright © 2021 B. Wilson ;;; Copyright © 2021 Ivan Gankevich ;;; Copyright © 2021 Maxime Devos diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 509b9c7cdd..53d428bd4f 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -570,21 +570,37 @@ sample proximities between pairs of cases.") (define-public openfst (package (name "openfst") - (version "1.7.9") + (version "1.8.2") (source (origin (method url-fetch) (uri (string-append "http://www.openfst.org/twiki/pub/FST/" "FstDownload/openfst-" version ".tar.gz")) (sha256 (base32 - "1pmx1yhn2gknj0an0zwqmzgwjaycapi896244np50a8y3nrsw6ck")))) + "0hlbdmjjf1jgsvi3d2hwni5lz3l9a5bzj6ijpbawa8a7cbrpp66y")))) (build-system gnu-build-system) + (arguments '(#:configure-flags '("--enable-ngram-fsts"))) (home-page "http://www.openfst.org") (synopsis "Library for weighted finite-state transducers") (description "OpenFst is a library for constructing, combining, optimizing, and searching weighted finite-state transducers (FSTs).") (license license:asl2.0))) +;; This is a temporary addition to bypass upstream issues with the kaldi +;; package. +(define-public openfst-1.7.3 + (package (inherit openfst) + (version "1.7.3") + (source (origin + (method url-fetch) + (uri (string-append "http://www.openfst.org/twiki/pub/FST/" + "FstDownload/openfst-" version ".tar.gz")) + (sha256 + (base32 + "038a60w7y8qnbxmcrsim9rafz9mihsny8xv50jpzlr7rl166pp5q")))) + (arguments '(#:configure-flags '("--enable-ngram-fsts" "CXXFLAGS=-std=c++14") + #:make-flags '("CXXFLAGS=-std=c++14"))))) + (define-public shogun (package (name "shogun") @@ -1465,8 +1481,9 @@ discrete, and conditional dimensions.") ;; There have been no proper releases yet. (define-public kaldi - (let ((commit "d4791c0f3fc1a09c042dac365e120899ee2ad21e") - (revision "2")) + (let ((commit "dd107fd594ac58af962031c1689abfdc10f84452") + (revision "0") + (openfst openfst-1.7.3)) ;; Temporary bypass for upstream issues (package (name "kaldi") (version (git-version "0" revision commit)) @@ -1478,7 +1495,7 @@ discrete, and conditional dimensions.") (file-name (git-file-name name version)) (sha256 (base32 - "07k80my6f19mhrkwbzhjsnpf9871wmrwkl0ym468i830w67qyjrz")))) + "0iqbzgn7gzmgwvjfzifpbwwidxx887qmlgmsjkg7b1yzyfv00l21")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -1502,6 +1519,8 @@ discrete, and conditional dimensions.") "gst-plugin/Makefile") (("../../tools/portaudio/install") (assoc-ref inputs "portaudio"))) + (substitute* "matrix/Makefile" ;temporary test bypass + (("matrix-lib-test sparse-matrix-test") "")) ;; This `configure' script doesn't support variables passed as ;; arguments, nor does it support "prefix". diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index a434c70576..1c1d82758b 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2021 Guillaume Le Vaillant ;;; Copyright © 2021 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2022 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -125,14 +126,14 @@ a flexible and convenient way.") (define-public man-db (package (name "man-db") - (version "2.9.4") + (version "2.10.2") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/man-db/man-db-" version ".tar.xz")) (sha256 (base32 - "0mk7n7yn6scy785jhg1j14b3q9l0cgvpry49r0ldjsnizbnrjv5n")))) + "0kaiymd5lh4dnp6z15fnvfg0ir81kdxp5l690ccp64ra956rb5zf")))) (build-system gnu-build-system) (arguments (list #:phases @@ -145,9 +146,7 @@ a flexible and convenient way.") (substitute* file (("#! /bin/sh") (string-append "#!" (which "sh"))))) - (remove file-is-directory? - (find-files "src/tests" ".*"))) - #t))) + (find-files "src/tests"))))) (add-after 'unpack 'patch-absolute-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/man.c" @@ -160,64 +159,53 @@ a flexible and convenient way.") (("groff_preconv = NULL") (string-append "groff_preconv = \"" (assoc-ref inputs "groff-minimal") - "/bin/preconv\""))) - #t))) + "/bin/preconv\"")))))) #:configure-flags - #~(let ((groff (assoc-ref %build-inputs "groff")) - (groff-minimal (assoc-ref %build-inputs "groff-minimal")) - (less (assoc-ref %build-inputs "less")) - (gzip (assoc-ref %build-inputs "gzip")) - (bzip2 (assoc-ref %build-inputs "bzip2")) - (xz (assoc-ref %build-inputs "xz")) - (util (assoc-ref %build-inputs "util-linux"))) - ;; Invoke groff, less, gzip, bzip2, & xz directly from the store. - (append (list ;; Disable setuid man user. - "--disable-setuid" - ;; Don't constrain ownership of system-wide cache files. - ;; Otherwise creating the manpage database fails with - ;; man-db > 2.7.5. - "--disable-cache-owner" - (string-append "--with-pager=" less "/bin/less") - (string-append "--with-gzip=" gzip "/bin/gzip") - (string-append "--with-bzip2=" bzip2 "/bin/gzip") - (string-append "--with-xz=" xz "/bin/xz") - (string-append "--with-col=" util "/bin/col") - ;; The default systemd directories ignore --prefix. - ;; XXX TODO: Replace with simply #$OUTPUT on staging. - (string-append "--with-systemdsystemunitdir=" - #$(if (%current-target-system) - #~#$output - #~%output) - "/lib/systemd/system") - (string-append "--with-systemdtmpfilesdir=" - #$(if (%current-target-system) - #~#$output - #~%output) - "/lib/tmpfiles.d")) - (map (lambda (prog) - (string-append "--with-" prog "=" groff-minimal - "/bin/" prog)) - '("nroff" "eqn" "neqn" "tbl" "refer" "pic")))) - + #~(cons* + ;; Disable setuid man user. + "--disable-setuid" + ;; Don't constrain ownership of system-wide cache files. + ;; Otherwise creating the manpage database fails with + ;; man-db > 2.7.5. + "--disable-cache-owner" + (string-append "--with-pager=" + (search-input-file %build-inputs "bin/less")) + (string-append "--with-gzip=" + (search-input-file %build-inputs "bin/gzip")) + (string-append "--with-bzip2=" + (search-input-file %build-inputs "bin/bzip2")) + (string-append "--with-xz=" + (search-input-file %build-inputs "bin/xz")) + (string-append "--with-zstd=" + (search-input-file %build-inputs "bin/zstd")) + (string-append "--with-col=" + (search-input-file %build-inputs "bin/col")) + ;; The default systemd directories ignore --prefix. + (string-append "--with-systemdsystemunitdir=" + #$output "/lib/systemd/system") + (string-append "--with-systemdtmpfilesdir=" + #$output "/lib/tmpfiles.d") + (map (lambda (prog) + (string-append + "--with-" prog "=" + #$(this-package-input "groff-minimal") + (string-append "/bin/" prog))) + '("nroff" "eqn" "neqn" "tbl" "refer" "pic"))) ;; At run time we should refer to GROFF-MINIMAL, not GROFF (the latter ;; pulls in Perl.) - #:disallowed-references - (list groff) - - #:modules '((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)))) + #:disallowed-references (list groff))) (native-inputs - (list pkg-config flex groff)) ;needed at build time (troff, grops, soelim, etc.) + (list pkg-config flex + ;; Groff is needed at build time for troff, grops, soelim, etc. + groff)) (inputs (list gdbm groff-minimal less libpipeline - ;; FIXME: 4.8 and later can use libseccomp, but it causes test - ;; failures in the build chroot. - ;;("libseccomp" ,libseccomp) - util-linux)) + libseccomp + util-linux + zstd)) (native-search-paths (list (search-path-specification (variable "MANPATH") diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 83f0a1810b..0ad14ba36e 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -4474,7 +4474,7 @@ parts of it.") (define-public openblas (package (name "openblas") - (version "0.3.18") + (version "0.3.20") (source (origin (method git-fetch) @@ -4484,7 +4484,7 @@ parts of it.") (file-name (git-file-name name version)) (sha256 (base32 - "17zdd8asylz2w71hczrz5y344p6d5ds1jn4901maw7zcp3dbk63g")))) + "0r4sz3rn68fyc2paq0a04pgfi7iszpm95f6ggbzxpvjzx9qxbcql")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -4543,14 +4543,14 @@ parts of it.") (lambda* (#:key inputs #:allow-other-keys) ;; Get libgfortran found when building in utest. (setenv "FEXTRALIB" - (string-append "-L" (assoc-ref inputs "fortran-lib") - "/lib"))))))) + (string-append + "-L" + (dirname + (search-input-file inputs "/lib/libgfortran.so"))))))))) (inputs - `(("fortran-lib" ,gfortran "lib"))) + (list `(,gfortran "lib"))) (native-inputs - `(("cunit" ,cunit) - ("fortran" ,gfortran) - ("perl" ,perl))) + (list cunit gfortran perl)) (home-page "https://www.openblas.net/") (synopsis "Optimized BLAS library based on GotoBLAS") (description diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 127cfdf7aa..da140b29ad 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2020 Jean-Baptiste Note ;;; Copyright © 2020 Michael Rohleder ;;; Copyright © 2020 Vinicius Monego +;;; Copyright © 2020 Hartmut Goebel ;;; Copyright © 2021 Stefan Reichör ;;; Copyright © 2021 Xinglu Chen ;;; Copyright © 2020 Hartmut Goebel diff --git a/gnu/packages/patches/python2-pyopenssl-openssl-compat.patch b/gnu/packages/patches/python2-pyopenssl-openssl-compat.patch new file mode 100644 index 0000000000..a185f4172d --- /dev/null +++ b/gnu/packages/patches/python2-pyopenssl-openssl-compat.patch @@ -0,0 +1,51 @@ +Adjust for OpenSSL 1.1.1: + + https://github.com/pyca/pyopenssl/issues/1043 + +Taken from upstream: + + https://github.com/pyca/pyopenssl/commit/cc5c00ae5fd3c19d07fff79b5c4a08f5e58697ad + +diff --git a/src/OpenSSL/SSL.py b/src/OpenSSL/SSL.py +index 59f21cec..fcdee047 100644 +--- a/src/OpenSSL/SSL.py ++++ b/src/OpenSSL/SSL.py +@@ -1421,6 +1421,12 @@ def set_alpn_protos(self, protos): + This list should be a Python list of bytestrings representing the + protocols to offer, e.g. ``[b'http/1.1', b'spdy/2']``. + """ ++ # Different versions of OpenSSL are inconsistent about how they handle empty ++ # proto lists (see #1043), so we avoid the problem entirely by rejecting them ++ # ourselves. ++ if not protos: ++ raise ValueError("at least one protocol must be specified") ++ + # Take the list of protocols and join them together, prefixing them + # with their lengths. + protostr = b"".join( +@@ -2449,6 +2455,12 @@ def set_alpn_protos(self, protos): + This list should be a Python list of bytestrings representing the + protocols to offer, e.g. ``[b'http/1.1', b'spdy/2']``. + """ ++ # Different versions of OpenSSL are inconsistent about how they handle empty ++ # proto lists (see #1043), so we avoid the problem entirely by rejecting them ++ # ourselves. ++ if not protos: ++ raise ValueError("at least one protocol must be specified") ++ + # Take the list of protocols and join them together, prefixing them + # with their lengths. + protostr = b"".join( +diff --git a/tests/test_ssl.py b/tests/test_ssl.py +index ffc505d8..ca363b45 100644 +--- a/tests/test_ssl.py ++++ b/tests/test_ssl.py +@@ -1928,7 +1928,7 @@ def test_alpn_call_failure(self): + protocols list. Ensure that we produce a user-visible error. + """ + context = Context(SSLv23_METHOD) +- with pytest.raises(Error): ++ with pytest.raises(ValueError): + context.set_alpn_protos([]) + + def test_alpn_set_on_connection(self): diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm index 9d56e6e3c5..d7a8909ab4 100644 --- a/gnu/packages/polkit.scm +++ b/gnu/packages/polkit.scm @@ -54,7 +54,6 @@ (package (name "polkit") (version "0.120") - (replacement polkit-mozjs/fixed) (source (origin (method url-fetch) (uri (string-append @@ -63,7 +62,8 @@ (sha256 (base32 "00zfg9b9ivkcj2jcf5b92cpvvyljz8cmfwj86lkvy5rihnd5jypf")) - (patches (search-patches "polkit-configure-elogind.patch")) + (patches (search-patches "polkit-configure-elogind.patch" + "polkit-CVE-2021-4034.patch")) (modules '((guix build utils))) (snippet '(begin @@ -93,12 +93,12 @@ (propagated-inputs (list glib)) ; required by polkit-gobject-1.pc (native-inputs - `(("pkg-config" ,pkg-config) - ("glib:bin" ,glib "bin") ; for glib-mkenums - ("intltool" ,intltool) - ("gobject-introspection" ,gobject-introspection) - ("libxslt" ,libxslt) ; for man page generation - ("docbook-xsl" ,docbook-xsl))) ; for man page generation + (list pkg-config + `(,glib "bin") ;for glib-mkenums + intltool + gobject-introspection + libxslt ;for man page generation + docbook-xsl)) ;for man page generation (arguments `(#:configure-flags '("--sysconfdir=/etc" "--enable-man-pages" @@ -147,16 +147,6 @@ making process with respect to granting access to privileged operations for unprivileged applications.") (license lgpl2.0+))) -(define-public polkit-mozjs/fixed - (package - (inherit polkit-mozjs) - (version "0.121") - (source (origin - (inherit (package-source polkit-mozjs)) - (patches (cons (search-patch "polkit-CVE-2021-4034.patch") - (origin-patches - (package-source polkit-mozjs)))))))) - ;;; Variant of polkit built with Duktape, a lighter JavaScript engine compared ;;; to mozjs. (define-public polkit-duktape @@ -180,13 +170,11 @@ for unprivileged applications.") (lambda _ (delete-file "configure"))))))) (native-inputs - (append `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config)) - (package-native-inputs base))) - (inputs (alist-replace "mozjs" `(,duktape) - (package-inputs base)))))) + (modify-inputs (package-native-inputs base) + (prepend autoconf automake libtool))) + (inputs + (modify-inputs (package-inputs base) + (replace "mozjs" duktape)))))) (define polkit-for-system (mlambda (system) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 753f6bb503..84e9102bee 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -421,13 +421,13 @@ for example, for recording or replaying web content.") (define-public python-certifi (package (name "python-certifi") - (version "2020.12.5") + (version "2021.10.8") (source (origin (method url-fetch) (uri (pypi-uri "certifi" version)) (sha256 (base32 - "177mdbw0livdjvp17sz6wsfrc32838m9y59v871gpgv2888raj8s")))) + "0wl8ln7acd797i1q7mmb430l6hqwhmk4bd37x8ycw02b3my4x23q")))) (build-system python-build-system) (arguments '(#:tests? #f)) ;no tests (home-page "https://certifi.io/") @@ -437,17 +437,17 @@ for example, for recording or replaying web content.") is used by the Requests library to verify HTTPS requests.") (license license:asl2.0))) -(define-public python-cryptography-vectors +(define-public python-cryptography-vectors-next (package (name "python-cryptography-vectors") - (version "3.3.1") + (version "36.0.1") (source (origin (method url-fetch) (uri (pypi-uri "cryptography_vectors" version)) (sha256 (base32 - "192wix3sr678x21brav5hgc6j93l7ab1kh69p2scr3fsblq9qy03")))) + "166mvhhmgglqai1sjkkb76mpdkad2yykam11d2w44hs2snpr117w")))) (build-system python-build-system) (home-page "https://github.com/pyca/cryptography") (synopsis "Test vectors for the cryptography package") @@ -456,53 +456,19 @@ is used by the Requests library to verify HTTPS requests.") ;; Distributed under either BSD-3 or ASL2.0 (license (list license:bsd-3 license:asl2.0)))) -(define-public python-cryptography +(define-public python-cryptography-vectors (package - (name "python-cryptography") - (version "3.3.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "cryptography" version)) - (sha256 - (base32 - "1ribd1vxq9wwz564mg60dzcy699gng54admihjjkgs9dx95pw5vy")))) - (build-system python-build-system) - (inputs - (list openssl)) - (propagated-inputs - (list python-asn1crypto python-cffi python-six python-idna - python-iso8601)) - (native-inputs - (list python-cryptography-vectors python-hypothesis python-pretend - python-pytz python-pytest)) - (home-page "https://github.com/pyca/cryptography") - (synopsis "Cryptographic recipes and primitives for Python") - (description - "cryptography is a package which provides cryptographic recipes and -primitives to Python developers. It aims to be the “cryptographic standard -library” for Python. The package includes both high level recipes, and low -level interfaces to common cryptographic algorithms such as symmetric ciphers, -message digests and key derivation functions.") - ;; Distributed under either BSD-3 or ASL2.0 - (license (list license:bsd-3 license:asl2.0)))) - -;; TODO: Make this the default in the next staging cycle. -(define-public python-cryptography-vectors-next - (package - (inherit python-cryptography-vectors) - (version "36.0.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "cryptography_vectors" version)) - (sha256 - (base32 - "166mvhhmgglqai1sjkkb76mpdkad2yykam11d2w44hs2snpr117w")))))) + (inherit python-cryptography-vectors-next) + (version "3.4.8") + (source (origin + (method url-fetch) + (uri (pypi-uri "cryptography_vectors" version)) + (sha256 + (base32 "1wl0ynh3lzhc6q59g8mybvijmnp195x7fjxlb3h3sgcraw14312c")))))) (define-public python-cryptography-next (package - (inherit python-cryptography) + (name "python-cryptography") (version "36.0.1") (source (origin @@ -607,43 +573,79 @@ message digests and key derivation functions.") python-pytest python-pytest-subtests python-setuptools-rust - rust `(,rust "cargo"))) - (properties '()))) + rust + `(,rust "cargo"))) + (home-page "https://github.com/pyca/cryptography") + (synopsis "Cryptographic recipes and primitives for Python") + (description + "cryptography is a package which provides cryptographic recipes and +primitives to Python developers. It aims to be the “cryptographic standard +library” for Python. The package includes both high level recipes, and low +level interfaces to common cryptographic algorithms such as symmetric ciphers, +message digests and key derivation functions.") + ;; Distributed under either BSD-3 or ASL2.0 + (license (list license:bsd-3 license:asl2.0)))) +(define-public python-cryptography + (package + (inherit python-cryptography-next) + (version "3.4.8") + (source (origin + (method url-fetch) + (uri (pypi-uri "cryptography" version)) + (sha256 + (base32 "072awar70cwfd2hnx0pvp1dkc7gw45mbm3wcyddvxz5frva5xk4l")))) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-no-rust + (lambda _ + (setenv "CRYPTOGRAPHY_DONT_BUILD_RUST" "1")))))) + (inputs (list openssl)) + (native-inputs + (list python-cryptography-vectors + python-hypothesis + python-pretend + python-pytz + python-pytest + python-setuptools-rust)))) + +;; This is the last version which is compatable with python-cryptography < 35. (define-public python-pyopenssl (package (name "python-pyopenssl") - (version "20.0.1") + (version "21.0.0") (source (origin (method url-fetch) (uri (pypi-uri "pyOpenSSL" version)) (sha256 (base32 - "0labcbh2g0jhgisd79wx9kixmi6fip28096d1xb05fj3jmsiq8sc")))) + "1cqcc20fwl521z3fxsc1c98gbnhb14q55vrvjfp6bn6h8rg8qbay")) + (patches (search-patches "python2-pyopenssl-openssl-compat.patch")))) (build-system python-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (delete 'check) - (add-after 'install 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - ;; PyOpenSSL runs tests against a certificate with a fixed - ;; expiry time. To ensure successful builds in the future, - ;; set the time to roughly the release date. - (invoke "faketime" "2021-05-01" "py.test" "-v" "-k" - (string-append - ;; This test tries to look up certificates from - ;; the compiled-in default path in OpenSSL, which - ;; does not exist in the build environment. - "not test_fallback_default_verify_paths " - ;; This test attempts to make a connection to - ;; an external web service. - "and not test_set_default_verify_paths " - ;; Fails on i686-linux and possibly other 32-bit platforms - ;; https://github.com/pyca/pyopenssl/issues/974 - "and not test_verify_with_time"))))))) + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; PyOpenSSL runs tests against a certificate with a fixed + ;; expiry time. To ensure successful builds in the future, + ;; set the time to roughly the release date. + (invoke "faketime" "2022-02-01" "py.test" "-v" "-k" + (string-append + ;; This test tries to look up certificates from + ;; the compiled-in default path in OpenSSL, which + ;; does not exist in the build environment. + "not test_fallback_default_verify_paths " + ;; This test attempts to make a connection to + ;; an external web service. + "and not test_set_default_verify_paths " + ;; Fails on i686-linux and possibly other 32-bit platforms + ;; https://github.com/pyca/pyopenssl/issues/974 + "and not test_verify_with_time")))))))) (propagated-inputs (list python-cryptography python-six)) (inputs diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 06a0d2593b..0182679acd 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -2773,17 +2773,19 @@ APIs.") (define-public python-requests (package (name "python-requests") - (version "2.26.0") + (version "2.27.1") (source (origin (method url-fetch) (uri (pypi-uri "requests" version)) (sha256 (base32 - "19q73fq7hip7b74fwls3p9x6zwvfwqcwpn6kha3zsgvrrzw5iamq")))) + "0qcsbi919d689xqlgyhw9zkppp1fs6k09wwffa3ri6d8smpwbmv8")))) (build-system python-build-system) (propagated-inputs - (list python-certifi python-chardet python-charset-normalizer - python-idna python-urllib3)) + (list python-certifi + python-charset-normalizer + python-idna + python-urllib3)) (arguments ;; FIXME: Some tests require network access. '(#:tests? #f)) @@ -3032,14 +3034,14 @@ addon for removing tracking fields from URLs.") (define-public python-urllib3 (package (name "python-urllib3") - (version "1.26.7") + (version "1.26.8") (source (origin (method url-fetch) (uri (pypi-uri "urllib3" version)) (sha256 (base32 - "1kkf6gi8a1fs0dqkf6kpmdpsy97iirvliz8q1krxp8ppaiawd1s9")))) + "0g18xk7gfm88gr4bp3f58vgvsbzwps3sq2kqhv5xyz9ylvck6z0f")))) (build-system python-build-system) (arguments `(#:tests? #f)) (propagated-inputs diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 17d77972e5..5b808b710a 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -7119,26 +7119,22 @@ a multithreaded image-processing system with low memory needs.") (define-public python-pycparser (package (name "python-pycparser") - (version "2.20") + (version "2.21") (source (origin (method url-fetch) (uri (pypi-uri "pycparser" version)) (sha256 (base32 - "1w0m3xvlrzq4lkbvd1ngfm8mdw64r1yxy6n7djlw6qj5d0km6ird")))) + "01kjlyn5w2nn2saj8w1rhq7v26328pd91xwgqn32z1zp2bngsi76")))) (outputs '("out" "doc")) (build-system python-build-system) - (native-inputs - (list pkg-config)) (arguments `(#:phases (modify-phases %standard-phases (replace 'check (lambda _ - (with-directory-excursion "tests" - (invoke "python" "all_tests.py")) - #t)) + (invoke "python" "-m" "unittest" "discover"))) (add-after 'install 'install-doc (lambda* (#:key outputs #:allow-other-keys) (let* ((data (string-append (assoc-ref outputs "doc") "/share")) @@ -7149,8 +7145,7 @@ a multithreaded image-processing system with low memory needs.") (copy-file (string-append "." file) (string-append doc file))) '("/README.rst" "/CHANGES" "/LICENSE")) - (copy-recursively "examples" examples) - #t)))))) + (copy-recursively "examples" examples))))))) (home-page "https://github.com/eliben/pycparser") (synopsis "C parser in Python") (description @@ -11838,14 +11833,14 @@ for OER and UPER.") (define-public python-idna (package (name "python-idna") - (version "2.10") + (version "3.3") (source (origin (method url-fetch) (uri (pypi-uri "idna" version)) (sha256 (base32 - "1xmk3s92d2vq42684p61wixfmh3qpr2mw762w0n6662vhlpqf1xk")))) + "0v8f6qjfi5i7qc5icsbv2pi24qy6k6m8wjqjvdf2sxjvlpq3yr4x")))) (build-system python-build-system) (home-page "https://github.com/kjd/idna") (synopsis "Internationalized domain names in applications") @@ -12906,10 +12901,10 @@ time.") texlive-unicode-math texlive-xcolor (texlive-updmap.cfg (list texlive-amsfonts + texlive-amsmath texlive-eurosym texlive-fonts-rsfs texlive-jknappen - texlive-latex-amsmath texlive-latex-ucs texlive-lm texlive-lm-math @@ -13203,19 +13198,40 @@ simulation, statistical modeling, machine learning and much more.") (define-public python-chardet (package (name "python-chardet") - (version "3.0.4") + (version "4.0.0") (source (origin (method url-fetch) (uri (pypi-uri "chardet" version)) (sha256 (base32 - "1bpalpia6r5x1kknbk11p1fzph56fmmnp405ds8icksd3knr5aw4")))) + "1ykr04qyhgpc0h5b7dhqw4g92b1xv7ki2ky910mhy4mlbnhm6vqd")))) (native-inputs - (list python-hypothesis python-pytest python-pytest-runner)) + (list python-pytest)) (build-system python-build-system) - ;; XXX: Incompatible with Pytest 4: . - (arguments `(#:tests? #f)) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "pytest" "-vv"))) + ;; This package provides a 'chardetect' executable that only + ;; depends on Python, so customize the wrap phase to avoid + ;; adding pytest and friends in order to save size. + ;; (See also .) + (replace 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((sitedir (site-packages inputs outputs)) + (python (dirname (dirname + (search-input-file + inputs "bin/python")))) + (python-sitedir + (string-append python "/lib/python" + (python-version python) + "/site-packages"))) + (wrap-program (string-append #$output "/bin/chardetect") + `("GUIX_PYTHONPATH" ":" suffix + ,(list sitedir python-sitedir))))))))) (home-page "https://github.com/chardet/chardet") (synopsis "Universal encoding detector for Python 2 and 3") (description @@ -13226,14 +13242,34 @@ automatically detect a wide range of file encodings.") (define-public python-charset-normalizer (package (name "python-charset-normalizer") - (version "2.0.5") + (version "2.0.11") (source (origin (method url-fetch) (uri (pypi-uri "charset-normalizer" version)) (sha256 - (base32 "0rr3iv2xw4rz5ijnfqk229fw85cq6p6rhqqsilm0ldzncblfg63h")))) + (base32 "071pi2kd222rjjrjdllffqv3iz4bfaj93a9bfs65907fd6fqlfcq")))) (build-system python-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + ;; This package provides a 'normalizer' executable that only + ;; depends on Python, so customize the wrap phase to avoid + ;; adding pytest and friends in order to save size. + ;; (See also .) + (replace 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((sitedir (site-packages inputs outputs)) + (python (dirname (dirname + (search-input-file + inputs "bin/python")))) + (python-sitedir + (string-append python "/lib/python" + (python-version python) + "/site-packages"))) + (wrap-program (string-append #$output "/bin/normalizer") + `("GUIX_PYTHONPATH" ":" suffix + ,(list sitedir python-sitedir))))))))) (native-inputs (list python-pytest)) (home-page "https://github.com/ousret/charset_normalizer") diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 31d2b0f625..dfae252f0a 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -530,7 +530,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).") ("python-scipy" ,python-scipy) ("python-sphinx" ,python-sphinx) ("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts - texlive-latex-amsmath + texlive-amsmath ;; TODO: Add newunicodechar. texlive-latex-graphics))) ("xorg-server" ,xorg-server-for-tests))) @@ -738,7 +738,7 @@ to access different radio hardware.") ("libtool" ,libtool) ("pkg-config" ,pkg-config) ("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts - texlive-latex-amsmath + texlive-amsmath ;; TODO: Add newunicodechar. texlive-latex-graphics))))) (inputs diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 45fa5d8606..8f5bda4638 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Matthew Jordan ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2019, 2021 Efraim Flashner +;;; Copyright © 2019, 2021, 2022 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +20,7 @@ (define-module (gnu packages rails) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) @@ -291,6 +292,13 @@ directly.") (base32 "17vdh273cmmfpzy5m546dd13zqmimv54jjx0f7sl0zi5lwz0gnck")))) (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'delete-gemfile.lock + (lambda _ + (delete-file "Gemfile.lock")))))) (native-inputs (list bundler)) (propagated-inputs diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 26d6df7a94..67dc5cdaf3 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -121,12 +121,10 @@ (package-native-inputs base-rust)))))) ;;; Note: mrustc's only purpose is to be able to bootstap Rust; it's designed -;;; to be used in source form. The latest support for bootstrapping from -;;; 1.39.0 is not yet released so use the latest commit (see: -;;; https://github.com/thepowersgang/mrustc/issues/185). -(define %mrustc-commit "c7066542f8e93d320323749216bf3c82aecb67c2") +;;; to be used in source form. +(define %mrustc-commit "b364724f15fd6fce8234ad8add68107c23a22151") (define %mrustc-source - (let* ((version "0.9") + (let* ((version "0.10") (commit %mrustc-commit) (revision "1") (name "mrustc")) @@ -138,7 +136,7 @@ (file-name (git-file-name name (git-version version revision commit))) (sha256 (base32 - "0zv1x6601s5fnnkcdlqkc4bknisqz569qb0iyb9rjsmaf1kh0na3"))))) + "0f7kh4n2663sn0z3xib8gzw0s97qpvwag40g2vs3bfjlrbpgi9z0"))))) ;;; Rust 1.39 is special in that it is built with mrustc, which shortens the ;;; bootstrap path. @@ -237,10 +235,11 @@ ,(string-take %mrustc-commit 7) "\\\"" " -D VERSION_BUILDTIME=" "\"\\\"Thu, 01 Jan 1970 00:00:01 +0000\\\"\"" - " -D VERSION_GIT_ISDIRTY=0\n")) + " -D VERSION_GIT_ISDIRTY=0\n"))) + (substitute* "minicargo.mk" ;; Do not try to fetch sources from the Internet. - ((": \\$\\(RUSTC_SRC_DL\\)") - ":")) + (("\\$\\(MINICARGO\\) \\$\\(RUSTC_SRC_DL\\)") + "$(MINICARGO)")) (substitute* "run_rustc/Makefile" (("[$]Vtime ") "$V ") @@ -248,6 +247,9 @@ (("-j [[:digit:]]+ ") "") ;; Patch the shebang of a generated wrapper for rustc + (("#!/bin/sh") + (string-append "#!" (which "sh")))) + (substitute* "run_rustc/rustc_proxy.sh" (("#!/bin/sh") (string-append "#!" (which "sh")))))))) (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums @@ -322,9 +324,9 @@ safety and thread safety guarantees.") (home-page "https://github.com/thepowersgang/mrustc") - ;; So far mrustc is x86_64-only. It may support i686 soon: + ;; So far mrustc is (x86_64|aarch64)-only. It may support i686 soon: ;; . - (supported-systems '("x86_64-linux")) + (supported-systems '("x86_64-linux" "aarch64-linux")) ;; Dual licensed. (license (list license:asl2.0 license:expat)))) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 4831cf0933..1dd3f09f90 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -1455,139 +1455,6 @@ Taco Hoekwater.") (define-public texlive-amsfonts (let ((template (simple-texlive-package "texlive-amsfonts" - (list "/source/latex/amsfonts/" - "/fonts/source/public/amsfonts/" - "/fonts/type1/public/amsfonts/" - "/fonts/afm/public/amsfonts/" - "/fonts/map/dvips/amsfonts/" - "/tex/plain/amsfonts/" - "/doc/fonts/amsfonts/") - (base32 - "15q70nkjf8wqzbd5ivcdx3i2sdgqxjb38q0qn9a2qw9i0qcnx6zw")))) - (package - (inherit template) - ;; TODO: This package is missing files. - (replacement texlive-amsfonts/fixed) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:build-targets _ #t) - '(list "amsfonts.ins")) - ((#:tex-directory _ #t) - "latex/amsfonts") - ((#:modules modules '()) - `((guix build texlive-build-system) - (guix build utils) - (ice-9 match) - (srfi srfi-1) - (srfi srfi-26))) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-fonts - (lambda* (#:key inputs #:allow-other-keys) - ;; Allow self fonts sources and other resources to be - ;; discovered. - (setenv "GUIX_TEXMF" (string-append (getenv "GUIX_TEXMF") - ":" (getcwd))) - - (let ((build (string-append (getcwd) "/build-fonts"))) - (mkdir-p build) - (with-directory-excursion "fonts/source/public/amsfonts" - (for-each (lambda (font) - (format #t "building font ~a\n" (basename font ".mf")) - (with-directory-excursion (dirname font) - (invoke "mf" "-progname=mf" - (string-append "-output-directory=" build) - (string-append "\\" - "mode:=ljfour; " - "mag:=1; " - "nonstopmode; " - "input " - (getcwd) "/" - (basename font ".mf"))))) - (find-files "." "[0-9]+\\.mf$")))) - - ;; There are no metafont sources for the Euler fonts, so we - ;; convert the afm files instead. - (let ((build (string-append (getcwd) "/build-fonts/euler"))) - (mkdir build) - (with-directory-excursion "fonts/afm/public/amsfonts/euler" - (for-each (lambda (font) - (format #t "converting afm font ~a\n" (basename font ".afm")) - (invoke "afm2tfm" font - (string-append build "/" - (basename font ".tfm")))) - (find-files "(cmextra|cyrillic|dummy|euler|symbols)" - "\\.afm$"))) - - ;; Frustratingly, not all fonts can be created this way. To - ;; generate eufm8.tfm, for example, we first scale down - ;; eufm10.afm to eufm8.pl, and then generate the tfm file from - ;; the pl file. - (setenv "TEXINPUTS" - (string-append ":" build "//:" - (getcwd) "/fonts/afm/public/amsfonts//:" - (getcwd) "/source/latex/amsfonts//:")) - (with-directory-excursion build - (for-each (match-lambda - (((target-base target-size) - (source-base source-size)) - (let ((factor (number->string - (truncate/ (* 1000 target-size) - source-size)))) - (invoke "tex" - "-interaction=scrollmode" - (string-append "\\input fontinst.sty " - "\\transformfont{" target-base "}" - "{\\scalefont{" factor "}" - "{\\fromafm{" source-base "}}} " - "\\bye"))) - (invoke "pltotf" - (string-append target-base ".pl") - (string-append target-base ".tfm")) - (delete-file (string-append target-base ".pl")))) - - '((("eufm8" 8) ("eufm10" 10)) - - (("eufb6" 6) ("eufb7" 7)) - (("eufb8" 8) ("eufb10" 10)) - (("eufb9" 9) ("eufb10" 10)) - - (("eufm6" 6) ("eufb7" 7)) - (("eufm9" 9) ("eufb10" 10)) - - (("eurb6" 6) ("eurb7" 7)) - (("eurb8" 8) ("eurb10" 10)) - (("eurb9" 9) ("eurb10" 10)) - - (("eurm6" 6) ("eurm7" 7)) - (("eurm8" 8) ("eurm10" 10)) - (("eurm9" 9) ("eurm10" 10)))))))) - (add-after 'install 'install-generated-fonts - (lambda* (#:key inputs outputs #:allow-other-keys) - (copy-recursively "build-fonts" - (string-append - (assoc-ref outputs "out") - "/share/texmf-dist/fonts/tfm/public/amsfonts")))))))) - (native-inputs - (list (texlive-updmap.cfg (list texlive-fontinst)))) - (home-page "https://www.ctan.org/pkg/amsfonts") - (synopsis "TeX fonts from the American Mathematical Society") - (description - "This package provides an extended set of fonts for use in mathematics, -including: extra mathematical symbols; blackboard bold letters (uppercase -only); fraktur letters; subscript sizes of bold math italic and bold Greek -letters; subscript sizes of large symbols such as sum and product; added sizes -of the Computer Modern small caps font; cyrillic fonts (from the University of -Washington); Euler mathematical fonts. All fonts are provided as Adobe Type 1 -files, and all except the Euler fonts are provided as Metafont source. The -distribution also includes the canonical Type 1 versions of the Computer -Modern family of fonts. The Euler fonts are supported by separate packages; -details can be found in the documentation.") - (license license:silofl1.1)))) - -(define-public texlive-amsfonts/fixed - (let ((template (simple-texlive-package - "texlive-amsfonts-fixed" (list "/source/latex/amsfonts/" "/fonts/source/public/amsfonts/" "/fonts/type1/public/amsfonts/" @@ -4059,37 +3926,6 @@ loading fonts by their proper names instead of file names.") (define-deprecated-package texlive-luatex-luaotfload texlive-luaotfload) -(define-public texlive-latex-amsmath - (package - (name "texlive-latex-amsmath") - (version (number->string %texlive-revision)) - (source (origin - (method svn-fetch) - (uri (texlive-ref "latex" "amsmath")) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "172zybw7rp05jca8wl6x0mh6z6gncdyi1j9wdfyjnhbvqw0z4wi4")))) - ;; This package misses important files - (replacement texlive-amsmath) - (build-system texlive-build-system) - (arguments '(#:tex-directory "latex/amsmath")) - (home-page "https://www.ctan.org/pkg/amsmath") - (synopsis "AMS mathematical facilities for LaTeX") - (description - "This is the principal package in the AMS-LaTeX distribution. It adapts -for use in LaTeX most of the mathematical features found in AMS-TeX; it is -highly recommended as an adjunct to serious mathematical typesetting in LaTeX. -When amsmath is loaded, AMS-LaTeX packages @code{amsbsyamsbsy} (for bold -symbols), @code{amsopnamsopn} (for operator names) and -@code{amstextamstext} (for text embedded in mathematics) are also loaded. -This package is part of the LaTeX required distribution; however, several -contributed packages add still further to its appeal; examples are -@code{empheqempheq}, which provides functions for decorating and highlighting -mathematics, and @code{ntheoremntheorem}, for specifying theorem (and similar) -definitions.") - (license license:lppl1.3c+))) - (define-public texlive-amsmath (let ((template (simple-texlive-package "texlive-amsmath" @@ -4135,6 +3971,8 @@ mathematics, and @code{ntheoremntheorem}, for specifying theorem (and similar) definitions.") (license license:lppl1.3c+)))) +(define-deprecated-package texlive-latex-amsmath texlive-amsmath) + (define-public texlive-amscls (let ((template (simple-texlive-package "texlive-amscls" @@ -4175,8 +4013,6 @@ distribution.") "0qr5vjp79g1c1l6k173qhfdfabgbky73wymzhm56pazx4a8r08wz")))) (package (inherit template) - ;; TODO: This package is missing files. - (replacement texlive-babel/fixed) (arguments (substitute-keyword-arguments (package-arguments template) ((#:tex-directory _ #t) @@ -4184,14 +4020,27 @@ distribution.") ((#:phases phases) `(modify-phases ,phases (add-after 'unpack 'chdir - (lambda _ (chdir "source/latex/babel/") #t)) + (lambda _ (chdir "source/latex/babel/"))) ;; This package tries to produce babel.aux twice but refuses to ;; overwrite the first one. (add-before 'build 'fix-ins (lambda _ (substitute* "babel.ins" - (("askonceonly") "askforoverwritefalse")) - #t)) + (("askonceonly") "askforoverwritefalse")))) + (add-before 'copy-files 'unchdir + (lambda _ + (chdir "../../.."))) + (add-after 'copy-files 'delete-extra-files + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively + (string-append (assoc-ref outputs "out") + "/share/texmf-dist/source/latex/babel/build")) + (delete-file + (string-append (assoc-ref outputs "out") + "/share/texmf-dist/tex/generic/babel/bbind.ist")) + (delete-file + (string-append (assoc-ref outputs "out") + "/share/texmf-dist/tex/generic/babel/bbglo.ist")))) (add-after 'install 'install-locales (lambda* (#:key outputs #:allow-other-keys) (let ((locale-directory @@ -4214,29 +4063,6 @@ what has to be done for each language. Users of XeTeX are advised to use the polyglossia package rather than Babel.") (license license:lppl1.3+)))) -(define-public texlive-babel/fixed - (package - (inherit texlive-babel) - (name "texlive-babel-fixed") - (arguments - (substitute-keyword-arguments (package-arguments texlive-babel) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'copy-files 'unchdir - (lambda _ - (chdir "../../.."))) - (add-after 'copy-files 'delete-extra-files - (lambda* (#:key outputs #:allow-other-keys) - (delete-file-recursively - (string-append (assoc-ref outputs "out") - "/share/texmf-dist/source/latex/babel/build")) - (delete-file - (string-append (assoc-ref outputs "out") - "/share/texmf-dist/tex/generic/babel/bbind.ist")) - (delete-file - (string-append (assoc-ref outputs "out") - "/share/texmf-dist/tex/generic/babel/bbglo.ist")))))))))) - (define-deprecated-package texlive-latex-babel texlive-babel) (define-public texlive-cs @@ -4530,8 +4356,6 @@ language that is written in a Cyrillic alphabet.") "11f14dzhwsy4pli21acccip43d36nf3pac33ihjffnps1i2mhqkd")))) (package (inherit template) - ;; TODO: This package is missing files. - (replacement texlive-psnfss/fixed) (arguments (substitute-keyword-arguments (package-arguments template) ((#:tex-directory _ #t) @@ -4540,7 +4364,15 @@ language that is written in a Cyrillic alphabet.") `(modify-phases ,phases (add-after 'unpack 'chdir (lambda _ - (chdir "source/latex/psnfss") #t)))))) + (chdir "source/latex/psnfss"))) + (add-before 'copy-files 'unchdir + (lambda _ + (chdir "../../.."))) + (add-after 'copy-files 'delete-extra-files + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively + (string-append (assoc-ref outputs "out") + "/share/texmf-dist/source/latex/psnfss/build")))))))) (native-inputs (list texlive-cm)) (home-page "https://www.ctan.org/pkg/psnfss") @@ -4559,23 +4391,6 @@ means to select single glyphs from symbol fonts. The bundle as a whole is part of the LaTeX required set of packages.") (license license:lppl1.2+)))) -(define-public texlive-psnfss/fixed - (package - (inherit texlive-psnfss) - (name "texlive-psnfss-fixed") - (arguments - (substitute-keyword-arguments (package-arguments texlive-psnfss) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'copy-files 'unchdir - (lambda _ - (chdir "../../.."))) - (add-after 'copy-files 'delete-extra-files - (lambda* (#:key outputs #:allow-other-keys) - (delete-file-recursively - (string-append (assoc-ref outputs "out") - "/share/texmf-dist/source/latex/psnfss/build")))))))))) - (define-deprecated-package texlive-latex-psnfss texlive-psnfss) ;; For user profiles @@ -4591,7 +4406,7 @@ part of the LaTeX required set of packages.") texlive-latex-base texlive-kpathsea ;for mktex.opt ;; LaTeX packages from the "required" set. - texlive-latex-amsmath + texlive-amsmath texlive-amscls texlive-babel texlive-generic-babel-english @@ -7018,8 +6833,6 @@ and alphabets with a set of text faces suitable for professional publishing.") "0yn0yl6x1z9ab5gb56lhvkqabd2agz3ggxifwxkiysrj5780j29z")))) (package (inherit template) - ;; TODO: This package is missing files. - (replacement texlive-stmaryrd/fixed) (arguments (substitute-keyword-arguments (package-arguments template) ((#:tex-directory _ #t) "latex/stmaryrd") @@ -7035,7 +6848,15 @@ and alphabets with a set of text faces suitable for professional publishing.") (("^%% LaTeX2e.*") "\\input docstrip\n") (("fontdef\\}\\}" line) (string-append line "\n\\endbatchfile"))) - #t)))))) + #t)) + (add-before 'copy-files 'unchdir + (lambda _ + (chdir "../../.."))) + (add-after 'copy-files 'delete-extra-files + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively + (string-append (assoc-ref outputs "out") + "/share/texmf-dist/source/fonts/stmaryrd/build")))))))) (home-page "https://www.ctan.org/pkg/stmaryrd") (synopsis "St Mary Road symbols for theoretical computer science") (description @@ -7046,25 +6867,6 @@ use under LaTeX; the package supports the @code{only} option (provided by the the whole font.") (license license:lppl)))) -(define-public texlive-stmaryrd/fixed - (package - (inherit texlive-stmaryrd) - (name "texlive-stmaryrd-fixed") - (arguments - (substitute-keyword-arguments (package-arguments texlive-stmaryrd) - ((#:tex-directory _ #t) - "latex/stmaryrd") - ((#:phases phases) - `(modify-phases ,phases - (add-before 'copy-files 'unchdir - (lambda _ - (chdir "../../.."))) - (add-after 'copy-files 'delete-extra-files - (lambda* (#:key outputs #:allow-other-keys) - (delete-file-recursively - (string-append (assoc-ref outputs "out") - "/share/texmf-dist/source/fonts/stmaryrd/build")))))))))) - (define-deprecated-package texlive-fonts-stmaryrd texlive-stmaryrd) (define-public texlive-latex-subfigure diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index 185bb682f6..eede7b9bd7 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -123,14 +123,14 @@ expressions.") (package (name "python-pytz") ;; This package should be kept in sync with tzdata in (gnu packages base). - (version "2021.1") + (version "2022.1") (source (origin (method url-fetch) (uri (pypi-uri "pytz" version)) (sha256 (base32 - "1nn459q7zg20n75akxl3ljkykgw1ydc8nb05rx1y4f5zjh4ak943")))) + "19ya5sh7if819flgmszz585glailhi7rr8frng03n5m8wqphwxhy")))) (build-system python-build-system) (home-page "http://pythonhosted.org/pytz") (synopsis "Python timezone library") @@ -338,14 +338,14 @@ ISO 8601 dates, time and duration.") (define-public python-iso8601 (package (name "python-iso8601") - (version "0.1.13") + (version "1.0.2") (source (origin (method url-fetch) (uri (pypi-uri "iso8601" version)) (sha256 (base32 - "1cgfj91khil4ii5gb8s6nxwm73vx7hqc2k79dd9d8990ylmc5ppp")))) + "1ccl6plks706hxm35cn1wsvxhqh3bfwi5cjgjpdxjib81qi07x97")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -353,8 +353,8 @@ ISO 8601 dates, time and duration.") (lambda _ (invoke "pytest" "-vv" "iso8601")))))) (native-inputs - (list python-pytest)) - (home-page "https://bitbucket.org/micktwomey/pyiso8601") + (list python-pytest python-pytz)) + (home-page "https://github.com/micktwomey/pyiso8601") (synopsis "Module to parse ISO 8601 dates") (description "This module parses the most common forms of ISO 8601 date strings (e.g. diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index cf50a88410..59514f9357 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2015 David Thompson ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Leo Famulari -;;; Copyright © 2016, 2017, 2019, 2021 Efraim Flashner +;;; Copyright © 2016, 2017, 2019, 2021, 2022 Efraim Flashner ;;; Copyright © 2016, 2017, 2018 Nikita ;;; Copyright © 2016 Hartmut Goebel ;;; Copyright © 2017 Ricardo Wurmus @@ -755,14 +755,14 @@ certificates for free.") (define-public perl-net-ssleay (package (name "perl-net-ssleay") - (version "1.88") + (version "1.92") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHRISN/" "Net-SSLeay-" version ".tar.gz")) (sha256 (base32 - "1pfgh4h3szcpvqlcimc60pjbk9zwls99x5863sva0wc47i4dl010")))) + "1acnjd5180dca26dmjq0b9ib0dbavlrzd6fnf4nidrzj02rz5hj7")))) (build-system perl-build-system) (inputs (list openssl)) (arguments diff --git a/gnu/packages/unicode.scm b/gnu/packages/unicode.scm index 23c5de195c..bda0de04cc 100644 --- a/gnu/packages/unicode.scm +++ b/gnu/packages/unicode.scm @@ -78,15 +78,14 @@ renderer.") (define-public ucd (package (name "ucd") - (version "12.0.0") + (version "14.0.0") (source (origin (method url-fetch/zipbomb) (uri (string-append "https://www.unicode.org/Public/zipped/" version "/UCD.zip")) (sha256 - (base32 - "1ighy39cjkmqnv1797wrxjz76mv1fdw7zp5j04q55bkwxsdkvrmh")))) + (base32 "001nq9w52ijma0vps40xwy2q6ylpyf1393lzb128ibypnmv54fh3")))) (build-system copy-build-system) (arguments '(#:install-plan diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 266379ad44..48c7c3a46d 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -46,6 +46,7 @@ ;;; Copyright © 2020 Alexandru-Sergiu Marton ;;; Copyright © 2020 Ivan Kozlov ;;; Copyright © 2020 Antoine Côté +;;; Copyright © 2020 Hartmut Goebel ;;; Copyright © 2021 Alexey Abramov ;;; Copyright © 2021 Andrew Tropin ;;; Copyright © 2021 David Wilson diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index b522b9d474..a7e1ccd6ca 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2022 Oleg Pykhalov ;;; Copyright © 2022 Ekaitz Zarraga ;;; Copyright © 2022 Arun Isaac +;;; Copyright © 2022 Zhu Zihao ;;; ;;; This file is part of GNU Guix. ;;; @@ -2001,7 +2002,7 @@ virtual machines.") (define-public bubblewrap (package (name "bubblewrap") - (version "0.5.0") + (version "0.6.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/containers/bubblewrap/" @@ -2009,7 +2010,7 @@ virtual machines.") version ".tar.xz")) (sha256 (base32 - "0608l2sjwhnb1c0mslah1h6yjvqr17wk60by6i710qwxg4rszz8n")) + "10ij62jg7p2scwdx0pm141ss7p2gjdkbbymb56y8miib2vfcf2cn")) (patches (search-patches "bubblewrap-fix-locale-in-tests.patch")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index ead9e9749e..b327338cd5 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2020 Michael Rohleder ;;; Copyright © 2020 Nicolò Balzarotti ;;; Copyright © 2020 Alexandru-Sergiu Marton +;;; Copyright © 2020 Hartmut Goebel ;;; Copyright © 2021, 2022 Cage ;;; Copyright © 2021 Benoit Joly ;;; Copyright © 2021 Alexander Krotov diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index e2e6c72974..64d747a312 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1649,7 +1649,7 @@ used to validate and fix HTML data.") (define-public esbuild (package (name "esbuild") - (version "0.12.9") + (version "0.14.0") (source (origin (method git-fetch) @@ -1658,7 +1658,7 @@ used to validate and fix HTML data.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "10bz1xq2frdja7mbx04m009svg8b5rj7vfq3sc2gc88n31v21b1j")) + (base32 "09r1xy0kk6c9cpz6q0mxr4why373pwxbm439z2ihq3k1d5kk7x4w")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index 960569f3ed..73338c73b3 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2021 Michael Rohleder ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 123e6ca7e7..acef5c5836 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016, 2019, 2020 Efraim Flashner ;;; Copyright © 2016 Al McElrath ;;; Copyright © 2016 Carlo Zancanaro -;;; Copyright © 2016, 2017, 2018, 2019, 2021 Ludovic Courtès +;;; Copyright © 2016 2019, 2021-2022 Ludovic Courtès ;;; Copyright © 2016, 2017, 2018, 2020 Nikita ;;; Copyright © 2016 doncatnip ;;; Copyright © 2016 Ivan Vilata i Balaguer @@ -2441,7 +2441,7 @@ selected to stdout. It can be controlled both via mouse and via keyboard.") libxpm libpng freetype - imlib2 + imlib2-1.7 sed)) (native-inputs (list pkg-config)) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 4c2d4cb29e..4ad8f07c09 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2014, 2015, 2017, 2018, 2020 Mark H Weaver ;;; Copyright © 2014, 2015 Eric Bavier -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès +;;; Copyright © 2015-2022 Ludovic Courtès ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2016 Mathieu Lirzin ;;; Copyright © 2015 Cyrill Schenkel @@ -26,6 +26,7 @@ ;;; Copyright © 2020, 2021 Michael Rohleder ;;; Copyright © 2020, 2021 Maxim Cournoyer ;;; Copyright © 2020 Jean-Baptiste Note +;;; Copyright © 2021 Matthew James Kraai ;;; Copyright © 2021 Nicolò Balzarotti ;;; Copyright © 2021 Matthew James Kraai ;;; Copyright © 2021 Brice Waegeneire @@ -6946,7 +6947,7 @@ the server and cleaning up before returning the exit status of the command.") (modify-phases %standard-phases (delete 'configure)))) (inputs - (list imlib2 libx11 libxinerama)) + (list imlib2-1.7 libx11 libxinerama)) (home-page "https://github.com/ttzhou/setroot") (synopsis "Simple X background setter inspired by imlibsetroot and feh") (description "Setroot is a lightweight X background setter with feh's