diff options
Diffstat (limited to 'gnu')
147 files changed, 5342 insertions, 8441 deletions
diff --git a/gnu/bootloader.scm b/gnu/bootloader.scm index 9cf5457873..70e1836179 100644 --- a/gnu/bootloader.scm +++ b/gnu/bootloader.scm @@ -69,7 +69,6 @@ bootloader-configuration-terminal-inputs bootloader-configuration-serial-unit bootloader-configuration-serial-speed - bootloader-configuration-additional-configuration %bootloaders lookup-bootloader-by-name diff --git a/gnu/ci.scm b/gnu/ci.scm index 9cc3a1a81f..2c51ea7387 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -254,37 +254,40 @@ otherwise use the IMAGE name." (parameterize ((%graft? #f)) (derivation->job name drv)))) -(define (image-jobs store system) +(define* (image-jobs store system + #:key source commit) "Return a list of jobs that build images for SYSTEM." (define MiB (expt 2 20)) - (if (member system %guix-system-supported-systems) - `(,(image->job store - (image - (inherit efi-disk-image) - (operating-system installation-os)) - #:name "usb-image" - #:system system) - ,(image->job - store - (image - (inherit (image-with-label - iso9660-image - (string-append "GUIX_" system "_" - (if (> (string-length %guix-version) 7) - (substring %guix-version 0 7) - %guix-version)))) - (operating-system installation-os)) - #:name "iso9660-image" - #:system system) - ;; Only cross-compile Guix System images from x86_64-linux for now. - ,@(if (string=? system "x86_64-linux") - (map (cut image->job store <> - #:system system) - %guix-system-images) - '())) - '())) + (parameterize ((current-guix-package + (channel-source->package source #:commit commit))) + (if (member system %guix-system-supported-systems) + `(,(image->job store + (image + (inherit efi-disk-image) + (operating-system installation-os)) + #:name "usb-image" + #:system system) + ,(image->job + store + (image + (inherit (image-with-label + iso9660-image + (string-append "GUIX_" system "_" + (if (> (string-length %guix-version) 7) + (substring %guix-version 0 7) + %guix-version)))) + (operating-system installation-os)) + #:name "iso9660-image" + #:system system) + ;; Only cross-compile Guix System images from x86_64-linux for now. + ,@(if (string=? system "x86_64-linux") + (map (cut image->job store <> + #:system system) + %guix-system-images) + '())) + '()))) (define* (system-test-jobs store system #:key source commit) @@ -527,7 +530,9 @@ names." hello system)))) ('images ;; Build Guix System images only. - (image-jobs store system)) + (image-jobs store system + #:source source + #:commit commit)) ('system-tests ;; Build Guix System tests only. (system-test-jobs store system diff --git a/gnu/home.scm b/gnu/home.scm index 4ddbafe412..c95d1e0818 100644 --- a/gnu/home.scm +++ b/gnu/home.scm @@ -96,7 +96,7 @@ (home-environment-essential-services he)))) (define* (home-environment-derivation he) - "Return a derivation that builds OS." + "Return a derivation that builds home environment." (let* ((services (home-environment-services he)) (home (fold-services services #:target-type home-service-type))) diff --git a/gnu/home/services.scm b/gnu/home/services.scm index 75ea54743d..99035686f1 100644 --- a/gnu/home/services.scm +++ b/gnu/home/services.scm @@ -420,8 +420,9 @@ extended with one gexp."))) (he-path (string-append (getenv "HOME") "/.guix-home")) (new-home-env (getenv "GUIX_NEW_HOME")) (new-home (or new-home-env - ;; Path of the activation file if called interactively - (dirname (car (command-line))))) + ;; Absolute path of the directory of the activation + ;; file if called interactively. + (canonicalize-path (dirname (car (command-line)))))) (old-home-env (getenv "GUIX_OLD_HOME")) (old-home (or old-home-env (if (file-exists? (he-init-file he-path)) diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm index f0987aee23..d15f5ee912 100644 --- a/gnu/home/services/ssh.scm +++ b/gnu/home/services/ssh.scm @@ -69,17 +69,19 @@ " " value "\n")) (define (address-family? obj) - (memv obj (list 'unset AF_INET AF_INET6))) + (memv obj (list AF_INET AF_INET6))) + +(define-maybe address-family) (define (serialize-address-family field family) - (if (eq? 'unset family) - "" + (if (maybe-value-set? family) (string-append " " (serialize-field-name field) " " (cond ((= family AF_INET) "inet") ((= family AF_INET6) "inet6") ;; The 'else' branch is unreachable. (else (raise (condition (&error))))) - "\n"))) + "\n") + "")) (define (natural-number? obj) (and (integer? obj) (exact? obj) (> obj 0))) @@ -115,7 +117,7 @@ maybe-string "Host name---e.g., @code{\"foo.example.org\"} or @code{\"192.168.1.2\"}.") (address-family - address-family + maybe-address-family "Address family to use when connecting to this host: one of @code{AF_INET} (for IPv4 only), @code{AF_INET6} (for IPv6 only). Additionally, the field can be left unset to allow any address family.") diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm index d942a2f49b..641a1f45e8 100644 --- a/gnu/installer/parted.scm +++ b/gnu/installer/parted.scm @@ -80,7 +80,6 @@ efi-installation? default-esp-mount-point - with-delay-device-in-use? force-device-sync eligible-devices partition-user-type diff --git a/gnu/local.mk b/gnu/local.mk index a4238e5141..f061f1d4dd 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1246,6 +1246,7 @@ dist_patch_DATA = \ %D%/packages/patches/guile-ac-d-bus-fix-tests.patch \ %D%/packages/patches/guile-cross-compilation.patch \ %D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \ + %D%/packages/patches/guile-fibers-epoll-instance-is-dead.patch \ %D%/packages/patches/guile-fibers-wait-for-io-readiness.patch \ %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \ %D%/packages/patches/guile-git-adjust-for-libgit2-1.2.0.patch \ @@ -1370,10 +1371,6 @@ dist_patch_DATA = \ %D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \ %D%/packages/patches/kodi-skip-test-449.patch \ %D%/packages/patches/laby-make-install.patch \ - %D%/packages/patches/lcalc-default-parameters-1.patch \ - %D%/packages/patches/lcalc-default-parameters-2.patch \ - %D%/packages/patches/lcalc-lcommon-h.patch \ - %D%/packages/patches/lcalc-using-namespace-std.patch \ %D%/packages/patches/ldns-drill-examples.patch \ %D%/packages/patches/leela-zero-gtest.patch \ %D%/packages/patches/less-hurd-path-max.patch \ @@ -1461,7 +1458,6 @@ dist_patch_DATA = \ %D%/packages/patches/llvm-roc-4.0.0-remove-isystem-usr-include.patch \ %D%/packages/patches/llvm-roc-5.0.0-linkdl.patch \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \ - %D%/packages/patches/lrcalc-includes.patch \ %D%/packages/patches/lsh-fix-x11-forwarding.patch \ %D%/packages/patches/lsof-fatal-test-failures.patch \ %D%/packages/patches/lua-CVE-2014-5461.patch \ @@ -1614,6 +1610,7 @@ dist_patch_DATA = \ %D%/packages/patches/perl-5.14-module-pluggable-search.patch \ %D%/packages/patches/perl-5.14-no-sys-dirs.patch \ %D%/packages/patches/perl-autosplit-default-time.patch \ + %D%/packages/patches/perl-class-methodmaker-reproducible.patch \ %D%/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \ %D%/packages/patches/perl-image-exiftool-CVE-2021-22204.patch \ %D%/packages/patches/perl-net-amazon-s3-moose-warning.patch \ @@ -1640,9 +1637,6 @@ dist_patch_DATA = \ %D%/packages/patches/plib-CVE-2011-4620.patch \ %D%/packages/patches/plib-CVE-2012-4552.patch \ %D%/packages/patches/plotutils-spline-test.patch \ - %D%/packages/patches/polkit-CVE-2021-4034.patch \ - %D%/packages/patches/polkit-configure-elogind.patch \ - %D%/packages/patches/polkit-use-duktape.patch \ %D%/packages/patches/portaudio-audacity-compat.patch \ %D%/packages/patches/portmidi-modular-build.patch \ %D%/packages/patches/postgresql-disable-resolve_symlinks.patch \ @@ -1680,6 +1674,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \ %D%/packages/patches/python-cross-compile.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ + %D%/packages/patches/python-dateutil-pytest-compat.patch \ %D%/packages/patches/python-debugpy-unbundle-pydevd.patch \ %D%/packages/patches/python-docopt-pytest6-compat.patch \ %D%/packages/patches/python-execnet-read-only-fix.patch \ @@ -1721,8 +1716,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-versioneer-guix-support.patch \ %D%/packages/patches/python-waitress-fix-tests.patch \ %D%/packages/patches/python-werkzeug-tests.patch \ - %D%/packages/patches/python-mypy-12332.patch \ - %D%/packages/patches/python-mypy-use-sys-path.patch \ %D%/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch \ %D%/packages/patches/qemu-build-info-manual.patch \ %D%/packages/patches/qemu-glibc-2.27.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 06bc566cc7..db3e881228 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -784,7 +784,7 @@ memory, disks, network and processes. It's a Python port and continuation of (define-public pies (package (name "pies") - (version "1.7") + (version "1.8") (source (origin (method url-fetch) @@ -792,7 +792,16 @@ memory, disks, network and processes. It's a Python port and continuation of version ".tar.bz2")) (sha256 (base32 - "0ajcah2y6n55qc0ckspcx0hfpm1yb2xa1apcyij7mclic4q2y330")))) + "0v0xcq0mfil440xq2pa5mjkyva5c9ahqda54z5w2ksl2d78v8a35")) + (snippet + #~(begin + (use-modules (guix build utils)) + (for-each delete-file + (append + ;; Generated by flex. + (find-files "gres/src" "lex\\.c$") + ;; Generated by bison. + (find-files "gres/src" "-gram\\.[ch]$"))))))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -804,6 +813,7 @@ memory, disks, network and processes. It's a Python port and continuation of (substitute* '("src/progman.c" "src/comp.c") (("\"/bin/sh\"") (string-append "\"" bash "/bin/sh\""))))))))) + (native-inputs (list bison flex)) (home-page "https://www.gnu.org.ua/software/pies/") (synopsis "Program invocation and execution supervisor") (description @@ -4193,7 +4203,7 @@ Python loading in HPC environments.") (let ((real-name "inxi")) (package (name "inxi-minimal") - (version "3.3.19-1") + (version "3.3.20-1") (source (origin (method git-fetch) @@ -4202,7 +4212,7 @@ Python loading in HPC environments.") (commit version))) (file-name (git-file-name real-name version)) (sha256 - (base32 "0g5m43cj4534gb181zy1hwjz5il88xibf8psxw8a4s6jnaq1zdlk")))) + (base32 "182lczpa217gpzn58nfdzjbbinp3bw9lbm1x9lck1mkdmqklgl2a")))) (build-system trivial-build-system) (inputs `(("bash" ,bash-minimal) @@ -5444,3 +5454,40 @@ attempts, it cannot eliminate the risk presented by weak authentication. Set up services to use only two factor, or public/private authentication mechanisms if you really want to protect services.") (license license:gpl2+))) + +(define-public rex + (package + (name "rex") + (version "4.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://download.gnu.org.ua/pub/releases/rex/rex-" + version ".tar.gz")) + (sha256 + (base32 + "1arb8z602invwavskq36nhwy42a3v14iyhi06iqlngfai2k93fai")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ; no tests + #:phases + #~(modify-phases %standard-phases + ;; No configure script and Makefile. + (delete 'configure) + (delete 'build) + (add-before 'install 'patch-exec-expect + (lambda _ + (substitute* "rex" + (("exec expect") (string-append "exec " (which "expect")))))) + (replace 'install + (lambda _ + (invoke "./install" + (string-append "--prefix=" #$output))))))) + (inputs (list expect)) + (home-page "https://www.gnu.org.ua/software/rex/") + (synopsis "Remote execution utility") + (description "@command{rex} runs a supplied command or shell script on +several hosts in succession or in parallel. It can also be used to copy a +file or files to several hosts.") + (license license:gpl3+))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index b3f0823daf..8ccb44c434 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1628,7 +1628,7 @@ John Cremona to compute his elliptic curve database.") (define-public lrcalc (package (name "lrcalc") - (version "1.2") + (version "2.1") (source (origin (method git-fetch) (uri (git-reference @@ -1637,18 +1637,10 @@ John Cremona to compute his elliptic curve database.") (file-name (git-file-name name version)) (sha256 (base32 - "1c12d04jdyxkkav4ak8d1aqrv594gzihwhpxvc6p9js0ry1fahss")) - (patches (search-patches "lrcalc-includes.patch")))) + "0s3amf3z75hnrjyszdndrvk4wp5p630dcgyj341i6l57h43d1p4k")))) (build-system gnu-build-system) (native-inputs (list autoconf automake libtool)) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'build 'fix-permission - (lambda _ - (chmod "lrcalc.maple.src" #o644) - #t))))) (synopsis "Littlewood-Richardson calculator in algebraic combinatorics") (description "The Littlewood-Richardson Calculator (lrcalc) is a program designed to compute Littlewood-Richardson coefficients. It computes diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index ba8ce00fbd..b8524681fa 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com> -;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -323,7 +323,7 @@ audio or video backends, ensuring good performance.") (define-public lightspark (package (name "lightspark") - (version "0.8.5") + (version "0.8.6") (source (origin (method git-fetch) @@ -332,7 +332,7 @@ audio or video backends, ensuring good performance.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "00535ndzjbz5xyr95cih01wlkc2mgvg60bv6amz4lnnglk0c5v0p")))) + (base32 "0v7d7vwb0xqkk3v8dyks0wyk52ga57v5lg93y74v1d2wh7spmmzw")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;requires Adobe Flex SDK, see README.tests @@ -352,29 +352,28 @@ audio or video backends, ensuring good performance.") (when tests? (invoke "./tests"))))))) (native-inputs - `(("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("nasm" ,nasm) - ("perl" ,perl) - ("pkg-config" ,pkg-config) - ("python" ,python-wrapper))) + (list gettext-minimal + `(,glib "bin") + nasm + perl + pkg-config + python-wrapper)) (inputs - `(("cairo" ,cairo) - ("curl" ,curl) - ("ffmpeg" ,ffmpeg) - ("freeglut" ,freeglut) - ("glew" ,glew) - ("glibmm" ,glibmm) - ("gnash" ,gnash) - ("gnutls" ,gnutls) - ("libjpeg" ,libjpeg-turbo) - ("openssl" ,openssl) - ("pango" ,pango) - ("pcre2" ,pcre2) - ("rtmpdump" ,rtmpdump) - ("sdl2" ,sdl2) - ("sdl2-mixer" ,sdl2-mixer) - ("zlib" ,zlib))) + (list cairo + curl + ffmpeg + freeglut + glew + glibmm + gnutls + libjpeg-turbo + openssl + pango + pcre2 + rtmpdump + sdl2 + sdl2-mixer + zlib)) (home-page "https://lightspark.github.io/") (synopsis "Flash player implementation") (description diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index ca50b00a06..df6587385f 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -291,7 +291,7 @@ runtime") (define-public rgbds (package (name "rgbds") - (version "0.4.2") + (version "0.5.2") (source (origin (method git-fetch) (uri (git-reference @@ -300,7 +300,7 @@ runtime") (file-name (git-file-name name version)) (sha256 (base32 - "0lygj7jzjlq4w0mkiir7ycysrd1p1akyvzrppjcchja05mi8wy9p")))) + "13zy05xzh2yxyvzf78a5h59pabwrfr6qs5m453pfbdyd3msg2s7w")))) (build-system gnu-build-system) (arguments `(#:phases @@ -312,8 +312,7 @@ runtime") (("pkg-config") (or (which "pkg-config") (string-append ,(%current-target-system) - "-pkg-config")))) - #t)) + "-pkg-config")))))) (replace 'check (lambda _ (with-directory-excursion "test/asm" diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index aad86bac06..8795caef71 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -38,6 +38,7 @@ ;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org> ;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se> ;;; Copyright © 2022 Juliana Sims <jtsims@protonmail.com> +;;; Copyright © 2022 Simon Streit <simon@netpanic.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -875,6 +876,10 @@ engineers, musicians, soundtrack editors and composers.") (lambda* (#:key inputs #:allow-other-keys) (substitute* '("libraries/lib-files/FileNames.cpp") (("\"/usr/include/linux/magic.h\"") "<linux/magic.h>")))) + (add-after 'install 'delete-gratuitous-script + (lambda* (#:key outputs #:allow-other-keys) + (delete-file (string-append (assoc-ref outputs "out") + "/audacity")))) (add-after 'wrap-program 'glib-or-gtk-wrap (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))) ;; The test suite is not "well exercised" according to the developers, @@ -5863,3 +5868,30 @@ framework. It provides a visual interface to audio and video connections managed by PipeWire.") (home-page "https://gitlab.freedesktop.org/rncbc/qpwgraph") (license license:gpl2))) + +(define-public streamripper + (package + (name "streamripper") + (version "1.64.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://sourceforge.net/projects/streamripper" + "/files/streamripper%20(current)/" + version "/streamripper-" version ".tar.gz")) + (sha256 + (base32 "0hnyv3206r0rfprn3k7k6a0j959kagsfyrmyjm3gsf3vkhp5zmy1")) + (modules '((guix build utils))) + (snippet + ;; Delete bundled copy of libmad. + '(delete-file-recursively "libmad-0.15.1b")))) + (build-system gnu-build-system) + (native-inputs (list pkg-config)) + (inputs (list faad2 glib libmad libvorbis)) + (home-page "http://streamripper.sourceforge.net") + (synopsis "Record audio streams to your hard drive") + (description "Streamripper records shoutcast-compatible +streams. For shoutcast style streams it finds the “meta data” or track +separation data, and uses that as a marker for where the track should +be separated.") + (license license:gpl2+))) diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index 7be932f528..1b036e9bd4 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -72,14 +72,14 @@ (define-public fio (package (name "fio") - (version "3.30") + (version "3.31") (source (origin (method url-fetch) (uri (string-append "https://brick.kernel.dk/snaps/" "fio-" version ".tar.bz2")) (sha256 (base32 - "1qjivkisn7dxk8irrb0rglmmdpbnai6n7vindf18ln0j24cc1x56")))) + "03x0n18f2wsyjh6qv57kvgqcwga54rzngwzr6fzlrjsalqw7mxlp")))) (build-system gnu-build-system) (arguments (list #:modules diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 94c92abefa..facfb75abf 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -35,6 +35,7 @@ #:use-module (guix git-download) #:use-module (guix build-system r) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bioinformatics) #:use-module (gnu packages boost) @@ -1220,6 +1221,27 @@ demonstration purposes in the @code{AneuFinder} package.") from Illumina 450k methylation arrays.") (license license:artistic2.0))) +(define-public r-bladderbatch + (package + (name "r-bladderbatch") + (version "1.34.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "bladderbatch" version + 'experiment)) + (sha256 + (base32 + "1dpbaqsqizyi99r0imf5m4lndhhrkyiaqii9bi8rp18fjbjdd72k")))) + (properties `((upstream-name . "bladderbatch"))) + (build-system r-build-system) + (propagated-inputs (list r-biobase)) + (home-page "https://bioconductor.org/packages/bladderbatch") + (synopsis "Bladder gene expression data illustrating batch effects") + (description + "This package contains microarray gene expression data on 57 bladder samples from +5 batches. The data are used as an illustrative example for the sva package.") + (license license:artistic2.0))) + (define-public r-biscuiteerdata (package (name "r-biscuiteerdata") @@ -1540,6 +1562,30 @@ harmonized subsetting of rows (features) and columns (patients / samples) across the entire multi-'omics experiment.") (license license:artistic2.0))) +(define-public r-parathyroidse + (package + (name "r-parathyroidse") + (version "1.34.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "parathyroidSE" version + 'experiment)) + (sha256 + (base32 + "1h33x55c4gbzmh085skqif04wdcvjp2l9fm55qzwws27kwd30c16")))) + (properties `((upstream-name . "parathyroidSE"))) + (build-system r-build-system) + (propagated-inputs (list r-summarizedexperiment)) + (home-page "https://bioconductor.org/packages/parathyroidSE") + (synopsis "RangedSummarizedExperiment for RNA-Seq of parathyroid tumors") + (description + "This package provides @code{RangedSummarizedExperiment} objects of read +counts in genes and exonic parts for paired-end RNA-Seq data from experiments on +primary cultures of parathyroid tumors. The sequencing was performed on tumor +cultures from 4 patients at 2 time points over 3 conditions (DPN, OHT and control).") + ;; The author(s) mentions only LGPL without any specific version. + (license license:lgpl2.1+))) + (define-public r-tcgabiolinksgui-data (package (name "r-tcgabiolinksgui-data") @@ -2090,8 +2136,8 @@ canonical cancer pathways.") (description "The project is intended to support the use of @dfn{sequins}(synthetic sequencing spike-in controls) owned and made available by the Garvan Institute -of Medical Research. The goal is to provide a standard open source library for -quantitative analysis, modelling and visualization of spike-in controls.") +of Medical Research. The goal is to provide a standard library for quantitative +analysis, modelling, and visualization of spike-in controls.") (license license:bsd-3))) (define-public r-aneufinder @@ -5016,6 +5062,45 @@ proteowizard library for mzML and mzIdentML. The netCDF reading code has previously been used in XCMS.") (license license:artistic2.0))) +(define-public r-organism-dplyr + (package + (name "r-organism-dplyr") + (version "1.24.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "Organism.dplyr" version)) + (sha256 + (base32 + "0j29f85d66c45ww3417xx376vpz0mmvga5n7h2cl1sd4h70b55as")))) + (properties `((upstream-name . "Organism.dplyr"))) + (build-system r-build-system) + (propagated-inputs + (list r-annotationdbi + r-annotationfilter + r-biocfilecache + r-dbi + r-dbplyr + r-dplyr + r-genomeinfodb + r-genomicfeatures + r-genomicranges + r-iranges + r-rlang + r-rsqlite + r-s4vectors + r-tibble)) + (native-inputs (list r-knitr)) + (home-page "https://bioconductor.org/packages/Organism.dplyr") + (synopsis "Dplyr-based access to Bioconductor annotation resources") + (description + "This package provides an alternative interface to Bioconductor @code{ +annotation} resources, in particular the gene identifier mapping functionality +of the @code{org} packages (e.g., @code{org.Hs.eg.db}) and the genome coordinate +functionality of the @code{TxDb} packages (e.g., +@code{TxDb.Hsapiens.UCSC.hg38.knownGene}).") + (license license:artistic2.0))) + (define-public r-organismdbi (package (name "r-organismdbi") @@ -5048,6 +5133,61 @@ annotation packages each of which has its own schema by taking advantage of the fact that each of these packages implements a select methods.") (license license:artistic2.0))) +(define-public r-pcaexplorer + (package + (name "r-pcaexplorer") + (version "2.22.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "pcaExplorer" version)) + (sha256 + (base32 + "0xkafpi6y5n8hljdaj183hd5z4ik7lpbklg2cbx1hwfz4n4hh1bl")))) + (properties `((upstream-name . "pcaExplorer"))) + (build-system r-build-system) + (propagated-inputs + (list r-annotationdbi + r-base64enc + r-biomart + r-deseq2 + r-dt + r-genefilter + r-genomicranges + r-ggplot2 + r-ggrepel + r-go-db + r-gostats + r-heatmaply + r-iranges + r-knitr + r-limma + r-nmf + r-pheatmap + r-plotly + r-plyr + r-rmarkdown + r-s4vectors + r-scales + r-shiny + r-shinyace + r-shinybs + r-shinydashboard + r-summarizedexperiment + r-threejs + r-tidyr + r-topgo)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/federicomarini/pcaExplorer") + (synopsis + "Interactive Visualization of RNA-seq Data Using a Principal Components Approach") + (description + "This package provides functionality for interactive visualization of RNA-seq +datasets based on Principal Components Analysis. The methods provided allow for +quick information extraction and effective data exploration. A Shiny +application encapsulates the whole analysis.") + (license license:expat))) + (define-public r-pcamethods (package (name "r-pcamethods") @@ -5611,6 +5751,38 @@ a scRNA-seq experiment onto the cell-types or individual cells identified in a different experiment.") (license license:gpl3))) +(define-public r-scry + (package + (name "r-scry") + (version "1.8.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "scry" version)) + (sha256 + (base32 + "16mj21r91jy8ircdz8rfrdli9gjy0hrx90kf6ghs305d3d4dl193")))) + (properties `((upstream-name . "scry"))) + (build-system r-build-system) + (propagated-inputs + (list r-biocsingular + r-delayedarray + r-glmpca + r-hdf5array + r-matrix + r-singlecellexperiment + r-summarizedexperiment)) + (native-inputs (list r-knitr)) + (home-page "https://bioconductor.org/packages/scry.html") + (synopsis "Small-count analysis methods for high-dimensional data") + (description + "Many modern biological datasets consist of small counts that are not +well fit by standard linear-Gaussian methods such as principal component +analysis. This package provides implementations of count-based feature +selection and dimension reduction algorithms. These methods can be used to +facilitate unsupervised analysis of any high-dimensional data such as +single-cell RNA-seq.") + (license license:artistic2.0))) + (define-public r-seqlogo (package (name "r-seqlogo") @@ -6541,9 +6713,10 @@ problems in genomics, brain imaging, astrophysics, and data mining.") `(("r-knitr" ,r-knitr))) (home-page "https://github.com/yixuan/RcppNumerical") (synopsis "Rcpp integration for numerical computing libraries") - (description "This package provides a collection of open source libraries -for numerical computing (numerical integration, optimization, etc.) and their -integration with @code{Rcpp}.") + (description + "This package provides a collection of libraries for numerical computing +(numerical integration, optimization, etc.) and their integration with +@code{Rcpp}.") (license license:gpl2+))) (define-public r-apeglm @@ -7917,6 +8090,16 @@ coordinates.") (base32 "0kc708ss5byzw8qh439mb4nq6hsfmz73gfamiznw3lv352brd33g")))) (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'make-build-order-reproducible + (lambda _ + (substitute* '("src/SYMPHONY/Cgl/configure.ac" + "src/SYMPHONY/Cgl/configure") + (("for file in `ls \\*/Makefile.in`") + "for file in `ls */Makefile.in | sort`"))))))) (inputs (list zlib)) (native-inputs @@ -12985,8 +13168,22 @@ gene expression.") "0q2y4n6bcc9pvz5sgfkw1lrb00rrp7q29i1vh7srdfmfhgpyz6bk")))) (properties `((upstream-name . "bgx"))) (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'do-not-tune-cflags-for-reproducibility + (lambda _ + (substitute* "configure.ac" + (("AX_GCC_ARCHFLAG.*") "")) + (delete-file "configure") + (invoke "autoreconf" "-vif")))))) + (inputs + (list boost)) (propagated-inputs (list r-affy r-biobase r-gcrma r-rcpp)) + (native-inputs + (list autoconf automake)) (home-page "https://bioconductor.org/packages/bgx/") (synopsis "Bayesian gene expression") (description diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 054776da5b..ba8c47451f 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3985,26 +3985,44 @@ HMMs).") (define-public htseq (package (name "htseq") - (version "0.12.3") + (version "2.0.2") + ;; Sources on pypi do not include everything needed to run the tests. (source (origin - (method url-fetch) - (uri (pypi-uri "HTSeq" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/htseq/htseq") + (commit (string-append "release_" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0pk41vkzxsbb5nv644325mh8akmz4zdply9r2s80dgg5b21pgp0b")))) + "1kbr4ydjjhizz6r5m3xd4f0wj7qnn8zs0vnzghhgaa0yhbya5r19")))) (build-system python-build-system) - (native-inputs - (list python-cython)) - ;; Numpy needs to be propagated when htseq is used as a Python library. + (arguments + (list + #:phases + '(modify-phases %standard-phases + ;; Avoid rebuilding the extension. Everything is built during the + ;; 'install phase anyway. + (delete 'build) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-v"))))))) (propagated-inputs - (list python-numpy)) - (inputs - (list python-pysam python-matplotlib)) - (home-page "https://htseq.readthedocs.io/") - (synopsis "Analysing high-throughput sequencing data with Python") + (list python-matplotlib + python-numpy + python-pysam)) + (native-inputs + (list python-cython + python-pandas + python-pytest + python-scipy + swig)) + (home-page "https://github.com/htseq") + (synopsis "Framework for analyzing high-throughput sequencing data") (description - "HTSeq is a Python package that provides infrastructure to process data -from high-throughput sequencing assays.") + "This package provides a framework to process and analyze data from +high-throughput sequencing (HTS) assays") (license license:gpl3+))) (define-public java-htsjdk @@ -6276,36 +6294,37 @@ subsequent visualization, annotation and storage of results.") (base32 "0m8wkyvbgvcr5kzc284w8fbhpxwglh2c1xq0yc3yv00a53gs7rv0")))) (build-system gnu-build-system) (arguments - `(#:make-flags - ,#~(list "BLASFLAGS=-llapack -lopenblas" - (string-append "CFLAGS=-Wall -O2 -DDYNAMIC_ZLIB=1" - " -I" (search-input-directory - %build-inputs "include/simde")) - "ZLIB=-lz" - "BIN=plink prettify" - (string-append "CC=" #$(cc-for-target)) - (string-append "PREFIX=" #$output) - "DESTDIR=") - #:phases - (modify-phases %standard-phases + (list + #:tests? #false ;TEST_EXTRACT_CHR doesn't produce expected files + #:make-flags + #~(list "BLASFLAGS=-llapack -lopenblas" + "NO_SSE42=1" + "NO_AVX2=1" + "STATIC_ZSTD=" + (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output) + "DESTDIR=") + #:phases + '(modify-phases %standard-phases (add-after 'unpack 'chdir - (lambda _ (chdir "1.9"))) - (delete 'configure) ; no "configure" script + (lambda _ (chdir "2.0/build_dynamic"))) + (delete 'configure) ; no "configure" script (replace 'check (lambda* (#:key tests? inputs #:allow-other-keys) (when tests? - (symlink "plink" "plink19") - (symlink (search-input-file inputs "/bin/plink") "plink107") (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH"))) - (with-directory-excursion "tests" - ;; The model test fails because of a 0.0001 difference. - (substitute* "tests.py" - (("diff -q test1.model test2.model") - "echo yes")) - (invoke "bash" "test_setup.sh") - (invoke "python3" "tests.py")))))))) + (with-directory-excursion "../Tests" + (substitute* "run_tests.sh" + (("^./run_tests" m) + (string-append (which "bash") " " m))) + (invoke "bash" "run_tests.sh"))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "plink2" + (string-append + (assoc-ref outputs "out") "/bin"))))))) (inputs - (list lapack openblas zlib)) + (list lapack openblas zlib `(,zstd "lib"))) (native-inputs (list diffutils plink python simde)) ; for tests (home-page "https://www.cog-genomics.org/plink/") @@ -6430,6 +6449,86 @@ Values such as sequence name, sequence description, sequence quality and the sequence itself can be retrieved from these databases.") (license license:bsd-3))) +(define-public python-taggd + (package + (name "python-taggd") + (version "0.3.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/SpatialTranscriptomicsResearch/taggd") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0j19ah81z7aqrdljah9hyarp91gvgbk63pz6fz3pdpksy1yqyi6k")) + (modules '((guix build utils))) + (snippet + '(for-each delete-file + (find-files "taggd" "\\.c$"))))) + (build-system python-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'disable-broken-tests + (lambda _ + (substitute* "tests/taggd_demultiplex_test.py" + (("def test_normal_bam_run") + "def _disabled_test_normal_bam_run"))))))) + (propagated-inputs + (list python-numpy python-pysam python-setuptools)) + (native-inputs + (list python-cython)) + (home-page "https://github.com/SpatialTranscriptomicsResearch/taggd") + (synopsis "Genetic barcode demultiplexing") + (description "This package provides TagGD barcode demultiplexing utilities +for Spatial Transcriptomics data.") + (license license:bsd-3))) + +(define-public stpipeline + (package + (name "stpipeline") + (version "1.8.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "stpipeline" version)) + (sha256 + (base32 + "0har2g42fvaqpiz66lincy86aj1hvwzds26kxhxfamvyvv4721wk")))) + (build-system python-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "requirements.txt" + (("argparse.*") ""))))))) + (propagated-inputs + (list htseq + python-cython + python-invoke + python-numpy + python-pandas + python-pympler + python-pysam + python-regex + python-scikit-learn + python-scipy + python-seaborn + python-setuptools + python-sqlitedict + python-taggd + samtools + star)) + (home-page "https://github.com/SpatialTranscriptomicsResearch/st_pipeline") + (synopsis "Pipeline for spatial mapping of unique transcripts") + (description + "This package provides an automated pipeline for spatial mapping of +unique transcripts.") + (license license:expat))) + (define-public sra-tools (package (name "sra-tools") @@ -11292,13 +11391,13 @@ cases include: (define-public python-mappy (package (name "python-mappy") - (version "2.18") + (version "2.24") (source (origin (method url-fetch) (uri (pypi-uri "mappy" version)) (sha256 (base32 - "1a05p7rkmxa6qhm108na8flzj2v45jab06drk59kzk1ip2sgvzqq")))) + "1ycszza87p9qvx8mis9v1hry0ac465x1xcxbsn1k45qlxxrzp8im")))) (build-system python-build-system) (native-inputs (list python-cython)) @@ -16097,6 +16196,32 @@ control samples and applying quantile normalization on all markers of interest.") (license license:gpl2+)))) +(define-public r-kbet + (let ((commit "f35171dfb04c7951b8a09ac778faf7424c4b6bc0") + (revision "1")) + (package + (name "r-kbet") + (version (git-version "0.99.6" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/theislab/kBET") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1r91prl2kki3zk694vhlmxdlqh0ixlhs8jfcqw6wc7cdsa0nv67k")))) + (properties `((upstream-name . "kBET"))) + (build-system r-build-system) + (propagated-inputs (list r-cluster r-fnn r-ggplot2 r-mass r-rcolorbrewer)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/theislab/kBET") + (synopsis "k-nearest neighbour batch effect test") + (description + "This tool detects batch effects in high-dimensional data based on chi^2-test.") + ;; Any version of the GPL + (license license:gpl3+)))) + (define-public ccwl (package (name "ccwl") @@ -16330,3 +16455,271 @@ alignment algorithm. It completes MashMap with a high-performance alignment module capable of computing base-level alignments for very large sequences.") (home-page "https://github.com/ekg/wfmash") (license license:expat))) + +(define-public flair + (package + (name "flair") + (version "1.6.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BrooksLabUCSC/flair") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "106swb2q7l20ki58fca1hg95q5f79bgp9gjb0clr2243ycrzyxf8")))) + (build-system python-build-system) + (arguments + (list + #:tests? #false ;there are none + #:phases + #~(modify-phases %standard-phases + ;; TODO: implement as a feature of python-build-system (PEP-621, + ;; PEP-631, PEP-660) + (replace 'build + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version) + ;; ZIP does not support timestamps before 1980. + (setenv "SOURCE_DATE_EPOCH" "315532800") + (invoke "python" "-m" "build" "--wheel" "--no-isolation" "."))) + (replace 'install + (lambda _ + (apply invoke "pip" "--no-cache-dir" "--no-input" + "install" "--no-deps" "--prefix" #$output + (find-files "dist" "\\.whl$"))))))) + (propagated-inputs + (list python-mappy + python-ncls + python-pybedtools + python-pysam + python-tqdm)) + (native-inputs + (list python-pypa-build python-setuptools)) + (home-page "https://flair.readthedocs.io/en/latest/") + (synopsis "Full-length alternative isoform analysis of RNA") + (description "This package implements FLAIR (Full-Length Alternative +Isoform analysis of RNA) for the correction, isoform definition, and +alternative splicing analysis of noisy reads. FLAIR has primarily been used +for nanopore cDNA, native RNA, and PacBio sequencing reads.") + (license license:bsd-3))) + +(define-public go-github-com-biogo-graph + (package + (name "go-github-com-biogo-graph") + (version "0.0.0-20150317020928-057c1989faed") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/biogo/graph") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1kpzs5dfd5dsk4mg1g2qjz1prqd84ixhrcxxnf90hq25vxcnk7lh")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/biogo/graph" + #:tests? #false)) ;TODO: one of 13 tests fails for unknown reasons + (propagated-inputs + (list go-gopkg-in-check-v1)) + (home-page "https://github.com/biogo/graph") + (synopsis "Undirected graph analysis for biogo") + (description "The package @code{graph} implements graph manipulation +functions.") + (license license:bsd-3))) + +(define-public go-github-com-biogo-store-interval + (package + (name "go-github-com-biogo-store-interval") + (version "0.0.0-20201120204734-aad293a2328f") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/biogo/store") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0skizrp1j6vgbl0g1kmh73picagqlvwckaqs0gkl6rai5lckxj8a")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/biogo/store/interval" + #:unpack-path "github.com/biogo/store")) + (propagated-inputs + (list go-gopkg-in-check-v1 + go-github-com-kr-pretty)) + (home-page "https://github.com/biogo/store") + (synopsis "Interval store type for biogo") + (description + "The @code{store} package provides a number of data store types that are +useful for bioinformatic analysis.") + (license license:bsd-3))) + +(define-public go-github-com-biogo-store-kdtree + (package + (inherit go-github-com-biogo-store-interval) + (name "go-github-com-biogo-store-kdtree") + (arguments + '(#:import-path "github.com/biogo/store/kdtree" + #:unpack-path "github.com/biogo/store")) + (propagated-inputs + (list go-gopkg-in-check-v1 + go-github-com-kr-pretty)) + (synopsis "kdtree store type for biogo"))) + +(define-public go-github-com-biogo-store-llrb + (package + (inherit go-github-com-biogo-store-interval) + (name "go-github-com-biogo-store-llrb") + (arguments + '(#:import-path "github.com/biogo/store/llrb" + #:unpack-path "github.com/biogo/store")) + (propagated-inputs + (list go-gopkg-in-check-v1 + go-github-com-kr-pretty)) + (synopsis "LLRB store for biogo"))) + +(define-public go-github-com-biogo-store-step + (package + (inherit go-github-com-biogo-store-interval) + (name "go-github-com-biogo-store-step") + (arguments + '(#:import-path "github.com/biogo/store/step" + #:unpack-path "github.com/biogo/store")) + (propagated-inputs + (list go-gopkg-in-check-v1 + go-github-com-kr-pretty)) + (synopsis "Step store for biogo"))) + +(define-public go-github-com-biogo-hts-bam + (package + (name "go-github-com-biogo-hts-bam") + (version "1.4.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/biogo/hts") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "013ga6ilc4m3hyfr3yyiva9g4vs81afhj73v2sy7r75b5zxw7lx1")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/biogo/hts/bam" + #:unpack-path "github.com/biogo/hts")) + (propagated-inputs + (list go-gopkg-in-check-v1)) + (home-page "https://github.com/biogo/hts") + (synopsis "HTS BAM module for biogo") + (description "This package provides tools for handling BAM files.") + (license license:bsd-3))) + +(define-public go-github-com-biogo-hts-sam + (package + (inherit go-github-com-biogo-hts-bam) + (name "go-github-com-biogo-hts-sam") + (arguments + '(#:import-path "github.com/biogo/hts/sam" + #:unpack-path "github.com/biogo/hts")) + (propagated-inputs + (list go-gopkg-in-check-v1)) + (synopsis "HTS SAM module for biogo") + (description "This package provides tools for handling SAM files."))) + +(define-public go-github-com-biogo-hts-tabix + (package + (inherit go-github-com-biogo-hts-bam) + (name "go-github-com-biogo-hts-tabix") + (arguments + '(#:import-path "github.com/biogo/hts/tabix" + #:unpack-path "github.com/biogo/hts")) + (propagated-inputs + (list go-gopkg-in-check-v1)) + (synopsis "HTS Tabix module for biogo") + (description "This package provides tools for handling Tabix files."))) + +(define-public go-github-com-biogo-hts-bgzf + (package + (inherit go-github-com-biogo-hts-bam) + (name "go-github-com-biogo-hts-bgzf") + (arguments + '(#:import-path "github.com/biogo/hts/bgzf" + #:unpack-path "github.com/biogo/hts")) + (propagated-inputs + (list go-gopkg-in-check-v1)) + (synopsis "HTS bgzf module for biogo") + (description "This package provides tools for handling bgzf files."))) + +(define-public go-github-com-biogo-hts-cram + (package + (inherit go-github-com-biogo-hts-bam) + (name "go-github-com-biogo-hts-cram") + (arguments + '(#:import-path "github.com/biogo/hts/cram" + #:unpack-path "github.com/biogo/hts" + #:tests? #false)) ;require network access + (propagated-inputs + (list go-gopkg-in-check-v1 + go-github.com-ulikunitz-xz + go-github-com-kortschak-utter)) + (synopsis "HTS CRAM module for biogo") + (description "This package provides tools for handling CRAM files."))) + +(define-public go-github-com-biogo-hts-csi + (package + (inherit go-github-com-biogo-hts-bam) + (name "go-github-com-biogo-hts-csi") + (arguments + '(#:import-path "github.com/biogo/hts/csi" + #:unpack-path "github.com/biogo/hts")) + (propagated-inputs + (list go-gopkg-in-check-v1)) + (synopsis "Coordinate sorted indexing for biogo") + (description "This package implements CSIv1 and CSIv2 coordinate sorted +indexing."))) + +(define-public go-github-com-biogo-hts-fai + (package + (inherit go-github-com-biogo-hts-bam) + (name "go-github-com-biogo-hts-fai") + (arguments + '(#:import-path "github.com/biogo/hts/fai" + #:unpack-path "github.com/biogo/hts")) + (propagated-inputs + (list go-gopkg-in-check-v1)) + (synopsis "Fasta sequence file index handling for biogo") + (description "This package implements FAI fasta sequence file index +handling."))) + +(define-public go-github-com-biogo-biogo + (package + (name "go-github-com-biogo-biogo") + (version "1.0.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/biogo/biogo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ali1mqf3dc26myv6l7wmqfr8i25461rbq3qdad8s0wi29622199")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/biogo/biogo")) + (propagated-inputs + (list go-gopkg-in-check-v1 + go-github-com-biogo-store-interval + go-github-com-biogo-store-kdtree + go-github-com-biogo-store-llrb + go-github-com-biogo-store-step + go-github-com-biogo-hts-bam + go-github-com-biogo-graph)) + (home-page "https://github.com/biogo/biogo") + (synopsis "Bioinformatics library for Go") + (description + "Bíogo is a bioinformatics library for the Go language.") + (license license:bsd-3))) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index fcb59368e9..4fc250e7b6 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch> ;;; Copyright © 2022 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2022 Jacob Hart <hartja1@yahoo.com> +;;; Copyright © 2022 Simon Streit <simon@netpanic.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -132,7 +133,7 @@ (string-append gui "/share/man/man1/transmission-gtk.1")) #t)))))) (inputs - (list libevent curl openssl zlib gtk+)) + (list libevent curl openssl zlib gtk+ libappindicator)) (native-inputs (list intltool pkg-config)) (home-page "https://transmissionbt.com/") diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index d19cf55bc4..b521b57ecd 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016, 2017 David Craven <david@craven.ch> ;;; Copyright © 2017, 2018, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018, 2019, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 nee <nee@cock.li> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> @@ -1157,14 +1157,14 @@ tools, and more.") (define-public os-prober (package (name "os-prober") - (version "1.80") + (version "1.81") (source (origin (method url-fetch) (uri (string-append "mirror://debian/pool/main/o/os-prober/os-prober_" version ".tar.xz")) (sha256 - (base32 "13z3rshgz5xj0328a80wavdimjw925yha9s1ks398sq0kn5w6qw0")))) + (base32 "10w8jz6mqhp0skdcam9mpgv79vx1sv7lkpra3rqjg0jkhvn2in9g")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm index 1012e4b643..63bd11b226 100644 --- a/gnu/packages/browser-extensions.scm +++ b/gnu/packages/browser-extensions.scm @@ -51,7 +51,7 @@ supported content to the Kodi media center.") (define ublock-origin (package (name "ublock-origin") - (version "1.43.0") + (version "1.44.0") (home-page "https://github.com/gorhill/uBlock") (source (origin (method git-fetch) @@ -62,7 +62,7 @@ supported content to the Kodi media center.") (file-name (git-file-name name version)) (sha256 (base32 - "0w0by41v1s1cbd3bfjlb7kxr2bl6r5z3jvizlx02x14hqlppma9k")))) + "0sws7xd8nvxnzcyw92i9sc5xv3hpqw1kzdj9vm8bhfxlh042l7ly")))) (build-system gnu-build-system) (outputs '("xpi" "firefox" "chromium")) (arguments diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 1134b8eb3c..38a7ee2783 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -102,7 +102,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") (define-public bear (package (name "bear") - (version "3.0.19") + (version "3.0.20") (source (origin (method git-fetch) @@ -111,7 +111,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "05jbcx5m923dg27j3i442hc73hdci5n7vp7a671x1w7bdivgqg96")))) + (base32 "0k89ccp9vz3x71w3r2wfpng9b8s0rxp4qr0ch9q32wq6y1ik847j")))) (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 39f048e993..d7d649488b 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -463,7 +463,7 @@ as dictionaries, skip lists, and memory pools.") (define-public packcc (package (name "packcc") - (version "1.7.2") + (version "1.8.0") (home-page "https://github.com/arithy/packcc") (source (origin (method git-fetch) @@ -473,7 +473,7 @@ as dictionaries, skip lists, and memory pools.") (file-name (git-file-name name version)) (sha256 (base32 - "1mb6ys5ylvjz0xpq6769ir98s80p98s9ahd0c9k8p2ra1w20vz33")))) + "0b25p7ri1l2l20awyknljfnj7r4rg7cf2x3bljijx5q6j8rxdcsg")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 56a4ab8a10..6391bd6fec 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -408,58 +408,59 @@ or @command{xorrisofs} to create ISO 9660 images.") (define-public dvdisaster (package (name "dvdisaster") - (version "0.79.9") + (version "0.79.10") (source (origin (method url-fetch) (uri (string-append "https://dvdisaster.jcea.es/downloads/dvdisaster-" version ".tar.bz2")) (sha256 - (base32 "1hz3fvqfdrwb7dn6ggqkpcgyjag37ivm1layw27ncjz9glklxjbr")))) + (base32 "1s3z4098ixdjr3gjs36fg7rykqs0zz1rnvz2v9rvyj0s5zv9y2nx")))) (build-system gnu-build-system) (inputs (list gtk+-2)) (native-inputs - `(("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config) - ("which" ,which))) + (list gettext-minimal pkg-config which)) (arguments - `(;; Parallel builds appear to be unsafe, see - ;; <http://hydra.gnu.org/build/49331/nixlog/1/raw>. - #:parallel-build? #f - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (with-directory-excursion "regtest" - (substitute* "common.bash" - (("ISODIR=/var/tmp/regtest") "ISODIR=/tmp")) - (for-each invoke (find-files "." "rs.*\\.bash"))))) - (add-after 'install 'install-desktop - (lambda* (#:key outputs #:allow-other-keys) - (let* ((datadir (string-append (assoc-ref outputs "out") "/share"))) - (substitute* "contrib/dvdisaster.desktop" - (("dvdisaster48.png") "dvdisaster.png")) - (install-file "contrib/dvdisaster.desktop" - (string-append datadir "/applications")) - (for-each - (lambda (png) - (let* ((size (substring png - (string-index png char-set:digit) - (string-rindex png #\.))) - (icondir (string-append datadir "/icons/" - size "x" size "/apps"))) - (mkdir-p icondir) - (copy-file png (string-append icondir "/dvdisaster.png")))) - (find-files "contrib" "dvdisaster[0-9]*\\.png")) - (mkdir-p (string-append datadir "/pixmaps")) - (copy-file "contrib/dvdisaster48.xpm" - (string-append datadir "/pixmaps/dvdisaster.xpm"))))) - (add-after 'install 'remove-uninstall-script - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out"))) - (delete-file - (string-append out "/bin/dvdisaster-uninstall.sh")))))))) + (list #:parallel-build? #f ; http://hydra.gnu.org/build/49331/nixlog/1/raw + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda _ + (with-directory-excursion "regtest" + (substitute* "common.bash" + (("ISODIR=/var/tmp/regtest") "ISODIR=/tmp")) + (for-each invoke (find-files "." "rs.*\\.bash"))))) + (add-after 'install 'install-desktop + (lambda* (#:key outputs #:allow-other-keys) + (let* ((datadir (string-append (assoc-ref outputs "out") + "/share"))) + (substitute* "contrib/dvdisaster.desktop" + (("dvdisaster48.png") "dvdisaster.png")) + (install-file "contrib/dvdisaster.desktop" + (string-append datadir "/applications")) + (for-each + (lambda (png) + (let* ((size (substring + png + (string-index png char-set:digit) + (string-rindex png #\.))) + (icondir (string-append datadir "/icons/" + size "x" size "/apps"))) + (mkdir-p icondir) + (copy-file png + (string-append icondir + "/dvdisaster.png")))) + (find-files "contrib" "dvdisaster[0-9]*\\.png")) + (mkdir-p (string-append datadir "/pixmaps")) + (copy-file "contrib/dvdisaster48.xpm" + (string-append datadir + "/pixmaps/dvdisaster.xpm"))))) + (add-after 'install 'remove-uninstall-script + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (delete-file + (string-append out "/bin/dvdisaster-uninstall.sh")))))))) (home-page "https://dvdisaster.jcea.es/") (synopsis "Error correcting codes for optical media images") (description "Optical media (CD,DVD,BD) keep their data only for a diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index aa7dd41af4..d7920ee27b 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -665,19 +665,27 @@ test) much simpler.") (define-public go-github.com-smartystreets-assertions (package (name "go-github.com-smartystreets-assertions") - (version "1.8.1") + (version "1.13.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/smartystreets/assertions") - (commit version))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1j0adgbykl55rf2945g0n5bmqdsnjcqlx5dcmpfh4chki43hiwg9")))) + (base32 "0flf3fb6fsw3bk1viva0fzrzw87djaj1mqvrx2gzg1ssn7xzfrzr")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/smartystreets/assertions")) + (list + #:import-path "github.com/smartystreets/assertions" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; The tests fail when run with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (native-inputs (list go-github.com-smartystreets-gunit)) (synopsis "Assertions for testing with Go") @@ -2689,18 +2697,29 @@ create data based on random numbers and yet remain repeatable.") (define-public python-freezegun (package (name "python-freezegun") - (version "0.3.14") + (version "1.2.2") (source (origin (method url-fetch) (uri (pypi-uri "freezegun" version)) (sha256 - (base32 "0al75mk829j1izxi760b7yjnknjihyfhp2mvi5qiyrxb9cpxwqk2")))) + (base32 "0ijlq32qvpm5zprfzbyzawpl9qjsknlxhryr1i0q84wl0sxd28nd")) + (modules '((guix build utils))) + (snippet + ;; Add an explicit case for static methods as they are callable + ;; in Python 3.10, breaking this conditional. + ;; XXX Taken from upstream pull request: + ;; https://github.com/spulec/freezegun/pull/397 + '(substitute* "freezegun/api.py" + (("if not callable\\(attr_value\\) or \ +inspect\\.isclass\\(attr_value\\):") + "if (not callable(attr_value) or inspect.isclass(attr_value)\ +or isinstance(attr_value, staticmethod)):"))))) (build-system python-build-system) (native-inputs - (list python-mock python-pytest)) + (list python-pytest)) (propagated-inputs - (list python-six python-dateutil)) + (list python-dateutil)) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index c91a8f250c..2f67e23f4d 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -316,7 +316,7 @@ ;; run the Blink performance tests, just remove everything to save ~70MiB. '("third_party/blink/perf_tests")) -(define %chromium-version "104.0.5112.81") +(define %chromium-version "104.0.5112.101") (define %ungoogled-revision (string-append %chromium-version "-1")) (define %debian-revision "debian/102.0.5005.61-1") @@ -328,7 +328,7 @@ (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision)) (sha256 (base32 - "0dvwh470h06x5a4p8kw22pi4lvch16knh90i2kh10y0wfggqz78w")))) + "0jy5hjn61p5mnbqns3jlybim7iy8w9cmzm3i84wn68cyyx1bk25m")))) (define %debian-origin (origin @@ -477,7 +477,7 @@ %chromium-version ".tar.xz")) (sha256 (base32 - "0x17jzzvn2aqx3ahqyi6ijyn70sn79kg648r0ks9m5gib1bbgf0y")) + "0nrghgngxdn9richjnxii9y94dg5zpwc3gd3vx609r4xaphibw30")) (modules '((guix build utils))) (snippet (force ungoogled-chromium-snippet)))) (build-system gnu-build-system) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 9cd2f6884e..86d99c9031 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> +;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -193,16 +194,16 @@ intended as a replacement for Hydra.") (define-public laminar (package (name "laminar") - (version "1.1") + (version "1.2") (source - (origin (method url-fetch) - (uri (string-append "https://github.com/ohwgiles/laminar/archive/" - version - ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (origin (method git-fetch) + (uri (git-reference + (url "https://github.com/ohwgiles/laminar") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1lzfmfjygmbdr2n1q49kwwffw8frz5y6iczhdz5skwmzwg0chbsf")))) + "1sg0kccp3nczkn2vxcsqv10vyvmjnhpaykc1nfhh55jyda4xzf9w")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; TODO Can't build tests @@ -223,8 +224,7 @@ intended as a replacement for Hydra.") (("install\\(FILES \\$\\{CMAKE\\_CURRENT\\_BINARY\\_DIR\\}\\/laminar\\.service DESTINATION \\$\\{SYSTEMD\\_UNITDIR\\}\\)") "") (("install\\(FILES etc/laminar\\.conf DESTINATION \\/etc\\)") "") - (("\\/usr\\/") "")) - #t)) + (("\\/usr\\/") "")))) (add-after 'configure 'copy-in-javascript-and-css (lambda* (#:key inputs outputs #:allow-other-keys) (use-modules (ice-9 popen)) @@ -253,9 +253,7 @@ intended as a replacement for Hydra.") ;; ansi_up.js isn't minified (copy-file (assoc-ref inputs "ansi_up.js") - "../build/js/ansi_up.js") - - #t))))) + "../build/js/ansi_up.js")))))) (inputs (list capnproto rapidjson sqlite boost zlib)) (native-inputs diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 96736aac84..f4855e12e9 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -390,7 +390,7 @@ features that are not supported by the standard @code{stdio} implementation.") (define-public universal-ctags (package (name "universal-ctags") - (version "5.9.20220626.0") + (version "5.9.20220807.0") (source (origin (method git-fetch) @@ -400,7 +400,7 @@ features that are not supported by the standard @code{stdio} implementation.") (file-name (git-file-name name version)) (sha256 (base32 - "1x5kqqznlbndwln8g0kcxnla6b94i7x7cd63ba2sj0fzzms5gx24")) + "1wjj6hlda7xyjm8yrl2zz74ks7azymm9yyrpz36zxxpx2scf6lsk")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm index bbb6c4d435..bbb34df27d 100644 --- a/gnu/packages/coq.scm +++ b/gnu/packages/coq.scm @@ -101,7 +101,18 @@ It is developed using Objective Caml and Camlp5.") (name "coq-stdlib") (arguments `(#:package "coq-stdlib" - #:test-target ".")) + #:test-target "." + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-dune + (lambda _ + (substitute* "user-contrib/Ltac2/dune" + (("coq-core.plugins.ltac2") + (string-join + (map (lambda (plugin) (string-append "coq-core.plugins." plugin)) + '("ltac2" "number_string_notation" "tauto" "cc" + "firstorder")) + " ")))))))) (inputs (list coq-core gmp ocaml-zarith)) (native-inputs '()))) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 1c9e57fb1c..e6d734010d 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -1871,3 +1871,37 @@ std::filesystem compatible helper library, based on the C++17 and C++20 specs, but implemented for C++11, C++14, C++17 or C++20.") (home-page "https://github.com/gulrak/filesystem") (license license:expat))) + +(define-public cpp-mustache + (package + (name "cpp-mustache") + (version "4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kainjow/Mustache") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r9rbk6v1wpld2ismfsk2lkhbyv3dkf0p03hkjivbj05qkfhvlbb")))) + (build-system cmake-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "./mustache")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "../source/mustache.hpp" + (string-append (assoc-ref outputs "out") + "/include"))))))) + (home-page "https://github.com/kainjow/Mustache") + (synopsis "Mustache text templates for modern C++") + (description "@code{cpp-mustache} is a Mustache implementation for C++ 11 +and above. It is header only and has zero dependencies. It provides a +templated string type for compatibility with any STL-like string (std::string, +std::wstring, etc).") + (license license:boost1.0))) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e2425ec16e..8b521aa980 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -104,6 +104,7 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages sqlite) #:use-module (gnu packages statistics) + #:use-module (gnu packages tbb) #:use-module (gnu packages tcl) #:use-module (gnu packages tex) #:use-module (gnu packages textutils) @@ -115,6 +116,35 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) +(define-public r-aer + (package + (name "r-aer") + (version "1.2-10") + (source (origin + (method url-fetch) + (uri (cran-uri "AER" version)) + (sha256 + (base32 + "1p6vxr0220lim5i4gwsvphqrfd65zbs8h3qydz4gipca9asmy2k5")))) + (properties `((upstream-name . "AER"))) + (build-system r-build-system) + (propagated-inputs + (list r-car + r-formula + r-lmtest + r-sandwich + r-survival + r-zoo)) + (home-page "https://cran.r-project.org/package=AER") + (synopsis "Applied econometrics with R") + (description + "This package provides functions, data sets, examples, demos, and +vignettes for the book Christian Kleiber and Achim Zeileis (2008), Applied +Econometrics with R, Springer-Verlag, New York. ISBN 978-0-387-77316-2. (See +the vignette \"AER\" for a package overview.)") + ;; Either version of the GPL + (license (list license:gpl2 license:gpl3)))) + (define-public r-afpt (package (name "r-afpt") @@ -392,6 +422,28 @@ Gaussian quadrature for a numerical solution.") Distance (EMD).") (license license:expat))) +(define-public r-glmpca + (package + (name "r-glmpca") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (cran-uri "glmpca" version)) + (sha256 + (base32 + "02xjf0gg52925hw9nw2j0znfmzfzfwbv0fxjl9d2fy9j63drr2h4")))) + (properties `((upstream-name . "glmpca"))) + (build-system r-build-system) + (propagated-inputs (list r-mass)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/willtownes/glmpca") + (synopsis "Dimension Reduction of Non-Normally Distributed Data") + (description + "This package implements a generalized version of principal components +analysis (GLM-PCA) for dimension reduction of non-normally distributed data +such as counts or binary matrices.") + (license license:lgpl3+))) + (define-public r-googledrive (package (name "r-googledrive") @@ -748,6 +800,42 @@ similar rank-based tests for equal probability distributions due to Neuhauser WebAssembly engine.") (license license:expat))) +(define-public r-rvenn + (package + (name "r-rvenn") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "RVenn" version)) + (sha256 + (base32 + "016m00xv59lkwm2is32v5nr4lw5a1ymdnz34r3ffflcv9bfrc6n4")))) + (properties `((upstream-name . "RVenn"))) + (build-system r-build-system) + (propagated-inputs + (list r-ggforce + r-ggplot2 + r-magrittr + r-pheatmap + r-purrr + r-rlang + r-vegan)) + (native-inputs (list r-knitr)) + (home-page "https://cran.r-project.org/package=RVenn") + (synopsis "Set operations for many sets") + (description + "The base functions for set operations in @code{R} can be used for only two +sets. This package @code{RVenn} provides functions for dealing with multiple sets. +It uses @code{purr} to find the union, intersection and difference of three or +more sets. This package also provides functions for pairwise set operations among +several sets. Further, based on @code{ggplot2} and @code{ggforce}, a Venn diagram +can be drawn for two or three sets. For bigger data sets, a clustered heatmap +showing the presence or absence of the elements of the sets can be drawn based on +the @code{pheatmap} package. Finally, enrichment test can be applied to two sets +whether an overlap is statistically significant or not.") + (license license:gpl3))) + (define-public r-dot (package (name "r-dot") @@ -1060,6 +1148,65 @@ the reasonable size limit without losing vector properties of the scale-sensitive information.") (license license:expat))) +(define-public r-ggvenn + (package + (name "r-ggvenn") + (version "0.1.9") + (source (origin + (method url-fetch) + (uri (cran-uri "ggvenn" version)) + (sha256 + (base32 + "0bm52j3idchignp6nrw7c76jlbfkjf5zng258957vq019vx9qxrq")))) + (properties `((upstream-name . "ggvenn"))) + (build-system r-build-system) + (propagated-inputs (list r-dplyr r-ggplot2)) + (home-page "https://cran.r-project.org/package=ggvenn") + (synopsis "Draw Venn diagram with ggplot2") + (description + "This package offers an easy to use way to draw a Venn diagram with +@code{ggplot2}.") + (license license:expat))) + +(define-public r-ggvenndiagram + (package + (name "r-ggvenndiagram") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "ggVennDiagram" version)) + (sha256 + (base32 + "1mjs488npnxd53nsw936iw2vzv7z38h8d02pm4lwrz4i83jg3www")))) + (properties `((upstream-name . "ggVennDiagram"))) + (build-system r-build-system) + (propagated-inputs + (list r-dplyr + r-ggplot2 + r-magrittr + r-plotly + r-purrr + r-rvenn + r-sf + r-stringr + r-tibble)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/gaospecial/ggVennDiagram") + (synopsis "Implementention of the Venn diagram using ggplot2") + (description + "This package implements easy-to-use functions to generate 2-7 sets Venn +plot in publication quality. @code{ggVennDiagram} plot Venn using +well-defined geometry dataset and @code{ggplot2}. The shapes of 2-4 sets Venn +use circles and ellipses, while the shapes of 4-7 sets Venn use irregular +polygons (4 has both forms), which are developed and imported from another +package @code{venn}. We provide internal functions to integrate shape data +with user provided sets data, and calculated the geometry of every +regions/intersections of them, then separately plot Venn in three components: +set edges, set labels, and regions. From version 1.0, it is possible to +customize these components as you demand in ordinary @code{ggplot2} grammar.") + (license license:gpl3))) + (define-public r-lmds (package (name "r-lmds") @@ -1482,6 +1629,28 @@ qualitative palettes with many (20-30 or more) colors. See Coombes and colleagues (2019) @url{https://doi:10.18637/jss.v090.c01}.") (license license:asl2.0))) +(define-public r-polylabelr + (package + (name "r-polylabelr") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (cran-uri "polylabelr" version)) + (sha256 + (base32 + "01b2v0l5g8nxwbd6nwqv8ahypgh6gfhd4qabg75brlj7z1iyfzf2")))) + (properties `((upstream-name . "polylabelr"))) + (build-system r-build-system) + (propagated-inputs (list r-rcpp)) + (home-page "https://github.com/jolars/polylabelr") + (synopsis "Finding pole of inaccessibility (visual center) of a polygon") + (description + "This package provides a wrapper around the @code{C++} library @code{ +polylabel} from @code{Mapbox}, providing an efficient routine for finding the +approximate pole of inaccessibility of a polygon, which usually serves as an +excellent candidate for labeling of a polygon.") + (license license:expat))) + (define-public r-poorman (package (name "r-poorman") @@ -3512,6 +3681,24 @@ coordinates.") @end enumerate\n") (license license:gpl2+))) +(define-public r-gensa + (package + (name "r-gensa") + (version "1.1.7") + (source (origin + (method url-fetch) + (uri (cran-uri "GenSA" version)) + (sha256 + (base32 + "03xqwxm7v7rnihx730a4p65dfwhjh4345r3d78y0qxxplk8d76cx")))) + (properties `((upstream-name . "GenSA"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/package=GenSA") + (synopsis "Generalized simulated annealing") + (description "This package performs search for the global minimum of a very +complex non-linear objective function with a very large number of optima.") + (license license:gpl2))) + (define-public r-geosphere (package (name "r-geosphere") @@ -6393,6 +6580,27 @@ Information-Maximization (Infomax), and @dfn{Joint Approximate Diagonalization of Eigenmatrices} (JADE).") (license license:gpl2+))) +(define-public r-ips + (package + (name "r-ips") + (version "0.0.11") + (source (origin + (method url-fetch) + (uri (cran-uri "ips" version)) + (sha256 + (base32 + "02jxanfhsjrabj33nwjv71vdc87hiyzikyqrfdj9ix6dky6lm199")))) + (properties `((upstream-name . "ips"))) + (build-system r-build-system) + (propagated-inputs (list r-ape r-phangorn r-plyr r-seqinr r-xml)) + (home-page "https://cran.r-project.org/package=ips") + (synopsis "Interfaces to phylogenetic software in R") + (description + "This package provides functions that wrap popular phylogenetic software +for sequence alignment, masking of sequence alignments, and estimation of +phylogenies and ancestral character states.") + (license license:gpl3))) + (define-public r-dtw (package (name "r-dtw") @@ -9216,6 +9424,14 @@ always locate the files relative to your project root.") (base32 "0b1szzsqyc8wcfpkn5517bb1ds064vs2hky71my3p74kfngay991")))) (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'build-reproducibly + (lambda _ + (setenv "PYTHONHASHSEED" "0") + (setenv "PYTHONDONTWRITEBYTECODE" "1")))))) (inputs (list python)) (propagated-inputs (list r-here @@ -13657,9 +13873,20 @@ package provides a minimal R interface by relying on the Rcpp package.") (uri (cran-uri "RcppParallel" version)) (sha256 (base32 - "1sn211ajlb1p12sglxqns175rg078yvww268m8cp0vvd7cmk55k3")))) + "1sn211ajlb1p12sglxqns175rg078yvww268m8cp0vvd7cmk55k3")) + (modules '((guix build utils))) + (snippet + '(delete-file-recursively "src/tbb/")))) (properties `((upstream-name . "RcppParallel"))) (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'use-system-tbb + (lambda* (#:key inputs #:allow-other-keys) + (setenv "TBB_ROOT" (assoc-ref inputs "tbb"))))))) + (inputs (list tbb-2020)) (home-page "https://rcppcore.github.io/RcppParallel/") (synopsis "Parallel programming tools for Rcpp") (description @@ -19040,6 +19267,15 @@ packages with Rcpp.") (base32 "17znizh4yabh2zs9mzyr0sl6p0pw49961i61br7cl1b7v9sza18q")))) (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'build-reproducibly + (lambda _ + (substitute* "R/aaa.R" + (("BASEDATETIME <- Sys.time.*") + "BASEDATETIME <- structure(0, class = c(\"POSIXct\", \"POSIXt\"))\n"))))))) (propagated-inputs (list r-farver r-magrittr r-rcpp r-rlang)) (home-page "https://github.com/thomasp85/tweenr") diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index db820a3d24..34514ea0c7 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -10307,7 +10307,7 @@ box''.") (define-public rust-cc-1 (package (name "rust-cc") - (version "1.0.67") + (version "1.0.73") (source (origin (method url-fetch) @@ -10315,7 +10315,7 @@ box''.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1z9p27ys80shv09zhknmlal8jjra78agdwg97i6jjd6lg83rpip3")))) + "04ccylrjq94jssh8f7d7hxv64gs9f1m1jrsxb7wqgfxk4xljmzrg")))) (build-system cargo-build-system) (arguments `(#:tests? #f @@ -25025,14 +25025,14 @@ authenticated encryption cipher.") (define-public rust-ghost-0.1 (package (name "rust-ghost") - (version "0.1.2") + (version "0.1.6") (source (origin (method url-fetch) (uri (crate-uri "ghost" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0yalg3g1g3cz63n3phy7cdhh7p2qd220mrpxy96alwxbpqdwynqs")))) + (base32 "0fj42hmlgcj1rbqcshlvk65npsks4ba7vdzphb9202gawf6zw6gb")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -28897,14 +28897,14 @@ Rust.") (define-public rust-indoc-1 (package (name "rust-indoc") - (version "1.0.3") + (version "1.0.7") (source (origin (method url-fetch) (uri (crate-uri "indoc" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0diih20xsxjb159nr0dq6jxnyhq7gg10dlsnh2siikphmvm5m9z5")))) + (base32 "1qs42cn8rj7kdpmp1dlkzhv62rfmbx3ffwvsfw67zyq86jm1xaxd")))) (build-system cargo-build-system) (arguments `(#:skip-build? #true @@ -29479,8 +29479,37 @@ primitive Rust types.") immutable interval tree.") (license license:expat))) +(define-public rust-inventory-0.2 + (package + (name "rust-inventory") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "inventory" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "06h9xw67wx18rank4yyz93iq89j0fk6fbazryfvf5ach1dp4qd44")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ctor" ,rust-ctor-0.1) + ("rust-ghost" ,rust-ghost-0.1)) + #:cargo-development-inputs + (("rust-rustversion" ,rust-rustversion-1) + ("rust-trybuild" ,rust-trybuild-1)))) + (home-page "https://github.com/dtolnay/inventory") + (synopsis "Typed distributed plugin registration") + (description + "This package provides a way to set up a plugin registry into which +plugins can be registered from any source file linked into your program. +There does not need to be a central list of all the plugins.") + ;; Either license can be chosen at the users option. + (license (list license:expat license:asl2.0)))) + (define-public rust-inventory-0.1 (package + (inherit rust-inventory-0.2) (name "rust-inventory") (version "0.1.11") (source @@ -29490,21 +29519,12 @@ immutable interval tree.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1m1zdjgs3nzfdxf86mc1i0id56fvk8rfw63rf04yi88bqrh53szh")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-ctor" ,rust-ctor-0.1) ("rust-ghost" ,rust-ghost-0.1) - ("rust-inventory-impl" ,rust-inventory-impl-0.1)))) - (home-page "https://github.com/dtolnay/inventory") - (synopsis "Typed distributed plugin registration") - (description - "This package provides a way to set up a plugin registry into which -plugins can be registered from any source file linked into your program. -There does not need to be a central list of all the plugins.") - ;; Either license can be chosen at the users option. - (license (list license:expat license:asl2.0)))) + ("rust-inventory-impl" ,rust-inventory-impl-0.1)))))) (define-public rust-inventory-impl-0.1 (package @@ -40387,17 +40407,17 @@ platform-native strings.") "11agh8n3x2l4sr3sxvx6byc1j3ryb1g6flb1ywn0qhq7xv1y3cmg")))) (arguments `(#:skip-build? #t)))) -(define-public rust-ouroboros-macro-0.14 +(define-public rust-ouroboros-macro-0.15 (package (name "rust-ouroboros-macro") - (version "0.14.0") + (version "0.15.2") (source (origin (method url-fetch) (uri (crate-uri "ouroboros_macro" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "11cav04x82liknlrv50lpl1i1ln2jw4isdqzdjnjsg0pcpvwik9r")))) + (base32 "01lgyj5nxgr6r1l0m20pp4ilz3m14clsqg2j28hic2rrlsjafjkk")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -40413,22 +40433,35 @@ platform-native strings.") "This package provides a proc macro for the @code{ouroboros} crate.") (license (list license:expat license:asl2.0)))) -(define-public rust-ouroboros-0.14 +(define-public rust-ouroboros-macro-0.14 (package - (name "rust-ouroboros") + (inherit rust-ouroboros-macro-0.15) + (name "rust-ouroboros-macro") (version "0.14.0") (source (origin (method url-fetch) + (uri (crate-uri "ouroboros_macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "11cav04x82liknlrv50lpl1i1ln2jw4isdqzdjnjsg0pcpvwik9r")))))) + +(define-public rust-ouroboros-0.15 + (package + (name "rust-ouroboros") + (version "0.15.2") + (source + (origin + (method url-fetch) (uri (crate-uri "ouroboros" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1ih1lna1d2is3a6aicmc7lpfhqmg046kssxpryk24kwg8j42ymh6")))) + (base32 "1qhd9cvc4hwdbr37da1jh0k0742slchixlxn4wxgc7g3l63yl9bl")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-aliasable" ,rust-aliasable-0.1) - ("rust-ouroboros-macro" ,rust-ouroboros-macro-0.14) + ("rust-ouroboros-macro" ,rust-ouroboros-macro-0.15) ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)))) (home-page "https://github.com/joshua-maros/ouroboros") (synopsis "Self-referential struct generation") @@ -40436,6 +40469,24 @@ platform-native strings.") "Easy, safe self-referential struct generation for Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-ouroboros-0.14 + (package + (inherit rust-ouroboros-0.15) + (name "rust-ouroboros") + (version "0.14.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ouroboros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1ih1lna1d2is3a6aicmc7lpfhqmg046kssxpryk24kwg8j42ymh6")))) + (arguments + `(#:cargo-inputs + (("rust-aliasable" ,rust-aliasable-0.1) + ("rust-ouroboros-macro" ,rust-ouroboros-macro-0.14) + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)))))) + (define-public rust-output-vt100-0.1 (package (name "rust-output-vt100") @@ -46269,8 +46320,34 @@ they were parsed from") @code{LC_COLLATE} and @code{LC_CTYPE} are not yet supported.") (license license:expat))) +(define-public rust-pyo3-build-config-0.16 + (package + (name "rust-pyo3-build-config") + (version "0.16.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "pyo3-build-config" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1j2jj5qnnpagi3gvkwjpydcxfsd5qv3vmpghnaqs7n1mdia5pdmm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-once-cell" ,rust-once-cell-1) + ("rust-python3-dll-a" ,rust-python3-dll-a-0.2) + ("rust-target-lexicon" ,rust-target-lexicon-0.12)))) + (native-inputs (list python)) ;for tests + (home-page "https://github.com/pyo3/pyo3") + (synopsis "Build configuration for PyO3") + (description + "This package contains build configuration helpers for the PyO3 +ecosystem.") + (license license:asl2.0))) + (define-public rust-pyo3-build-config-0.15 (package + (inherit rust-pyo3-build-config-0.16) (name "rust-pyo3-build-config") (version "0.15.1") (source @@ -46280,20 +46357,63 @@ they were parsed from") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0aw5zfqwzj5rzfxjyqvrqfam138d1009jh6kia4xrgdz538y9yfv")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)))) + (native-inputs '()))) + +(define-public rust-pyo3-ffi-0.16 + (package + (name "rust-pyo3-ffi") + (version "0.16.5") + (source (origin + (method url-fetch) + (uri (crate-uri "pyo3-ffi" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0avls4q393nmzhb124zg6kp5lj6xzy2f6qx564qa7b614xqs0xf2")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.16)))) (home-page "https://github.com/pyo3/pyo3") - (synopsis "Build configuration for PyO3") + (synopsis "Python API bindings for the PyO3 ecosystem") (description - "This package contains build configuration helpers for the PyO3 -ecosystem.") + "This crate provides Rust FFI declarations for Python 3.") + (license license:asl2.0))) + +(define-public rust-pyo3-macros-backend-0.16 + (package + (name "rust-pyo3-macros-backend") + (version "0.16.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "pyo3-macros-backend" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1bvzvdx2a6hhliny12n2vy7v7gbsgzanxjckjr1cbxbkizss1gak")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.16) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/pyo3/pyo3") + (synopsis "Code generation for PyO3") + (description + "This package provides code generation backends for PyO3.") (license license:asl2.0))) (define-public rust-pyo3-macros-backend-0.15 (package + (inherit rust-pyo3-macros-backend-0.16) (name "rust-pyo3-macros-backend") (version "0.15.1") (source @@ -46310,15 +46430,35 @@ ecosystem.") (("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.15) ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) + ("rust-syn" ,rust-syn-1)))))) + +(define-public rust-pyo3-macros-0.16 + (package + (name "rust-pyo3-macros") + (version "0.16.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "pyo3-macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1xwh7sl4n73746q80n5m5afd261zg0kxcqfnlr89ik7vbd4c8kr8")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.16) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) (home-page "https://github.com/pyo3/pyo3") - (synopsis "Code generation for PyO3") + (synopsis "Proc macros for PyO3") (description - "This package provides code generation backends for PyO3.") + "This package provides compiler macros for use with PyO3.") (license license:asl2.0))) (define-public rust-pyo3-macros-0.15 (package + (inherit rust-pyo3-macros-0.16) (name "rust-pyo3-macros") (version "0.15.1") (source @@ -46334,15 +46474,64 @@ ecosystem.") #:cargo-inputs (("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.15) ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) + ("rust-syn" ,rust-syn-1)))))) + +(define-public rust-pyo3-0.16 + (package + (name "rust-pyo3") + (version "0.16.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "pyo3" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1p5kjsj3jdw2gnahdjrzljmi93w3nxdp11qq8x3i80b0a3l04qqy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-eyre" ,rust-eyre-0.6) + ("rust-hashbrown" ,rust-hashbrown-0.11) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-indoc" ,rust-indoc-1) + ("rust-inventory" ,rust-inventory-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-num-bigint" ,rust-num-bigint-0.4) + ("rust-num-complex" ,rust-num-complex-0.4) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-paste" ,rust-paste-0.1) + ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.16) + ("rust-pyo3-ffi" ,rust-pyo3-ffi-0.16) + ("rust-pyo3-macros" ,rust-pyo3-macros-0.16) + ("rust-serde" ,rust-serde-1) + ("rust-unindent" ,rust-unindent-0.1)) + #:cargo-development-inputs + (("rust-assert-approx-eq" ,rust-assert-approx-eq-1) + ("rust-bitflags" ,rust-bitflags-1.2) + ("rust-criterion" ,rust-criterion-0.3) + ("rust-half" ,rust-half-1) + ("rust-proptest" ,rust-proptest-0.10) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-send-wrapper" ,rust-send-wrapper-0.5) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-trybuild" ,rust-trybuild-1) + ("rust-widestring" ,rust-widestring-0.5)) + ;; FIXME: fails to initialize Python interpreter. + #:tests? #f)) + (inputs (list python)) (home-page "https://github.com/pyo3/pyo3") - (synopsis "Proc macros for PyO3") + (synopsis "Rust bindings for the Python interpreter") (description - "This package provides compiler macros for use with PyO3.") + "This package provides Rust bindings for Python, including tools for +creating native Python extension modules. Running and interacting with +Python code from a Rust binary is also supported.") (license license:asl2.0))) (define-public rust-pyo3-0.15 (package + (inherit rust-pyo3-0.16) (name "rust-pyo3") (version "0.15.1") (source @@ -46388,15 +46577,29 @@ ecosystem.") ("rust-serde-json" ,rust-serde-json-1) ("rust-trybuild" ,rust-trybuild-1)) ;; FIXME: fails to initialize Python interpreter. - #:tests? #f)) - (inputs (list python)) - (home-page "https://github.com/pyo3/pyo3") - (synopsis "Rust bindings for the Python interpreter") + #:tests? #f)))) + +(define-public rust-python3-dll-a-0.2 + (package + (name "rust-python3-dll-a") + (version "0.2.5") + (source (origin + (method url-fetch) + (uri (crate-uri "python3-dll-a" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01k2nf4wq4f4xnaq3fy1gx12v10pndwmdrjq4x4pshhjxxnrpml9")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ;Windows-like targets only + #:cargo-inputs (("rust-cc" ,rust-cc-1)))) + (home-page "https://github.com/pyo3/python3-dll-a") + (synopsis "Python import library generator") (description - "This package provides Rust bindings for Python, including tools for -creating native Python extension modules. Running and interacting with -Python code from a Rust binary is also supported.") - (license license:asl2.0))) + "This crate generates import libraries for the Python shared library +for MinGW-w64 and MSVC (cross-)compile targets.") + (license license:expat))) (define-public rust-qstring-0.7 (package @@ -54504,17 +54707,17 @@ Semantic Versioning.") (base32 "18vhypw6zgccnrlm5ps1pwa0khz7ry927iznpr88b87cagr1v2iq")))))) -(define-public rust-send-wrapper-0.4 +(define-public rust-send-wrapper-0.5 (package (name "rust-send-wrapper") - (version "0.4.0") + (version "0.5.0") (source (origin (method url-fetch) (uri (crate-uri "send_wrapper" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1l7s28vfnwdbjyrrk3lx81jy4f0dcrv4iwyah2wj6vndxhqxaf7n")))) + (base32 "1mwbg1nv36d5kdjb0iwmprz24km0m8ck08dn59gdngqdc77hl34k")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t)) (home-page "https://github.com/thk1/send_wrapper") @@ -54527,6 +54730,20 @@ also have to make sure that the wrapper is dropped from within the original thread. If any of these constraints is violated, a panic occurs.") (license (list license:expat license:asl2.0)))) +(define-public rust-send-wrapper-0.4 + (package + (inherit rust-send-wrapper-0.5) + (name "rust-send-wrapper") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "send_wrapper" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1l7s28vfnwdbjyrrk3lx81jy4f0dcrv4iwyah2wj6vndxhqxaf7n")))) + (arguments `(#:skip-build? #t)))) + (define-public rust-seq-io-0.3 (package (name "rust-seq-io") @@ -71599,10 +71816,10 @@ terms of allowing LLVM's auto-vectorizer to do its job.") (("rust-bytemuck" ,rust-bytemuck-1)))) (license (list license:zlib)))) -(define-public rust-widestring-0.4 +(define-public rust-widestring-0.5 (package (name "rust-widestring") - (version "0.4.2") + (version "0.5.1") (source (origin (method url-fetch) @@ -71610,7 +71827,7 @@ terms of allowing LLVM's auto-vectorizer to do its job.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "13565qy4jhpg4x0xw8mwxzzsh0p8c93p5208lh6kpwp0q01y6qx7")))) + "10qrilijh1qzw362mvd4nsz3vv32dxx530vk41hkcx8hah22z20p")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs @@ -71624,6 +71841,23 @@ UTF-32 types are provided, including support for malformed encoding.") (license (list license:asl2.0 license:expat)))) +(define-public rust-widestring-0.4 + (package + (inherit rust-widestring-0.5) + (name "rust-widestring") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "widestring" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "13565qy4jhpg4x0xw8mwxzzsh0p8c93p5208lh6kpwp0q01y6qx7")))) + (arguments + `(#:cargo-development-inputs + (("rust-winapi" ,rust-winapi-0.3)))))) + (define-public rust-wild-2 (package (name "rust-wild") diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index bd5e06a9a5..4c8b9cd4d2 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -51,6 +51,7 @@ #:use-module (gnu packages tls) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix gexp) @@ -457,17 +458,33 @@ applications''. These must be installed separately.") (define-public cups-pk-helper (package (name "cups-pk-helper") - (version "0.2.6") + (version "0.2.7") (source (origin (method url-fetch) (uri (string-append "https://freedesktop.org/software/" name "/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "0a52jw6rm7lr5nbyksiia0rn7sasyb5cjqcb95z1wxm2yprgi6lm")))) - (build-system gnu-build-system) + "0cg8wbxpkz9bkpasz973cdazi02svqpbw9mafvpgrscg8kdhs1v6")))) + (build-system meson-build-system) + (arguments + ;; XXX The tests require a running D-Bus and CUPS daemon, of course. + (list #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-compatibility-symlink + ;; XXX Upstream (and, presumably, the world) has moved to + ;; /share/dbus-1 over /etc/dbus-1, but Guix System's + ;; dbus-configuration-directory has yet to catch up. + ;; TODO It should be properly fixed and this phase removed. + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion (assoc-ref outputs "out") + (mkdir-p "etc") + (symlink "../share/dbus-1" "etc/dbus-1"))))))) (native-inputs - (list intltool pkg-config glib polkit cups)) + (list intltool pkg-config `(,glib "bin"))) + (inputs + (list glib polkit cups-minimal)) (home-page "https://www.freedesktop.org/wiki/Software/cups-pk-helper/") (synopsis "PolicyKit helper to configure CUPS with fine-grained privileges") (description @@ -846,7 +863,7 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.") (define-public epson-inkjet-printer-escpr (package (name "epson-inkjet-printer-escpr") - (version "1.7.18") + (version "1.7.21") ;; XXX: This currently works. But it will break as soon as a newer ;; version is available since the URLs for older versions are not ;; preserved. An alternative source will be added as soon as @@ -854,11 +871,11 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.") (source (origin (method url-fetch) - (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/13/43/" - "81/cbdd80826424935cef20d16be8ee5851388977a7/" - "epson-inkjet-printer-escpr-1.7.18-1lsb3.2.tar.gz")) + (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/13/77/" + "93/e85dc2dc266e96fdc242bd95758bd88d1a51963e/" + "epson-inkjet-printer-escpr-1.7.21-1lsb3.2.tar.gz")) (sha256 - (base32 "06pa47rl1gy19bg3fsp4a4y9vdy4ya2maajm14n791ivhf2hcwyh")))) + (base32 "0z1x9p58321plf2swfxgl72wn7ls8bfbyjwd9l9c8jxfr1v2skkz")))) (build-system gnu-build-system) (arguments (list #:modules diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index ad425cb617..7002aedd05 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -481,14 +481,14 @@ mapping from string keys to string values.") (define-public memcached (package (name "memcached") - (version "1.6.15") + (version "1.6.16") (source (origin (method url-fetch) (uri (string-append "https://memcached.org/files/memcached-" version ".tar.gz")) (sha256 - (base32 "05fmds73hr71bha9gszjfp02lgyacqfyyhkgl6xysy4kchyvwyld")))) + (base32 "1nilmfhy8hc7zzlihnx3hmiqf7siyrpgz2g5s3r3l36xy4xsjl9h")))) (build-system gnu-build-system) (inputs (list libevent cyrus-sasl)) @@ -699,6 +699,38 @@ auto-completion and syntax highlighting.") \"special\", or \"backslash commands\") on PostgreSQL.") (license license:bsd-3))) +(define-public python-sqlitedict + (package + (name "python-sqlitedict") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "sqlitedict" version)) + (sha256 + (base32 + "05sxy016k3p5sjjhdg0ad9z15i6vm3rq4cr9m8nrc7jfdx0p18r3")))) + (build-system python-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv" + "-k" + ;; No idea why these fail. + (string-append "not test_py24_error" + " and not test_tablenames")))))))) + (native-inputs (list python-pytest)) + (home-page "https://github.com/piskvorky/sqlitedict") + (synopsis "Persistent dict backed up by sqlite3 and pickle") + (description + "This package provides a lightweight wrapper around the sqlite3 database +with a simple, Pythonic @code{dict}-like interface and support for +multi-thread access.") + (license license:asl2.0))) + (define-public pgcli (package (name "pgcli") @@ -1489,8 +1521,6 @@ CSV, DB3, iXF, SQLite, MS-SQL or MySQL to PostgreSQL.") (sha256 (base32 "1ry8lxgdc1p3k7gbw20r405jqi5lvhi5wk83kxdbiv8xv3f5kh6q")))) (build-system python-build-system) - (native-inputs - (list python-unittest2)) (inputs (list python-cryptography)) (arguments @@ -3510,44 +3540,37 @@ PickleShare.") (define-public python-apsw (package (name "python-apsw") - (version "3.36.0-r1") + (version "3.39.2.0") (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/rogerbinns/apsw/releases" - "/download/" version "/apsw-" version ".zip")) - (sha256 - (base32 - "0w8q73147hv77dlpqrx6h1gx03acc8xqhvdpfp6vkffdm0wmqd8p")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rogerbinns/apsw") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0q7fnk8n3m5mpjzh6xyhj409k8sacdbjsfis98my9c50fdn5sr7y")))) (build-system python-build-system) - (native-inputs - (list unzip)) - (inputs - (list sqlite)) + (inputs (list sqlite)) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'build - (lambda _ - (invoke "python" "setup.py" "build" "--enable-all-extensions" - "--enable=load_extension") - #t)) - (add-after 'build 'build-test-helper - (lambda _ - (invoke "gcc" "-fPIC" "-shared" "-o" "./testextension.sqlext" - "-I." "-Isqlite3" "src/testextension.c") - #t)) - (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - (invoke "python" "setup.py" "test") - #t))))) + (list #:phases + #~(modify-phases %standard-phases + (replace 'build + (lambda _ + (invoke "python" "setup.py" "build" "--enable-all-extensions" + "--enable=load_extension"))) + (add-after 'build 'build-test-helper + (lambda _ + (invoke "gcc" "-fPIC" "-shared" "-o" "./testextension.sqlext" + "-I." "-Isqlite3" "src/testextension.c")))))) (home-page "https://github.com/rogerbinns/apsw/") (synopsis "Another Python SQLite Wrapper") - (description "APSW is a Python wrapper for the SQLite -embedded relational database engine. In contrast to other wrappers such as -pysqlite it focuses on being a minimal layer over SQLite attempting just to -translate the complete SQLite API into Python.") + (description + "APSW is a Python wrapper for the SQLite embedded relational database +engine. In contrast to other wrappers such as pysqlite it focuses on being a +minimal layer over SQLite attempting just to translate the complete SQLite API +into Python.") (license license:zlib))) (define-public python-aiosqlite @@ -3931,7 +3954,7 @@ reasonable substitute.") (define-public python-rq (package (name "python-rq") - (version "1.5.2") + (version "1.11") (source (origin (method git-fetch) @@ -3940,7 +3963,7 @@ reasonable substitute.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0ikqmpq0g1qiqwd7ar1286l4hqjb6aj2wr844gihhb8ijzwhp8va")))) + (base32 "1dj3m8dh9vf1qiq1drjhfw5xbr975v1kpzn4fwja83cfd7jrpzvy")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -3957,7 +3980,7 @@ reasonable substitute.") (getenv "PATH"))) (invoke "pytest" "-vv"))))))) (native-inputs - (list python-mock python-pytest redis)) + (list python-mock python-psutil python-pytest redis)) (propagated-inputs (list python-click python-redis)) (home-page "https://python-rq.org/") @@ -4757,9 +4780,9 @@ a Gtk.Grid Widget.") sqlite)) (native-inputs (list qttools-5)) (home-page "https://sqlitebrowser.org/") - (synopsis "Database browser for SQLite") - (description "Sqlitebrowser is a high quaility, visual, open source tool to -create design, and edit database file compatible with SQLite.") + (synopsis "Visual database browser and editor for SQLite") + (description "Sqlitebrowser lets you create, design, and edit database files +compatible with SQLite using a graphical user interface.") (license ;; dual license (list license:gpl3+ diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index 5ff09393b9..67b66be38d 100644 --- a/gnu/packages/debian.scm +++ b/gnu/packages/debian.scm @@ -331,9 +331,9 @@ debian/copyright for more information."))))) (home-page "http://apt-mirror.github.io/") (synopsis "Script for mirroring a Debian repository") (description - "apt-mirror is a small tool that provides the ability to -selectively mirror Debian and Ubuntu GNU/Linux distributions or any -other apt sources typically provided by open source developers.") + "apt-mirror is a small tool that provides the ability to selectively +mirror @acronym{APT, advanced package tool} sources, including GNU/Linux +distributions such as Debian and Trisquel.") (license license:gpl2)))) (define-public dpkg diff --git a/gnu/packages/dezyne.scm b/gnu/packages/dezyne.scm index 5b79f0883a..413da49ece 100644 --- a/gnu/packages/dezyne.scm +++ b/gnu/packages/dezyne.scm @@ -31,14 +31,14 @@ (define-public dezyne (package (name "dezyne") - (version "2.15.4") + (version "2.16.0") (source (origin (method url-fetch) (uri (string-append "https://dezyne.org/download/dezyne/" name "-" version ".tar.gz")) (sha256 - (base32 "0d0jnnb3pgmspsz5qbgf33wsav5yp8wb45igns1sfinaz743n870")))) + (base32 "1x14jpv89dmrldar9g8pighbm68pvm4fvxz81mhjkimgf7kb4hbd")))) (inputs (list bash-minimal guile-3.0-latest guile-json-4 diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 5648c03a3e..adc68d6af6 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -74,7 +74,7 @@ (define-public diffoscope (package (name "diffoscope") - (version "220") + (version "221") (source (origin (method git-fetch) @@ -83,7 +83,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0lkwbyf1z93skgqp1w4p0d7y8wwqf0bs53i43micwaq8p8xjs1ph")) + (base32 "0b89hygd4m18p3wcx7haz0kwx7gn7irjswxz29lv8sb2r1vqq4za")) (patches (search-patches "diffoscope-fix-llvm-test.patch")))) (build-system python-build-system) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index a6521eafb5..e4dd8365f8 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -140,7 +140,7 @@ protocol.") (define-public ldns (package (name "ldns") - (version "1.8.1") + (version "1.8.3") (source (origin (method url-fetch) @@ -148,7 +148,7 @@ protocol.") (string-append "https://www.nlnetlabs.nl/downloads/" "ldns/ldns-" version ".tar.gz")) (sha256 - (base32 "18vzdmyg9bm45janw602d4hifjsncrv143awlwcslfjdrsmjk0lm")) + (base32 "0q3q1svyxpj2g5wdkfy1ndb14m9fzffwyskflpihfabb0g8jvxy3")) (patches (search-patches ;; To create make-flag variables, @@ -333,14 +333,14 @@ and BOOTP/TFTP for network booting of diskless machines.") ;; When updating, check whether isc-dhcp's bundled copy should be as well. ;; The BIND release notes are available here: ;; https://www.isc.org/bind/ - (version "9.16.31") + (version "9.16.32") (source (origin (method url-fetch) (uri (string-append "https://ftp.isc.org/isc/bind9/" version "/bind-" version ".tar.xz")) (sha256 - (base32 "1yvwdvcyy996p50j7nr4b010w16jjj5czw15g87wf1dn6xncp8lc")) + (base32 "0w2rcjxqnbhwzgsdsas36dadjq0qn6s1xjx4g4qk0ph2nvf4gj9j")) (patches (search-patches "bind-re-add-attr-constructor-priority.patch")))) (build-system gnu-build-system) @@ -871,7 +871,7 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "3.1.8") + (version "3.1.9") (source (origin (method git-fetch) @@ -880,7 +880,7 @@ Extensions} (DNSSEC).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0v3rh27qnyihdqp5nm8bnn9xd5rl2fbwhj4cmdpc8ik4qs21xyf4")) + (base32 "0w3jyz9qgkb34gkv2lr71phk5ad3rycn86qyw7n88ryhdsk45j73")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index 4e0612a460..ab54041320 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -341,12 +341,12 @@ additional metadata about the object to which the docstring belongs.") (list intltool)) (home-page "http://scrollkeeper.sourceforge.net/") (synopsis "Open Documentation Cataloging Project") - (description "ScrollKeeper is a cataloging system for documentation on open -systems. It manages documentation metadata as specified by the Open Source -Metadata Framework and provides a simple API to allow help browsers to find, -sort, and search the document catalog. It will also be able to communicate -with catalog servers on the Net to search for documents which are not on the -local system.") + (description + "ScrollKeeper is a cataloging system for documentation. It manages +documentation metadata as specified by the Open Source Metadata Framework and +provides a simple API to allow help browsers to find, sort, and search the +document catalog. It will also be able to communicate with catalog servers on +the Net to search for documents which are not on the local system.") (license lgpl2.1+))) (define-public zeal diff --git a/gnu/packages/dunst.scm b/gnu/packages/dunst.scm index 35df682d46..0855e45084 100644 --- a/gnu/packages/dunst.scm +++ b/gnu/packages/dunst.scm @@ -41,7 +41,7 @@ (define-public dunst (package (name "dunst") - (version "1.8.1") + (version "1.9.0") (source (origin (method git-fetch) (uri (git-reference @@ -50,7 +50,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "19bh5789whlc0n5wbyx3yx8px93hccn42f1p6i1dz96hdkk5mjb8")))) + "1nfxf2rahngxpy606yrizrz16d0pswl5sa9jfzpv7h19x6xy24vx")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index ccc0bdf88d..c3a27cb113 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -518,7 +518,7 @@ following formats: (define-public cozy (package (name "cozy") - (version "1.2.0") + (version "1.2.1") (source (origin (method git-fetch) @@ -527,7 +527,7 @@ following formats: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0igqf9b77i13sxlk4ziw549h379hmz1slrb3vvf8irk94gxabsaw")))) + (base32 "0qky885fl63d5ih5d3rggm8rhp00sk6lny26qljyz3gga8n9y6ki")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 3c1d322db3..379c5fb22c 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -49,7 +49,7 @@ ;;; Copyright © 2019, 2020, 2021 Joseph LaFreniere <joseph@lafreniere.xyz> ;;; Copyright © 2019 Todor Kondić <tk.code@protonmail.com>15669 ;;; Copyright © 2019 Amar Singh <nly@disroot.org> -;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr> +;;; Copyright © 2019, 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk> ;;; Copyright © 2019, 2020 Amin Bandali <bandali@gnu.org> @@ -250,7 +250,7 @@ (define-public emacs-geiser (package (name "emacs-geiser") - (version "0.23.2") + (version "0.26") (source (origin (method git-fetch) @@ -259,7 +259,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0p5cwx0xwva4ajgj8hnrk8bx6n3hv1z7aqs4zivp81crnq4077yw")))) + (base32 "1pm33zlcq84h61xhplmrlicckrax1pv39zrmv8ryzhi9mqrb6bdg")))) (build-system emacs-build-system) (arguments '(#:phases @@ -328,7 +328,7 @@ e.g. emacs-geiser-guile for Guile.") (("\\(geiser-activate-implementation .*\\)" all) (string-append "(eval-after-load 'geiser-impl '" all ")")))))))) - (inputs (list guile-3.0)) + (inputs (list guile-3.0-latest)) (propagated-inputs (list emacs-geiser)) (home-page "https://www.nongnu.org/geiser/") (synopsis "Guile Scheme support for Geiser") @@ -642,6 +642,25 @@ outlines, manage all your contacts, your windows and frames, and search across buffers, directory trees, or the web.") (license license:gpl3+))) +(define-public emacs-vlf + (package + (name "emacs-vlf") + (version "1.7.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "vlf-" version ".tar")) + (sha256 + (base32 "0hpri19z6b7dqmrj5ckp8sf0m0l72lkgahqzvfmwhgpgv2p81bny")))) + (build-system emacs-build-system) + (home-page "https://github.com/m00natic/vlfi/") + (synopsis "View large files in Emacs") + (description +"Vlf is an Emacs minor mode that allows viewing, editing, searching and +comparing large files in batches.") + (license license:gpl2+))) + (define-public emacs-hg-histedit ;; From 2021-03-02. ;; No releases available. @@ -2881,7 +2900,7 @@ while paused.") (package (name "emacs-async") (home-page "https://github.com/jwiegley/emacs-async") - (version "1.9.4") + (version "1.9.6") (source (origin (method git-fetch) (uri (git-reference @@ -2890,7 +2909,7 @@ while paused.") (file-name (git-file-name name version)) (sha256 (base32 - "0hhpyxb3d531jb2f3wvzx25183f0anm8nxv6mh0p825q2gkm6ly7")))) + "1q480ss2jgijdpy6pa4xrjni9pf5q6dwf8hv052fhdpi55bmfdn2")))) (build-system emacs-build-system) (synopsis "Asynchronous processing in Emacs") (description @@ -2961,7 +2980,7 @@ or XEmacs.") (define-public emacs-autothemer (package (name "emacs-autothemer") - (version "0.2.2") + (version "0.2.9") (source (origin (method git-fetch) @@ -2971,7 +2990,7 @@ or XEmacs.") (file-name (git-file-name name version)) (sha256 (base32 - "0cd2pqh6k32sjidkcd8682y4l6mx52xw4a05f38kk8nsrk28m74k")))) + "1p7ii7f0w607zxyqnr8ivi0n0sg2p93pi6dpd9kjqywdagqyrnw1")))) (build-system emacs-build-system) (propagated-inputs (list emacs-dash)) @@ -3162,7 +3181,7 @@ Its features are: (define-public emacs-citeproc-el (package (name "emacs-citeproc-el") - (version "0.9") + (version "0.9.1") (source (origin (method git-fetch) @@ -3171,7 +3190,7 @@ Its features are: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1m5j1abyk68f3d1v781yrx2xkg42vyfgfckbj2yk2lgk6d7rz0p1")))) + (base32 "0rkwqn9pcimfcyq19wlrcij0kcjyhbwisla7vwbhjj8ang0bq9rm")))) (build-system emacs-build-system) (arguments `(#:emacs ,emacs)) ;need libxml support @@ -4300,6 +4319,34 @@ which is restored where possible when the file is loaded again.") strings.") (license license:gpl3+))) +(define-public emacs-blight + (let ((commit "6bf9c6192d2bf979eebbfae1963401ef3ff4ef5d") + (revision "0")) + (package + (name "emacs-blight") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/blight") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1x7s1fcva5kkl9iyb5grd6crf38rrz3zb0c6wb85khi9far10vgq")))) + (build-system emacs-build-system) + (home-page "https://codeberg.org/emacs-weirdware/blight") + (synopsis "Control display brightness") + (description + "Blight allows you to control display brightness from Emacs. It +features object-oriented code using EIEIO, a base class implementing +a reasonable API which focuses on the @emph{set the back light to this +percentage} functionality, it includes a concrete implementation that uses +SysFS to control brightness. Other systems (D-Bus, xbacklight, XELB using +XRandR) are easily supportable, giving the same experience across +environments.") + (license license:gpl3+)))) + (define-public emacs-symon (package (name "emacs-symon") @@ -4320,6 +4367,35 @@ strings.") "Tiny graphical system monitor for the Emacs minibuffer when idle.") (license license:gpl2+))) +(define-public emacs-lemon + (let ((commit "37a6e6d6ef0900ca19c820a2dbc122c7fe6d86cf") + (revision "0")) + (package + (name "emacs-lemon") + (version (git-version "2.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/emacs-weirdware/lemon") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bc77vzi4p6mlzmhgybbldlpcsiiv4xqrd5lnc7wzvmxv8byhqpm")))) + (build-system emacs-build-system) + (native-inputs + (list emacs-blight emacs-emms)) + (propagated-inputs + (list emacs-s)) + (home-page "https://codeberg.org/emacs-weirdware/lemon") + (synopsis "System monitors in the echo area") + (description + "Lemon is a tiny system monitor which displays system information in +the echo area when Emacs is has been idle for a few seconds. This is a fork +of zk_phi’s Symon, which has been largely rewritten. It works nicely with +EXWM.") + (license license:gpl3+)))) + (define-public emacs-sx (let ((version "20191229") (revision "0") @@ -6629,14 +6705,14 @@ src blocks.") (define-public emacs-debbugs (package (name "emacs-debbugs") - (version "0.32") + (version "0.33") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/debbugs-" version ".tar")) (sha256 - (base32 "1xp3mj3ndaljma0g7x9abziphgi2a6j8k1v52sb8xwgn4p5gdvby")))) + (base32 "1s4p3jf9yrm8pn5pljpkrw05n2p9v6fpl141rh1df7f7l0w80qbk")))) (build-system emacs-build-system) (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$"))) (propagated-inputs @@ -8708,7 +8784,7 @@ built-in custom themes.") (define-public emacs-gruvbox-theme (package (name "emacs-gruvbox-theme") - (version "1.29.0") + (version "1.30.0") (source (origin (method git-fetch) (uri (git-reference @@ -8717,7 +8793,7 @@ built-in custom themes.") (file-name (git-file-name name version)) (sha256 (base32 - "0ydwr2l3jhqbs3gk5qajirl54vfb8i65qrlzrs04jnsj1pkzq5xa")))) + "1dzaivis9cpqzb53qmkmhijr5l4hl2l3yr2412jxrz2jmqi3q4c5")))) (build-system emacs-build-system) (propagated-inputs (list emacs-autothemer)) @@ -9086,6 +9162,28 @@ Emacs completion function completing-read, which allows quickly selecting from a list of candidates.") (license license:gpl3+))) +(define-public emacs-consult-bibtex + ;; XXX: Upstream contains a single commit, which matches the version below. + (let ((commit "2f870d6eefb54a53216d90a82cff0ff97ba54725")) + (package + (name "emacs-consult-bibtex") + (version "0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mohkale/consult-bibtex") + (commit commit))) + (sha256 + (base32 + "0jxjvpg3j8zk77sfhyy27fd1zbj2zz7xayavan3hhj4853q92kwq")))) + (build-system emacs-build-system) + (inputs (list emacs-consult emacs-embark emacs-org-roam-bibtex)) + (home-page "https://github.com/mohkale/consult-bibtex") + (synopsis "Consulting-read interface for BibTeX completion") + (description "This package provides a read interface for BibTeX +completion using Consult.") + (license license:gpl3+)))) + (define-public emacs-consult-dir (package (name "emacs-consult-dir") @@ -9155,6 +9253,31 @@ provides a front-end interface for the workspace/symbols LSP procedure call.") (license license:gpl3+))) +(define-public emacs-consult-yasnippet + (let ((commit "ae0450889484f23dc4ec37518852a2c61b89f184") + (revision "0")) + (package + (name "emacs-consult-yasnippet") + (version (git-version "0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mohkale/consult-yasnippet") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13hmmsnmh32vafws61sckzzy354rq0nslqpyzhw97iwvn0fpsa35")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-consult emacs-yasnippet)) + (home-page "https://github.com/mohkale/consult-yasnippet") + (synopsis "Consulting-read interface for Yasnippet") + (description + "This package allows you to expand Yasnippet' snippets through +a completing-read interface. It supports previewing the current snippet +expansion and overwriting the marked region with a new snippet completion.") + (license license:gpl3+)))) + (define-public emacs-marginalia (package (name "emacs-marginalia") @@ -10503,14 +10626,14 @@ as Fuseki or DBPedia.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/technomancy/better-defaults") + (url "https://git.sr.ht/~technomancy/better-defaults") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1rxznx2l0cdpiz8mad8s6q17m1fngpgb1cki7ch6yh18r3qz8ysr")))) (build-system emacs-build-system) - (home-page "https://github.com/technomancy/better-defaults") + (home-page "https://git.sr.ht/~technomancy/better-defaults") (synopsis "Better defaults for Emacs") (description "Better defaults attempts to address the most obvious deficiencies of the @@ -13618,10 +13741,35 @@ provides functions to convert hash tables from and to alists and plists.") you to deal with multiple log levels.") (license license:gpl3+))) +(define-public emacs-denote + (package + (name "emacs-denote") + (version "0.5.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~protesilaos/denote") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00f50dhw0x1hn87rc6vkrdwpybnbphg5z0g2c6c4r4cbgaiia8bi")))) + (build-system emacs-build-system) + (native-inputs (list texinfo)) + (home-page "https://protesilaos.com/emacs/denote/") + (synopsis "Simple notes for Emacs") + (description +"Denote is a simple note-taking tool for Emacs. It is based on the idea that +notes should follow a predictable and descriptive file-naming scheme. The +file name must offer a clear indication of what the note is about, without +reference to any other metadata. Denote basically streamlines the creation of +such files while providing facilities to link between them.") + (license license:gpl3+))) + (define-public emacs-logos (package (name "emacs-logos") - (version "0.3.1") + (version "0.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -13630,7 +13778,7 @@ you to deal with multiple log levels.") (file-name (git-file-name name version)) (sha256 (base32 - "1xhnhaxmjqdv0bbh22gj9ak83hha8d59q64b6aa4rynrgcyajk45")))) + "1f40h8kbmza2rgmz84rgwbb4bwqkbfxnc3sc7gqshvxdkz3flbb7")))) (native-inputs (list texinfo)) (build-system emacs-build-system) (arguments @@ -13654,6 +13802,40 @@ structure, or any other pattern.") (license (list license:gpl3+ license:fdl1.3+)))) ; GFDLv1.3+ for the manual +(define-public emacs-tmr + (package + (name "emacs-tmr") + (version "0.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~protesilaos/tmr") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vz9zfqap221baiy41wpxph33g6h2plnanzgpjs0wk8dz1fpwfky")))) + (build-system emacs-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-ffplay + (lambda* (#:key inputs #:allow-other-keys) + (let ((ffplay (search-input-file inputs "/bin/ffplay"))) + (make-file-writable "tmr.el") + (substitute* "tmr.el" + (("\"ffplay") + (string-append "\"" ffplay))))))))) + (native-inputs (list texinfo)) + (inputs (list ffmpeg)) + (home-page "https://protesilaos.com/emacs/tmr/") + (synopsis "Set timers using a convenient notation") + (description + "TMR is an Emacs package that provides facilities for setting timers +using a convenient notation.") + (license license:gpl3+))) + (define-public emacs-gn-mode (package (name "emacs-gn-mode") @@ -14944,7 +15126,7 @@ letter of Pinyin to Simplified/Traditional Chinese characters.") (define-public emacs-reverse-im (package (name "emacs-reverse-im") - (version "0.0.7") + (version "0.0.8") (source (origin (method git-fetch) @@ -14953,7 +15135,7 @@ letter of Pinyin to Simplified/Traditional Chinese characters.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "05k2zp2hldzq5h6nl8gx79dd8lvfn507ad4x3naichdqgn2013nn")))) + (base32 "1h4gpyqir0kqf6a7ni8dbqwd4mr33imay0fmprrpfpfqxj0lj7c1")))) (build-system emacs-build-system) (home-page "https://github.com/a13/reverse-im.el") (synopsis "Reverse mapping for non-default system layouts") @@ -14962,6 +15144,31 @@ letter of Pinyin to Simplified/Traditional Chinese characters.") methods from a given list.") (license license:gpl3+))) +(define-public emacs-mini-frame + (let ((commit "60838f3cab438dcbda8eaa15ab3e5d1af88910e9") + (revision "0")) + (package + (name "emacs-mini-frame") + (version (git-version "1.19" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/muffinmad/emacs-mini-frame.git") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "0q01iymz657bg3mcmq7vcl8r0ypsa1pqj1p6gxs7ywx1d33lan4d")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (home-page "https://github.com/muffinmad/emacs-mini-frame") + (synopsis "Show minibuffer in child frame") + (description + "@dfn{mini-frame-mode} adds an advice around @code{read-from-minibuffer} +to show the minibuffer as a child frame on top of the current frame. +@code{find-file} and similar functions associated mini-buffers may appear at +the center of the screen and not at the bottom.") + (license license:gpl3+)))) + (define-public emacs-posframe (package (name "emacs-posframe") @@ -18673,7 +18880,7 @@ according to a parsing expression grammar.") (define-public emacs-eldev (package (name "emacs-eldev") - (version "1.1.3") + (version "1.2.1") (source (origin (method git-fetch) @@ -18682,7 +18889,7 @@ according to a parsing expression grammar.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1dgbwaar8l8nl79mlzf5g1n49f1j9yj4772yfmim9vv8ppxnzbqk")))) + (base32 "1zf3vrk9yw4f4fj31g3vphjd3rhr2hv3q2crkdsgi7z5xlb8frds")))) (build-system emacs-build-system) (arguments (list @@ -18820,7 +19027,7 @@ Chinese to English.") (define-public emacs-org-auto-tangle (package (name "emacs-org-auto-tangle") - (version "0.4.1") + (version "0.6.0") (source (origin (method git-fetch) (uri (git-reference @@ -18829,7 +19036,7 @@ Chinese to English.") (file-name (git-file-name name version)) (sha256 (base32 - "1zb7vcmhmjiqpbbhqrqci689rnpn10p985cs5jk9sgg66xsbrgs3")))) + "1kn1jsbv97ps280lcdx19d6hs7pvz7q9ng67xlb1kwjb680pa7rl")))) (build-system emacs-build-system) (propagated-inputs (list emacs-async)) (home-page "https://github.com/yilkalargaw/org-auto-tangle") @@ -18942,7 +19149,7 @@ automatically fetched from well-curated sources, and formatted as BibTeX.") (define-public emacs-citar (package (name "emacs-citar") - (version "0.9.7") + (version "1.0") (source (origin (method git-fetch) (uri (git-reference @@ -18951,7 +19158,7 @@ automatically fetched from well-curated sources, and formatted as BibTeX.") (file-name (git-file-name name version)) (sha256 (base32 - "1f49l1zmy4fnz75b0m2rav5jm8yp6hry44bv9xasiszyy3bn0hv8")))) + "1n69lkp7298gasm9hlbx9nhgp9ggh8w8ffyvi1rmbj96lcnpsyi9")))) (build-system emacs-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -18980,6 +19187,36 @@ With Embark, it also makes available at-point actions in Org citations.") (license license:gpl3+))) +(define-public emacs-citar-org-roam + (package + (name "emacs-citar-org-roam") + (version "0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-citar/citar-org-roam") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ldfs7g7ixnrwj23draiph4vy6xq7qgw18vhi7vbw6wvkh9fcv9r")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-org-roam emacs-citar)) + (home-page "https://github.com/emacs-citar/citar-org-roam") + (synopsis "Emacs pacakge to provide tighter Citar and Org-Roam integration") + (description "\ +Out-of-box, Citar provides default support for file-per-note bibliographic +notes that are compatible with Org-Roam v2. This package integrates directly +with the Org-Roam database, and provides the following additional features to +Citar note support: +@itemize +@item multiple references per note +@item multiple reference notes per file +@item ability to query note citations by reference +@item ``live'' updating of Citar UI for presence of notes +@end itemize") + (license license:gpl3))) + (define-public emacs-helm-bibtex (let ((commit "aa775340ba691d2322948bfdc6a88158568a1399") (revision "3")) @@ -19333,7 +19570,7 @@ navigate and display hierarchy structures.") (define-public emacs-pulsar (package (name "emacs-pulsar") - (version "0.3.0") + (version "0.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -19342,7 +19579,7 @@ navigate and display hierarchy structures.") (file-name (git-file-name name version)) (sha256 (base32 - "09s1r9zqc28g75jjxajdm34ni4m7gynh0xsffy5d60c50igiqa94")))) + "05ig8p3y5k20w4xy0ahaml9z0i0xyw6fkypzvz0mjpldhxl7dbxd")))) (native-inputs (list texinfo)) (build-system emacs-build-system) (arguments @@ -19520,8 +19757,8 @@ never confused by comments or @code{foo-bar} matching @code{foo}.") (define-public emacs-crdt ;; XXX: Upstream does not always tag new releases. The commit below ;; corresponds exactly to latest version bump. - (let ((commit "77be6cded0e2d24fc9c132032ae3bf7ae8ed2cf9") - (version "0.3.0")) + (let ((commit "2feb88ea9a2589946014878790af585cad9f28fc") + (version "0.3.2")) (package (name "emacs-crdt") (version version) @@ -19533,7 +19770,7 @@ never confused by comments or @code{foo-bar} matching @code{foo}.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0irf2allz7bp696nqlgg70ma6n336bspz8794bff1s1pramrzlhz")))) + (base32 "1fc98kl5qm7h5hrd70g61zzbdinnbf0zvk9rghf6w78ndp6lv7fz")))) (build-system emacs-build-system) (home-page "https://code.librehq.com/qhong/crdt.el") (synopsis "Real-time collaborative editing environment") @@ -20309,7 +20546,7 @@ powerful Org contents.") (define-public emacs-org-re-reveal (package (name "emacs-org-re-reveal") - (version "3.14.1") + (version "3.15.0") (source (origin (method git-fetch) @@ -20318,7 +20555,7 @@ powerful Org contents.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "180dn5iywarljbmx8lm61y30n2d800kg96psrvc8ghfglnvp6964")))) + (base32 "0mn7qn80289gizvnxyjjs00b7qmlf0692kai7qgzgfj6i87pjc38")))) (build-system emacs-build-system) (propagated-inputs (list emacs-htmlize emacs-org)) @@ -23033,7 +23270,7 @@ source code.") (define-public emacs-rustic (package (name "emacs-rustic") - (version "3.2") + (version "3.3") (source (origin (method git-fetch) @@ -23042,7 +23279,7 @@ source code.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "000awxvnwxg2hmhhn6yd9pnvflr91npfs2v1p5y7hcwg1d6mmvgk")))) + (base32 "088g6arlbq7czxyg5f31zmcm0gla7qh4vapaaskf6866yyqhizvb")))) (build-system emacs-build-system) (propagated-inputs (list emacs-dash @@ -23999,7 +24236,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)") (define-public emacs-buttercup (package (name "emacs-buttercup") - (version "1.25") + (version "1.26") (source (origin (method git-fetch) @@ -24009,18 +24246,18 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)") (file-name (git-file-name name version)) (sha256 (base32 - "0fsysvsypda6b7azc15bpaprq3bwx4gb6rlq2mj6f8rgwdqc8153")))) + "1zr9lczdr9dfh99n079d5advxm9p32a8f984dx14f3jn5mx750b1")))) (build-system emacs-build-system) (arguments - `(#:tests? #t - #:test-command '("make" "test") - #:phases - (modify-phases %standard-phases - (add-after 'install 'install-bin - (lambda* (#:key outputs #:allow-other-keys) - (install-file "bin/buttercup" - (string-append (assoc-ref outputs "out") "/bin")) - #t))))) + (list + #:tests? #t + #:test-command #~(list "make" "test") + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-bin + (lambda _ + (install-file "bin/buttercup" + (string-append #$output "/bin"))))))) (home-page "https://github.com/jorgenschaefer/emacs-buttercup") (synopsis "Behavior driven emacs lisp testing framework") (description "Buttercup is a behavior-driven development framework for @@ -25089,7 +25326,7 @@ constant expressions.") (define-public emacs-dockerfile-mode (package (name "emacs-dockerfile-mode") - (version "1.6") + (version "1.7") (source (origin (method git-fetch) @@ -25099,7 +25336,7 @@ constant expressions.") (file-name (git-file-name name version)) (sha256 (base32 - "0nmybfc9qch0jng06qgs2xb41dl9v52ckc9nc20d7hv3x36w555x")))) + "0hmzwh8m72rj6cwaxfypnv3fmjrs11iqr15vsdw1rw7m55xi675f")))) (build-system emacs-build-system) (propagated-inputs (list emacs-s)) @@ -27962,6 +28199,29 @@ It can also be useful on Unix-like platforms to delay having to enter your passphrase until the first time you push to a remote.") (license license:gpl3+))) +(define-public emacs-super-save + (package + (name "emacs-super-save") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bbatsov/super-save") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "066fyg4r4pksyandpd7s53hagpvm2rw90q5ks4jlpgy7x00hw09l")))) + (build-system emacs-build-system) + (home-page "https://github.com/bbatsov/super-save") + (synopsis "Auto-save buffers, based on your activity") + (description "Super-save auto-saves your buffers, when certain events +happen, e.g., when you switch between buffers or when an Emacs frame loses +focus. You can think of it as both something that augments and replaces the +standard Auto-save mode.") + (license license:gpl3+))) + (define-public emacs-tao-theme (let ((commit "468ee4f6ba7afb9dbfc8855ae2c333cb16ca4408") (revision "1")) @@ -28081,7 +28341,7 @@ Emacs that integrate with major modes like Org-mode.") (define-public emacs-modus-themes (package (name "emacs-modus-themes") - (version "2.5.0") + (version "2.6.0") (source (origin (method git-fetch) @@ -28090,7 +28350,7 @@ Emacs that integrate with major modes like Org-mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0ng85240zabw87ac53xnrlrafp10ns5wn6dgv9d1jxvnq40p7zqz")))) + (base32 "1zl1gd3jlkanjmlsxmwhqaiwyblp6kzznfjnw9cq8ah2390y9n1c")))) (native-inputs (list texinfo)) (build-system emacs-build-system) (arguments @@ -28147,7 +28407,7 @@ color. Designed for 256-color terminals. Comes in light and dark!") (define-public emacs-spacemacs-theme (package (name "emacs-spacemacs-theme") - (version "0.2") + (version "0.3") (source (origin (method git-fetch) @@ -28156,7 +28416,7 @@ color. Designed for 256-color terminals. Comes in light and dark!") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "15l9hb8f08nkxsaj8pxbg2mip4pp2msnrl0nvlq22zg40gh7pqsn")))) + (base32 "1yz8xg9ni9290nly5b93djkzk9235q6k4lhb5ghs6snr0r39157n")))) (build-system emacs-build-system) (home-page "https://github.com/nashamri/spacemacs-theme") (synopsis @@ -29432,6 +29692,27 @@ text, such a marking style might be used to show externally included text or example code.") (license license:gpl3+))) +(define-public emacs-buffer-env + (package + (name "emacs-buffer-env") + (version "0.4") + (source (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/buffer-env-" + version ".tar")) + (sha256 + (base32 + "0y8ik87dqldhn6q631zp2ln9z5byqgm9icrvr4xrdx6g8mr9c56z")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-compat)) + (home-page "https://github.com/astoff/buffer-env") + (synopsis "Create buffer-local process environments") + (description "This package creates buffer-local environments using scripts +similar to Direnv. This allows Emacs to call the correct version of external +programs such as linters, compilers, and language servers on a per-project +basis.") + (license license:gpl3+))) + (define-public emacs-buffer-move (package (name "emacs-buffer-move") @@ -31012,14 +31293,14 @@ work on alists, hash-table and arrays. All functions are prefixed with (define-public emacs-xref (package (name "emacs-xref") - (version "1.4.1") + (version "1.5.0") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/xref-" version ".tar")) (sha256 - (base32 "1vbpplw0sngymmawi940nlqmncqznb5vp7zi0ib8v66g3y33ijrf")))) + (base32 "0xl6aiwkjbgs44c3wxk6s85diydm3y5lsd7znb0dhbqb7milid2d")))) (build-system emacs-build-system) (home-page "http://elpa.gnu.org/packages/xref.html") (synopsis "Cross-referencing commands") @@ -31762,7 +32043,7 @@ headlines, keywords, tables and source blocks.") (license license:gpl3+)))) ; License is in pyimport.el (define-public emacs-straight-el - (let ((commit "4517e118ee43f849f708025dbb2cf4f281793121") + (let ((commit "fed215348076ba9182f634e0770a175220474b5a") (revision "0")) (package (name "emacs-straight-el") @@ -31772,11 +32053,11 @@ headlines, keywords, tables and source blocks.") (method git-fetch) (uri (git-reference - (url "https://github.com/raxod502/straight.el") + (url "https://github.com/radian-software/straight.el") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0idhgh203rac9c046286gir9rq0lgnlllzj4b4hrjpd3idg9v0r8")))) + (base32 "0z0j670s18mp1bhrsnng0mybcbnlywarhlz7zmrf9399rr513z1x")))) (build-system emacs-build-system) (arguments (list @@ -31808,7 +32089,7 @@ headlines, keywords, tables and source blocks.") (list git)) (propagated-inputs (list emacs-magit)) - (home-page "https://github.com/raxod502/straight.el/") + (home-page "https://github.com/radian-software/straight.el/") (synopsis "Purely functional package manager for the Emacs hacker") (description "@code{emacs-straight-el} is a purely functional package manager for the Emacs @@ -31925,6 +32206,53 @@ 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-consult-lsp + (package + (name "emacs-consult-lsp") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gagbo/consult-lsp") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14dyclspkf1a34nvjj800ckz1phsizq07ps8k4x0ah6ik0hfhy1w")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-consult emacs-lsp-mode emacs-f)) + (home-page "https://github.com/gagbo/consult-lsp/") + (synopsis "LSP-mode and consult helping each other") + (description +"@code{emacs-consult-lsp} provides helpers for interactively selecting LSP +workspace diagnostics, symbols, and file symbols from @{emacs-lsp-mode} +by leveraging @code{emacs-consult} APIs.") + (license license:expat))) + +(define-public emacs-pdb-capf + (let ((commit "31602ccab53aa7dcf26a1af222c7da2bcc1390ed") + (revision "0")) + (package + (name "emacs-pdb-capf") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/muffinmad/emacs-pdb-capf") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0x2pg03csf25vj8y2zb5sv493dk3n0s4xbkihii2mzhkx82vgpxg")))) + (build-system emacs-build-system) + (home-page "https://github.com/muffinmad/emacs-pdb-capf") + (synopsis "Completion-at-point function for pdb") + (description +"@code{emacs-pdb-capf} provides a @code{completion-at-point} function +for pdb allowing completion in a @code{*gud-pdb*} buffer.") + (license license:gpl3+)))) + (define-public emacs-bitbake-modes (package (name "emacs-bitbake-modes") @@ -31967,3 +32295,27 @@ projects.") tree to go back to previous buffer states. To use vundo, type @kbd{M-x vundo RET} in the buffer you want to undo. An undo tree buffer should pop up.") (license license:gpl3+))) + +(define-public emacs-vertico-posframe + (package + (name "emacs-vertico-posframe") + (version "0.5.4") + (source (origin + (method url-fetch) + (uri (string-append + "https://elpa.gnu.org/packages/vertico-posframe-" version + ".tar")) + (sha256 + (base32 + "19lx6p06wkwfivxgswdljdsh9bgcd1b9zkzx426w3pwicdk0cvgg")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-posframe emacs-vertico)) + (home-page "https://github.com/tumashu/vertico-posframe") + (synopsis "Pop up a frame at point to show vertical completion UI") + (description + "Vertico is an Emacs package that provides a vertical completion UI based +on the default completion system. Posframe is an Emacs package that provides +a way to pop up a frame at point. Vertico-posframe is an Emacs package and +a Vertico extension which provides a way to pop up a frame at point to show +a vertical completion UI.") + (license license:gpl3+))) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index ed87cd8d6a..f195179413 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -67,6 +67,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system emacs) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix build-system qt) #:use-module (gnu packages) @@ -88,6 +89,7 @@ #:use-module (gnu packages digest) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) + #:use-module (gnu packages file) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages fpga) @@ -142,6 +144,7 @@ #:use-module (gnu packages tbb) #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) + #:use-module (gnu packages text-editors) #:use-module (gnu packages tls) #:use-module (gnu packages tex) #:use-module (gnu packages version-control) @@ -2438,7 +2441,7 @@ comments."))) (define-public freecad (package (name "freecad") - (version "0.20") + (version "0.20.1") (source (origin (method git-fetch) @@ -2447,7 +2450,7 @@ comments."))) (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "14bn75bjh93f8k3hinqw913z1q0ywq7niklwbbd99hf5n342hsv4")))) + (base32 "1pgkjlahisqjvi3dd7ywj1zwhsl3wn3p15sifbmrdfdmw9is3z2b")))) (build-system qt-build-system) (native-inputs (list doxygen @@ -2524,12 +2527,11 @@ comments."))) (home-page "https://www.freecadweb.org/") (synopsis "Your Own 3D Parametric Modeler") (description - "FreeCAD is a general purpose feature-based, parametric 3D modeler for -CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and -product design but also fits a wider range of uses in engineering, such as -architecture or other engineering specialties. It is 100% Open Source (LGPL2+ -license) and extremely modular, allowing for very advanced extension and -customization.") + "FreeCAD is a general-purpose, feature-based, parametric 3D modeler for +CAD, MCAD, CAx, CAE, and PLM. It is aimed directly at mechanical engineering +and product design but also fits a wider range of uses in engineering, such as +architecture or other engineering specialties. It is modular, allowing for +extension and customization.") (license (list license:lgpl2.1+ @@ -3352,10 +3354,10 @@ facilitate the communication between Cura and its backend and similar code.") "stb_image.h"))))))) (home-page "https://github.com/Ultimaker/CuraEngine") (synopsis "Cura slicing engine") - (description "CuraEngine is a powerful, fast and robust engine for -processing 3D models into 3D printing instruction for Ultimaker and other -GCode based 3D printers. It is part of the larger open source project called -Cura.") + (description + "CuraEngine is an engine for processing 3D models into 3D printing +instructions for Ultimaker and other GCode-based 3D printers. It is part of a +larger project called Cura.") (license license:agpl3+))) (define-public cura-binary-data @@ -3757,3 +3759,57 @@ form, numpad. @item Visualizing G-code files. @end itemize") (license license:gpl3+)))) + +(define-public rizin + (package + (name "rizin") + (version "0.4.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/rizinorg/rizin/releases/download/v" + version "/rizin-src-v" version ".tar.xz")) + (sha256 + (base32 + "0nkb6v9lks25w5sv5s6p2ghgqnnnsf39md8nlx1cy4z89xlaisq9")))) + (build-system meson-build-system) + (arguments + (list + #:configure-flags + #~(list "-Dpackager=guix" + (string-append "-Dpackager_version=" #$version) + "-Duse_sys_capstone=enabled" + "-Duse_sys_magic=enabled" + "-Duse_sys_libzip=enabled" + "-Duse_sys_zlib=enabled" + "-Duse_sys_lz4=enabled" + "-Duse_sys_xxhash=enabled" + "-Duse_sys_openssl=enabled" + "-Duse_sys_tree_sitter=enabled" + "-Duse_sys_libuv=enabled" + "-Duse_gpl=true") + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'skip-integration-tests + (lambda _ + ;; Skip integration tests, which require prebuilt binaries at: + ;; <https://github.com/rizinorg/rizin-testbins>. + ;; And 2 of them are failing, reported upstream: + ;; <https://github.com/rizinorg/rizin/issues/2905>. + (substitute* "test/meson.build" + (("subdir\\('integration'\\)") ""))))))) + (native-inputs (list pkg-config)) + (inputs + (list capstone file libuv libzip lz4 openssl tree-sitter xxhash zlib)) + (home-page "https://rizin.re") + (synopsis "Disasm, debug, analyze and manipulate binary files") + (description + "Rizin is a reverse engineering framework and a set of small command-line +utilities, providing a complete binary analysis experience with features like +disassembler, hexadecimal editor, emulation, binary inspection, debugger, and +more.") + ;; Most files are under LGPL-3.0-only, other are under: Apache-2.0, + ;; BSD-2-Clause, BSD-3-Clause, CC0-1.0, CC-BY-SA-4.0, GPL-1.0-or-later, + ;; GPL-2.0-only, GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.0-or-later, + ;; LGPL-2.1-only, LGPL-2.1-or-later, LGPL-3.0-only, MIT, NCSA. + (license license:gpl3+))) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index c6063c42c4..d326b9cc3d 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2020–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2017, 2018, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> @@ -380,6 +380,48 @@ is corrupted you'll lose the affected file(s) but not the whole back-up.") (home-page "https://www.fsarchiver.org/") (license license:gpl2))) +(define-public fstransform + (package + (name "fstransform") + (version "0.9.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cosmos72/fstransform") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vhypb6pbghja95av62ds4mhldbg0h8g4yg94k9r7lsxm7bgpfr3")))) + (build-system gnu-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-README + ;; There are no man pages. Install a poor substitute. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" #$name))) + (install-file "README" doc))))))) + (inputs (list e2fsprogs)) + (home-page "https://github.com/cosmos72/fstransform") + (synopsis "Convert file system types in place without copying all data") + (description + "This package provides several command-line tools to transform a supported +file system, such as XFS, into one of a different supported type, such as ext4. +All existing file contents, names, and directories are preserved. + +The conversion happens @dfn{in place}, without the need to create a complete +copy of the original data. This lets you transform almost full file systems on +systems where adding (sufficient) additional storage space is not an option. + +Do @emph{not} use this package when you could simply create an empty file system +from scratch and restore from a back-up. Transformation is limited, slow, and +significantly increases the risk of irreversible data loss!") + ;; Please follow <https://github.com/cosmos72/fstransform/issues/46>. + (license (list license:gpl2 ; fsattr/src/e4attr.* → sbin/fsattr + license:gpl3+)))) ; the rest + (define-public gphotofs (package (name "gphotofs") diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 4b5ab2924b..849f9aba99 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com> -;;; Copyright © 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2018, 2019, 2020, 2021, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> @@ -30,6 +30,8 @@ ;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com> +;;; Copyright © 2022 Collin J. Doering <collin@rekahsoft.ca> +;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li> ;;; ;;; This file is part of GNU Guix. ;;; @@ -78,14 +80,16 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages dns) #:use-module (gnu packages emacs) + #:use-module (gnu packages emacs-xyz) #:use-module (gnu packages dbm) #:use-module (gnu packages gettext) - #:use-module (gnu packages gnome) - #:use-module (gnu packages golang) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) + #:use-module (gnu packages golang) #:use-module (gnu packages graphviz) #:use-module (gnu packages groff) + #:use-module (gnu packages gsasl) #:use-module (gnu packages gtk) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-web) @@ -98,6 +102,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages man) #:use-module (gnu packages maths) + #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) @@ -278,14 +283,14 @@ Accounting.") (define-public homebank (package (name "homebank") - (version "5.5.5") + (version "5.5.6") (source (origin (method url-fetch) (uri (string-append "http://homebank.free.fr/public/homebank-" version ".tar.gz")) (sha256 (base32 - "0rwykjpv4w7bffyvx2j6py17nxw9jcbml7ma4is194i3npn0bkmy")))) + "1nn75wzk9h82zsakxng1v94nlg7hq3ssicvskl1m5hg4fa68w3j6")))) (build-system glib-or-gtk-build-system) (native-inputs (list pkg-config intltool)) @@ -462,6 +467,37 @@ in ability, and easy to use. This package provides the Emacs mode.") (license license:gpl2+)))) +(define-public emacs-hledger-mode + (let ((commit "400bde42a8d2712af80cd7c773c9cdfbb63a515a") + (revision "1")) + (package + (name "emacs-hledger-mode") + (version (git-version "20220515" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/narendraj9/hledger-mode") + (commit commit))) + (sha256 + (base32 + "0xmcfpr3rxli1adwypg18npl8hb8ak5rg6a6i26inzzqja6vr897")))) + (build-system emacs-build-system) + (propagated-inputs + (list emacs-popup + emacs-async + emacs-htmlize)) + (arguments + '(#:include '("^[^/]+.el$") + #:exclude '())) + (home-page "https://github.com/narendraj9/hledger-mode") + (synopsis "Mode for writing journal entries for hledger") + (description + "This major mode for Emacs enables writing and managing hledger +journal files. It generates some useful reports along with some financial +ratios that can help you keep a check on your financial health for users of +the plaintext accounting system hledger.") + (license license:gpl3)))) + (define-public geierlein (package (name "geierlein") @@ -590,7 +626,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (define-public electron-cash (package (name "electron-cash") - (version "4.2.10") + (version "4.2.11") (source (origin (method git-fetch) @@ -599,7 +635,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0axpypq9byda61rp3sznrq24b24qxbfwk56j75qp06s1ackg0pcv")))) + (base32 "1g0xnb63c52l379zrqkfhxlkg1d2hf2dgjs2swspa0vah845r282")))) (build-system python-build-system) (arguments (list @@ -671,7 +707,7 @@ blockchain.") ;; the system's dynamically linked library. (package (name "monero") - (version "0.18.0.0") + (version "0.18.1.0") (source (origin (method git-fetch) @@ -689,7 +725,7 @@ blockchain.") delete-file-recursively '("external/miniupnp" "external/rapidjson")))) (sha256 - (base32 "1jq2v2dg50gl3cf9s61jssny5rraclxqj4cc4y0sl00ip8icj08v")))) + (base32 "18yj44pki7x8ir6wg02g1h6yxp1hnqb0nrx9x5dvv94rda48cy66")))) (build-system cmake-build-system) (native-inputs (list doxygen @@ -776,7 +812,7 @@ the Monero command line client and daemon.") (define-public monero-gui (package (name "monero-gui") - (version "0.18.0.0") + (version "0.18.1.0") (source (origin (method git-fetch) @@ -792,7 +828,7 @@ the Monero command line client and daemon.") ;; See the 'extract-monero-sources' phase. (delete-file-recursively "monero"))) (sha256 - (base32 "14rbw9803h3g7ld3d24vc3i9n55n09x13frkmd128xx5jw17v5sr")))) + (base32 "1z627jy9n6cwc9yv0w58fbhix4qnllk0q42ga75mhlawaz68j0qi")))) (build-system qt-build-system) (native-inputs `(,@(package-native-inputs monero) @@ -801,6 +837,7 @@ the Monero command line client and daemon.") (modify-inputs (package-inputs monero) (append libgcrypt monero + p2pool qtbase-5 qtdeclarative-5 qtgraphicaleffects @@ -834,6 +871,17 @@ the Monero command line client and daemon.") (string-append "set(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS} -fPIC\")\n" all))))) + (add-after 'unpack 'fix-p2pool-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/p2pool/P2PoolManager.cpp" + ;; Location for files created by P2Pool + (("m_p2poolPath = QApplication::applicationDirPath\\(\\);") + "m_p2poolPath = QStandardPaths::writableLocation(QStandardPaths::CacheLocation);") + ;; Location of p2pool program + (("m_p2pool = m_p2poolPath \\+ \"/p2pool\";") + (string-append "m_p2pool = \"" + (search-input-file inputs "/bin/p2pool") + "\";"))))) (replace 'install (lambda _ (let ((bin (string-append #$output "/bin"))) @@ -1236,13 +1284,13 @@ Luhn and family of ISO/IEC 7064 check digit algorithms.") (define-public python-duniterpy (package (name "python-duniterpy") - (version "1.0.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "duniterpy" version)) (sha256 - (base32 "13kp2ph7fb1cdkx1y6j2h8q33fj2akc104l77ng52cy4v8jic9nz")))) + (base32 "18i5bqz58vjp740pxb4wb4ixg1g2d73cwi0d8gp85fmj5p8f2gx7")))) (build-system python-build-system) (arguments ;; FIXME: Tests fail with: "TypeError: block_uid() missing 1 required @@ -1255,13 +1303,11 @@ Luhn and family of ISO/IEC 7064 check digit algorithms.") (("mnemonic>=0\\.19,<0.20") "mnemonic>=0.19"))))))) (propagated-inputs - (list python-aiohttp - python-attrs + (list python-attrs python-base58 python-jsonschema python-libnacl python-pyaes - python-pylibscrypt python-graphql-core python-mnemonic python-websocket-client @@ -2081,3 +2127,100 @@ analysis of financial market data.") format used by SWIFT. It returns smart Python collections for statistics and manipulation.") (license license:bsd-3))) + +(define-public xmrig + (package + (name "xmrig") + (version "6.18.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xmrig/xmrig") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 (base32 "1ncnfjpjwjdv29plyiam2nh01bfni49sgfi3qkijygi1450w71dx")) + (modules '((guix build utils))) + (snippet + ;; TODO: Try to use system libraries instead of bundled ones in + ;; "src/3rdparty/". It requires changes to some "cmake/..." scripts + ;; and to some source files. + #~(substitute* "src/donate.h" + (("constexpr const int kDefaultDonateLevel = 1;") + "constexpr const int kDefaultDonateLevel = 0;") + (("constexpr const int kMinimumDonateLevel = 1;") + "constexpr const int kMinimumDonateLevel = 0;"))))) + (build-system cmake-build-system) + (inputs + (list + `(,hwloc "lib") + libuv + openssl)) + (arguments + (list + ;; There are no tests. + #:tests? #f + #:phases + #~(modify-phases + %standard-phases + (replace 'install + ;; There is no 'install' target, we must install xmrig manually + (lambda* (#:key #:allow-other-keys) + (install-file "xmrig" + (string-append #$output "/bin"))))))) + (home-page "https://xmrig.com/") + (synopsis "Monero miner") + (description + "XMRig is a high performance, cross platform RandomX, KawPow, +CryptoNight, AstroBWT and GhostRider unified CPU/GPU miner and RandomX +benchmark. + +Warning: upstream, by default, receives a percentage of the mining time. This +anti-functionality has been neutralised in Guix, but possibly not in all other +distributions. + +Warning: this software, because of it's nature, has high energy consumption. +Also, the energy expenses might be higher that the cryptocurrency gained by +mining.") + (license license:gpl3+))) + +(define-public p2pool + (package + (name "p2pool") + (version "2.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/SChernykh/p2pool") + (commit (string-append "v" version)) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 (base32 "19pn7axj96yvza2x7678rs79c2vgmhl8d7f9ki72v2n6l2630fw8")) + (modules '((guix build utils))) + (snippet + #~(for-each delete-file-recursively + '("external/lib" + "external/src/cppzmq" + "external/src/curl" + "external/src/libuv" + "external/src/libzmq" + "external/src/rapidjson"))))) + (build-system cmake-build-system) + (inputs + (list cppzmq curl gss libuv rapidjson zeromq)) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (replace 'install + (lambda _ + (install-file "p2pool" (string-append #$output "/bin"))))))) + (home-page "https://p2pool.io/") + (synopsis "Decentralized Monero mining pool") + (description "Monero P2Pool is a peer-to-peer Monero mining pool. P2Pool +combines the advantages of pool and solo mining; you still fully control your +Monero node and what it mines, but you get frequent payouts like on a regular +pool.") + (license license:gpl3))) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index a258af30bf..3ba5078b63 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -265,9 +265,11 @@ broadband modem as found, for example, on PinePhone.") bin)) #t))))) (home-page "https://github.com/riscv-software-src/opensbi") - (synopsis "RISC-V Open Source Supervisor Binary Interface") - (description "A reference implementation of the RISC-V SBI specifications -for platform-specific firmwares executing in M-mode.") + (synopsis "RISC-V @acronym{SBI, Supervisor Binary Interface} implementation") + (description + "OpenSBI is the reference implementation of the RISC-V @acronym{SBI, +Supervisory Binary Interface} specifications for platform-specific firmwares +executing in M-mode.") (license (list license:bsd-2 ;; lib/utils/libfdt/* is dual licensed under bsd-2 and gpl2+. license:gpl2+ diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 20b55bce96..09445cd00c 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -51,6 +51,7 @@ ;;; Copyright © 2021 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com> ;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space> +;;; Copyright © 2022 Nguyễn Gia Phong <mcsinyx@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -732,6 +733,26 @@ following fonts in the OpenType format: Adventor, Bonum, Chorus, Cursor, Heros, Pagella, Schola, Termes.") (license license:gfl1.0))) +(define-public font-latin-modern + (package + (name "font-latin-modern") + (version "2.004") + (source + (origin + (method url-fetch/zipbomb) + (uri (string-append "https://www.gust.org.pl/projects/e-foundry/" + "latin-modern/download/lm" version "otf.zip")) + (sha256 + (base32 "06qnvd6kh07gy2197vx3nmskhiqhp7ip9cpi2rkbwa1p3l2kc0jv")))) + (build-system font-build-system) + (home-page "https://www.gust.org.pl/projects/e-foundry/latin-modern") + (synopsis "OpenType fonts based on Computer Modern") + (description "The Latin Modern fonts are a set of scalable fonts based on +the PostScript Type 1 version of the Computer Modern fonts and contain many +additional characters (mostly accented ones). This package provides the +OpenType variant of these fonts.") + (license license:gfl1.0))) + (define-public font-amiri (package (name "font-amiri") @@ -821,7 +842,7 @@ for use at smaller text sizes"))) (define-public font-gnu-unifont (package (name "font-gnu-unifont") - (version "14.0.03") + (version "14.0.04") (source (origin (method url-fetch) @@ -831,7 +852,7 @@ for use at smaller text sizes"))) (string-append "mirror://gnu/unifont/unifont-" version "/unifont-" version ".tar.gz"))) (sha256 - (base32 "1swzwh355ipqhm3vvy7005fqawydlcdbkxm3h04vhicahp8hl06l")))) + (base32 "1fzycjxmgnq77r2s5914w1phg3qdwwnwa6p3zyfa1cscrxy52phz")))) (build-system gnu-build-system) (outputs '("out" ; TrueType version "pcf" ; PCF (bitmap) version diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 278695a03c..f8d500d1c0 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -195,7 +195,8 @@ them as it goes.") `("PATH" prefix (,bindir)))) commands))))))) (native-inputs - (list ninja python-pytest python-scikit-build python-wheel)) + (list ninja python-pytest python-scikit-build python-setuptools-scm + python-wheel)) (inputs (list java-antlr4-runtime-cpp `(,util-linux "lib"))) (propagated-inputs (list psautohint @@ -389,7 +390,8 @@ converts any cubic curves to quadratic. The most useful function is probably (sha256 (base32 "0a6iq5g6qdxj7nvip8nnf0mf8y5wmpd3wwq0dv7d4nm9bjrh0r6m")))) (build-system python-build-system) - (native-inputs (list python-pytest python-pytest-runner)) + (native-inputs + (list python-pytest python-pytest-runner python-setuptools-scm)) (propagated-inputs (list python-booleanoperations python-cffsubr @@ -497,7 +499,7 @@ implementing the pen protocol for manipulating glyphs.") python-defcon-bootstrap python-fontmath python-fonttools)) - (native-inputs (list unzip)) + (native-inputs (list python-setuptools-scm unzip)) (home-page "https://github.com/robotools/fontParts") (synopsis "Library for interacting with font parts") (description "FontParts is an @acronym{API, Application Programming @@ -734,7 +736,7 @@ paths (intersection, union, difference, xor).") python-fontparts python-fonttools python-mutatormath)) - (native-inputs (list unzip)) + (native-inputs (list python-setuptools-scm unzip)) (home-page "https://github.com/LettError/ufoProcessor") (synopsis "Process and generate @acronym{UFO, Unified Font Object} files") (description "This Python package processes and generates instances for diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index b8f98ca63e..06d4a10e7e 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -226,8 +226,8 @@ For synthesis, the compiler generates netlists in the desired format.") (license license:isc))) (define-public icestorm - (let ((commit "0ec00d892a91cc68e45479b46161f649caea2933") - (revision "3")) + (let ((commit "2bc541743ada3542c6da36a50e66303b9cbd2059") + (revision "4")) (package (name "icestorm") (version (git-version "0.0" revision commit)) @@ -239,7 +239,7 @@ For synthesis, the compiler generates netlists in the desired format.") (file-name (git-file-name name version)) (sha256 (base32 - "1qlh99fafb7xga702k64fmc9m700nsddrfgcq4x8qn8fplsb64f1")))) + "0d0ibdq3rzmjcbv97h4b9wgq8ikvgwlfw60spi2w81mis317lis8")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no unit tests that don't need an FPGA exist. diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 3e0301a199..661e1c0e07 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -2136,10 +2136,11 @@ of the others") (define-public ioquake3 ;; We follow master since it seems that there won't be releases after 1.3.6. - (let ((commit "95b9cab4d644fa3bf757cfff821cc4f7d76e38b0")) + (let ((revision "2") + (commit "29b0cc3a4d037046eb3247fc04f4b703f6a33452")) (package (name "ioquake3") - (version (git-version "1.3.6" "1" commit)) + (version (git-version "1.3.6" revision commit)) (source (origin (method git-fetch) @@ -2148,48 +2149,48 @@ of the others") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "1vflk028z9gccg5yfi5451y1k5wxjdh3qbhjf4x6r7w2pzlxh16z")))) + (base32 "0fqq2qpnrgpgf3gs71wvxlkcihxcrvhvllh88ii4ip134c1qbs9q")))) (build-system gnu-build-system) (inputs - `(("sdl2" ,sdl2) - ("libjpeg" ,libjpeg-turbo) - ("openal" ,openal) - ("curl" ,curl) - ("opusfile" ,opusfile) - ("opus" ,opus) - ("libvorbis" ,libvorbis) - ("freetype" ,freetype) - ("libogg" ,libogg))) + (list curl + freetype + libjpeg-turbo + libogg + libvorbis + openal + opus + opusfile + sdl2)) (native-inputs - (list which ; Else SDL_version.h won't be found. + (list which ; else SDL_version.h won't be found. pkg-config)) (arguments - '(#:tests? #f ; No tests. - #:make-flags '("CC=gcc" - "USE_INTERNAL_LIBS=0" - "USE_FREETYPE=1" - "USE_RENDERER_DLOPEN=0" - "USE_OPENAL_DLOPEN=0" - "USE_CURL_DLOPEN=0") - #:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (invoke "make" "copyfiles" "CC=gcc" - "USE_INTERNAL_LIBS=0" + (list + #:tests? #f ; no tests + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + "USE_INTERNAL_LIBS=0" + "USE_FREETYPE=1" + "USE_RENDERER_DLOPEN=0" + "USE_OPENAL_DLOPEN=0" + "USE_CURL_DLOPEN=0") + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ; no configure-script + (replace 'install + (lambda* (#:key make-flags outputs #:allow-other-keys) + (apply invoke "make" "copyfiles" (string-append "COPYDIR=" (assoc-ref outputs "out") - "/bin"))))))) + "/bin") + make-flags)))))) (home-page "https://ioquake3.org/") (synopsis "FPS game engine based on Quake 3") (description "ioquake3 is a free software first person shooter engine based on the Quake 3: Arena and Quake 3: Team Arena source code. Compared to the original, ioquake3 has been cleaned up, bugs have been fixed and features -added. The permanent goal is to create the open source Quake 3 distribution -upon which people base their games, ports to new platforms, and other -projects.") +added. The permanent goal is to create a Quake 3 distribution upon which +people base their games, ports to new platforms, and other projects.") (license license:gpl2)))) (define-public instead @@ -2651,7 +2652,7 @@ game engine. id Tech 2 is the engine originally behind Quake 2.") (define-public dhewm3 (package (name "dhewm3") - (version "1.5.1") + (version "1.5.2") (source (origin (method url-fetch) (uri (string-append @@ -2659,7 +2660,7 @@ game engine. id Tech 2 is the engine originally behind Quake 2.") version "/dhewm3-" version "-src.tar.xz")) (sha256 (base32 - "0s2brx6wyljhjbpli97iy4lc4fqqsvdc09raz8njg0vgzcsiyrri")))) + "10p0w1x5wx9b7d8mzvb6yqjia9prhkjwz04vbvphy8p383r33am6")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No tests. @@ -2667,17 +2668,13 @@ game engine. id Tech 2 is the engine originally behind Quake 2.") (modify-phases %standard-phases (add-after 'unpack 'change-to-build-dir (lambda _ - (chdir "neo") - #t))))) + (chdir "neo")))))) (inputs - `(("curl" ,curl) - ("libjpeg" ,libjpeg-turbo) - ("libogg" ,libogg) - ("libvorbis" ,libvorbis) - ("libx11" ,libx11) - ("openal" ,openal) - ("sdl2" ,sdl2) - ("zlib" ,zlib))) + (list curl + libx11 + openal + sdl2 + zlib)) (home-page "https://dhewm3.org/") (synopsis "Port of the original Doom 3 engine") (description @@ -2810,8 +2807,6 @@ construction toolset for games. @item It is automatic, which means that you can throw any level geometry at it and you will get robust mesh out. @item It is fast which means swift turnaround times for level designers. -@item It is open source so it comes with full source and you can - customize it to your heart's content. @end itemize The Recast process starts with constructing a voxel mold from a level diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 99eccca04d..aa2e4e04b0 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2014, 2015, 2019 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> -;;; Copyright © 2015, 2017, 2018, 2021 Chris Lemmer Webber <cwebber@dustycloud.org> +;;; Copyright © 2015, 2017, 2018, 2021 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> @@ -4163,7 +4163,7 @@ falling, themeable graphics and sounds, and replays.") (define-public wesnoth (package (name "wesnoth") - (version "1.16.1") + (version "1.16.5") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" @@ -4172,7 +4172,7 @@ falling, themeable graphics and sounds, and replays.") "wesnoth-" version ".tar.bz2")) (sha256 (base32 - "0cyrwmdg93pqpdm7030540jznaky9rda355i9ym8am4k9civlcwf")))) + "02pzijbmkgcb8hc4l3f4r3r3mxqda936dp488i9sd9d4m3xdzimh")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no check target @@ -6515,14 +6515,16 @@ fish. The whole game is accompanied by quiet, comforting music.") (define-public crawl (package (name "crawl") - (version "0.28.0") + (version "0.29.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/crawl/crawl/releases/download/" - version "/stone_soup-" version "-nodeps.tar.xz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/crawl/crawl") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0irg5w4m127fxcj037kyp9vnyqyq1fi4q64rn6yq92w8z1lf2sss")) + (base32 "0cx67ln5qr4bawidi48ss63wflx7x22901da683c9wvy6m41vks8")) (patches (search-patches "crawl-upgrade-saves.patch")))) (build-system gnu-build-system) (inputs @@ -6552,24 +6554,30 @@ fish. The whole game is accompanied by quiet, comforting music.") "BUILD_LUA=" "BUILD_SQLITE=" "BUILD_ZLIB=" - "-Csource") + "-Ccrawl-ref/source") #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'set-version + (lambda _ + (call-with-output-file "crawl-ref/source/util/release_ver" + (lambda (port) + (display #$version port))))) (add-after 'unpack 'find-SDL-image (lambda _ - (substitute* "source/windowmanager-sdl.cc" + (substitute* "crawl-ref/source/windowmanager-sdl.cc" (("SDL_image.h") "SDL2/SDL_image.h")))) (delete 'configure) (replace 'check - (lambda* (#:key make-flags #:allow-other-keys) - (setenv "HOME" (getcwd)) - ;; Fake a terminal for the test cases. - (setenv "TERM" "xterm-256color") - ;; Run the tests that don't require a debug build. - (apply invoke "make" "nondebugtest" - (format #f "-j~d" (parallel-job-count)) - ;; Force command line build for test cases. - (append make-flags '("GAME=crawl" "TILES=")))))))) + (lambda* (#:key tests? make-flags #:allow-other-keys) + (when tests? + (setenv "HOME" (getcwd)) + ;; Fake a terminal for the test cases. + (setenv "TERM" "xterm-256color") + ;; Run the tests that don't require a debug build. + (apply invoke "make" "nondebugtest" + (format #f "-j~d" (parallel-job-count)) + ;; Force command line build for test cases. + (append make-flags '("GAME=crawl" "TILES="))))))))) (synopsis "Roguelike dungeon crawler game") (description "Dungeon Crawl Stone Soup (also known as \"Crawl\" or DCSS for short) is a roguelike adventure through dungeons filled with dangerous @@ -6728,7 +6736,7 @@ fight against their plot and save his fellow rabbits from slavery.") libxcursor libxml2 miniupnpc - mozjs + mozjs-78 openal sdl2 wxwidgets @@ -7759,38 +7767,33 @@ quotation from a collection of quotes.") (define xonotic-data (package (name "xonotic-data") - (version "0.8.2") + (version "0.8.5") (source (origin (method url-fetch) - (uri (string-append "http://dl.xonotic.org/xonotic-" + (uri (string-append "https://dl.xonotic.org/xonotic-" version ".zip")) (file-name (string-append name "-" version ".zip")) (sha256 - (base32 - "1mcs6l4clvn7ibfq3q69k2p0z6ww75rxvnngamdq5ic6yhq74bx2")))) + (base32 "1r9pdrrki7mkdw99zh9m7911fqldsfdnl0nrp5cv1bk2hcism4hg")))) (build-system trivial-build-system) - (native-inputs - `(("unzip" ,unzip))) + (native-inputs (list unzip)) (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (xonotic (string-append out "/share/xonotic")) - (source (assoc-ref %build-inputs "source")) - (unzip (search-input-file %build-inputs "/bin/unzip"))) - (copy-file source (string-append ,name "-" ,version ".zip")) - (invoke unzip (string-append ,name "-" ,version ".zip")) - (mkdir-p out) - (mkdir-p xonotic) - (chdir "Xonotic") - (copy-recursively "data" - (string-append xonotic "/data")) - (copy-recursively "server" - (string-append xonotic "/server")) - (install-file "key_0.d0pk" xonotic))))) + (list #:modules '((guix build utils)) + #:builder + #~(begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (xonotic (string-append out "/share/xonotic")) + (source (assoc-ref %build-inputs "source")) + (unzip (search-input-file %build-inputs "/bin/unzip"))) + (invoke unzip source) + (chdir "Xonotic") + (install-file "key_0.d0pk" xonotic) + (copy-recursively "data" + (string-append xonotic "/data")) + (copy-recursively "server" + (string-append xonotic "/server")))))) (home-page "http://xonotic.org") (synopsis "Data files for Xonotic") (description @@ -7801,192 +7804,142 @@ quotation from a collection of quotes.") (define-public xonotic (package (name "xonotic") - (version "0.8.2") + (version "0.8.5") (source (origin (method url-fetch) - (uri (string-append "http://dl.xonotic.org/xonotic-" + (uri (string-append "https://dl.xonotic.org/xonotic-" version "-source.zip")) (file-name (string-append name "-" version ".zip")) (sha256 - (base32 - "0axxw04fyz6jlfqd0kp7hdrqa0li31sx1pbipf2j5qp9wvqicsay")))) + (base32 "0pgahai0gk8bjmvkwx948bl50l9f9dhmjzwffl4vyldibajipa51")))) (build-system gnu-build-system) (arguments - `(#:configure-flags (list (string-append "--prefix=" - (assoc-ref %outputs "out")) - "--disable-rijndael") - #:phases - (modify-phases %standard-phases - (add-before 'configure 'make-darkplaces - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (sharedir (string-append out "/share/xonotic/"))) - (invoke "make" "-C" "source/darkplaces" - (string-append "DP_FS_BASEDIR=" - sharedir) - "DP_LINK_TO_LIBJPEG=1" - "DP_SOUND_API=ALSA" - "CC=gcc" - "-f" "makefile" - "cl-release") - (invoke "make" "-C" "source/darkplaces" - (string-append "DP_FS_BASEDIR=" - sharedir) - "DP_LINK_TO_LIBJPEG=1" - "DP_SOUND_API=ALSA" - "CC=gcc" - "-f" "makefile" - "sdl-release") - (invoke "make" "-C" "source/darkplaces" - (string-append "DP_FS_BASEDIR=" - sharedir) - "DP_LINK_TO_LIBJPEG=1" - "DP_SOUND_API=ALSA" - "CC=gcc" - "-f" "makefile" - "sv-release")))) - (add-before 'configure 'bootstrap - (lambda _ - (chdir "source/d0_blind_id") - (invoke "sh" "autogen.sh"))) - (add-after 'build 'install-desktop-entry - (lambda* (#:key outputs #:allow-other-keys) - ;; Add .desktop files for the 2 variants and the symlink - (let* ((output (assoc-ref outputs "out")) - (apps (string-append output "/share/applications"))) - (mkdir-p apps) - (with-output-to-file - (string-append apps "/xonotic-glx.desktop") - (lambda _ - (format #t - "[Desktop Entry]~@ - Name=xonotic-glx~@ - Comment=Xonotic glx~@ - Exec=~a/bin/xonotic-glx~@ - TryExec=~@*~a/bin/xonotic-glx~@ - Icon=xonotic~@ - Categories=Game~@ - Type=Application~%" - output))) - (with-output-to-file - (string-append apps "/xonotic-sdl.desktop") - (lambda _ - (format #t - "[Desktop Entry]~@ - Name=xonotic-sdl~@ - Comment=Xonotic sdl~@ - Exec=~a/bin/xonotic-sdl~@ - TryExec=~@*~a/bin/xonotic-sdl~@ - Icon=xonotic~@ - Categories=Game~@ - Type=Application~%" - output))) - (with-output-to-file - (string-append apps "/xonotic.desktop") + (list #:configure-flags + #~(list (string-append "--prefix=" #$output) + "--disable-rijndael") + #:modules '((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'build-darkplaces + (lambda* (#:key make-flags parallel-build? outputs + #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share/xonotic/"))) + (apply invoke "make" + "-C" "source/darkplaces" + "-f" "makefile" + "-j" (if parallel-build? + (number->string (parallel-job-count)) + "1") + (string-append "CC=" #$(cc-for-target)) + (string-append "DP_FS_BASEDIR=" share) + "DP_LINK_TO_LIBJPEG=1" + "DP_SOUND_API=ALSA" + "cl-release" + "sdl-release" + "sv-release" + make-flags)))) + (add-before 'configure 'preconfigure (lambda _ - (format #t - "[Desktop Entry]~@ - Name=xonotic~@ - Comment=Xonotic~@ - Exec=~a/bin/xonotic-glx~@ - TryExec=~@*~a/bin/xonotic~@ - Icon=xonotic~@ - Categories=Game~@ - Type=Application~%" - output))) - #t))) - (add-after 'install-desktop-entry 'install-icons - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion "../../misc/logos/icons_png/" - (for-each - (lambda (file) - (let* ((size (string-filter char-numeric? file)) - (icons (string-append out "/share/icons/hicolor/" - size "x" size "/apps"))) - (mkdir-p icons) - (copy-file file (string-append icons "/xonotic.png")))) - '("xonotic_16.png" "xonotic_22.png" "xonotic_24.png" - "xonotic_32.png" "xonotic_48.png" "xonotic_64.png" - "xonotic_128.png" "xonotic_256.png" "xonotic_512.png")))))) - (add-after 'install-icons 'install-binaries - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (define (install src dst) - (let ((dst (string-append out dst))) - (mkdir-p (dirname dst)) - (copy-file src dst))) - (mkdir-p (string-append out "/bin")) - (install "../darkplaces/darkplaces-dedicated" - "/bin/xonotic-dedicated") - (install "../darkplaces/darkplaces-glx" - "/bin/xonotic-glx") - (install "../darkplaces/darkplaces-sdl" - "/bin/xonotic-sdl") - ;; Provide a default xonotic executable, defaulting to SDL. - (symlink (string-append out "/bin/xonotic-sdl") - (string-append out "/bin/xonotic")) - #t))) - (add-after 'install-binaries 'install-data - (lambda* (#:key outputs inputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (data (assoc-ref inputs "xonotic-data"))) - (symlink (string-append data "/share/xonotic") - (string-append out "/share/xonotic")) - #t))) - (add-after 'install-binaries 'wrap-binaries - (lambda* (#:key outputs inputs #:allow-other-keys) - ;; Curl and libvorbis need to be wrapped so that we get - ;; sound and networking. - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin/xonotic")) - (bin-sdl (string-append out "/bin/xonotic-sdl")) - (bin-glx (string-append out "/bin/xonotic-glx")) - (bin-dedicated (string-append out "/bin/xonotic-dedicated")) - (curl (assoc-ref inputs "curl")) - (vorbis (assoc-ref inputs "libvorbis"))) - (wrap-program bin - `("LD_LIBRARY_PATH" ":" prefix - (,(string-append curl "/lib:" vorbis "/lib")))) - (wrap-program bin-sdl - `("LD_LIBRARY_PATH" ":" prefix - (,(string-append curl "/lib:" vorbis "/lib")))) - (wrap-program bin-glx - `("LD_LIBRARY_PATH" ":" prefix - (,(string-append curl "/lib:" vorbis "/lib")))) - (wrap-program bin-dedicated - `("LD_LIBRARY_PATH" ":" prefix - (,(string-append curl "/lib:" vorbis "/lib")))) - #t)))))) - (inputs - `(("xonotic-data" ,xonotic-data) - ("alsa-lib" ,alsa-lib) - ("curl" ,curl) - ("libjpeg" ,libjpeg-turbo) - ("libmodplug" ,libmodplug) - ("libvorbis" ,libvorbis) - ("libogg" ,libogg) - ("libxpm" ,libxpm) - ("libxxf86dga" ,libxxf86dga) - ("libxxf86vm" ,libxxf86vm) - ("libx11" ,libx11) - ("libxext" ,libxext) - ("libxau" ,libxau) - ("libxdmcp" ,libxdmcp) - ("mesa" ,mesa) - ("glu" ,glu) - ("freetype" ,freetype) - ("sdl2" ,sdl2) - ("libpng" ,libpng) - ("hicolor-icon-theme" ,hicolor-icon-theme))) - (native-inputs - (list unzip - autoconf + (chdir "source/d0_blind_id") + (invoke "sh" "autogen.sh"))) + (add-after 'install 'symlink-data + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (data (assoc-ref inputs "xonotic-data"))) + (symlink (string-append data "/share/xonotic") + (string-append out "/share/xonotic"))))) + (add-after 'install 'install-desktop-entries + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (app (string-append out "/share/applications"))) + ;; Add .desktop files for the 2 variants and the symlink. + (for-each + (lambda (variant) + (let* ((file (if variant + (format #f "xonotic-~(~a~)" variant) + "xonotic")) + (name (if variant + (format #f "Xonotic (~a)" variant) + "Xonotic")) + (exec (string-append out "/bin/" file))) + (make-desktop-entry-file + (string-append app "/" file ".desktop") + #:name name + #:comment `((#f #$(package-synopsis this-package))) + #:exec exec + #:try-exec exec + #:icon "xonotic" + #:categories '("Game")))) + (list #f "GLX" "SDL"))))) + (add-after 'install 'install-icons + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (for-each + (lambda (file) + (let* ((size (string-filter char-numeric? file)) + (icons (string-append out "/share/icons/hicolor/" + size "x" size "/apps"))) + (mkdir-p icons) + (copy-file file (string-append icons "/xonotic.png")))) + (find-files "../../misc/logos/icons_png" + "^xonotic_[0-9]+\\.png$"))))) + (add-after 'install 'install-binaries + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (for-each + (lambda (variant) + (copy-file + (string-append "../darkplaces/darkplaces-" variant) + (string-append bin "/xonotic-" variant))) + (list "dedicated" "glx" "sdl"))))) + (add-after 'install-binaries 'wrap-binaries + (lambda* (#:key outputs inputs #:allow-other-keys) + ;; All games must be wrapped to get sound and networking. + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (curl (assoc-ref inputs "curl")) + (vorbis (assoc-ref inputs "libvorbis"))) + (for-each (cut wrap-program <> + `("LD_LIBRARY_PATH" ":" prefix + (,(string-append curl "/lib:" + vorbis "/lib")))) + (find-files bin "^xonotic")) + + ;; Provide a default xonotic executable, defaulting to SDL. + (symlink "xonotic-sdl" (string-append bin "/xonotic")))))))) + (native-inputs + (list autoconf automake - pkg-config + gmp libtool - gmp)) + pkg-config + unzip)) + (inputs + (list alsa-lib + curl + libjpeg-turbo + libmodplug + libvorbis + libogg + libpng + libx11 + libxpm + libxxf86dga + libxxf86vm + libxext + libxau + libxdmcp + mesa + glu + freetype + sdl2 + hicolor-icon-theme + xonotic-data)) (home-page "https://xonotic.org") (synopsis "Fast-paced first-person shooter game") (description @@ -8772,15 +8725,14 @@ game field is extended to 4D space, which has to filled up by the gamer with (define-public arx-libertatis (package (name "arx-libertatis") - (version "1.2") + (version "1.2.1") (source (origin (method url-fetch) (uri (string-append "http://arx-libertatis.org/files/arx-libertatis-" version ".tar.xz")) (sha256 - (base32 - "035dflxffa98bxmxkrqfizmhvnr09wyhhmzaqxk92772qil7gkxs")))) + (base32 "1pxf86sgwvy3785sq2wb4jvz6bdxm81ilrxd8xv7s61dxqqqizda")))) (build-system cmake-build-system) (outputs '("out" "installer")) (arguments diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index a957ae3480..b6854813d7 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -702,14 +702,14 @@ It also includes runtime support libraries for these languages.") (package (inherit gcc-11) ;; Note: 'compiler-cpu-architectures' is unchanged compared to GCC 11. - (version "12.1.0") + (version "12.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.xz")) (sha256 (base32 - "0ywws66myjxcwsmla721g35d2ymlckq6ii7j9av0477ki5467zb2")) + "1zrhca90c7hqnjz3jgr1vl675q3h5lrd92b5ggi00jjryffcyjg5")) (patches (search-patches "gcc-12-strmov-store-file-names.patch" "gcc-5.0-libvtv-runpath.patch")) (modules '((guix build utils))) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index fe2174b106..66c97d3d6a 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Clément Lassieur <clement@lassieur.org> -;;; Copyright © 2021 Nikolay Korotkiy <sikmir@disroot.org> +;;; Copyright © 2021, 2022 Nikolay Korotkiy <sikmir@disroot.org> ;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com> ;;; ;;; This file is part of GNU Guix. @@ -100,6 +100,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) @@ -216,7 +217,7 @@ OpenStreetMap written in C using eXpat, Cairo and GLib.") (define-public geos (package (name "geos") - (version "3.10.2") + (version "3.11.0") (source (origin (method url-fetch) (uri (string-append "http://download.osgeo.org/geos/geos-" @@ -224,7 +225,7 @@ OpenStreetMap written in C using eXpat, Cairo and GLib.") ".tar.bz2")) (sha256 (base32 - "05apyh6dvv15fax4xvxa0kr622h4y08w9p3274mlqsrqmjcwbfsh")))) + "12l59pxawyizmc4wn20dvjn7aifqwkim4ysmc78h91mayjmqravr")))) (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -940,7 +941,7 @@ development.") (define-public gdal (package (name "gdal") - (version "3.5.0") + (version "3.5.1") (source (origin (method url-fetch) (uri (string-append @@ -948,7 +949,7 @@ development.") version ".tar.gz")) (sha256 (base32 - "0h7dgjx8nk3dd17wwqm2yjnaqciyrd2mz9gcjswpcnmap09wbzrs")) + "1l93q7xf6qx9ck5axfkf3ygmvclxkvrjd8x00ckn7j0d0750ci3w")) (modules '((guix build utils))) (snippet `(begin @@ -1322,7 +1323,7 @@ based on the Osmium library.") (define-public osm2pgsql (package (name "osm2pgsql") - (version "1.5.1") + (version "1.7.0") (source (origin (method git-fetch) @@ -1331,32 +1332,30 @@ based on the Osmium library.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0i18mskcs087dn3f3h9n7j0wafn8502m0h13mrjwin38xsz0crfj")) + (base32 "15fxr4xq7siy237763l7nswx7v0swr3qzs2h3zkjzgvajw4p6qii")) (modules '((guix build utils))) (snippet - '(begin - (delete-file-recursively "contrib/protozero") - (delete-file-recursively "contrib/libosmium") - #t)))) + ;; Remove bundled libraries. + '(delete-file-recursively "contrib")))) (build-system cmake-build-system) (arguments `(#:tests? #f; tests fail because we need to setup a database #:configure-flags - (list (string-append "-DOSMIUM_INCLUDE_DIR=" - (assoc-ref %build-inputs "libosmium") - "/include") - (string-append "-DPROTOZERO_INCLUDE_DIR=" - (assoc-ref %build-inputs "protozero") - "/include")))) + (list "-DEXTERNAL_LIBOSMIUM=ON" + "-DEXTERNAL_PROTOZERO=ON" + "-DEXTERNAL_FMT=ON" + "-DEXTERNAL_RAPIDJSON=ON"))) (inputs (list boost bzip2 expat + fmt libosmium lua postgresql proj protozero + rapidjson zlib)) (native-inputs (list python python-psycopg2)) @@ -1828,7 +1827,7 @@ ways, and relations) and their metadata tags.") (define-public libmaxminddb (package (name "libmaxminddb") - (version "1.4.3") + (version "1.6.0") (source (origin (method url-fetch) @@ -1836,7 +1835,7 @@ ways, and relations) and their metadata tags.") "/releases/download/" version "/" "/libmaxminddb-" version ".tar.gz")) (sha256 - (base32 "0fd4a4sxiiwzbd5h74wl1ijnb7xybjyybb7q41vdq3w8nk3zdzd5")))) + (base32 "0rw2z7rx8jzgdcgqlmc4wqrsjmiwd8vm5wvvrldy472rghcaq83n")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -1855,14 +1854,14 @@ associated with an address.") (define-public python-maxminddb (package (name "python-maxminddb") - (version "1.5.1") + (version "2.2.0") (source (origin (method url-fetch) (uri (pypi-uri "maxminddb" version)) (sha256 (base32 - "0y9giw81k4wdmpryr4k42w50z292mf364a6vs1vxf83ksc9ig6j4")))) + "1rc4a403r3b4vhmhb03gidd0fmsbvfpbf3qfcw25h4db9zn0fxz3")))) (build-system python-build-system) (arguments `(#:tests? #f)) ;; Tests require a copy of the maxmind database diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index c37ae27cc5..beab5429bf 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com> ;;; Copyright © 2022 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2022 Sughosha <sughosha@proton.me> +;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1137,7 +1138,7 @@ like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.") (native-inputs (list gtk+ `(,glib "bin") ; for "glib-compile-resources" - librsvg + (librsvg-for-system) pkg-config ruby-sass sassc)) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 017a230721..8199a8af29 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4904,7 +4904,7 @@ and the GLib main loop, to integrate well with GNOME applications.") (define-public libsecret (package (name "libsecret") - (version "0.20.4") + (version "0.20.5") (source (origin (method url-fetch) (uri (string-append @@ -4913,28 +4913,47 @@ and the GLib main loop, to integrate well with GNOME applications.") "libsecret-" version ".tar.xz")) (sha256 (base32 - "0a4xnfmraxchd9cq5ai66j12jv2vrgjmaaxz25kl031jvda4qnij")))) - (build-system gnu-build-system) - (outputs '("out" "doc")) + "0k9bs47rzb3dwvznb4179d6nw7rbzjdyd4y8hx6vazfd1wscxcrz")))) + (build-system meson-build-system) (arguments - `(#:tests? #f ; FIXME: Testing hangs. - #:configure-flags - (list (string-append "--with-html-dir=" - (assoc-ref %outputs "doc") - "/share/gtk-doc/html")))) + (list + #:configure-flags + #~(list "-Dgtk_doc=false") ;requires gi-docgen + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-problematic-tests + (lambda _ + (substitute* "libsecret/meson.build" + ;; The test-collection test fails non-deterministically (see: + ;; https://gitlab.gnome.org/GNOME/libsecret/-/issues/80). + ((".*'test-collection',.*") "")))) + (delete 'check) + (add-after 'install 'check + (lambda* (#:key tests? test-options #:allow-other-keys) + (when tests? + (setenv "HOME" "/tmp") + (setenv "XDG_DATA_DIRS" ;for /org/freedesktop/secrets/collection + (string-append #$output "/share:" + (getenv "XDG_DATA_DIRS"))) + (apply invoke "dbus-run-session" "--" + "meson" "test" "--print-errorlogs" "-t" "0" + test-options))))))) (native-inputs - `(("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") ; for gdbus-codegen, etc. - ("gobject-introspection" ,gobject-introspection) - ("pkg-config" ,pkg-config) - ("vala" ,vala) - ("xsltproc" ,libxslt))) + (list dbus + docbook-xml-4.2 + docbook-xsl + gettext-minimal + `(,glib "bin") ;for gdbus-codegen, etc. + gobject-introspection + libxml2 ;for XML_CATALOG_FILES + libxslt + pkg-config + python + python-dbus + python-pygobject + vala)) (propagated-inputs - (list glib)) ; required by libsecret-1.pc - (inputs - ;; The ‘build’ phase complains about missing docbook-xml-4.2 but adding it - ;; doesn't seem to affect the build result. - (list docbook-xsl libgcrypt libxml2)) ; for XML_CATALOG_FILES + (list glib libgcrypt)) ;required by libsecret-1.pc (home-page "https://wiki.gnome.org/Projects/Libsecret/") (synopsis "GObject bindings for \"Secret Service\" API") (description @@ -7130,7 +7149,7 @@ configuration program to choose applications starting on login.") (define-public gjs (package (name "gjs") - (version "1.70.0") + (version "1.72.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7138,7 +7157,7 @@ configuration program to choose applications starting on login.") name "-" version ".tar.xz")) (sha256 (base32 - "0pqwhq0znprs0h5ixz396912acwzk9zvjfhi9qvh52ii38s2j1jb")) + "0xrrv9lsi087yb9yf146a1aarf5yh6rf4jw9blx30zasvjdkgvnx")) (modules '((guix build utils))) (snippet '(begin @@ -7147,10 +7166,7 @@ configuration program to choose applications starting on login.") (("☭") "")))))) (build-system meson-build-system) (arguments - ;; Use meson-0.59, otherwise we'd get "ERROR: "install_dir" must be - ;; specified when installing a target". - `(#:meson ,meson-0.59 - #:configure-flags '("-Dinstalled_tests=false") + '(#:configure-flags '("-Dinstalled_tests=false") #:phases (modify-phases %standard-phases (add-before 'check 'pre-check @@ -7162,17 +7178,17 @@ configuration program to choose applications starting on login.") ;; For the missing /etc/machine-id. (setenv "DBUS_FATAL_WARNINGS" "0")))))) (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-compile-resources - ("pkg-config" ,pkg-config) - ("xmllint" ,libxml2) - ;; For testing - ("dbus-launch" ,dbus) - ("dconf" ,dconf) ; required to properly store settings - ("uuidgen" ,util-linux) - ("xvfb" ,xorg-server-for-tests))) + (list `(,glib "bin") ;for glib-compile-resources + pkg-config + libxml2 + ;; For testing + dbus + dconf ;required to properly store settings + util-linux + xorg-server-for-tests)) (propagated-inputs ;; These are all in the Requires.private field of gjs-1.0.pc. - (list cairo gobject-introspection mozjs)) + (list cairo gobject-introspection mozjs-91)) (inputs (list gtk+ readline)) (synopsis "Javascript bindings for GNOME") diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index faebb2c349..c4239d769f 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2019, 2020 Adrian Malacoda <malacoda@monarch-pass.net> ;;; Copyright © 2020, 2021, 2022 Jonathan Brielmaier <jonathan.brielmaier@web.de> -;;; Copyright © 2020 Marius Bakke <marius@gnu.org> +;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> @@ -97,16 +97,16 @@ (define-public mozjs (package (name "mozjs") - (version "78.15.0") + (version "102.2.0") (source (origin (method url-fetch) ;; TODO: Switch to IceCat source once available on ftp.gnu.org. - (uri (string-append "https://archive.mozilla.org/pub/firefox" + (uri (string-append "https://ftp.mozilla.org/pub/firefox" "/releases/" version "esr/source/firefox-" version "esr.source.tar.xz")) (sha256 (base32 - "0l91cxdc5v9fps79ckb1kid4gw6v5qng1jd9zvaacwaiv628shx4")))) + "1zwpgis7py1bf8p88pz3mpai6a02qrdb8ww2fa9kxxdl9b8r2k81")))) (build-system gnu-build-system) (arguments (list @@ -148,7 +148,7 @@ (for-each generate-all-checksums '("js" "third_party/rust"))))) (replace 'configure - (lambda* (#:key inputs configure-flags #:allow-other-keys) + (lambda* (#:key configure-flags #:allow-other-keys) ;; The configure script does not accept environment variables as ;; arguments. It also must be run from a different directory, ;; but not the root directory either. @@ -157,43 +157,11 @@ (setenv "SHELL" (which "sh")) (setenv "CONFIG_SHELL" (which "sh")) (setenv "AUTOCONF" (which "autoconf")) - (apply invoke "../js/src/configure" - (cons (string-append "--prefix=" #$output) - configure-flags)))) - (add-after 'unpack 'adjust-for-icu-68 - (lambda _ - (with-directory-excursion "js/src/tests" - ;; The test suite expects a lightly patched ICU 67. Since - ;; Guix is about to switch to ICU 68, massage the tests to - ;; work with that instead of patching ICU. Try removing this - ;; phase for newer versions of mozjs. - - ;; These tests look up locale names and expects to get - ;; "GB" instead of "UK". - (substitute* "non262/Intl/DisplayNames/language.js" - (("Traditionell, GB") - "Traditionell, UK")) - (substitute* "non262/Intl/DisplayNames/region.js" - (("\"GB\": \"GB\"") - "\"GB\": \"UK\"")) - - ;; XXX: Some localized time formats have changed, and - ;; substitution fails for accented characters, even though - ;; it works in the REPL(?). Just delete these for now. - (delete-file "non262/Intl/Date/toLocaleString_timeZone.js") - (delete-file "non262/Intl/Date/toLocaleDateString_timeZone.js") - - ;; Similarly, these get an unexpected "A" suffix when looking - ;; up a time in the "ar-MA-u-ca-islamicc" locale, which is - ;; tricky to substitute. - (delete-file "non262/Intl/DateTimeFormat/format_timeZone.js") - (delete-file "non262/Intl/DateTimeFormat/format.js") - - ;; This file compares a generated list of ICU locale names - ;; with actual lookups. Some have changed slightly, i.e. - ;; daf-Latn-ZZ -> daf-Latn-CI, so drop it for simplicity. - (delete-file "non262/Intl/Locale/likely-subtags-generated.js")))) - (add-before 'check 'pre-check + (apply invoke "python" "../configure.py" + "--enable-project=js" + (string-append "--prefix=" #$output) + configure-flags))) + (add-before 'check 'adjust-tests (lambda _ (with-directory-excursion "../js/src/tests" (substitute* "shell/os.js" @@ -201,34 +169,44 @@ ((".*killed process should not have exitStatus.*") "")) - ;; XXX: Delete all tests that test time zone functionality, - ;; because the test suite uses /etc/localtime to figure out - ;; the offset from the hardware clock, which does not work - ;; in the build container. See <tests/non262/Date/shell.js>. - (delete-file-recursively "non262/Date") - (delete-file "non262/Intl/DateTimeFormat/tz-environment-variable.js") + ;; The test suite expects a lightly patched ICU. Disable tests + ;; that do not work with the system version. See + ;; "intl/icu-patches" for clues. - (setenv "JSTESTS_EXTRA_ARGS" - (string-join - (list - ;; Do not run tests marked as "random". - "--exclude-random" - ;; Exclude web platform tests. - "--wpt=disabled" - ;; Respect the daemons configured number of jobs. - (string-append "--worker-count=" - (number->string (parallel-job-count)))))))))))) + ;; See <https://unicode-org.atlassian.net/browse/ICU-20992> and + ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=1636984> and + ;; related patch for why this is failing. + (delete-file "non262/Intl/DateTimeFormat/\ +fractional-second-digits-append-item.js") + ;; FIXME: got "0 \u251CAM/PM: noon\u2524", expected "0 (AM/PM: noon)" + (delete-file "non262/Intl/DateTimeFormat/day-period-hour-cycle.js") + ;; FIXME: got "en-US-posix", expected "en-US-POSIX". + (delete-file "non262/Intl/available-locales-supported.js") + ;; FIXME: got "en-US", expected "en-US-POSIX" + (delete-file "non262/Intl/available-locales-resolved.js")))) + (add-before 'check 'pre-check + (lambda _ + (setenv "JSTESTS_EXTRA_ARGS" + (string-join + (list + ;; Do not run tests marked as "random". + "--exclude-random" + ;; Exclude web platform tests. + "--wpt=disabled" + ;; Respect the daemons configured number of jobs. + (string-append "--worker-count=" + (number->string (parallel-job-count))))))))))) (native-inputs - (list autoconf-2.13 - automake + (list autoconf llvm ;for llvm-objdump + m4 perl pkg-config - python-3 + python-wrapper rust `(,rust "cargo"))) (inputs - (list icu4c-69 readline zlib)) + (list icu4c readline zlib)) (propagated-inputs (list nspr)) ; in the Requires.private field of mozjs-*.pc (home-page @@ -238,6 +216,139 @@ in C/C++.") (license license:mpl2.0))) ; and others for some files +(define-public mozjs-91 + (package + (inherit mozjs) + (version "91.13.0") + (source (origin + (method url-fetch) + (uri (string-append "https://ftp.mozilla.org/pub/firefox" + "/releases/" version "esr/source/firefox-" + version "esr.source.tar.xz")) + (sha256 + (base32 + "0qh7j960wdp5zcfqhkj8ki47spp9i9ms12xx0v0kxvmmw36jpgjk")))) + (arguments + (substitute-keyword-arguments (package-arguments mozjs) + ((#:phases phases) + #~(modify-phases #$phases + (add-before 'check 'disable-timezone-tests + (lambda _ + (with-directory-excursion "../js/src/tests" + ;; FIXME: Assertion failed: got "2021a", expected "2021a3"? + (delete-file "non262/Intl/DateTimeFormat/timeZone_version.js") + ;; XXX: Delete all tests that test time zone functionality, + ;; because the test suite uses /etc/localtime to figure out + ;; the offset from the hardware clock, which does not work + ;; in the build container. See <tests/non262/Date/shell.js>. + (delete-file-recursively "non262/Date") + (delete-file + "non262/Intl/DateTimeFormat/tz-environment-variable.js")))))))) + (inputs (modify-inputs (package-inputs mozjs) + (replace "icu4c" icu4c-69))))) + +(define-public mozjs-78 + (package + (inherit mozjs) + (name "mozjs") + (version "78.15.0") + (source (origin + (method url-fetch) + (uri (string-append "https://archive.mozilla.org/pub/firefox" + "/releases/" version "esr/source/firefox-" + version "esr.source.tar.xz")) + (sha256 + (base32 + "0l91cxdc5v9fps79ckb1kid4gw6v5qng1jd9zvaacwaiv628shx4")))) + (build-system gnu-build-system) + (arguments + (substitute-keyword-arguments (package-arguments mozjs) + ((#:phases phases) + #~(modify-phases #$phases + (replace 'configure + (lambda* (#:key configure-flags #:allow-other-keys) + ;; The configure script does not accept environment variables as + ;; arguments. It also must be run from a different directory, + ;; but not the root directory either. + (mkdir "run-configure-from-here") + (chdir "run-configure-from-here") + (setenv "SHELL" (which "sh")) + (setenv "CONFIG_SHELL" (which "sh")) + (setenv "AUTOCONF" (which "autoconf")) + (apply invoke "../js/src/configure" + (cons (string-append "--prefix=" #$output) + configure-flags)))) + (replace 'adjust-tests + (lambda _ + (with-directory-excursion "../js/src/tests" + ;; The test suite expects a lightly patched ICU 67. Since + ;; Guix is about to switch to ICU 68, massage the tests to + ;; work with that instead of patching ICU. Try removing this + ;; phase for newer versions of mozjs. + + ;; These tests look up locale names and expects to get + ;; "GB" instead of "UK". + (substitute* "non262/Intl/DisplayNames/language.js" + (("Traditionell, GB") + "Traditionell, UK")) + (substitute* "non262/Intl/DisplayNames/region.js" + (("\"GB\": \"GB\"") + "\"GB\": \"UK\"")) + + ;; XXX: Some localized time formats have changed, and + ;; substitution fails for accented characters, even though + ;; it works in the REPL(?). Just delete these for now. + (delete-file "non262/Intl/Date/toLocaleString_timeZone.js") + (delete-file "non262/Intl/Date/toLocaleDateString_timeZone.js") + + ;; Similarly, these get an unexpected "A" suffix when looking + ;; up a time in the "ar-MA-u-ca-islamicc" locale, which is + ;; tricky to substitute. + (delete-file "non262/Intl/DateTimeFormat/format_timeZone.js") + (delete-file "non262/Intl/DateTimeFormat/format.js") + + ;; This file compares a generated list of ICU locale names + ;; with actual lookups. Some have changed slightly, i.e. + ;; daf-Latn-ZZ -> daf-Latn-CI, so drop it for simplicity. + (delete-file "non262/Intl/Locale/likely-subtags-generated.js")))) + (replace 'pre-check + (lambda _ + (with-directory-excursion "../js/src/tests" + (substitute* "shell/os.js" + ;; FIXME: Why does the killed process have an exit status? + ((".*killed process should not have exitStatus.*") + "")) + + ;; XXX: Delete all tests that test time zone functionality, + ;; because the test suite uses /etc/localtime to figure out + ;; the offset from the hardware clock, which does not work + ;; in the build container. See <tests/non262/Date/shell.js>. + (delete-file-recursively "non262/Date") + (delete-file "non262/Intl/DateTimeFormat/tz-environment-variable.js") + + (setenv "JSTESTS_EXTRA_ARGS" + (string-join + (list + ;; Do not run tests marked as "random". + "--exclude-random" + ;; Exclude web platform tests. + "--wpt=disabled" + ;; Respect the daemons configured number of jobs. + (string-append "--worker-count=" + (number->string + (parallel-job-count))))))))))))) + (native-inputs + (list autoconf-2.13 + automake + llvm ;for llvm-objdump + perl + pkg-config + python-3 + rust + `(,rust "cargo"))) + (inputs + (list icu4c-69 readline zlib)))) + (define mozilla-compare-locales (origin (method hg-fetch) @@ -367,8 +478,8 @@ in C/C++.") ;; XXXX: Workaround 'snippet' limitations. (define computed-origin-method (@@ (guix packages) computed-origin-method)) -(define %icecat-version "91.12.0-guix0-preview1") -(define %icecat-build-id "20220726000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-version "91.13.0-guix0-preview1") +(define %icecat-build-id "20220823000000") ;must be of the form YYYYMMDDhhmmss ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -390,11 +501,11 @@ in C/C++.") "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "0p1bhc1qla4a7iqk0fc6sj224ld6wplpmj4yw6nfx1b8hbqqy2vc")))) + "0qh7j960wdp5zcfqhkj8ki47spp9i9ms12xx0v0kxvmmw36jpgjk")))) - (upstream-icecat-base-version "91.12.0") ; maybe older than base-version + (upstream-icecat-base-version "91.13.0") ; maybe older than base-version ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) - (gnuzilla-commit "298024d727053a1609df4003fb4438836d5181f4") + (gnuzilla-commit "4a87716686104266a9cccc2d83cc249e312f3673") (gnuzilla-source (origin (method git-fetch) @@ -406,7 +517,7 @@ in C/C++.") (string-take gnuzilla-commit 8))) (sha256 (base32 - "1lgz6knklxbrqr1vaj9d0y0997f4f6v44a8cng8ihkmn7aa7lvwg")))) + "070j78al04xzchfl5xj1w300hmw17a3iqcw7mnlxf6b8rqlgj20p")))) ;; 'search-patch' returns either a valid file name or #f, so wrap it ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 1ce55875d8..383d4d1618 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -23,7 +23,7 @@ ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 raingloom <raingloom@riseup.net> ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net> -;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@mgail.com> ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> @@ -54,6 +54,7 @@ (define-module (gnu packages golang) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) + #:use-module (guix gexp) #:use-module (guix memoization) #:use-module ((guix build utils) #:select (alist-replace)) #:use-module (guix download) @@ -1142,6 +1143,29 @@ different output targets. Supports colors and text decoration to all popular terminals.") (license license:bsd-3))) +(define-public go-github-com-kortschak-utter + (package + (name "go-github-com-kortschak-utter") + (version "1.5.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kortschak/utter") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13lg8gzvgjnljf1lz8qsfz3qcmbvrsxp3ip7mp2kscfz07r69dyw")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/kortschak/utter")) + (home-page "https://github.com/kortschak/utter") + (synopsis "Deep pretty printer") + (description + "This package implements a deep pretty printer for Go data structures to +aid data snapshotting.") + (license license:isc))) + (define-public go-github-com-shadowsocks-go-shadowsocks2 (package (name "go-github-com-shadowsocks-go-shadowsocks2") @@ -2415,7 +2439,16 @@ termination.") "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/jtolds/gls")) + (list + #:import-path "github.com/jtolds/gls" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; The tests fail when run with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (synopsis "@code{gls} provides Goroutine local storage") (description "The @code{gls} package provides a way to store a retrieve values @@ -2976,7 +3009,7 @@ Go.") (define-public go-github-com-stretchr-objx (package (name "go-github-com-stretchr-objx") - (version "0.2.0") + (version "0.4.0") (source (origin (method git-fetch) @@ -2986,14 +3019,23 @@ Go.") (file-name (git-file-name name version)) (sha256 (base32 - "0pcdvakxgddaiwcdj73ra4da05a3q4cgwbpm2w75ycq4kzv8ij8k")) + "0dygds32qxx6x1x2mmn7msyjr15qi5r70pyzv8dz8cprxq32nzc1")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "vendor"))))) (build-system go-build-system) (arguments - '(#:import-path "github.com/stretchr/objx")) + (list + #:import-path "github.com/stretchr/objx" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; The tests fail when run with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (propagated-inputs (list go-github-com-davecgh-go-spew go-github-com-pmezard-go-difflib)) @@ -3758,7 +3800,7 @@ application's http.Handlers.") (define-public go-github-com-sirupsen-logrus (package (name "go-github-com-sirupsen-logrus") - (version "1.8.1") + (version "1.9.0") (source (origin (method git-fetch) @@ -3768,14 +3810,23 @@ application's http.Handlers.") (file-name (git-file-name name version)) (sha256 (base32 - "0rvqzic2zz7fpxyizmqxwmhv1m52ii9bgxnqa6km8wsa0l08wh42")))) + "12i402dxq5js4npnncg043vx874h6nk4ffn4gswcccxrp6h10ivz")))) (build-system go-build-system) + (arguments + (list + #:import-path "github.com/sirupsen/logrus" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; The tests fail when run with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (propagated-inputs (list go-github-com-davecgh-go-spew go-github-com-pmezard-go-difflib go-github-com-stretchr-testify go-golang-org-x-crypto go-golang-org-x-sys)) - (arguments - '(#:import-path "github.com/sirupsen/logrus")) (home-page "https://github.com/sirupsen/logrus") (synopsis "Structured, pluggable logging for Go") (description "Logrus is a structured logger for Go, completely API @@ -4018,7 +4069,16 @@ which satisfies the cron expression.") "1jwxndf8rsyx0fgrp47d99rp55yzssmryb92jfj3yf7zd8rjjljn")))) (build-system go-build-system) (arguments - '(#:import-path "gopkg.in/check.v1")) + (list + #:import-path "gopkg.in/check.v1" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; The tests fail when run with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (propagated-inputs (list go-github-com-kr-pretty)) (home-page "https://gopkg.in/check.v1") @@ -5994,7 +6054,16 @@ decode/encode structures and slices.") "1761pybhc2kqr6v5fm8faj08x9bql8427yqg6vnfv6nhrasx1mwq")))) (build-system go-build-system) (arguments - `(#:import-path "github.com/pkg/errors")) + (list + #:import-path "github.com/pkg/errors" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; The tests fail when run with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (synopsis "Go error handling primitives") (description "This package provides @code{error}, which offers simple error handling primitives in Go.") @@ -9069,7 +9138,7 @@ anti-fragmentation protection.") (define-public go-github-com-valyala-fasthttp (package (name "go-github-com-valyala-fasthttp") - (version "1.31.0") + (version "1.39.0") (source (origin (method git-fetch) @@ -9078,10 +9147,19 @@ anti-fragmentation protection.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0ra0n2shcp11736xv37cjnsqn32gvqfm3dkf9v8j98xmch2wqxqg")))) + (base32 "12qwx0yk7wjj25v4fswgmj28r69gk94kqdmzavca8k9f0yznniz1")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/valyala/fasthttp")) + (list + #:import-path "github.com/valyala/fasthttp" + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (unless + ;; Tests hang forever with gccgo. + (false-if-exception (search-input-file inputs "/bin/gccgo")) + (apply (assoc-ref %standard-phases 'check) args))))))) (propagated-inputs (list go-golang-org-x-sys go-golang-org-x-net diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index 9aadab45e6..109ba68675 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -537,7 +537,7 @@ of the Louvain algorithm, for a number of different methods.") (define-public edge-addition-planarity-suite (package (name "edge-addition-planarity-suite") - (version "3.0.0.5") + (version "3.0.2.0") (source (origin (method git-fetch) @@ -548,7 +548,7 @@ of the Louvain algorithm, for a number of different methods.") (file-name (git-file-name name version)) (sha256 (base32 - "01cm7ay1njkfsdnmnvh5zwc7wg7x189hq1vbfhh9p3ihrbnmqzh8")))) + "1c7bnxgiz28mqsq3a3msznmjq629w0qqjynm2rqnnjn2qpc22h3i")))) (build-system gnu-build-system) (native-inputs (list autoconf automake libtool)) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 26c6a27113..a09e20b174 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -177,6 +177,11 @@ framebuffer graphics, audio output and input event.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'remove-buildtime + ;; Remove embedded build time for reproducible builds + (lambda _ + (substitute* "src/core/core.c" + (("..BUILDTIME..") "")))) (add-after 'unpack 'disable-configure-during-bootstrap (lambda _ (substitute* "autogen.sh" @@ -852,6 +857,7 @@ basic geometries.") (native-inputs (list python-defcon-bootstrap python-fontpens-bootstrap + python-setuptools-scm python-pytest python-wheel unzip)) @@ -1915,8 +1921,9 @@ Cflags: -I${includedir}~%" #$output #$version)))))))) (inputs (list expat fontconfig freetype harfbuzz mesa libwebp zlib)) (home-page "https://skia.org/") (synopsis "2D graphics library") - (description "Skia is an open source 2D graphics library. It can be -used for drawing text, geometries, and images and has support for: + (description + "Skia is a 2D graphics library for drawing text, geometries, and images. +It supports: @itemize @item 3x3 matrices with perspective @item antialiasing, transparency, filters @@ -2018,7 +2025,7 @@ Some feature highlights: (define-public openxr (package (name "openxr") - (version "1.0.23") + (version "1.0.24") (source (origin (method git-fetch) @@ -2032,7 +2039,7 @@ Some feature highlights: ;; Delete bundled jsoncpp. (delete-file-recursively "src/external/jsoncpp"))) (sha256 - (base32 "11w5a2ny30r8jghd5jwdxi5b2c84m21fmkp0lhpicbrwr98xgpj3")))) + (base32 "1lkbw03hpwnqcbn0fmxs4cnp5m04hc0ys6y111n7vlrg11sjdpq5")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; there are no tests diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 61ec399dd1..a938800d04 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -121,6 +121,8 @@ way of representing structural information as diagrams of abstract graphs and networks. It has important applications in networking, bioinformatics, software engineering, database and web design, machine learning, and in visual interfaces for other technical domains.") + (properties + '((release-monitoring-url . "https://graphviz.org/download/source/"))) (license license:epl1.0))) ;; Older Graphviz needed for pygraphviz. See diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 85937ed7dd..ecf6413d9d 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm |