diff options
Diffstat (limited to 'gnu')
91 files changed, 2398 insertions, 1501 deletions
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index 120cd55012..65d7171432 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas <rosen644835@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Stefan <stefan-guix@vodafonemail.de> +;;; Copyright © 2022 Karl Hallsby <karl@hallsby.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,10 +51,12 @@ grub-theme-color-highlight grub-theme-gfxmode + install-grub-efi-removable install-grub-efi-netboot grub-bootloader grub-efi-bootloader + grub-efi-removable-bootloader grub-efi-netboot-bootloader grub-mkrescue-bootloader grub-minimal-bootloader @@ -608,6 +611,31 @@ fi~%")))) "--bootloader-id=Guix" "--efi-directory" target-esp))))) +(define install-grub-efi-removable + #~(lambda (bootloader efi-dir mount-point) + ;; NOTE: mount-point is /mnt in guix system init /etc/config.scm /mnt/point + ;; NOTE: efi-dir comes from target list of booloader configuration + ;; There is nothing useful to do when called in the context of a disk + ;; image generation. + (when efi-dir + ;; Install GRUB onto the EFI partition mounted at EFI-DIR, for the + ;; system whose root is mounted at MOUNT-POINT. + (let ((grub-install (string-append bootloader "/sbin/grub-install")) + (install-dir (string-append mount-point "/boot")) + ;; When installing Guix, it's common to mount EFI-DIR below + ;; MOUNT-POINT rather than /boot/efi on the live image. + (target-esp (if (file-exists? (string-append mount-point efi-dir)) + (string-append mount-point efi-dir) + efi-dir))) + ;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or + ;; root partition. + (setenv "GRUB_ENABLE_CRYPTODISK" "y") + (invoke/quiet grub-install "--boot-directory" install-dir + "--removable" + ;; "--no-nvram" + "--bootloader-id=Guix" + "--efi-directory" target-esp))))) + (define (install-grub-efi-netboot subdir) "Define a grub-efi-netboot bootloader installer for installation in SUBDIR, which is usually efi/Guix or efi/boot." @@ -734,6 +762,12 @@ considered for security aspects." (name 'grub-efi) (package grub-efi))) +(define grub-efi-removable-bootloader + (bootloader + (inherit grub-efi-bootloader) + (name 'grub-efi-removable-bootloader) + (installer install-grub-efi-removable))) + (define grub-efi-netboot-bootloader (bootloader (inherit grub-efi-bootloader) diff --git a/gnu/home/services.scm b/gnu/home/services.scm index 8284a4f3fc..5ee3357792 100644 --- a/gnu/home/services.scm +++ b/gnu/home/services.scm @@ -33,6 +33,7 @@ #:use-module (guix modules) #:use-module (srfi srfi-1) #:use-module (ice-9 match) + #:use-module (ice-9 vlist) #:export (home-service-type home-profile-service-type @@ -50,6 +51,7 @@ xdg-data-files-directory fold-home-service-types + lookup-home-service-types home-provenance %initialize-gettext) @@ -605,3 +607,13 @@ environment, and its configuration file, when available."))) (define* (fold-home-service-types proc seed) (fold-service-types proc seed (all-home-service-modules))) + +(define lookup-home-service-types + (let ((table + (delay (fold-home-service-types (lambda (type result) + (vhash-consq (service-type-name type) + type result)) + vlist-null)))) + (lambda (name) + "Return the list of services with the given NAME (a symbol)." + (vhash-foldq* cons '() name (force table))))) diff --git a/gnu/local.mk b/gnu/local.mk index fe9576d1de..918c9ebfa7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1299,6 +1299,7 @@ dist_patch_DATA = \ %D%/packages/patches/iputils-libcap-compat.patch \ %D%/packages/patches/ipxe-reproducible-geniso.patch \ %D%/packages/patches/irrlicht-use-system-libs.patch \ + %D%/packages/patches/irrlicht-link-against-needed-libs.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ %D%/packages/patches/itk-snap-alt-glibc-compat.patch \ %D%/packages/patches/json-c-0.13-CVE-2020-12762.patch \ @@ -1403,7 +1404,6 @@ dist_patch_DATA = \ %D%/packages/patches/libmad-length-check.patch \ %D%/packages/patches/libmad-md_size.patch \ %D%/packages/patches/libmad-mips-newgcc.patch \ - %D%/packages/patches/libmicrohttpd-0.9.73-test-ssl3.patch \ %D%/packages/patches/libmp4v2-c++11.patch \ %D%/packages/patches/libmpeg2-arm-private-symbols.patch \ %D%/packages/patches/libmpeg2-global-symbol-test.patch \ @@ -1491,7 +1491,6 @@ dist_patch_DATA = \ %D%/packages/patches/meson-allow-dirs-outside-of-prefix.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \ %D%/packages/patches/mia-fix-boost-headers.patch \ - %D%/packages/patches/minetest-add-MINETEST_MOD_PATH.patch \ %D%/packages/patches/mingw-w64-6.0.0-gcc.patch \ %D%/packages/patches/mingw-w64-dlltool-temp-prefix.patch \ %D%/packages/patches/mingw-w64-reproducible-gendef.patch \ @@ -1520,6 +1519,7 @@ dist_patch_DATA = \ %D%/packages/patches/m4-gnulib-libio.patch \ %D%/packages/patches/nautilus-add-libportal-gtk3.patch \ %D%/packages/patches/ncompress-fix-softlinks.patch \ + %D%/packages/patches/ncftp-reproducible.patch \ %D%/packages/patches/netcdf-date-time.patch \ %D%/packages/patches/netpbm-CVE-2017-2586.patch \ %D%/packages/patches/netpbm-CVE-2017-2587.patch \ @@ -1628,8 +1628,6 @@ dist_patch_DATA = \ %D%/packages/patches/picard-fix-id3-rename-test.patch \ %D%/packages/patches/picprog-non-intel-support.patch \ %D%/packages/patches/pidgin-add-search-path.patch \ - %D%/packages/patches/pigx-bsseq-no-citeproc.patch \ - %D%/packages/patches/pigx-chipseq-no-citeproc.patch \ %D%/packages/patches/pinball-system-ltdl.patch \ %D%/packages/patches/pingus-boost-headers.patch \ %D%/packages/patches/pingus-sdl-libs-config.patch \ diff --git a/gnu/packages.scm b/gnu/packages.scm index 2ba838fd0a..61345f75a9 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> +;;; Copyright © 2022 Antero Mejr <antero@mailbox.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,11 +40,11 @@ #:use-module (ice-9 binary-ports) #:autoload (system base compile) (compile) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:use-module (srfi srfi-39) + #:use-module (srfi srfi-71) #:export (search-patch search-patches search-auxiliary-file @@ -65,6 +66,7 @@ specification->package+output specification->location specifications->manifest + specifications->packages package-unique-version-prefix @@ -141,13 +143,10 @@ flags." ;; Search path for package modules. Each item must be either a directory ;; name or a pair whose car is a directory and whose cdr is a sub-directory ;; to narrow the search. - (let*-values (((not-colon) - (char-set-complement (char-set #\:))) - ((environment) - (string-tokenize (or (getenv "GUIX_PACKAGE_PATH") "") - not-colon)) - ((channels-scm channels-go) - (package-path-entries))) + (let* ((not-colon (char-set-complement (char-set #\:))) + (environment (string-tokenize (or (getenv "GUIX_PACKAGE_PATH") "") + not-colon)) + (channels-scm channels-go (package-path-entries))) ;; Automatically add channels and items from $GUIX_PACKAGE_PATH to Guile's ;; search path. For historical reasons, $GUIX_PACKAGE_PATH goes to the ;; front; channels go to the back so that they don't override Guix' own @@ -500,13 +499,13 @@ return its return value." "Return a package matching SPEC. SPEC may be a package name, or a package name followed by an at-sign and a version number. If the version number is not present, return the preferred newest version." - (let-values (((name version) (package-name->name+version spec))) + (let ((name version (package-name->name+version spec))) (%find-package spec name version))) (define (specification->location spec) "Return the location of the highest-numbered package matching SPEC, a specification such as \"guile@2\" or \"emacs\"." - (let-values (((name version) (package-name->name+version spec))) + (let ((name version (package-name->name+version spec))) (match (find-package-locations name version) (() (if version @@ -541,8 +540,8 @@ version; if SPEC does not specify an output, return OUTPUT. When OUTPUT is false and SPEC does not specify any output, return #f as the output." - (let-values (((name version sub-drv) - (package-specification->name+version+output spec output))) + (let ((name version sub-drv + (package-specification->name+version+output spec output))) (match (%find-package spec name version) (#f (values #f #f)) @@ -554,13 +553,20 @@ output." (package-full-name package) sub-drv)))))) +(define (specifications->packages specs) + "Given SPECS, a list of specifications such as \"emacs@25.2\" or +\"guile:debug\", return a list of package/output tuples." + ;; This procedure exists so users of 'guix home' don't have to write out the + ;; (map (compose list specification->package+output)... boilerplate. + (map (compose list specification->package+output) specs)) + (define (specifications->manifest specs) "Given SPECS, a list of specifications such as \"emacs@25.2\" or \"guile:debug\", return a profile manifest." ;; This procedure exists mostly so users of 'guix package -m' don't have to ;; fiddle with multiple-value returns. (packages->manifest - (map (compose list specification->package+output) specs))) + (specifications->packages specs))) (define (package-unique-version-prefix name version) "Search among all the versions of package NAME that are available, and diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 2d817fc00f..42ae928419 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -48,6 +48,7 @@ ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2021 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com> +;;; Copyright © 2022 Roman Riabenko <roman@riabenko.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -407,7 +408,7 @@ inspired by @command{vi}.") (define-public cloud-utils (package (name "cloud-utils") - (version "0.32") + (version "0.33") (source (origin (method url-fetch) @@ -419,7 +420,11 @@ inspired by @command{vi}.") "0xxdi55lzw7j91zfajw7jhd2ilsqj2dy04i9brlk8j3pvb5ma8hk")))) (build-system gnu-build-system) (arguments - '(#:make-flags + '(#:modules + ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + #:make-flags (let ((out (assoc-ref %outputs "out"))) (list (string-append "BINDIR=" out "/bin") (string-append "MANDIR=" out "/share/man/man1") @@ -433,11 +438,15 @@ inspired by @command{vi}.") (let ((growpart (string-append (assoc-ref outputs "out") "/bin/growpart"))) (wrap-program growpart - `("PATH" ":" prefix (,(dirname (which "sfdisk")) - ,(dirname (which "readlink")))))) - #t))))) + `("PATH" ":" prefix + ,(map dirname + (map (cut search-input-file inputs <>) + (list "bin/readlink" + "sbin/sfdisk"))))))))))) (inputs - (list python util-linux)) ; contains sfdisk for growpart + (list coreutils ; for readlink + python + util-linux)) ; sfdisk for growpart (home-page "https://launchpad.net/cloud-utils") (synopsis "Set of utilities for cloud computing environments") (description @@ -525,7 +534,7 @@ services.") (base32 "0w4g0iyssyw7dd0061881z8s5czcl01mz6v00znax57zfxjqpvnm")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ; No tests available. - (home-page "http://software.clapper.org/daemonize/") + (home-page "https://software.clapper.org/daemonize/") (synopsis "Command line utility to run a program as a daemon") (description "daemonize runs a command as a Unix daemon. It will close all open file @@ -1760,7 +1769,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.9.10") + (version "1.9.11") (source (origin (method url-fetch) (uri @@ -1770,7 +1779,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "1x34k8sd2msfjjsahff1q143gr5j9z19jx2rmkkbiiz7k084d8a4")) + "1gjingc1h7d6p17m0nn87yiwh8gbdchg4w4kv8s4g89wv0q6wixm")) (modules '((guix build utils))) (snippet '(begin @@ -2028,10 +2037,16 @@ command.") (add-after 'install-documentation 'install-dbus-conf (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (dir (string-append out "/etc/dbus-1/system.d"))) - (mkdir-p dir) + (interfaces (string-append out "/etc/dbus-1/system.d")) + (services (string-append out + "/share/dbus-1/system-services"))) + (mkdir-p interfaces) (copy-file "dbus/dbus-wpa_supplicant.conf" - (string-append dir "/wpa_supplicant.conf"))) + (string-append interfaces "/wpa_supplicant.conf")) + (mkdir-p services) + (copy-file "dbus/fi.w1.wpa_supplicant1.service" + (string-append services + "/fi.w1.wpa_supplicant1.service"))) #t)))))))) (define-public wpa-supplicant-gui @@ -4152,7 +4167,7 @@ Python loading in HPC environments.") (string-append dir "/lib/perl5/site_perl")) (_ "")) %build-inputs))))) - (invoke "gzip" "inxi.1") + (invoke "gzip" "-n" "inxi.1") (install-file "inxi.1.gz" (string-append %output "/share/man/man1")))))) (home-page "https://smxi.org/docs/inxi.htm") diff --git a/gnu/packages/autogen.scm b/gnu/packages/autogen.scm index 7213776f07..d0c8df17ec 100644 --- a/gnu/packages/autogen.scm +++ b/gnu/packages/autogen.scm @@ -62,6 +62,10 @@ #:phases (modify-phases %standard-phases + (add-before 'build 'set-man-page-date + ;; Avoid embedding the current date for reproducible builds + (lambda _ + (setenv "MAN_PAGE_DATE" "2012-04-18"))) (add-before 'patch-source-shebangs 'patch-test-scripts (lambda _ (let ((sh (which "sh"))) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 7bddd1c378..5646d909e5 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -632,13 +632,13 @@ detection, and lossless compression.") (define-public borg (package (name "borg") - (version "1.2.0") + (version "1.2.1") (source (origin (method url-fetch) (uri (pypi-uri "borgbackup" version)) (sha256 - (base32 "0rvzmy9qyicfs65qwy0n1nkvsidkcvx7kix43885dx1fj13mb6p3")) + (base32 "0cy6chpa053rlvy4448vf9klb5v0v1vq3l76gqa3mcrwjb8y574z")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 1ffac1a0ca..c53a2920ac 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3145,6 +3145,11 @@ data and settings.") `(#:tests? #f ; there are no tests #:phases (modify-phases %standard-phases + (add-before 'build 'set-force-source-date + ;; for reproducible dates, texlive needs this to respect respect + ;; SOURCE_DATE_EPOCH + (lambda _ + (setenv "FORCE_SOURCE_DATE" "1"))) (add-after 'unpack 'fix-latex-errors (lambda _ (with-fluids ((%default-port-encoding #f)) @@ -10526,7 +10531,7 @@ expression report comparing samples in an easily configurable manner.") (define-public pigx-chipseq (package (name "pigx-chipseq") - (version "0.0.53") + (version "0.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/" @@ -10534,25 +10539,12 @@ expression report comparing samples in an easily configurable manner.") "/pigx_chipseq-" version ".tar.gz")) (sha256 (base32 - "0c6npx35sszycf059w1x1k4k9hq1qqxny0i4p57q1188czr4561h")) - (patches (search-patches "pigx-chipseq-no-citeproc.patch")))) + "008n6drj9q5av86xihxlj4py2c9p3c5z5ld89c3bksrp77zxiy67")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; parts of the tests rely on access to the network #:phases (modify-phases %standard-phases - (add-before 'bootstrap 'autoreconf - (lambda _ - ;; This was fixed in commit - ;; 0b1c9f7f2e4d0ff601f1de95ab8b2953f4d5dbc7, but there is no - ;; release with this fix. - (call-with-output-file "VERSION" - (lambda (port) (display ,version port))) - ;; See https://github.com/BIMSBbioinfo/pigx_chipseq/issues/176 - (substitute* "m4/ax_r_package.m4" - (("if\\(is.na\\(packageDescription\\(\"PKG\"\\)\\)\\)") - "if(system.file(package=\"PKG\") == \"\")")) - (invoke "autoreconf" "-vif"))) (add-before 'configure 'set-PYTHONPATH (lambda _ (setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH"))))))) @@ -10606,7 +10598,7 @@ expression report comparing samples in an easily configurable manner.") bedtools kentutils)) (native-inputs - (list autoconf automake python-pytest)) + (list python-pytest)) (home-page "https://bioinformatics.mdc-berlin.de/pigx/") (synopsis "Analysis pipeline for ChIP sequencing experiments") (description "PiGX ChIPseq is an analysis pipeline for preprocessing, peak @@ -10621,7 +10613,7 @@ in an easily configurable manner.") (define-public pigx-bsseq (package (name "pigx-bsseq") - (version "0.1.6") + (version "0.1.7") (source (origin (method url-fetch) (uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/" @@ -10629,8 +10621,7 @@ in an easily configurable manner.") "/pigx_bsseq-" version ".tar.gz")) (sha256 (base32 - "1dipikph0xdr8fp0h1flpafcrg60y4aabljg8fl1v92j3gxdggmw")) - (patches (search-patches "pigx-bsseq-no-citeproc.patch")))) + "1hfiignq3410dbl6f67vc6zr69abknpcgxixx475dspky2jb5lyn")))) (build-system gnu-build-system) (arguments `(;; TODO: tests currently require 12+GB of RAM. See @@ -10638,18 +10629,6 @@ in an easily configurable manner.") #:tests? #f #:phases (modify-phases %standard-phases - (add-before 'bootstrap 'autoreconf - (lambda _ - ;; This was fixed in commit - ;; d56ac732524da659afbbb0972f7a87fa178ae58e, but there is no - ;; release with this fix. - (call-with-output-file "VERSION" - (lambda (port) (display ,version port))) - ;; https://github.com/BIMSBbioinfo/pigx_bsseq/issues/181 - (substitute* "m4/ax_r_package.m4" - (("if\\(is.na\\(packageDescription\\(\"PKG\"\\)\\)\\)") - "if(system.file(package=\"PKG\") == \"\")")) - (invoke "autoreconf" "-vif"))) (add-before 'configure 'set-PYTHONPATH (lambda _ (setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH")))) @@ -10661,7 +10640,7 @@ in an easily configurable manner.") (search-input-directory inputs "share/zoneinfo"))))))) (native-inputs - (list tzdata automake autoconf)) + (list tzdata)) (inputs (list coreutils sed @@ -10705,7 +10684,7 @@ methylation and segmentation.") (define-public pigx-scrnaseq (package (name "pigx-scrnaseq") - (version "1.1.8") + (version "1.1.9") (source (origin (method url-fetch) (uri (string-append "https://github.com/BIMSBbioinfo/pigx_scrnaseq/" @@ -10713,23 +10692,11 @@ methylation and segmentation.") "/pigx_scrnaseq-" version ".tar.gz")) (sha256 (base32 - "1lc42hl8mz95kilh0z39s3wnv092mhm6vl2i394n0yfvdzk4f885")))) + "0adx7877c3lhlrzfid76i8bc829wcmzvrm0jx47gyid8mxqb7vqs")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-before 'bootstrap 'autoreconf - (lambda _ - ;; This was fixed in commit - ;; c4ac067438ae9312b5786a72e2bfb3d795e3ec8a, but there is no - ;; release with this fix. - (call-with-output-file "VERSION" - (lambda (port) (display ,version port))) - ;; https://github.com/BIMSBbioinfo/pigx_scrnaseq/issues/59 - (substitute* "m4/ax_r_package.m4" - (("if\\(is.na\\(packageDescription\\(\"PKG\"\\)\\)\\)") - "if(system.file(package=\"PKG\") == \"\")")) - (invoke "autoreconf" "-vif"))) (add-before 'configure 'set-additional-environment-variables (lambda _ ;; Needed because of loompy @@ -10778,8 +10745,6 @@ methylation and segmentation.") r-singlecellexperiment r-stringr r-yaml)) - (native-inputs - (list autoconf automake)) (home-page "https://bioinformatics.mdc-berlin.de/pigx/") (synopsis "Analysis pipeline for single-cell RNA sequencing experiments") (description diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 1c9358b896..bc0364d87c 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -105,6 +105,11 @@ #:glib-or-gtk-wrap-excluded-outputs '("out") #:phases (modify-phases %standard-phases + ;; Avoid embedding kernel version for reproducible build + (add-after 'unpack 'remove-kernel-version + (lambda _ + (substitute* "third-party/miniupnpc/updateminiupnpcstrings.sh" + (("OS_VERSION=`uname -r`") "OS_VERSION=Guix")))) (add-after 'install 'move-gui (lambda* (#:key outputs #:allow-other-keys) ;; Move the GUI to its own output, so that "out" doesn't diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 7ea6f5a647..91d259475a 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -1131,14 +1131,14 @@ tools, and more.") (define-public os-prober (package (name "os-prober") - (version "1.79") + (version "1.80") (source (origin (method url-fetch) (uri (string-append "mirror://debian/pool/main/o/os-prober/os-prober_" version ".tar.xz")) (sha256 - (base32 "1vhhk0bl2j4910513gn5h3z8nsaavyv3c8764bim2klc0xyk3rmb")))) + (base32 "13z3rshgz5xj0328a80wavdimjw925yha9s1ks398sq0kn5w6qw0")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -1155,8 +1155,7 @@ tools, and more.") (substitute* (find-files ".") (("/usr") (assoc-ref outputs "out"))) (substitute* (find-files "." "50mounted-tests$") - (("mkdir") "mkdir -p")) - #t)) + (("mkdir") "mkdir -p")))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (define (find-files-non-recursive directory) @@ -1187,8 +1186,7 @@ tools, and more.") (append (find-files-non-recursive (string-append directory "/common")) (find-files-non-recursive (string-append directory "/x86"))))) (list "os-probes" "os-probes/mounted" "os-probes/init" - "linux-boot-probes" "linux-boot-probes/mounted")) - #t)))))) + "linux-boot-probes" "linux-boot-probes/mounted")))))))) (home-page "https://joeyh.name/code/os-prober") (synopsis "Detect other operating systems") (description "os-prober probes disks on the system for other operating diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index e96a55e5b0..4432e0b851 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -11,11 +11,11 @@ ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2019 Hartmut Goebel <h.goebel@goebel-consult.de> -;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2021 lu hui <luhuins@163.com> -;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> +;;; Copyright © 2021, 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -48,12 +48,14 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages bison) #:use-module (gnu packages c) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages curl) #:use-module (gnu packages elf) #:use-module (gnu packages emacs) + #:use-module (gnu packages flex) #:use-module (gnu packages gcc) #:use-module (gnu packages graphviz) #:use-module (gnu packages llvm) @@ -65,7 +67,9 @@ #:use-module (gnu packages perl-compression) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages readline) #:use-module (gnu packages serialization) #:use-module (gnu packages sqlite) #:use-module (gnu packages texinfo) @@ -117,6 +121,13 @@ a major mode for Emacs for examining the flowcharts that it produces.") (base32 "0lr0l9kj2w3jilz9h9y4np9pf9i9ccpy6331lanki2fnz4z8ldvd")))) (build-system gnu-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-before 'build 'set-man-page-date + ;; Avoid embedding the current date for reproducible builds + (lambda _ + (setenv "MAN_PAGE_DATE" "2012-04-18")))))) (native-inputs (list texinfo autogen)) (home-page "https://www.gnu.org/software/complexity/") @@ -925,6 +936,88 @@ extensions over the standard utility.") source and header amalgamation in projects.") (license license:bsd-3)))) +(define-public cdecl + (package + (name "cdecl") + (version "2.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.ibiblio.org/pub/linux/devel/lang/c/cdecl-" + version ".tar.gz")) + (sha256 + (base32 "0dm98bp186r4cihli6fmcwzjaadgwl1z3b0zdxfik8h7hkqawk5p")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + ,#~(list "LIBS=-lreadline" + (string-append "BINDIR=" #$output "/bin") + (string-append "MANDIR=" #$output "/share/man/man1")) + #:phases + (modify-phases %standard-phases + (delete 'configure) ; No configure script. + (add-after 'unpack 'fix-build + (lambda _ + (substitute* "Makefile" + (("lex cdlex.l") + "flex cdlex.l")) + (substitute* "cdecl.c" + ;; Fix "error: conflicting types for ‘getline’". + (("char \\* getline\\(\\)") + "char * our_getline(void)") + (("char \\* getline \\(\\)") + "char * our_getline(void)") + (("line = getline\\(\\)") + "line = our_getline()") + ;; Fix "error: conflicting types for ‘getopt’". + (("int getopt\\(int,char \\*\\*,char \\*\\);") + "") + ;; Fix invalid use of "restrict" as a variable name. + (("i, j, restrict") + "i, j, restriction") + (("restrict =") + "restriction =") + ;; Fix "warning: implicit declaration of function ‘add_history’". + (("# include <readline/readline.h>" all) + (string-append all "\n# include <readline/history.h>")) + ;; Fix "warning: implicit declaration of function ‘dotmpfile_from_string’". + (("void setprogname\\(char \\*\\);" all) + (string-append all "\nint dotmpfile_from_string(char *);")) + ;; Fix "warning: implicit declaration of function ‘completion_matches’". + (("matches = completion_matches\\(text, command_completion\\);") + "matches = rl_completion_matches(text, command_completion);") + (("char \\* command_completion\\(char \\*, int\\);") + "char * command_completion(const char *, int);") + (("char \\* command_completion\\(char \\*text, int flag\\)") + "char * command_completion(const char *text, int flag)") + ;; Fix "warning: ‘CPPFunction’ is deprecated". + (("rl_attempted_completion_function = \\(CPPFunction \\*\\)attempt_completion;") + "rl_attempted_completion_function = (rl_completion_func_t *)attempt_completion;") + ;; Fix "warning: ‘Function’ is deprecated". + (("rl_completion_entry_function = \\(Function \\*\\)keyword_completion;") + "rl_completion_entry_function = (rl_compentry_func_t *)keyword_completion;")) + ;; Fix typo in man page. + (substitute* "cdecl.1" + (("<storage>\t::= auto \\| extern \\| register \\| auto") + "<storage>\t::= auto | extern | register | static")))) + (add-before 'install 'create-directories + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (man (string-append out "/share/man/man1"))) + (mkdir-p bin) + (mkdir-p man))))) + #:tests? #f)) ; No "check" target. + (native-inputs (list bison flex)) + (inputs (list readline)) + (home-page "https://www.ibiblio.org/pub/linux/devel/lang/c/") + (synopsis "Turn English phrases into C or C++ declarations and vice versa") + (description "@code{cdecl} is a program that turns English-like phrases into C +declarations. It can also translate C into pseudo-English. It also handles +type casts and C++. It has command-line editing and history with the GNU +Readline library.") + (license license:public-domain))) + (define-public cscope (package (name "cscope") @@ -953,3 +1046,30 @@ also be used for C++ code. Using cscope, you can easily search for where symbols are used and defined.") (license license:bsd-3))) + +(define-public xenon + (package + (name "xenon") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "xenon" version)) + (sha256 + (base32 + "1f4gynjzfckm3rjfywwgz1c7icfx3zjqirf16aj73xv0c9ncpffj")))) + (build-system python-build-system) + (arguments (list #:tests? #f)) ;test suite not shipped with the PyPI archive + (inputs (list python-pyyaml python-radon python-requests)) + (home-page "https://xenon.readthedocs.org/") + (synopsis "Monitor code metrics for Python on your CI server") + (description + "Xenon is a monitoring tool based on Radon. It monitors code complexity. +Ideally, @code{xenon} is run every time code is committed. Through command +line options, various thresholds can be set for the complexity of code. It +will fail (i.e. it will exit with a non-zero exit code) when any of these +requirements is not met.") + (license license:expat))) + +(define-public python-xenon + (deprecated-package "python-xenon" xenon)) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 89fc325208..820ff7281f 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -463,9 +463,11 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (version "0.9.26-1103-g6e62e0e") (source (origin (method url-fetch) - (uri (string-append - "http://lilypond.org/janneke/mes/20191117/" - "/tcc-" version ".tar.gz")) + (uri (list (string-append "mirror://gnu/guix/mirror/tcc-" + version ".tar.gz") + (string-append + "http://lilypond.org/janneke/mes/20191117/" + "/tcc-" version ".tar.gz"))) (sha256 (base32 "1qbybw7mxbgkv3sazvz1v7c8byq998vk8f1h25ik8w3d2l63lxng")))) @@ -3001,19 +3003,20 @@ memoized as a function of '%current-system'." (define gnumach-headers-boot0 (with-boot0 - (package-with-bootstrap-guile - (package - (inherit gnumach-headers) - (version "1.8-116-g28b53508") - (source (bootstrap-origin - (origin - (method url-fetch) - (uri (string-append "https://lilypond.org/janneke/hurd/" - "gnumach-" version ".tar.gz")) - (sha256 - (base32 - "006i0zgwy81vxarpfm12vip4q6i5mgmi5mmy5ldvxp5hx9h3l0zg"))))) - (native-inputs '()))))) + (package + (inherit gnumach-headers) + (version "1.8-116-g28b53508") + (source (bootstrap-origin + (origin + (method url-fetch) + (uri (list (string-append "mirror://gnu/guix/mirror/gnumach-" + version ".tar.gz") + (string-append "https://lilypond.org/janneke/hurd/" + "gnumach-" version ".tar.gz"))) + (sha256 + (base32 + "006i0zgwy81vxarpfm12vip4q6i5mgmi5mmy5ldvxp5hx9h3l0zg"))))) + (native-inputs '())))) (define mig-boot0 (let* ((mig (package @@ -3030,14 +3033,15 @@ memoized as a function of '%current-system'." (define hurd-version-boot0 "0.9-229-ga1efcee8") (define hurd-source-boot0 (let ((version hurd-version-boot0)) - (bootstrap-origin - (origin - (method url-fetch) - (uri (string-append "https://lilypond.org/janneke/hurd/" - "hurd-v" version ".tar.gz")) - (sha256 - (base32 - "0bq2q2jisxcy0kgcm6rz0z2fddwxxm7azsama7li28a2m08kdpzy")))))) + (origin + (method url-fetch) + (uri (list (string-append "mirror://gnu/guix/mirror/hurd-v" + version ".tar.gz") + (string-append "https://lilypond.org/janneke/hurd/" + "hurd-v" version ".tar.gz"))) + (sha256 + (base32 + "0bq2q2jisxcy0kgcm6rz0z2fddwxxm7azsama7li28a2m08kdpzy"))))) (define hurd-headers-boot0 (let ((hurd-headers (package (inherit hurd-headers) diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm index c978be75ff..a156f4191c 100644 --- a/gnu/packages/containers.scm +++ b/gnu/packages/containers.scm @@ -47,10 +47,10 @@ #:use-module (gnu packages web)) (define-public crun - (let ((commit "8e5757a4e68590326dafe8a8b1b4a584b10a1370")) + (let ((commit "c381048530aa750495cf502ddb7181f2ded5b400")) (package (name "crun") - (version "1.3") + (version "1.4.5") (source (origin (method git-fetch) @@ -59,7 +59,7 @@ (commit commit) (recursive? #t))) (sha256 - (base32 "01yiss2d57kwlxb7zlqzjwlg9fyaf19yjngd1mw9n4hxls3dfj3k")) + (base32 "0x2xmr5sv9ivvcv5fl5jjk4kq9b3n97s5hsqiqfwl4rz8qcz4xk1")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index e98d9634dc..6e4b1331e7 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -398,6 +398,11 @@ the wrong hands.") #:phases #~(modify-phases %standard-phases (delete 'configure) ; no configure script + (add-after 'unpack 'avoid-embedding-timestamp + ;; Do not embed build timestamp + (lambda _ + (substitute* "Makefile" + (("shell date") "shell true")))) (add-after 'install 'install:static (lambda _ (with-directory-excursion #$output diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 4556ef4590..007bcc0a6f 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -729,22 +729,16 @@ autocompletion and syntax highlighting.") (define-public mycli (package (name "mycli") - (version "1.24.1") + (version "1.25.0") (source (origin (method url-fetch) (uri (pypi-uri "mycli" version)) (sha256 - (base32 "0rij9nw20zhqr7cqnkm8daw8b1wdc9zb6ny1ji9qz5557nz9i3bl")))) + (base32 "0231v7f6q84mjmi1h0ni3s55m2g8p5d7x5q49bgkxlaz2bc2xwgy")))) (build-system python-build-system) (arguments - '(#:tests? #f ; tests expect a running MySQL - #:phases (modify-phases %standard-phases - (add-after 'unpack 'loosen-requirements - (lambda _ - ;; Permit newer versions of sqlparse. - (substitute* "setup.py" - (("<0\\.4\\.0") "<0.5.0"))))))) + '(#:tests? #f)) ; tests expect a running MySQL (propagated-inputs (list python-cli-helpers python-click @@ -1344,6 +1338,13 @@ pictures, sounds, or video.") "src/loader/CMakeLists.txt") (("\\$\\{PG_PKGLIBDIR\\}") (string-append #$output "/lib"))))) + (add-after 'unpack 'remove-kernel-version + ;; Do not embed the running kernel version for reproducible + ;; builds + (lambda _ + (substitute* "src/config.h.in" + (("BUILD_OS_VERSION ..CMAKE_SYSTEM_VERSION.") + "BUILD_OS_VERSION \"")))) ;; Run the tests after install to make it easier to create the ;; required PostgreSQL+TimescaleDB filesystem union. (delete 'check) @@ -3212,6 +3213,37 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.") (replace 'bootstrap (lambda _ (invoke "sh" "autogen.sh"))) + (add-after 'unpack 'avoid-embedding-kernel-and-timestamps + ;; For a reproducible build, avoid embedding the kernel version and + ;; timestamps. + (lambda _ + (substitute* + (list "bin/makever" + "appsrc/ODS-Polls/make_vad.sh" + "appsrc/ODS-Blog/make_vad.sh" + "appsrc/ODS-Community/make_vad.sh" + "appsrc/ODS-Framework/make_vad.sh" + "appsrc/ODS-Framework/oauth/make_vad.sh" + "appsrc/ODS-WebMail/make_vad.sh" + "appsrc/ODS-Calendar/make_vad.sh" + "appsrc/ODS-Gallery/make_vad.sh" + "appsrc/ODS-Briefcase/make_vad.sh" + "appsrc/ODS-FeedManager/make_vad.sh" + "appsrc/ODS-Bookmark/make_vad.sh" + "appsrc/ODS-Addressbook/make_vad.sh" + "binsrc/dbpedia/make_vad.sh" + "binsrc/samples/demo/make_vad.sh" + "binsrc/samples/demo/mkdoc.sh" + "binsrc/samples/sparql_demo/make_vad.sh" + "binsrc/bpel/make_vad.sh" + "binsrc/fct/make_vad.sh" + "binsrc/rdf_mappers/make_vad.sh" + "binsrc/isparql/make_vad.sh" + "binsrc/conductor/mkvad.sh") + (("^UNAME_SYSTEM=.*") "UNAME_SYSTEM=unknown\n") + (("^UNAME_RELEASE=.*") "UNAME_RELEASE=unknown\n") + (("^PACKDATE=.*") "PACKDATE=2012-04-18\n") + (("^DATE=.*") "DATE=2012-04-18\n")))) ;; Even with "--enable-static=no", "libvirtuoso-t.a" is left in ;; the build output. The following phase removes it. (add-after 'install 'remove-static-libs diff --git a/gnu/packages/dezyne.scm b/gnu/packages/dezyne.scm index 9b3b3c43f6..af1abf11a9 100644 --- a/gnu/packages/dezyne.scm +++ b/gnu/packages/dezyne.scm @@ -31,14 +31,14 @@ (define-public dezyne (package (name "dezyne") - (version "2.15.0") + (version "2.15.1") (source (origin (method url-fetch) (uri (string-append "https://dezyne.org/download/dezyne/" name "-" version ".tar.gz")) (sha256 - (base32 "1sh9chg5q10c3bzsmgl1pb7pmdf04j2lqszhw8jk5qlxr9y8ybcq")))) + (base32 "0yid2a9xvp4hc7fry07zp0q2hva89czri6i1m2d1n22srh7r0my6")))) (inputs (list bash-minimal guile-3.0-latest guile-json-4 @@ -53,15 +53,6 @@ ,@%gnu-build-system-modules) #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'disable-tests - (lambda _ - ;; The mCRL2 output for these tests is unstable, i.e., varies - ;; between different builds. - (substitute* "Makefile.in" - (("test/all/compliance_blocking_double_release ") " ") - (("test/all/illegal_external_nonsynchronous ") " ") - (("test/all/livelock_synchronous_illegal ") " ") - (("test/all/queuefull_external_sync ") " ")))) (add-before 'configure 'setenv (lambda _ (setenv "GUILE_AUTO_COMPILE" "0"))) diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 16e3b2a481..1cb0a7ad76 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -74,7 +74,7 @@ (define-public diffoscope (package (name "diffoscope") - (version "214") + (version "215") (source (origin (method git-fetch) @@ -83,7 +83,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "05vzvs8yn963wzxmnqifj0zsa9scxcq3iqrq9msm0vqznb1xgp7q")) + (base32 "16pyqbyrfsxjnpmr9913x2brz3mxplhz62rxwix1c0p7afwjw835")) (patches (search-patches "diffoscope-fix-llvm-test.patch")))) (build-system python-build-system) @@ -98,19 +98,19 @@ (add-after 'unpack 'embed-tool-references (lambda* (#:key inputs #:allow-other-keys) (substitute* "diffoscope/comparators/utils/compare.py" - (("\\['xxd',") - (string-append "['" (which "xxd") "',"))) - (substitute* "diffoscope/comparators/elf.py" - (("@tool_required\\('readelf'\\)") "") - (("get_tool_name\\('readelf'\\)") - (string-append "'" (which "readelf") "'"))) + (("\\[\"xxd\",") + (string-append "[\"" (which "xxd") "\","))) + (substitute* "diffoscope/diff.py" + (("@tool_required\\(\"diff\"\\)") "") + (("get_tool_name\\(\"diff\"\\)") + (string-append "get_tool_name(\"" (which "diff") "\")"))) (substitute* "diffoscope/comparators/directory.py" - (("@tool_required\\('stat'\\)") "") - (("@tool_required\\('getfacl'\\)") "") - (("\\['stat',") - (string-append "['" (which "stat") "',")) - (("\\['getfacl',") - (string-append "['" (which "getfacl") "',"))))) + (("@tool_required\\(\"stat\"\\)") "") + (("@tool_required\\(\"getfacl\"\\)") "") + (("\\[\"stat\",") + (string-append "[\"" (which "stat") "\",")) + (("\\[\"getfacl\",") + (string-append "[\"" (which "getfacl") "\","))))) (add-after 'build 'build-man-page (lambda* (#:key (make-flags '()) #:allow-other-keys) (apply invoke "make" "-C" "doc" make-flags))) @@ -147,7 +147,8 @@ python-magic python-tlsh acl ;for getfacl - colordiff + coreutils ;for stat + diffutils ;for diff xxd)) (native-inputs (append diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 40886a9e79..974467d72c 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -988,7 +988,7 @@ to create devices with respective mappings for the ATARAID sets discovered.") (define-public libblockdev (package (name "libblockdev") - (version "2.26") + (version "2.27") (source (origin (method url-fetch) (uri (string-append "https://github.com/storaged-project/" @@ -996,7 +996,7 @@ to create devices with respective mappings for the ATARAID sets discovered.") version "-1/libblockdev-" version ".tar.gz")) (sha256 (base32 - "0sg068jb87ljhn8yazrqxi6ri10ic2sh1lp6ikd2nqxc6l5y3h64")))) + "05rm9h8v30rahr245jcw6if6b5g16mb5hnz7wl1shzip0wky3k3d")))) (build-system gnu-build-system) (arguments `(#:phases @@ -1007,10 +1007,10 @@ to create devices with respective mappings for the ATARAID sets discovered.") (substitute* "src/lib/blockdev.c" (("/etc/libblockdev/conf.d/" path) (string-append out path))))))))) (native-inputs - `(("gobject-introspection" ,gobject-introspection) - ("pkg-config" ,pkg-config) - ("python" ,python-wrapper) - ("util-linux" ,util-linux))) + (list gobject-introspection + pkg-config + python-wrapper + util-linux)) (inputs (list btrfs-progs cryptsetup diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 22d723c879..4bc5e10624 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -94,7 +94,7 @@ ;;; Copyright © 2021 Yurii Kholodkov <urist.mckorobochka@gmail.com> ;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> -;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at> +;;; Copyright © 2021, 2022 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> ;;; Copyright © 2021 Eugene Klimov <lipklim@mailbox.org> ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> @@ -109,6 +109,10 @@ ;;; Copyright © 2022 Brandon Lucas <br@ndon.dk> ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> ;;; Copyright © 2022 jgart <jgart@dismail.de> +;;; Copyright © 2022 Dominic Martinez <dom@dominicm.dev> +;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io> +;;; Copyright © 2022 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com> +;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1936,6 +1940,28 @@ can be referred to during the expression. This technique can improve clarity in certain cases. It also enables recursion for anonymous functions.") (license license:public-domain))) +(define-public emacs-xah-fly-keys + (package + (name "emacs-xah-fly-keys") + (version "17.13.20220526011611") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xahlee/xah-fly-keys") + (commit "b1b1ea62c3f1a329376d9125592175cf2027ebc7"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gv8d9zgmhzjg6zk2a7y76dz30a3l91xb1p15vldka95faz197wn")))) + (build-system emacs-build-system) + (home-page "http://xahlee.info/emacs/misc/ergoemacs_vi_mode.html") + (synopsis "Modal keybinding system for Emacs, based on command frequency and +ergonomics") + (description "xah-fly-keys.el is a modal editing mode for Emacs, like Vi, +but the design of key/command choice is based on command frequency statistics +and ease-of-key score. Most frequently used commands have most easy keys.") + (license license:gpl3))) + (define-public emacs-xr (package (name "emacs-xr") @@ -3109,7 +3135,7 @@ of bibliographic references.") (define-public emacs-corfu (package (name "emacs-corfu") - (version "0.22") + (version "0.25") (source (origin (method git-fetch) @@ -3118,13 +3144,13 @@ of bibliographic references.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "062lxyqh7nfaixmgfgmqfbkainxc8ypdkj6qjq38xigk55s7c5wk")))) + (base32 "1brq8dfn4mx5mxyqqikmhwpwlqdrfq1z0wprm6awxr89xk506g77")))) (build-system emacs-build-system) (arguments `(#:phases (modify-phases %standard-phases - ;; Move the extensions source files to the top level, which is included in - ;; the EMACSLOADPATH. + ;; Move the extensions source files to the top level, which is included + ;; in the EMACSLOADPATH. (add-after 'unpack 'move-source-files (lambda _ (let ((el-files (find-files "./extensions" ".*\\.el$"))) @@ -3133,12 +3159,36 @@ of bibliographic references.") el-files))))))) (home-page "https://github.com/minad/corfu") (synopsis "Completion overlay region function") - (description "Corfu enhances the default completion in region function -with a completion overlay. The current candidates are shown in a popup -overlay below or above the point. Corfu can be considered the minimalistic + (description + "Corfu enhances the default completion in region function with a completion +overlay. The current candidates are shown in a popup overlay below or above +the point. Corfu can be considered the minimalistic @code{completion-in-region} counterpart of the Vertico minibuffer UI.") (license license:gpl3+))) +(define-public emacs-corfu-doc + (package + (name "emacs-corfu-doc") + (version "0.6.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/galeo/corfu-doc") + (commit "f9566cf13f6730a45b2f3c12e491a3fa2097e5d5"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "098yf29yv1b11p7kvdc7n4ra7f5vcmf6nlvhl85jgwqrsdz1795b")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-corfu)) + (home-page "https://github.com/galeo/corfu-doc") + (synopsis "Documentation popup for Corfu") + (description + "The @code{corfu-doc} package provides a way to display a documentation +popup for completion candidates when using @code{emacs-corfu}. It can +be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.") + (license license:gpl3+))) + (define-public emacs-cape (package (name "emacs-cape") @@ -8463,6 +8513,30 @@ transparent background. If you load it from a GUI, it will default to a dark background.") (license license:gpl3+))) +(define-public emacs-color-theme-modern + ;; No release since October 2019 + (let ((commit "74ad69bbca6fcfff3c0960d888c7c9c1f9f3e2e8") + (revision "1")) + (package + (name "emacs-color-theme-modern") + (version (git-version "0.0.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-jp/replace-colorthemes.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13ff4s372wsl5x13vh4vywhi6qcc54gybhp6rxl0r1l4wxidanwn")))) + (build-system emacs-build-system) + (home-page "https://github.com/emacs-jp/replace-colorthemes") + (synopsis "Emacs color themes implemented via built-in customization") + (description "This package contains several themes that were originally +implemented with the venerable @code{color-themes} package, ported to Emacs' +built-in custom themes.") + (license license:gpl3+)))) + (define-public emacs-gruvbox-theme (package (name "emacs-gruvbox-theme") @@ -12174,7 +12248,7 @@ extensions.") (define-public emacs-evil-collection (package (name "emacs-evil-collection") - (version "0.0.7") + (version "0.0.8") (source (origin (method git-fetch) @@ -12183,7 +12257,7 @@ extensions.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1f5mbg2k527brn6b7njdjizpbzj252c53crzl8sf2564czcprqj0")))) + (base32 "159i3qvjnp7jiffwpr517nnxcy3w3g40302vyzxvz6mb6qay6f2c")))) (build-system emacs-build-system) (propagated-inputs (list emacs-evil emacs-annalist)) @@ -12964,6 +13038,30 @@ properties are set on a heading, and when it is changing from a TODO state to a DONE state.") (license license:gpl3+))) +(define-public emacs-toodoo + ;; Package has no release. Version is extracted from "Version:" keyword in + ;; main file, and commit below matches version bump. + (package + (name "emacs-toodoo") + (version "0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ChanderG/toodoo.el") + (commit "149a563863c2f728c5f903475dbce50547c51000"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00q7aym0kl03j9m66pivgy0snxcjjg402049b2wdy18kgyypfvx8")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-transient emacs-evil)) + (home-page "https://github.com/ChanderG/toodoo.el") + (synopsis "Magit-like interface for a Todo workflow built on top of Org") + (description "This package provides a minor mode for fast and easy management of Todos +using Org mode and transients.") + (license license:asl2.0))) + (define-public emacs-flx (package (name "emacs-flx") @@ -15731,6 +15829,30 @@ of commands is displayed in a handy popup.") characters from end of lines.") (license license:gpl3+))) +(define-public emacs-opencl-mode + ;; Upstream never makes any formal releases, there is only v1.0. + ;; Use the latest commit instead. + (let ((commit "15091eff92c33ee0d1ece40eb99299ef79fee92d") + (revision "1")) + (package + (name "emacs-opencl-mode") + (version (git-version "1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/salmanebah/opencl-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zn6rr48w0ai0sn51zzyp546va6flfgf9lm12vfrdb6kkiiiq403")))) + (build-system emacs-build-system) + (synopsis "Emacs major mode for editing OpenCL kernels") + (description "This Emacs package provides the @code{opencl-mode} major +mode for editing OpenCL kernels. It supports syntax highlighting and online +access to the OpenCL documentation through the @code{opencl-lookup} function.") + (home-page "https://github.com/salmanebah/opencl-mode") + (license license:gpl3+)))) + (define-public emacs-openwith ;; There is no release tag. Version is extracted from main file. (let ((version "20120531") @@ -15809,29 +15931,26 @@ multiplexer.") (license license:gpl3+))) (define-public emacs-plz - (let ((commit "7e456638a651bab3a814e3ea81742dd917509cbb") - (revision "1")) - (package - (name "emacs-plz") - (version (git-version "0.1-pre" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/alphapapa/plz.el") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "05kgxrps1s20im5hhq799nrs3615bvssm4r0ysgmwm203mmzsjgj")))) - (build-system emacs-build-system) - (inputs (list curl)) - (home-page "https://github.com/alphapapa/plz.el") - (synopsis "HTTP library for Emacs") - (description - "This package provides HTTP library for Emacs. It uses curl as -a backend, which avoids some of the issues with using Emacs’s built-in url -library.") - (license license:gpl3+)))) + (package + (name "emacs-plz") + (version "0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/plz.el") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0psdjmj1r4g57vhm6c4hajmma72jk893fk820fbjgjwqihr1bxx9")))) + (build-system emacs-build-system) + (inputs (list curl)) + (home-page "https://github.com/alphapapa/plz.el") + (synopsis "HTTP library for Emacs") + (description + "This package provides HTTP library for Emacs. It uses Curl as a backend, +which avoids some of the issues with using Emacs’s built-in Url library.") + (license license:gpl3+))) (define-public emacs-ement (let ((commit "c951737dc855604aba389166bb0e7366afadc533") @@ -19699,7 +19818,7 @@ by the status of listed files.") (define-public emacs-elm-mode (package (name "emacs-elm-mode") - (version "0.21.0") + (version "0.22.0") (source (origin (method git-fetch) @@ -19709,7 +19828,7 @@ by the status of listed files.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0iwk4fmw8hq3ry4ky1zc7lgl4cpbnrjyk74c2xzddfspi3ks41fd")))) + (base32 "1gnr61ibzcznfqy5f8capmbz75rcfikwy106rjdmp45qz2jwp4di")))) (propagated-inputs (list emacs-dash emacs-f emacs-reformatter emacs-s)) (build-system emacs-build-system) @@ -20229,24 +20348,26 @@ functions.") (license license:gpl3+))) (define-public emacs-benchmark-init - (package - (name "emacs-benchmark-init") - (version "1.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/dholm/benchmark-init-el") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94")))) - (build-system emacs-build-system) - (home-page "https://github.com/dholm/benchmark-init-el") - (synopsis "Benchmark Emacs @code{require} and @code{load} calls") - (description "@code{benchmark-init} provides a way to keep track of where + (let ((commit "02435560415bbadbcf5051fb7042880549170e7e") + (revision "1")) + (package + (name "emacs-benchmark-init") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dholm/benchmark-init-el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19375vamhld4xm2qrdmhlp2nczfvalmz9x6ahl23zwkilr8n1nbw")))) + (build-system emacs-build-system) + (home-page "https://github.com/dholm/benchmark-init-el") + (synopsis "Benchmark Emacs @code{require} and @code{load} calls") + (description "@code{benchmark-init} provides a way to keep track of where time is being spent during Emacs startup in order to optimize startup time.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-magit-gerrit (package @@ -24824,6 +24945,34 @@ debug server. It is similar to the LSP but provides integration with Debug server.") (license license:gpl3+))) +(define-public emacs-bfuture + (package + (name "emacs-bfuture") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~plattfot/bfuture") + (commit (string-append "v" version)))) + (sha256 + (base32 + "1m4v4xbsvg26z7nvg2c8q7x1nvv7v4ajm56l0nbkwcbdbrgahpva")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (arguments + (list #:tests? (not (%current-target-system)) + #:test-command #~'("ert-runner"))) + (native-inputs (list emacs-ert-runner)) + (home-page "https://github.com/plattfot/bfuture.el") + (synopsis "Basic future concept for Emacs with Tramp support") + (description + "This package provides basic functions for spawning processes asynchronous in +Emacs and retrieving the output. It is similar to @code{emacs-pfuture} except +that this works over Tramp but the feature set is more limited. For example, +it cannot tell stdout and stderr apart.") + (license license:gpl3+))) + (define-public emacs-pfuture (package (name "emacs-pfuture") @@ -27131,8 +27280,8 @@ zip utility (default is @code{zip}).") (define-public emacs-ox-gemini ;; No releases yet - (let ((commit "d88c10bcb10fc463fa5a2f6e29c8c94b75a314c0") - (revision "0")) + (let ((commit "168f820ea401fb813435a3a55af295873a4c110b") + (revision "1")) (package (name "emacs-ox-gemini") (version (git-version "0" revision commit)) @@ -27144,7 +27293,7 @@ zip utility (default is @code{zip}).") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1f8kbg5vjd1k7fak3v56b77yk612j6vmzx4xzx3m2vq3f0nyxq29")))) + (base32 "0jmiya3f9vv4v64p5kxla6wiiyv4wg4w7f4a6zmdrjcn11hflqmm")))) (build-system emacs-build-system) (home-page "https://sr.ht/~abrahms/ox-gemini") (synopsis "Export Org files in Gemini format") @@ -27178,7 +27327,7 @@ producing output appropriate for Haunt's @code{html-reader}.") (define-public emacs-ox-hugo (package (name "emacs-ox-hugo") - (version "0.8") + (version "0.12.1") (source (origin (method git-fetch) @@ -27188,8 +27337,10 @@ producing output appropriate for Haunt's @code{html-reader}.") (file-name (git-file-name name version)) (sha256 (base32 - "11h464cyc28ld0b0zridgm4drydc1qjxbm1y24zrwlkyqqjk6yr7")))) + "0q4gyjzvxzw6a0phw2x2v9n43i28n3g9m7szwbhzch4j6ggxzcw4")))) (build-system emacs-build-system) + (propagated-inputs + (list emacs-tomelr)) (home-page "https://ox-hugo.scripter.co") (synopsis "Hugo markdown back-end for Org export engine") (description @@ -27662,7 +27813,9 @@ contrast and few colors.") ;; EMACSLOADPATH. (for-each (lambda (f) (rename-file f (basename f))) - (find-files "./themes" ".*\\.el$")) + (append + (find-files "./themes" ".*\\.el$") + (find-files "./extensions" ".*\\.el$"))) #t))))) (synopsis "Wide collection of color themes for Emacs") (description "Emacs-doom-themes contains numerous popular color themes for @@ -27673,7 +27826,7 @@ Emacs that integrate with major modes like Org-mode.") (define-public emacs-modus-themes (package (name "emacs-modus-themes") - (version "2.3.3") + (version "2.4.0") (source (origin (method git-fetch) @@ -27682,7 +27835,7 @@ Emacs that integrate with major modes like Org-mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "14nfb94y9vcnpmwj9acwl6h5v0h1c6swqf33ch4zimxxqgx9zrm4")))) + (base32 "0ia6r68fqbv64r9jm92vmqypq15nl8yy07n18hqrfbp1fy47zds1")))) (native-inputs (list texinfo)) (build-system emacs-build-system) (arguments @@ -30353,6 +30506,62 @@ built-in generator package. It provides @code{iter2-defun} and original package.") (license license:gpl3+))) +(define-public emacs-bind-map + (let ((commit "510a24138d8de3b8df0783f1ac493a551fc9bd74") + (revision "0")) + (package + (name "emacs-bind-map") + (version (git-version "1.1.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/justbur/emacs-bind-map") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0crxjy1ykgb429z8ikjv5iy8vg5i0qn8n86p2lgri4glx45sxxx0")))) + (build-system emacs-build-system) + (home-page "https://github.com/justbur/emacs-bind-map") + (synopsis "Bind personal keymaps in multiple locations") + (description + "@code{emacs-bind-map} provides a macro bind-map which can be used to +make a keymap available across different leader keys including ones +tied to evil states. It is essentially a generalization of the idea +of a leader key as used in Vim or the @code{emacs-evil-leader} package, +and allows for an arbitrary number of leader keys.") + (license license:gpl3+)))) + +(define-public emacs-spaceleader + (let ((commit "35368b03c094399c487cce93ab5b7ac725bd04f5") + (revision "0")) + (package + (name "emacs-spaceleader") + (version (git-version "0.0.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mohkale/spaceleader") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1lg51y59z6igqjw3vgyjc5zw32j11xhzw8y0svlx3ry415b0lnls")))) + (build-system emacs-build-system) + (propagated-inputs + (list emacs-dash + emacs-general + emacs-which-key + emacs-use-package + emacs-bind-map)) + (home-page "https://github.com/mohkale/spaceleader") + (synopsis "Emacs leader key implementation from Spacemacs") + (description + "@code{emacs-spaceleader} replicates Spacemacs' leader key features, +without requiring all of Spacemacs. The @code{<Leader>} key, inspired by Vim, +provides an easy way to bind keys under a configurable prefix key.") + (license license:gpl3+)))) + (define-public emacs-promise (package (name "emacs-promise") @@ -31084,6 +31293,25 @@ wraps GNU Global calls and integration to editor using this API with project.el and xref.el.") (license license:gpl3+)))) +(define-public emacs-seq + (package + (name "emacs-seq") + (version "2.23") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/seq-" version ".tar")) + (sha256 + (base32 "1lbxnrzq88z8k9dyylg2636pg9vc8bzfprs1hxwp9ah0zkvsn52p")))) + (build-system emacs-build-system) + (home-page "https://elpa.gnu.org/packages/seq.html") + (synopsis "Sequence manipulation functions") + (description + "This Emacs package provides sequence manipulation functions that +complement basic functions provided by @file{subr.el}. All its functions +are prefixed with @code{seq-} and work on lists, strings, and vectors.") + (license license:gpl3+))) + (define-public emacs-setup (package (name "emacs-setup") @@ -31107,6 +31335,28 @@ extended by the user via @code{setup-define}. A list of currently known local macros are documented in the docstring for @code{setup}.") (license license:gpl3+))) +(define-public emacs-tomelr + (package + (name "emacs-tomelr") + (version "0.4.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kaushalmodi/tomelr/") + (commit (string-append "v" version)))) + (sha256 + (base32 "03iih7arjlfg8gdp4v2xglas9z519q1s11l28igr8l0m5y0pdrnk")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-map emacs-seq)) + (home-page "https://github.com/kaushalmodi/tomelr/") + (synopsis "Emacs-Lisp library for converting S-expressions to TOML") + (description + "This package provides the @code{tomelr-encode} function to convert a Lisp +data expression in Alist or Plist format to a TOML string.") + (license license:gpl3+))) + (define-public emacs-ed-mode ;; XXX: Upstream did not tag any commits yet. (let ((commit "69f4fb34eca8df6a3bfe24bd8d8075551f0264ac") @@ -31195,6 +31445,43 @@ buffers using font locking and text properties. The package styles headlines, keywords, tables and source blocks.") (license license:gpl3+))) +(define-public emacs-pyimport + (let ((commit "a6f63cf7ed93f0c0f7c207e6595813966f8852b9") + (revision "0")) + (package + (name "emacs-pyimport") + (version (git-version "1.1" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/Wilfred/pyimport") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1q5gqhvh4zq5dy8vns694warcz48j1hdnxg16sjck4gsi9xivbvs")))) + (build-system emacs-build-system) + (inputs + (list python-pyflakes)) + (propagated-inputs + (list emacs-dash emacs-s emacs-shut-up)) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-pyflakes-executable + (lambda* (#:key inputs #:allow-other-keys) + (let ((pyflakes (search-input-file inputs "/bin/pyflakes"))) + (make-file-writable "pyimport.el") + (substitute* "pyimport.el" + (("\"pyflakes") + (string-append "\"" pyflakes))))))))) + (home-page "https://github.com/Wilfred/pyimport") + (synopsis "Manage Python imports from Emacs") + (description +"@code{emacs-pyimport} manages python imports from Emacs via @code{python-pyflakes}.") + (license license:gpl3+)))) ; License is in pyimport.el + (define-public emacs-osm (package (name "emacs-osm") @@ -31225,6 +31512,33 @@ zoomable and moveable map display, display of tracks and POIs from GPX files, parallel fetching of tiles with cURL, and more.") (license license:gpl3+))) +(define-public emacs-popon + ;; Upstream does not tag releases. The commit below matches the version + ;; bump. + (let ((commit "d16cb747d356eab3f1bc4061ecee473732f7b8bb")) + (package + (name "emacs-popon") + (version "0.4") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://codeberg.org/akib/emacs-popon") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1i5rp0gvcdqakzaznsh0lqzvlq5kif9q2grq4l80gl75dmqdpym7")))) + (build-system emacs-build-system) + (home-page "https://codeberg.org/akib/emacs-popon/") + (synopsis "Pop floating text on a window") + (description + "@code{emacs-popon} allows you to pop text on a window, what we call +a popon. Popons are window-local and sticky, they don't move while +scrolling, and they even don't go away when switching buffer, but you +can bind a popon to a specific buffer to only show on that buffer.") + (license license:gpl3+)))) + (define-public emacs-bitbake-modes (package (name "emacs-bitbake-modes") diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index a4df02ec49..31b5c04324 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -323,8 +323,8 @@ languages.") (license license:gpl3+))) (define-public emacs-next - (let ((commit "38d87c43c2ad727406dcfe316aac5e24e202c251") - (revision "0")) + (let ((commit "0a5477b448e6b62bcedc1803e531ec7686eea48d") + (revision "1")) (package (inherit emacs) (name "emacs-next") @@ -339,7 +339,7 @@ languages.") (file-name (git-file-name name version)) (sha256 (base32 - "0h206asgaqfzhz36p78n23yj4p7kbr6a1f0j0njzxf0ypqrmw9yr")))) + "0dqmrawkvbypxp8gcnspnhhmfamzp3l62gfgp1pw2l6svz58v991")))) (native-inputs (modify-inputs (package-native-inputs emacs) (prepend autoconf)))))) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index f2904d2106..96dfc34075 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org> +;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -587,7 +588,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (define-public electron-cash (package (name "electron-cash") - (version "4.2.7") + (version "4.2.10") (source (origin (method git-fetch) @@ -596,68 +597,68 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1qiql2svjyxlgbg4c5b7grgsv8nx2cx33x3x13mvjjngjz3vgilv")))) + (base32 "0axpypq9byda61rp3sznrq24b24qxbfwk56j75qp06s1ackg0pcv")))) (build-system python-build-system) - (inputs - `(("libevent" ,libevent) - ("libsecp256k1" ,libsecp256k1-bitcoin-cash) - ("openssl" ,openssl) - ("python-cython" ,python-cython) - ("python-dateutil" ,python-dateutil) - ("python-dnspython" ,python-dnspython) - ("python-ecdsa" ,python-ecdsa) - ("python-hidapi" ,python-hidapi) - ("python-jsonrpclib-pelix" ,python-jsonrpclib-pelix) - ("python-keepkey" ,python-keepkey) - ("python-pathvalidate" ,python-pathvalidate) - ("python-protobuf" ,python-protobuf) - ("python-pyaes" ,python-pyaes) - ("python-pyqt" ,python-pyqt) - ("python-pysocks" ,python-pysocks) - ("python-qdarkstyle" ,python-qdarkstyle) - ("python-qrcode" ,python-qrcode) - ("python-requests" ,python-requests) - ("python-stem" ,python-stem) - ("python-trezor" ,python-trezor) - ("qtsvg" ,qtsvg) - ("zlib" ,zlib))) (arguments - `(#:tests? #f ; no tests - #:modules ((guix build python-build-system) + (list + #:tests? #f ; no tests + #:modules '((guix build python-build-system) (guix build qt-utils) (guix build utils)) - #:imported-modules (,@%python-build-system-modules + #:imported-modules `(,@%python-build-system-modules (guix build qt-utils)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'create-output-directories - (lambda* (#:key outputs #:allow-other-keys) - ;; setup.py installs to ~/.local/share if this doesn't exist. - (mkdir-p (string-append (assoc-ref outputs "out") "/share")))) - (add-after 'unpack 'use-libsecp256k1-input - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "electroncash/secp256k1.py" - (("library_paths = .* 'libsecp256k1.so.0'.") - (string-append "library_paths = ('" - (assoc-ref inputs "libsecp256k1") - "/lib/libsecp256k1.so.0'"))))) - (add-after 'unpack 'relax-requirements - (lambda _ - (substitute* "contrib/requirements/requirements.txt" - (("qdarkstyle==2\\.6\\.8") - "qdarkstyle")))) - (add-after 'install 'wrap-qt - (lambda* (#:key outputs inputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (wrap-qt-program "electron-cash" #:output out #:inputs inputs)) - #t))))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'create-output-directories + (lambda _ + ;; setup.py installs to ~/.local/share if this doesn't exist. + (mkdir-p (string-append #$output "/share")))) + (add-after 'unpack 'use-libsecp256k1-input + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "electroncash/secp256k1.py" + (("libsecp256k1.so.0") + (search-input-file inputs "lib/libsecp256k1.so.0"))))) + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "contrib/requirements/requirements.txt" + (("qdarkstyle==2\\.6\\.8") + "qdarkstyle")))) + (add-after 'install 'wrap-qt + (lambda* (#:key outputs inputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-qt-program "electron-cash" + #:output out #:inputs inputs))))))) + (inputs + (list libevent + libsecp256k1-bitcoin-cash + openssl + python-cython + python-dateutil + python-dnspython + python-ecdsa + python-hidapi + python-jsonrpclib-pelix + python-keepkey + python-pathvalidate + python-protobuf + python-pyaes + python-pyqt + python-pysocks + python-qdarkstyle + python-qrcode + python-requests + python-stem + python-trezor + qtsvg + zlib)) (home-page "https://electroncash.org/") (synopsis "Bitcoin Cash wallet") (description "Electroncash is a lightweight Bitcoin Cash client, based on a client-server protocol. It supports Simple Payment Verification (SPV) and deterministic key generation from a seed. Your secret keys are encrypted and are never sent to -other machines/servers. Electroncash does not download the Bitcoin Cash blockchain.") +other machines/servers. Electroncash does not download the Bitcoin Cash +blockchain.") (license license:expat))) (define-public monero @@ -875,14 +876,12 @@ the Monero GUI client.") ;; a built-in implementation supported in python-trezor-agent. (lambda _ (substitute* "setup.py" - (("'backports.shutil_which>=3.5.1',") "")) - #t)) + (("'backports.shutil_which>=3.5.1',") "")))) (delete 'check) (add-after 'install 'check - (lambda* (#:key outputs inputs #:allow-other-keys) - ;; Make installed package available for running the tests. - (add-installed-pythonpath inputs outputs) - (invoke "py.test")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-v"))))))) (propagated-inputs (list python-configargparse python-daemon @@ -1001,7 +1000,7 @@ Nano dongle.") (define-public python-trezor (package (name "python-trezor") - (version "0.12.4") + (version "0.13.0") (source (origin (method git-fetch) @@ -1010,7 +1009,7 @@ Nano dongle.") (commit (string-append "python/v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1k0zk94jnkhr4iyngjfhfvff5mibx265q81v8jhvhd3m4clzgc45")) + (base32 "1wy584bxx5p2av4lv1bx9hl1q0b5n7hqz0hnqb9shjriarvl5ckd")) (modules '((guix build utils) (srfi srfi-26) @@ -1028,13 +1027,21 @@ Nano dongle.") (string-append "./" file-name))) (scandir "./python/" (negate (cut member <> '("." "..") string=)))) - (delete-file-recursively "./python"))))) + (delete-file-recursively "./python") + ;; Delete now broken symbolic links. + (for-each delete-file + (append (find-files "." "^CHANGELOG.unreleased$") + (find-files "." "^.towncrier.template.md$"))))))) (build-system python-build-system) (propagated-inputs (list python-attrs - python-click + ;; TOOD: Use the latest click version after release 0.13.1 or later + ;; is made (see: + ;; https://github.com/trezor/trezor-firmware/issues/2199). + python-click-7 python-construct python-ecdsa + python-hidapi python-libusb1 python-mnemonic python-requests @@ -1043,8 +1050,8 @@ Nano dongle.") ;; For tests. (list protobuf python-black - python-protobuf python-isort + python-protobuf python-pyqt python-pytest)) (home-page "https://github.com/trezor/python-trezor") @@ -1104,7 +1111,7 @@ the KeepKey Hardware Wallet.") (define-public trezor-agent (package (name "trezor-agent") - (version "0.11.0-1") + (version "0.14.4") (source (origin (method git-fetch) @@ -1144,6 +1151,11 @@ the KeepKey Hardware Wallet.") ;; This package only has a Python script, not a Python module, so the ;; sanity-check phase can't work. (delete 'sanity-check) + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "setup.py" + (("'trezor\\[hidapi]>=0.12.0,<0.13'") + "'trezor[hidapi]>=0.13'")))) (add-after 'wrap 'fixup-agent-py (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out"))) @@ -1806,7 +1818,7 @@ editing on the Web.") (define-public quantlib (package (name "quantlib") - (version "1.24") + (version "1.26") (source (origin (method url-fetch) @@ -1814,7 +1826,7 @@ editing on the Web.") "https://github.com/lballabio/QuantLib/releases/download/QuantLib-v" version "/QuantLib-" version ".tar.gz")) (sha256 - (base32 "1rxjhkc32a8z0g5gmh0iw5nx0fr31cjsrfgq7c8g6nib003kgnnx")))) + (base32 "1sbk6rg51x5xpa93xmqmrj32a1l9vba51xck0017cxzblg0nrzh4")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index cf6cdb630f..3f17dcf407 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -103,6 +103,9 @@ reliability in mind.") (sha256 (base32 "1389657cwgw5a3kljnqmhvfh4vr2gcr71dwz1mlhf22xq23hc82z")) + (patches + (search-patches + "ncftp-reproducible.patch")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 58ccf080a7..c011622f8e 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com> ;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info> ;;; Copyright © 2017, 2018, 2020 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2019 nee <nee-git@hidamari.blue> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> @@ -71,6 +71,7 @@ ;;; Copyright © 2022 Yovan Naumovski <yovan@gorski.stream> ;;; Copyright © 2022 Roman Riabenko <roman@riabenko.com> ;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe> +;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3531,7 +3532,7 @@ are primarily in English, however some in other languages are provided.") (define-public irrlicht (package (name "irrlicht") - (version "1.8.4") + (version "1.8.5") (source (origin (method url-fetch) (uri (string-append @@ -3540,8 +3541,9 @@ are primarily in English, however some in other languages are provided.") "/" version "/irrlicht-" version ".zip")) (sha256 (base32 - "0cz4z4dwrv5ypl19ll67wl6jjpy5k6ly4vr042w4br88qq5jhazl")) - (patches (search-patches "irrlicht-use-system-libs.patch")) + "0gagjh2l3a3m8hsixxhhhan3m5xl7735ka8m4g79jl4qsgp7pyzg")) + (patches (search-patches "irrlicht-use-system-libs.patch" + "irrlicht-link-against-needed-libs.patch")) (modules '((guix build utils))) (snippet '(begin @@ -3555,8 +3557,7 @@ are primarily in English, however some in other languages are provided.") "source/Irrlicht/zlib")) (delete-file "source/Irrlicht/glext.h") (delete-file "source/Irrlicht/glxext.h") - (delete-file "source/Irrlicht/wglext.h") - #t)))) + (delete-file "source/Irrlicht/wglext.h"))))) (build-system gnu-build-system) (arguments `(#:phases @@ -3564,33 +3565,39 @@ are primarily in English, however some in other languages are provided.") (add-after 'unpack 'chdir-to-source (lambda _ ;; The actual source is buried a few directories deep. - (chdir "source/Irrlicht/") - #t)) + (chdir "source/Irrlicht/"))) (add-after 'chdir-to-source 'remove-<sys/sysctl.h> (lambda _ (substitute* "COSOperator.cpp" (("#include <sys/sysctl.h>") "")))) + (add-after 'chdir-to-source 'delete-broken-install-rule + (lambda _ + (substitute* "Makefile" + ;; We neither build nor want a static library. Skip it. + ((".*\\bcp .*\\$\\(STATIC_LIB\\).*") "")))) (add-after 'chdir-to-source 'fix-build-env (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (substitute* "Makefile" (("INSTALL_DIR = /usr/local/lib") (string-append "INSTALL_DIR = " out "/lib")) - ;; Add '-fpermissive' to the CXXFLAGS + ;; Add '-fpermissive' to the CXXFLAGS. (("-Wall") "-Wall -fpermissive")) ; CImageLoaderJPG.cpp ;; The Makefile assumes these directories exist. (mkdir-p (string-append out "/lib")) (mkdir-p (string-append out "/include"))))) (delete 'configure)) ; no configure script #:tests? #f ; no check target - #:make-flags '("CC=gcc" "sharedlib"))) + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + "sharedlib"))) (inputs - `(("bzip2" ,bzip2) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libx11" ,libx11) - ("libxxf86vm" ,libxxf86vm) - ("mesa" ,mesa))) + (list bzip2 + libjpeg-turbo + libpng + libx11 + libxxf86vm + mesa)) (synopsis "3D game engine written in C++") (description "The Irrlicht Engine is a high performance realtime 3D engine written in @@ -3600,6 +3607,25 @@ for common mesh file formats, and collision detection.") (home-page "https://irrlicht.sourceforge.io/") (license license:zlib))) +(define-public irrlicht-for-minetest + (package + (inherit irrlicht) + (name "irrlicht-for-minetest") + (version "1.9.0mt5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minetest/irrlicht") + (commit version))) + (sha256 + (base32 + "1jxk1x0f60n8lrz8a6x62aj2pqg0qnbajsld3lqncvwsfbi0xjx1")))) + (build-system cmake-build-system) + (arguments + ;; No check target. + (list #:tests? #f)))) + (define-public mars ;; The latest release on SourceForge relies on an unreleased version of SFML ;; with a different API, so we take the latest version from the official @@ -7658,7 +7684,13 @@ original.") (base32 "1f2zif3s6vddbhph4jr1cymdsn7gagg59grrxs0yap6myqmy8shg")))) (build-system cmake-build-system) (arguments - (list #:test-target "check" + (list #:configure-flags + #~(let ((fortunes (string-append #$output "/share/fortunes"))) + (list (string-append "-DLOCALDIR=" fortunes) + (string-append "-DLOCALODIR=" fortunes "/off") + (string-append "-DCOOKIEDIR=" fortunes) + (string-append "-DOCOOKIEDIR=" fortunes "/off"))) + #:test-target "check" #:phases #~(modify-phases %standard-phases (add-after 'unpack 'enter-build-directory @@ -7683,16 +7715,13 @@ original.") (with-output-to-file "tests/scripts/split-valgrind.pl" (const #t)))) (add-after 'install 'fix-install-directory - (lambda* (#:key outputs #:allow-other-keys) - ;; Move binary from "games/" to "bin/" and remove the - ;; latter. This is easier than patching CMakeLists.txt - ;; since the tests hard-code the location as well. - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (games (string-append out "/games"))) - (rename-file (string-append games "/fortune") - (string-append bin "/fortune")) - (rmdir games))))))) + ;; Move fortune from "games/" to "bin/" and remove the + ;; former. This is easier than patching CMakeLists.txt + ;; since the tests hard-code the location as well. + (lambda _ + (with-directory-excursion #$output + (rename-file "games/fortune" "bin/fortune") + (rmdir "games"))))))) (inputs (list recode)) (native-inputs (list perl @@ -12059,7 +12088,7 @@ protect you.") (define-public 7kaa (package (name "7kaa") - (version "2.15.4p1") + (version "2.15.5") (source (origin (method url-fetch) @@ -12067,7 +12096,7 @@ protect you.") "releases/download/v" version "/" "7kaa-" version ".tar.xz")) (sha256 - (base32 "1y7v0jhp3apb619p7asikqr1dnwb2yxbh40wbx1ppmr5f03mq9ph")))) + (base32 "0axbv14fh87hwjabrb3zv7ivj88rs6kd2xq6s9qlpsszk20jc2im")))) (build-system gnu-build-system) (native-inputs (list gettext-minimal pkg-config)) @@ -12650,6 +12679,31 @@ Magic II (aka HOMM2) game engine. It requires assets and game resources to play; it will look for them at @file{~/.local/share/fheroes2} folder.") (license license:gpl2))) +(define-public apricots + (package + (name "apricots") + (version "0.2.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moggers87/apricots") + (commit (string-append "v" version)))) + (sha256 + (base32 "0vis217hhnb9fbs9sf8mmcm71qp44kr3xqmffc1gdiixvi90c781")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (native-inputs (list autoconf ; autom4te used in ./bootstrap + automake ; aclocal used in ./bootstrap + cppcheck)) + (inputs (list freealut openal sdl2)) + (home-page "https://github.com/moggers87/apricots") + (synopsis "Arcade airplane game") + (description "@code{apricots} is a game where you fly a little plane +around the screen and shoot things and drop bombs on enemy targets. It's +meant to be quick and fun.") + (license license:gpl2+))) + (define-public liquidwar6 (package (name "liquidwar6") @@ -12690,3 +12744,35 @@ liquid and you have to try and eat your opponents. Rules are very simple yet original, they have been invented by Thomas Colcombet.") (home-page "https://www.gnu.org/software/liquidwar6/") (license license:gpl3+))) + +(define-public freerct + (package + (name "freerct") + (version "0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FreeRCT/FreeRCT") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1szwy2cq4ffp4yxm9pp9vdyia0i5nz0wnppdd1xb9w7v3wa4mywi")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) + (native-inputs (list flex bison)) + (inputs (list libpng sdl2 sdl2-ttf)) + (home-page "https://freerct.net/") + (synopsis "Theme park management simulation game") + (description + "FreeRCT is a game that captures the look and feel of the popular games +RollerCoaster Tycoon 1 and 2, graphics- and gameplay-wise. + +In this game, you play as a manager of a theme park, allowing you to make a +park of your dreams. The list of responsiblities includes managing staff, +finances, landscaping, and most importantly: rides. Good managers follow the +principle of prioritizing the guests' happiness with a well-maintained park. +Should they go unwise, a theme park plunge into chaos with vandalizing guests +and unsafe rides. Which path will you take?") + (license license:gpl2))) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 0c9240eea7..ea7483f16f 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -739,6 +739,71 @@ enables you to easily do operations in Python that would otherwise require a spatial database such as PostGIS.") (license license:bsd-3))) +(define-public python-osmnx + (package + (name "python-osmnx") + (version "1.1.2") + (source + (origin + ; Fetch from github as the pypi package is missing the tests dir. + (method git-fetch) + (uri (git-reference + (url "https://github.com/gboeing/osmnx") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1n8qjn184p5a2s3j6x6iyc1i7p3l3xnbqqxm6ajwgwv6j5fw1d5a")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + ; TODO: Disable network tests + (invoke "pytest" "tests" + "-k" + (string-append + ;; The following tests require network access. + "not test_geocode_to_gdf" + " and not test_stats" + " and not test_osm_xml" + " and not test_elevation" + " and not test_routing" + " and not test_plots" + " and not test_find_nearest" + " and not test_api_endpoints" + " and not test_graph_save_load" + " and not test_graph_from_functions" + " and not test_geometries")))))))) + (propagated-inputs + (list python-folium + python-geopandas + python-matplotlib + python-networkx + python-numpy + python-pandas + python-pyproj + python-requests + python-rtree + python-shapely)) + (native-inputs + (list python-numpy python-pytest)) + (home-page "https://github.com/gboeing/osmnx") + (synopsis + "Retrieve, model, analyze, and visualize OpenStreetMap street networks") + (description + "OSMnx is a Python library that lets you download geospatial data +from OpenStreetMap and model, project, visualize, and analyze real-world +street networks and any other geospatial geometries. You can download +and model walkable, drivable, or bikeable urban networks with a single +line of Python code then easily analyze and visualize them. You can +just as easily download and work with other infrastructure types, +amenities/points of interest, building footprints, elevation data, +street bearings/orientations, and speed/travel time.") + (license license:expat))) + (define-public mapnik (package (name "mapnik") @@ -1486,27 +1551,28 @@ persisted. (define-public python-rtree (package (name "python-rtree") - (version "0.9.7") + (version "1.0.0") (source (origin (method url-fetch) (uri (pypi-uri "Rtree" version)) (sha256 - (base32 "0gna530vy6rh76035cqh7i2lx199cvxjrzjczg9rm6k96k5751xy")))) + (base32 "10lnhf67c9pb0yisxdqmb52dy6lj1za1h9d4p69v0ihk2a138j6h")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'find-libspatialindex (lambda* (#:key inputs #:allow-other-keys) - (setenv "SPATIALINDEX_C_LIBRARY" - (string-append (assoc-ref inputs "libspatialindex") - "/lib/libspatialindex.so")))) + (let ((libspatialindex (assoc-ref inputs "libspatialindex"))) + (substitute* "rtree/finder.py" + (("find_library\\(\"spatialindex_c\"\\)") + (string-append "\"" libspatialindex + "/lib/libspatialindex_c.so\"")))))) (replace 'check - (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (lambda* (#:key outputs tests? #:allow-other-keys) (when tests? - (add-installed-pythonpath inputs outputs) - (invoke "python" "-m" "pytest"))))))) + (invoke "pytest"))))))) (native-inputs (list python-numpy python-pytest python-wheel)) (inputs diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index daec119012..e143d5378c 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -190,7 +190,7 @@ simple and consistent.") (define-public papirus-icon-theme (package (name "papirus-icon-theme") - (version "20210101") + (version "20220508") (source (origin (method git-fetch) @@ -198,12 +198,11 @@ simple and consistent.") (url "https://github.com/PapirusDevelopmentTeam/papirus-icon-theme") (commit version))) (sha256 - (base32 - "0w6qg3zjhfvjg1gg5inranf8ianb4mrp0jm9qgi6hg87ig1rashs")) + (base32 "0rpcniaw8xbn23q67m26vgx3fynn4v056azrfp63lxdh46gfsvmc")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - '(#:tests? #f + '(#:tests? #f ; no test suite #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases @@ -211,7 +210,7 @@ simple and consistent.") (delete 'configure) (delete 'build)))) (native-inputs - `(("gtk+:bin" ,gtk+ "bin"))) + (list `(,gtk+ "bin"))) (home-page "https://git.io/papirus-icon-theme") (synopsis "Fork of Paper icon theme with a lot of new icons and a few extras") (description "Papirus is a fork of the icon theme Paper with a lot of new icons diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 587224ae08..f778068821 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4065,14 +4065,15 @@ Hints specification (EWMH).") (define-public goffice (package (name "goffice") - (version "0.10.50") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/goffice/" - (version-major+minor version) "/" - "goffice-" version ".tar.xz")) - (sha256 - (base32 "1p5zbj7cbcfcxd6l8pnph54p6ah1bwf146y810j4bcq8ggf3sp1c")))) + (version "0.10.52") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/goffice/" + (version-major+minor version) "/" + "goffice-" version ".tar.xz")) + (sha256 + (base32 "0344k0ffndd79as3c4nfq3mia7mrds6aq2jg76drdw3h8gcyzfb0")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 4.0 MiB of gtk-doc @@ -4083,8 +4084,7 @@ Hints specification (EWMH).") (inputs (list gtk+ libgsf librsvg libxslt libxml2)) (native-inputs - (list intltool - `(,glib "bin") pkg-config)) + (list intltool `(,glib "bin") pkg-config)) (home-page "https://developer.gnome.org/goffice/") (synopsis "Document-centric objects and utilities") (description "A GLib/GTK+ set of document-centric objects and utilities.") @@ -4124,7 +4124,7 @@ Hints specification (EWMH).") (define-public gnumeric (package (name "gnumeric") - (version "1.12.50") + (version "1.12.52") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnumeric/" @@ -4132,7 +4132,7 @@ Hints specification (EWMH).") "gnumeric-" version ".tar.xz")) (sha256 (base32 - "1f0lrj5msg80pgjp38jj6rddf352gwddgip7z4lki66n3fx1k23m")))) + "0fw201j0sks95wgvns3vydgprhwf6z4v4xb2a0ldi892k8277kvk")))) (build-system glib-or-gtk-build-system) (arguments `(;; The gnumeric developers don't worry much about failing tests. @@ -4164,12 +4164,12 @@ Hints specification (EWMH).") python-pygobject zlib)) (native-inputs - `(("bison" ,bison) - ("docbook-xml" ,docbook-xml) - ("intltool" ,intltool) - ("itstool" ,itstool) - ("glib:bin" ,glib "bin") - ("pkg-config" ,pkg-config))) + (list bison + docbook-xml + `(,glib "bin") + intltool + itstool + pkg-config)) (home-page "http://www.gnumeric.org") (synopsis "Spreadsheet application") (description @@ -4948,7 +4948,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") (define-public five-or-more (package (name "five-or-more") - (version "3.32.2") + (version "3.32.3") (source (origin (method url-fetch) @@ -4956,7 +4956,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") (version-major+minor version) "/" "five-or-more-" version ".tar.xz")) (sha256 - (base32 "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii")))) + (base32 "1x4ys18rn37hsavivh532py2avj9686aycnn8ys29cyyxwpdf41d")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -4965,19 +4965,17 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") (add-after 'unpack 'skip-gtk-update-icon-cache (lambda _ (substitute* "meson_post_install.py" - (("gtk-update-icon-cache") (which "true"))) - #t))))) + (("gtk-update-icon-cache") (which "true")))))))) (native-inputs - `(("pkg-config" ,pkg-config) - ("appstream-glib" ,appstream-glib) - ("desktop-file-utils" ,desktop-file-utils) - ("glib:bin" ,glib "bin") ; for glib-compile-resources - ("intltool" ,intltool) - ("itstool" ,itstool) - ("vala" ,vala) - ("xmllint" ,libxml2))) + (list appstream-glib + desktop-file-utils + `(,glib "bin") ; for glib-compile-resources + intltool + itstool + pkg-config + vala)) (inputs - (list gtk+ libgnome-games-support librsvg)) + (list gtk+ libgnome-games-support librsvg libxml2)) (home-page "https://wiki.gnome.org/Apps/Five%20or%20more") (synopsis "Logic puzzle game") (description "Five or More is a game where you try to align @@ -4989,7 +4987,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") (define-public gnome-mines (package (name "gnome-mines") - (version "40.0") + (version "40.1") (source (origin (method url-fetch) @@ -4997,7 +4995,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") (version-major version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "0sf6kdvhr4pr3hddnj6ql9larz2wy108sri31id6x9g459nbly8z")))) + (base32 "0whjwdxhyw5bvibd9qvpm2yc5g7yhy8h3rn027kv5cqwyyryj0im")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -5008,17 +5006,16 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") (substitute* "build-aux/meson_post_install.py" (("gtk-update-icon-cache") (which "true")))))))) (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-compile-resources - ("pkg-config" ,pkg-config) - ("desktop-file-utils" ,desktop-file-utils) - ("intltool" ,intltool) - ("itstool" ,itstool) - ("python" ,python-wrapper) ; for meson_post_install.py - ("vala" ,vala) - ("yelp" ,yelp) - ("appstream-glib" ,appstream-glib))) + (list appstream-glib + desktop-file-utils + `(,glib "bin") ; for glib-compile-resources + intltool + itstool + pkg-config + python-wrapper ; for meson_post_install.py + vala)) (inputs - (list gtk+ libgnome-games-support librsvg)) + (list gtk+ libgnome-games-support librsvg yelp)) (home-page "https://wiki.gnome.org/Apps/Mines") (synopsis "Minesweeper game") (description @@ -8788,7 +8785,7 @@ core C library, and bindings for Python (PyGTK).") (define-public gnome-autoar (package (name "gnome-autoar") - (version "0.4.1") + (version "0.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -8796,11 +8793,10 @@ core C library, and bindings for Python (PyGTK).") name "-" version ".tar.xz")) (sha256 (base32 - "03hmm7cjgjvyxlflghfa89s1amj16qapl2c9pv0r2bfrp87dasv4")))) + "124y4j3wgb6axgfzw9f00865r033fg7b0qy9qgfsp5ilan4hgpvv")))) (build-system meson-build-system) (native-inputs - (list gobject-introspection - `(,glib "bin") pkg-config)) + (list gobject-introspection `(,glib "bin") pkg-config)) (propagated-inputs (list libarchive)) ; Required by gnome-autoar-0.pc (inputs @@ -12523,7 +12519,7 @@ world.") (define-public ocrfeeder (package (name "ocrfeeder") - (version "0.8.3") + (version "0.8.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/ocrfeeder/" @@ -12531,7 +12527,7 @@ world.") "ocrfeeder-" version ".tar.xz")) (sha256 (base32 - "12f5gnq92ffnd5zaj04df7jrnsdz1zn4zcgpbf5p9qnd21i2y529")))) + "1vaaphzk6zn7pp2x9scphdzlbsma910wnbhd9xry50nx95cjlgdh")))) (build-system gnu-build-system) (arguments `(#:phases @@ -12548,8 +12544,7 @@ world.") "/site-packages"))) (wrap-program prog `("PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) - `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) - #t)))))) + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-compile-resources ("gobject-introspection" ,gobject-introspection) diff --git a/gnu/packages/gnu-doc.scm b/gnu/packages/gnu-doc.scm index 9fb746ee97..22fc976425 100644 --- a/gnu/packages/gnu-doc.scm +++ b/gnu/packages/gnu-doc.scm @@ -89,8 +89,8 @@ list.") (string-append source "/maintain.texi")) (invoke "makeinfo" "--output" info-dir (string-append source "/standards.texi")) - (invoke "gzip" (string-append info-dir "/maintain.info")) - (invoke "gzip" (string-append info-dir "/standards.info")))))) + (invoke "gzip" "-n" (string-append info-dir "/maintain.info")) + (invoke "gzip" "-n" (string-append info-dir "/standards.info")))))) (home-page "https://www.gnu.org/prep/standards/") (synopsis "GNU coding standards and maintainer information") (description "The GNU Coding Standards were written by Richard Stallman diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm index ec50c8aaa6..01099375d3 100644 --- a/gnu/packages/gnucash.scm +++ b/gnu/packages/gnucash.scm @@ -303,7 +303,15 @@ applications and libraries. It is used by AqBanking.") (arguments `(;; Parallel building fails because aqhbci is required before it's ;; built. - #:parallel-build? #f)) + #:parallel-build? #f + #:phases + (modify-phases %standard-phases + ;; Embed the package version instead of the build date + (add-after 'unpack 'use-version-instead-of-date + (lambda _ + (substitute* + "src/libs/plugins/backends/aqhbci/header.xml.in" + (("@DATETIME@") ,version))))))) (propagated-inputs (list gwenhywfar)) (inputs diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 41e8f3b80f..a0f902e534 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nikita <nikita@n0.is> -;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016–2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> @@ -69,6 +69,7 @@ #:use-module (gnu packages web) #:use-module (gnu packages xiph) #:use-module (gnu packages backup) + #:use-module (guix gexp) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -161,16 +162,18 @@ tool to extract metadata from a file and print the results.") (define-public libmicrohttpd (package (name "libmicrohttpd") - (version "0.9.73") + (version "0.9.75") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "0bh39irwzkv48fkw43skfgkk8ka3793bx1lm21sgw6zxi0djyyx3")) - (patches (search-patches "libmicrohttpd-0.9.73-test-ssl3.patch")))) + "1fz3ljqfvfyfb5inzihy66bys22id9jgsi4nmcd3j6spdxx90y4j")))) (build-system gnu-build-system) + (arguments + (list #:configure-flags + #~(list "--disable-static"))) (inputs (list curl gnutls/dane libgcrypt openssl zlib)) (synopsis "C library implementing an HTTP 1.1 server") diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index c9b233c1e4..08fa1570d6 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com> ;;; Copyright © 2017, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Petter <petter@mykolab.ch> -;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> @@ -992,14 +992,14 @@ them to transform your existing public key into a secret key.") (define-public pgpdump (package (name "pgpdump") - (version "0.34") + (version "0.35") (source (origin (method url-fetch) (uri (string-append "https://www.mew.org/~kazu/proj/pgpdump/pgpdump-" version ".tar.gz")) (sha256 - (base32 "080ayqqxb13ngpg6zvaipszwnjadafw3ni7w7gg189cmh3lab7cq")))) + (base32 "0kslr62h3wazg4x0l38lsmswvh2dizpnwcrdsmqz62b3plnr40jf")))) (build-system gnu-build-system) (arguments (list #:tests? #f ; no make check diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 41dd32955d..6fbcf12a04 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -977,11 +977,11 @@ standards of the IceCat project.") (cpe-version . ,(first (string-split version #\-))))))) ;; Update this together with icecat! -(define %icedove-build-id "20220503000000") ;must be of the form YYYYMMDDhhmmss +(define %icedove-build-id "20220531000000") ;must be of the form YYYYMMDDhhmmss (define-public icedove (package (name "icedove") - (version "91.9.0") + (version "91.10.0") (source icecat-source) (properties `((cpe-name . "thunderbird_esr"))) @@ -1260,7 +1260,7 @@ standards of the IceCat project.") ;; in the Thunderbird release tarball. We don't use the release ;; tarball because it duplicates the Icecat sources and only adds the ;; "comm" directory, which is provided by this repository. - ,(let ((changeset "8b44d29de6525d6379f163f50c1a900d4540ef1b")) + ,(let ((changeset "4a4b901410a9055d078d0cdd7c62b2b5d56ffbad")) (origin (method hg-fetch) (uri (hg-reference @@ -1269,10 +1269,10 @@ standards of the IceCat project.") (file-name (string-append "thunderbird-" version "-checkout")) (sha256 (base32 - "1k7zy53il3i4k2k7mc33j0wsgpjrsghmmj6afs14hk9j95byvayy"))))) + "0i2wpi08jfksqqc0j6q362nyk3zmlqd5ds2w7mm74infvrw6fzzq"))))) ("cargo" ,rust "cargo") - ("clang" ,clang-11) - ("llvm" ,llvm-11) + ("clang" ,clang) + ("llvm" ,llvm) ("m4" ,m4) ("nasm" ,nasm) ("node" ,node) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 64bac20f3d..3bf986403a 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -990,7 +990,7 @@ application suites.") cups graphene harfbuzz - iso-codes + iso-codes/official ;XXX TODO core-updates: use iso-codes json-glib-minimal libxml2 rest)) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 3c02a85bc3..c6f73a38e9 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -607,73 +607,36 @@ Unix-style DSV format and RFC 4180 format.") (propagated-inputs `(("guile-lib" ,guile2.2-lib))))) (define-public guile-fibers-1.1 - ;; Pick one commit above 1.1.0, which fixes a bug that's critical for the - ;; Shepherd: <https://github.com/wingo/fibers/pull/57>. - (let ((commit "c25dcb9cc4b5b977474ffe555b40ce2f1d0d1edc") - (revision "0")) - (package - (name "guile-fibers") - (version (git-version "1.1.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/wingo/fibers") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1jwr0y5x8mv8fm4df2vc3ll38fwwbkrm2iwfsfxa8l783a1a6143")) - (patches - (search-patches "guile-fibers-wait-for-io-readiness.patch")))) - (build-system gnu-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'support-cross-compilation - (lambda* (#:key target #:allow-other-keys) - ;; Support cross-compilation. These issues are fixed in - ;; Fibers commit c4756b9c336374546a41ac90a4431fcc8f7e98ee - ;; and this phase can be removed for 1.1.1. - (when target - (substitute* "build-aux/guile.am" - (("\\$\\(AM_V_GEN\\)" all) - (string-append all " FIBERS_CROSS_COMPILING=yes ")) - (("compile") - (string-append "compile --target=" target - " -L $(abs_top_srcdir)"))) - (substitute* "fibers/epoll.scm" - (("\\(dynamic-call") - "(unless (getenv \"FIBERS_CROSS_COMPILING\") (dynamic-call") - (("\\(dynamic-link.*" all) - (string-append all ")\n")) - (("#,(%sizeof|%offsetof)" _ prefix) - prefix))))) - (add-after 'install 'mode-guile-objects - (lambda* (#:key outputs #:allow-other-keys) - ;; .go files are installed to "lib/guile/X.Y/cache". - ;; This phase moves them to "…/site-ccache". - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib/guile")) - (old (car (find-files lib "^ccache$" - #:directories? #t))) - (new (string-append (dirname old) - "/site-ccache"))) - (rename-file old new) - #t)))))) - (native-inputs - (list texinfo pkg-config autoconf automake libtool - guile-3.0 ;for 'guild compile - ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS' - gettext-minimal)) - (inputs - (list guile-3.0)) ;for libguile-3.0.so - (supported-systems - ;; This version requires 'epoll' and is thus limited to Linux-based - ;; systems, but this may change soon: - ;; <https://github.com/wingo/fibers/pull/53>. - (filter (cut string-suffix? "-linux" <>) %supported-systems)) - (synopsis "Lightweight concurrency facility for Guile") - (description - "Fibers is a Guile library that implements a a lightweight concurrency + (package + (name "guile-fibers") + (version "1.1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wingo/fibers") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ll63d7202clapg1k4bilbnlmfa4qvpjnsd7chbkka4kxf5klilc")) + (patches + (search-patches "guile-fibers-wait-for-io-readiness.patch")))) + (build-system gnu-build-system) + (native-inputs + (list texinfo pkg-config autoconf automake libtool + guile-3.0 ;for 'guild compile + ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS' + gettext-minimal)) + (inputs + (list guile-3.0)) ;for libguile-3.0.so + (supported-systems + ;; This version requires 'epoll' and is thus limited to Linux-based + ;; systems, but this may change soon: + ;; <https://github.com/wingo/fibers/pull/53>. + (filter (cut string-suffix? "-linux" <>) %supported-systems)) + (synopsis "Lightweight concurrency facility for Guile") + (description + "Fibers is a Guile library that implements a a lightweight concurrency facility, inspired by systems like Concurrent ML, Go, and Erlang. A fiber is like a \"goroutine\" from the Go language: a lightweight thread-like abstraction. Systems built with Fibers can scale up to millions of concurrent @@ -683,9 +646,9 @@ communication between fibers. Note that Fibers makes use of some Guile 2.1/2.2-specific features and is not available for Guile 2.0.") - (home-page "https://github.com/wingo/fibers") - (properties '((upstream-name . "fibers"))) - (license license:lgpl3+)))) + (home-page "https://github.com/wingo/fibers") + (properties '((upstream-name . "fibers"))) + (license license:lgpl3+))) (define-public guile-fibers (package @@ -4009,7 +3972,7 @@ over, or update a value in arbitrary data structures.") (define-public guile-xapian (package (name "guile-xapian") - (version "0.1.0") + (version "0.2.0") (home-page "https://git.systemreboot.net/guile-xapian") (source (origin @@ -4019,14 +3982,7 @@ over, or update a value in arbitrary data structures.") (file-name (git-file-name name version)) (sha256 (base32 - "16k61f1jn3g48jaf3730b9l0izr5j933jzyri73nmcnjd09gm35i")) - (modules '((guix build utils))) - (snippet - ;; Guile >= 3.0.7 no longer uses libltdl so we need to explicitly add - ;; ".libs" so that 'load-extension' finds the '.so' file. - '(substitute* "pre-inst-env.in" - (("^LD_LIBRARY_PATH=.*$") - "LD_LIBRARY_PATH=\"$abs_top_builddir/.libs\"\n"))))) + "140cwzpzk4y16ajxrg5zd2d7q60f5ivx5jk8w1h0qfjq2mp14sh7")))) (build-system gnu-build-system) (arguments '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 946cd9aba4..d4e43feb06 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Evgeny Pisemsky <evgeny@pisemsky.com> @@ -13,6 +13,7 @@ ;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2022 Marcel Kupiec <formbi@protonmail.com> +;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -113,7 +114,7 @@ sets, and tools to deal with register databases.") (define-public hwinfo (package (name "hwinfo") - (version "21.80") + (version "21.81") (home-page "https://github.com/openSUSE/hwinfo") (source (origin @@ -124,14 +125,14 @@ sets, and tools to deal with register databases.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "07058vjqdcd3la8y4b92f7fvcqxvmw1p0q4lg5kcn85pvbbg52ag")) + (base32 "0iyx1fb66s6b5ai4agw91nvl9wwk7z8g6y475vry3wv80dngzc43")) (modules '((guix build utils))) (snippet `(begin ;; Remove git2log program file. (delete-file "git2log") - ;; Remove variables that depends on git2log. + ;; Remove variables that depend on git2log. (substitute* "Makefile" (("GIT2LOG.*\\:=.*$") "") (("GITDEPS.*\\:=.*$") "") @@ -141,7 +142,7 @@ sets, and tools to deal with register databases.") (lambda (port) (format port ,version))))))) (build-system gnu-build-system) - (outputs '("out" "dev" "doc")) + (outputs '("out" "lib" "doc")) (arguments `(#:tests? #f ; no test-suite available #:phases @@ -149,10 +150,10 @@ sets, and tools to deal with register databases.") (add-after 'unpack 'patch (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (dev (assoc-ref outputs "dev")) + (lib (assoc-ref outputs "lib")) (doc (assoc-ref outputs "doc")) - (incl-dir (string-append dev "/include")) - (lib-dir (string-append dev "/lib")) + (incl-dir (string-append lib "/include")) + (lib-dir (string-append lib "/lib")) (sbin-dir (string-append out "/sbin")) (share-dir (string-append out "/share")) (doc-dir (string-append doc "/share/doc"))) @@ -172,16 +173,16 @@ sets, and tools to deal with register databases.") (("/usr/sbin") sbin-dir) (("/usr/share") share-dir) (("\\$\\(DESTDIR\\)/sbin ") "")) - ;; Add output "dev" to the run-path. + ;; Add the "lib" output to the run-path. (substitute* "Makefile.common" (("-Lsrc") (string-append "-Lsrc " "-Wl,-rpath=" lib-dir))) ;; Correct program name of the lexical analyzer. (substitute* "src/isdn/cdb/Makefile" (("lex isdn_cdb.lex") "flex isdn_cdb.lex")) - ;; Patch pkgconfig file to point to output "dev". + ;; Patch pkg-config file to point to the "lib" output. (substitute* "hwinfo.pc.in" - (("/usr") dev))))) + (("/usr") lib))))) (delete 'configure) (replace 'build (lambda _ @@ -270,14 +271,14 @@ RGB animations.") (define-public ddcutil (package (name "ddcutil") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (string-append "https://www.ddcutil.com/tarballs/" "ddcutil-" version ".tar.gz")) (sha256 - (base32 "0fp7ffjn21p0bsc5b1ipf3dbpzwn9g6j5dpnwdnca052ifzk2w7i")))) + (base32 "18fbd45h2r3r702dvmlmyrwgs3ymr4mhm4f12lgv9jqb5csalbw2")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) @@ -314,7 +315,7 @@ calibrated, and restored when the calibration is applied.") (define-public ddcui (package (name "ddcui") - (version "0.1.2") + (version "0.2.1") (source (origin (method git-fetch) @@ -323,7 +324,7 @@ calibrated, and restored when the calibration is applied.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0myma1zw6dlygv3xbin662d91zcnwss10syf12q2fppkrd8qdgqf")))) + (base32 "0a9xfv80dpimx9wi9igjbbfydyfsgnbk6dv1plhjzyp2a9shdibb")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; No test suite @@ -375,6 +376,43 @@ through the Display Data Channel Command Interface (@dfn{DDC/CI}) protocol.") human-readable format and checks if it conforms to the standards.") (license license:expat)))) +(define-public h-client + (let ((commit "63ff4a3bf9c3c3b6297091e08192d34991465431") + (revision "0")) + (package + (name "h-client") + (version (git-version "0.0a0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + ;; Use this Python 3 fork until the changes have been reviewed + ;; and integrated into the official Savannah repository (in + ;; progress). + (url "https://git.sr.ht/~apteryx/h-client") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0c6s96a1zmsnn7bnfhm790c1fr8sid0zdyh9mwig4y6ffn83czh5")))) + (build-system python-build-system) + (inputs + (list gdk-pixbuf + gtk+ + pciutils + python-pycurl + python-pygobject + usbutils)) + (synopsis "Graphical client for the h-node hardware database project") + (description + "The h-node project (https://www.h-node.org) aims to build a database of +hardware that works with fully free operating systems. h-client is a GTK+ +graphical client that is able to retrieves information on the hardware inside +the computer it's running on, and on peripherals connected to it, and helps +you submit that information to the h-node project along with whether the +hardware works with a fully free operating system or not.") + (home-page "https://savannah.nongnu.org/projects/h-source/") + (license license:gpl3+)))) + (define-public headsetcontrol (package (name "headsetcontrol") diff --git a/gnu/packages/hexedit.scm b/gnu/packages/hexedit.scm index 20f3cbfe7b..3f3c364272 100644 --- a/gnu/packages/hexedit.scm +++ b/gnu/packages/hexedit.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> -;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. @@ -34,7 +34,7 @@ (define-public hexedit (package (name "hexedit") - (version "1.5") + (version "1.6") (source (origin (method git-fetch) (uri (git-reference @@ -43,7 +43,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1sfa4i374n1xrz2ivvzcd8jzc296ly11x1713s4bplvszcqpw6dv")))) + "00l8vazbjzdg09azp6w3nzq4rl7qyh06i65dh621r6zaprp0z23w")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target @@ -57,8 +57,7 @@ (string-append "\"" (assoc-ref inputs "man-db") "/bin/man\"")) (("\"hexedit\"") (string-append "\"" (assoc-ref outputs "out") - "/share/man/man1/hexedit.1.gz\""))) - #t))))) + "/share/man/man1/hexedit.1.gz\"")))))))) (native-inputs (list autoconf automake)) (inputs diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 2f82524afd..5a13ce56b3 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2014, 2017 John Darrington <jmd@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017, 2020, 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net> @@ -511,15 +511,18 @@ official designation is ISO/IEC 29199-2). This library is an implementation of t (define-public jpegoptim (package (name "jpegoptim") - (version "1.4.6") - (source (origin - (method url-fetch) - (uri (string-append "http://www.kokkonen.net/tjko/src/jpegoptim-" - version ".tar.gz")) - (sha256 (base32 - "1dss7907fclfl8zsw0bl4qcw0hhz6fqgi3867w0jyfm3q9jfpcc8")))) + (version "1.4.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tjko/jpegoptim") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "06f6d08xvmsiki4mc1qs985gsjqmsxx793a93b72y25q84wbg9x9")))) (build-system gnu-build-system) - (inputs `(("libjpeg" ,libjpeg-turbo))) + (inputs (list libjpeg-turbo)) (arguments '(#:tests? #f)) ; no tests (synopsis "Optimize JPEG images") diff --git a/gnu/packages/iso-codes.scm b/gnu/packages/iso-codes.scm index c34911fe9b..f8775c5eaa 100644 --- a/gnu/packages/iso-codes.scm +++ b/gnu/packages/iso-codes.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,7 +29,9 @@ #:use-module (gnu packages perl) #:use-module (gnu packages python)) -(define-public iso-codes +(define-public iso-codes/official + ;; This package variant is intended for ‘external’ use, such as users running + ;; ‘guix install’, where any deviation from ISO gospel might be harmful. (package (name "iso-codes") (version "4.5.0") @@ -77,6 +79,25 @@ changes in the ISO standard and will not work with outdated information.") (license license:gpl2+))) ; some bits use the lgpl2 +(define-public iso-codes + ;; This package should be used universally within Guix, e.g., as an input to + ;; other Guix packages or in the Guix System installer's country selector. + (hidden-package + (package + (inherit iso-codes/official) + (source + (origin + (inherit (package-source iso-codes/official)) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* (find-files "." "\\.po$") + (("#.*Name for TWN,.*") "") + (("^msgid \"Taiwan, .*") "# Guix doesn't use ")) + (substitute* "data/iso_3166-1.json" + (("(Taiwan), [^\"]*" _ name) name)))))) + (synopsis "Various ISO standards as used by GNU@tie{}Guix")))) + (define-public python-iso639 (package (name "python-iso639") diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 8ab8c46cd3..028b5c4391 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -837,6 +837,12 @@ and vice versa.") `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'remove-build-dates + ;; Avoid embedding build date for reproducible builds + (lambda _ + (substitute* + "build.properties" + (("..implementation.date.") "")))) (replace 'check (lambda* (#:key tests? inputs native-inputs #:allow-other-keys) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 9b4dbe4daa..9c3ba1f7aa 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -62,6 +62,7 @@ ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw> ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com> +;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com> ;;; ;;; This file is part of GNU Guix. @@ -111,6 +112,7 @@ #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages golang) #:use-module (gnu packages gperf) @@ -9226,3 +9228,41 @@ older system-wide @file{/sys} interface.") "This tool turns @command{ldd} into a tree and explains how shared libraries are found or why they cannot be located.") (license license:expat))) + +(define-public touchegg + (package + (name "touchegg") + (version "2.0.14") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JoseExposito/touchegg") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0shvslz0c8nqx5f988z55qjc9xw0in9rb7b19r6vr1f7cdkqb6yr")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No tests exist + #:configure-flags + (list "-DUSE_SYSTEMD=OFF"))) ; No systemd + (native-inputs + (list + pkg-config)) + (inputs + (list + cairo + gtk+ + libgudev + libinput + libxrandr + libxtst + pugixml)) + (home-page "https://github.com/JoseExposito/touchegg") + (synopsis "Multitouch gesture recognizer") + (description + "Touchégg is an application that runs in the background and transform the +gestures you make on your touchpad or touchscreen into visible actions in your +desktop.") + (license license:gpl3+))) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index d3b16f2759..88b582d85b 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -541,10 +541,10 @@ output), and Binutils.") ("libc-static" ,glibc "static"))))) (define %llvm-monorepo-hashes - '(("14.0.3" . "0makhpbrg46m2gi8wyp5h21ln4mgilahh3clk4d1b2ln2ck3v7m8"))) + '(("14.0.4" . "1y4yvx749cn3gkpc9kf48xbd2wc2lry8x5zdpk3sbrkqs8vrji4q"))) (define %llvm-patches - '(("14.0.3" . ("clang-14.0-libc-search-path.patch")))) + '(("14.0.4" . ("clang-14.0-libc-search-path.patch")))) (define (llvm-monorepo version) (origin @@ -559,7 +559,7 @@ output), and Binutils.") (define-public llvm-14 (package (name "llvm") - (version "14.0.3") + (version "14.0.4") (source (llvm-monorepo version)) (build-system cmake-build-system) (outputs '("out" "opt-viewer")) @@ -647,7 +647,7 @@ of programming tools as well as libraries with equivalent functionality.") (package-version llvm-14))) (sha256 (base32 - "188hh6l956gkl6hgjzzdraj5jp538zhhhllxvy23gml6slrmbj7j")))))) + "1vcgmvh0r28a1z87p3y4h2326zi8liq7l9mcfvmx22x9bmbcpfn8")))))) (package (inherit template) (arguments @@ -1176,7 +1176,7 @@ of programming tools as well as libraries with equivalent functionality.") (define-public lld-14 (package (name "lld") - (version "14.0.3") + (version "14.0.4") (source (llvm-monorepo version)) (build-system cmake-build-system) (inputs diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index f1af69faab..53c7785020 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -46,6 +46,7 @@ ;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com> ;;; Copyright © 2022 Andrew Tropin <andrew@trop.in> ;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li> +;;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -555,7 +556,7 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "2.2.5") + (version "2.2.6") (source (origin (method url-fetch) (uri (list @@ -565,7 +566,7 @@ aliasing facilities to work just as they would on normal mail.") version ".tar.gz"))) (sha256 (base32 - "0ivyfld4a4sfzsdiaajqiarvfx4i85g1smbb2b5dqjkrb48pi2zz")) + "1lw8111wbsw4hkvrlfsd2cf2l1j25vqwbzys07z0ding2wsxk8pz")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs @@ -1157,7 +1158,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (define-public mu (package (name "mu") - (version "1.6.10") + (version "1.6.11") (source (origin (method url-fetch) (uri (string-append "https://github.com/djcb/mu/releases/" @@ -1165,7 +1166,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") "mu-" version ".tar.xz")) (sha256 (base32 - "1dh0x4lqnjflb0k8fybr5clqjxv35scf055g1590pr5znam29hhb")))) + "13gchks9znyw0axw1wlks7f7h4442rfagmj7kx0jm3qhvi0b5sk0")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -2887,6 +2888,14 @@ powerful user customization features.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'remove-build-timestamps + ;; Avoid embedding timestamps for reproducible build + (lambda _ + (substitute* + (list + "devtools/bin/configure.sh" + "cf/sh/makeinfo.sh") + (("on `date`") "")))) (add-before 'build 'replace-/bin/sh (lambda _ (substitute* @@ -3943,8 +3952,8 @@ It is a replacement for the @command{urlview} program.") (license license:gpl2+))) (define-public mumi - (let ((commit "f5232c49fe8a3b127c96f7b502775f16aebf3033") - (revision "7")) + (let ((commit "9b28ec7d152623692877bcb767e5c654e59e57ed") + (revision "8")) (package (name "mumi") (version (git-version "0.0.1" revision commit)) @@ -3956,7 +3965,7 @@ It is a replacement for the @command{urlview} program.") (file-name (git-file-name name version)) (sha256 (base32 - "1dc4m7l9mmi7lm0cfmyf5yg6bkpirsvmfq347sf1ch1svg5r7y9n")))) + "1njnzqv4h2msfa86qfbvm54vfdwlikwzs4134fcffcf4l86bs9fl")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -4069,7 +4078,7 @@ Git and exports them in maildir format or to an MDA through a pipe.") (define-public public-inbox (package (name "public-inbox") - (version "1.6.1") + (version "1.8.0") (source (origin (method git-fetch) (uri (git-reference @@ -4077,19 +4086,20 @@ Git and exports them in maildir format or to an MDA through a pipe.") (commit (string-append "v" version)))) (sha256 (base32 - "0mlwnp5knr7rk9kv8grlh342wsq2193m22zs83cjn9p7x9r2x5f9")) + "0xni1l54v1z3p0zb52807maay0yqabp8jgf5iras5zmhgjyk3swz")) (file-name (git-file-name name version)))) (build-system perl-build-system) (arguments - '(#:phases + '(#:tests? #f + #:phases (modify-phases %standard-phases (add-before 'configure 'qualify-paths - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) ;; Use absolute paths for 'xapian-compact'. - (let ((xapian-compact (which "xapian-compact"))) - (substitute* "script/public-inbox-compact" - (("xapian-compact") xapian-compact))) - #t)) + (substitute* "lib/PublicInbox/Xapcmd.pm" + (("'xapian-compact'") + (format #f "'~a'" (search-input-file inputs + "/bin/xapian-compact")))))) (add-before 'check 'pre-check (lambda _ (substitute* "t/spawn.t" @@ -4100,8 +4110,7 @@ Git and exports them in maildir format or to an MDA through a pipe.") ;; XXX: This test fails due to zombie process is not reaped by ;; the builder. (substitute* "t/httpd-unix.t" - (("^SKIP: \\{") "SKIP: { skip('Guix');")) - #t)) + (("^SKIP: \\{") "SKIP: { skip('Guix');")))) (add-after 'install 'wrap-programs (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -4115,15 +4124,16 @@ Git and exports them in maildir format or to an MDA through a pipe.") ;; 'git' is invoked in various files of the PublicInbox ;; perl module. `("PATH" ":" prefix - (,(dirname (search-input-file inputs "/bin/git")))))) - (find-files (string-append out "/bin")))) - #t))))) + (,(dirname (search-input-file inputs "/bin/git")) + ,(dirname (search-input-file inputs "/bin/curl")))))) + (find-files (string-append out "/bin"))))))))) (native-inputs - (list xapian - ;; For testing. + (list ;; For testing. lsof openssl)) (inputs - (list git + (list bash-minimal + curl + git perl-dbd-sqlite perl-dbi perl-email-address-xs @@ -4135,6 +4145,7 @@ Git and exports them in maildir format or to an MDA through a pipe.") perl-plack-middleware-reverseproxy perl-plack perl-search-xapian + perl-socket-msghdr perl-timedate perl-uri-escape perl-inline-c @@ -4145,7 +4156,8 @@ Git and exports them in maildir format or to an MDA through a pipe.") ;; ("highlight" ,highlight) ;; For testing. perl-ipc-run - perl-xml-feed)) + perl-xml-feed + xapian)) (home-page "https://public-inbox.org/README.html") (synopsis "Archive mailing lists in Git repositories") (description diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index e2eed7ecb3..0ad14ba36e 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1724,7 +1724,18 @@ HDF5 file is encoded according to the HDF File Format Specification.") (base32 "14ddy2xnb6sgp4hiax9v5sv4pr4l4dd4ps76nfha3nrpr1ikhcqm")))) (build-system cmake-build-system) - (arguments `(#:tests? #f)) ; Tests require googletest *sources* + (arguments `(#:tests? #f ; Tests require googletest *sources* + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-man-page-date + (lambda _ + (substitute* "itpp-config.1.cmake.in" + ((".PACKAGE_DATE.") "2012-04-18")))) + (add-before 'build 'set-force-source-date + ;; for reproducible dates, texlive needs this to respect respect + ;; SOURCE_DATE_EPOCH + (lambda _ + (setenv "FORCE_SOURCE_DATE" "1")))))) (inputs (list lapack fftw)) ;; FIXME: Even though the fonts are available dvips complains: ;; "Font cmmi10 not found; characters will be left blank." @@ -3822,14 +3833,14 @@ sparse system of linear equations A x = b using Gaussian elimination.") (define-public ruby-asciimath (package (name "ruby-asciimath") - (version "2.0.1") + (version "2.0.4") (source (origin (method url-fetch) (uri (rubygems-uri "asciimath" version)) (sha256 (base32 - "1aapydwwkydbwgz07n7ma3a5jy9n3v0shy6q6j8mi4wr3crhx45a")))) + "1fy2jrn3gr7cl33qydp3pwyfilcmb4m4z6hfhnvydzg8r3srp36j")))) (build-system ruby-build-system) (native-inputs (list ruby-nokogiri ruby-rspec)) diff --git a/gnu/packages/matrix.scm b/gnu/packages/matrix.scm index 9ac999b5fd..2ba6d8ba1f 100644 --- a/gnu/packages/matrix.scm +++ b/gnu/packages/matrix.scm @@ -211,7 +211,7 @@ homeserver and generally help bootstrap the ecosystem.") (list python-aiofiles python-aiohttp python-aiohttp-socks - python-atomicwrites-1.4 + python-atomicwrites python-cachetools python-future python-h11 diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 17a58fbf61..2823297e3f 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -98,14 +98,14 @@ extensive examples, including parsers for the Javascript and C99 languages.") (define-public nyacc (package (inherit nyacc-0.99) - (version "1.06.5") + (version "1.07.0") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/nyacc/nyacc-" version ".tar.gz")) (sha256 (base32 - "1fbzz9bm4mkz4j40l2z02zjlbqj82dmv2ayz83zl3j8gj6z3lpdg")) + "01qb6h6bk684z8xda5d71q5f5l2z3q9jjz36if3jbpjc7b8dxjap")) (modules '((guix build utils))) (snippet '(substitute* "configure" diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 5dc49503ec..d361034721 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -34,6 +34,7 @@ ;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org> ;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> +;;; Copyright © 2022 Jack Hill <jackhill@jackhill.us> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2063,45 +2064,10 @@ is also scriptable and extensible via Guile.") (home-page "https://www.gnu.org/software/freetalk/") (license license:gpl3+))) -(define-public libmesode - (package - (name "libmesode") - (version "0.10.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/profanity-im/libmesode") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1bxnkhrypgv41qyy1n545kcggmlw1hvxnhwihijhhcf2pxd2s654")))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags (list "--disable-static") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-make - (lambda _ - (substitute* "Makefile.am" - (("'\\^xmpp_'") "'.'")) - #t))))) - (inputs - (list expat openssl)) - (native-inputs - (list autoconf automake libtool pkg-config)) - (synopsis "C library for writing XMPP clients") - (description "Libmesode is a fork of libstrophe for use with Profanity -XMPP Client. In particular, libmesode provides extra TLS functionality such as -manual SSL certificate verification.") - (home-page "https://github.com/profanity/libmesode") - ;; Dual-licensed. - (license (list license:gpl3+ license:x11)))) - (define-public libstrophe (package (name "libstrophe") - (version "0.10.1") + (version "0.12.0") (source (origin (method git-fetch) @@ -2110,17 +2076,23 @@ manual SSL certificate verification.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "11d341avsfr0z4lq15cy5dkmff6qpy91wkgzdpfdy31l27pa1g79")))) + (base32 "1apply301lxyjax2677bd5mc0a3233nm5qb7fiqpawq2n7vh17v0")))) (build-system gnu-build-system) (arguments - `(#:configure-flags (list "--disable-static") + (list #:configure-flags '(list "--disable-static") #:phases - (modify-phases %standard-phases + #~(modify-phases %standard-phases (add-after 'unpack 'patch-make (lambda _ (substitute* "Makefile.am" (("'\\^xmpp_'") "'.'")) - #t))))) + #t)) + (add-after 'install-licence-files 'install-extra-licence-files + (lambda _ + (let ((license-directory (string-append #$output + "/share/doc/" + #$name "-" #$version "/"))) + (install-file "MIT-LICENSE.txt" license-directory))))))) (inputs (list expat openssl)) (native-inputs @@ -2129,23 +2101,23 @@ manual SSL certificate verification.") (description "Libstrophe is a minimal XMPP library written in C. It has almost no external dependencies, only an XML parsing library (expat or libxml are both supported).") - (home-page "http://strophe.im/libstrophe") + (home-page "https://strophe.im/libstrophe/") ;; Dual-licensed. (license (list license:gpl3+ license:x11)))) (define-public profanity (package (name "profanity") - (version "0.11.1") + (version "0.12.1") (source (origin (method url-fetch) (uri - (string-append "https://profanity-im.github.io/profanity-" + (string-append "https://profanity-im.github.io/tarballs/profanity-" version ".tar.gz")) (sha256 (base32 - "0idx0a5g077a57q462w01m0h8i4vyvabzlj87p8527wpqbv4s6vg")))) + "0vihmlzxr6n3y6v0vdzzxh5p1i09p0hx6sd1b2pnpcgkgcg4hi73")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags @@ -2167,26 +2139,26 @@ are both supported).") libtool pkg-config)) (inputs - `(("curl" ,curl) - ("expat" ,expat) - ("glib" ,glib) - ("gpgme" ,gpgme) - ("gtk+" ,gtk+-2) - ("libgcrypt" ,libgcrypt) - ("libmesode" ,libmesode) - ("libnotify" ,libnotify) - ("libotr" ,libotr) - ("libsignal-protocol-c" ,libsignal-protocol-c) - ;; ("libxss" ,libxss) - ("ncurses" ,ncurses) - ("openssl" ,openssl) - ("python" ,python-wrapper) - ("readline" ,readline) - ("sqlite" ,sqlite))) + (list curl + expat + glib + gpgme + gtk+-2 + libgcrypt + libnotify + libotr + libsignal-protocol-c + libstrophe + ncurses + openssl + python-wrapper + readline + sqlite)) (synopsis "Console-based XMPP client") (description "Profanity is a console based XMPP client written in C using ncurses and libmesode, inspired by Irssi.") (home-page "https://profanity-im.github.io") + (properties `((release-monitoring-url . ,home-page))) (license license:gpl3+))) (define-public libircclient diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm index c431942473..fd0dbec6a2 100644 --- a/gnu/packages/minetest.scm +++ b/gnu/packages/minetest.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2021 Trevor Hass <thass@okstate.edu> -;;; Copyright © 2020, 2021 Liliana Marie Prikler <liliana.prikler@gmail.com> +;;; Copyright © 2020, 2021, 2022 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; This file is part of GNU Guix. ;;; @@ -26,6 +26,7 @@ #:use-module (gnu packages) #:use-module (gnu packages audio) #:use-module (gnu packages base) + #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages fontutils) #:use-module (gnu packages games) @@ -41,6 +42,7 @@ #:use-module (gnu packages xiph) #:use-module (gnu packages xorg) #:use-module (guix packages) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system copy) @@ -51,7 +53,7 @@ (define-public minetest (package (name "minetest") - (version "5.4.1") + (version "5.5.1") (source (origin (method git-fetch) (uri (git-reference @@ -60,11 +62,8 @@ (file-name (git-file-name name version)) (sha256 (base32 - "062ilb7s377q3hwfhl8q06vvcw2raydz5ljzlzwy2dmyzmdcndb8")) + "042v71gkk0xfixcsn82az2fri0n28fgf9d2zcz31bijqmg5q7imj")) (modules '((guix build utils))) - (patches - (search-patches - "minetest-add-MINETEST_MOD_PATH.patch")) (snippet '(begin ;; Delete bundled libraries. @@ -72,42 +71,49 @@ #t)))) (build-system cmake-build-system) (arguments - `(#:configure-flags - (list "-DRUN_IN_PLACE=0" - "-DENABLE_FREETYPE=1" - "-DENABLE_GETTEXT=1" - "-DENABLE_SYSTEM_JSONCPP=TRUE" - (string-append "-DIRRLICHT_INCLUDE_DIR=" - (assoc-ref %build-inputs "irrlicht") - "/include/irrlicht") - (string-append "-DCURL_INCLUDE_DIR=" - (assoc-ref %build-inputs "curl") - "/include/curl")) + (list + #:configure-flags + #~(list "-DRUN_IN_PLACE=0" + "-DENABLE_FREETYPE=1" + "-DENABLE_GETTEXT=1" + "-DENABLE_SYSTEM_JSONCPP=TRUE" + (string-append "-DIRRLICHTMT_INCLUDE_DIR=" + (search-input-directory %build-inputs + "include/irrlichtmt")) + (string-append "-DCURL_INCLUDE_DIR=" + (search-input-directory %build-inputs + "include/curl")) + (string-append "-DZSTD_INCLUDE_DIR=" + (dirname + (search-input-file %build-inputs + "include/zstd.h"))) + (string-append "-DZSTD_LIBRARY=" + (search-input-file %build-inputs + "lib/libzstd.so"))) #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-sources - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/filesys.cpp" - ;; Use store-path for "rm" instead of non-existing FHS path. - (("\"/bin/rm\"") - (string-append "\"" (assoc-ref inputs "coreutils") "/bin/rm\""))) - (substitute* "src/CMakeLists.txt" - ;; Let minetest binary remain in build directory. - (("set\\(EXECUTABLE_OUTPUT_PATH .*\\)") "")) - (substitute* "src/unittest/test_servermodmanager.cpp" - ;; do no override MINETEST_SUBGAME_PATH - (("(un)?setenv\\(\"MINETEST_SUBGAME_PATH\".*\\);") - "(void)0;")) - (setenv "MINETEST_SUBGAME_PATH" - (string-append (getcwd) "/games")) ; for check - #t)) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - ;; Thanks to our substitutions, the tests should also run - ;; when invoked on the target outside of `guix build'. - (when tests? - (setenv "HOME" "/tmp") - (invoke "src/minetest" "--run-unittests"))))))) + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-sources + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/filesys.cpp" + ;; Use store-path for "rm" instead of non-existing FHS path. + (("\"/bin/rm\"") + (format #f "~s" (search-input-file inputs "bin/rm")))) + (substitute* "src/CMakeLists.txt" + ;; Let minetest binary remain in build directory. + (("set\\(EXECUTABLE_OUTPUT_PATH .*\\)") "")) + (substitute* "src/unittest/test_servermodmanager.cpp" + ;; do no override MINETEST_SUBGAME_PATH + (("(un)?setenv\\(\"MINETEST_SUBGAME_PATH\".*\\);") + "(void)0;")) + (setenv "MINETEST_SUBGAME_PATH" ; for check + (string-append (getcwd) "/games")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + ;; Thanks to our substitutions, the tests should also run + ;; when invoked on the target outside of `guix build'. + (when tests? + (setenv "HOME" "/tmp") + (invoke "src/minetest" "--run-unittests"))))))) (native-search-paths (list (search-path-specification (variable "MINETEST_SUBGAME_PATH") @@ -118,23 +124,24 @@ (native-inputs (list pkg-config)) (inputs - `(("coreutils" ,coreutils) - ("curl" ,curl) - ("freetype" ,freetype) - ("gettext" ,gettext-minimal) - ("gmp" ,gmp) - ("irrlicht" ,irrlicht) - ("jsoncpp" ,jsoncpp) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libogg" ,libogg) - ("libvorbis" ,libvorbis) - ("libxxf86vm" ,libxxf86vm) - ("luajit" ,luajit) - ("mesa" ,mesa) - ("ncurses" ,ncurses) - ("openal" ,openal) - ("sqlite" ,sqlite))) + (list coreutils + curl + freetype + gettext-minimal + gmp + irrlicht-for-minetest + jsoncpp + libjpeg-turbo + libpng + libogg + libvorbis + libxxf86vm + luajit + mesa + ncurses + openal + sqlite + `(,zstd "lib"))) (propagated-inputs (list minetest-data)) (synopsis "Infinite-world block sandbox game") @@ -159,22 +166,11 @@ in different ways.") (file-name (git-file-name name version)) (sha256 (base32 - "0i45lbnikvgj9kxdp0yphpjjwjcgp4ibn49xkj78j5ic1s9n8jd4")))) - (build-system trivial-build-system) - (native-inputs - `(("source" ,source))) + "12cpaiww148szvnrc8r8cffwvl33smnrl7k29sh401yv0pbqi3j8")))) + (build-system copy-build-system) (arguments - `(#:modules ((guix build utils)) - #:builder (begin - (use-modules (guix build utils)) - (let ((install-dir (string-append - %output - "/share/minetest/games/minetest_game"))) - (mkdir-p install-dir) - (copy-recursively - (assoc-ref %build-inputs "source") - install-dir) - #t)))) + (list #:install-plan + #~'(("." "/share/minetest/games/minetest_game")))) (synopsis "Main game data for the Minetest game engine") (description "Game data for the Minetest infinite-world block sandbox game.") @@ -208,25 +204,65 @@ as swords and tools made of different materials. It also adds copper rails.") (license license:zlib) (properties `((upstream-name . "Calinou/moreores"))))) +(define-public minetest-sound-api-core + (package + (name "minetest-sound-api-core") + ;; No tags, no releases. The author intended to let users use it as a + ;; submodules for other projects. + ;; https://github.com/mt-mods/basic_materials/issues/4 + (version "2022-02-27") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mt-mods/sound_api_core") + (commit "6956e49e775f325116f8e0c643899c089c691e1e"))) + (sha256 + (base32 "1ys6g2skhkksa4cx9agxhsibj5js8z4y2q1ngis9ddr38p756pcy")) + (file-name (git-file-name name version)) + (snippet + '(begin + (call-with-output-file "mod.conf" + (lambda (port) + (format port "\ +name = sound_api_core"))))))) + (build-system minetest-mod-build-system) + (propagated-inputs '()) + (home-page "https://github.com/mt-mods/sound_api_core") + (synopsis "Core for game agnostic sounds") + (description + "This library can be used to get some specific sounds, whatever the game.") + (license license:expat))) + (define-public minetest-basic-materials (package (name "minetest-basic-materials") ;; Upstream uses dates as version numbers. - (version "2021-12-26") + (version "2022-03-28") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/mt-mods/basic_materials") - (commit "0893974b054a2191b5e2d5447ee4fc73f9c35f6a"))) + (commit "9d55f9916d20779ecbf93c7e95dae8adebd2079b"))) (sha256 - (base32 "0p4nnfsjv7284zmgr781zkyjbp049wp1jy1l7n585zzj181ns57p")) - (file-name (git-file-name name version)))) + (base32 "0nzx5mdw26mk2by14hxyvbqckgz8k67vlh2ch30skssvh4984bjw")) + (file-name (git-file-name name version)) + (snippet + '(begin + (use-modules (guix build utils)) + (substitute* "mod.conf" + (("optional_depends =") + "depends = sound_api_core +optional_depends =")) + (substitute* "nodes.lua" + (("basic_materials.modpath \\.\\. \"/sound_api_core/init.lua\"") + "minetest.get_modpath(\"sound_api_core\") .. \"/init.lua\"")))))) (build-system minetest-mod-build-system) (propagated-inputs ;; basic_materials:silver_wire cannot be crafted without ;; moreores:silver_ingot. - (list minetest-moreores)) + (list minetest-moreores minetest-sound-api-core)) (home-page (minetest-topic 21000)) (synopsis "Some \"basic\" materials and items for other Minetest mods to use") (description @@ -299,15 +335,15 @@ special items, intending to make an interesting adventure.") (name "minetest-homedecor-modpack") ;; Upstream doesn't tag releases, so use the release title from ;; ContentDB as version. - (version "2021-12-26") + (version "2022-05-18") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/mt-mods/homedecor_modpack") - (commit "a8fceb249d63f081855cfba1fbd6e2aa86365224"))) + (commit "5ffdc26673169e05492141709fbb18e8fb6e5937"))) (sha256 - (base32 "1lqcycgkykd86853jjr50m1qv2as2dlqf52gbds4mhiafslnp9mi")) + (base32 "03pf254r3hnznklw7lf3q4rzqg0a1y4c9rjjhzssf1q7ai5pdrkn")) (file-name (git-file-name name version)))) (build-system minetest-mod-build-system) (propagated-inputs @@ -326,8 +362,8 @@ and a variety of other stuff.") (define-public minetest-mesecons ;; The release on ContentDB does not have its own version number. - (let ((commit "db5879706d04d3480bc4863ce0c03fa73e5f10c7") - (revision "0")) + (let ((commit "27c3c515b49af91c1dbc427f31a820722854eb24") + (revision "63")) (package (name "minetest-mesecons") (version (git-version "1.2.1" revision commit)) @@ -338,7 +374,7 @@ and a variety of other stuff.") (url "https://github.com/minetest-mods/mesecons") (commit commit))) (sha256 - (base32 "04m9s9l3frw1lgki41hgvjsw2zkrvfv0sy750b6j12arzb3lv645")) + (base32 "1l0kwjj8ns8hv6z520g6ph5swknar336dbi5qr3dfsy18ydk1j92")) (file-name (git-file-name name version)))) (build-system minetest-mod-build-system) (home-page "https://mesecons.net") @@ -353,26 +389,22 @@ pressure plates and note blocks. Mesecons has a similar goal to Redstone in Minecraft, but works in its own way, with different rules and mechanics.") ;; LGPL for code, CC-BY-SA for textures. - ;; The README.md and COPYING.txt disagree about the "+" in license:lgpl3+. - ;; For now, assume README.md is correct. Upstream has been asked to - ;; correct the inconsistency: - ;; <https://github.com/minetest-mods/mesecons/issues/575>. - (license (list license:lgpl3+ license:cc-by-sa3.0)) + (license (list license:lgpl3 license:cc-by-sa3.0)) (properties `((upstream-name . "Jeija/mesecons")))))) (define-public minetest-mineclone (package (name "minetest-mineclone") - (version "0.71.0") + (version "0.75.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://git.minetest.land/Wuzzy/MineClone2") + (url "https://git.minetest.land/MineClone2/MineClone2") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 - "0qm809dqvxc7pa1cr9skmglq9vrbq5hhm4c4m5yi46ldh1v96dgf")))) + "10apja8bp8wmrbjlxg3gvrw5bdc8mizcngvnfi2ff790f6bsc5ip")))) (build-system copy-build-system) (arguments `(#:install-plan @@ -476,15 +508,15 @@ breakers simulate a player punching a node.") (name "minetest-technic") ;; Upstream doesn't keep version numbers, so use the release ;; date on ContentDB instead. - (version "2021-09-11") + (version "2022-02-06") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/minetest-mods/technic") - (commit "140701c99efb60d81bf63c9a9087720b21c414ca"))) + (commit "d2b68a6bef53e34e166deadd64e02b58bcae59a1"))) (sha256 - (base32 "1fkhcv8sg3kxfadc2jnfdw6bxxkkkcczsh4bf62rgwwmv2ky7zrx")) + (base32 "0vmi1y39q0x39s9w0hhgi979a4hf6n1ah5jaazjvmjf02pjcvvy1")) (file-name (git-file-name name version)))) (build-system minetest-mod-build-system) (propagated-inputs @@ -651,7 +683,7 @@ track of important locations.") (define-public minetest-advtrains (package (name "minetest-advtrains") - (version "2.3.1") + (version "2.4.1") (source (origin (method git-fetch) @@ -659,7 +691,7 @@ track of important locations.") (url "https://git.bananach.space/advtrains.git") (commit (string-append "release-" version)))) (sha256 - (base32 "1ijqlchh269jpvmgmdmdvy3nsnk0bszkvvcqk6vaysvxam695ggw")) + (base32 "1q2jj8181pjgsakl28xadv0z4sszq1lb5rpgj070wr0px6mp447p")) (file-name (git-file-name name version)))) (build-system minetest-mod-build-system) (home-page "http://advtrains.de/") diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index b98b713b9c..954c12c6f2 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2017 Dave Love <fx@gnu.org> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2019, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; @@ -184,7 +184,7 @@ bind processes, and much more.") (define-public openmpi (package (name "openmpi") - (version "4.1.3") + (version "4.1.4") (source (origin (method url-fetch) @@ -192,7 +192,7 @@ bind processes, and much more.") (version-major+minor version) "/downloads/openmpi-" version ".tar.bz2")) (sha256 - (base32 "0fqagib5ic0fb3rbl77z90gjrmyqk2qgyrd4f4w5vdggai6d109x")) + (base32 "03ckngrff1cl0l81vfvrfhp99rbgk7s0633kr1l468yibwbjx4cj")) (patches (search-patches "openmpi-mtl-priorities.patch")))) (properties diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 554d70f266..afd7ff40cf 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -47,6 +47,7 @@ ;;; Copyright © 2022 Sughosha <sughosha@disroot.org> ;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -179,6 +180,7 @@ #:use-module (gnu packages vim) ;for 'xxd' #:use-module (gnu packages web) #:use-module (gnu packages webkit) + #:use-module (gnu packages wm) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) @@ -6738,7 +6740,9 @@ streaming audio server.") gst-plugins-ugly gstreamer gtk+ + gtksourceview ; undo, redo, multiline text fields hicolor-icon-theme + keybinder-3.0 ; keybindings outside of GNOME librsvg libsoup-minimal-2 python @@ -6747,9 +6751,11 @@ streaming audio server.") python-feedparser python-gst python-iniconfig + python-musicbrainzngs python-mutagen python-pycairo python-pygobject + python-pyinotify python-pytest python-sgmllib3k python-toml)) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index bfa956149d..19fd3b44fc 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -4161,7 +4161,7 @@ on hub/switched networks. It is based on @acronym{ARP} packets, it will send (define-public putty (package (name "putty") - (version "0.76") + (version "0.77") (source (origin (method url-fetch) @@ -4170,18 +4170,26 @@ on hub/switched networks. It is based on @acronym{ARP} packets, it will send (string-append "http://www.putty.be/" version "/putty-" version ".tar.gz"))) (sha256 - (base32 "0gvi8phabszqksj2by5jrjmshm7bpirhgavz0dqyz1xaimxdjz2l")))) - (build-system gnu-build-system) + (base32 "1rgabc447a5aa9h16krpg3x78vh5jf4l6hkbqzr4bz9qabs7d6j1")))) + (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "unix")))))) + (replace 'check + ;; As ‘documented’ in ./Buildscr and the 0.76 Makefile.in. + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "PUTTY_TESTCRYPT" "./testcrypt") + (invoke (string-append "../putty-" ,version + "/test/cryptsuite.py")))))))) (inputs (list gtk+)) (native-inputs - (list pkg-config python)) ; for tests + (list perl + pkg-config + + ;; For tests. + python)) (synopsis "Graphical @acronym{SSH, Secure SHell} and telnet client") (description "PuTTY is a graphical text terminal client. It supports @acronym{SSH, Secure SHell}, telnet, and raw socket connections with good diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index ce94557a8c..c8d81fbd22 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -128,7 +128,7 @@ (cons sigxfsz common) common)) (("'/bin/sh'") - (string-append "'" (assoc-ref inputs "bash") "/bin/sh'"))) + (string-append "'" (search-input-file inputs "/bin/sh") "'"))) ;; Fix hardcoded /usr/bin/env references. (substitute* '("test/parallel/test-child-process-default-options.js" @@ -245,7 +245,8 @@ (search-input-file inpts "/bin/python3") (raise-exception e))) (lambda () - (search-input-file inpts "/bin/python")))) + (search-input-file inpts "/bin/python")) + #:unwind? #t)) "configure" flags)))) (add-after 'patch-shebangs 'patch-nested-shebangs @@ -735,14 +736,14 @@ source files.") (define-public node-lts (package (inherit node) - (version "14.18.3") + (version "14.19.3") (source (origin (method url-fetch) (uri (string-append "https://nodejs.org/dist/v" version "/node-v" version ".tar.xz")) (sha256 (base32 - "026nd6vihjdqz4jn0slg89m8m5vvkvjzgg1aip3dcg9lrm1w8fkq")) + "15691j5zhiikyamiwwd7f282g6d9acfhq91nrwx54xya38gmpx2w")) (modules '((guix build utils))) (snippet `(begin @@ -814,7 +815,9 @@ source files.") "test/parallel/test-dns-lookupService-promises.js")) ;; These tests require networking. - (delete-file "test/parallel/test-https-agent-unref-socket.js") + (for-each delete-file + '("test/parallel/test-https-agent-unref-socket.js" + "test/parallel/test-corepack-yarn-install.js")) ;; This test is timing-sensitive, and fails sporadically on ;; slow, busy, or even very fast machines. @@ -861,7 +864,7 @@ source files.") (list ;; Runtime dependencies for binaries used as a bootstrap. c-ares-for-node brotli - icu4c-67 + icu4c-70 libuv-for-node `(,nghttp2 "lib") openssl @@ -876,7 +879,7 @@ source files.") (list bash-minimal coreutils c-ares-for-node - icu4c-67 + icu4c-70 libuv-for-node llhttp-bootstrap brotli diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 5591e08d78..093835d370 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -621,7 +621,7 @@ Software distribution.") (define-public ocaml-mccs (package (name "ocaml-mccs") - (version "1.1+13") + (version "1.1+14") (source (origin (method git-fetch) (uri (git-reference @@ -630,7 +630,7 @@ Software distribution.") (file-name (git-file-name name version)) (sha256 (base32 - "15slv97jlvbaxj221wp4sjxk4lbdfyj9vcig0jwd4n54v89ksvib")))) + "17bvm0jhhs8h3p5sbb65asj53a8sxl634cc0kvcivpams74837zq")))) (build-system dune-build-system) (propagated-inputs (list ocaml-cudf)) (home-page "https://www.i3s.unice.fr/~cpjm/misc/") @@ -1704,7 +1704,7 @@ full_split, cut, rcut, etc..") (define dune-bootstrap (package (name "dune") - (version "3.1.1") + (version "3.2.0") (source (origin (method git-fetch) (uri (git-reference @@ -1713,7 +1713,7 @@ full_split, cut, rcut, etc..") (file-name (git-file-name name version)) (sha256 (base32 - "0ljv4gnalxq77byic23c8hrjmsqvn87gqj0ijm7rdx4xr1pff1jg")))) + "0fa8fkj2piis8b56phl6p77pl1na81krdnmmvyw16hq45zbmm9rk")))) (build-system ocaml-build-system) (arguments `(#:tests? #f; require odoc @@ -3490,7 +3490,7 @@ build system and allows external tools to analyse your project easily.") (define-public ocaml-cppo (package (name "ocaml-cppo") - (version "1.6.8") + (version "1.6.9") (source (origin (method git-fetch) @@ -3499,7 +3499,7 @@ build system and allows external tools to analyse your project easily.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0xjb1dnj8lvdcccskrhrakknd9q4vfy5330sjbqpf4h95dsz90k9")))) + "1c8jlr2s0allw1h6czz5q24vn5jsnrrh44j7hjyilzaifm17dlrm")))) (build-system dune-build-system) (arguments `(#:tests? #f)) @@ -4333,9 +4333,7 @@ long and size_t whose sizes depend on the host platform.") "0ilzq9qzvwv9rc08cc9wchsx636zp870i7qvqmbigaa2qb812m0z")))) (build-system ocaml-build-system) (arguments - `(#:make-flags - (list (string-append "INSTALL_HEADERS = $(wildcard $($(PROJECT).dir)/*.h)")) - #:phases + `(#:phases (modify-phases %standard-phases (add-after 'unpack 'make-writable (lambda _ @@ -7593,7 +7591,7 @@ convenience functions for vectors and matrices.") (define-public ocaml-cairo2 (package (name "ocaml-cairo2") - (version "0.6.2") + (version "0.6.3") (source (origin (method git-fetch) (uri (git-reference @@ -7602,7 +7600,7 @@ convenience functions for vectors and matrices.") (file-name (git-file-name name version)) (sha256 (base32 - "04rp5y1rlq1pw592yywhvqd5x7csmyi9ad4f32g99nakb10s4nhx")))) + "1m0wh0s0sqjfa3mgq99lwk0dsg0bwxipaz93hq18m0lz5fqxib1m")))) (build-system dune-build-system) (arguments `(#:test-target "tests")) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 16ad4fe9db..ad3a6db9af 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1820,7 +1820,7 @@ for packaging and deployment of cross-compiled Windows applications.") (define-public libostree (package (name "libostree") - (version "2022.2") + (version "2022.3") (source (origin (method url-fetch) @@ -1828,7 +1828,7 @@ for packaging and deployment of cross-compiled Windows applications.") "https://github.com/ostreedev/ostree/releases/download/v" (version-major+minor version) "/libostree-" version ".tar.xz")) (sha256 - (base32 "0sv70dqmf2w2lshp80sfh9m6qv5mrg72zqqbx63bd32dg2szbqkn")))) + (base32 "04pn4ibak8k7qlm0722im5ng8gyn1r5y5ggyz75ca0smrnfzs8xq")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/patches/clang-14.0-libc-search-path.patch b/gnu/packages/patches/clang-14.0-libc-search-path.patch index 7e439cd1ef..78b0637cab 100644 --- a/gnu/packages/patches/clang-14.0-libc-search-path.patch +++ b/gnu/packages/patches/clang-14.0-libc-search-path.patch @@ -7,6 +7,7 @@ the distro-specific stuff and removes the hard-coded FHS directory names to make sure Clang also works on foreign distros. diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp +index 5ac38c34d112..2a704b418fdc 100644 --- a/clang/lib/Driver/Distro.cpp +++ b/clang/lib/Driver/Distro.cpp @@ -96,6 +96,10 @@ static Distro::DistroType DetectLsbRelease(llvm::vfs::FileSystem &VFS) { @@ -21,6 +22,7 @@ diff --git a/clang/lib/Driver/Distro.cpp b/clang/lib/Driver/Distro.cpp // Newer freedesktop.org's compilant systemd-based systems diff --git a/clang/lib/Driver/ToolChains/Cuda.cpp b/clang/lib/Driver/ToolChains/Cuda.cpp +index 4a9f6d4c4e3e..0ae13ebebd27 100644 --- a/clang/lib/Driver/ToolChains/Cuda.cpp +++ b/clang/lib/Driver/ToolChains/Cuda.cpp @@ -117,6 +117,9 @@ CudaInstallationDetector::CudaInstallationDetector( @@ -34,6 +36,7 @@ diff --git a/clang/lib/Driver/ToolChains/Cuda.cpp b/clang/lib/Driver/ToolChains/ std::string Path; bool StrictChecking; diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp +index 83cb41159de7..6b920e33d1ef 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp @@ -186,6 +186,10 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) @@ -72,21 +75,19 @@ diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains Generic_GCC::AddMultiarchPaths(D, SysRoot, OSLibDir, Paths); +#if 0 - // Similar to the logic for GCC above, if we are currently running Clang - // inside of the requested system root, add its parent library path to those - // searched. -@@ -313,9 +321,14 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) - if (OSLibDir != "lib") - addPathIfExists(D, D.Dir + "/../" + OSLibDir, Paths); - } + // The deprecated -DLLVM_ENABLE_PROJECTS=libcxx configuration installs + // libc++.so in D.Dir+"/../lib/". Detect this path. + // TODO Remove once LLVM_ENABLE_PROJECTS=libcxx is unsupported. +@@ -310,6 +318,14 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + + addPathIfExists(D, SysRoot + "/lib", Paths); + addPathIfExists(D, SysRoot + "/usr/lib", Paths); +#endif + + // Add libc's lib/ directory to the search path, so that crt1.o, crti.o, + // and friends can be found. + addPathIfExists(D, "@GLIBC_LIBDIR@", Paths); - -- addPathIfExists(D, SysRoot + "/lib", Paths); -- addPathIfExists(D, SysRoot + "/usr/lib", Paths); ++ + // Add GCC's lib/ directory so libstdc++.so can be found. + addPathIfExists(D, GCCInstallation.getParentLibPath(), Paths); } diff --git a/gnu/packages/patches/irrlicht-link-against-needed-libs.patch b/gnu/packages/patches/irrlicht-link-against-needed-libs.patch new file mode 100644 index 0000000000..2e9f5c78d5 --- /dev/null +++ b/gnu/packages/patches/irrlicht-link-against-needed-libs.patch @@ -0,0 +1,24 @@ +From: Christoph Egger <Christoph.Egger@gmx.de> +Subject: [PATCH] debian/link-against-needed-libs + +There are quite some libraries irrlicht needs but does not link +against. This patch makes irrlicht link correctly against all the +needed libraries. + +Signed-off-by: Christoph Egger <Christoph.Egger@gmx.de> + +--- + source/Irrlicht/Makefile | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +--- irrlicht.orig/source/Irrlicht/Makefile ++++ irrlicht/source/Irrlicht/Makefile +@@ -90,7 +90,7 @@ + LIB_PATH = ../../lib/$(SYSTEM) + INSTALL_DIR = /usr/local/lib + sharedlib install: SHARED_LIB = libIrrlicht.so +-sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm ++staticlib sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lX11 -lz -lpng -ljpeg -lbz2 + staticlib sharedlib: CXXINCS += -I/usr/X11R6/include + + #OSX specific options diff --git a/gnu/packages/patches/irrlicht-use-system-libs.patch b/gnu/packages/patches/irrlicht-use-system-libs.patch index e764f411d3..06cb6db062 100644 --- a/gnu/packages/patches/irrlicht-use-system-libs.patch +++ b/gnu/packages/patches/irrlicht-use-system-libs.patch @@ -1,40 +1,13 @@ -This patch is a combination of the two following patches with minor -changes to the install code -https://sources.debian.org/src/irrlicht/1.8.4+dfsg1-1/debian/patches/debian/link-against-needed-libs.diff/ -https://sources.debian.org/src/irrlicht/1.8.4+dfsg1-1/debian/patches/debian/use-system-libs.diff/ +Subject: [PATCH] debian/use-system-libs +Path to build irrlicht using the system libraries for png,zlib and +jpeg as well as the glext family of header files. ---- - include/IrrCompileConfig.h | 26 +++++++++------------ - source/Irrlicht/CIrrDeviceLinux.h | 2 +- - source/Irrlicht/COpenGLExtensionHandler.h | 8 +++---- - source/Irrlicht/COpenGLSLMaterialRenderer.h | 2 +- - source/Irrlicht/Makefile | 15 ++++++------ - 5 files changed, 25 insertions(+), 28 deletions(-) +Signed-off-by: Christoph Egger <debian@christoph-egger.org -diff --git a/include/IrrCompileConfig.h b/include/IrrCompileConfig.h -index 6bb0589..2216353 100644 ---- a/include/IrrCompileConfig.h -+++ b/include/IrrCompileConfig.h -@@ -238,6 +238,17 @@ for Windows based systems. You also have to set #define UNICODE for this to comp - #undef _IRR_WCHAR_FILESYSTEM - #endif - -+//! Define _IRR_COMPILE_WITH_ZLIB_ to enable compiling the engine using zlib. -+/** This enables the engine to read from compressed .zip archives. If you -+disable this feature, the engine can still read archives, but only uncompressed -+ones. */ -+#define _IRR_COMPILE_WITH_ZLIB_ -+ -+//! Define _IRR_USE_NON_SYSTEM_ZLIB_ to let irrlicht use the zlib which comes with irrlicht. -+/** If this is commented out, Irrlicht will try to compile using the zlib installed in the system. -+ This is only used when _IRR_COMPILE_WITH_ZLIB_ is defined. */ -+#undef _IRR_USE_NON_SYSTEM_ZLIB_ -+ - //! Define _IRR_COMPILE_WITH_JPEGLIB_ to enable compiling the engine using libjpeg. - /** This enables the engine to read jpeg images. If you comment this out, - the engine will no longer read .jpeg images. */ -@@ -249,10 +260,7 @@ the engine will no longer read .jpeg images. */ +--- irrlicht.orig/include/IrrCompileConfig.h ++++ irrlicht/include/IrrCompileConfig.h +@@ -253,10 +253,7 @@ //! Define _IRR_USE_NON_SYSTEM_JPEG_LIB_ to let irrlicht use the jpeglib which comes with irrlicht. /** If this is commented out, Irrlicht will try to compile using the jpeg lib installed in the system. This is only used when _IRR_COMPILE_WITH_LIBJPEG_ is defined. */ @@ -45,7 +18,7 @@ index 6bb0589..2216353 100644 //! Define _IRR_COMPILE_WITH_LIBPNG_ to enable compiling the engine using libpng. /** This enables the engine to read png images. If you comment this out, -@@ -265,10 +273,7 @@ the engine will no longer read .png images. */ +@@ -269,10 +266,7 @@ //! Define _IRR_USE_NON_SYSTEM_LIBPNG_ to let irrlicht use the libpng which comes with irrlicht. /** If this is commented out, Irrlicht will try to compile using the libpng installed in the system. This is only used when _IRR_COMPILE_WITH_LIBPNG_ is defined. */ @@ -56,7 +29,7 @@ index 6bb0589..2216353 100644 //! Define _IRR_D3D_NO_SHADER_DEBUGGING to disable shader debugging in D3D9 /** If _IRR_D3D_NO_SHADER_DEBUGGING is undefined in IrrCompileConfig.h, -@@ -602,10 +607,7 @@ ones. */ +@@ -606,10 +600,7 @@ /** If this is commented out, Irrlicht will try to compile using the zlib installed on the system. This is only used when _IRR_COMPILE_WITH_ZLIB_ is defined. */ @@ -67,7 +40,7 @@ index 6bb0589..2216353 100644 //! Define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_ if you want to read AES-encrypted ZIP archives #define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_ #ifdef NO_IRR_COMPILE_WITH_ZIP_ENCRYPTION_ -@@ -623,18 +625,12 @@ library. */ +@@ -627,18 +618,12 @@ /** If this is commented out, Irrlicht will try to compile using the bzlib installed on the system. This is only used when _IRR_COMPILE_WITH_BZLIB_ is defined. */ @@ -86,10 +59,8 @@ index 6bb0589..2216353 100644 //! Define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_ if you want to mount folders as archives #define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_ -diff --git a/source/Irrlicht/CIrrDeviceLinux.h b/source/Irrlicht/CIrrDeviceLinux.h -index 4d2a2c6..8cf24ba 100644 ---- a/source/Irrlicht/CIrrDeviceLinux.h -+++ b/source/Irrlicht/CIrrDeviceLinux.h +--- irrlicht.orig/source/Irrlicht/CIrrDeviceLinux.h ++++ irrlicht/source/Irrlicht/CIrrDeviceLinux.h @@ -22,7 +22,7 @@ #define GLX_GLXEXT_LEGACY 1 #include <GL/glx.h> @@ -99,10 +70,8 @@ index 4d2a2c6..8cf24ba 100644 #endif #endif -diff --git a/source/Irrlicht/COpenGLExtensionHandler.h b/source/Irrlicht/COpenGLExtensionHandler.h -index 1b77bad..3886a0e 100644 ---- a/source/Irrlicht/COpenGLExtensionHandler.h -+++ b/source/Irrlicht/COpenGLExtensionHandler.h +--- irrlicht.orig/source/Irrlicht/COpenGLExtensionHandler.h ++++ irrlicht/source/Irrlicht/COpenGLExtensionHandler.h @@ -35,7 +35,7 @@ #endif #include <OpenGL/gl.h> @@ -133,10 +102,8 @@ index 1b77bad..3886a0e 100644 #endif #endif -diff --git a/source/Irrlicht/COpenGLSLMaterialRenderer.h b/source/Irrlicht/COpenGLSLMaterialRenderer.h -index ff71150..f8a6007 100644 ---- a/source/Irrlicht/COpenGLSLMaterialRenderer.h -+++ b/source/Irrlicht/COpenGLSLMaterialRenderer.h +--- irrlicht.orig/source/Irrlicht/COpenGLSLMaterialRenderer.h ++++ irrlicht/source/Irrlicht/COpenGLSLMaterialRenderer.h @@ -25,7 +25,7 @@ #include <GL/gl.h> #endif @@ -146,11 +113,9 @@ index ff71150..f8a6007 100644 #endif #endif -diff --git a/source/Irrlicht/Makefile b/source/Irrlicht/Makefile -index 67a3899..d9ea7f3 100644 ---- a/source/Irrlicht/Makefile -+++ b/source/Irrlicht/Makefile -@@ -43,7 +43,7 @@ IRRIMAGEOBJ = CColorConverter.o CImage.o CImageLoaderBMP.o CImageLoaderDDS.o CIm +--- irrlicht.orig/source/Irrlicht/Makefile ++++ irrlicht/source/Irrlicht/Makefile +@@ -45,7 +45,7 @@ CImageWriterBMP.o CImageWriterJPG.o CImageWriterPCX.o CImageWriterPNG.o CImageWriterPPM.o CImageWriterPSD.o CImageWriterTGA.o IRRVIDEOOBJ = CVideoModeList.o CFPSCounter.o $(IRRDRVROBJ) $(IRRIMAGEOBJ) IRRSWRENDEROBJ = CSoftwareDriver.o CSoftwareTexture.o CTRFlat.o CTRFlatWire.o CTRGouraud.o CTRGouraudWire.o CTRNormalMap.o CTRStencilShadow.o CTRTextureFlat.o CTRTextureFlatWire.o CTRTextureGouraud.o CTRTextureGouraudAdd.o CTRTextureGouraudNoZ.o CTRTextureGouraudWire.o CZBuffer.o CTRTextureGouraudVertexAlpha2.o CTRTextureGouraudNoZ2.o CTRTextureLightMap2_M2.o CTRTextureLightMap2_M4.o CTRTextureLightMap2_M1.o CSoftwareDriver2.o CSoftwareTexture2.o CTRTextureGouraud2.o CTRGouraud2.o CTRGouraudAlpha2.o CTRGouraudAlphaNoZ2.o CTRTextureDetailMap2.o CTRTextureGouraudAdd2.o CTRTextureGouraudAddNoZ2.o CTRTextureWire2.o CTRTextureLightMap2_Add.o CTRTextureLightMapGouraud2_M4.o IBurningShader.o CTRTextureBlend.o CTRTextureGouraudAlpha.o CTRTextureGouraudAlphaNoZ.o CDepthBuffer.o CBurningShader_Raster_Reference.o @@ -159,7 +124,7 @@ index 67a3899..d9ea7f3 100644 IRROTHEROBJ = CIrrDeviceSDL.o CIrrDeviceLinux.o CIrrDeviceConsole.o CIrrDeviceStub.o CIrrDeviceWin32.o CIrrDeviceFB.o CLogger.o COSOperator.o Irrlicht.o os.o IRRGUIOBJ = CGUIButton.o CGUICheckBox.o CGUIComboBox.o CGUIContextMenu.o CGUIEditBox.o CGUIEnvironment.o CGUIFileOpenDialog.o CGUIFont.o CGUIImage.o CGUIInOutFader.o CGUIListBox.o CGUIMenu.o CGUIMeshViewer.o CGUIMessageBox.o CGUIModalScreen.o CGUIScrollBar.o CGUISpinBox.o CGUISkin.o CGUIStaticText.o CGUITabControl.o CGUITable.o CGUIToolBar.o CGUIWindow.o CGUIColorSelectDialog.o CDefaultGUIElementFactory.o CGUISpriteBank.o CGUIImageList.o CGUITreeView.o ZLIBOBJ = zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o zlib/uncompr.o zlib/zutil.o -@@ -56,14 +56,14 @@ BZIP2OBJ = bzip2/blocksort.o bzip2/huffman.o bzip2/crctable.o bzip2/randtable.o +@@ -58,14 +58,14 @@ EXTRAOBJ = LINKOBJ = $(IRRMESHOBJ) $(IRROBJ) $(IRRPARTICLEOBJ) $(IRRANIMOBJ) \ $(IRRVIDEOOBJ) $(IRRSWRENDEROBJ) $(IRRIOOBJ) $(IRROTHEROBJ) \ @@ -178,25 +143,11 @@ index 67a3899..d9ea7f3 100644 ifndef NDEBUG CXXFLAGS += -g -D_DEBUG else -@@ -88,7 +88,7 @@ STATIC_LIB = libIrrlicht.a - LIB_PATH = ../../lib/$(SYSTEM) - INSTALL_DIR = /usr/local/lib - sharedlib install: SHARED_LIB = libIrrlicht.so --sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -+staticlib sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lX11 -lz -lpng -ljpeg -lbz2 - staticlib sharedlib: CXXINCS += -I/usr/X11R6/include - - #OSX specific options -@@ -153,7 +153,8 @@ install install_osx: - $(RM) -r $(INSTALL_DIR)/../include/irrlicht +@@ -156,6 +156,7 @@ mkdir -p $(INSTALL_DIR)/../include/irrlicht cp ../../include/*.h $(INSTALL_DIR)/../include/irrlicht/ -- cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR) -+ cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR) || true -+ cp $(LIB_PATH)/$(STATIC_LIB) $(INSTALL_DIR) || true + cp $(LIB_PATH)/$(SHARED_FULLNAME) $(INSTALL_DIR) ++ cp $(LIB_PATH)/$(STATIC_LIB) $(INSTALL_DIR) cd $(INSTALL_DIR) && ln -s -f $(SHARED_FULLNAME) $(SONAME) cd $(INSTALL_DIR) && ln -s -f $(SONAME) $(SHARED_LIB) # ldconfig -n $(INSTALL_DIR) --- -2.18.0 - diff --git a/gnu/packages/patches/libmicrohttpd-0.9.73-test-ssl3.patch b/gnu/packages/patches/libmicrohttpd-0.9.73-test-ssl3.patch deleted file mode 100644 index e8d5dce0ed..0000000000 --- a/gnu/packages/patches/libmicrohttpd-0.9.73-test-ssl3.patch +++ /dev/null @@ -1,35 +0,0 @@ - Disable usage of SSLv3 in testing - - Integrated uptream version 0.9.74 - - -diff --git a/src/testcurl/https/test_tls_options.c b/src/testcurl/https/test_tls_options.c - ---- a/src/testcurl/https/test_tls_options.c -+++ b/src/testcurl/https/test_tls_options.c -@@ -119,11 +119,6 @@ main (int argc, char *const *argv) - fprintf (stderr, "Curl does not support SSL. Cannot run the test.\n"); - return 77; - } -- if (0 != strncmp (ssl_version, "GnuTLS", 6)) -- { -- fprintf (stderr, "This test can be run only with libcurl-gnutls.\n"); -- return 77; -- } - - if (! testsuite_curl_global_init ()) - return 99; -@@ -152,10 +147,10 @@ main (int argc, char *const *argv) - fprintf (stderr, - "The following handshake should fail (and print an error message)...\n"); - if (0 != -- test_wrap ("TLS1.0 vs SSL3", -+ test_wrap ("TLS1.1 vs TLS1.0", - &test_unmatching_ssl_version, NULL, port, daemon_flags, - aes256_sha, -- CURL_SSLVERSION_SSLv3, -+ CURL_SSLVERSION_TLSv1_1, - MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem, - MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem, - MHD_OPTION_HTTPS_PRIORITIES, - diff --git a/gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch b/gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch deleted file mode 100644 index 41338e6e6f..0000000000 --- a/gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch +++ /dev/null @@ -1,156 +0,0 @@ -From d10ea2ad7efc2364a8a2007b4c6d3e85511e2f84 Mon Sep 17 00:00:00 2001 -From: Maxime Devos <maximedevos@telenet.be> -Date: Tue, 3 Aug 2021 01:00:23 +0200 -Subject: [PATCH] Add environment variable MINETEST_MOD_PATH - -This adds an environment variable MINETEST_MOD_PATH. -When it exists, Minetest will look there for mods -in addition to ~/.minetest/mods/. Mods can still be -installed to ~/.minetest/mods/ with the built-in installer. - -With thanks to Liliana Marie Prikler. ---- - builtin/mainmenu/pkgmgr.lua | 7 +++---- - doc/menu_lua_api.txt | 8 +++++++- - src/content/subgames.cpp | 11 +++++++++++ - src/script/lua_api/l_mainmenu.cpp | 23 +++++++++++++++++++++++ - src/script/lua_api/l_mainmenu.h | 2 ++ - 5 files changed, 46 insertions(+), 5 deletions(-) - -diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua -index 787936e31..d8fba0ebe 100644 ---- a/builtin/mainmenu/pkgmgr.lua -+++ b/builtin/mainmenu/pkgmgr.lua -@@ -682,10 +682,9 @@ function pkgmgr.preparemodlist(data) - local game_mods = {} - - --read global mods -- local modpath = core.get_modpath() -- -- if modpath ~= nil and -- modpath ~= "" then -+ local modpaths = core.get_modpaths() -+ --XXX what was ‘modpath ~= ""’ and ‘modpath ~= nil’ for? -+ for _,modpath in ipairs(modpaths) do - get_mods(modpath,global_mods) - end - -diff --git a/doc/menu_lua_api.txt b/doc/menu_lua_api.txt -index b3975bc1d..132444b14 100644 ---- a/doc/menu_lua_api.txt -+++ b/doc/menu_lua_api.txt -@@ -218,7 +218,13 @@ Package - content which is downloadable from the content db, may or may not be i - * returns path to global user data, - the directory that contains user-provided mods, worlds, games, and texture packs. - * core.get_modpath() (possible in async calls) -- * returns path to global modpath -+ * returns path to global modpath, where mods can be installed -+* core.get_modpaths() (possible in async calls) -+ * returns list of paths to global modpaths, where mods have been installed -+ -+ The difference with "core.get_modpath" is that no mods should be installed in these -+ directories by Minetest -- they might be read-only. -+ - * core.get_clientmodpath() (possible in async calls) - * returns path to global client-side modpath - * core.get_gamepath() (possible in async calls) -diff --git a/src/content/subgames.cpp b/src/content/subgames.cpp -index e9dc609b0..d73f95a1f 100644 ---- a/src/content/subgames.cpp -+++ b/src/content/subgames.cpp -@@ -61,6 +61,12 @@ std::string getSubgamePathEnv() - return subgame_path ? std::string(subgame_path) : ""; - } - -+std::string getModPathEnv() -+{ -+ char *mod_path = getenv("MINETEST_MOD_PATH"); -+ return mod_path ? std::string(mod_path) : ""; -+} -+ - SubgameSpec findSubgame(const std::string &id) - { - if (id.empty()) -@@ -110,6 +116,11 @@ SubgameSpec findSubgame(const std::string &id) - std::set<std::string> mods_paths; - if (!user_game) - mods_paths.insert(share + DIR_DELIM + "mods"); -+ -+ Strfnd mod_search_paths(getModPathEnv()); -+ while (!mod_search_paths.at_end()) -+ mods_paths.insert(mod_search_paths.next(PATH_DELIM)); -+ - if (user != share || user_game) - mods_paths.insert(user + DIR_DELIM + "mods"); - -diff --git a/src/script/lua_api/l_mainmenu.cpp b/src/script/lua_api/l_mainmenu.cpp -index 3e9709bde..903ac3a22 100644 ---- a/src/script/lua_api/l_mainmenu.cpp -+++ b/src/script/lua_api/l_mainmenu.cpp -@@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc., - #include "lua_api/l_internal.h" - #include "common/c_content.h" - #include "cpp_api/s_async.h" -+#include "util/strfnd.h" - #include "gui/guiEngine.h" - #include "gui/guiMainMenu.h" - #include "gui/guiKeyChangeMenu.h" -@@ -502,6 +503,26 @@ int ModApiMainMenu::l_get_modpath(lua_State *L) - return 1; - } - -+/******************************************************************************/ -+int ModApiMainMenu::l_get_modpaths(lua_State *L) -+{ -+ const char *c_modpath = getenv("MINETEST_MOD_PATH"); -+ if (c_modpath == NULL) -+ c_modpath = ""; -+ int index = 1; -+ lua_newtable(L); -+ Strfnd mod_search_paths{std::string(c_modpath)}; -+ while (!mod_search_paths.at_end()) { -+ std::string component = mod_search_paths.next(PATH_DELIM); -+ lua_pushstring(L, component.c_str()); -+ lua_rawseti(L, -2, index); -+ index++; -+ } -+ ModApiMainMenu::l_get_modpath(L); -+ lua_rawseti(L, -2, index); -+ return 1; -+} -+ - /******************************************************************************/ - int ModApiMainMenu::l_get_clientmodpath(lua_State *L) - { -@@ -949,6 +970,7 @@ void ModApiMainMenu::Initialize(lua_State *L, int top) - API_FCT(get_mapgen_names); - API_FCT(get_user_path); - API_FCT(get_modpath); -+ API_FCT(get_modpaths); - API_FCT(get_clientmodpath); - API_FCT(get_gamepath); - API_FCT(get_texturepath); -@@ -983,6 +1005,7 @@ void ModApiMainMenu::InitializeAsync(lua_State *L, int top) - API_FCT(get_mapgen_names); - API_FCT(get_user_path); - API_FCT(get_modpath); -+ API_FCT(get_modpaths); - API_FCT(get_clientmodpath); - API_FCT(get_gamepath); - API_FCT(get_texturepath); -diff --git a/src/script/lua_api/l_mainmenu.h b/src/script/lua_api/l_mainmenu.h -index 33ac9e721..a6a54a2cb 100644 ---- a/src/script/lua_api/l_mainmenu.h -+++ b/src/script/lua_api/l_mainmenu.h -@@ -112,6 +112,8 @@ class ModApiMainMenu: public ModApiBase - - static int l_get_modpath(lua_State *L); - -+ static int l_get_modpaths(lua_State *L); -+ - static int l_get_clientmodpath(lua_State *L); - - static int l_get_gamepath(lua_State *L); --- -2.32.0 - diff --git a/gnu/packages/patches/ncftp-reproducible.patch b/gnu/packages/patches/ncftp-reproducible.patch new file mode 100644 index 0000000000..043b3b1e70 --- /dev/null +++ b/gnu/packages/patches/ncftp-reproducible.patch @@ -0,0 +1,29 @@ +Author: Reiner Herrmann <reiner@reiner-h.de> +Date: 2016-07-01 16:00:02 UTC +Bug-Debian: https://bugs.debian.org/829249 + + make ncftp build reproducible. + +diff --git a/ncftp/main.c b/ncftp/main.c +index a7fccac..b27a94e 100644 +--- a/ncftp/main.c ++++ b/ncftp/main.c +@@ -62,7 +62,7 @@ static void + Usage(void) + { + FILE *fp; +-#ifdef UNAME ++#if 0 + char s[80]; + #endif + +@@ -76,7 +76,7 @@ Usage(void) + -F Dump a sample $HOME/.ncftp/firewall prefs file to stdout and exit.\n"); + + (void) fprintf(fp, "\nProgram version: %s\nLibrary version: %s\n", gVersion + 5, gLibNcFTPVersion + 5); +-#ifdef UNAME ++#if 0 + AbbrevStr(s, UNAME, 60, 1); + (void) fprintf(fp, "Build system: %s\n", s); + #endif + diff --git a/gnu/packages/patches/pigx-bsseq-no-citeproc.patch b/gnu/packages/patches/pigx-bsseq-no-citeproc.patch deleted file mode 100644 index 882e660fe4..0000000000 --- a/gnu/packages/patches/pigx-bsseq-no-citeproc.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -Naur pigx_bsseq-0.1.5/configure.ac pigx_bsseq-0.1.5.patched/configure.ac ---- pigx_bsseq-0.1.5/configure.ac 2021-06-08 15:28:08.000000000 +0200 -+++ pigx_bsseq-0.1.5.patched/configure.ac 2021-10-05 14:43:56.806529137 +0200 -@@ -38,7 +38,6 @@ - find_or_override_prog([GNUBASH], [bash]) - find_or_override_prog([SNAKEMAKE], [snakemake]) - find_or_override_prog([PANDOC], [pandoc]) --find_or_override_prog([PANDOC_CITEPROC], [pandoc-citeproc]) - find_or_override_prog([FASTQC], [fastqc]) - find_or_override_prog([MULTIQC], [multiqc]) - find_or_override_prog([TRIMGALORE], [trim_galore]) -diff -Naur pigx_bsseq-0.1.5/Makefile.in pigx_bsseq-0.1.5.patched/Makefile.in ---- pigx_bsseq-0.1.5/Makefile.in 2021-06-08 16:17:03.000000000 +0200 -+++ pigx_bsseq-0.1.5.patched/Makefile.in 2021-10-05 14:43:34.635876855 +0200 -@@ -408,7 +408,6 @@ - PACKAGE_URL = @PACKAGE_URL@ - PACKAGE_VERSION = @PACKAGE_VERSION@ - PANDOC = @PANDOC@ --PANDOC_CITEPROC = @PANDOC_CITEPROC@ - PATH_SEPARATOR = @PATH_SEPARATOR@ - PYTHON = @PYTHON@ - PYTHONPATH = @PYTHONPATH@ -diff -Naur pigx_bsseq-0.1.5/pigx-common/common/pigx-runner.in pigx_bsseq-0.1.5.patched/pigx-common/common/pigx-runner.in ---- pigx_bsseq-0.1.5/pigx-common/common/pigx-runner.in 2021-06-08 10:14:29.000000000 +0200 -+++ pigx_bsseq-0.1.5.patched/pigx-common/common/pigx-runner.in 2021-10-05 14:43:44.296161069 +0200 -@@ -375,7 +375,6 @@ - if path.exists(bin): shutil.rmtree(bin) - os.makedirs(bin, exist_ok=True) - os.symlink('@PANDOC@', path.join(bin, "pandoc")) -- os.symlink('@PANDOC_CITEPROC@', path.join(bin, "pandoc-citeproc")) - os.symlink('@RSCRIPT@', path.join(bin, "Rscript")) - os.environ['PATH'] = path.abspath(bin) + ":" + os.environ['PATH'] - os.environ['PIGX_PATH'] = path.abspath(bin) + ":" + os.environ['PATH'] diff --git a/gnu/packages/patches/pigx-chipseq-no-citeproc.patch b/gnu/packages/patches/pigx-chipseq-no-citeproc.patch deleted file mode 100644 index b01820f110..0000000000 --- a/gnu/packages/patches/pigx-chipseq-no-citeproc.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -Naur pigx_chipseq-0.0.53/configure.ac pigx_chipseq-0.0.53.patched/configure.ac ---- pigx_chipseq-0.0.53/configure.ac 2021-09-28 11:14:12.000000000 +0200 -+++ pigx_chipseq-0.0.53.patched/configure.ac 2021-10-07 14:48:53.034054327 +0200 -@@ -52,7 +52,6 @@ - find_or_override_prog([MACS2], [macs2]) - find_or_override_prog([SNAKEMAKE], [snakemake]) - find_or_override_prog([PANDOC], [pandoc]) --find_or_override_prog([PANDOC_CITEPROC], [pandoc-citeproc]) - find_or_override_prog([FASTQC], [fastqc]) - find_or_override_prog([BOWTIE2], [bowtie2]) - find_or_override_prog([BOWTIE2_BUILD], [bowtie2-build]) -diff -Naur pigx_chipseq-0.0.53/Makefile.in pigx_chipseq-0.0.53.patched/Makefile.in ---- pigx_chipseq-0.0.53/Makefile.in 2021-09-28 11:55:05.000000000 +0200 -+++ pigx_chipseq-0.0.53.patched/Makefile.in 2021-10-07 14:48:37.195577143 +0200 -@@ -407,7 +407,6 @@ - PACKAGE_URL = @PACKAGE_URL@ - PACKAGE_VERSION = @PACKAGE_VERSION@ - PANDOC = @PANDOC@ --PANDOC_CITEPROC = @PANDOC_CITEPROC@ - PATH_SEPARATOR = @PATH_SEPARATOR@ - PERL = @PERL@ - PYTHON = @PYTHON@ -diff -Naur pigx_chipseq-0.0.53/pigx-common/common/pigx-runner.in pigx_chipseq-0.0.53.patched/pigx-common/common/pigx-runner.in ---- pigx_chipseq-0.0.53/pigx-common/common/pigx-runner.in 2021-09-27 18:16:42.000000000 +0200 -+++ pigx_chipseq-0.0.53.patched/pigx-common/common/pigx-runner.in 2021-10-07 14:48:44.200788218 +0200 -@@ -379,7 +379,6 @@ - if path.exists(bin): shutil.rmtree(bin) - os.makedirs(bin, exist_ok=True) - os.symlink('@PANDOC@', path.join(bin, "pandoc")) -- os.symlink('@PANDOC_CITEPROC@', path.join(bin, "pandoc-citeproc")) - os.symlink('@RSCRIPT@', path.join(bin, "Rscript")) - os.environ['PATH'] = path.abspath(bin) + ":" + os.environ['PATH'] - os.environ['PIGX_PATH'] = path.abspath(bin) + ":" + os.environ['PATH'] diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index ba65cc6e6d..1f947b48fa 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -10020,6 +10020,13 @@ the job on behalf of @code{Term::Size::Any}.") "Term-Size-Perl-" version ".tar.gz")) (sha256 (base32 "17i05y186l977bhp32b24c8rqasmg1la934dizf5sc0vrd36g6mf")))) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'remove-timestamps + ;; Remove timestamp in comment for reproducible builds + (lambda _ + (substitute* "inc/Probe.pm" + ((". created ...scalar localtime..") ""))))))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Term-Size-Perl") (synopsis "Perl extension for retrieving terminal size (Perl version)") @@ -11849,3 +11856,27 @@ regexp patterns in modules.") (description "Data::SExpression parses Lisp S-Expressions into Perl data structures.") (license license:perl-license))) + +(define-public perl-socket-msghdr + (package + (name "perl-socket-msghdr") + (version "0.05") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/F/FE/FELIPE/Socket-MsgHdr-" + version + ".tar.gz")) + (sha256 + (base32 "0g3qa7xn0aqn417jfvnc0i3ksyqa7bnvws0wihldir6ywcaiql4n")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/Socket-MsgHdr") + (synopsis "Perform advanced operations via sendmsg and recvmsg") + (description "Socket::MsgHdr provides advanced socket messaging operations +via sendmsg and recvmsg. + +It also allows manipulating ancillary data or so-called control +information (cmsghdr). This ancillary data may be used for file descriptor +passing, IPv6 operations, and a host of implemenation-specific extensions.") + (license license:perl-license))) diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm index 2740644448..d4993060b2 100644 --- a/gnu/packages/profiling.scm +++ b/gnu/packages/profiling.scm @@ -50,14 +50,14 @@ (define-public papi (package (name "papi") - (version "6.0.0") + (version "6.0.0.1") (source (origin (method url-fetch) - (uri (string-append "http://icl.utk.edu/projects/papi/downloads/papi-" + (uri (string-append "https://icl.utk.edu/projects/papi/downloads/papi-" version ".tar.gz")) - (sha256 (base32 - "0pq5nhy105fpnk78k6l9ygsfr5akn6l0ck1hbf2c419lmsfp0hil")) + (sha256 + (base32 "0zr83v51lp4ijgk997dz9fpph48prlsbml26dvb223avqr8fvmrw")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 0803d6fed2..cb22972d10 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -2224,13 +2224,13 @@ eliminate flaky failures.") (define-public python-xunitparser (package (name "python-xunitparser") - (version "1.3.3") + (version "1.3.4") (source (origin (method url-fetch) (uri (pypi-uri "xunitparser" version)) (sha256 - (base32 "05amn9yik0mxg89iiprkb6lrmc7rlccgvwajrpyfi6zbp8mjdsgn")))) + (base32 "00lapxi770mg7jkw16zy3a91hbdfz4a9h43ryczdsgd3z4cl6vyf")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 5c1baa0ce6..0182679acd 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -5871,8 +5871,10 @@ based on filters.") (lambda _ (invoke "pytest" "--benchmark-skip" "-k" ;; Those tests need internet access - "not test_check and not test_valid_value_check \ -and not test_override_app_level")))))) + (string-join + '("not test_check and not test_valid_value_check \ +and not test_override_app_level" + "not test_redirect") " and "))))))) (home-page "https://github.com/python-restx/flask-restx") (synopsis "Framework for fast, easy and documented API development with Flask") @@ -7069,17 +7071,22 @@ provides well-defined APIs to talk to websites lacking one.") (base32 "07fhcjiyif80z1vyh35za29sqx1mmqh568jrbrrs675j4a797sj1")))) (build-system python-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'loosen-requirements - (lambda _ - ;; Don't pin specific versions of dependencies. - (substitute* "requirements.txt" - (("^sqlalchemy[=<>].*") "sqlalchemy\n") - (("^marshmallow[=<>].*") "marshmallow\n") - (("^Flask[=<>].*") "Flask\n")))) - (replace 'check - (lambda _ - (invoke "pytest" "-vv")))))) + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'loosen-requirements + (lambda _ + ;; Don't pin specific versions of dependencies. + (substitute* "requirements.txt" + (("^sqlalchemy[=<>].*") "sqlalchemy\n") + (("^marshmallow[=<>].*") "marshmallow\n") + (("^Flask[=<>].*") "Flask\n")))) + (replace 'check + (lambda _ + (invoke "pytest" "-vv" "-k" + ;; The following test fails for unknown reasons (see: + ;; https://github.com/AdCombo/flask-combo-jsonapi/issues/66). + "not test_get_list_with_simple_filter_\ +relationship_custom_qs_api")))))) (propagated-inputs (list python-flask python-marshmallow @@ -7090,7 +7097,9 @@ provides well-defined APIs to talk to websites lacking one.") python-simplejson python-six)) (native-inputs - (list python-coverage python-coveralls python-pytest + (list python-coverage + python-coveralls + python-pytest python-pytest-runner)) (home-page "https://github.com/AdCombo/flask-combo-jsonapi") (synopsis "Flask extension to quickly create JSON:API 1.0 REST Web APIs") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index a4c8c0bc29..623f619ade 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -187,6 +187,7 @@ #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) #:use-module (gnu packages libidn) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages man) @@ -1515,14 +1516,14 @@ approximate nearest neighbor search with Python bindings.") (define-public python-sh (package (name "python-sh") - (version "1.12.14") + (version "1.14.2") (source (origin (method url-fetch) (uri (pypi-uri "sh" version)) (sha256 (base32 - "1z2hx357xp3v4cv44xmqp7lli3frndqpyfmpbxf7n76h7s1zaaxm")))) + "03gyss1rhj4in7pgysg4q0hxp3230whinlpy1532ljs99lrx0ywx")))) (build-system python-build-system) (arguments '(#:phases @@ -2071,6 +2072,30 @@ abstractions to different hardware devices, and a suite of utilities for sending and receiving messages on a CAN bus.") (license license:lgpl3+))) +(define-public python-canopen + (package + (name "python-canopen") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "canopen" version)) + (sha256 + (base32 "1nb543wb37kj95v6bhh272lm5gkpi41q3pnsl1fxlyizm2gamj5w")))) + (build-system python-build-system) + (native-inputs (list python-packaging)) + (propagated-inputs (list python-can)) + (home-page "https://github.com/christiansandberg/canopen") + (synopsis "CANopen stack implementation") + (description + "This package provides a Python implementation of the +@uref{https://www.can-cia.org/canopen/,CANopen standard} for +@acronym{CANs, controller-area networks}. The aim of the project is to +support the most common parts of the CiA 301 standard in a simple +Pythonic interface. It is mainly targeted for testing and automation +tasks rather than a standard compliant master implementation.") + (license license:expat))) + (define-public python-caniusepython3 (package (name "python-caniusepython3") @@ -3424,6 +3449,42 @@ compare, diff, and patch JSON and JSON-like structures in Python.") "Jsonschema is an implementation of JSON Schema for Python.") (license license:expat))) +;;; TODO: Make the default python-jsonschema on core-updates +(define-public python-jsonschema-next + (package + (inherit python-jsonschema) + (version "4.5.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "jsonschema" version)) + (sha256 + (base32 "1z0x22691jva7lwfcfh377jdmlz68zhiawxzl53k631l34k8hvbw")))) + (arguments + (substitute-keyword-arguments (package-arguments python-jsonschema) + ((#:phases phases) + #~(modify-phases #$phases + ;; XXX: PEP 517 manual build/install procedures copied from + ;; python-isort. + (replace 'build + (lambda _ + ;; ZIP does not support timestamps before 1980. + (setenv "SOURCE_DATE_EPOCH" "315532800") + (invoke "python" "-m" "build" "--wheel" "--no-isolation" "."))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((whl (car (find-files "dist" "\\.whl$")))) + (invoke "pip" "--no-cache-dir" "--no-input" + "install" "--no-deps" "--prefix" #$output whl)))))))) + (native-inputs (list python-pypa-build + python-setuptools-scm + python-twisted)) + (propagated-inputs + (list python-attrs + python-importlib-metadata + python-pyrsistent + python-typing-extensions)))) + (define-public python-schema (package (name "python-schema") @@ -5601,24 +5662,27 @@ readable format.") (define-public python-pygit2 (package (name "python-pygit2") - (version "1.9.1") + (version "1.9.2") (source (origin (method url-fetch) (uri (pypi-uri "pygit2" version)) (sha256 - (base32 "1jdr6z1il03nifwgpcdf95w6xzzbfzdkcqq5dcqjaa0rnv1pjr7g")))) + (base32 "068bwhirigbh2435abyv4shdxgxvyfqf4dxfmhd4hihivwrl9290")))) (build-system python-build-system) (arguments - '(#:tests? #f)) ; tests don't run correctly in our environment + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-v"))))))) (propagated-inputs (list python-cached-property python-cffi libgit2)) (native-inputs (list python-pytest)) (home-page "https://github.com/libgit2/pygit2") (synopsis "Python bindings for libgit2") - (description "Pygit2 is a set of Python bindings to the libgit2 shared -library, libgit2 implements Git plumbing.") + (description "Pygit2 is a set of Python bindings to the libgit2 shared library.") ;; GPL2.0 only, with linking exception. (license license:gpl2))) @@ -6407,21 +6471,22 @@ a simple netcat replacement with chaining support.") (define-public python-pycodestyle (package (name "python-pycodestyle") - (version "2.7.0") + (version "2.8.0") (source (origin (method url-fetch) (uri (pypi-uri "pycodestyle" version)) (sha256 (base32 - "1vqwmzmjdv331kmfq3q9j3as2x7r2r49lf83r9w4147pdg8c32f3")))) + "0zxyrg8029lzjhima6l5nk6y0z6lm5wfp9qchz3s33j3xx3mipgd")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "pytest" "-vv")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv"))))))) (native-inputs (list python-pytest)) (home-page "https://pycodestyle.readthedocs.io/") @@ -10015,17 +10080,16 @@ PEP 8.") (define-public python-pep8-naming (package (name "python-pep8-naming") - (version "0.12.0") + (version "0.13.0") (source (origin (method url-fetch) (uri (pypi-uri "pep8-naming" version)) (sha256 (base32 - "04kyh9hkpyc8jzj16d1kkk29b5n8miqdvbs0zm035n1z5z5kx6hz")))) + "1dc0b6xw1cxp01v9zsv4ryk49rfs1lngfpvzsixgp8b7z3ffcf4z")))) (build-system python-build-system) - (propagated-inputs - (list python-flake8 python-flake8-polyfill)) + (propagated-inputs (list python-flake8)) (home-page "https://github.com/PyCQA/pep8-naming") (synopsis "Check PEP-8 naming conventions") (description @@ -10101,14 +10165,14 @@ file (e.g. @file{PKG-INFO}).") (define-public python-pyflakes (package (name "python-pyflakes") - (version "2.3.1") + (version "2.4.0") (source (origin (method url-fetch) (uri (pypi-uri "pyflakes" version)) (sha256 (base32 - "1ny10364ciqh4ripasj4zzv4145l21l3s85m3qlrvfq5pk58xg7m")))) + "0k5jn8jpxni264wxf6cc3xcd1qckc0pww30bsd77mwzdf8l5ra05")))) (build-system python-build-system) (home-page "https://github.com/PyCQA/pyflakes") (synopsis "Passive checker of Python programs") @@ -10152,23 +10216,26 @@ cyclomatic complexity of Python source code.") (define-public python-flake8 (package (name "python-flake8") - (version "3.9.1") + (version "4.0.1") (source (origin (method url-fetch) (uri (pypi-uri "flake8" version)) (sha256 (base32 - "0y732h02n2aih8gzyfj4bbhg4jgahyv84mjwfindk2g6w45rka0s")))) + "03c7mnk34wfz7a0m5zq0273y94awz69fy5iww8alh4a4v96h6vl0")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - (invoke "pytest" "-v")))))) - (propagated-inputs (list python-pycodestyle python-entrypoints - python-pyflakes python-mccabe)) - (native-inputs (list python-mock python-pytest)) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-v"))))))) + (propagated-inputs + (list python-entrypoints + python-mccabe + python-pycodestyle + python-pyflakes)) + (native-inputs (list python-pytest)) (home-page "https://gitlab.com/pycqa/flake8") (synopsis "The modular source code checker: pep8, pyflakes and co") (description @@ -10281,40 +10348,6 @@ the same line (which can be introduced by the code formatting tool Black), or unnecessary plus operators for explicit string literal concatenation.") (license license:expat))) -(define-public python-flake8-polyfill - (package - (name "python-flake8-polyfill") - (version "1.0.2") - (source - (origin - (method url-fetch) - (uri (pypi-uri "flake8-polyfill" version)) - (sha256 - (base32 - "1nlf1mkqw856vi6782qcglqhaacb23khk9wkcgn55npnjxshhjz4")))) - (build-system python-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - ;; Be compatible with Pytest 4: - ;; https://gitlab.com/pycqa/flake8-polyfill/merge_requests/7 - (substitute* "setup.cfg" - (("\\[pytest\\]") - "[tool:pytest]")) - (invoke "py.test" "-v")))))) - (propagated-inputs - (list python-flake8)) - (native-inputs - (list python-mock python-pep8 python-pycodestyle python-pytest)) - (home-page "https://gitlab.com/pycqa/flake8-polyfill") - (synopsis "Polyfill package for Flake8 plugins") - (description - "This package that provides some compatibility helpers for Flake8 -plugins that intend to support Flake8 2.x and 3.x simultaneously.") - (license license:expat))) - (define-public python-flake8-print (package (name "python-flake8-print") @@ -10996,13 +11029,13 @@ third-party code.") (define-public python-msgpack (package (name "python-msgpack") - (version "1.0.3") + (version "1.0.4") (source (origin (method url-fetch) (uri (pypi-uri "msgpack" version)) (sha256 (base32 - "07m84yisf8m6gr68ip9v6vzxax7kqbn8qxg7ir18clk1jgxwgzai")))) + "0pqzy1zclyhd42gfibhkcqymbspy5a6v421g87mh40h3iz0nkn7m")))) (build-system python-build-system) (arguments `(#:modules ((guix build utils) @@ -12427,6 +12460,13 @@ Python.") (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'set-version + ;; for reproducible builds, otherwise python-debian + ;; generates a _version.py including the date + (lambda _ + (copy-file "lib/debian/_version.py.in" "lib/debian/_version.py") + (substitute* "lib/debian/_version.py" + (("__CHANGELOG_VERSION__") ,version)))) (add-after 'unpack 'remove-debian-specific-tests ;; python-apt, apt and dpkg are not yet available in guix, ;; and these tests heavily depend on them. @@ -13498,17 +13538,6 @@ for atomic file system operations.") (home-page "https://github.com/untitaker/python-atomicwrites") (license license:expat))) -(define-public python-atomicwrites-1.4 - (package - (inherit python-atomicwrites) - (version "1.4.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "atomicwrites" version)) - (sha256 - (base32 - "0yla2svfhfqrcj8qbyqzx7wi4jy0dwcxvlkg0k3zjd54s5m3jw5f")))))) - (define-public python-qstylizer (package (name "python-qstylizer") @@ -13862,6 +13891,25 @@ to the Python ecosystem.") "Promises/A+ implementation for Python") (license license:expat))) +(define-public python-progress + (package + (name "python-progress") + (version "1.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "progress" version)) + (sha256 + (base32 "1k9lpb7lqr6mywpnqcz71y6qny54xlgprdp327za2gy0nnc6xj69")))) + (build-system python-build-system) + (home-page "http://github.com/verigak/progress/") + (synopsis "Progress reporting bars for Python") + (description "This Python package provides progress reporting for visual +of progress of long running operations. There are multiple choices of +progress bars and spinners, with customizable options, such as width, fill +character, and suffix.") + (license license:isc))) + (define-public python-progressbar2 (package (name "python-progressbar2") @@ -15495,20 +15543,33 @@ respectively.") (define-public python-rope (package (name "python-rope") - (version "0.19.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (pypi-uri "rope" version)) (sha256 (base32 - "1nlhkmsfvn2p1msrmwqnypnvr993alzawnpc1605q7rfad3xgrk4")))) + "0bkzwkllxxdxd3w70xiy137lqvnlmmaplsc2ya3s23ss4kq8y10k")))) (build-system python-build-system) + (arguments + (list #:phases + `(modify-phases %standard-phases + (add-after 'unpack 'disable-broken-test + (lambda _ + (substitute* "ropetest/contrib/autoimporttest.py" + (("def test_search_module") + "def __notest_search_module") + (("def test_search_submodule") + "def __notest_search_submodule"))))))) + (native-inputs + (list python-pytest-timeout + python-pytest)) (home-page "https://github.com/python-rope/rope") (synopsis "Refactoring library for Python") (description "Rope is a refactoring library for Python. It facilitates the renaming, moving and extracting of attributes, functions, modules, fields -and parameters in Python 2 source code. These refactorings can also be applied +and parameters in Python source code. These refactorings can also be applied to occurrences in strings and comments.") (license license:lgpl3+))) @@ -16078,25 +16139,14 @@ implementation has been adapted, improved, and fixed from Molten.") (define-public python-shellingham (package (name "python-shellingham") - (version "1.3.2") + (version "1.4.0") (source (origin (method url-fetch) (uri (pypi-uri "shellingham" version)) (sha256 - (base32 "07kmia2hvd2q7wik89m82hig9mqr2faynvy38vxq5fm0ps11jv2p")))) + (base32 "07hpndvcv9mf9hp54b4apzpwzmzfzl8ryaacsfdq4139im2w4ma8")))) (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'restore-setup.py - ;; setup.py will return in the next release. - ;; <https://github.com/sarugaku/shellingham/issues/33> - (lambda _ - (with-output-to-file "setup.py" - (lambda _ - (display "from setuptools import setup\nsetup()\n"))) - #t))))) (home-page "https://github.com/sarugaku/shellingham") (synopsis "Tool to detect surrounding shell") (description @@ -16975,6 +17025,91 @@ as well.") @end itemize") (license license:bsd-3))) +(define-public python-exodriver + (package + (name "python-exodriver") + (version "2.6.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/labjack/exodriver") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ikjz8147p14s814yabdq821y691klnr2yg54zgsymcc97kvwp2q")))) + (outputs (list "out" + "doc")) ;544 KiB of examples + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ;no test suite + #:make-flags #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output) + "RUN_LDCONFIG=0" + "LINK_SO=1") + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key make-flags #:allow-other-keys #:rest args) + (with-directory-excursion "liblabjackusb" + (apply (assoc-ref %standard-phases 'build) + `(,@args #:make-flags ,make-flags))))) + (replace 'install + (lambda* (#:key make-flags #:allow-other-keys #:rest args) + (with-directory-excursion "liblabjackusb" + (apply (assoc-ref %standard-phases 'install) + `(,@args #:make-flags ,make-flags))) + ;; Install udev rules. + (install-file "90-labjack.rules" + (string-append #$output "/lib/udev/rules.d")) + ;; Install examples. + (let ((doc (string-append #$output:doc "/share/doc/" #$name))) + (mkdir-p doc) + (copy-recursively "examples" + (string-append doc "/examples")))))))) + (inputs (list libusb)) + (home-page "https://github.com/labjack/exodriver") + (synopsis "USB driver for LabJack data acquisition instruments") + (description "This package provides @code{liblabjackusb}, a USB library for low-level +communication with the U3, U6, UE9, Digit, T4 and T7 LabJack data acquisition +instruments. A udev rule is also included to allow unprivileged users to +communicate with the instruments via USB.") + (license license:expat))) ;see README + +(define-public python-labjack + (package + (name "python-labjack") + (version "2.0.4") + (source (origin + (method url-fetch) + (uri (pypi-uri "LabJackPython" version)) + (sha256 + (base32 + "013bjqdi05vlbdqprr6kqi8gs4qhqc7rnyp1klw8k6fng77rpdzz")))) + (build-system python-build-system) + (arguments + (list + #:tests? #f ;no test suite + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-liblabjackusb.so + (lambda* (#:key inputs #:allow-other-keys) + (substitute* (find-files "." "\\.py$") + (("ctypes.CDLL\\(\"liblabjackusb.so\"") + (format #f "ctypes.CDLL(~s" + (search-input-file inputs + "lib/liblabjackusb.so"))))))))) + ;; exodriver is provided as a regular input, as only its shared object is + ;; used, not its Python API. + (inputs (list python-exodriver)) + (home-page "https://labjack.com/support/software/examples/ud/labjackpython") + (synopsis "Python library for LabJack U3, U6, UE9 and U12") + (description "This Python library allows communicating with the U3, U6, +UE9 and U12 LabJack data acquisition (DAQ) modules.") + (license license:expat))) ;see setup.py + (define-public python-kivy-garden (package (name "python-kivy-garden") @@ -18909,14 +19044,14 @@ while only declaring the test-specific fields.") (define-public python-radon (package (name "python-radon") - (version "4.1.0") + (version "5.1.0") (source (origin (method url-fetch) (uri (pypi-uri "radon" version)) (sha256 (base32 - "0vfxxzbnz5lxfvp0yxp35g6c8qqnnbhi4dm7shkm1d3d4192q22n")))) + "1vmf56zsf3paa1jadjcjghiv2kxwiismyayq42ggnqpqwm98f7fb")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -18930,10 +19065,8 @@ while only declaring the test-specific fields.") (replace 'check (lambda _ (invoke "python" "radon/tests/run.py")))))) - (propagated-inputs - (list python-colorama python-flake8-polyfill python-mando)) - (native-inputs - (list python-pytest python-pytest-mock)) + (propagated-inputs (list python-colorama python-mando)) + (native-inputs (list python-pytest python-pytest-mock)) (home-page "https://radon.readthedocs.org/") (synopsis "Code Metrics in Python") (description "Radon is a Python tool which computes various code metrics. @@ -19659,41 +19792,6 @@ complete rewrite in Cython to attempt to increase the performance over the pure Python module.") (license license:bsd-3))) -(define-public python-xenon - (package - (name "python-xenon") - (version "0.7.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "xenon" version)) - (sha256 - (base32 - "0nv207ql2wmh9q62503np056c4vf1c1hlsi5cvv5p5kx574k6r2y")))) - (build-system python-build-system) - (native-inputs - (list python-pyyaml python-radon python-requests python-flake8 - python-tox)) - (arguments - `(#:tests? #f ;test suite not shipped with the PyPI archive - #:phases - (modify-phases %standard-phases - (add-before 'build 'patch-test-requirements - (lambda _ - ;; Remove httpretty dependency for tests. - (substitute* "setup.py" - (("httpretty") "")) - #t))))) - (home-page "https://xenon.readthedocs.org/") - (synopsis "Monitor code metrics for Python on your CI server") - (description - "Xenon is a monitoring tool based on Radon. It monitors code complexity. -Ideally, @code{xenon} is run every time code is committed. Through command -line options, various thresholds can be set for the complexity of code. It -will fail (i.e. it will exit with a non-zero exit code) when any of these -requirements is not met.") - (license license:expat))) - (define-public python-pysocks (package (name "python-pysocks") @@ -24279,7 +24377,13 @@ with features similar to the @command{wget} utility.") (build-system python-build-system) (arguments ;; No tests - `(#:tests? #f)) + `(#:tests? #f + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-for-pygit2 + (lambda _ + (substitute* "offlate/systems/git.py" + (("pygit2.remote.RemoteCallbacks") + "pygit2.RemoteCallbacks"))))))) (propagated-inputs (list python-android-stringslib python-dateutil @@ -28211,13 +28315,13 @@ to: (define-public nikola (package (name "nikola") - (version "8.1.3") + (version "8.2.2") (source (origin (method url-fetch) (uri (pypi-uri "Nikola" version)) (sha256 - (base32 "1vspzvi4039zgjc93bspqjb384r6c9ksvmidbp8csws2pdbc7sh5")))) + (base32 "1h96y4sfypp2fbqxa8xrqch5f7r3srm2ly222k9w2n143h2spx4m")))) (build-system python-build-system) (propagated-inputs (list python-babel @@ -28253,7 +28357,6 @@ to: (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? - ;;(add-installed-pythonpath inputs outputs) (invoke "pytest" "tests" "--no-cov" "-k" "not test_compiling_markdown[hilite]"))))))) (home-page "https://getnikola.com/") @@ -29315,3 +29418,24 @@ profile. It supports: Currently, Linux is the only platform supported by this library.") (license license:expat))) + +(define-public python-musical-scales + (package + (name "python-musical-scales") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "musical-scales" version)) + (sha256 + (base32 + "1ckn8n37i7b65h0i385ycn0w8sg9na0iabz0kmhxxc1wj0hddkw9")))) + (build-system python-build-system) + (native-inputs (list python-wheel)) + (home-page "https://github.com/hmillerbakewell/musical-scale") + (synopsis "Retrieve a scale based on a given mode and starting note") + (description + "Retrieve a scale based on a given mode and starting note. +Information about these scales can be +@url{https://en.wikipedia.org/wiki/List_of_musical_scales_and_modes, found on +Wikipedia}.") + (license license:expat))) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index db8bf5d576..ad475d8acc 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -30,7 +30,7 @@ ;;; Copyright © 2016, 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2016, 2017 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2016–2018, 2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016–2018, 2021, 2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017, 2018, 2021 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> @@ -673,7 +673,7 @@ To function properly, this package should not be installed together with the (define-public micropython (package (name "micropython") - (version "1.15") + (version "1.18") (source (origin (method url-fetch) @@ -681,7 +681,7 @@ To function properly, this package should not be installed together with the "releases/download/v" version "/micropython-" version ".tar.xz")) (sha256 - (base32 "04sfrfcljhfps340l4wh5ffwkhw1ydraday8nv92nv7gmnrj1l2j")) + (base32 "1d1yza02pwq3kh8531ryq9sjk7zjqh786nnw397cccfk5ss73z4n")) (modules '((guix build utils))) (snippet '(begin @@ -689,37 +689,31 @@ To function properly, this package should not be installed together with the (with-directory-excursion "lib" ;; TODO: Unbundle axtls and berkley-db-1.xx (for-each delete-file-recursively - '("libffi" "lwip" "stm32lib" "nrfx"))) - #t)))) + '("libffi" "lwip" "stm32lib" "nrfx"))))))) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'build 'build-mpy-cross - (lambda* (#:key make-flags #:allow-other-keys) - (with-directory-excursion "mpy-cross" - (apply invoke "make" make-flags)))) - (add-after 'build-mpy-cross 'prepare-build - (lambda _ - (chdir "ports/unix") - ;; see: https://github.com/micropython/micropython/pull/4246 - (substitute* "Makefile" - (("-Os") "-Os -ffp-contract=off")) - #t)) - (replace 'install-license-files - ;; We don't build in the root directory so the file isn't found. - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (dest (string-append out "/share/doc/" ,name "-" ,version "/"))) - (install-file "../../LICENSE" dest)) - #t)) - (delete 'configure)) ; no configure - #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) - "V=1") - #:test-target "test")) - (native-inputs - `(("pkg-config" ,pkg-config) - ("python" ,python-wrapper))) + (list #:phases + #~(modify-phases %standard-phases + (add-before 'build 'build-mpy-cross + (lambda* (#:key make-flags #:allow-other-keys) + (with-directory-excursion "mpy-cross" + (apply invoke "make" make-flags)))) + (add-after 'build-mpy-cross 'prepare-build + (lambda _ + (chdir "ports/unix") + ;; see: https://github.com/micropython/micropython/pull/4246 + (substitute* "Makefile" + (("-Os") "-Os -ffp-contract=off")))) + (add-before 'install-license-files 'chdir-back + ;; We don't build in the root directory so the file isn't found. + (lambda _ + (chdir "../.."))) + (delete 'configure)) ; no configure + #:make-flags + #~(list (string-append "PREFIX=" #$output) + "V=1") + #:test-target "test")) + (native-inputs (list pkg-config python-wrapper)) (inputs (list libffi)) (home-page "https://micropython.org/") diff --git a/gnu/packages/rcm.scm b/gnu/packages/rcm.scm index 5fab6250fd..6bdeeb7e9d 100644 --- a/gnu/packages/rcm.scm +++ b/gnu/packages/rcm.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw> -;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2021, 2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,13 +28,13 @@ (define-public rcm (package (name "rcm") - (version "1.3.4") + (version "1.3.5") (source (origin (method url-fetch) (uri (string-append "https://thoughtbot.github.io/rcm/dist/rcm-" version ".tar.gz")) (sha256 - (base32 "0jn2crdqcna0fyg7w7x1mcyjblzykd3lh4vdxhsd5x4w8hvsw4cv")))) + (base32 "0bdyksrd9i3lkmr9kq6dwa0l4g2403vnma5s4j9h8spi4rziwx14")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -45,8 +45,7 @@ "test/rcup-hooks-run-in-order.t") (("/bin/sh") (which "sh"))) (substitute* "test/rcup-hooks.t" - (("/usr/bin/env") (which "env"))) - #t))) + (("/usr/bin/env") (which "env")))))) #:parallel-tests? #f)) (native-inputs (list perl python-cram)) (synopsis "Management suite for dotfiles") diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index 3050d7ec70..346313c7ed 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -138,14 +138,14 @@ rich set of boolean query operators.") (define-public perl-search-xapian (package (name "perl-search-xapian") - (version "1.2.25.4") + (version "1.2.25.5") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/O/OL/OLLY/" "Search-Xapian-" version ".tar.gz")) (sha256 - (base32 "1pbl8pbgmbs3i8yik4p63g4pd9bhn0dp3d7l667dkvw0kccl66c7")))) + (base32 "12xs22li1z10rccpxbb4zflkkdh7q37z9hb8nvx1ywfn2b3vskr0")))) (build-system perl-build-system) (native-inputs (list perl-devel-leak)) diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 5cf39ac7f4..cec9b68299 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net> ;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com> ;;; Copyright © 2017 Nikita <nikita@n0.is> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2019, 2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net> ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> @@ -354,7 +354,7 @@ that implements both the msgpack and msgpack-rpc specifications.") (define-public libcyaml (package (name "libcyaml") - (version "1.1.0") + (version "1.3.1") (source (origin (method git-fetch) @@ -364,19 +364,16 @@ that implements both the msgpack and msgpack-rpc specifications.") (file-name (git-file-name name version)) (patches (search-patches "libcyaml-libyaml-compat.patch")) (sha256 - (base32 "0428p0rwq71nhh5nzcbapsbrjxa0x5l6h6ns32nxv7j624f0zd93")))) + (base32 "0gvf3h8r8300wdwfjgxw3nzlj7w14q63m67p8wdm5fvpha017n4y")))) (build-system gnu-build-system) (arguments - `(#:make-flags + `(#:test-target "test" + #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) - (string-append "CC=gcc")) + (string-append "CC=" ,(cc-for-target))) #:phases (modify-phases %standard-phases - (delete 'configure) ; no configure script - (replace 'check - (lambda _ - (setenv "CC" "gcc") - (invoke "make" "test")))))) + (delete 'configure)))) ; no configure script (inputs (list libyaml)) (native-inputs diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm index 7afc36786d..9e92fbcc5b 100644 --- a/gnu/packages/simulation.scm +++ b/gnu/packages/simulation.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018, 2019, 2020, 2021 Paul Garlick <pgarlick@tourbillion-technology.com> -;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Eric Bavier <bavier@posteo.net> ;;; ;;; This file is part of GNU Guix. @@ -52,6 +52,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix svn-download) #:use-module (guix build-system cmake) @@ -818,48 +819,43 @@ tools and a collection of Python modules for programmatic use.") (define-public python-pygmsh (package (name "python-pygmsh") - (version "7.1.11") + (version "7.1.17") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/nschloe/pygmsh") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0g4yllmxks7yb50vild5xi1cma0yl16vsq6rfvdwmqaj4hwxcabk")) - (modules '((guix build utils))) - (snippet - '(begin - (let ((file (open-file "setup.py" "a"))) - (display "from setuptools import setup\nsetup()" file) - (close-port file)) - ;; A reference to setuptools in the configuration file - ;; triggers an attempt to download the package from pypi. - ;; The reference is not needed since the package is - ;; provided by the build system. - (substitute* "setup.cfg" - (("^[[:blank:]]+setuptools>=42\n") "")) - #t)))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nschloe/pygmsh") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11flp2c4ynk1fhanf4mqyzrpd0gjbnv6afrwwc7xi3mb6ms69lr0")))) (build-system python-build-system) - (native-inputs - `(("pytest" ,python-pytest) - ("wheel" ,python-wheel))) - (propagated-inputs - `(("importlib-metadata" ,python-importlib-metadata) - ("gmsh" ,gmsh) - ("meshio" ,python-meshio) - ("numpy" ,python-numpy))) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key inputs outputs tests? #:allow-other-keys) - (when tests? - (add-installed-pythonpath inputs outputs) - (invoke "python" "-m" "pytest" "-v" "tests")) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'workaround-gmsh-detection-failure + (lambda _ + ;; Due to lack of metadata, the gmsh Python package is not + ;; detected although importable. + (substitute* "pyproject.toml" + (("\"gmsh\",") "")))) + ;; XXX: PEP 517 manual build copied from python-isort. + (replace 'build + (lambda _ + (invoke "python" "-m" "build" "--wheel" "--no-isolation" "."))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-v" "tests")))) + (replace 'install + (lambda _ + (let ((whl (car (find-files "dist" "\\.whl$")))) + (invoke "pip" "--no-cache-dir" "--no-input" + "install" "--no-deps" "--prefix" #$output whl))))))) + (native-inputs (list python-pypa-build python-flit-core python-pytest)) + (propagated-inputs (list gmsh python-meshio python-numpy)) (home-page "https://github.com/nschloe/pygmsh") (synopsis "Python frontend for Gmsh") (description "The goal of @code{pygmsh} is to combine the power of @@ -868,7 +864,7 @@ the methods and functions that comprise the Gmsh Python API. In this way the meshing of complex geometries using high-level abstractions is made possible. The package provides a Python library together with a command-line utility for mesh optimisation.") - (license license:lgpl3))) + (license license:gpl3+))) (define-public python-dolfin-adjoint (package diff --git a/gnu/packages/sml.scm b/gnu/packages/sml.scm index 04411c02c3..368abf6cfa 100644 --- a/gnu/packages/sml.scm +++ b/gnu/packages/sml.scm @@ -175,10 +175,22 @@ function interface, and a symbolic debugger.") "sml.boot.amd64-unix/SMLNJ-BASIS/.cm/amd64-unix/basis-common.cm")) ;; Build. - (invoke "./config/install.sh" "-default" - (if (string=? "i686-linux" ,(%current-system)) - "32" - "64")) + ;; The `sml` executable built by this package somehow inherits the + ;; signal dispositions of the shell where it was built. If SIGINT + ;; is ignored in the shell, the resulting `sml` will also ignore + ;; SIGINT. This will break the use of Ctrl-c for interrupting + ;; execution in the SML/NJ REPL. + ;; Here, we use Guile's `system` procedure instead of Guix's + ;; `invoke` because `invoke` uses Guile's `system*`, which causes + ;; SIGINT and SIGQUIT to be ignored. + (let ((exit-code + (system (string-append "./config/install.sh -default " + (if (string=? "i686-linux" + ,(%current-system)) + "32" + "64"))))) + (unless (zero? exit-code) + (error (format #f "Exit code: ~a" exit-code)))) ;; Undo the binary patch. (for-each @@ -317,7 +329,7 @@ function interface, and a symbolic debugger.") ,(smlnj-file version "asdl.tgz" "0mad2df5pmkdsb69gflxma6m6i3gla6hdmjjnkzk76pagpr8zb0m")))) - (home-page "http://www.smlnj.org") + (home-page "https://www.smlnj.org") (synopsis "Standard ML of New Jersey interactive compiler") (description "SML/NJ is an implementation of the Standard ML programming language. diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm index 2b4322d6d8..bd3b12cc7c 100644 --- a/gnu/packages/sssd.scm +++ b/gnu/packages/sssd.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2021 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2021, 2022 Remco van 't Veer <remco@remworks.net> @@ -122,15 +122,21 @@ manage user, group and computer accounts for a domain.") (define-public ding-libs (package (name "ding-libs") - (version "0.6.1") - (source (origin - (method url-fetch) - (uri (string-append "https://releases.pagure.org/SSSD/ding-libs/" - "ding-libs-" version ".tar.gz")) - (sha256 - (base32 - "1h97mx2jdv4caiz4r7y8rxfsq78fx0k4jjnfp7x2s7xqvqks66d3")))) + (version "0.6.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/SSSD/ding-libs") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17x3gj2yrjb6h7ml97xlim310x8s54n238p3ns2bj3mxifqkx0mf")))) (build-system gnu-build-system) + (arguments + (list #:configure-flags + '(list "--disable-static"))) + (native-inputs (list autoconf automake gettext-minimal libtool pkg-config)) (home-page "https://pagure.io/SSSD/ding-libs/") (synopsis "Libraries for SSSD") (description diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 6e18fc3f4d..bef9de16d1 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016, 2017 Raoul Bonnal <ilpuccio.febo@gmail.com> ;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com> -;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com> ;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com> @@ -151,7 +151,7 @@ be output in text, PostScript, PDF or HTML.") (define-public jags (package (name "jags") - (version "4.3.0") + (version "4.3.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/mcmc-jags/JAGS/" @@ -159,7 +159,7 @@ be output in text, PostScript, PDF or HTML.") "JAGS-" version ".tar.gz")) (sha256 (base32 - "1z3icccg2ic56vmhyrpinlsvpq7kcaflk1731rgpvz9bk1bxvica")))) + "0aa2w4g5057vn1qjp954s2kwxfmy1h7p5yn56fyi7sz9nmaq69gr")))) (build-system gnu-build-system) (home-page "http://mcmc-jags.sourceforge.net/") (native-inputs diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm index d29486bd4b..86ae1c883f 100644 --- a/gnu/packages/storage.scm +++ b/gnu/packages/storage.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> -;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> ;;; ;;; This file is part of GNU Guix. @@ -59,14 +59,14 @@ (define-public ceph (package (name "ceph") - (version "16.2.7") + (version "16.2.9") (source (origin (method url-fetch) (uri (string-append "https://download.ceph.com/tarballs/ceph-" version ".tar.gz")) (sha256 (base32 - "0n7vpdcxji49bqaa5b7zxif1r80rrkbh0dfacbibvf20kzzbn2fz")) + "1yf62k9wlx9pmggwa5c05wfqzy28sdm4b465y4iqrgc9dkrgin08")) (patches (search-patches "ceph-disable-cpu-optimizations.patch" diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm index 0fddfa9ffb..aeedbfbe6a 100644 --- a/gnu/packages/task-management.scm +++ b/gnu/packages/task-management.scm @@ -175,8 +175,8 @@ and querying data, exposing task data in multiple formats to other tools.") (synopsis "Program keeping track of time spent on different projects") (description "@code{worklog} is a program that helps you keep track of your time. -@code{worklog} is a simple ncurses based based program that runs a clock and -logs time to a logfile.") +@code{worklog} is a simple ncurses based program that runs a clock and logs +time to a logfile.") (license license:public-domain)))) (define-public dstask diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 502aa90989..1dd3f09f90 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> ;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com> +;;; Copyright © 2022 Jack Hill <jackhill@jackhill.us> ;;; ;;; This file is part of GNU Guix. ;;; @@ -10395,6 +10396,59 @@ provided box macros are @code{\\lapbox}, @code{\\marginbox}, @code{\\minsizebox}, @code{\\maxsizebox} and @code{\\phantombox}.") (license license:lppl1.3)))) +(define-public texlive-qrcode + (package + (inherit (simple-texlive-package + "texlive-qrcode" + (list "doc/latex/qrcode/README" + "source/latex/qrcode/qrcode.dtx" + "source/latex/qrcode/qrcode.ins") + (base32 + "1xfv0imrrbxjqwjapcf2silg19rwz2jinawy1x65c1krg919vn02"))) + (outputs '("out" "doc")) + (arguments + (list + #:tex-directory "latex/qrcode" + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'chdir + (lambda _ + (setenv "ROOT_DIR" (getcwd)) + (chdir "source/latex/qrcode"))) + (add-after 'build 'build-doc + (lambda _ + (copy-file "qrcode.dtx" "build/qrcode.dtx") + (chdir "build") + (invoke "xelatex" "qrcode.dtx") + (invoke "xelatex" "qrcode.dtx"))) ;generate qrcode.pdf + (replace 'install + (lambda* (#:key tex-directory #:allow-other-keys) + (let ((doc (string-append #$output:doc "/share/doc/" + tex-directory)) + (out (string-append #$output "/share/texmf-dist/tex/" + tex-directory))) + (install-file "qrcode.pdf" doc) + (install-file (car (find-files (getenv "ROOT_DIR") "README")) + doc) + (install-file "qrcode.sty" out))))))) + (propagated-inputs + (list texlive-lm + texlive-latex-xkeyval + texlive-xcolor)) + (native-inputs + (list (texlive-updmap.cfg (list texlive-lm texlive-zapfding)) + texlive-hyperref + texlive-latex-xkeyval + texlive-stringenc + texlive-xcolor)) + (home-page "https://www.ctan.org/pkg/qrcode") + (synopsis "QR codes without external tools") + (description "This package creates @acronym{QR,Quick Response} codes for +LaTeX documents without depending on external graphics packages. It supports +generating codes of different sizes and with different error correction +levels. All functionality is provided by the single @code{\\qrcode} command.") + (license license:lppl1.3c+))) + (define-public texlive-tcolorbox (let ((template (simple-texlive-package "texlive-tcolorbox" diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index cb86a907ff..1c936be6a8 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2021 Calum Irwin <calumirwin1@gmail.com> ;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com> +;;; Copyright © 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1132,6 +1133,38 @@ systems that displays its buffer(s) as a hex dump. The user interface is kept similar to vi/ex.") (license license:bsd-3))) +(define-public edlin + (package + (name "edlin") + (version "2.20") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/freedos-edlin/freedos-edlin/" + version "/edlin-" version ".tar.bz2")) + (sha256 + (base32 "0cdv42ffminncwj5ph9lw0j7zpbv8l35acppy90wj7x1qm4qk6x8")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-read-only + (lambda _ + ;; Remove executable bits. + (chmod "COPYING" #o444) + (chmod "edlin.htm" #o444))) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc-dir (string-append (assoc-ref outputs "out") + "/share/doc/edlin-" ,version))) + (mkdir-p doc-dir) + (install-file "edlin.htm" doc-dir))))))) + (home-page "https://sourceforge.net/projects/freedos-edlin/") + (synopsis "The line editor of the FreeDOS operating system") + (description "The @code{edlin} program is a small line editor, written for +FreeDOS as a functional clone of the old MS-DOS program edlin.") + (license license:gpl2+))) + (define-public tree-sitter (package (name "tree-sitter") diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 4c4ccbb003..40f941fcea 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -455,14 +455,14 @@ Potential client and exit connections are scrubbed of sensitive information.") (define-public tractor (package (name "tractor") - (version "3.12") + (version "3.13") (source (origin (method url-fetch) (uri (pypi-uri "traxtor" version)) (sha256 (base32 - "0bwj4l6szvx7hpjr8va3hlv0g79sxz02hsb60l61hb314c6d4r3q")))) + "0r8zzaia1s678d39cpqjfpb72fwc46lfwnz1rb043hi6grd39jl7")))) (build-system python-build-system) (native-inputs `(("glib:bin" ,glib "bin"))) ; for glib-compile-schemas. diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index a43382e94f..eefb4a01ec 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -3370,3 +3370,40 @@ with more capabilities. @command{git filter-repo} is now recommended by the Git project instead of @command{git filter-branch}.") (license (list license:expat ;; Main license. license:gpl2)))) ;; For test harness. + +(define-public gitlint + (package + (name "gitlint") + (version "0.17.0") + (source (origin + (method url-fetch) + ;; the gitlint-core pypi package contains the actual gitlint + ;; code; the gitlint package only pulls in gitlint-core with + ;; stricter dependency versioning + (uri (pypi-uri "gitlint-core" version)) + (sha256 + (base32 + "14cn89biys8r7mwcdgllv371k34km9k1941ylxf53a7sxwrzsbbp")))) + (build-system python-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'loosen-requirements + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "gitlint/shell.py" + (("'git'") (string-append + "'" + (search-input-file inputs "bin/git") + "'")) + ;; force using subprocess instead of sh so git does not need + ;; to be a propagated input + (("if USE_SH_LIB") "if False"))))))) + (inputs + (list git python-arrow python-click python-sh)) + (home-page "https://jorisroovers.com/gitlint/") + (synopsis "Linting Git commit messages") + (description + "Gitlint is a Git commit message linter written in Python: it checks your +commit messages for style.") + (license license:expat))) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 45e64b207a..48c7c3a46d 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -121,6 +121,7 @@ #:use-module (gnu packages crates-io) #:use-module (gnu packages crates-graphics) #:use-module (gnu packages curl) + #:use-module (gnu packages dbm) #:use-module (gnu packages dejagnu) #:use-module (gnu packages dns) #:use-module (gnu packages docbook) @@ -5337,14 +5338,14 @@ wlroots-based compositors. More specifically, those that support (define-public guvcview (package (name "guvcview") - (version "2.0.6") + (version "2.0.8") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/guvcview/source/guvcview-" - "src-" version ".tar.gz")) + "src-" version ".tar.bz2")) (sha256 (base32 - "11byyfpkcik7wvf2qic77zjamfr2rhji97dpj1gy2fg1bvpiqf4m")))) + "108c4g0ns9i1wnxyalmpjqbhlflmrj855vxgggr6qrl6h924w7x2")))) (build-system gnu-build-system) (arguments ;; There are no tests and "make check" would fail on an intltool error. @@ -5352,11 +5353,13 @@ wlroots-based compositors. More specifically, those that support (native-inputs (list pkg-config intltool)) (inputs - (list gtk+ + (list bdb + gtk+ eudev + libjpeg-turbo libusb - v4l-utils ;libv4l2 - ffmpeg ;libavcodec, libavutil + v4l-utils ;libv4l2 + ffmpeg ;libavcodec, libavutil sdl2 gsl portaudio diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 554e7f623a..64d747a312 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -2267,17 +2267,17 @@ instance of a component on each request.") (define-public perl-catalyst-devel (package (name "perl-catalyst-devel") - (version "1.41") + (version "1.42") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Catalyst-Devel-" version ".tar.gz")) (sha256 - (base32 "1r8arq7sw37d0mjyfzkc3pg1a9plgydqbscryc8qpvba4swpljls")))) + (base32 "1gcaqivyxwsdq87v9za1ijjibh6llirzqsbpwjbw1f5mravg1iky")))) (build-system perl-build-system) (native-inputs - (list perl-test-fatal)) + (list perl-file-sharedir-install perl-test-fatal)) (propagated-inputs (list perl-catalyst-action-renderview perl-catalyst-plugin-configloader @@ -5526,6 +5526,12 @@ w3c webidl files and a binding configuration file.") #:phases (modify-phases %standard-phases (delete 'configure) + (add-after 'unpack 'remove-timestamps + ;; Avoid embedding timestamp for reproducible builds + (lambda _ + (substitute* "utils/git-testament.pl" + (("WT_COMPILEDATE ..$compiledate") + "WT_COMPILEDATE \\\"")))) (add-after 'build 'adjust-welcome (lambda _ (substitute* "frontends/gtk/res/welcome.html" diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index e5a98edb35..d345bc461d 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -54,6 +54,7 @@ ;;; Copyright © 2021 jgart <jgart@dismail.de> ;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> +;;; Copyright © 2022 Derek Chuank <derekchuank@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1499,6 +1500,35 @@ This is a fork with added support for Wayland using the wlr-gamma-control protocol.") (license license:gpl3+)))) +(define-public xwhite + (package + (name "xwhite") + (version "0.0.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/derekchuank/xwhite/" + "releases/download/v" version + "/xwhite-" version ".tar.gz")) + (sha256 + (base32 + "0jbnlj5a91ib4anprmylqqnbv9wa73cr7fsc1s54df0a0w5yq8sz")))) + (build-system meson-build-system) + (arguments + `(#:tests? #f)) ;No test suite. + (native-inputs (list pkg-config)) + (inputs (list libxrandr)) + (home-page "https://github.com/derekchuank/xwhite") + (synopsis "Adjust the color balance") + (description + "@command{xwhite} is a command line tool for adjusting the colour +balance of screen. It is based on xrandr's gamma correction and brightness adjustment. +As such, it can only be used for X displays and not Wayland displays. It is typically +used for tuning the color balance and color temperature. It has a similar function as +@command{redshift -P -g R:G:B -O temperature}, but @command{xwhite} is more flexible +in that it does not keep the white color fixed, suitable for setting the white color +to an arbitrary balanced color.") + (license license:gpl2))) + (define-public gammastep (package (name "gammastep") @@ -2320,16 +2350,16 @@ temperature of the screen.") (native-inputs (list pandoc pkg-config)) (inputs - `(("fontconfig" ,fontconfig) - ("libX11" ,libx11) - ("libxcomposite" ,libxcomposite) - ("libxext" ,libxext) - ("libxfixes" ,libxfixes) - ("libxft" ,libxft) - ("libxmu" ,libxmu) - ("libxrandr" ,libxrandr) - ("libxscrnsaver" ,libxscrnsaver) - ("linux-pam" ,linux-pam))) + (list fontconfig + libx11 + libxcomposite + libxext + libxfixes + libxft + libxmu + libxrandr + libxscrnsaver + linux-pam)) (home-page "https://github.com/google/xsecurelock") (synopsis "X11 screen lock utility with the primary goal of security") (description "@code{xsecurelock} is an X11 screen locker which uses @@ -2339,9 +2369,11 @@ As a consequence of the modular design, the usual screen locker service shouldn't be used with @code{xsecurelock}. Instead, you need to add a helper binary to setuid-binaries: @example -(setuid-programs (cons* - (file-append xsecurelock \"/libexec/xsecurelock/authproto_pam\") - %setuid-programs)) +(setuid-programs + (cons* + (setuid-program + (program (file-append xsecurelock \"/libexec/xsecurelock/authproto_pam\"))) + %setuid-programs)) @end example") (license license:asl2.0))) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index c26ca68672..0ae51d2e2b 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> -;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net> @@ -955,17 +955,17 @@ a schema.") (define-public perl-xml-compile-soap (package (name "perl-xml-compile-soap") - (version "3.24") + (version "3.27") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/" "XML-Compile-SOAP-" version ".tar.gz")) (sha256 (base32 - "0pkcph562l2ij7rlwlvm58v6y062qsbydfpaz2qnph2ixqy0xfd1")))) + "1a3650al287x781i3flylwbik1ss3xfw7sgdcaz5qrjqvhpn6mnn")))) (build-system perl-build-system) (propagated-inputs - (list perl-file-slurp-tiny + (list perl-file-slurper perl-libwww perl-log-report perl-xml-compile diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index daf253a30f..29271cd534 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -6486,6 +6486,8 @@ X11 servers, Windows, or macOS.") (guix build emacs-utils)) #:imported-modules (,@%gnu-build-system-modules (guix build emacs-utils)) + #:parallel-build? #f ; for reproducible generation of + ; share/uim/installed-modules.scm #:configure-flags (list "--with-anthy-utf8" (string-append "--with-lispdir=" %output "/share/emacs") diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 3fb92e6da0..6865d03f25 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1397,23 +1397,24 @@ responsible for logging system messages."))) # level notice or higher and anything of level err or # higher to the console. # Don't log private authentication messages! - *.alert;auth.notice;authpriv.none /dev/console + *.alert;auth.notice;authpriv.none -/dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! - *.info;mail.none;authpriv.none /var/log/messages + *.info;mail.none;authpriv.none -/var/log/messages - # Like /var/log/messages, but also including \"debug\"-level logs. - *.debug;mail.none;authpriv.none /var/log/debug + # Log \"debug\"-level entries and nothing else. + *.=debug -/var/log/debug # Same, in a different place. - *.info;mail.none;authpriv.none /dev/tty12 + *.info;mail.none;authpriv.none -/dev/tty12 # The authpriv file has restricted access. + # 'fsync' the file after each line (hence the lack of a leading dash). authpriv.* /var/log/secure # Log all the mail messages in one place. - mail.* /var/log/maillog + mail.* -/var/log/maillog ")) (define* (syslog-service #:optional (config (syslog-configuration))) @@ -1438,7 +1439,8 @@ information on the configuration file syntax." (module "pam_limits.so") (arguments '("conf=/etc/security/limits.conf"))))) (if (member (pam-service-name pam) - '("login" "su" "slim" "gdm-password" "sddm")) + '("login" "su" "slim" "gdm-password" "sddm" + "sudo" "sshd")) (pam-service (inherit pam) (session (cons pam-limits diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm index a220b33f15..50753b7ab6 100644 --- a/gnu/services/dns.scm +++ b/gnu/services/dns.scm @@ -978,8 +978,7 @@ manually.") (define (ddclient-activation config) "Return the activation GEXP for CONFIG." - (with-imported-modules '((guix build utils) - (ice-9 rdelim)) + (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils) (ice-9 rdelim)) diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm index 413bf51ad8..ad7b020b69 100644 --- a/gnu/services/guix.scm +++ b/gnu/services/guix.scm @@ -643,7 +643,7 @@ ca-certificates.crt file in the system profile." #:group #$group #:pid-file "/var/run/guix-data-service/pid" ;; Allow time for migrations to run - #:pid-file-timeout 60 + #:pid-file-timeout 120 #:environment-variables `(,(string-append "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm index ec1acba416..48eff27b49 100644 --- a/gnu/services/messaging.scm +++ b/gnu/services/messaging.scm @@ -20,9 +20,10 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu services messaging) - #:use-module (gnu packages messaging) #:use-module (gnu packages admin) + #:use-module (gnu packages base) #:use-module (gnu packages irc) + #:use-module (gnu packages messaging) #:use-module (gnu packages tls) #:use-module (gnu services) #:use-module (gnu services shepherd) @@ -829,12 +830,15 @@ string, you could instantiate a prosody service like this: (file-append bitlbee "/sbin/bitlbee") #:name "bitlbee" #:preserved-environment-variables - '("PURPLE_PLUGIN_PATH") + '("PURPLE_PLUGIN_PATH" "GUIX_LOCPATH" "LC_ALL") #:mappings (list (file-system-mapping (source "/var/lib/bitlbee") (target source) (writable? #t)) (file-system-mapping + (source "/run/current-system/locale") + (target source)) + (file-system-mapping (source conf) (target conf))) #:namespaces (delq 'net %namespaces)))) @@ -867,7 +871,8 @@ string, you could instantiate a prosody service like this: ;; Allow 'bitlbee-purple' to use libpurple plugins. #:environment-variables (list (string-append "PURPLE_PLUGIN_PATH=" - #$plugins "/lib/purple-2"))) + #$plugins "/lib/purple-2") + "GUIX_LOCPATH=/run/current-system/locale")) (make-forkexec-constructor/container (list #$(file-append bitlbee "/sbin/bitlbee") diff --git a/gnu/system.scm b/gnu/system.scm index ba3a1865d7..2c81478d00 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -300,7 +300,7 @@ VERSION is the target version of the boot-parameters record." (define* (operating-system-kernel-arguments os root-device #:key (version %boot-parameters-version)) "Return all the kernel arguments, including the ones not specified directly -by the user. VERSION should match that of the target <boot-parameter> record +by the user. VERSION should match that of the target <boot-parameters> record object that will contain the kernel parameters." (append (bootable-kernel-arguments os root-device version) (operating-system-user-kernel-arguments os))) @@ -515,6 +515,7 @@ The object has its kernel-arguments extended in order to make it bootable." (boot-parameters-kernel-arguments params)))))) (define (boot-parameters->menu-entry conf) + "Return a <menu-entry> instance given CONF, a <boot-parameters> instance." (let* ((kernel (boot-parameters-kernel conf)) (multiboot-modules (boot-parameters-multiboot-modules conf)) (multiboot? (pair? multiboot-modules))) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 2fbf08f676..a3646b1d54 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,8 +32,10 @@ #:use-module (guix store) #:use-module (guix monads) #:use-module (guix modules) - #:use-module ((guix packages) #:select (package-version)) + #:use-module ((guix packages) #:select (package-version supported-package?)) + #:use-module (guix platform) #:use-module ((guix store) #:select (%store-prefix)) + #:use-module (guix utils) #:use-module (gnu installer) #:use-module (gnu system locale) #:use-module (gnu services avahi) @@ -283,11 +286,7 @@ templates under @file{/etc/configuration}."))) (provision '(maybe-uvesafb)) (requirement '(file-systems)) (start #~(lambda () - ;; uvesafb is only supported on x86 and x86_64. - (or (not (and (string-suffix? "linux-gnu" %host-type) - (or (string-prefix? "x86_64" %host-type) - (string-prefix? "i686" %host-type)))) - (file-exists? "/dev/fb0") + (or (file-exists? "/dev/fb0") (invoke #+(file-append kmod "/bin/modprobe") "uvesafb" (string-append "v86d=" #$v86d "/sbin/v86d") @@ -305,7 +304,10 @@ templates under @file{/etc/configuration}."))) "Load the @code{uvesafb} kernel module with the right options.") (default-value #t))) -(define %installation-services +(define* (%installation-services #:key (system (or (and=> + (%current-target-system) + platform-target->system) + (%current-system)))) ;; List of services of the installation system. (let ((motd (plain-file "motd" " \x1b[1;37mWelcome to the installation of GNU Guix!\x1b[0m @@ -322,119 +324,125 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m (define bare-bones-os (load "examples/bare-bones.tmpl")) - (list (service virtual-terminal-service-type) - - (service kmscon-service-type - (kmscon-configuration - (virtual-terminal "tty1") - (login-program (installer-program)))) - - (login-service (login-configuration - (motd motd))) - - ;; Documentation. The manual is in UTF-8, but - ;; 'console-font-service' sets up Unicode support and loads a font - ;; with all the useful glyphs like em dash and quotation marks. - (service documentation-service-type "tty2") - - ;; Documentation add-on. - %configuration-template-service - - ;; A bunch of 'root' ttys. - (normal-tty "tty3") - (normal-tty "tty4") - (normal-tty "tty5") - (normal-tty "tty6") - - ;; The usual services. - (syslog-service) - - ;; Use the Avahi daemon to discover substitute servers on the local - ;; network. It can be faster than fetching from remote servers. - (service avahi-service-type) - - ;; The build daemon. Register the default substitute server key(s) - ;; as trusted to allow the installation process to use substitutes by - ;; default. - (service guix-service-type - (guix-configuration (authorize-key? #t))) - - ;; Start udev so that useful device nodes are available. - ;; Use device-mapper rules for cryptsetup & co; enable the CRDA for - ;; regulations-compliant WiFi access. - (udev-service #:rules (list lvm2 crda)) - - ;; Add the 'cow-store' service, which users have to start manually - ;; since it takes the installation directory as an argument. - (cow-store-service) - - ;; Install Unicode support and a suitable font. - (service console-font-service-type - (map (match-lambda - ("tty2" - ;; Use a font that contains characters such as - ;; curly quotes as found in the manual. - '("tty2" . "LatGrkCyr-8x16")) - (tty - ;; Use a font that doesn't have more than 256 - ;; glyphs so that we can use colors with varying - ;; brightness levels (see note in setfont(8)). - `(,tty . "lat9u-16"))) - '("tty1" "tty2" "tty3" "tty4" "tty5" "tty6"))) - - ;; To facilitate copy/paste. - (service gpm-service-type) - - ;; Add an SSH server to facilitate remote installs. - (service openssh-service-type - (openssh-configuration - (port-number 22) - (permit-root-login #t) - ;; The root account is passwordless, so make sure - ;; a password is set before allowing logins. - (allow-empty-passwords? #f) - (password-authentication? #t) - - ;; Don't start it upfront. - (%auto-start? #f))) - - ;; Since this is running on a USB stick with a overlayfs as the root - ;; file system, use an appropriate cache configuration. - (nscd-service (nscd-configuration - (caches %nscd-minimal-caches))) - - ;; Having /bin/sh is a good idea. In particular it allows Tramp - ;; connections to this system to work. - (service special-files-service-type - `(("/bin/sh" ,(file-append bash "/bin/sh")))) - - ;; Loopback device, needed by OpenSSH notably. - (service static-networking-service-type - (list %loopback-static-networking)) - - (service wpa-supplicant-service-type) - (dbus-service) - (service connman-service-type - (connman-configuration - (disable-vpn? #t))) - - ;; Keep a reference to BARE-BONES-OS to make sure it can be - ;; installed without downloading/building anything. Also keep the - ;; things needed by 'profile-derivation' to minimize the amount of - ;; download. - (service gc-root-service-type - (append - (list bare-bones-os - glibc-utf8-locales - texinfo - guile-3.0) - %default-locale-libcs)) - - ;; Machines without Kernel Mode Setting (those with many old and - ;; current AMD GPUs, SiS GPUs, ...) need uvesafb to show the GUI - ;; installer. Some may also need a kernel parameter like nomodeset - ;; or vga=793, but we leave that for the user to specify in GRUB. - (service uvesafb-service-type)))) + (append + ;; Generic services + (list (service virtual-terminal-service-type) + + (service kmscon-service-type + (kmscon-configuration + (virtual-terminal "tty1") + (login-program (installer-program)))) + + (login-service (login-configuration + (motd motd))) + + ;; Documentation. The manual is in UTF-8, but + ;; 'console-font-service' sets up Unicode support and loads a font + ;; with all the useful glyphs like em dash and quotation marks. + (service documentation-service-type "tty2") + + ;; Documentation add-on. + %configuration-template-service + + ;; A bunch of 'root' ttys. + (normal-tty "tty3") + (normal-tty "tty4") + (normal-tty "tty5") + (normal-tty "tty6") + + ;; The usual services. + (syslog-service) + + ;; Use the Avahi daemon to discover substitute servers on the local + ;; network. It can be faster than fetching from remote servers. + (service avahi-service-type) + + ;; The build daemon. Register the default substitute server key(s) + ;; as trusted to allow the installation process to use substitutes by + ;; default. + (service guix-service-type + (guix-configuration (authorize-key? #t))) + + ;; Start udev so that useful device nodes are available. + ;; Use device-mapper rules for cryptsetup & co; enable the CRDA for + ;; regulations-compliant WiFi access. + (udev-service #:rules (list lvm2 crda)) + + ;; Add the 'cow-store' service, which users have to start manually + ;; since it takes the installation directory as an argument. + (cow-store-service) + + ;; Install Unicode support and a suitable font. + (service console-font-service-type + (map (match-lambda + ("tty2" + ;; Use a font that contains characters such as + ;; curly quotes as found in the manual. + '("tty2" . "LatGrkCyr-8x16")) + (tty + ;; Use a font that doesn't have more than 256 + ;; glyphs so that we can use colors with varying + ;; brightness levels (see note in setfont(8)). + `(,tty . "lat9u-16"))) + '("tty1" "tty2" "tty3" "tty4" "tty5" "tty6"))) + + ;; To facilitate copy/paste. + (service gpm-service-type) + + ;; Add an SSH server to facilitate remote installs. + (service openssh-service-type + (openssh-configuration + (port-number 22) + (permit-root-login #t) + ;; The root account is passwordless, so make sure + ;; a password is set before allowing logins. + (allow-empty-passwords? #f) + (password-authentication? #t) + + ;; Don't start it upfront. + (%auto-start? #f))) + + ;; Since this is running on a USB stick with a overlayfs as the root + ;; file system, use an appropriate cache configuration. + (nscd-service (nscd-configuration + (caches %nscd-minimal-caches))) + + ;; Having /bin/sh is a good idea. In particular it allows Tramp + ;; connections to this system to work. + (service special-files-service-type + `(("/bin/sh" ,(file-append bash "/bin/sh")))) + + ;; Loopback device, needed by OpenSSH notably. + (service static-networking-service-type + (list %loopback-static-networking)) + + (service wpa-supplicant-service-type) + (dbus-service) + (service connman-service-type + (connman-configuration + (disable-vpn? #t))) + + ;; Keep a reference to BARE-BONES-OS to make sure it can be + ;; installed without downloading/building anything. Also keep the + ;; things needed by 'profile-derivation' to minimize the amount of + ;; download. + (service gc-root-service-type + (append + (list bare-bones-os + glibc-utf8-locales + texinfo + guile-3.0) + %default-locale-libcs))) + + ;; Specific system services + + ;; Machines without Kernel Mode Setting (those with many old and + ;; current AMD GPUs, SiS GPUs, ...) need uvesafb to show the GUI + ;; installer. Some may also need a kernel parameter like nomodeset + ;; or vga=793, but we leave that for the user to specify in GRUB. + `(,@(if (supported-package? v86d system) + (list (service uvesafb-service-type)) + '()))))) (define %issue ;; Greeting. @@ -498,7 +506,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m (comment "Guest of GNU")))) (issue %issue) - (services %installation-services) + (services (%installation-services)) ;; We don't need setuid programs, except for 'passwd', which can be handy ;; if one is to allow remote SSH login to the machine being installed. diff --git a/gnu/tests/virtualization.scm b/gnu/tests/virtualization.scm index 628cd0549b..299acc4945 100644 --- a/gnu/tests/virtualization.scm +++ b/gnu/tests/virtualization.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> -;;; Copyright © 2020, 2021 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com> ;;; @@ -31,8 +31,8 @@ #:use-module (gnu services dbus) #:use-module (gnu services networking) #:use-module (gnu services virtualization) - #:use-module (gnu packages virtualization) #:use-module (gnu packages ssh) + #:use-module (gnu packages virtualization) #:use-module (guix gexp) #:use-module (guix records) #:use-module (guix store) @@ -151,8 +151,8 @@ (operating-system os) (memory-size (* 1024 3)))) - (define run-uname-over-ssh - ;; Program that runs 'uname' over SSH and prints the result on standard + (define (run-command-over-ssh . command) + ;; Program that runs COMMAND over SSH and prints the result on standard ;; output. (let () (define run @@ -173,12 +173,12 @@ (userauth-password! session "") (display (get-string-all - (open-remote-input-pipe* session "uname" "-on")))) + (open-remote-input-pipe* session #$@command)))) (status (error "could not connect to childhurd over SSH" session status))))))) - (program-file "run-uname-over-ssh" run))) + (program-file "run-command-over-ssh" run))) (define test (with-imported-modules '((gnu build marionette)) @@ -242,9 +242,27 @@ (use-modules (ice-9 popen)) (get-string-all - (open-input-pipe #$run-uname-over-ssh))) + (open-input-pipe #$(run-command-over-ssh "uname" "-on")))) marionette)) + (test-assert "guix-daemon up and running" + (let ((drv (marionette-eval + '(begin + (use-modules (ice-9 popen)) + + (get-string-all + (open-input-pipe + #$(run-command-over-ssh "guix" "build" "coreutils" + "--no-grafts" "-d")))) + marionette))) + ;; We cannot compare the .drv with (raw-derivation-file + ;; coreutils) on the host: they may differ due to fixed-output + ;; derivations and changes introduced compared to the 'guix' + ;; package snapshot. + (and (string-suffix? ".drv" + (pk 'drv (string-trim-right drv))) + drv))) + (test-end)))) (gexp->derivation "childhurd-test" test)) |