diff options
author | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-07-13 17:21:32 +0200 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2023-07-13 17:21:32 +0200 |
commit | 15406013fe63f2ab238eec2d7a8adbc586806ac8 (patch) | |
tree | 8377d7c70a925f7c5ea4c04473c4eb547610b64b /gnu/packages | |
parent | a3ac317ab4a90f66ac65055fa26dee58ed2367b8 (diff) | |
parent | dd4c1992103a65b8fbdc80fe07a9fe9be822769a (diff) | |
download | guix-15406013fe63f2ab238eec2d7a8adbc586806ac8.tar.gz |
Merge branch 'master' into emacs-team emacs-team
Diffstat (limited to 'gnu/packages')
202 files changed, 12729 insertions, 5062 deletions
diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm index da6dead3c2..eb20fdd549 100644 --- a/gnu/packages/acl.scm +++ b/gnu/packages/acl.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2021 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; ;;; This file is part of GNU Guix. @@ -28,14 +28,14 @@ #:use-module (gnu packages attr) #:use-module (gnu packages base) #:use-module (gnu packages check) - #:use-module (gnu packages hurd) #:use-module (gnu packages gettext) #:use-module (gnu packages perl) #:use-module (guix packages) #:use-module (guix download) #:use-module (gnu packages) #:use-module (guix build-system gnu) - #:use-module (guix build-system python)) + #:use-module (guix build-system python) + #:use-module (guix utils)) (define-public acl (package @@ -55,7 +55,7 @@ ,@%gnu-build-system-modules) #:configure-flags '("--disable-static") #:tests? ,(not (or (%current-target-system) - (hurd-target?))) + (target-hurd?))) #:phases (modify-phases %standard-phases ;; XXX After repacking the sources the timestamps are reset to the diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 3193aa1456..e9e949bf14 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012-2022 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2014, 2015, 2016, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015-2018, 2020-2023 Eric Bavier <bavier@posteo.net> @@ -31,7 +31,7 @@ ;;; Copyright © 2019, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> @@ -130,7 +130,6 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) - #:use-module (gnu packages hurd) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages inkscape) @@ -378,7 +377,11 @@ interface and is based on GNU Guile.") version ".tar.gz")) (sha256 (base32 - "1720czfchg4pzw44v0zj3rc3k6jhl3ixwnpw4v4v9bqx98ad49yw")))))) + "1720czfchg4pzw44v0zj3rc3k6jhl3ixwnpw4v4v9bqx98ad49yw")))) + (native-inputs (modify-inputs (package-native-inputs shepherd-0.9) + (replace "guile-fibers" guile-fibers-1.3))) + (inputs (modify-inputs (package-inputs shepherd-0.9) + (replace "guile-fibers" guile-fibers-1.3))))) (define-public shepherd shepherd-0.9) @@ -589,7 +592,7 @@ graphs and can export its output to different formats.") (define-public facter (package (name "facter") - (version "4.0.52") + (version "4.4.1") (source (origin (method git-fetch) (uri (git-reference @@ -598,63 +601,61 @@ graphs and can export its output to different formats.") (file-name (git-file-name name version)) (sha256 (base32 - "05j4q87sak1f1isj7ngzr59h3j3xskfwjjwfv0xd7lhwcaxg3a3c")))) + "080v0ml2svw2vbzfa659v8718pmhh2kav0l0q1jjvc6mm8sgnmmn")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'delete-facter-ng-gemspec - (lambda _ - ;; XXX: ruby-build-system incorrectly finds - ;; facter-ng.gemspec from this directory and tries to - ;; build that instead of the proper facter.gemspec. - ;; Just delete it as a workaround, as it appears to - ;; only exist for backwards-compatibility after the - ;; facter-ng->facter rename. - (delete-file "agent/facter-ng.gemspec") - #t)) - (add-after 'unpack 'embed-absolute-references - ;; Refer to absolute executable file names to avoid propagation. - (lambda* (#:key inputs #:allow-other-keys) - (substitute* (find-files "lib/facter/resolvers" "\\.rb$") - (("execute\\('(which |)([^ ']+)" _ _ name) - (string-append "execute('" (or (which name) - name)))) - #t)) - (delete 'check) - (add-after 'wrap 'check - (lambda* (#:key tests? outputs #:allow-other-keys) - ;; XXX: The test suite wants to run Bundler and - ;; complains that the gemspec is invalid. For now - ;; just make sure that we can run the wrapped - ;; executable directly. - (if tests? - (invoke (string-append (assoc-ref outputs "out") - "/bin/facter") - ;; Many facts depend on /sys, /etc/os-release, - ;; etc, so we only run a small sample. - "facterversion" "architecture" - "kernel" "kernelversion") - (format #t "tests disabled~%")) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'delete-facter-ng-gemspec + (lambda _ + ;; XXX: ruby-build-system incorrectly finds + ;; facter-ng.gemspec from this directory and tries to + ;; build that instead of the proper facter.gemspec. + ;; Just delete it as a workaround, as it appears to + ;; only exist for backwards-compatibility after the + ;; facter-ng->facter rename. + (delete-file "agent/facter-ng.gemspec"))) + (add-after 'unpack 'embed-absolute-references + ;; Refer to absolute executable file names to avoid propagation. + (lambda* (#:key inputs #:allow-other-keys) + (substitute* (find-files "lib/facter/resolvers" "\\.rb$") + (("execute\\('(which |)([^ ']+)" _ _ name) + (string-append "execute('" (or (which name) + name)))))) + (delete 'check) + (add-after 'wrap 'check + (lambda* (#:key tests? outputs #:allow-other-keys) + ;; XXX: The test suite wants to run Bundler and + ;; complains that the gemspec is invalid. For now + ;; just make sure that we can run the wrapped + ;; executable directly. + (if tests? + (invoke (string-append (assoc-ref outputs "out") + "/bin/facter") + ;; Many facts depend on /sys, /etc/os-release, + ;; etc, so we only run a small sample. + "facterversion" "architecture" + "kernel" "kernelversion") + (format #t "tests disabled~%"))))))) (inputs - `(("ruby-hocon" ,ruby-hocon) - ("ruby-sys-filesystem" ,ruby-sys-filesystem) - ("ruby-thor" ,ruby-thor) - - ;; For ‘embed-absolute-references’. - ("dmidecode" ,dmidecode) - ("inetutils" ,inetutils) ; for ‘hostname’ - ("iproute" ,iproute) - ("pciutils" ,pciutils) - ("util-linux" ,util-linux))) + (list ruby-hocon + ruby-sys-filesystem + ruby-thor + + ;; For ‘embed-absolute-references’. + dmidecode + inetutils ; for ‘hostname’ + iproute + pciutils + util-linux)) (synopsis "Collect and display system facts") (description "Facter is a tool that gathers basic facts about nodes (systems) such as hardware details, network settings, OS type and version, and more. These facts can be collected on the command line with the @command{facter} command or via the @code{facter} Ruby library.") - (home-page "https://github.com/puppetlabs/facter-ng") + (home-page "https://github.com/puppetlabs/facter") (license license:expat))) (define-public ttyload @@ -909,7 +910,7 @@ re-executing them as necessary.") ,@(if (%current-target-system) '("--with-path-procnet-dev=/proc/net/dev") '()) - ,@(if (hurd-target?) + ,@(if (target-hurd?) '("--disable-rcp" "--disable-rexec" "--disable-rexecd" @@ -963,7 +964,7 @@ hostname.") `(;; Assume System V `setpgrp (void)', which is the default on GNU ;; variants (`AC_FUNC_SETPGRP' is not cross-compilation capable.) #:configure-flags - '(,@(if (hurd-target?) + '(,@(if (target-hurd?) '() '("--with-libpam")) "shadow_cv_logdir=/var/log" @@ -1014,7 +1015,7 @@ hostname.") (delete-file (string-append bin "/groups")) (for-each delete-file (find-files man "^groups\\.")))))))) (inputs - `(,@(if (hurd-target?) + `(,@(if (target-hurd?) '() `(("linux-pam" ,linux-pam))) ,@(if (%current-target-system) @@ -1523,7 +1524,7 @@ connection alive.") (inputs `(("inetutils" ,inetutils) ("bash" ,bash-minimal) - ,@(if (hurd-target?) '() + ,@(if (target-hurd?) '() `(("net-tools" ,net-tools) ("iproute" ,iproute))) @@ -1658,14 +1659,14 @@ network statistics collection, security monitoring, network debugging, etc.") (define-public tcpdump (package (name "tcpdump") - (version "4.99.1") + (version "4.99.4") (source (origin (method url-fetch) (uri (string-append "https://www.tcpdump.org/release/tcpdump-" version ".tar.gz")) (sha256 (base32 - "1ghfs5gifzrk3813zf9zalfbjs70wg6llz6q31k180r7zf2nkcvr")))) + "1slzwjk5f8sygwxqci4vkbas0qqcgs5a0w3f8br6p7gjn8dj6ch2")))) (build-system gnu-build-system) (inputs (list libpcap openssl)) (native-inputs (list perl)) ; for tests @@ -2033,7 +2034,7 @@ system administrator.") (list groff)) (inputs `(("coreutils" ,coreutils) - ,@(if (hurd-target?) + ,@(if (target-hurd?) '() `(("linux-pam" ,linux-pam))) ("zlib" ,zlib))) @@ -2730,7 +2731,7 @@ various ways that may be running with too much privilege.") (define-public smartmontools (package (name "smartmontools") - (version "7.2") + (version "7.3") (source (origin (method url-fetch) (uri (string-append @@ -2738,7 +2739,7 @@ various ways that may be running with too much privilege.") version "/smartmontools-" version ".tar.gz")) (sha256 (base32 - "1mlc25sd5rgj5xmzcllci47inmfdw7cp185fday6hc9rwqkqmnaw")))) + "0ax2wf5j8k2fbm85s0rbj9sajn5q3j2a2k22wyqcyn0cin0ghi55")))) (build-system gnu-build-system) (arguments (list #:make-flags @@ -3540,24 +3541,27 @@ a new command using the matched rule, and runs it.") (define-public di (package (name "di") - (version "4.51") + (version "4.52") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/diskinfo-di/di-" version ".tar.gz")) + (uri (string-append "mirror://sourceforge/diskinfo-di/" + "di-" version ".tar.gz")) (sha256 - (base32 "1fv12j9b9sw6p38lcbzcw87zl5qp1aa7a4a4jn3449zz9af15ckr")))) + (base32 "07vsnn1gxm3r7dchbrq63iazd64gza2ac7b2m1039708rf5flxdp")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; obscure test failures - #:phases - (modify-phases %standard-phases - (delete 'configure) ; no configure script - (add-before 'build 'setup-environment - (lambda* (#:key outputs #:allow-other-keys) - (setenv "CC" ,(cc-for-target)) - (setenv "prefix" (assoc-ref outputs "out"))))) - #:make-flags (list "--environment-overrides"))) + (list + #:tests? #f ; obscure test failures + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ; no configure script + (add-before 'build 'override-environment + (lambda _ + (setenv "CC" #$(cc-for-target)) + (setenv "prefix" #$output)))) + #:make-flags + #~(list "--environment-overrides"))) (home-page "https://gentoo.com/di/") (synopsis "Advanced df like disk information utility") (description @@ -3900,7 +3904,9 @@ buffers.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0d6jsj77qddccv0vfmqmbw3k2prvxzvmgc8zdi83gdi3wpp5i7zd")))) + (base32 "0d6jsj77qddccv0vfmqmbw3k2prvxzvmgc8zdi83gdi3wpp5i7zd")) + (patches + (search-patches "igt-gpu-tools-Use-libproc2.patch")))) (build-system meson-build-system) (arguments `(#:tests? #f ; many of the tests try to load kernel modules @@ -5764,7 +5770,7 @@ file or files to several hosts.") (define-public doctl (package (name "doctl") - (version "1.93.1") + (version "1.94.0") (source (origin (method git-fetch) (uri (git-reference @@ -5773,7 +5779,7 @@ file or files to several hosts.") (file-name (git-file-name name version)) (sha256 (base32 - "18l0avbq1la1wsfwj13kq5prqz6mydhs3ihvf0f3s3vr2y9h71aq")))) + "0a221n0x7qrq0dbhhf1saya2g7jyy1798k3rhy9nzyvqzc4vnd0x")))) (build-system go-build-system) (arguments (list #:import-path "github.com/digitalocean/doctl/cmd/doctl" diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 3babf90b3c..c755bc7060 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -226,7 +226,7 @@ the real span of the lattice.") (define-public pari-gp (package (name "pari-gp") - (version "2.15.3") + (version "2.15.4") (source (origin (method url-fetch) (uri (string-append @@ -234,7 +234,7 @@ the real span of the lattice.") version ".tar.gz")) (sha256 (base32 - "0s4jasvb3ghvxp9s2ifmr0lk7ckj9529zg28icmdgbyd723abxdd")))) + "03swii601kxnphl6v7wv0rh2xn4rz6xbljzvfw5v9py6w3z5nm63")))) (build-system gnu-build-system) (native-inputs (list (texlive-updmap.cfg (list texlive-amsfonts)))) diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index b0bf2c672b..9691dd0d80 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm @@ -291,7 +291,7 @@ audio or video backends, ensuring good performance.") (define-public lightspark (package (name "lightspark") - (version "0.8.6.1") + (version "0.8.7") (source (origin (method git-fetch) @@ -300,7 +300,7 @@ audio or video backends, ensuring good performance.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1a78l9na01pd7a77r9n8lqih893s54rllpjvrx72sh0yyal1q3gz")))) + (base32 "156yd79dbs6lzp5jc2zd0knw6bk0g8qdm8icp7pkcn95vfvxyzx9")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;requires Adobe Flex SDK, see README.tests @@ -340,7 +340,6 @@ audio or video backends, ensuring good performance.") pcre2 rtmpdump sdl2 - sdl2-mixer zlib)) (home-page "https://lightspark.github.io/") (synopsis "Flash player implementation") diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 03a868690c..104e61f63f 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -553,3 +553,34 @@ family of command line utility wrappers in the default output. Each of the cli tools is named like @code{xed*}. Documentation for the cli tools is sparse, so this is a case where ``the code is the documentation.''") (license license:asl2.0))) + +(define-public neon2sse + (let ((commit "097a5ecacd527d5b5c3006e360fb9cb1c1c48a1f") + (version "0") + (revision "1")) + (package + (name "neon2sse") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/intel/ARM_NEON_2_x86_SSE") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17mf788b8asrvjl6dnyzrm5xrz20wx9j5f8n6drgc6qgwqxpx4hv")))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f)) ;no tests + (home-page "https://github.com/intel/ARM_NEON_2_x86_SSE") + (synopsis "Header file to simplify ARM->IA32 porting") + (description + "The @file{NEON_2_SSE.h} file is intended to simplify ARM-to-IA32 +porting. It makes the correspondence (or a real porting) of ARM NEON +intrinsics as defined in the @file{arm_neon.h} header and x86 SSE (up to +SSE4.2) intrinsic functions as defined in corresponding x86 compilers headers +files.") + (license license:bsd-2)))) + + diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 964e72642c..d3f3711bd1 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 John Darrington <jmd@gnu.org> -;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2023 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 by Amar Singh <nly@disroot.org> ;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in> @@ -55,6 +55,7 @@ #:use-module (gnu packages libevent) #:use-module (gnu packages libusb) #:use-module (gnu packages lua) + #:use-module (gnu packages machine-learning) #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) @@ -463,6 +464,45 @@ in FITS files.") (license (license:non-copyleft "file://License.txt" "See License.txt in the distribution.")))) +(define-public python-astroml + (package + (name "python-astroml") + (version "1.0.2.post1") + (source (origin + (method url-fetch) + (uri (pypi-uri "astroML" version)) + (sha256 + (base32 + "14g2mcd5qdr3nn7icvjs84bjvx17l9glx81sbbna6v53i1x8l625")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + '(list "--ignore-glob=examples/*") + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'patch-build-system + (lambda _ + (substitute* "setup.cfg" + ;; Do not error out on deprecations + ((" error::DeprecationWarning.*") "") + ;; Do not test examples + (("testspaths = astroML doc examples") + "testspaths = astroML")))) + (add-before 'check 'pre-check + ;; Some tests need this + (lambda _ + (setenv "HOME" "/tmp")))))) + (propagated-inputs (list python-astropy python-matplotlib python-numpy + python-scikit-learn python-scipy)) + (native-inputs (list python-pytest-astropy-header python-pytest-cov + python-pytest-doctestplus python-pytest-remotedata)) + (home-page "https://astroml.org") + (synopsis "Tools for machine learning and data mining in astronomy") + (description "This package provides tools for machine learning and data +mining in astronomy.") + (license license:bsd-2))) + (define-public python-fitsio (package (name "python-fitsio") @@ -522,6 +562,39 @@ CFITSIO library. Among other things, it can @end itemize") (license license:gpl2+))) +(define-public python-gatspy + (package + (name "python-gatspy") + (version "0.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "gatspy" version)) + (sha256 + (base32 + "1gw2z6x8nikvnw2gkdl70gr81cwczd1pd7v8ry2kjn6k4kssrfav")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + ;; Tests need this + (add-before 'check 'set-HOME + (lambda _ (setenv "HOME" "/tmp")))) + #:test-flags + '(list "-k" + (string-append + ;; These tests require internet access + "not test_download_data.py" + ;; XXX: we don't have supersmoother + " and not test_supersmoother.py")))) + (propagated-inputs (list python-astroml python-numpy python-scipy)) + (native-inputs (list python-pytest python-nose python-setuptools-scm)) + (home-page "https://github.com/astroml/gatspy") + (synopsis "General tools for astronomical time series in Python") + (description "This package provides general tools for astronomical time +series in Python.") + (license license:bsd-2))) + (define-public qfits (package (name "qfits") @@ -572,35 +645,41 @@ International Astronomical Union}.") (version "1.4.1") (source (origin - (method url-fetch) - (uri (string-append "https://www.astromatic.net/download/eye/" - "eye-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/astromatic/eye") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "092qhzcbrkcfidbx4bv9wz42w297n80jk7a6kwyi9a3fjfz81d7k")))) + (base32 "1j8rpgz3fjp6fw0qmxgfqycf3n01fzxds4w12vgyrhbnk658ia41")))) (build-system gnu-build-system) + (arguments + (list + #:configure-flags + #~(list "CPPFLAGS=-fcommon"))) ; fix build with GCC 10 (home-page "https://www.astromatic.net/software/eye") (synopsis "Small image feature detector using machine learning") (description - "In EyE (Enhance Your Extraction) an artificial neural network connected to -pixels of a moving window (retina) is trained to associate these input stimuli -to the corresponding response in one or several output image(s). The resulting -filter can be loaded in SExtractor to operate complex, wildly non-linear filters -on astronomical images. Typical applications of EyE include adaptive filtering, -feature detection and cosmetic corrections.") + "In @acronym{EyE, Enhance Your Extraction} an artificial neural network +connected to pixels of a moving window (@dfn{retina}) is trained to associate +these input stimuli to the corresponding response in one or several output +image(s). The resulting filter can be loaded in SExtractor to operate +complex, wildly non-linear filters on astronomical images. Typical +applications of EyE include adaptive filtering, feature detection and cosmetic +corrections.") (license license:cecill))) (define-public wcslib (package (name "wcslib") - (version "7.12") + (version "8.1") (source (origin (method url-fetch) - (uri (string-append - "ftp://ftp.atnf.csiro.au/pub/software/wcslib/wcslib-" version - ".tar.bz2")) + (uri (string-append "https://www.atnf.csiro.au/people/mcalabre/WCS/" + "wcslib-" version ".tar.bz2")) (sha256 - (base32 "1m3bx6gh5w3c7vvsqcki0x20mg8lilg13m0i8nh7za89w58dxy4w")))) + (base32 "17hjnkwn2rd5d9krw2n637q4y8ma4nzk2i55zzn8l2yimdpkxwib")))) (inputs (list cfitsio)) (build-system gnu-build-system) @@ -634,12 +713,18 @@ header.") (version "1.12") (source (origin - (method url-fetch) - (uri (string-append "https://www.astromatic.net/download/weightwatcher/" - "weightwatcher-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/astromatic/weightwatcher") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "1zaqd8d9rpgcwjsp92q3lkfaa22i20gppb91dz34ym54swisjc2p")))) + (base32 "0701z6bdqq32jv7ga3n6jh27q684ni0hbfjm1mak7rh0qqx089gi")))) (build-system gnu-build-system) + (arguments + (list + #:configure-flags + #~(list "CFLAGS=-fcommon"))) ; fix build with GCC 10 (home-page "https://www.astromatic.net/software/weightwatcher") (synopsis "Weight-map/flag-map multiplexer and rasteriser") (description @@ -651,7 +736,7 @@ astronomical image-processing packages like Drizzle, Swarp or SExtractor.") (define-public gnuastro (package (name "gnuastro") - (version "0.19") + (version "0.20") (source (origin (method url-fetch) @@ -659,7 +744,7 @@ astronomical image-processing packages like Drizzle, Swarp or SExtractor.") version ".tar.lz")) (sha256 (base32 - "192q3i4zlfmwfcchlf9lnpfgys9dssh7npr5qx0gzn3d2fri0xbz")))) + "05bkad0xbax9k0m2g2507mdmjg2109sfg72dsx16f44yj55llh2n")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) @@ -870,34 +955,43 @@ interactively in the plotting window.") (license license:gpl2+))) (define-public skymaker - (package - (name "skymaker") - (version "3.10.5") - (source - (origin - (method url-fetch) - (uri (string-append "https://www.astromatic.net/download/skymaker/" - "skymaker-" version ".tar.gz")) - (sha256 - (base32 "03zvx7c89plp9559niqv5532r233kza3ir992rg3nxjksqmrqvx1")))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags + ;; XXX: No version tag available in GitHub. + ;; See: https://github.com/astromatic/skymaker/issues/3 + (let ((commit "1a69c4716bdc9b5c6d4a917b0bc2dbd47635c459") + (revision "0")) + (package + (name "skymaker") + (version (git-version "4.2.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/astromatic/skymaker") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vin4vgvcmqmwjdchsxnap374559rksz55xmaliawnl3qpzxn1nk")))) + (build-system gnu-build-system) + (arguments (list - (string-append - "--with-fftw-libdir=" (assoc-ref %build-inputs "fftw") "/lib") - (string-append - "--with-fftw-incdir=" (assoc-ref %build-inputs "fftw") "/include")))) - (inputs - `(("fftw" ,fftwf))) - (home-page "https://www.astromatic.net/software/skymaker") - (synopsis "Astronomical image simulator") - (description - "SkyMaker is a program that simulates astronomical images. It accepts + #:configure-flags + #~(list + (string-append + "--with-fftw-libdir=" #$(this-package-input "fftwf") "/lib") + (string-append + "--with-fftw-incdir=" #$(this-package-input "fftwf") "/include")))) + (native-inputs + (list autoconf automake libtool pkg-config)) + (inputs + (list fftwf)) + (home-page "https://www.astromatic.net/software/skymaker") + (synopsis "Astronomical image simulator") + (description + "SkyMaker is a program that simulates astronomical images. It accepts object lists in ASCII generated by the Stuff program to produce realistic -astronomical fields. SkyMaker is part of the EFIGI -(@url{https://www.astromatic.net/projects/efigi}) development project.") - (license license:gpl3+))) +astronomical fields. SkyMaker is part of the +@uref{https://www.astromatic.net/projects/efigi, EFIGI} development project.") + (license license:gpl3+)))) (define-public stackistry (package @@ -1031,36 +1125,48 @@ objects.") (define-public stuff (package (name "stuff") - (version "1.26.0") + (version "2.0.1") (source (origin - (method url-fetch) - (uri (string-append "https://www.astromatic.net/download/stuff/" - "stuff-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/astromatic/stuff") + ;; XXX: No version tag available in GitHub. + ;; See: https://github.com/astromatic/stuff/issues/6 + (commit "9008dc022ef53331092da248cf0a794abd6783bf"))) + (file-name (git-file-name name version)) (sha256 - (base32 "1syibi3b86z9pikhicvkkmgxm916j732fdiw0agw0lq6z13fdcjm")))) + (base32 "004sry5lqqm7s9x4l3agysp3n63y3ga35x1rwwda4m6dc6zvla6b")))) (build-system gnu-build-system) + (native-inputs + (list autoconf automake libtool pkg-config)) (home-page "https://www.astromatic.net/software/stuff") (synopsis "Astronomical catalogue simulation") (description "Stuff is a program that simulates \"perfect\" astronomical catalogues. It generates object lists in ASCII which can read by the SkyMaker program to -produce realistic astronomical fields. Stuff is part of the EFIGI development -project.") +produce realistic astronomical fields. Stuff is part of the +@uref{https://www.astromatic.net/projects/efigi, EFIGI} development project.") (license license:gpl3+))) (define-public swarp (package (name "swarp") - (version "2.38.0") + (version "2.41.5") (source (origin - (method url-fetch) - (uri (string-append "https://www.astromatic.net/download/swarp/" - "swarp-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/astromatic/swarp") + (commit (string-append version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "1i670waqp54vin1cn08mqckcggm9zqd69nk7yya2vvqpdizn6jpm")))) + (base32 "00463r5rd4xl74xs4h1n4gl2qk7v9p5nw9x05pbzgh8jm77q90qq")))) (build-system gnu-build-system) + (native-inputs + (list automake autoconf libtool pkg-config)) + (inputs + (list cfitsio)) (home-page "https://www.astromatic.net/software/swarp") (synopsis "FITS image resampling and co-addition") (description @@ -1069,66 +1175,85 @@ any arbitrary astrometric projection defined in the WCS standard.") (license license:gpl3+))) (define-public celestia - (let ((commit "9dbdf29c4ac3d20afb2d9a80d3dff241ecf81dce")) - (package - (name "celestia") - (version (git-version "1.6.1" "815" commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/celestiaproject/celestia") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "00xibg87l1arzifakgj7s828x9pszcgx7x7ij88a561ig49ryh78")))) - (build-system cmake-build-system) - (native-inputs - `(("perl" ,perl) - ("libgit2" ,libgit2) - ("pkg-config" ,pkg-config) - ("libtool" ,libtool) - ("gettext" ,gettext-minimal))) - (inputs - `(("glu" ,glu) - ("glew" ,glew) - ("libtheora" ,libtheora) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ;; maybe required? - ("mesa" ,mesa) - ;; optional: fmtlib, Eigen3; - ("fmt" ,fmt-7) - ("eigen" ,eigen) - ;; glut: for glut interface - ("freeglut" ,freeglut))) - (propagated-inputs - (list lua)) - (arguments - `(#:configure-flags '("-DENABLE_GLUT=ON" "-DENABLE_QT=OFF") - #:tests? #f)) ;no tests - (home-page "https://celestia.space/") - (synopsis "Real-time 3D visualization of space") - (description - "This simulation program lets you explore our universe in three + (package + (name "celestia") + (version "1.6.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/celestiaproject/celestia") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0dzci5n7gcnm1vq916gsn9zddkhbzhbsakqxrpnmvzibsqznn6c8")))) + (build-system gnu-build-system) + (arguments + (list + #:modules + `((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-71)) + #:configure-flags + #~(list "--with-glut" + (string-append "--with-lua=" #$(this-package-input "lua"))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-lua-version + (lambda _ + (let* ((_ version (package-name->name+version + #$(this-package-input "lua"))) + (components (string-split version #\.)) + (major+minor (string-join (take components 2) "."))) + (substitute* "configure.ac" + (("lua5.3") + (string-append "lua-" major+minor))))))))) + (native-inputs + (list autoconf + automake + gettext-minimal + libgit2 + libtool + perl + pkg-config)) + (inputs + (list freeglut + glu + libjpeg-turbo + libpng + libtheora + mesa)) + (propagated-inputs + (list lua)) + (home-page "https://celestia.space/") + (synopsis "Real-time 3D visualization of space") + (description + "This simulation program lets you explore our universe in three dimensions. Celestia simulates many different types of celestial objects. From planets and moons to star clusters and galaxies, you can visit every object in the expandable database and view it from any point in space and time. The position and movement of solar system objects is calculated accurately in real time at any rate desired.") - (license license:gpl2+)))) + (license license:gpl2+))) + (define-public celestia-gtk - (package - (inherit celestia) + (package/inherit celestia (name "celestia-gtk") (inputs - (append (alist-delete "freeglut" (package-inputs celestia)) - `(("gtk2" ,gtk+-2) - ("gtkglext" ,gtkglext)))) + (modify-inputs (package-inputs celestia) + (replace "freeglut" gtk+-2) + (prepend cairo gtkglext libxmu libtheora pango-1.42))) (arguments - `(#:configure-flags '("-DENABLE_GTK=ON" "-DENABLE_QT=OFF") - #:tests? #f)))) + (substitute-keyword-arguments (package-arguments celestia) + ((#:configure-flags flags '()) + #~(append #$flags + (list "--enable-cairo" + "--enable-theora" + "--without-glut" + "--with-gtk"))))) + (synopsis "Real-time 3D visualization of space (using GTK+)"))) (define-public python-astropy (package @@ -1355,6 +1480,38 @@ be as fast as possible so some of the readability has been sacrificed, specifically in the C code.") (license license:bsd-3))) +(define-public python-bayesicfitting + (package + (name "python-bayesicfitting") + (version "3.1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dokester/BayesicFitting") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07y9dr9wxhxrvhk0jjakhbyrgal60i92m7z7q14fp12k8x0gl69l")))) + (build-system python-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "unittest" "discover" + "test"))))))) + (propagated-inputs (list python-astropy python-future python-matplotlib + python-numpy python-scipy)) + (home-page "https://www.bayesicfitting.nl") + (synopsis "Python Toolbox for Astronimical Bayesian fitting") + (description + "The BayesicFitting package is a python version of the the fitter classes +in @acronym{HCSS, Herschel Common Science System}. HCSS was the all +encompassing software system for the operations and analysis of the ESA satelite +Herschel.") + (license license:gpl3+))) + (define-public python-ccdproc (package (name "python-ccdproc") @@ -1425,6 +1582,58 @@ attempting to maintain ISTP compliance @end itemize") (license license:expat))) +(define-public python-crds + (package + (name "python-crds") + (version "11.17.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "crds" version)) + (sha256 + (base32 + "0sdz1k4hrgrc2jwihp9ns7lx23kcz7f90c222q7aaqf9g3vvpqlr")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Tests require Internet access to https://hst-crds.stsci.edu and + ;; additional test data. See: + ;; https://github.com/spacetelescope/crds/blob/master/setup_test_cache + #:tests? #f)) + (propagated-inputs (list python-asdf + python-astropy + python-boto3 + python-filelock + python-lxml + python-numpy + python-parsley + python-pysynphot + python-roman-datamodels + python-stsynphot + python-requests)) + (native-inputs (list python-flake8 + python-ipython + python-lockfile + python-mock + python-nose + python-pylint + python-pytest + python-semantic-version + python-setuptools-scm)) + (home-page "https://hst-crds.stsci.edu") + (synopsis "Calibration Reference Data System for HST and JWST") + (description + "CRDS is a package used for working with astronomical reference files for +the HST and JWST telescopes. CRDS is useful for performing various operations +on reference files or reference file assignment rules. CRDS is used to assign, +check, and compare reference files and rules, and also to predict those datasets +which should potentially be reprocessed due to changes in reference files or +assignment rules. CRDS has versioned rules which define the assignment of +references for each type and instrument configuration. CRDS has web sites +corresponding to each project (http://hst-crds.stsci.edu or +https://jwst-crds.stsci.edu/) which record information about reference files and +provide related services.") + (license license:bsd-3))) + (define-public python-czml3 (package (name "python-czml3") @@ -1493,6 +1702,53 @@ JSOC (@url{http://jsoc.stanford.edu/}) DRMS server by default, but can also be used with local NetDRMS sites.") (license license:bsd-2))) +(define-public python-drizzle + (package + (name "python-drizzle") + (version "1.13.7") + (source (origin + (method git-fetch) ;PyPi doesn't have the test data sets + (uri (git-reference + (url "https://github.com/spacetelescope/drizzle") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0x591d9gjasds91fvwcf37bhxp5nra28g0vq5zkykczpc70ywiy8")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: 2 of 26 tests failed with AssertionError, disable them for now. + ;; Consider mention it in upstream. + #:test-flags #~(list "-k" + (string-append "not test_square_with_point" + " and not test_square_with_grid")) + #:phases #~(modify-phases %standard-phases + (add-before 'build 'set-env-version + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" + #$version))) + (add-before 'check 'build-extensions + (lambda _ + ;; Cython extensions have to be built before running + ;; the tests. + (invoke "python" "setup.py" "build_ext" "--inplace")))))) + (propagated-inputs (list python-astropy python-numpy)) + (native-inputs (list python-coverage python-flake8 python-pytest + python-pytest-cov python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/drizzle") + (synopsis + "Astronomical tool for combining dithered images into a single image") + (description + "The drizzle library is a Python package for combining dithered images into +a single image. This library is derived from code used in DrizzlePac. Like +DrizzlePac, most of the code is implemented in the C language. The biggest +change from DrizzlePac is that this code passes an array that maps the input to +output image into the C code, while the DrizzlePac code computes the mapping by +using a Python callback. Switching to using an array allowed the code to be +greatly simplified.") + (license license:bsd-3))) + (define-public python-ephem (package (name "python-ephem") @@ -2045,6 +2301,211 @@ spherical polygons that represent arbitrary regions of the sky.") ;; QD_LIBRARY_LICENSE.rst for bandeled QD source (license license:bsd-3))) +(define-public python-stsci-image + (package + (name "python-stsci-image") + (version "2.3.5") + (source (origin + (method url-fetch) + (uri (pypi-uri "stsci.image" version)) + (sha256 + (base32 + "1vnp4256nbdvapa69cmm80sjz11ygxa49abr9nbvssj6nyyp5icb")))) + (build-system pyproject-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-before 'check 'build-extensions + (lambda _ + ;; Cython extensions have to be built before running + ;; the tests. + (invoke "python" "setup.py" "build_ext" + "--inplace")))))) + (propagated-inputs (list python-numpy python-scipy)) + (native-inputs (list python-pytest python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/stsci.image") + (synopsis "Image array manipulation functions") + (description + "This package provides Python modules of @acronym{STScI, Space Telescope +Science Institute} image array manipulation functions.") + (license license:bsd-3))) + +(define-public python-stsci-imagestats + (package + (name "python-stsci-imagestats") + (version "1.6.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "stsci.imagestats" version)) + (sha256 + (base32 + "14457izlbnks84dyza75ib3nvx2w8nhlqm9vc1zb7hbhknb5gjvw")))) + (build-system python-build-system) + (arguments + (list #:tests? #f)) ;No tests + (propagated-inputs (list python-numpy)) + (native-inputs (list python-setuptools-scm)) + (home-page "https://stsciimagestats.readthedocs.io/en/latest/") + (synopsis "Compute sigma-clipped statistics on data arrays") + (description + "@code{stsci.imagestats} is a package designed to compute various +statistics on image data using sigma-clipping iterations. It is designed to +replicate core behaviour of the IRAF's +@url{http://stsdas.stsci.edu/cgi-bin/gethelp.cgi?imstatistics, imstatistics +task}.") + (license license:bsd-3))) + +(define-public python-stsci-stimage + (package + (name "python-stsci-stimage") + (version "0.2.6") + (source (origin + (method url-fetch) + (uri (pypi-uri "stsci.stimage" version)) + (sha256 + (base32 + "0i7xby1gaiplvbqqv8a4f4cw1is8fwj89mix1z3bqrykqi3n24g0")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Fix failing tests. There are errors to load test files. + #:tests? #f)) + (propagated-inputs (list python-numpy)) + (native-inputs (list python-codecov python-pytest python-pytest-cov + python-setuptools-scm)) + (home-page "https://stscistimage.readthedocs.io/en/latest/") + (synopsis "STScI image processing") + (description "This package provides an astronomical Python package with +image processing functions: @code{xyxymatch}, @code{geomap}.") + (license license:bsd-3))) + +(define-public python-stcal + (package + (name "python-stcal") + (version "1.3.7") + (source (origin + (method url-fetch) + (uri (pypi-uri "stcal" version)) + (sha256 + (base32 + "0yy0pwi3krvhxfby6nzgpgyz5il3sl1j29ihbk81dh9fdh3ys2n9")))) + (build-system pyproject-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + ;; XXX: Can't detect opencv-python version. The input + ;; opencv might not set the version correctly. + (delete 'sanity-check)))) + (propagated-inputs (list opencv ;Provides OpenCV-Python + python-astropy python-numpy python-scipy)) + (native-inputs (list python-psutil + python-pytest + python-pytest-cov + python-pytest-doctestplus + python-pytest-openfiles + python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/stcal") + (synopsis "STScI tools and algorithms used in calibration pipelines") + (description "STScI tools and algorithms used in calibration pipelines.") + (license license:bsd-3))) + +(define-public python-stdatamodels + (package + (name "python-stdatamodels") + (version "1.5.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "stdatamodels" version)) + (sha256 + (base32 + "1lssz5mnkzgraqa9mdg1w39scsikymcp3zpmsjb146r0pqnwnpzw")))) + (build-system pyproject-build-system) + (arguments + (list + ;; Disable tests requiring access to CRDS servers to download ~500MiB + ;; of data. + #:test-flags #~(list "-k" "not test_crds_selectors_vs_datamodel") + #:phases #~(modify-phases %standard-phases + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" "/tmp")))))) + (propagated-inputs (list python-asdf + python-asdf-astropy + python-astropy + python-jsonschema + python-numpy + python-psutil)) + (native-inputs (list python-crds + python-pytest + python-pytest-doctestplus + python-pytest-openfiles + python-scipy + python-semantic-version + python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/stdatamodels") + (synopsis + "Core support for DataModel classes used in calibration pipelines") + (description + "Provides DataModel, which is the base class for data models implemented in +the @acronym{JWST, James Webb Space Telescope} and @acronym{Roman, Nancy Grace +Roman Space Telescope} calibration software.") + (license license:bsd-3))) + +(define-public python-stpipe + (package + (name "python-stpipe") + (version "0.5.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "stpipe" version)) + (sha256 + (base32 + "17gnwzhl10vbg059lfprdyci19dlh3whkmb9rl7z25wr593rnvcp")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-asdf python-astropy python-crds + python-semantic-version python-stdatamodels)) + (native-inputs (list python-pytest python-pytest-doctestplus + python-pytest-openfiles python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/stpipe") + (synopsis "Framework for calibration pipeline software") + (description + "This package provides base classes and command-line tools for +implementing calibration pipeline software.") + ;; LICENSE Association of Universities for Research in Astronomy (AURA) + (license license:bsd-3))) + +(define-public python-stsynphot + (package + (name "python-stsynphot") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "stsynphot" version)) + (sha256 + (base32 + "0qkdh47j84v7fzri7bmi1jcmggdqq0a8byamfm73d8mbz86v8sn4")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Tests fails on missing file, it might need to be downloaded, + ;; disable them for now. astropy.utils.exceptions.AstropyUserWarning: + ;; Failed to load Vega spectrum from + ;; /grp/redcat/trds/calspec/alpha_lyr_stis_010.fits; + #:tests? #f)) + (propagated-inputs (list python-astropy + python-beautifulsoup4 + python-matplotlib + python-numpy + python-scipy + python-synphot)) + (native-inputs (list python-pytest python-pytest-astropy + python-pytest-astropy-header python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/stsynphot_refactor") + (synopsis "Synthetic photometry using Astropy for HST and JWST") + (description + "This package provides a replacement for IRAF STSDAS SYNPHOT and ASTROLIB +PYSYNPHOT, utilizing Astropy covering instrument specific portions of the old +packages for HST.") + (license license:bsd-3))) + (define-public libnova (package (name "libnova") @@ -2245,12 +2706,21 @@ PixInsight. It implements XISF 1.0 specification.") (version "2.8.0") (source (origin - (method url-fetch) - (uri (string-append "https://www.astromatic.net/download/missfits/" - "missfits-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/astromatic/missfits") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "04jrd7fsvzr14vdmwgj2f6v97gdcfyjyz6jppml3ghr9xh12jxv5")))) + (base32 "12ndvrr3l5j7ph2i5f3qf0wqmv5ymsyjzxnnypqajsvliw72iprh")))) (build-system gnu-build-system) + (arguments + (list + #:configure-flags + #~(list + ;; Address this link error: + ;; ld: ... multiple definition of ... first defined here + "CPPFLAGS=-fcommon"))) (home-page "https://www.astromatic.net/software/missfits") (synopsis "FITS files Maintenance program") (description @@ -2259,10 +2729,11 @@ on FITS files: @itemize @item add/edit FITS header keywords -@item split/join Multi-Extension-FITS (MEF) files +@item split/join @acronym{MEF, Multi-Extension-FITS} files @item unpack/pack FITS data-cubes -@item create/check/update FITS checksums, using R. Seaman's protocol - (see http://www.adass.org/adass/proceedings/adass94/seamanr.html) +@item create/check/update FITS checksums, using +@uref{http://www.adass.org/adass/proceedings/adass94/seamanr.html, +R. Seaman's protocol} @end itemize\n") (license license:gpl3+))) @@ -2286,28 +2757,28 @@ on FITS files: "xplanet-1.3.1-libimage_gif.c.patch" "xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch")))) (build-system gnu-build-system) + (arguments + (list + #:configure-flags + #~(list + ;; No NASA JPL cspice support. + "--without-cspice" + (string-append "CPPFLAGS=-I" #$(this-package-input "netpbm") + "/include/netpbm")))) (native-inputs (list pkg-config)) (inputs - `(("libx11" ,libx11) - ("libxscrnsaver" ,libxscrnsaver) - ("libice" ,libice) - ("freetype" ,freetype) - ("pango" ,pango) - ("giflib" ,giflib) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libtiff" ,libtiff) - ("netpbm" ,netpbm) - ("zlib" ,zlib))) - (arguments - `(#:configure-flags - (let ((netpbm (assoc-ref %build-inputs "netpbm"))) - (append (list - ;; Give correct path for pnm.h header to configure script - (string-append "CPPFLAGS=-I" netpbm "/include/netpbm") - ;; no nasa jpl cspice support - "--without-cspice" ))))) + (list freetype + giflib + libice + libjpeg-turbo + libpng + libtiff + libx11 + libxscrnsaver + netpbm + pango + zlib)) (home-page "https://xplanet.sourceforge.net/") (synopsis "Planetary body renderer") (description @@ -2590,6 +3061,73 @@ Moon position, etc.") JPL ephemerides use to predict raw (x,y,z) planetary positions.") (license license:expat))) +(define-public python-jwst + (package + (name "python-jwst") + (version "1.10.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "jwst" version)) + (sha256 + (base32 + "1lmfyw2y7c84rs9xqavah9aidj478ijiiijlz6fag11xqn1vs98y")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Tests require access to https://jwst-crds-pub.stsci.edu server for + ;; getting data sets. + #:tests? #f + #:phases #~(modify-phases %standard-phases + ;; NOTE: (Sharlatan-20230529T113448+0100): opencv-python's + ;; version can't be detected, it could the way it's packed in + ;; Guix. Review failing sanity check with more efforts, + ;; disable for now to make package buildable. + (delete 'sanity-check)))) + ;; opencv provides OpenCV-Python which is Listed as install requirement. + (propagated-inputs (list opencv + python-asdf + python-asdf-astropy + python-astropy + python-bayesicfitting + python-crds + python-drizzle + python-gwcs + python-jsonschema + python-numpy + python-photutils + python-poppy + python-psutil + python-pyparsing + python-requests + python-scikit-image + python-scipy + python-spherical-geometry + python-stcal + python-stdatamodels + python-stpipe + python-stsci-image + python-stsci-imagestats + python-tweakwcs + python-wiimatch)) + (native-inputs (list python-codecov + python-colorama + python-flake8 + python-pytest + python-pytest-cov + python-pytest-doctestplus + python-pytest-openfiles + python-requests-mock + python-setuptools-scm)) + (home-page "https://jwst-pipeline.readthedocs.io/en/latest/") + (synopsis + "Python library for science observations from the James Webb Space Telescope") + (description + "This package provides an access to the JWST Science Calibration Pipeline +processes data from all JWST instruments and observing modes by applying various +science corrections sequentially, producing both fully-calibrated individual +exposures and high-level data products (mosaics, extracted spectra, etc.).") + (license license:bsd-3))) + (define-public python-pyerfa (package (name "python-pyerfa") @@ -2687,6 +3225,38 @@ astrophysical simulations supporting PKDGRAV/Gasoline, Gadget, Gadget4/Arepo, N-Chilada and RAMSES AMR outputs.") (license license:gpl3+))) +(define-public python-pysynphot + (package + (name "python-pysynphot") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "pysynphot" version)) + (sha256 + (base32 + "1rr29m63bnj47f6gvbvg3pm1296x14ad29c6qd0sdj4f4ilrzhj5")))) + (build-system pyproject-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-before 'check 'set-env-data-path + (lambda _ + (setenv "PYSYN_CDBS" + (string-append #$output "/crds"))))))) + (native-inputs (list python-pytest python-pytest-remotedata + python-setuptools-scm)) + (propagated-inputs (list python-astropy python-beautifulsoup4 python-numpy + python-pytest-astropy-header python-six)) + (home-page "https://github.com/spacetelescope/pysynphot") + (synopsis "Python Synthetic Photometry Utilities") + (description + "Astrolib PySynphot (hereafter referred to only as pysynphot) is an +object-oriented replacement for STSDAS SYNPHOT synthetic photometry package in +IRAF. @code{pysynphot} simulates photometric data and spectra as they are +observed with the Hubble Space Telescope (HST). Passbands for standard +photometric systems are available, and users can incorporate their own filters, +spectra, and data.") + (license license:bsd-3))) + (define-public python-sep (package (inherit libsep) @@ -2723,6 +3293,67 @@ Takes a WGS84 (GPS) latitude/longitude as input as well as an UTC or local datetime object.") (license license:lgpl3+))) +(define-public python-synphot + (package + (name "python-synphot") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "synphot" version)) + (sha256 + (base32 + "02pjp1bnbyq7zi1bxqv56nif4ijd8fscmnn9ldrs8yvgsbmgdvlc")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Test needs more love to pass. + ;; ERROR collecting synphot/tests/test_utils.py + #:tests? #f)) + (propagated-inputs (list python-astropy python-numpy python-scipy)) + (native-inputs (list python-pytest python-pytest-astropy + python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/synphot_refactor") + (synopsis "Synthetic photometry using Astropy") + (description + "This package provides a replacement for IRAF STSDAS SYNPHOT and ASTROLIB +PYSYNPHOT, utilizing Astropy and covering the non-instrument specific portions +of the old packages.") + (license license:bsd-3))) + +(define-public python-tweakwcs + (package + (name "python-tweakwcs") + (version "0.8.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "tweakwcs" version)) + (sha256 + (base32 + "1500w737n9vf5hv16xkybk4shl7g4wfzb2ji9mc4vgzj41gkrwl4")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-astropy + python-gwcs + python-numpy + python-packaging + python-spherical-geometry + python-stsci-imagestats + python-stsci-stimage)) + (native-inputs (list python-codecov + python-pytest + python-pytest-cov + python-scipy + python-semantic-version + python-setuptools-scm)) + (home-page "https://tweakwcs.readthedocs.io/en/latest/") + (synopsis + "Algorithms for matching and aligning catalogs and for tweaking the WCS") + (description + "@code{tweakwcs} is a package that provides core algorithms for computing +and applying corrections to @code{WCS} objects such as to minimize mismatch +between image and reference catalogs. Currently only aligning images with +@code{FITS WCS} and @code{JWST gWCS} are supported.") + (license license:bsd-3))) + (define-public python-asdf (package (name "python-asdf") @@ -3050,6 +3681,79 @@ the entire transformation pipeline from input coordinates (detector by default) to world coordinates.") (license license:bsd-3))) +(define-public python-rad + (package + (name "python-rad") + (version "0.15.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "rad" version)) + (sha256 + (base32 + "0j51pkywxdaqrfz162rdsywlvx1mbb2h0gi5framvhf25i1im7mb")))) + (build-system pyproject-build-system) + (arguments + (list #:test-flags #~(list "-k" "not remote_data"))) + (native-inputs (list python-astropy + python-pytest + python-pytest-doctestplus + python-pytest-openfiles + python-semantic-version + python-setuptools-scm)) + (propagated-inputs (list python-asdf python-asdf-astropy)) + (home-page "https://github.com/spacetelescope/rad") + (synopsis "Roman Attribute Dictionary") + (description + "@acronym{RAD, The Roman Attribute Dictionary} is package which defines +schemas for the Nancy Grace Roman Space Telescope shared attributes for +processing and archive. These schemas are schemas for the ASDF file file +format, which are used by ASDF to serialize and deserialize data for the Nancy +Grace Roman Space Telescope.") + (license license:bsd-3))) + +(define-public python-roman-datamodels + (package + (name "python-roman-datamodels") + (version "0.15.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "roman_datamodels" version)) + (sha256 + (base32 + "0frhm1cqqd8934yizhm4fy78y38q2w9ncm4rv1n74hfypkyis4ap")))) + (build-system pyproject-build-system) + (arguments + ;; XXX: Check how to make all tests enabled, probably some more inner + ;; input chain needs to be upgraded, keep them disabled to make the build + ;; green. + (list #:test-flags #~(list "-k" + (string-append "not test_will_validate" + " and not test_will_strict_validate" + " and not test_nuke_validation")))) + (propagated-inputs (list python-asdf + python-asdf-astropy + python-asdf-standard + python-astropy + python-gwcs + python-numpy + python-psutil + python-rad)) + (native-inputs (list python-pytest python-pytest-doctestplus + python-pytest-openfiles python-semantic-version + python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/roman_datamodels") + (synopsis "Roman Datamodels Support") + (description + "This package provides a Python package of Roman Datamodels for the +calibration pipelines started with the @acronym{JWST, James Webb Space +Telescope} calibration pipelines. The goal for the JWST pipelines was motivated +primarily by the need to support FITS data files, specifically with isolating +the details of where metadata and data were located in the FITS file from the +representation of the same items within the Python code. That is not a concern +for Roman since FITS format data files will not be used by the Roman calibration +pipelines.") + (license license:bsd-3))) + (define-public python-astroalign (package (name "python-astroalign") @@ -3102,3 +3806,26 @@ astronomical images, especially when there is no WCS information available.") "Skyfield computes positions for the stars, planets, and satellites in orbit around the Earth.") (license license:expat))) + +(define-public python-wiimatch + (package + (name "python-wiimatch") + (version "0.3.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "wiimatch" version)) + (sha256 + (base32 + "0x6p5z6a2cqinckwlpinjxagvmswl149s1jn6ihmdxk4k0h8rrz0")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-numpy python-scipy)) + (native-inputs (list python-codecov python-pytest python-pytest-cov + python-pytest-doctestplus python-setuptools-scm)) + (home-page "https://github.com/spacetelescope/wiimatch") + (synopsis + "Optimal matching of weighted N-dimensional image intensity data") + (description + "@code{wiimatch} is a package that provides core computational algorithms +for optimal @code{matching} of weighted N-dimensional image intensity data +using (multivariate) polynomials.") + (license license:bsd-3))) diff --git a/gnu/packages/attr.scm b/gnu/packages/attr.scm index 8c1a4aca7c..cd0a997474 100644 --- a/gnu/packages/attr.scm +++ b/gnu/packages/attr.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2012, 2013, 2016, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,10 +24,10 @@ #:use-module (guix licenses) #:use-module (gnu packages perl) #:use-module (gnu packages gettext) - #:use-module (gnu packages hurd) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (guix utils)) (define-public attr (package @@ -43,7 +44,7 @@ (arguments `(#:phases (modify-phases %standard-phases - ,@(if (hurd-target?) + ,@(if (target-hurd?) `((add-before 'configure 'skip-linux-syscalls (lambda _ ;; Starting from 2.5.1, libattr includes Linux-specific diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 58a981b2fe..447b0ea78c 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -44,6 +44,7 @@ ;;; Copyright © 2023 David Thompson <dthompson2@worcester.edu> ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2023 Gabriel Wicki <gabriel@erlikon.ch> +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -738,7 +739,7 @@ purposes developed at Queen Mary, University of London.") (define-public ardour (package (name "ardour") - (version "7.3") + (version "7.4") (source (origin (method git-fetch) (uri (git-reference @@ -755,7 +756,7 @@ purposes developed at Queen Mary, University of London.") namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \"\"; }"))))) (sha256 (base32 - "0bkhrgswhc9y1ly8nfg8hpwad77cgbr663dgj86h3aisljc4cdkw")) + "0v66h9fghjyjinldw9yfhhlfi3my235x6n4dpxx432z35lka2h89")) (file-name (string-append name "-" version)))) (build-system waf-build-system) (arguments @@ -799,7 +800,6 @@ namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \ (list alsa-lib atkmm aubio - boost cairomm curl dbus @@ -844,7 +844,8 @@ namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \ taglib vamp)) (native-inputs - (list cppunit + (list boost + cppunit gettext-minimal itstool perl @@ -860,7 +861,7 @@ engineers, musicians, soundtrack editors and composers.") (define-public audacity (package (name "audacity") - (version "3.3.0-beta-1") ;for ffmpeg 6 support + (version "3.3.3") ;for ffmpeg 6 support (source (origin (method git-fetch) @@ -869,7 +870,7 @@ engineers, musicians, soundtrack editors and composers.") (commit (string-append "Audacity-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1j1fy8h3vvf3pbyy2vxahf7admcqfmx7m1mxm7g48n54i2f0n1h9")) + (base32 "07jbql4jl2198z0rsa1nsf4p045iv4gz6ym75a60yyznvg0h0zwv")) (patches (search-patches "audacity-ffmpeg-fallback.patch")) (modules '((guix build utils))) (snippet @@ -4447,38 +4448,40 @@ provide high-quality sample rate conversion.") (version "0.3.2") (source (origin (method url-fetch) - (uri (string-append - "http://kokkinizita.linuxaudio.org" - "/linuxaudio/downloads/zita-alsa-pcmi-" - version ".tar.bz2")) + (uri (string-append "http://kokkinizita.linuxaudio.org" + "/linuxaudio/downloads/zita-alsa-pcmi-" + version ".tar.bz2")) (sha256 (base32 "12d7vdg74yh21w69qi0wg57iz4876j94qbiq09bvscih6xz9y78s")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no "check" target - #:make-flags - (list (string-append "PREFIX=" (assoc-ref %outputs "out")) - (string-append "SUFFIX=")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-makefile-and-enter-directory - (lambda _ - (substitute* "source/Makefile" - (("ldconfig") "true") - (("^LIBDIR =.*") "LIBDIR = lib\n")) - (chdir "source") - #t)) - (add-after 'install 'install-symlink - (lambda _ - (symlink "libzita-alsa-pcmi.so" - (string-append (assoc-ref %outputs "out") - "/lib/libzita-alsa-pcmi.so.0")) - #t)) - ;; no configure script - (delete 'configure)))) - (inputs - (list alsa-lib fftw)) + (list #:tests? #f ;no "check" target + #:make-flags #~(list (string-append "PREFIX=" + (assoc-ref %outputs "out")) + (string-append "SUFFIX=") + (string-append "CXX=" + #$(cxx-for-target))) + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'patch-makefile-and-enter-directory + (lambda _ + (substitute* "source/Makefile" + (("ldconfig") + "true") + (("^LIBDIR =.*") + "LIBDIR = lib\n") + (("CXXFLAGS \\+= -march=native") + "")) + (chdir "source"))) + (add-after 'install 'install-symlink + (lambda _ + (symlink "libzita-alsa-pcmi.so" + (string-append (assoc-ref %outputs "out") + "/lib/libzita-alsa-pcmi.so.0")))) + ;; no configure script + (delete 'configure)))) + (inputs (list alsa-lib fftw)) + (properties `((tunable? . #t))) (home-page "https://kokkinizita.linuxaudio.org") (synopsis "C++ wrapper around the ALSA API") (description @@ -6233,7 +6236,7 @@ and DSD streams.") (define-public qpwgraph (package (name "qpwgraph") - (version "0.4.2") + (version "0.4.4") (source (origin (method git-fetch) (uri (git-reference @@ -6242,7 +6245,7 @@ and DSD streams.") (file-name (git-file-name name version)) (sha256 (base32 - "0h5y8n9xm9ay1w53hb5mw6k5i1sm8spz1izmw6yya49gv2pwyhrj")))) + "05j98y8j3f0dybaal6qawq9nsrvr1hylsnig4yk6si16mhb32y7l")))) (build-system cmake-build-system) (arguments (list #:tests? #f)) ;; no tests (inputs (list alsa-lib diff --git a/gnu/packages/authentication.scm b/gnu/packages/authentication.scm index a73f2cbc14..de1769d65f 100644 --- a/gnu/packages/authentication.scm +++ b/gnu/packages/authentication.scm @@ -22,11 +22,13 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages documentation) + #:use-module (gnu packages gnupg) #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) #:use-module (gnu packages security-token) #:use-module (gnu packages tls) #:use-module (gnu packages xml) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix download) @@ -34,6 +36,29 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages)) +(define-public libcotp + (package + (name "libcotp") + (version "2.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/paolostivanin/libcotp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12ps2msclcbv53gjf936cny10an8sc70b9frp6xxjirfn5jg2h63")))) + (build-system cmake-build-system) + (inputs (list libgcrypt)) + (native-inputs (list pkg-config)) + (home-page "https://github.com/paolostivanin/libcotp") + (synopsis "One-Time Passwords") + (description "This package provides a library to generate +@acronym{HOTP, HMAC-base One-Time Password}s as specified in RFC 4226 and +@acronym{TOTP, Time-based One-Time Password}s as specified in RFC 6238.") + (license license:asl2.0))) + (define-public oath-toolkit (package (name "oath-toolkit") diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index dd554a0e5b..921398bad6 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -1136,14 +1136,14 @@ interactive mode.") (define-public btrbk (package (name "btrbk") - (version "0.32.5") + (version "0.32.6") (source (origin (method url-fetch) (uri (string-append "https://digint.ch/download/btrbk/releases/" "btrbk-" version ".tar.xz")) (sha256 (base32 - "1d4zqf5klad55gdzzldipsjrhpprixzjmn03g66df5h2d28l1zpi")))) + "0sxppfraakf56d1i4sbh4gyzg92panwpnq5y5hh6714igijarqh2")))) (build-system gnu-build-system) (arguments (list @@ -1153,7 +1153,7 @@ interactive mode.") (lambda _ (substitute* "Makefile" (("= /etc") - (string-append "= " #$output "/etc"))))) + (string-append "= $(PREFIX)/etc"))))) (delete 'check) (add-after 'install 'wrap-scripts (lambda* (#:key inputs outputs #:allow-other-keys) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index d2f276c447..ada9edf0e6 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2014 Alex Kost <alezost@gmail.com> ;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2016, 2017, 2019-2023 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2016, 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016, 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org> ;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com> @@ -132,7 +132,7 @@ command-line arguments, multiple languages, and so on.") (string-append bin "/fgrep")) (("^exec grep") (string-append "exec " bin "/grep")))))) - ,@(if (hurd-target?) + ,@(if (target-hurd?) '((add-before 'check 'skip-triple-backref-test (lambda _ ;; This test is marked as malfunctioning on glibc systems @@ -144,7 +144,7 @@ command-line arguments, multiple languages, and so on.") (("^warn_" all) (string-append "exit 77\n" all)))))) '())) - #:make-flags ,(if (hurd-target?) + #:make-flags ,(if (target-hurd?) ''("XFAIL_TESTS=test-perror2 equiv-classes") ;XXX ''()))) (synopsis "Print lines matching a pattern") @@ -186,7 +186,7 @@ including, for example, recursive directory searching.") (modules '((guix build utils))))) (build-system gnu-build-system) (arguments - `(#:make-flags ,(if (hurd-target?) + `(#:make-flags ,(if (target-hurd?) ''("XFAIL_TESTS=test-perror2") ''()))) (synopsis "Stream editor") @@ -217,7 +217,7 @@ implementation offers several extensions over the standard utility.") ;; Note: test suite requires ~1GiB of disk space. (arguments `(,@(cond - ((hurd-target?) + ((target-hurd?) '(#:make-flags (list (string-append "TESTSUITEFLAGS= -k '" @@ -309,7 +309,7 @@ differences.") (patches (search-patches "diffutils-fix-signal-processing.patch")))) (build-system gnu-build-system) (arguments - `(#:make-flags ,(if (hurd-target?) + `(#:make-flags ,(if (target-hurd?) ''("XFAIL_TESTS=test-perror2 large-subopt") ''()))) (native-inputs (list perl)) @@ -347,7 +347,7 @@ interactive means to merge two files.") "tests/find/exec-plus-last-file.sh") (("#!/bin/sh") (string-append "#!" (which "sh"))))))) - #:make-flags ,(if (hurd-target?) + #:make-flags ,(if (target-hurd?) ''("XFAIL_TESTS=test-strerror_r") ''()))) (synopsis "Operating on files matching given criteria") @@ -395,7 +395,7 @@ used to apply commands with arbitrarily long arguments.") (outputs '("out" "debug")) (arguments `(#:parallel-build? #f ; help2man may be called too early - ,@(if (hurd-target?) + ,@(if (target-hurd?) '(#:make-flags ; these tests fail deterministically (list (string-append "XFAIL_TESTS=tests/misc/env-S.pl" " tests/misc/kill.sh" @@ -433,7 +433,7 @@ used to apply commands with arbitrarily long arguments.") (("#!/bin/sh") (string-append "#!" (which "sh")))))) (add-after 'unpack 'remove-tests (lambda _ - ,@(if (hurd-target?) + ,@(if (target-hurd?) '((substitute* "Makefile.in" ;; this test hangs (("^ *tests/misc/timeout-group.sh.*") "")) @@ -511,7 +511,7 @@ standard.") (inputs (list guile-3.0)) (outputs '("out" "debug")) (arguments - `(,@(if (hurd-target?) + `(,@(if (target-hurd?) '(#:configure-flags '("CFLAGS=-D__alloca=alloca" "ac_cv_func_posix_spawn=no")) '()) @@ -798,7 +798,7 @@ the store.") ;; libc provides <hurd.h>, which includes a bunch of Hurd and Mach headers, ;; so both should be propagated. (propagated-inputs - (if (hurd-target?) + (if (target-hurd?) `(("hurd-core-headers" ,hurd-core-headers)) `(("kernel-headers" ,linux-libre-headers)))) @@ -864,7 +864,7 @@ the store.") ;; On GNU/Hurd we get discarded-qualifiers warnings for ;; 'device_write_inband' among other things. Ignore them. - ,@(if (hurd-target?) + ,@(if (target-hurd?) `("--disable-werror" ,@%glibc/hurd-configure-flags) '())) @@ -992,7 +992,7 @@ the store.") (map (cut string-append slib "/" <>) files)))))) - ,@(if (hurd-target?) + ,@(if (target-hurd?) '((add-after 'install 'augment-libc.so (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out"))) @@ -1012,7 +1012,7 @@ the store.") ("gettext" ,gettext-minimal) ("python" ,python-minimal) - ,@(if (hurd-target?) + ,@(if (target-hurd?) `(("mig" ,mig) ("perl" ,perl)) '()))) @@ -1066,12 +1066,13 @@ with the Linux kernel.") (base32 "1zvp0qdfbdyqrzydz18d9zg3n5ygy8ps7cmny1bvsp8h1q05c99f")) (patches - ;; Remove a patch that's become irrelevant and that does not - ;; apply to this version. - (remove (lambda (patch) - (string=? (basename patch) - "glibc-hurd-clock_gettime_monotonic.patch")) - (origin-patches (package-source glibc)))))) + (cons (search-patch "glibc-2.33-riscv64-miscompilation.patch") + ;; Remove a patch that's become irrelevant and that does not + ;; apply to this version. + (remove (lambda (patch) + (string=? (basename patch) + "glibc-hurd-clock_gettime_monotonic.patch")) + (origin-patches (package-source glibc))))))) (arguments (substitute-keyword-arguments (package-arguments glibc) ((#:configure-flags flags ''()) @@ -1379,6 +1380,9 @@ test environments.") (make-glibc-utf8-locales glibc))) ;; Packages provided to ease use of binaries linked against the previous libc. +(define-public glibc-locales-2.33 + (package (inherit (make-glibc-locales glibc-2.33)) + (name "glibc-locales-2.33"))) (define-public glibc-locales-2.32 (package (inherit (make-glibc-locales glibc-2.32)) (name "glibc-locales-2.32"))) diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index 43f38303f7..bb3359d5d1 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -445,28 +445,27 @@ you to call routines in shared libraries from within Bash.") (define-public blesh (package (name "blesh") - (version "0.4.0-devel2") + (version "0.4.0-devel3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/akinomyoga/ble.sh") - (commit (string-append "v" version)))) + (commit (string-append "v" version)) + (recursive? #t))) (file-name (git-file-name name version)) (sha256 (base32 - "02fdjyh4x6wr5hg3i86nsxhz8ysgjrvvxdmk6pqr0lm8ngw9p3sh")))) + "19y9rmj9srl7akx33gl34l5qgz2ww0vlmi4j2r11029p8sn4s418")))) (arguments (list #:make-flags #~(list (string-append "PREFIX=" #$output)) #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'pretend-contrib-.git-exists - (lambda _ - (mkdir-p "contrib/.git"))) - (add-after 'unpack 'make-readlink-work + (add-after 'unpack 'pretend-.git-exists (lambda _ (substitute* "ble.pp" - (("PATH=/bin:/usr/bin readlink") - "readlink")))) + (("#%\\[commit_hash =.*") + (string-append "#%[commit_hash = " #$version "]\n"))) + (mkdir-p ".git"))) (delete 'configure) ;no configure (add-before 'check 'use-LANG-for-tests (lambda _ @@ -474,7 +473,7 @@ you to call routines in shared libraries from within Bash.") (getenv "LC_ALL")) (unsetenv "LC_ALL")))))) (build-system gnu-build-system) - (native-inputs (list less)) + (native-inputs (list git less)) (home-page "https://github.com/akinomyoga/ble.sh") (synopsis "Bash Line Editor") (description diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 00701c4463..bc8eda4293 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1436,6 +1436,51 @@ curated cell type labels, for use in procedures like automated annotation of single-cell data or deconvolution of bulk RNA-seq.") (license license:gpl3))) +(define-public r-cellid + (package + (name "r-cellid") + (version "1.8.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "CelliD" version)) + (sha256 + (base32 + "0vigvqjrlqbi5kviaj8qvyq3v8afgbc5pjrz7zmx2ckf4hdp0g03")))) + (properties `((upstream-name . "CelliD"))) + (build-system r-build-system) + (propagated-inputs + (list r-data-table + r-biocparallel + r-fastmatch + r-fgsea + r-ggplot2 + r-glue + r-irlba + r-matrix + r-matrixstats + r-pbapply + r-rcpp + r-rcpparmadillo + r-reticulate + r-rtsne + r-seurat + r-stringr + r-tictoc + r-singlecellexperiment + r-summarizedexperiment + r-umap)) + (native-inputs (list r-knitr r-scater)) + (home-page "https://bioconductor.org/packages/CelliD") + (synopsis + "Single cell gene signature extraction using multiple correspondence analysis") + (description + "CelliD is a clustering-free method for extracting per-cell gene +signatures from scRNA-seq. CelliD allows unbiased cell identity recognition +across different donors, tissues-of-origin, model organisms and single-cell +omics protocols. The package can also be used to explore functional pathways +enrichment in single cell data.") + (license license:gpl3))) + (define-public r-champdata (package (name "r-champdata") @@ -2814,13 +2859,13 @@ analysis, modelling, and visualization of spike-in controls.") (define-public r-ancombc (package (name "r-ancombc") - (version "2.2.0") + (version "2.2.1") (source (origin (method url-fetch) (uri (bioconductor-uri "ANCOMBC" version)) (sha256 (base32 - "1wfbi8xyh2pxpjdv2zhml2l1h8c7fyfl5wyici3nm3rcs00n7m9w")))) + "05gngz6cqihxg4zlf7ymw93qj61a1i19hgp4fkc0cxnkq0pambrd")))) (properties `((upstream-name . "ANCOMBC"))) (build-system r-build-system) (propagated-inputs @@ -2828,25 +2873,21 @@ analysis, modelling, and visualization of spike-in controls.") r-desctools r-doparallel r-dorng - r-dplyr - r-emmeans r-energy r-foreach + r-gtools r-hmisc r-lme4 r-lmertest - r-magrittr r-mass + r-matrix r-mia + r-multcomp r-nloptr r-rdpack - r-rlang - r-rngtools r-s4vectors r-singlecellexperiment r-summarizedexperiment - r-tibble - r-tidyr r-treesummarizedexperiment)) (native-inputs (list r-knitr)) (home-page "https://github.com/FrederickHuangLin/ANCOMBC") @@ -3059,13 +3100,13 @@ paired or unpaired study designs.") (define-public r-alevinqc (package (name "r-alevinqc") - (version "1.16.0") + (version "1.16.1") (source (origin (method url-fetch) (uri (bioconductor-uri "alevinQC" version)) (sha256 (base32 - "014jxp2ymxiywp2qa1b9f7iszgf95v03h9kgk8ljabnbia1zsl67")))) + "137bvqyh1cqmhf9x3xl6n1dv0380lpcr2nxhd60b7zqiw4p14i5a")))) (properties `((upstream-name . "alevinQC"))) (build-system r-build-system) (propagated-inputs @@ -3919,13 +3960,13 @@ Various visual and textual types of output are available.") (define-public r-bambu (package (name "r-bambu") - (version "3.2.3") + (version "3.2.5") (source (origin (method url-fetch) (uri (bioconductor-uri "bambu" version)) (sha256 (base32 - "1b5zmyj75fjhyn4mb70gdqvxg76fg2z45vns9l0rl66s3p5mhm6d")))) + "1vqxmz2lknnx1g61y7skvznsnxv3clajngz9mnggg1z3p5mr6cnh")))) (properties `((upstream-name . "bambu"))) (build-system r-build-system) (propagated-inputs @@ -4735,13 +4776,13 @@ bases such as COSMIC.") (define-public r-delayedarray (package (name "r-delayedarray") - (version "0.26.3") + (version "0.26.6") (source (origin (method url-fetch) (uri (bioconductor-uri "DelayedArray" version)) (sha256 (base32 - "0m603v0l74nawid61hvqbyb2662c1djqp436p87pk4f04fvws67j")))) + "0jy2spqysa5x1s84kbr1jbbdmlh3q44lrw1qck2fln3b6q5vgz0k")))) (properties `((upstream-name . "DelayedArray"))) (build-system r-build-system) @@ -5084,13 +5125,13 @@ over-abundant or less-abundant as compared to that of normal cells.") (define-public r-iranges (package (name "r-iranges") - (version "2.34.0") + (version "2.34.1") (source (origin (method url-fetch) (uri (bioconductor-uri "IRanges" version)) (sha256 (base32 - "13kmh5zik3gw4jzh666zd3vmv915fcac5lx76s9q38x01m4gd7ld")))) + "013a3vcw1v5vn0sg2d9cwrdksch48kilvxp8cr79y0nr4vk58q9z")))) (properties `((upstream-name . "IRanges"))) (build-system r-build-system) @@ -5112,24 +5153,24 @@ possible.") (define-public r-isoformswitchanalyzer (package (name "r-isoformswitchanalyzer") - (version "1.21.0") + (version "2.0.1") (source (origin (method url-fetch) (uri (bioconductor-uri "IsoformSwitchAnalyzeR" version)) (sha256 - (base32 "1vzzsqjnkaffyxgvw6bsbxhgg1102cap2hsmzkhwzh6bvh02bwkx")))) + (base32 "1zjwhxlayz2sb77vspw280didhawj282i5gvxnydcdparg165zwf")))) (properties `((upstream-name . "IsoformSwitchAnalyzeR"))) (build-system r-build-system) (propagated-inputs (list r-biobase r-biocgenerics + r-biocparallel r-biostrings r-bsgenome r-dbi r-dexseq r-dplyr - r-drimseq r-edger r-futile-logger r-genomeinfodb @@ -5139,14 +5180,20 @@ possible.") r-iranges r-limma r-magrittr + r-pfamanalyzer r-plyr r-rcolorbrewer r-rcurl r-readr r-reshape2 r-rtracklayer + r-s4vectors + r-saturn r-stringr + r-summarizedexperiment + r-sva r-tibble + r-tidyr r-tximeta r-tximport r-venndiagram @@ -5367,14 +5414,14 @@ performing parallel computations on multicore machines.") (define-public r-affy (package (name "r-affy") - (version "1.78.0") + (version "1.78.1") (source (origin (method url-fetch) (uri (bioconductor-uri "affy" version)) (sha256 (base32 - "15hpxflygpy1sid0c4hlzmsc13nqyzs6j74md0ri478qysiqjnpf")))) + "1xj8pnaa782k1hxaiba6mcsqr21bk8xz31916836jz5l9848zjsw")))) (build-system r-build-system) (propagated-inputs (list r-affyio @@ -5605,13 +5652,13 @@ microarrays.") (define-public r-annotationdbi (package (name "r-annotationdbi") - (version "1.62.1") + (version "1.62.2") (source (origin (method url-fetch) (uri (bioconductor-uri "AnnotationDbi" version)) (sha256 (base32 - "0a5brfd010p0ks8b7kvrynirmzv3p74r9vqwv5wyz4kbnasfd1v1")))) + "0vprm84k79pfnkkg9vf3gyb1nhzmin5lp5375rsaj6fnzbd46dw9")))) (properties `((upstream-name . "AnnotationDbi"))) (build-system r-build-system) @@ -5619,8 +5666,8 @@ microarrays.") (list r-biobase r-biocgenerics r-dbi - r-keggrest r-iranges + r-keggrest r-rsqlite r-s4vectors)) (native-inputs @@ -5660,14 +5707,14 @@ used by @code{ensembldb}, @code{Organism.dplyr}, and other packages.") (define-public r-annotationforge (package (name "r-annotationforge") - (version "1.42.0") + (version "1.42.2") (source (origin (method url-fetch) (uri (bioconductor-uri "AnnotationForge" version)) (sha256 (base32 - "0s1k32li3nygg01nv9hbs7n6pabaassxmm4z5jggp6apdzkjpsc7")))) + "0b4dmjv7y50c1rn76wlhnlz93kidvg1byj72vq2s11kdzyq3pmss")))) (properties `((upstream-name . "AnnotationForge"))) (build-system r-build-system) @@ -5810,13 +5857,13 @@ on Bioconductor or which replace R functions.") (define-public r-biomart (package (name "r-biomart") - (version "2.56.0") + (version "2.56.1") (source (origin (method url-fetch) (uri (bioconductor-uri "biomaRt" version)) (sha256 (base32 - "10cjysqnc1wr0ld3wjl79zv0irrmxb8hf03y63fbwcc43rjcgv07")))) + "0jqv2mv4ridi5lffva20a5s479bzpxhblyymricb17fd400rag8f")))) (properties `((upstream-name . "biomaRt"))) (build-system r-build-system) @@ -5850,13 +5897,13 @@ powerful online queries from gene annotation to database mining.") (define-public r-biomartr (package (name "r-biomartr") - (version "1.0.3") + (version "1.0.4") (source (origin (method url-fetch) (uri (cran-uri "biomartr" version)) (sha256 (base32 - "093v32r6s9sn7yisa4fdwgjif313ap19nvq0sbsgj2482k646d55")))) + "0hv4z6ycmn58ha7j7zfmyhvs2i37cm48gcalg19dli2kaw1c4210")))) (properties `((upstream-name . "biomartr"))) (build-system r-build-system) (propagated-inputs @@ -6377,14 +6424,14 @@ distribution.") (define-public r-deseq2 (package (name "r-deseq2") - (version "1.40.1") + (version "1.40.2") (source (origin (method url-fetch) (uri (bioconductor-uri "DESeq2" version)) (sha256 (base32 - "1910nvcm1lj5mcg8jdvfql6a6h1wnrgfl616gz942g4ngl18ya3p")))) + "0rb6b2aqn3an5ria4yjasjr7aldr5606rkc4yw275x9ddii22djg")))) (properties `((upstream-name . "DESeq2"))) (build-system r-build-system) (propagated-inputs @@ -6865,19 +6912,18 @@ genomic intervals. In addition, it can use BAM or BigWig files as input.") (define-public r-genomeinfodb (package (name "r-genomeinfodb") - (version "1.36.0") + (version "1.36.1") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomeInfoDb" version)) (sha256 (base32 - "072dawysgcfyhnwva38y5vf95y3b9dhpad66mwma07hrh27a6wqh")))) + "1c3fgni846vjw152m4aklb8kwrwjw3rww116a2cbii70nr86p5qg")))) (properties `((upstream-name . "GenomeInfoDb"))) (build-system r-build-system) (propagated-inputs - (list r-biocgenerics r-genomeinfodbdata r-iranges r-rcurl - r-s4vectors)) + (list r-biocgenerics r-genomeinfodbdata r-iranges r-rcurl r-s4vectors)) (native-inputs (list r-knitr)) (home-page "https://bioconductor.org/packages/GenomeInfoDb") @@ -6925,13 +6971,13 @@ alignments.") (define-public r-genomicfeatures (package (name "r-genomicfeatures") - (version "1.52.0") + (version "1.52.1") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicFeatures" version)) (sha256 (base32 - "0sccj6py15g5ihdrpzwn7j71wkqwljay8p2yn2wkd8142cfsr7x3")))) + "166l0pzg00kaagg3adnx1xy5bgmv42lm06a47i30lh14dc0k79wq")))) (properties `((upstream-name . "GenomicFeatures"))) (build-system r-build-system) @@ -7300,16 +7346,16 @@ Shiny-based display methods for Bioconductor objects.") (define-public r-lfa (package (name "r-lfa") - (version "1.28.2") + (version "2.0.11") (source (origin (method url-fetch) (uri (bioconductor-uri "lfa" version)) (sha256 - (base32 "0z8aa2435f7v2l6zwv47v2a6p9hal156dsh8v1iri233d1qx7fax")))) + (base32 "0x169fxwlccsqwj1bpviaky3hfr0zdwsdrlgfvrb4j6j95qfgnns")))) (properties `((upstream-name . "lfa"))) (build-system r-build-system) - (propagated-inputs (list r-corpcor)) + (propagated-inputs (list r-corpcor r-rspectra)) (native-inputs (list r-knitr)) (home-page "https://github.com/StoreyLab/lfa") (synopsis "Logistic Factor Analysis for categorical data") @@ -7321,13 +7367,13 @@ Binomial data via estimation of latent structure in the natural parameter.") (define-public r-limma (package (name "r-limma") - (version "3.56.1") + (version "3.56.2") (source (origin (method url-fetch) (uri (bioconductor-uri "limma" version)) (sha256 (base32 - "02c559an6hzk00bbvlrq1qljsnby4a53ng9jj6ff570mc6pabjn6")))) + "0miyba9frn1p4pkclzpr0bfazsk0br2jgpwpwwh773d3103hkn0r")))) (build-system r-build-system) (home-page "https://bioinf.wehi.edu.au/limma") (synopsis "Package for linear models for microarray and RNA-seq data") @@ -7340,13 +7386,13 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.") (define-public r-maaslin2 (package (name "r-maaslin2") - (version "1.13.0") + (version "1.14.1") (source (origin (method url-fetch) (uri (bioconductor-uri "Maaslin2" version)) (sha256 - (base32 "05xha6y6ssf80l4xb7skbjafpqww2d85l4b6wn72r5djidyxxw6y")))) + (base32 "06mb72hbzihdficv73yqbb2m86bkw78w3vbw1rm98n0npxq2fch6")))) (properties `((upstream-name . "Maaslin2"))) (build-system r-build-system) (propagated-inputs @@ -7363,7 +7409,6 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.") r-lme4 r-lmertest r-logging - r-lpsymphony r-mass r-metagenomeseq r-optparse @@ -7372,6 +7417,7 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.") r-pheatmap r-pscl r-robustbase + r-tibble r-vegan)) (native-inputs (list r-knitr)) (home-page "http://huttenhower.sph.harvard.edu/maaslin2") @@ -7971,18 +8017,20 @@ specific parser.") (define-public r-mzr (package (name "r-mzr") - (version "2.34.0") + (version "2.34.1") (source (origin (method url-fetch) (uri (bioconductor-uri "mzR" version)) (sha256 (base32 - "0dz9wqaawhkvswv4035xknlicia0m79r8n666s1yf59cfpmdqgs3")) + "1jsna4xwyph1gg72wwqlpavb65g5nc3db1vmcs1qcw1mdgasdjhk")) (modules '((guix build utils))) (snippet '(delete-file-recursively "src/boost")))) - (properties `((upstream-name . "mzR"))) + (properties + `((upstream-name . "mzR") + (updater-extra-inputs . ("boost")))) (build-system r-build-system) (arguments `(#:phases @@ -8023,13 +8071,13 @@ previously been used in XCMS.") (define-public r-numbat (package (name "r-numbat") - (version "1.3.0") + (version "1.3.2-1") (source (origin (method url-fetch) (uri (cran-uri "numbat" version)) (sha256 (base32 - "0499i20kkpr58b59xmw7d4q4dgp6ryfb9jj55idvhaa2k1kv28n6")))) + "1b9bykgw3z7a8bky5yv2g402gdapv8kcla2kbbyqvs77x4wba4q4")))) (properties `((upstream-name . "numbat"))) (build-system r-build-system) (propagated-inputs (list r-ape @@ -8266,6 +8314,29 @@ the results is also provided. All PCA methods make use of the same data structure (pcaRes) to provide a common interface to the PCA results.") (license license:gpl3+))) +(define-public r-pfamanalyzer + (package + (name "r-pfamanalyzer") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "pfamAnalyzeR" version)) + (sha256 + (base32 + "0zff887lc4bjrv683kqsw47vjwmf6886wybklsf2wd6hpy23mxfy")))) + (properties `((upstream-name . "pfamAnalyzeR"))) + (build-system r-build-system) + (propagated-inputs (list r-dplyr r-magrittr r-readr r-stringr r-tibble)) + (native-inputs (list r-knitr)) + (home-page "https://bioconductor.org/packages/pfamAnalyzeR") + (synopsis "Identification of domain isotypes in pfam data") + (description + "This R package enables the user to read pfam predictions into R. Most +human protein domains exist as multiple distinct variants termed domain +isotypes. This R package enables the identification and classification of such +domain isotypes from pfam data.") + (license license:expat))) + ;; This is a CRAN package, but it depends on a Bioconductor package: ;; r-aroma-light, r-dnacopy.. (define-public r-pscbs @@ -8733,6 +8804,40 @@ differential expression analysis, RNAseq data and related problems.") ;; Any version of the LGPL (license license:lgpl3+))) +(define-public r-saturn + (package + (name "r-saturn") + (version "1.8.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "satuRn" version)) + (sha256 + (base32 + "0frm7iblxkc8ajcdqrfgsvf4krn6x8cr3mx7fnzq06xij0mqm3sj")))) + (properties `((upstream-name . "satuRn"))) + (build-system r-build-system) + (propagated-inputs (list r-biocparallel + r-boot + r-ggplot2 + r-limma + r-locfdr + r-matrix + r-pbapply + r-summarizedexperiment)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/statOmics/satuRn") + (synopsis + "Analysis of differential transcript usage for scRNA-seq applications") + (description + "satuRn provides a framework for performing differential transcript usage +analyses. The package consists of three main functions. The first function, +@code{fitDTU}, fits quasi-binomial generalized linear models that model +transcript usage in different groups of interest. The second function, +@code{testDTU}, tests for differential usage of transcripts between groups of +interest. Finally, @code{plotDTU} visualizes the usage profiles of +transcripts in groups of interest.") + (license license:artistic2.0))) + (define-public r-scannotatr (package (name "r-scannotatr") @@ -8819,13 +8924,13 @@ comprehensive scDblFinder method.") (define-public r-scistreer (package (name "r-scistreer") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (cran-uri "scistreer" version)) (sha256 (base32 - "0cdp26ngfp5rxa21nqnj6j2098f6996368g4msb3shh7n75np4s9")))) + "03nd4p7ik66v09yv18c0z1bvdnkr5m0axk78yapd2ri80ihmyi3c")))) (properties `((upstream-name . "scistreer"))) (build-system r-build-system) (propagated-inputs (list r-ape @@ -9356,13 +9461,13 @@ involving two separate genomic loci encoded as GRanges objects.") (define-public r-summarizedexperiment (package (name "r-summarizedexperiment") - (version "1.30.1") + (version "1.30.2") (source (origin (method url-fetch) (uri (bioconductor-uri "SummarizedExperiment" version)) (sha256 (base32 - "0wj82nmqg9g8663pg5f4h7hqhr1q4ghhiif2p7x1pxmh425sn554")))) + "05dy57fi43rpq9bhbsc4apa62xki99r84098pbvi3rjmac811425")))) (properties `((upstream-name . "SummarizedExperiment"))) (build-system r-build-system) @@ -9422,14 +9527,14 @@ unmodeled, or latent sources of noise.") (define-public r-systempiper (package (name "r-systempiper") - (version "2.6.0") + (version "2.6.3") (source (origin (method url-fetch) (uri (bioconductor-uri "systemPipeR" version)) (sha256 (base32 - "1yg650xkhmp6gcikiiv63g47k1xycg2mj8wxfnihgmlmlw4433yk")))) + "068rikfq32awhvj0abl30bghv5k2z4zlfkbxpmsdapxhmdzhgnba")))) (properties `((upstream-name . "systemPipeR"))) (build-system r-build-system) (propagated-inputs @@ -10313,13 +10418,13 @@ fitting of some classes of graphical Markov models.") (define-public r-ggpicrust2 (package (name "r-ggpicrust2") - (version "1.7.0") + (version "1.7.1") (source (origin (method url-fetch) (uri (cran-uri "ggpicrust2" version)) (sha256 (base32 - "0rw2nrmnniff5hb56r21rk0mphba74fppxsa5ps2xamg1a63qfyw")))) + "0a4ykfybwx1qhgn7ic29dzigiazj248iihdr1597jxj505q21gay")))) (properties `((upstream-name . "ggpicrust2"))) (build-system r-build-system) (propagated-inputs (list r-aldex2 @@ -10329,6 +10434,7 @@ fitting of some classes of graphical Markov models.") r-dplyr r-edger r-ggally + r-ggh4x r-ggplot2 r-ggprism r-lefser @@ -10337,7 +10443,6 @@ fitting of some classes of graphical Markov models.") r-metagenomeseq r-microbiomestat r-patchwork - r-phyloseq r-readr r-summarizedexperiment r-tibble @@ -10492,13 +10597,13 @@ enrichedGO (addGeneIDs).") (define-public r-matrixgenerics (package (name "r-matrixgenerics") - (version "1.12.0") + (version "1.12.2") (source (origin (method url-fetch) (uri (bioconductor-uri "MatrixGenerics" version)) (sha256 (base32 - "17a4gvc1bgiym6z5dy0cigvary4knc4bpmq9bymjlwsg9337b4wg")))) + "1bzdhm2dj93xffla00hphxn45mpyn3cr8nv8d5xjqgx8j136biyy")))) (properties `((upstream-name . "MatrixGenerics"))) (build-system r-build-system) @@ -10735,14 +10840,14 @@ parsing of genetic sequencing data from ribosome profiling experiments.") (define-public r-interactionset (package (name "r-interactionset") - (version "1.28.0") + (version "1.28.1") (source (origin (method url-fetch) (uri (bioconductor-uri "InteractionSet" version)) (sha256 (base32 - "15bvjhwh7v4ldg5q52h1y5ks75qw85zynnybcaccypws3zlwvacn")))) + "1vs3mqf3x8zk7p83jkv41kag1bmn5zxrr3j1ldqk6wxsl77h55c5")))) (properties `((upstream-name . "InteractionSet"))) (build-system r-build-system) @@ -10941,13 +11046,13 @@ information.") (define-public r-glmgampoi (package (name "r-glmgampoi") - (version "1.12.1") + (version "1.12.2") (source (origin (method url-fetch) (uri (bioconductor-uri "glmGamPoi" version)) (sha256 (base32 - "05v9lrjbipz9av1gb0x8kd9mkivxy13wjbs5g6rdw3y72gqqv91d")))) + "0d6q8vn8z90k8ffskcn9jmgg5x5pfb3wjv67bqskasy38inn1zg7")))) (properties `((upstream-name . "glmGamPoi"))) (build-system r-build-system) (propagated-inputs @@ -11627,14 +11732,14 @@ coordinates.") (define-public r-lpsymphony (package (name "r-lpsymphony") - (version "1.28.0") + (version "1.28.1") (source (origin (method url-fetch) (uri (bioconductor-uri "lpsymphony" version)) (sha256 (base32 - "096d0dql1cg85mmxba3dy2a7ba3sxqphsviqqvx1n35xiidsnpyp")))) + "08b4d7k5qx19bpg12pw89ckk8x6r2n28qjdxbmy1cxn6dcgzhijd")))) (build-system r-build-system) (arguments (list @@ -11649,7 +11754,7 @@ coordinates.") (inputs (list zlib)) (native-inputs - (list pkg-config r-knitr)) + (list gfortran pkg-config r-knitr)) (home-page "https://r-forge.r-project.org/projects/rsymphony") (synopsis "Symphony integer linear programming solver in R") (description @@ -13574,12 +13679,12 @@ frequency matrices from nine public sources, for multiple organisms.") (define-public r-motifbreakr (package (name "r-motifbreakr") - (version "2.13.7") + (version "2.14.2") (source (origin (method url-fetch) (uri (bioconductor-uri "motifbreakR" version)) (sha256 - (base32 "0j4i3059n0g9n73nyxaca7pd4hncvgp0ww63i3kyp5pnvwycsax2")))) + (base32 "13fv0rkyb32grswlgzd3zr35p9xpibj2iq62sr23if4w6z5nbml2")))) (properties `((upstream-name . "motifbreakR"))) (build-system r-build-system) (propagated-inputs @@ -14929,14 +15034,14 @@ index.") (define-public r-quasr (package (name "r-quasr") - (version "1.40.0") + (version "1.40.1") (source (origin (method url-fetch) (uri (bioconductor-uri "QuasR" version)) (sha256 (base32 - "09k4r5a735022rc33k6a7pr98qxwy8ijsn451hcw18dimqzm78bx")))) + "08vns1wbgpxw1x6djp84f9hl3gqaybbw9917ghfzk0x3ijpvggbg")))) (properties `((upstream-name . "QuasR"))) (build-system r-build-system) (propagated-inputs @@ -16290,14 +16395,14 @@ metrics, with methods for objects produced by the @code{methylumi} and (define-public r-gdsfmt (package (name "r-gdsfmt") - (version "1.36.0") + (version "1.36.1") (source (origin (method url-fetch) (uri (bioconductor-uri "gdsfmt" version)) (sha256 (base32 - "10k445cwb5jhgcr0zf85x24mvldwk26zpwh0wq4himr44aha3bwx")) + "11qib2znznzvyb0x9qm1nfg9lhyqy63yrdjicy7n3n6l8dfd2lx7")) (modules '((guix build utils))) ;; Remove bundled sources of zlib, lz4, and xz. Don't attempt to build ;; them and link with system libraries instead. @@ -16320,7 +16425,9 @@ metrics, with methods for objects produced by the @code{methylumi} and (substitute* "src/CoreArray/dStream.h" (("include \"../(ZLIB|LZ4|XZ/api)/(.*)\"" _ _ header) (string-append "include <" header ">"))))))) - (properties `((upstream-name . "gdsfmt"))) + (properties + `((upstream-name . "gdsfmt") + (updater-extra-inputs . ("lz4" "xz" "zlib")))) (build-system r-build-system) (inputs (list lz4 xz zlib)) @@ -16552,14 +16659,14 @@ provides methods for retrieving enriched pathways.") (define-public r-variantfiltering (package (name "r-variantfiltering") - (version "1.36.0") + (version "1.36.1") (source (origin (method url-fetch) (uri (bioconductor-uri "VariantFiltering" version)) (sha256 (base32 - "1j9fkqsxq7z3w2m435lqnrm8d17cd7l4873h26slmxhdazc9n94i")))) + "0v0shsv0s9fzakdb4p84jfc4z57ryan27r1dkbvb3v25kjrhd8fi")))) (properties `((upstream-name . "VariantFiltering"))) (build-system r-build-system) @@ -16658,14 +16765,14 @@ arrays based on fast wavelet-based functional models.") (define-public r-variancepartition (package (name "r-variancepartition") - (version "1.30.0") + (version "1.30.2") (source (origin (method url-fetch) (uri (bioconductor-uri "variancePartition" version)) (sha256 (base32 - "052xay39bzxyn0li631zy2nl08vp7q85q4phigwswpavfhl4w71g")))) + "17jssd327l0miw52iadag2dbk8w4mhv2vwjpzdw89p8gww47bmbv")))) (properties `((upstream-name . "variancePartition"))) (build-system r-build-system) @@ -16761,14 +16868,14 @@ data.") (define-public r-universalmotif (package (name "r-universalmotif") - (version "1.18.0") + (version "1.18.1") (source (origin (method url-fetch) (uri (bioconductor-uri "universalmotif" version)) (sha256 (base32 - "0v7c624y2sbqs6mc6kd6dynx24zakcilaswssxmplrcx15im87cn")))) + "0v1085dl16a3494f1fxc9rk1ffz3si89mdwbmnnczyhj5p13pfx8")))) (properties `((upstream-name . "universalmotif"))) (build-system r-build-system) @@ -17565,13 +17672,13 @@ monograph.") (define-public r-bioccheck (package (name "r-bioccheck") - (version "1.36.0") + (version "1.36.1") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocCheck" version)) (sha256 (base32 - "15f4jx4rkhi6aakdmy23dh3nlb2psaxkvwvrbya9vlsf5lmhajf9")))) + "0a0fnmqln13iglnw8smbbr4k7hdvacipxa04zhqylygpsq1246bc")))) (properties `((upstream-name . "BiocCheck"))) (build-system r-build-system) @@ -18454,13 +18561,13 @@ objects from the @code{graph} package.") (define-public r-fishpond (package (name "r-fishpond") - (version "2.6.0") + (version "2.6.2") (source (origin (method url-fetch) (uri (bioconductor-uri "fishpond" version)) (sha256 (base32 - "0lpafc1770kh4j151509d9lrpfj9jgla14km4vsfrqjmyhf2prss")))) + "0zsw4j6gk25303xpdwnkda2sq3mb4zb4p1mzwiyf7hdyf87zis05")))) (properties `((upstream-name . "fishpond"))) (build-system r-build-system) (propagated-inputs @@ -19088,14 +19195,14 @@ variable and significantly correlated genes.") (define-public r-sparsematrixstats (package (name "r-sparsematrixstats") - (version "1.12.0") + (version "1.12.2") (source (origin (method url-fetch) (uri (bioconductor-uri "sparseMatrixStats" version)) (sha256 (base32 - "0yng347pnsrkbjgfw9xi20ms57kkbdgzh3sz3sj24dp6k0p5s3da")))) + "00jalzg6yphi8ci4iid7x38jlsrvvdswrq7cqa7jybs26ayjldw1")))) (properties `((upstream-name . "sparseMatrixStats"))) (build-system r-build-system) @@ -19113,14 +19220,14 @@ data in the column sparse format.") (define-public r-delayedmatrixstats (package (name "r-delayedmatrixstats") - (version "1.22.0") + (version "1.22.1") (source (origin (method url-fetch) (uri (bioconductor-uri "DelayedMatrixStats" version)) (sha256 (base32 - "1mjdk76vmjzmmll0r73kfdi3x77hpdbk3jgzdqryxg4gna597q7j")))) + "13iqlw74zh65y2ckwg0b3xbqc6jgj34xjgsg9axfv7j7znwk9igg")))) (properties `((upstream-name . "DelayedMatrixStats"))) (build-system r-build-system) @@ -20258,14 +20365,14 @@ package, primarily for creation of the underlying Conda instance.") (define-public r-basilisk (package (name "r-basilisk") - (version "1.12.0") + (version "1.12.1") (source (origin (method url-fetch) (uri (bioconductor-uri "basilisk" version)) (sha256 (base32 - "02ai6ybxhj9q9mshkf17ivvqwsh9lhz7fig5wvr3m7a48hmqqg55")))) + "0bg6jfl12jsmhgby7x7g2vfmi61rx0jdksi97hb0zajgh1nvhirh")))) (properties `((upstream-name . "basilisk"))) (build-system r-build-system) (propagated-inputs @@ -20284,14 +20391,14 @@ Python environments in a single R session.") (define-public r-biocthis (package (name "r-biocthis") - (version "1.10.1") + (version "1.10.3") (source (origin (method url-fetch) (uri (bioconductor-uri "biocthis" version)) (sha256 (base32 - "1kmgahjyyrvs475as24yk0jniswjaa507q6zs8zq8jjqa26gy6zj")))) + "1v0qrypdzl1bg85k8i7qamb6709cgk4ypmisjh6bn5r36nqd5qx4")))) (properties `((upstream-name . "biocthis"))) (build-system r-build-system) (arguments @@ -20489,14 +20596,14 @@ using aCGH or sequencing.") (define-public r-bionero (package (name "r-bionero") - (version "1.8.0") + (version "1.8.5") (source (origin (method url-fetch) (uri (bioconductor-uri "BioNERO" version)) (sha256 (base32 - "0733v4mijf94gn0sbkhiinb3hxlsfqw2l89gx94k88sp3qy2qzvc")))) + "0nrvq6cn55qzp66pqssyfxl2wh5dfqndchcv8qgfqajsnz8i35xm")))) (properties `((upstream-name . "BioNERO"))) (build-system r-build-system) (propagated-inputs @@ -20504,8 +20611,8 @@ using aCGH or sequencing.") r-complexheatmap r-dynamictreecut r-genie3 + r-ggdendro r-ggnetwork - r-ggnewscale r-ggplot2 r-ggrepel r-igraph @@ -20513,10 +20620,10 @@ using aCGH or sequencing.") r-matrixstats r-minet r-netrep - r-networkd3 r-patchwork r-rcolorbrewer r-reshape2 + r-rlang r-summarizedexperiment r-sva r-wgcna)) @@ -20982,13 +21089,13 @@ estimates, etc.") (define-public r-tcgabiolinks (package (name "r-tcgabiolinks") - (version "2.28.2") + (version "2.28.3") (source (origin (method url-fetch) (uri (bioconductor-uri "TCGAbiolinks" version)) (sha256 - (base32 "16hpljnqskgv7mycj0ipfxhvkyy0hcqvnrn5m416plwcx5cj2fjm")))) + (base32 "1hh09ya4jg062k1ibp1cpvdrgv6gwr95ch57iycgd3cjc5g0xhii")))) (properties `((upstream-name . "TCGAbiolinks"))) (build-system r-build-system) (propagated-inputs diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 9e356cba5d..341731d066 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -687,6 +687,59 @@ and utilities for PacBio C++ applications.") suite native in R.") (license license:expat)))) +(define-public r-bpcells + (let ((commit "32ce67312185d3ed1046b4218dd3aaf1b35dcfda") + (revision "1")) + (package + (name "r-bpcells") + (version (git-version "0.1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bnprks/BPCells/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0im4sqvbii326acmd1hnimyzsllnbvnh9al3dp1nla6isgi7s6cg")))) + (properties `((upstream-name . "BPCells"))) + (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'do-not-tune + (lambda _ + (substitute* "configure" + (("\"-march=native\"") "\"\""))))))) + (inputs (list hdf5 zlib)) + (propagated-inputs (list r-dplyr + r-ggplot2 + r-ggrepel + r-hexbin + r-magrittr + r-matrix + r-patchwork + r-rcolorbrewer + r-rcpp + r-rcppeigen + r-rlang + r-scales + r-scattermore + r-stringr + r-tibble + r-tidyr + r-vctrs)) + (native-inputs (list pkg-config)) + (home-page "https://github.com/bnprks/BPCells/") + (synopsis "Single cell counts matrices to PCA") + (description + "This is a package providing efficient operations for single cell +ATAC-seq fragments and RNA counts matrices. It is interoperable with standard +file formats, and introduces efficient bit-packed formats that allow large +storage savings and increased read speeds.") + (license license:gpl3)))) + (define-public r-btools (let ((commit "fa21d4ca01d37ea4d98b45582453f3bf95cbc2b5") (revision "1")) @@ -822,6 +875,78 @@ attributes of microbiome data - zero-inflation and over-dispersion, are simultaneously considered.") (license license:gpl3)))) +(define-public r-numbat + (let ((commit "4ab7752e7d267a3f443756675728521a9b0a7295") + (revision "1")) + (package + (name "r-numbat") + (version (git-version "1.3.2-1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kharchenkolab/numbat") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0wa2cz5iy570r2a57bd74jramxayvfhmxznb0vq4vyk1ia8l5jd1")))) + (properties `((upstream-name . "numbat"))) + (build-system r-build-system) + (propagated-inputs + (list r-ape + r-catools + r-data-table + r-dendextend + r-dplyr + r-genomicranges + r-ggplot2 + r-ggraph + r-ggtree + r-glue + r-igraph + r-iranges + r-logger + r-magrittr + r-matrix + r-optparse + r-paralleldist + r-patchwork + r-pryr + r-purrr + r-r-utils + r-rcpp + r-rcpparmadillo + r-rhpcblasctl + r-roptim + r-scales + r-scistreer + r-stringr + r-tibble + r-tidygraph + r-tidyr + r-vcfr + r-zoo)) + (home-page "https://github.com/kharchenkolab/numbat") + (synopsis "Haplotype-Aware CNV Analysis from scRNA-Seq") + (description + "This package provides a computational method that infers copy number +variations (CNVs) in cancer scRNA-seq data and reconstructs the tumor +phylogeny. numbat integrates signals from gene expression, allelic ratio, and +population haplotype structures to accurately infer allele-specific CNVs in +single cells and reconstruct their lineage relationship. numbat can be used +to: + +@enumerate +@item detect allele-specific copy number variations from single-cells; +@item differentiate tumor versus normal cells in the tumor microenvironment; +@item infer the clonal architecture and evolutionary history of profiled +tumors. +@end enumerate + +numbat does not require tumor/normal-paired DNA or genotype data, but operates +solely on the donor scRNA-data data (for example, 10x Cell Ranger output).") + (license license:expat)))) + (define-public r-p2data (let ((commit "7d4c0e17d7899f9d9b08ab2bf455abe150912f4c") (revision "1")) @@ -3859,17 +3984,21 @@ file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.") (define-public python-dnaio (package (name "python-dnaio") - (version "0.6.0") + (version "0.10.0") (source (origin (method url-fetch) (uri (pypi-uri "dnaio" version)) (sha256 (base32 - "14v5yyasq2bz34j38wi3xfcp06jj7l35ppibjcn95l2n73hz3zwi")))) - (build-system python-build-system) + "064xc4j8plb4fpkm8mw55715mvpvi2sxsknpjx18c2zh904salfy")))) + (build-system pyproject-build-system) + (arguments + (list #:tests? #false)) ;there are none (native-inputs - (list python-cython python-pytest python-xopen)) + (list python-cython python-pytest python-setuptools-scm)) + (propagated-inputs + (list python-xopen)) (home-page "https://github.com/marcelm/dnaio/") (synopsis "Read FASTA and FASTQ files efficiently") (description @@ -3941,28 +4070,40 @@ annotations of the genome.") (define-public cutadapt (package (name "cutadapt") - (version "2.1") + (version "4.0") (source (origin (method url-fetch) (uri (pypi-uri "cutadapt" version)) (sha256 (base32 - "1vqmsfkm6llxzmsz9wcfcvzx9a9f8iabvwik2rbyn7nc4wm25z89")))) - (build-system python-build-system) + "0xgsv88mrlw2b1radmd1104y7bg8hvv54ay7xfdpnjiw2jgkrha9")))) + (build-system pyproject-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'always-cythonize - (lambda _ - (delete-file "src/cutadapt/_align.c") - ;; If PKG-INFO exists, setup.py decides not to run Cython. - (substitute* "setup.py" - (("os.path.exists\\('PKG-INFO'\\):") - "os.path.exists('totally-does-not-exist'):"))))))) + (list + #:test-flags + '(list "-k" "not test_no_read_only_comment_fasta_input") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-test + (lambda _ + (let ((site (string-append + #$output "/lib/python" + #$(version-major+minor + (package-version python)) + "/site-packages"))) + (substitute* "tests/test_command.py" + (("env=\\{\"LC_CTYPE\": \"C\"\\},") + (string-append "env={\"LC_CTYPE\": \"C\", \"GUIX_PYTHONPATH\": \"" + (getenv "GUIX_PYTHONPATH") ":" site + "\"},"))))))))) (inputs (list python-dnaio python-xopen)) (native-inputs - (list python-cython python-pytest python-setuptools-scm)) + (list python-cython + python-pytest + python-pytest-mock + python-pytest-timeout + python-setuptools-scm)) (home-page "https://cutadapt.readthedocs.io/en/stable/") (synopsis "Remove adapter sequences from nucleotide sequencing reads") (description @@ -9673,7 +9814,7 @@ differently labelled data.") (define-public r-pando (package (name "r-pando") - (version "1.0.1") + (version "1.0.5") (source (origin (method git-fetch) @@ -9682,21 +9823,22 @@ differently labelled data.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0c83anzdrbvg47p9xns2bxpjlx5z328can3jmzilw6rygwp7hyii")))) + (base32 "04kr1b28p5j7h48g32cldkg87xcmxnmd4kspygkfs7a4amihpi66")))) (properties `((upstream-name . "Pando"))) (build-system r-build-system) (propagated-inputs (list r-bayestestr - r-brms r-foreach r-genomicranges r-ggplot2 r-ggpointdensity r-ggraph r-glmnetutils + r-grr r-iranges r-irlba r-matrix + r-matrixgenerics r-motifmatchr r-pals r-patchwork @@ -9706,8 +9848,7 @@ differently labelled data.") r-tfbstools r-tidygraph r-tidyverse - r-uwot - r-xgboost)) + r-uwot)) (native-inputs (list r-knitr)) (home-page "https://github.com/quadbiolab/Pando") (synopsis "Infer regulomes from multi-modal single-cell genomics data") @@ -10876,34 +11017,34 @@ generate FASTA, JSON, YAML, RDF, JSON-LD, HTML, CSV, tabular output etc.") (define-public bioruby (package (name "bioruby") - (version "1.5.2") + (version "2.0.4") (source (origin (method url-fetch) (uri (rubygems-uri "bio" version)) (sha256 (base32 - "1d56amdsjv1mag7m6gv2w0xij8hqx1v5xbdjsix8sp3yp36m7938")))) + "08aknxk2ingwscwfqpw5vnax6jpk1sxfaialravladb63hcl8dx9")))) (build-system ruby-build-system) (propagated-inputs (list ruby-libxml)) (native-inputs (list which)) ; required for test phase (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'build 'patch-test-command - (lambda _ - (substitute* '("test/functional/bio/test_command.rb") - (("/bin/sh") (which "sh"))) - (substitute* '("test/functional/bio/test_command.rb") - (("/bin/ls") (which "ls"))) - (substitute* '("test/functional/bio/test_command.rb") - (("which") (which "which"))) - (substitute* '("test/functional/bio/test_command.rb", - "test/data/command/echoarg2.sh") - (("/bin/echo") (which "echo"))) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'patch-test-command + (lambda _ + (substitute* '("test/functional/bio/test_command.rb") + (("/bin/sh") (which "sh"))) + (substitute* '("test/functional/bio/test_command.rb") + (("/bin/ls") (which "ls"))) + (substitute* '("test/functional/bio/test_command.rb") + (("which") (which "which"))) + (substitute* '("test/functional/bio/test_command.rb" + "test/data/command/echoarg2.sh") + (("/bin/echo") (which "echo")))))))) (synopsis "Ruby library, shell and utilities for bioinformatics") (description "BioRuby comes with a comprehensive set of Ruby development tools and libraries for bioinformatics and molecular biology. BioRuby has @@ -11732,13 +11873,7 @@ using high-throughput sc-RNAseq data.") (copy-file (string-append "bin/sambamba-" ,version) (string-append bin "/sambamba")))))))) (native-inputs - `(("ld-gold-wrapper" - ;; Importing (gnu packages commencement) would introduce a cycle. - ,(module-ref (resolve-interface - '(gnu packages commencement)) - 'ld-gold-wrapper)) - ("binutils-gold" ,binutils-gold) - ("python" ,python))) + (list python)) (inputs (list ldc lz4 zlib)) (home-page "https://github.com/biod/sambamba") @@ -12290,7 +12425,7 @@ Browser.") (define-public bismark (package (name "bismark") - (version "0.20.1") + (version "0.24.1") (source (origin (method git-fetch) @@ -12300,69 +12435,90 @@ Browser.") (file-name (git-file-name name version)) (sha256 (base32 - "0xchm3rgilj6vfjnyzfzzymfd7djr64sbrmrvs3njbwi66jqbzw9")))) + "0j4dy33769f0jr2w1brb710zxwpg3zwjlnvlcpi5pr6mqc8dkg8n")) + (snippet '(delete-file "plotly/plot.ly")))) (build-system perl-build-system) (arguments - `(#:tests? #f ; there are no tests - #:modules ((guix build utils) + (list + #:tests? #f ; there are no tests + #:modules '((guix build utils) (ice-9 popen) (srfi srfi-26) (guix build perl-build-system)) - #:phases - (modify-phases %standard-phases - ;; The bundled plotly.js is minified. - (add-after 'unpack 'replace-plotly.js - (lambda* (#:key inputs #:allow-other-keys) - (let* ((file (assoc-ref inputs "plotly.js")) - (installed "plotly/plotly.js")) - (let ((minified (open-pipe* OPEN_READ "uglifyjs" file))) - (call-with-output-file installed - (cut dump-port minified <>)))) - #t)) - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (share (string-append out "/share/bismark")) - (docdir (string-append out "/share/doc/bismark")) - (docs '("Docs/Bismark_User_Guide.html")) - (scripts '("bismark" - "bismark_genome_preparation" - "bismark_methylation_extractor" - "bismark2bedGraph" - "bismark2report" - "coverage2cytosine" - "deduplicate_bismark" - "filter_non_conversion" - "bam2nuc" - "bismark2summary" - "NOMe_filtering"))) - (substitute* "bismark2report" - (("\\$RealBin/plotly") - (string-append share "/plotly"))) - (mkdir-p share) - (mkdir-p docdir) - (mkdir-p bin) - (for-each (lambda (file) (install-file file bin)) - scripts) - (for-each (lambda (file) (install-file file docdir)) - docs) - (copy-recursively "Docs/Images" (string-append docdir "/Images")) - (copy-recursively "plotly" - (string-append share "/plotly")) - - ;; Fix references to gunzip - (substitute* (map (lambda (file) - (string-append bin "/" file)) - scripts) - (("\"gunzip -c") - (string-append "\"" (assoc-ref inputs "gzip") - "/bin/gunzip -c"))) - #t)))))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'replace-plotly.js + (lambda* (#:key inputs #:allow-other-keys) + (let* ((share (string-append #$output "/share/bismark")) + (file (assoc-ref inputs "plotly.js")) + (installed "plotly/plotly.js")) + ;; The bundled plotly.js is minified. + (let ((minified (open-pipe* OPEN_READ "uglifyjs" file))) + (call-with-output-file installed + (cut dump-port minified <>))) + (substitute* "bismark2report" + (("plotly_template.tpl") + (string-append share "/plotly/plotly_template.tpl")) + (("my \\$plotly_code = read_report_template\\('plot.ly'\\);") + (string-append "\ +my $plotly_code = read_report_template('" share "/plotly/plotly.js'); +$plotly_code = \"<script>\" . $plotly_code . \"</script>\";")))))) + (replace 'configure + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "bismark" + (("\\(\\!system \"which samtools >/dev/null 2>&1\"\\)") + "(\"true\")") + (("\\$samtools_path = `which samtools`;") + (string-append "$samtools_path = '" + (search-input-file inputs "/bin/samtools") + "';")) + (("\\$path_to_bowtie2 = 'bowtie2'") + (string-append "$path_to_bowtie2 = '" + (search-input-file inputs "/bin/bowtie2") + "'")) + (("\\$path_to_hisat2 = 'hisat2'") + (string-append "$path_to_hisat2 = '" + (search-input-file inputs "/bin/hisat2") + "'")) + (("\\$path_to_minimap2 = 'minimap2'") + (string-append "$path_to_minimap2 = '" + (search-input-file inputs "/bin/minimap2") + "'"))))) + (delete 'build) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((bin (string-append #$output "/bin")) + (share (string-append #$output "/share/bismark")) + (docdir (string-append #$output "/share/doc/bismark")) + (scripts '("bismark" + "bismark_genome_preparation" + "bismark_methylation_extractor" + "bismark2bedGraph" + "bismark2report" + "coverage2cytosine" + "deduplicate_bismark" + "filter_non_conversion" + "bam2nuc" + "bismark2summary" + "NOMe_filtering"))) + (mkdir-p share) + (mkdir-p docdir) + (mkdir-p bin) + (for-each (lambda (file) (install-file file bin)) + scripts) + (copy-recursively "docs" docdir) + (copy-recursively "plotly" + (string-append share "/plotly")) + + ;; Fix references to gunzip + (substitute* (map (lambda (file) + (string-append bin "/" file)) + scripts) + (("\"gunzip -c") + (string-append "\"" (assoc-ref inputs "gzip") + "/bin/gunzip -c"))))))))) (inputs - (list gzip perl-carp perl-getopt-long)) + (list bowtie gzip hisat2 minimap2 perl-carp perl-getopt-long samtools)) (native-inputs `(("plotly.js" ,(origin @@ -14650,6 +14806,32 @@ visualize the results within R framework. The disgenet2r package is designed to retrieve data from DisGeNET v6.0 (Jan, 2019).") (license license:expat)))) +(define-public r-dtmm + (let ((commit "3a553b1e17d27d90a496d2e23e98e5dfe4abc266") + (revision "1")) + (package + (name "r-dtmm") + (version (git-version "0.1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/MaStatLab/DTMM") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "19279wafqfs9gk9489f8zsp52qcdb0mkxgvqszq4i733ckr2mmkk")))) + (properties `((upstream-name . "DTMM"))) + (build-system r-build-system) + (propagated-inputs (list r-ape r-rcpp r-rcpparmadillo)) + (home-page "https://github.com/MaStatLab/DTMM") + (synopsis "Dirichlet-tree multinomial mixtures") + (description + "This package lets you perform unsupervised clustering of amplicon +sequencing data in microbiome studies with the Dirichlet-tree Multinomial +Mixtures.") + (license license:cc0)))) + (define-public r-dyngen (package (name "r-dyngen") @@ -17259,6 +17441,30 @@ information... The package can also be used to extract data from @code{.loom} files.") (license license:expat)))) +(define-public rscape + (package + (name "rscape") + (version "2.0.0.q") + (source (origin + (method url-fetch) + (uri (string-append "http://eddylab.org/software/rscape/" + "rscape_v" version ".tar.gz")) + (sha256 + (base32 + "1jabvm3fzh8iy4803ns12v1fsy28x6wdy8wx4ik8y0mfac4h787q")))) + (build-system gnu-build-system) + (propagated-inputs (list gsl openmpi)) + (native-inputs (list automake autoconf)) + (home-page "https://github.com/EddyRivasLab/R-scape") + (synopsis "RNA structural covariation above phylogenetic expectation") + (description + "R-scape discovers RNA secondary structure consensus elements. +These elements include riboswitches and ribozymes. It utilizes probabilistic +modeling of sequence alignments, explicitly considering folding dependencies. +The tool enables the de novo search for new structural elements and +facilitates comparative analysis of known RNA families.") + (license license:bsd-3))) + (define-public r-seurat-utils (let ((commit "0b6f5b548a49148cfbeaa654e8a618c0a020afa5") (revision "1")) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 38e959b884..4266e7af1f 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -40,6 +40,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python) + #:use-module (guix build-system qt) #:use-module (guix build-system glib-or-gtk) #:use-module ((guix licenses) #:prefix l:) #:use-module (guix gexp) @@ -451,7 +452,7 @@ desktops.") (define-public qbittorrent (package (name "qbittorrent") - (version "4.5.2") + (version "4.5.4") (source (origin (method git-fetch) @@ -460,37 +461,20 @@ desktops.") (commit (string-append "release-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "07s0ypkd1zzkw9qhfwxxx7s6zizjz0448al17xmc1b48phn46hjk")))) - (build-system gnu-build-system) + (base32 "1r4vqlwmvg7b0ibq53m7ascyykv3v66qxlwfi0zmmi1ig7rlkxkk")))) + (build-system qt-build-system) (arguments - `(#:configure-flags - (list (string-append "--with-boost-libdir=" - (assoc-ref %build-inputs "boost") - "/lib") - "--enable-debug" - "QMAKE_LRELEASE=lrelease") - #:modules ((guix build gnu-build-system) - (guix build qt-utils) - (guix build utils)) - #:imported-modules (,@%gnu-build-system-modules - (guix build qt-utils)) - #:phases - (modify-phases %standard-phases - (add-after 'install 'wrap-qt - (lambda* (#:key outputs inputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (wrap-qt-program "qbittorrent" #:output out #:inputs inputs)) - #t))))) + (list #:configure-flags #~(list "-DTESTING=ON") + #:test-target "check")) (native-inputs - (list pkg-config qttools-5)) + (list qttools-5)) (inputs - `(("boost" ,boost) - ("libtorrent-rasterbar" ,libtorrent-rasterbar) - ("openssl" ,openssl) - ("python" ,python-wrapper) - ("qtbase" ,qtbase-5) - ("qtsvg-5" ,qtsvg-5) - ("zlib" ,zlib))) + (list boost + libtorrent-rasterbar + openssl + python-wrapper + qtsvg-5 + zlib)) (home-page "https://www.qbittorrent.org/") (synopsis "Graphical BitTorrent client") (description @@ -510,15 +494,46 @@ features.") (arguments (substitute-keyword-arguments (package-arguments base) ((#:configure-flags configure-flags) - #~(append #$configure-flags - (list "--disable-gui"))) - ((#:phases phases) - #~(modify-phases #$phases - (delete 'wrap-qt))))) + #~(cons "-DGUI=OFF" #$configure-flags)))) (inputs (modify-inputs (package-inputs base) (delete "qtsvg-5")))))) +(define-public qbittorrent-enhanced + (package + (inherit qbittorrent) + (name "qbittorrent-enhanced") + (version "4.5.2.10") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/c0re100/qBittorrent-Enhanced-Edition") + (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "18z4panaqbmhbw5i1yn17wpqzslhy6w08zcc5bx2hhlg8slp1r9j")))) + (home-page "https://github.com/c0re100/qBittorrent-Enhanced-Edition") + (description + "qBittorrent Enhanced is a bittorrent client based on qBittorrent with +the following features: + +@itemize +@item Auto Ban Xunlei, QQ, Baidu, Xfplay, DLBT and Offline downloader +@item Auto Ban Unknown Peer from China Option (Default: OFF) +@item Auto Update Public Trackers List (Default: OFF) +@item Auto Ban BitTorrent Media Player Peer Option (Default: OFF) +@item Peer whitelist/blacklist +@end itemize"))) + +(define-public qbittorrent-enhanced-nox + (package + (inherit qbittorrent-enhanced) + (name "qbittorrent-enhanced-nox") + (arguments (package-arguments qbittorrent-nox)) + (inputs (package-inputs qbittorrent-nox)))) + (define-public deluge (package (name "deluge") diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index a9685a9ef9..01fd1093ff 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> ;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de> -;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -665,7 +665,7 @@ tree binary files. These are board description files used by Linux and BSD.") (sha256 (base32 "1y5x8vxdgsqdqlsvq01mn8lmw53fqairkhvhhjx83hjva0m4id2h")))) - (build-system gnu-build-system) + (build-system gnu-build-system) (native-inputs (list bison dtc @@ -1484,10 +1484,13 @@ grub-efi-netboot-removable-bootloader.") "U_BOOT_DATE \"Jan 01 1969\"") (("U_BOOT_TIME \"%T\"") "U_BOOT_TIME \"00:00:00\"")))) - (add-before 'build 'adjust-for-gcc10 + (add-before 'build 'adjust-for-current-gcc (lambda _ - (copy-file "include/linux/compiler-gcc6.h" - "include/linux/compiler-gcc10.h") + (let ((gcc-major-version #$(version-major + (package-version gcc)))) + (copy-file "include/linux/compiler-gcc6.h" + (string-append "include/linux/compiler-gcc" + gcc-major-version ".h"))) (substitute* "arch/arm/Makefile" (("march=armv5") "march=armv5te")))) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index 5f6a3acc83..602d8f26c5 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -328,6 +328,7 @@ or false to signal an error." ((string=? system "arm-eabi") "no-ld.so") ((string=? system "avr") "no-ld.so") ((string=? system "i686-mingw") "no-ld.so") + ((string=? system "or1k-elf") "no-ld.so") ((string=? system "x86_64-mingw") "no-ld.so") ((string-suffix? "-elf" system) "no-ld.so") diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index f3bf0857dd..00fc059a74 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -171,14 +171,14 @@ generate such a compilation database.") (define-public bmake (package (name "bmake") - (version "20230321") + (version "20230622") (source (origin (method url-fetch) (uri (string-append "http://www.crufty.net/ftp/pub/sjg/bmake-" version ".tar.gz")) (sha256 - (base32 "0ml2z9ij674bd4227566n0547pcpxpmimp4xw4hj52kl1265czgd")))) + (base32 "007ckj2381bmwpxy5zmy2m19p2hxaj7ld80b5lv7i798c2fwj15l")))) (build-system gnu-build-system) (inputs (list bash-minimal)) @@ -211,7 +211,7 @@ generate such a compilation database.") (string-append "--with-default-sys-path=" #$output "/share/mk")) #:make-flags - #~(list "INSTALL=install"))) ;; use coreutils install + #~(list "INSTALL=install"))) ; use coreutils' install (home-page "http://www.crufty.net/help/sjg/bmake.htm") (synopsis "BSD's make") (description @@ -293,6 +293,7 @@ files and generates build instructions for the Ninja build system.") (define-public meson (package (name "meson") + (replacement meson/newer) (version "1.1.0") (source (origin (method url-fetch) @@ -329,6 +330,19 @@ files}, are written in a custom domain-specific language (@dfn{DSL}) that resembles Python.") (license license:asl2.0))) +(define-public meson/newer + (package + (inherit meson) + (version "1.1.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mesonbuild/meson/" + "releases/download/" version "/meson-" + version ".tar.gz")) + (sha256 + (base32 + "073vf8059nzs6p5aaqr5wva4pgl81540szdb5yw9yhyajwgm8jyh")))))) + (define-public meson-python (package (name "meson-python") @@ -535,14 +549,14 @@ software.") (define-public tup (package (name "tup") - (version "0.7.9") + (version "0.7.11") (source (origin (method url-fetch) (uri (string-append "http://gittup.org/tup/releases/tup-v" version ".tar.gz")) (sha256 (base32 - "0gnd2598xqgwihdkfkx7qn0q6p4n7npam1fy83mp7s04zwj99syc")) + "1157qfnhjakm3h07y7h38lrjw5650gkif34k30bnrsypmwl5xyzb")) (patches (search-patches "tup-unbundle-dependencies.patch")) (modules '((guix build utils))) (snippet @@ -591,7 +605,7 @@ software.") (display "au BufNewFile,BufRead Tupfile,*.tup setf tup"))) #t)))))) (inputs - (list fuse pcre + (list fuse-3 pcre `(,pcre "bin") ; pcre-config sqlite)) (native-inputs diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index e8bde0133d..9e5b511b98 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2022 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; Copyright © 2022 ( <paren@disroot.org> ;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe> +;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -241,6 +242,47 @@ standard.") ;; (if ever) complete. See the RELICENSING file for more information. (license license:lgpl2.1+)))) +(define-public tomlc99 + (let ((revision "0") + (commit "52e9c039c5418a100605c2db1282590511fa891b")) + (package + (name "tomlc99") + (version (git-version "1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cktan/tomlc99") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1zrn5mmd1ysxma96jzrq50xqypbs3rhk6dwlj1wcjpjz1a4h9wgg")))) + (build-system gnu-build-system) + (arguments + (list #:make-flags #~(list (string-append "CC=" + #$(cc-for-target)) + (string-append "prefix=" + #$output)) + #:phases #~(modify-phases %standard-phases + (delete 'configure) + (replace 'check + (lambda* (#:key tests? make-flags + #:allow-other-keys) + (when tests? + (apply invoke + `("make" "-C" "unittest" + ,@make-flags)) + (invoke "./unittest/t1"))))))) + (home-page "https://github.com/cktan/tomlc99") + (synopsis "TOML library for C") + (description + "This library is a C99 implementation to read +@acronym{TOML, Tom's Obvious Minimal Language} text documents. + +This library is compatible with the @url{https://toml.io/en/v1.0.0,v1.0.0} +specification of the language.") + (license license:expat)))) + (define-public pcc (package (name "pcc") diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index bffc965886..991995daf7 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> -;;; Copyright © 2016, 2017, 2020, 2022 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2020, 2022, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com> ;;; Copyright © 2016, 2021 Stefan Reichoer <stefan@xsteve.at> ;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr> @@ -177,13 +177,13 @@ data units.") (define-public khal (package (name "khal") - (version "0.11.1") + (version "0.11.2") (source (origin (method url-fetch) (uri (pypi-uri "khal" version)) (sha256 (base32 - "07k0cfbfkx9fhfk4gf73vh34c05i1cb72gc15a1lmx9knxy4h503")))) + "1flrz01nsmvphiv673b8ia279qcp3gj6a1rsjlsj4gp5f69xif4g")))) (build-system python-build-system) (arguments `(#:tests? #f ; The test suite is unreliable. See <https://bugs.gnu.org/44197> @@ -202,17 +202,18 @@ data units.") ;; Required to build manpage python-sphinxcontrib-newsfeed python-sphinx)) (inputs - (list python-configobj + (list python-atomicwrites + python-click + python-click-log + python-configobj python-dateutil python-icalendar + python-pytz + python-pyxdg python-tzlocal python-urwid - python-pytz - python-setproctitle - python-atomicwrites - python-click - python-click-log - python-pyxdg)) + ;; For the extras. + python-setproctitle)) (synopsis "Console calendar program") (description "Khal is a standards based console calendar program, able to synchronize with CalDAV servers through vdirsyncer. It includes diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 16f3efec25..dbaa67efb6 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -162,7 +162,7 @@ libcdio.") (define-public xorriso (package (name "xorriso") - (version "1.5.4") + (version "1.5.6.pl02") (outputs '("out" "gui")) (source (origin (method url-fetch) @@ -170,7 +170,7 @@ libcdio.") version ".tar.gz")) (sha256 (base32 - "14p3r6jahfqqw2gf739l5myz5x4qb8h34zyczbpdps2krbq5bh9s")))) + "1qfs9ybd9k67r78rp1csijmlrq7mq39f7kpyq6qcap46z5fryvvq")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 87728fefa3..85eeac98a4 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -38,11 +38,12 @@ ;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr> ;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be> -;;; Copyright © 2022 David Elsing <david.elsing@posteo.net> +;;; Copyright © 2022, 2023 David Elsing <david.elsing@posteo.net> ;;; Copyright © 2022 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2022 jgart <jgart@dismail.de> ;;; Copyright © 2023 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com> ;;; Copyright © 2023 Timo Wilken <guix@twilken.net> +;;; Copyright © 2023 Zhu Zihao <all_but_last@163.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -596,10 +597,10 @@ It allows the specification of behaviour scenarios using a given-when-then pattern.") (license license:apsl2)))) -(define-public catch2-3.1 +(define-public catch2-3.3 (package (name "catch2") - (version "3.1.1") + (version "3.3.2") (home-page "https://github.com/catchorg/Catch2") (source (origin (method git-fetch) @@ -609,66 +610,14 @@ pattern.") (file-name (git-file-name name version)) (sha256 (base32 - "1qnr5b3zq8brh43f924rgnw5gmmjf9ax7kbq2crz1mlwgmdymxlp")))) - (outputs (list "out" "static")) - (build-system meson-build-system) + "0m6i3lr0qk303ashjpz5vpwmxf76n5d6s8jq6r6kcy6gph525zmp")))) + (build-system cmake-build-system) (arguments (list - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'patch-meson - (lambda _ - (substitute* "src/catch2/meson.build" - (("static_library") "both_libraries")))) - (add-after 'install 'install-cmake-config - (lambda* (#:key outputs #:allow-other-keys) - (define prefix (string-append (assoc-ref outputs "out") - "/lib/cmake/Catch2/")) - (mkdir-p prefix) - (call-with-output-file (string-append - prefix - "catch2-config-version.cmake") - (lambda (port) - (format - port - "set(PACKAGE_VERSION ~s)~@ - if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)~@ - set(PACKAGE_VERSION_EXACT TRUE)~@ - set(PACKAGE_VERSION_COMPATIBLE TRUE)~@ - elseif(PACKAGE_FIND_VERSION VERSION_LESS_EQUAL ~ - PACKAGE_VERSION)~@ - set(PACKAGE_VERSION_COMPATIBLE TRUE)~@ - else()~@ - set(PACKAGE_VERSION_COMPATIBLE FALSE)~@ - endif()" - #$version))) - (call-with-output-file (string-append prefix - "catch2-config.cmake") - (lambda (port) - (format - port - "include(FindPkgConfig)~@ - pkg_check_modules(CATCH2 IMPORTED_TARGET GLOBAL catch2)~@ - pkg_check_modules(CATCH2MAIN ~ - IMPORTED_TARGET GLOBAL ~ - catch2 catch2-with-main)~@ - if(CATCH2_FOUND)~@ - add_library(Catch2::Catch2 ALIAS PkgConfig::CATCH2)~@ - endif()~@ - if(CATCH2MAIN_FOUND)~@ - add_library(Catch2::Catch2WithMain ~ - ALIAS PkgConfig::CATCH2MAIN)~@ - endif()"))))) - (add-after 'install 'move-static-libraries - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (static (assoc-ref outputs "static"))) - (for-each - (lambda (file) - (install-file file (string-append static "/lib")) - (delete-file file)) - (find-files (string-append out "/lib") - "\\.a$")))))))) + #:configure-flags + #~(list "-DCATCH_DEVELOPMENT_BUILD=ON" + "-DCATCH_ENABLE_WERROR=OFF" + "-DBUILD_SHARED_LIBS=ON"))) (inputs (list python-wrapper)) (synopsis "Automated test framework for C++ and Objective-C") (description "Catch2 stands for C++ Automated Test Cases in Headers and is @@ -2386,9 +2335,9 @@ failures.") (package/inherit python-pytest-enabler-bootstrap (arguments (substitute-keyword-arguments - (package-arguments python-pytest-enabler-bootstrap) - ((#:tests? _ #f) - #t) + (strip-keyword-arguments + '(#:tests?) + (package-arguments python-pytest-enabler-bootstrap)) ((#:phases phases #~%standard-phases) #~(modify-phases #$phases (replace 'check @@ -3198,6 +3147,46 @@ application \"sees\". It is meant to be loaded using the dynamic linker's provides a simple way to achieve this.") (license license:gpl2))) +(define-public rapidcheck + (let ((commit "a5724ea5b0b00147109b0605c377f1e54c353ba2") + (revision "0")) + (package + (name "rapidcheck") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/emil-e/rapidcheck") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0f2dmsym8ibnwkaidxmgp73mg0sdniwsyn6ppskh74246h29bbcy")))) + (arguments + (list + #:tests? #f ;require fetching submodules + #:configure-flags #~(list "-DCMAKE_POSITION_INDEPENDENT_CODE=ON") + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-extra-headers + (lambda _ + (with-directory-excursion "../source/extras" + (for-each + (lambda (dir) + (let ((dir (string-append dir "/include/rapidcheck/")) + (dest (string-append #$output + "/include/rapidcheck"))) + (copy-recursively dir dest))) + '("boost" "boost_test" "catch" "gmock" "gtest")))))))) + (build-system cmake-build-system) + (home-page "https://github.com/emil-e/rapidcheck") + (synopsis "Property based testing framework for C++") + (description "Rapidcheck is a property based testing framework for C++. +It works by generating random data to try and find a case breaks your given +pre-condition.") + (license license:bsd-2)))) + (define-public umockdev (package (name "umockdev") @@ -3554,3 +3543,36 @@ with SRFI 64-based test suites. It comes with a command-line interface to run test collections, and a library that includes a test runner and helpers for writing tests.") (license license:public-domain))) + +(define-public subunit + (package + (name "subunit") + (version "1.4.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/testing-cabal/subunit") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16n1zxwnmhb7vzixngvmm5zzk4q5jaqqjwyr6pr6w0ys60b7xja3")))) + (build-system gnu-build-system) + (native-inputs (list autoconf + automake + check + cppunit + libtool + pkg-config + python-fixtures + python-hypothesis + python-testscenarios)) + (inputs (list perl python)) + (propagated-inputs (list python-testtools)) + (home-page "https://github.com/testing-cabal/subunit") + (synopsis "Test reporting and control protocol") + (description + "Subunit is a streaming protocol for test results. Subunit comes with +command line filters to process a subunit stream and language bindings for +Python, C, C++ and shell. Bindings are easy to write for other languages.") + (license (list license:asl2.0 license:bsd-3)))) ;user can pick diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index cb55a62334..00be723eec 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -142,7 +142,7 @@ (inputs (list guile-3.0-latest guile-avahi - guile-fibers-1.1 + guile-fibers-1.3 guile-gcrypt guile-json-4 guile-simple-zmq diff --git a/gnu/packages/cinnamon.scm b/gnu/packages/cinnamon.scm index 61a8c8def3..0406837ad7 100644 --- a/gnu/packages/cinnamon.scm +++ b/gnu/packages/cinnamon.scm @@ -54,6 +54,7 @@ (uri (git-reference (url "https://github.com/linuxmint/xapp/") (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 "0n443lwmxzmfnw03n98cqnm2ah1iij6pwsnwbly8sncmzg5jyklg")))) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index bccb035854..821b8808f7 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -46,7 +46,6 @@ #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages file) - #:use-module (gnu packages hurd) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages libevent) #:use-module (gnu packages ncurses) @@ -214,7 +213,7 @@ using the CMake build system.") (apply invoke "./configure" configure-flags)))))) (inputs (append - (if (hurd-target?) + (if (target-hurd?) '() (list libuv)) ;not supported on the Hurd (list bzip2 diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 7c7c11c174..669d54099d 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017, 2018, 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2018, 2019, 2020, 2021, 2022, 2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2018, 2019, 2020, 2021, 2022, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2019-2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020, 2022 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> @@ -2786,7 +2786,7 @@ memoized as a function of '%current-system'." "/lib/python" ,(version-major+minor version) "/test")))) - ,@(if (hurd-system?) + ,@(if (system-hurd?) `((add-before 'build 'fix-regen (lambda* (#:key inputs #:allow-other-keys) (let ((libc (assoc-ref inputs "libc"))) @@ -2841,7 +2841,7 @@ memoized as a function of '%current-system'." `(append (list ,(string-append "--host=" (boot-triplet)) ,(string-append "--build=" (nix-system->gnu-triplet)) - ,(if (hurd-system?) "--disable-werror" + ,(if (system-hurd?) "--disable-werror" "")) ,flags)) ((#:phases phases) @@ -2853,7 +2853,7 @@ memoized as a function of '%current-system'." (unsetenv "CPLUS_INCLUDE_PATH") ;; Tell 'libpthread' where to find 'libihash' on Hurd systems. - ,@(if (hurd-system?) + ,@(if (system-hurd?) '((substitute* '("sysdeps/mach/Makefile" "sysdeps/mach/hurd/Makefile") (("LDLIBS-pthread.so =.*") @@ -2873,7 +2873,7 @@ memoized as a function of '%current-system'." ,@(%boot1-inputs) ;; A native MiG is needed to build Glibc on Hurd. - ,@(if (hurd-system?) + ,@(if (system-hurd?) `(("mig" ,mig-boot0)) '()) @@ -3024,7 +3024,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (,(gexp-input gcc-boot0 "lib") ,(kernel-headers-boot0) ,static-bash-for-glibc - ,@(if (hurd-system?) + ,@(if (system-hurd?) `(,gnumach-headers-boot0 ,hurd-headers-boot0) '()) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index bedc6ecca9..e7ff85c5ef 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -809,13 +809,13 @@ sfArk file format to the uncompressed sf2 format.") (package (name "libmspack") (home-page "https://cabextract.org.uk/libmspack/") - (version "0.10.1") + (version "0.11") (source (origin (method url-fetch) (uri (string-append home-page name "-" version "alpha.tar.gz")) (sha256 - (base32 "13janaqsvm7aqc4agjgd4819pbgqv50j88bh5kci1z70wvg65j5s")))) + (base32 "06x2xq73lchw5lcq386sx9wk05v21s2f38bi3dwkdk5fy2r1zpbh")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static"))) @@ -1063,13 +1063,13 @@ tarballs.") (package (name "cabextract") (home-page "https://cabextract.org.uk/") - (version "1.9.1") + (version "1.11") (source (origin (method url-fetch) (uri (string-append home-page "cabextract-" version ".tar.gz")) (sha256 (base32 - "19qwhl2r8ip95q4vxzxg2kp4p125hjmc9762sns1dwwf7ikm7hmg")) + "1iis7a19n26dax3gsnrw9kb0vwq46rbpicnlyf7p2k2y2nqnsm5m")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/configuration-management.scm b/gnu/packages/configuration-management.scm index b66f70545a..95a7e8615f 100644 --- a/gnu/packages/configuration-management.scm +++ b/gnu/packages/configuration-management.scm @@ -78,7 +78,7 @@ go-github-com-google-goterm go-github-com-lucasb-eyer-go-colorful go-github-com-mattn-go-isatty - go-github.com-mattn-go-runewidth + go-github-com-mattn-go-runewidth go-github-com-olekukonko-tablewriter go-github-com-pelletier-go-toml go-github-com-pkg-diff diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm index 463a834108..232d994fe3 100644 --- a/gnu/packages/containers.scm +++ b/gnu/packages/containers.scm @@ -360,6 +360,8 @@ configure network interfaces in Linux containers.") (string-append "CATATONIT_PATH=" (which "true")))) (substitute* "vendor/github.com/containers/common/pkg/config/config_linux.go" (("/usr/local/libexec/podman") + (string-append #$output "/libexec/podman")) + (("/usr/local/lib/podman") (string-append #$output "/bin"))) (substitute* "vendor/github.com/containers/common/pkg/config/default.go" (("/usr/libexec/podman/conmon") (which "conmon")) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 365b15a3b9..7d3db8ea9b 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -29,8 +29,8 @@ ;;; Copyright © 2022 muradm <mail@muradm.net> ;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name> ;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2022 David Elsing <david.elsing@posteo.net> -;;; Copyright © 2022 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2022, 2023 David Elsing <david.elsing@posteo.net> +;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2023 Sughosha <Sughosha@proton.me> ;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com> @@ -1173,7 +1173,11 @@ parsers according to a Parsing Expression Grammar (PEG).") "/pSAscan-" version ".tar.bz2")) (sha256 (base32 - "1cphk4gf202nzkxz6jdjzls4zy27055gwpm0r8cn99gr6c8548cy")))) + "1cphk4gf202nzkxz6jdjzls4zy27055gwpm0r8cn99gr6c8548cy")) + (modules '((guix build utils))) + (snippet '(begin (substitute* '("src/Makefile" + "tools/delete-bytes-255/Makefile") + (("-march=native") "")))))) (build-system gnu-build-system) (arguments (list @@ -1187,6 +1191,7 @@ parsers according to a Parsing Expression Grammar (PEG).") (install-file "psascan" (string-append #$output "/bin"))))))) (inputs (list libdivsufsort)) + (properties '((tunable? . #t))) (home-page "https://www.cs.helsinki.fi/group/pads/pSAscan.html") (synopsis "Parallel external memory suffix array construction") (description "This package contains an implementation of the parallel @@ -1339,7 +1344,7 @@ aws-c-http, aws-c-io, aws-c-mqtt, aws-checksums, and s2n.") (name "aws-sdk-cpp") ; When updating also check for a tagged update to aws-crt-cpp from ; https://github.com/aws/aws-sdk-cpp/tree/main/crt - (version "1.9.236") + (version "1.9.306") (source (origin (method git-fetch) (uri (git-reference @@ -1348,7 +1353,7 @@ aws-c-http, aws-c-io, aws-c-mqtt, aws-checksums, and s2n.") (file-name (git-file-name name version)) (sha256 (base32 - "13qhxsbfn81r7lg382wb4d3xfc4a287ikww5i7whddk5yz0j8384")))) + "0k3f4xq4vvlwrwgpp0vka4pwzbnkylvrkbbkjksx6wq6g1a2gc2g")))) (build-system cmake-build-system) (arguments '(;; Tests are run during the build phase. @@ -2548,3 +2553,179 @@ Main features: @item No dependencies. @end itemize") (license license:expat))) + +(define-public mpark-variant + (package + (name "mpark-variant") + (version "1.4.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mpark/variant") + (commit (string-append "v" version)))) + (sha256 + (base32 + "0gz8d5qprlfqb42cfyyc4nbwhgarhw027a9nr52h3gbdn560j0j4")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags #~(list "-DMPARK_VARIANT_INCLUDE_TESTS=mpark") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'find-googletest + (lambda _ + (substitute* "test/CMakeLists.txt" + (("add_subdirectory.*3rdparty/googletest.*\n") + "find_package(GTest REQUIRED)\n") + ((".*3rdparty/googletest.*\n") "") + ((".*config_compiler_and_linker.*\n") "") + (("gtest_main") "gtest gtest_main"))))))) + (native-inputs (list googletest)) + (home-page "https://github.com/mpark/variant") + (synopsis "Implementation of std::variant for C++11/14/17") + (description + "MPark.Variant provides the C++17 std::variant for C++11/14/17. It is +based on the implementation of std::variant in libc++.") + (license license:boost1.0))) + +(define-public tsl-hopscotch-map + (package + (name "tsl-hopscotch-map") + (version "2.3.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Tessil/hopscotch-map") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "012pw37w000pdxdvps0wsqrw6597cm6i6kr5rpl303qmiwqicb2p")))) + (build-system cmake-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-cmake-test + (lambda _ + (let ((file (open-file "CMakeLists.txt" "a"))) + (display "\nenable_testing()\nadd_subdirectory(tests)" file) + (close-port file)) + (substitute* "tests/CMakeLists.txt" + (("set\\(Boost_USE_STATIC_LIBS.*") "") + (("add_subdirectory\\(\\.\\..*") + "add_test(tsl_hopscotch_map_tests tsl_hopscotch_map_tests)\n"))))))) + (native-inputs (list boost)) + (home-page "https://github.com/Tessil/hopscotch-map") + (synopsis "Hash maps and hash sets using hopscotch hashing") + (description "This package provides a C++ implementation of several hash +map and a hash set variants using open addressing and hopscotch hashing to +resolve collisions. It is intended to be fast and provides additional +features, such as heterogeneous lookups and different growth policies.") + (license license:expat))) + +(define-public tsl-sparse-map + (package + (name "tsl-sparse-map") + (version "0.6.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Tessil/sparse-map") + (commit (string-append "v" version)))) + (sha256 + (base32 + "0rb7w0hzsj4qbm0dff1niaf75aag9lj0xqhgb3vg5h9hfic62ic2")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-cmake-test + (lambda _ + (let ((file (open-file "CMakeLists.txt" "a"))) + (display "\nenable_testing()\nadd_subdirectory(tests)" file) + (close-port file)) + (substitute* "tests/CMakeLists.txt" + (("set\\(Boost_USE_STATIC_LIBS.*") "") + (("add_subdirectory\\(\\.\\..*") + "add_test(tsl_sparse_map_tests tsl_sparse_map_tests)\n"))))))) + (native-inputs (list boost)) + (home-page "https://github.com/Tessil/sparse-map") + (synopsis "Sparse hash map") + (description "This package provides a C++ implementation of a hash map and +a hash set with open addressing and sparse quadratic probing. It is intended +to be memory efficient and provides additional features, such as heterogeneous +lookups and different growth policies.") + (license license:expat))) + +(define-public tsl-ordered-map + (package + (name "tsl-ordered-map") + (version "1.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Tessil/ordered-map") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bz5zgabalb7z0j9scng4zmi95hy7iasry5gz15x6y6dsdz0qf3j")))) + (build-system cmake-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-cmake-test + (lambda _ + (let ((file (open-file "CMakeLists.txt" "a"))) + (display "\nenable_testing()\nadd_subdirectory(tests)" file) + (close-port file)) + (substitute* "tests/CMakeLists.txt" + (("set\\(Boost_USE_STATIC_LIBS.*") "") + (("add_subdirectory\\(\\.\\..*") + "add_test(tsl_ordered_map_tests tsl_ordered_map_tests)\n"))))))) + (native-inputs (list boost)) + (home-page "https://github.com/Tessil/ordered-map") + (synopsis "Order-preserving hash map and hash set") + (description "This package provides a C++ implementation of a hash map and +a hash set which preserve the order of insertion. It is intended for +efficient ordered insertions and lookup, while sacrifing performance for +ordered erase operations.") + (license license:expat))) + +(define-public tl-optional + (package + (name "tl-optional") + (version "1.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TartanLlama/optional") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qkjplmhilbi1iqxx3pz0grcx5355ymk6wwd4h4309mk156xgx2q")))) + (build-system cmake-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-cmake-test + (lambda _ + (substitute* "CMakeLists.txt" + (("FetchContent_Declare.*") "") + ((".*http.*catchorg/Catch2.*") "") + (("FetchContent_MakeAvailable\\(Catch2\\)") + "find_package(Catch2 REQUIRED)"))))))) + (native-inputs (list catch2)) + (home-page "https://github.com/TartanLlama/optional") + (synopsis "Implementation of std::optional with extensions for C++11/14/17") + (description "@code{tl::optional} provides a single-header implementation of +the std::optional for C++11/14/17, with support for monadic operations added in +C++23.") + (license license:cc0))) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 53c49e3ac7..199bc69c03 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -102,6 +102,7 @@ #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages ssh) #:use-module (gnu packages sqlite) #:use-module (gnu packages statistics) #:use-module (gnu packages tbb) @@ -438,14 +439,14 @@ etc.") (define-public r-datawizard (package (name "r-datawizard") - (version "0.7.1") + (version "0.8.0") (source (origin (method url-fetch) (uri (cran-uri "datawizard" version)) (sha256 (base32 - "1jn22qv0s6nbfih3n249v9ynl7s4m102wyw1rnkmxjwryz8vr73p")))) + "18i27mmf3z8a3wa49k8jjcs17nd0h4gmmjybbnaihyqm6r7yv8qk")))) (properties `((upstream-name . "datawizard"))) (build-system r-build-system) (propagated-inputs @@ -722,6 +723,26 @@ dumbbell charts, the ability to encircle points and coordinate-system-based text annotations.") (license license:agpl3))) +(define-public r-ggfittext + (package + (name "r-ggfittext") + (version "0.10.0") + (source (origin + (method url-fetch) + (uri (cran-uri "ggfittext" version)) + (sha256 + (base32 + "06xfv552nhw13wc8dixyqhhmw5zh8hphrabw090nzb33cpfwzin8")))) + (properties `((upstream-name . "ggfittext"))) + (build-system r-build-system) + (propagated-inputs (list r-ggplot2 r-gridtext r-shades r-stringi)) + (native-inputs (list r-knitr)) + (home-page "https://wilkox.org/ggfittext/") + (synopsis "Ggfittext is a ggplot2 extension for fitting text into boxes") + (description + "Ggfittext is a ggplot2 extension for fitting text into boxes.") + (license license:gpl2))) + (define-public r-glmpca (package (name "r-glmpca") @@ -747,14 +768,14 @@ such as counts or binary matrices.") (define-public r-googledrive (package (name "r-googledrive") - (version "2.1.0") + (version "2.1.1") (source (origin (method url-fetch) (uri (cran-uri "googledrive" version)) (sha256 (base32 - "0x2biilbphh77p7cxp2cvinjx45hnb5xksw775nwksqvpwxkaw0d")))) + "10pv70nvsqh1yc12g5fj7avfihjzpj02m8s9f8sb0c1np9s4z2qb")))) (properties `((upstream-name . "googledrive"))) (build-system r-build-system) (propagated-inputs @@ -982,14 +1003,14 @@ pronounceable identifiers.") (define-public r-googlesheets4 (package (name "r-googlesheets4") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "googlesheets4" version)) (sha256 (base32 - "1jcfih6f62phj7fdvknkkj46s9cvsnhshvkglg6xif7mpr1mbqah")))) + "1kzwhs9zrx1i4kqhdqrkzyhnwx25j8j2pcg7ja2dxfalihs67k65")))) (properties `((upstream-name . "googlesheets4"))) (build-system r-build-system) (propagated-inputs @@ -1419,15 +1440,17 @@ similar rank-based tests for equal probability distributions due to Neuhauser (define-public r-v8 (package (name "r-v8") - (version "4.3.0") + (version "4.3.2") (source (origin (method url-fetch) (uri (cran-uri "V8" version)) (sha256 (base32 - "1l70vdqcagp9cdyxa231gk33z5blsg96j0l28zbaklnhmr7mqfby")))) - (properties `((upstream-name . "V8"))) + "0w5n9dv9bbaqzjcnsgw1bxpbx8yqzsbrkr8j6bfc4f78bac2si0k")))) + (properties + `((upstream-name . "V8") + (updater-extra-inputs . ("libnode")))) (build-system r-build-system) (arguments `(#:phases @@ -2053,13 +2076,13 @@ axis} (SMA), and @dfn{ranged major axis} (RMA).") (define-public r-ggpmisc (package (name "r-ggpmisc") - (version "0.5.2") + (version "0.5.3") (source (origin (method url-fetch) (uri (cran-uri "ggpmisc" version)) (sha256 (base32 - "1zvq580vi1h2afdgxaqabjhfsphvmdchwiaahqvvhljxmpmh82q6")))) + "1j504pvhxvl9cfagsjcsw7rbc94q5ysh1f8qhb7hzpx04fpnm65a")))) (build-system r-build-system) (propagated-inputs (list r-confintr @@ -2144,14 +2167,14 @@ organisms via the @code{g:Profiler} toolkit.") (define-public r-gprofiler2 (package (name "r-gprofiler2") - (version "0.2.1") + (version "0.2.2") (source (origin (method url-fetch) (uri (cran-uri "gprofiler2" version)) (sha256 (base32 - "0r0h34b35xzgd9rh55yndn0anxy0z45zdlqa6qfmpn91b6v1bb1g")))) + "1zbfvpb4qqj6vipz0ps4pyy14h6rc4jaqfa8q4zrbhi5vvw9805r")))) (properties `((upstream-name . "gprofiler2"))) (build-system r-build-system) (propagated-inputs @@ -2164,7 +2187,7 @@ organisms via the @code{g:Profiler} toolkit.") r-rcurl r-tidyr r-viridislite)) - (native-inputs (list r-knitr)) + (native-inputs (list r-knitr r-rmarkdown)) (home-page "https://cran.r-project.org/web/packages/gprofiler2/") (synopsis "Interface to the g:Profiler toolset") (description @@ -2262,16 +2285,37 @@ provides methods for automatically determining breaks and labels for axes and legends.") (license license:expat))) +(define-public r-swagger + (package + (name "r-swagger") + (version "3.33.1") + (source (origin + (method url-fetch) + (uri (cran-uri "swagger" version)) + (sha256 + (base32 + "1ldgmy5vjzd11z5yl5a518wkw6y0l469b2zf0lp12hk19jq6k0sj")))) + (properties `((upstream-name . "swagger"))) + (build-system r-build-system) + (home-page "https://github.com/rstudio/swagger") + (synopsis + "Dynamically generate documentation from a Swagger-compliant API") + (description + "This package provides a collection of HTML, JavaScript, and CSS assets +that dynamically generate beautiful documentation from a Swagger compliant +API.") + (license license:asl2.0))) + (define-public r-pacman (package (name "r-pacman") (version "0.5.1") (source (origin - (method url-fetch) - (uri (cran-uri "pacman" version)) - (sha256 - (base32 - "0z7gngd6h83cpjhq1vg75wvzhdjbgjh7gj5d4zvvi9gd2lmagjcy")))) + (method url-fetch) + (uri (cran-uri "pacman" version)) + (sha256 + (base32 + "0z7gngd6h83cpjhq1vg75wvzhdjbgjh7gj5d4zvvi9gd2lmagjcy")))) (build-system r-build-system) (propagated-inputs (list r-remotes)) @@ -2387,6 +2431,54 @@ extends the signature of the @code{dist} function and uses the same parameter naming conventions as distance methods of existing R packages.") (license license:gpl2+))) +(define-public r-paramhelpers + (package + (name "r-paramhelpers") + (version "1.14.1") + (source (origin + (method url-fetch) + (uri (cran-uri "ParamHelpers" version)) + (sha256 + (base32 + "088sl3az4ysq8cyw82brdn9xm5yy7rqskxih462d1m5hi62gyl04")))) + (properties `((upstream-name . "ParamHelpers"))) + (build-system r-build-system) + (propagated-inputs (list r-backports r-bbmisc r-checkmate r-fastmatch)) + (home-page "https://paramhelpers.mlr-org.com") + (synopsis + "Helpers for parameters in black-box optimization, tuning, and machine learning") + (description + "This is a package for parameter description and operations in +optimization, tuning and machine learning. Parameters can be described (type, +constraints, defaults, etc.), combined to parameter sets and can in general be +programmed on. A useful @code{OptPath} object (archive) to log function +evaluations is also provided.") + (license license:bsd-2))) + +(define-public r-parallelmap + (package + (name "r-parallelmap") + (version "1.5.1") + (source (origin + (method url-fetch) + (uri (cran-uri "parallelMap" version)) + (sha256 + (base32 + "1qg7zpz5sd9jp8wzjqahkhipwj1jn192llwg06q4gv9mlcsac261")))) + (properties `((upstream-name . "parallelMap"))) + (build-system r-build-system) + (propagated-inputs (list r-bbmisc r-checkmate)) + (home-page "https://parallelmap.mlr-org.com") + (synopsis "Unified interface to parallelization backends") + (description + "This package provides a unified parallelization framework for multiple +backends. This package is designed for internal package and interactive +usage. The main operation is parallel mapping over lists. It supports local, +multicore, mpi and BatchJobs mode. It allows tagging of the parallel +operation with a level name that can be later selected by the user to switch +on parallel execution for exactly this operation.") + (license license:bsd-2))) + (define-public r-pheatmap (package (name "r-pheatmap") @@ -2484,6 +2576,40 @@ does not use formula input or special syntax, but can be used in combination with default R plot functions.") (license license:gpl2+))) +(define-public r-plumber + (package + (name "r-plumber") + (version "1.2.1") + (source (origin + (method url-fetch) + (uri (cran-uri "plumber" version)) + (sha256 + (base32 + "1k0y7ylc8bld16imn86g0i0dmxmr3kmh9ax4ys0yrxqzrvji7z3g")))) + (properties `((upstream-name . "plumber"))) + (build-system r-build-system) + (propagated-inputs (list r-crayon + r-ellipsis + r-httpuv + r-jsonlite + r-lifecycle + r-magrittr + r-mime + r-promises + r-r6 + r-rlang + r-sodium + r-stringi + r-swagger + r-webutils)) + (home-page "https://www.rplumber.io") + (synopsis "API generator for R") + (description + "This package gives you the ability to automatically generate and serve +an HTTP API from R functions using the annotations in the R documentation +around your functions.") + (license license:expat))) + (define-public r-polychrome (package (name "r-polychrome") @@ -2577,13 +2703,13 @@ conventions.") (define-public r-ecp (package (name "r-ecp") - (version "3.1.4") + (version "3.1.5") (source (origin (method url-fetch) (uri (cran-uri "ecp" version)) (sha256 (base32 - "0kf0kkawds86kqx3p2ahyzw9xvaz5bz51ffik3f1g5b5lwjvz60v")))) + "17m2m3nz7kqzjw2bkkp6c1a3zhwjq2c5mw9pk5g0ma274iiqj8wy")))) (build-system r-build-system) (propagated-inputs (list r-rcpp)) @@ -2903,6 +3029,28 @@ dissimilarity analysis. Most of its multivariate tools can be used for other data types as well.") (license license:gpl2+))) +(define-public r-tidyft + (package + (name "r-tidyft") + (version "0.5.7") + (source (origin + (method url-fetch) + (uri (cran-uri "tidyft" version)) + (sha256 + (base32 + "00qcsr2sx8fwyil384vgppx0q72qjrkj7h5nv4mdxdi8f9h6ph2r")))) + (properties `((upstream-name . "tidyft"))) + (build-system r-build-system) + (propagated-inputs (list r-data-table r-fst r-stringr)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/hope-data-science/tidyft") + (synopsis "Fast and memory efficient data operations in tidy syntax") + (description "Tidyft is an extension of @code{data.table}. It uses +modifification by reference whenever possible. This toolkit is designed for +big data analysis in high-performance desktop or laptop computers. The syntax +of the package is similar or identical to tidyverse.") + (license license:expat))) + (define-public r-tidyverse (package (name "r-tidyverse") @@ -3135,14 +3283,14 @@ mixture models.") (define-public r-readxl (package (name "r-readxl") - (version "1.4.2") + (version "1.4.3") (source (origin (method url-fetch) (uri (cran-uri "readxl" version)) (sha256 (base32 - "04dsia2sx958ybw1ga8ccqmqih9cv7q340pcc54cl3dyqpi08wrq")))) + "0j2rkb012h0kvcm8n3817lgfir52dvmkwaxn7mij71gbxz6vpzky")))) (build-system r-build-system) (propagated-inputs (list r-cellranger r-cpp11 r-progress r-tibble)) @@ -3433,16 +3581,16 @@ Notation (JSON) using the rapidjsonr library.") (define-public r-jsonlite (package (name "r-jsonlite") - (version "1.8.4") + (version "1.8.7") (source (origin (method url-fetch) (uri (cran-uri "jsonlite" version)) (sha256 (base32 - "0y0jzf74c3q1sghgarvwmrkvxs7yahywd342m8c0jsr28bhapskr")))) + "07301wdpf014m8pfr7x3zwaj07pmin0rfax0irljimvj9dwbfhkx")))) (build-system r-build-system) (native-inputs - (list r-knitr)) + (list r-knitr r-r-rsp)) (home-page "https://arxiv.org/abs/1403.2805") (synopsis "Robust, high performance JSON parser and generator for R") (description @@ -3581,13 +3729,13 @@ LaTeX.") (define-public r-curl (package (name "r-curl") - (version "5.0.0") + (version "5.0.1") (source (origin (method url-fetch) (uri (cran-uri "curl" version)) (sha256 (base32 - "1cn9b6xcc6xp2q66pkla6xrq4v6rbpxfcr3gizx4z48knp4wmwyp")))) + "19lkvy5hngdsh59slvvlrzf0iz432fv88daq0nan93zsqyf8y1dp")))) (build-system r-build-system) (arguments `(#:phases @@ -3663,13 +3811,13 @@ and vice-versa.") (define-public r-fastdummies (package (name "r-fastdummies") - (version "1.6.3") + (version "1.7.3") (source (origin (method url-fetch) (uri (cran-uri "fastDummies" version)) (sha256 (base32 - "1pw1bpp69sbs8yc1s5ffz11q249ljfwbgfrq6irg5pyp37z38fdx")))) + "0sm02pxbabckxpi3mn36h5bz2wx5pyx7a1dhc2abc4c7fwpihsng")))) (properties `((upstream-name . "fastDummies"))) (build-system r-build-system) (propagated-inputs (list r-data-table r-stringr r-tibble)) @@ -3911,51 +4059,66 @@ expression estimates for all genes.") (define-public r-bslib (package (name "r-bslib") - (version "0.4.2") + (version "0.5.0") (source (origin (method url-fetch) (uri (cran-uri "bslib" version)) (sha256 (base32 - "069ghbzp0bsmbw2nzw28cmbym65i3a90v50y7qksy2g4pfhvfh4s")) + "05fi1cbb33hvrxx3vibbai7bzlx60jxd3iaqpc86x0224b3gpim2")) (snippet '(for-each delete-file - '("inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.min.js" + '("inst/components/accordion.min.js" + "inst/components/card.min.js" + "inst/components/sidebar.min.js" + "inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.min.js" "inst/lib/bs3/assets/javascripts/bootstrap.min.js" "inst/lib/bs4/dist/js/bootstrap.bundle.min.js" "inst/lib/bs5/dist/js/bootstrap.bundle.min.js"))))) (properties `((upstream-name . "bslib"))) (build-system r-build-system) (arguments - `(#:modules ((guix build utils) + (list + #:modules '((guix build utils) (guix build r-build-system) (srfi srfi-1)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'process-javascript - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "inst/lib/" - (call-with-values - (lambda () - (unzip2 - `(("bs-a11y-p/plugins/js/bootstrap-accessibility.js" - "bs-a11y-p/plugins/js/bootstrap-accessibility.min.js") - ("bs-colorpicker/js/bootstrap-colorpicker.js" - "bs-colorpicker/js/bootstrap-colorpicker.min.js") - ("bs3/assets/javascripts/bootstrap.js" - "bs3/assets/javascripts/bootstrap.min.js") - (,(assoc-ref inputs "js-bootstrap4-bundle") - "bs4/dist/js/bootstrap.bundle.min.js") - (,(assoc-ref inputs "js-bootstrap5-bundle") - "bs5/dist/js/bootstrap.bundle.min.js")))) - (lambda (sources targets) - (for-each (lambda (source target) - (format #t "Processing ~a --> ~a~%" - source target) - (invoke "esbuild" source "--minify" - (string-append "--outfile=" target))) - sources targets))))))))) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'process-javascript + (lambda* (#:key inputs #:allow-other-keys) + ;; See srcts/build/index.ts + (for-each (lambda (component) + (invoke "esbuild" + "--bundle" "--minify" "--sourcemap" + "--target=es6" ;"--external=:bootstrap" + (string-append + #$(this-package-native-input "typescript-components") + "/srcts/src/components/" component ".ts") + (string-append "--outfile=inst/components/" + component ".min.js"))) + '("accordion" "sidebar" "card")) + (with-directory-excursion "inst/lib/" + (call-with-values + (lambda () + (unzip2 + `(("bs-a11y-p/plugins/js/bootstrap-accessibility.js" + "bs-a11y-p/plugins/js/bootstrap-accessibility.min.js") + ("bs-colorpicker/js/bootstrap-colorpicker.js" + "bs-colorpicker/js/bootstrap-colorpicker.min.js") + ("bs3/assets/javascripts/bootstrap.js" + "bs3/assets/javascripts/bootstrap.min.js") + (,(assoc-ref inputs "js-bootstrap4-bundle") + "bs4/dist/js/bootstrap.bundle.min.js") + (,(assoc-ref inputs "js-bootstrap5-bundle") + "bs5/dist/js/bootstrap.bundle.min.js")))) + (lambda (sources targets) + (for-each (lambda (source target) + (format #t "Processing ~a --> ~a~%" + source target) + (invoke "esbuild" source "--minify" + (string-append "--outfile=" target))) + sources targets))))))))) (propagated-inputs (list r-base64enc r-cachem @@ -3981,7 +4144,17 @@ expression estimates for all genes.") (uri "https://raw.githubusercontent.com/twbs/bootstrap/v5.2.2/dist/js/bootstrap.bundle.js") (sha256 (base32 - "1ibfb1lwwm50did0b4fvxaqc7xyljmp20f3qb1ybdlvcy22mk8bg")))))) + "1ibfb1lwwm50did0b4fvxaqc7xyljmp20f3qb1ybdlvcy22mk8bg")))) + ("typescript-components" + ,(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rstudio/bslib") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1krmavvbnpikiyxgv36vf70p8qzy1rymh1l41pjc7z74hk526p7c")))))) (home-page "https://rstudio.github.io/bslib/") (synopsis "Custom Bootstrap Sass themes for shiny and rmarkdown") (description @@ -4534,13 +4707,13 @@ annotation data to keep updated.") (define-public r-ggtern (package (name "r-ggtern") - (version "3.4.1") + (version "3.4.2") (source (origin (method url-fetch) (uri (cran-uri "ggtern" version)) (sha256 - (base32 "0w0kg6755kfpczqpaly251fgqv31js9gdzr17x734l2adycji3yr")))) + (base32 "1xmh0gi81xrzkgjlbxb3jl9mrj407q7ykm4wpdbmd4gdswv20y61")))) (properties `((upstream-name . "ggtern"))) (build-system r-build-system) (propagated-inputs @@ -4937,19 +5110,21 @@ including functions for geolocation and routing.") (define-public r-haven (package (name "r-haven") - (version "2.5.2") + (version "2.5.3") (source (origin (method url-fetch) (uri (cran-uri "haven" version)) (sha256 (base32 - "07an4d8638m27765l6l4p6vfjxm8nfwbxx2bwpxfy6xffw1znc91")) + "1qxp0hp7clmd70383lsbiijq1i5037zv4haja60czw09mnprjncs")) (modules '((guix build utils))) (snippet ;; unvendor readstat '(delete-file-recursively "src/readstat")))) (build-system r-build-system) + (properties + '((updater-extra-inputs . ("readstat")))) (arguments '(#:phases (modify-phases %standard-phases @@ -4965,15 +5140,15 @@ including functions for geolocation and routing.") (inputs (list readstat zlib)) (native-inputs - (list r-knitr)) + (list pkg-config r-knitr)) (propagated-inputs (list r-cli r-cpp11 r-forcats r-hms r-lifecycle - r-rlang r-readr + r-rlang r-tibble r-tidyselect r-vctrs)) @@ -5298,13 +5473,13 @@ processes. Most of its code is based on the @code{psutil} Python package.") (define-public r-pkgbuild (package (name "r-pkgbuild") - (version "1.4.0") + (version "1.4.2") (source (origin (method url-fetch) (uri (cran-uri "pkgbuild" version)) (sha256 - (base32 "1mjyln5njbvi0k97w8az2v5klmas6pqiz68mlylfll4nr503qzrm")))) + (base32 "1ic2zjcz29jbfwmsqsja4jjalzsz9ayac5zjz6nv482lsx2s4d13")))) (build-system r-build-system) (propagated-inputs (list r-callr @@ -5314,8 +5489,7 @@ processes. Most of its code is based on the @code{psutil} Python package.") r-prettyunits r-processx r-r6 - r-rprojroot - r-withr)) + r-rprojroot)) (home-page "https://github.com/r-pkgs/pkgbuild") (synopsis "Find tools needed to build R packages") (description @@ -5327,14 +5501,14 @@ is configured appropriately so R can use them.") (define-public r-pkgload (package (name "r-pkgload") - (version "1.3.2") + (version "1.3.2.1") (source (origin (method url-fetch) (uri (cran-uri "pkgload" version)) (sha256 (base32 - "0bvbnj98b1yaiksdmfi017g2w3229a5pcsnpjamzrvpy5c1rml9m")))) + "1ckl6cqjk93n91p1i42hza6dciygsc25mibdif89vnyb7w97p651")))) (build-system r-build-system) (propagated-inputs (list r-cli @@ -5376,13 +5550,13 @@ value for each cluster in a dendrogram.") (define-public r-rcpp (package (name "r-rcpp") - (version "1.0.10") + (version "1.0.11") (source (origin (method url-fetch) (uri (cran-uri "Rcpp" version)) (sha256 - (base32 "0inmnmi0pqmbqnl00d5yal1bmd7awigxd7sgzjsil9c1k55f4r8y")))) + (base32 "0pzssba79z90rax2v02r5m1a6ysljfnvq03r6q2nr72rd0q7qxfz")))) (build-system r-build-system) (home-page "https://www.rcpp.org") (synopsis "Seamless R and C++ integration") @@ -5442,13 +5616,13 @@ factorization and divisive clustering for large sparse and dense matrices.") (define-public r-rcppspdlog (package (name "r-rcppspdlog") - (version "0.0.12") + (version "0.0.13") (source (origin (method url-fetch) (uri (cran-uri "RcppSpdlog" version)) (sha256 - (base32 "1nan0hm49xdl2l1lskm1jf01clfh7aw2v6h57j35qysvg8219fcx")))) + (base32 "1149kh047301hrp15479ikcmrix968pwqw3jza7mp7bsxhrjrp3k")))) (properties `((upstream-name . "RcppSpdlog"))) (build-system r-build-system) (propagated-inputs (list r-rcpp)) @@ -5466,16 +5640,17 @@ functions and compiled functions callable by other packages.") (define-public r-rcppthread (package (name "r-rcppthread") - (version "2.1.3") + (version "2.1.5") (source (origin (method url-fetch) (uri (cran-uri "RcppThread" version)) (sha256 (base32 - "0iprpidf7q1wlrgr9dwiikb6apqk80pyjcyni56k64nl7lrkszhj")))) + "0rra7qqbq2y4bj54x76559p5ghpj3r03c4vlpg96phwafwnc2y8m")))) (properties `((upstream-name . "RcppThread"))) (build-system r-build-system) + (native-inputs (list r-r-rsp)) (home-page "https://github.com/tnagler/RcppThread") (synopsis "R threading in C++") @@ -5706,13 +5881,13 @@ graphics packages that comes with the base installation.") (define-public r-ctrdata (package (name "r-ctrdata") - (version "1.13.2") + (version "1.13.3") (source (origin (method url-fetch) (uri (cran-uri "ctrdata" version)) (sha256 (base32 - "1n38bwcr26vmiwc8jwl0mw15vwbvvkd9gi0mvsr1arzp846lkcyw")))) + "15vs8b2jxap5ya59n6pdby1p89hd0y0b4say72q6icxsjzzj979z")))) (properties `((upstream-name . "ctrdata"))) (build-system r-build-system) (propagated-inputs @@ -6203,13 +6378,13 @@ most popular ones.") (define-public r-sp (package (name "r-sp") - (version "1.6-1") + (version "2.0-0") (source (origin (method url-fetch) (uri (cran-uri "sp" version)) (sha256 - (base32 "09d3jhk7iwjfhzyq0cwws1p5gspj9nxww5x7xvngh8hr9gan5wkn")))) + (base32 "1wc8bwfqalpbsicgdrfkvmg3lm65nghf35m2g8fh4q9hr5gxpy09")))) (build-system r-build-system) (propagated-inputs (list r-lattice)) @@ -6669,14 +6844,14 @@ classes in the @code{stats4} package.") (define-public r-emdbook (package (name "r-emdbook") - (version "1.3.12") + (version "1.3.13") (source (origin (method url-fetch) (uri (cran-uri "emdbook" version)) (sha256 (base32 - "0ls3zxxlwmdv7zn1v9i1y9zc2sn0hbgmyjvsj7zn3ajsw7wwlih6")))) + "069w10i1590bcyzv4kfsg7wsr1yl9nlsyj6yvys088xll5z4n116")))) (build-system r-build-system) (propagated-inputs (list r-bbmle r-coda r-lattice r-mass r-plyr)) @@ -6835,6 +7010,37 @@ non-parametric analysis of structured data, and other energy statistics/methods are implemented.") (license license:gpl2+))) +(define-public r-envstats + (package + (name "r-envstats") + (version "2.8.0") + (source (origin + (method url-fetch) + (uri (cran-uri "EnvStats" version)) + (sha256 + (base32 + "17fgwa5rdjpsxk95p1j48bkpbmm01vy25vzbgggj31a1k2i4i85p")))) + (properties `((upstream-name . "EnvStats"))) + (build-system r-build-system) + (propagated-inputs (list r-ggplot2 r-mass r-nortest)) + (home-page "https://github.com/alexkowa/EnvStats") + (synopsis + "Package for environmental statistics, including US EPA guidance") + (description + "This is a package for graphical and statistical analyses of +environmental data, with a focus on analyzing chemical concentrations and +physical parameters, usually in the context of mandated environmental +monitoring. It provides major environmental statistical methods found in the +literature and regulatory guidance documents, with extensive help that +explains what these methods do, how to use them, and where to find them in the +literature. It comes with numerous built-in data sets from regulatory +guidance documents and environmental statistics literature. It includes +scripts reproducing analyses presented in the book \"EnvStats: An R Package +for Environmental Statistics\" (Millard, 2013, Springer, ISBN +978-1-4614-8455-4, +@url{https://link.springer.com/book/10.1007/978-1-4614-8456-1}).") + (license license:gpl3+))) + (define-public r-suppdists (package (name "r-suppdists") @@ -7472,14 +7678,14 @@ problems as well as resampling based estimators of prediction error.") (define-public r-psych (package (name "r-psych") - (version "2.3.3") + (version "2.3.6") (source (origin (method url-fetch) (uri (cran-uri "psych" version)) (sha256 (base32 - "0vzvdrajkd2z4bqfr1lzh2z1vqb8h3mqk6vha8vmfhw2kz1z7acl")))) + "1z5h2hs56fw54dsvpi3sl463l31yn0qjvk779wdb7w175gwmr6db")))) (build-system r-build-system) (propagated-inputs (list r-lattice r-mnormt r-nlme)) @@ -7525,14 +7731,14 @@ by base R methods related to model fitting.") (define-public r-broom (package (name "r-broom") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) (uri (cran-uri "broom" version)) (sha256 (base32 - "1mhavmma0d075bbcnis9jkr4ar2dw91p44yxzx2qlskq16si2pqx")))) + "14fr17cvpy6jzdffzrf46xah70xcq2nkbjyxmkyzwbz3kvpdsxwx")))) (build-system r-build-system) (propagated-inputs (list r-backports @@ -7906,14 +8112,14 @@ impute compatibly with the substantive model.") (define-public r-pan (package (name "r-pan") - (version "1.6") + (version "1.8") (source (origin (method url-fetch) (uri (cran-uri "pan" version)) (sha256 (base32 - "1dk3jjj826p7xrz10qz04vyc068xnypg7bp0pj4c32z3da0xzh5d")))) + "1vhk65j10gp9wgjj7j9nyq7wny7hkh0xa91hj47a392qq417m9yi")))) (build-system r-build-system) (native-inputs (list gfortran)) (home-page "https://cran.r-project.org/web/packages/pan/") @@ -7951,23 +8157,27 @@ analysis of multiply imputed data sets.") (define-public r-mice (package (name "r-mice") - (version "3.15.0") + (version "3.16.0") (source (origin (method url-fetch) (uri (cran-uri "mice" version)) (sha256 (base32 - "0yz88b40mpn24z40yfpxrkwrsxk362gwks3v5x69rkix1qkdsr1x")))) + "0h20lirk2257y3i1ww5y2pqp9lc21ilmf8yykmz36h55hm8jiw19")))) (build-system r-build-system) (propagated-inputs (list r-broom r-cpp11 r-dplyr r-generics + r-glmnet r-lattice + r-mitml + r-nnet r-rcpp r-rlang + r-rpart r-tidyr)) (home-page "https://cran.r-project.org/web/packages/mice/") (synopsis "Multivariate imputation by chained equations") @@ -8081,6 +8291,33 @@ University Press. It provides smoothing methods for nonparametric regression and density estimation") (license license:gpl2+))) +(define-public r-smoof + (package + (name "r-smoof") + (version "1.6.0.3") + (source (origin + (method url-fetch) + (uri (cran-uri "smoof" version)) + (sha256 + (base32 + "1cazhnd0m5jjzixaqgqh2h3rsa2sw3k8slj5cmgm8v47aaqn91mg")))) + (properties `((upstream-name . "smoof"))) + (build-system r-build-system) + (propagated-inputs (list r-bbmisc + r-checkmate + r-ggplot2 + r-paramhelpers + r-rcpp + r-rcpparmadillo)) + (home-page "https://jakobbossek.github.io/smoof/") + (synopsis "Single and multi-objective optimization test functions") + (description + "This tool generates high number of both single- and multi-objective test +functions. These functions are frequently used for the benchmarking of +(numerical) optimization algorithms. Moreover, it offers a set of convenient +functions to generate, plot and work with objective functions.") + (license license:bsd-2))) + (define-public r-smurf (package (name "r-smurf") @@ -8479,13 +8716,13 @@ plots in @code{ggplot2}.") (define-public r-gss (package (name "r-gss") - (version "2.2-4") + (version "2.2-5") (source (origin (method url-fetch) (uri (cran-uri "gss" version)) (sha256 (base32 - "0hbl1i687cgx9rn714s3dvbnljfiyidk5rgk3p2wmsdywggqjglm")))) + "0f9sqmcb46ilwq4cdqd1j0vhclchb69fc6kj9c56l1ivvi75dl32")))) (properties `((upstream-name . "gss"))) (build-system r-build-system) (native-inputs (list gfortran)) @@ -8608,13 +8845,13 @@ constants, and control debugging of packages via environment variables.") (define-public r-processx (package (name "r-processx") - (version "3.8.1") + (version "3.8.2") (source (origin (method url-fetch) (uri (cran-uri "processx" version)) (sha256 - (base32 "0g79k7zfjhqdhk4crj245smrckwlbs7dazdslhvimjnlh4mlf270")))) + (base32 "1kbyhpzcfiqqx9csn0869zbiza6w97vq1j1y01qlph93bfpqf6z9")))) (build-system r-build-system) (propagated-inputs (list r-ps r-r6)) @@ -8717,14 +8954,14 @@ of merit, ordering functions, and enhanced versions of @code{pairs} and (define-public r-webshot (package (name "r-webshot") - (version "0.5.4") + (version "0.5.5") (source (origin (method url-fetch) (uri (cran-uri "webshot" version)) (sha256 (base32 - "094ggb6yby5irf3hj45p6vp5wdy6rjwpc0h6xbgf2mbqxyxbkhix")))) + "04xrrf72323sgzsdkbl05p2fdsi486i9avrrxvw0l3n8r8y92xfn")))) (build-system r-build-system) (propagated-inputs (list r-callr r-jsonlite r-magrittr)) @@ -8859,14 +9096,14 @@ estimated from a given sample.") (define-public r-vctrs (package (name "r-vctrs") - (version "0.6.2") + (version "0.6.3") (source (origin (method url-fetch) (uri (cran-uri "vctrs" version)) (sha256 (base32 - "117fh63r96i811y8dbrawmphlzqq8acaavykfx1y0mbc3zhspv7y")))) + "1hm5rw85ln0mk1mfmhgygnhjgs2lyc74cq12ddc41d78rl6j5p4k")))) (build-system r-build-system) (propagated-inputs (list r-cli r-glue r-lifecycle r-rlang)) @@ -9577,14 +9814,14 @@ Fisher's method), and Sidak correction.") (define-public r-quantmod (package (name "r-quantmod") - (version "0.4.22") + (version "0.4.23") (source (origin (method url-fetch) (uri (cran-uri "quantmod" version)) (sha256 (base32 - "0pknwssha01hjsf3c7lgrabk2c3rzq5wa2m7mf8sz7wsrbqrd57j")))) + "0jjhkcp51j7bfvv9f8sid8vkrf2a8g5hvshplsn0szzc3z6vaz2d")))) (build-system r-build-system) (propagated-inputs (list r-curl r-jsonlite r-ttr r-xts r-zoo)) @@ -9789,14 +10026,14 @@ applied econometric analysis.") (define-public r-cubature (package (name "r-cubature") - (version "2.0.4.6") + (version "2.1.0") (source (origin (method url-fetch) (uri (cran-uri "cubature" version)) (sha256 (base32 - "0nprx74mcsw4zz89gc3c53nw2iyyqalfyh7xfda83xlvpv19s31k")))) + "0r9n4xpm3ssjn3vywzlgh3naynzp1cxvjsd0pvah04k115b7i0jx")))) (build-system r-build-system) (propagated-inputs (list r-rcpp)) @@ -10495,13 +10732,13 @@ also be used as an engine for writing package vignettes.") (define-public r-sitar (package (name "r-sitar") - (version "1.3.0") + (version "1.4.0") (source (origin (method url-fetch) (uri (cran-uri "sitar" version)) (sha256 - (base32 "0lhwbbpq6anqrk3818xw3nrl63bj3vwgsmxad0dpl8y50rkcc4cs")))) + (base32 "14qc5qy21qyj4gml0gwfn8izbsmzwy30ddc7mazhszi487jrcrp0")))) (properties `((upstream-name . "sitar"))) (build-system r-build-system) (propagated-inputs @@ -10960,6 +11197,33 @@ It is a replacement for the @code{zip} function, that does not require any additional external tools on any platform.") (license license:cc0))) +(define-public r-openai + (package + (name "r-openai") + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (cran-uri "openai" version)) + (sha256 + (base32 + "1fi1nc9c7kfnig6b5ifpb1v9r3gxszk984rwyq7i1lb6s5jv0b9z")))) + (properties `((upstream-name . "openai"))) + (build-system r-build-system) + (propagated-inputs (list r-assertthat + r-glue + r-httr + r-jsonlite + r-lifecycle + r-magrittr)) + (home-page "https://github.com/irudnyts/openai") + (synopsis "R Wrapper for OpenAI API") + (description + "This package provides an R wrapper of OpenAI API endpoints (see +@url{https://platform.openai.com/docs/introduction} for details). This +package covers Models, Completions, Chat, Edits, Images, Embeddings, Audio, +Files, Fine-tunes, Moderations, and legacy Engines endpoints.") + (license license:expat))) + (define-public r-openxlsx (package (name "r-openxlsx") @@ -11119,6 +11383,26 @@ promises, but with a syntax that is idiomatic R.") using the @code{snow} package.") (license license:gpl2))) +(define-public r-fsa + (package + (name "r-fsa") + (version "0.9.4") + (source (origin + (method url-fetch) + (uri (cran-uri "FSA" version)) + (sha256 + (base32 + "0m63pik6bcqsbzizq8zjzilr2pxjl8b64ivdqzdnz09gmck73r5h")))) + (properties `((upstream-name . "FSA"))) + (build-system r-build-system) + (propagated-inputs (list r-car r-dunn-test r-lmtest r-plotrix r-withr)) + (home-page "https://fishr-core-team.github.io/FSA/") + (synopsis "Simple fisheries stock assessment methods") + (description + "This package provides a variety of simple fish stock assessment +methods.") + (license license:gpl2+))) + (define-public r-fstcore (package (name "r-fstcore") @@ -11512,14 +11796,14 @@ those searches and pull data into their R sessions.") (define-public r-renv (package (name "r-renv") - (version "0.17.3") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "renv" version)) (sha256 (base32 - "1w7mwk3drf3bzfyhsy6mlnpbhgp8il8is7q95ad567ry4g6jhkqw")))) + "0ssp0mam8zkk0qsgadab0c1lkbqac3cq12s3066xz44h2jzsrfj8")))) (properties `((upstream-name . "renv"))) (build-system r-build-system) (native-inputs @@ -11635,14 +11919,14 @@ always locate the files relative to your project root.") (define-public r-reticulate (package (name "r-reticulate") - (version "1.28") + (version "1.30") (source (origin (method url-fetch) (uri (cran-uri "reticulate" version)) (sha256 (base32 - "0vsia6rcr4nlvzpnpwy9izhlmrl65g62yx9n97qkzaps33nrk8jq")))) + "1pqpc1bhdkhkzddwfpnwv907x29x20za4if30bwgljgsj0x8m3zf")))) (build-system r-build-system) (arguments (list @@ -11661,6 +11945,7 @@ always locate the files relative to your project root.") r-rappdirs r-rcpp r-rcpptoml + r-rlang r-withr)) (native-inputs (list r-knitr)) @@ -12530,14 +12815,14 @@ Decomposition in R (Beaton et al 2014) <doi:10.1016/j.csda.2013.11.006>.") (define-public r-insight (package (name "r-insight") - (version "0.19.2") + (version "0.19.3") (source (origin (method url-fetch) (uri (cran-uri "insight" version)) (sha256 (base32 - "0xi9qsaxdsf2g62izh28h4kn5ada6w03znrn1zq9zdxhi5vwbavp")))) + "0zl8in5mvqjq58kprn1slrgc5wfh8vv7wprfc3qp3xl4bsqkj7zz")))) (build-system r-build-system) (native-inputs (list r-knitr)) @@ -12693,14 +12978,14 @@ functions.") (define-public r-flextable (package (name "r-flextable") - (version "0.9.1") + (version "0.9.2") (source (origin (method url-fetch) (uri (cran-uri "flextable" version)) (sha256 (base32 - "0ic3mny2kgfyckjc77sycq5czhx68i9dgqp7g3lc06h303kcjqm4")))) + "0gcjkw35dlhf71djkvmlz0rp62sy3zd45vm8qhk1v3z5ka8m7kdw")))) (build-system r-build-system) (propagated-inputs (list r-data-table @@ -12794,13 +13079,13 @@ distribution).") (define-public r-golem (package (name "r-golem") - (version "0.4.0") + (version "0.4.1") (source (origin (method url-fetch) (uri (cran-uri "golem" version)) (sha256 (base32 - "0qjnrkwyn8im5zfd0fxf7rkz0gxdywnckpzsn0cqb0fxsa0z0xmv")))) + "0pcvp2rmwzvl0wi73fp9pmjq1rrknq2h45sfvbjhmbz8ilvr8zpa")))) (properties `((upstream-name . "golem"))) (build-system r-build-system) (propagated-inputs @@ -13098,14 +13383,14 @@ containing one or more SNPs that evolved under directional selection.") (define-public r-proc (package (name "r-proc") - (version "1.18.2") + (version "1.18.4") (source (origin (method url-fetch) (uri (cran-uri "pROC" version)) (sha256 (base32 - "01q5qv2g2npfn7xyd62mhfvdb0647r3y1j4sm0fb7p9ncyifm0hz")))) + "0lqar1lbm461in4jb9rkdnpccl8lshrhig2qxr892m91mdxym46m")))) (properties `((upstream-name . "pROC"))) (build-system r-build-system) (propagated-inputs @@ -13737,14 +14022,14 @@ data with multiple data types.") (define-public r-qualv (package (name "r-qualv") - (version "0.3-4") + (version "0.3-5") (source (origin (method url-fetch) (uri (cran-uri "qualV" version)) (sha256 (base32 - "0rkjzva2h158d5c631jmjjh7qjibbyisl0503san80rk9fgxl45b")))) + "09qqfx94f46x585iipr9wii8ji6ih31xymbw4p5v3qixmfpja276")))) (properties `((upstream-name . "qualV"))) (build-system r-build-system) (propagated-inputs @@ -13790,14 +14075,14 @@ subsequence} (LCS) using a dynamic programming algorithm.") (define-public r-labelled (package (name "r-labelled") - (version "2.11.0") + (version "2.12.0") (source (origin (method url-fetch) (uri (cran-uri "labelled" version)) (sha256 (base32 - "1pg5l2c3ai8gkrqryq5xzsal85pljmdzc2ln8k1ak3j4racm5p7d")))) + "1f6jh1mrbwb3v1kc49pb65sf5ffqs0h9vizpig4r5rhhv4n3q17y")))) (properties `((upstream-name . "labelled"))) (build-system r-build-system) (propagated-inputs @@ -13874,14 +14159,14 @@ used to teach mathematics, statistics, computation and modeling.") (define-public r-raster (package (name "r-raster") - (version "3.6-20") + (version "3.6-23") (source (origin (method url-fetch) (uri (cran-uri "raster" version)) (sha256 (base32 - "04x8b4fhqrl3x44dpjs6j6aknr2n54jinrl77d5c38ip9sgy8nvy")))) + "0ng18sfw9kmhi48j8b5bzgh2ylvf5wi2zidn66k4vqaxl5s6hidz")))) (build-system r-build-system) (propagated-inputs (list r-rcpp r-sp r-terra)) @@ -14593,13 +14878,13 @@ handle data from simple random samples as well as complex surveys.") (define-public r-tarchetypes (package (name "r-tarchetypes") - (version "0.7.6") + (version "0.7.7") (source (origin (method url-fetch) (uri (cran-uri "tarchetypes" version)) (sha256 (base32 - "06hqwzh5mca7606rq5bwhqk9cbhqsw6vl1pax1y1890fnkzcm1my")))) + "1vqyabk04kpskx1ny7c4knzg90ri99x17vfnwcb6syjbzpcfg444")))) (properties `((upstream-name . "tarchetypes"))) (build-system r-build-system) (propagated-inputs (list r-digest @@ -14630,13 +14915,13 @@ were influenced by the drake R package by Will Landau (2018) (define-public r-targets (package (name "r-targets") - (version "1.1.3") + (version "1.2.0") (source (origin (method url-fetch) (uri (cran-uri "targets" version)) (sha256 (base32 - "0m5sdbzyhwmfhv08b0bld4fp8vs1ga6zxy8cjpvm8amlskgxxxdm")))) + "14vm97jjlpy3a0l0lgzgpk96igvzfpxv38xqcwa0lmp0ia7hj2p8")))) (properties `((upstream-name . "targets"))) (build-system r-build-system) (propagated-inputs (list r-base64url @@ -15007,14 +15292,14 @@ packages maintained by Torsten Hothorn.") (define-public r-multcomp (package (name "r-multcomp") - (version "1.4-23") + (version "1.4-25") (source (origin (method url-fetch) (uri (cran-uri "multcomp" version)) (sha256 (base32 - "1qfdm0h6sg51cvfy9hmif7aw1jvk6jq9fvniynpxpwnqifjm8la2")))) + "10njzzxdi3jw5f419s7chcynxkzyqmmvzf7jk7ybdrwrlqhpiylx")))) (build-system r-build-system) (propagated-inputs (list r-codetools r-mvtnorm r-sandwich r-survival r-th-data)) @@ -15052,14 +15337,14 @@ the differences were not significantly different.") (define-public r-emmeans (package (name "r-emmeans") - (version "1.8.6") + (version "1.8.7") (source (origin (method url-fetch) (uri (cran-uri "emmeans" version)) (sha256 (base32 - "11gma8sz3bxy59flyzxqh400a4pm1cg6maaqvxxbms77svhb8vd4")))) + "0gpqgbybxpcpxc2n3pisd4yr1s9dq2m4z8j29f5mq0c5w5axgm68")))) (build-system r-build-system) (propagated-inputs (list r-estimability r-mvtnorm r-numderiv)) @@ -15346,14 +15631,14 @@ effects models and Bayesian models.") (define-public r-ggeffects (package (name "r-ggeffects") - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) (uri (cran-uri "ggeffects" version)) (sha256 (base32 - "1nmlx64g2x3xprhm99axw2n1agmbhwz2ck1wy16a8ach6az7rf4x")))) + "13m9di2q1npsc3mxrzkcznpq25y1brbwjixayy5ag8d9skvfx9hk")))) (build-system r-build-system) (propagated-inputs (list r-insight)) @@ -15683,14 +15968,14 @@ User credentials are shared with command line git through the (define-public r-usethis (package (name "r-usethis") - (version "2.1.6") + (version "2.2.2") (source (origin (method url-fetch) (uri (cran-uri "usethis" version)) (sha256 (base32 - "0638dzl4nm4c36990sf2biy74hjr2fzlqzfb98fsqrbhaw3ngp1i")))) + "0imy9izchr9xzc5wrr91ydfr4jifv8lsqx712zkx0vxfi6kw3n6r")))) (build-system r-build-system) (propagated-inputs (list r-cli @@ -16318,14 +16603,14 @@ mathematics.") (define-public r-rcppannoy (package (name "r-rcppannoy") - (version "0.0.20") + (version "0.0.21") (source (origin (method url-fetch) (uri (cran-uri "RcppAnnoy" version)) (sha256 (base32 - "11fgxbx3w36937h22v9pqx0nk5vpxp3hybj7k1b0lk8mj7hcginw")))) + "1xzhax5hmn79h6kmz7inrlaya5mdpzqj6j7n5ridyzc4vcrs412q")))) (properties `((upstream-name . "RcppAnnoy"))) (build-system r-build-system) (propagated-inputs @@ -16425,13 +16710,13 @@ netCDF files.") (define-public r-biocmanager (package (name "r-biocmanager") - (version "1.30.20") + (version "1.30.21") (source (origin (method url-fetch) (uri (cran-uri "BiocManager" version)) (sha256 - (base32 "1snm2sjr7cakb7hvi5dylrbj5nbar0757jzyd5d7igdbhxv2vrxr")))) + (base32 "025a3sc8r98sl40xqvw3jcf5ngkp0nznn4r4kqv0rj49hs6v6rlq")))) (properties `((upstream-name . "BiocManager"))) (build-system r-build-system) (native-inputs @@ -16449,16 +16734,19 @@ Bioconductor packages.") (define-public r-rgl (package (name "r-rgl") - (version "1.1.3") + (version "1.2.1") (source (origin (method url-fetch) (uri (cran-uri "rgl" version)) (sha256 (base32 - "1blasg60x38z57ds6x7yb4rvjx21yf4s99q93sl1w9h6mg14d8jg")) + "16ybdly3cjm6ibvhfad7d5k6bxaxf33l5s1s766hy9kza8skyani")) (snippet '(delete-file "inst/htmlwidgets/lib/CanvasMatrix/CanvasMatrix.min.js")))) + ;; For OpenGL and X11 support + (properties + '((updater-extra-inputs . ("glu" "libx11")))) (build-system r-build-system) (arguments (list @@ -16896,13 +17184,13 @@ Tabelow (2007) <DOI:10.18637/jss.v019.i01>.") (define-public r-admisc (package (name "r-admisc") - (version "0.32") + (version "0.33") (source (origin (method url-fetch) (uri (cran-uri "admisc" version)) (sha256 - (base32 "1dv5n3hg74wp8nazbxl9mbdkdwpk7z0mibcxfpvdyjgmvfix33nk")))) + (base32 "1anvh581jh1mw3yhpbm2dyihs9npi9gd0isgkphw5gr64fivw49r")))) (properties `((upstream-name . "admisc"))) (build-system r-build-system) (home-page "https://github.com/dusadrian/admisc") @@ -17188,6 +17476,29 @@ Kingsbury (1999, 2001) as implemented by Selesnick; and Hilbert wavelet pairs (Selesnick 2001, 2002).") (license license:bsd-3))) +(define-public r-word2vec + (package + (name "r-word2vec") + (version "0.3.4") + (source (origin + (method url-fetch) + (uri (cran-uri "word2vec" version)) + (sha256 + (base32 + "0qj39vms6zgwb8lpmfkppayizdmhakic3pkacglary3ain61vnsk")))) + (properties `((upstream-name . "word2vec"))) + (build-system r-build-system) + (propagated-inputs (list r-rcpp r-rcppprogress)) + (home-page "https://github.com/bnosac/word2vec") + (synopsis "Distributed representations of words") + (description + "Learn vector representations of words by continuous bag of words and +skip-gram implementations of the word2vec algorithm. The techniques are +detailed in the paper \"Distributed Representations of Words and Phrases and +their Compositionality\" by Mikolov et al. (2013), available at +<arXiv:1310.4546>.") + (license license:asl2.0))) + (define-public r-wordcloud (package (name "r-wordcloud") @@ -17287,6 +17598,38 @@ manipulate tree data.") R packages (on CRAN, Bioconductor or Github).") (license license:artistic2.0))) +(define-public r-doc2vec + (package + (name "r-doc2vec") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (cran-uri "doc2vec" version)) + (sha256 + (base32 + "0249hm0103kxxsi4gks4h20wf6p00gbrk9jf8c148mbja1l56f6v")))) + (properties `((upstream-name . "doc2vec"))) + (build-system r-build-system) + (propagated-inputs (list r-rcpp)) + (home-page "https://github.com/bnosac/doc2vec") + (synopsis "Distributed representations of sentences, documents and topics") + (description + "Learn vector representations of sentences, paragraphs or documents by +using the Paragraph Vector algorithms, namely the distributed bag of +words (PV-DBOW) and the distributed memory (PV-DM) model. Top2vec finds +clusters in text documents by combining techniques to embed documents and +words and density-based clustering. It does this by embedding documents in +the semantic space as defined by the doc2vec algorithm. Next it maps these +document embeddings to a lower-dimensional space using the Uniform Manifold +Approximation and Projection (UMAP) clustering algorithm and finds dense areas +in that space using a Hierarchical Density-Based Clustering +technique (HDBSCAN). These dense areas are the topic clusters which can be +represented by the corresponding topic vector which is an aggregate of the +document embeddings of the documents which are part of that topic cluster. In +the same semantic space similar words can be found which are representative of +the topic.") + (license license:expat))) + (define-public r-docopt (package (name "r-docopt") @@ -17645,6 +17988,48 @@ Helene Touzet and Jean-Stephane Varre, 2007, Algorithms Mol Biol:2, 15. Touzet and Varre (2007).") (license license:gpl2))) +(define-public r-rnaturalearth + (package + (name "r-rnaturalearth") + (version "0.3.3") + (source (origin + (method url-fetch) + (uri (cran-uri "rnaturalearth" version)) + (sha256 + (base32 + "0cji6hpcpkrsx615627z9dgk0zf78l2nnj3x5kkkpj9lvsm5gj6m")))) + (properties `((upstream-name . "rnaturalearth"))) + (build-system r-build-system) + (propagated-inputs (list r-httr r-jsonlite r-sf r-sp r-terra)) + (native-inputs (list r-knitr)) + (home-page "https://cran.r-project.org/package=rnaturalearth") + (synopsis "World map data from Natural Earth") + (description + "This package facilitates mapping by making natural earth map data from +@url{https://www.naturalearthdata.com/} more easily available to R users.") + (license license:expat))) + +(define-public r-rnaturalearthdata + (package + (name "r-rnaturalearthdata") + (version "0.1.0") + (source (origin + (method url-fetch) + (uri (cran-uri "rnaturalearthdata" version)) + (sha256 + (base32 + "1z32j5lz2lb8xgpkr73majw22k0b49iazj6jjc7j4w9k4zxxa102")))) + (properties `((upstream-name . "rnaturalearthdata"))) + (build-system r-build-system) + (propagated-inputs (list r-sp)) + (home-page "https://github.com/ropenscilabs/rnaturalearthdata") + (synopsis "World vector map data from Natural Earth") + (description + "This package provides vector map data from +@url{https://www.naturalearthdata.com/}. Access functions are provided in the +accompanying package @code{rnaturalearth}.") + (license license:cc0))) + (define-public r-rncl (package (name "r-rncl") @@ -17964,14 +18349,14 @@ be imported and then exported via the @code{gridSVG} package.") (define-public r-kohonen (package (name "r-kohonen") - (version "3.0.11") + (version "3.0.12") (source (origin (method url-fetch) (uri (cran-uri "kohonen" version)) (sha256 (base32 - "1bk3j0n8w4fhffv89rgyn4n21c0wcx6lr8jv4wbagpxprl585381")))) + "188cxw2fvpfr3dyi8g52igcyc8d5jffyn6rhc84dja52da8lp520")))) (build-system r-build-system) (propagated-inputs (list r-rcpp)) @@ -18212,14 +18597,14 @@ and manipulating sets of ontological terms.") (define-public r-gargle (package (name "r-gargle") - (version "1.4.0") + (version "1.5.1") (source (origin (method url-fetch) (uri (cran-uri "gargle" version)) (sha256 (base32 - "12s980jfw98czzrxdn83b2blj4qcrkqqmycjplkzvm4mapgiw3wf")))) + "19drzhzfivjwgs04rdgap86fv4fjayrscifjr03gxrax82sjgfp3")))) (build-system r-build-system) (propagated-inputs (list r-cli @@ -18282,20 +18667,17 @@ preparing, executing, and processing HTTP requests.") (define-public r-gmp (package (name "r-gmp") - (version "0.7-1") + (version "0.7-2") (source (origin (method url-fetch) (uri (cran-uri "gmp" version)) (sha256 (base32 - "1djxhc4v874asmrj8qy054779wsq499f5f2wc6vmr40qab33v1x6")))) + "12rd0j3sawzipfz4xr3ikrxrjabpjp4s3y4ikvk16z8rhjs2i5bw")))) + (properties + '((updater-extra-inputs . ("gmp")))) (build-system r-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-CC - (lambda _ (setenv "CC" "gcc") #t))))) (inputs (list gmp)) (home-page "https://cran.r-project.org/web/packages/gmp") (synopsis "Multiple precision arithmetic") @@ -19483,14 +19865,14 @@ port-forwarding to your local computer.") (define-public r-future (package (name "r-future") - (version "1.32.0") + (version "1.33.0") (source (origin (method url-fetch) (uri (cran-uri "future" version)) (sha256 (base32 - "0xigdxcxx0nv0lbbrfqwbgcm02yw95ja706m9lc4b5q65m8p9fym")))) + "0nwk8y3qv2dj41qxrciic6rkpy6lzrhpd5v886zmcjyf6ndyna22")))) (build-system r-build-system) (arguments `(#:phases @@ -20625,22 +21007,23 @@ plotting functions are available for analyzing clustering results.") (define-public r-remacor (package (name "r-remacor") - (version "0.0.11") + (version "0.0.16") (source (origin (method url-fetch) (uri (cran-uri "remaCor" version)) (sha256 (base32 - "0hhk1zrjz6sxg219h9ca7jya0vc8dmrvwaddajkcdns6bv3rj1km")))) + "1xznj2y3qszw8s1fgbs8fiadg7c0gl3ml1blxmwixb32kr2cv5vq")))) (properties `((upstream-name . "remaCor"))) (build-system r-build-system) (propagated-inputs - (list r-clustergeneration + (list r-envstats r-ggplot2 r-mvtnorm + r-rcpp + r-rcpparmadillo r-rdpack - r-reshape2 - r-runit)) + r-reshape2)) (native-inputs (list r-knitr)) (home-page "https://diseaseneurogenomics.github.io/remaCor/") (synopsis "Random effects meta-analysis for correlated test statistics") @@ -21082,14 +21465,14 @@ univariate class intervals for mapping or other graphics purposes.") (define-public r-spdata (package (name "r-spdata") - (version "2.2.2") + (version "2.3.0") (source (origin (method url-fetch) (uri (cran-uri "spData" version)) (sha256 (base32 - "1v8407lkkj0flsphsnqvdr35knkasvjv9v29451mkwkciglmi2l7")))) + "12w4chk71vqy1chij79928ppxdg2cz03hx9bgs5cgwj9f1ciyb2b")))) (properties `((upstream-name . "spData"))) (build-system r-build-system) (propagated-inputs @@ -21459,13 +21842,13 @@ either PDF/EPS files.") (define-public r-polspline (package (name "r-polspline") - (version "1.1.22") + (version "1.1.23") (source (origin (method url-fetch) (uri (cran-uri "polspline" version)) (sha256 - (base32 "0ys5sxr5q55ip49dsc3kbgcr3bn9dj5bblmshwm4jz8d0a7ikwmj")))) + (base32 "1qa9j7s09yzi65fav27zxc1w1wxwsmgjz8a8ghy7hhi5f3gvsqw3")))) (build-system r-build-system) (native-inputs (list gfortran)) (home-page "https://cran.r-project.org/web/packages/polspline/") @@ -22305,14 +22688,14 @@ package.") (define-public r-ggplotify (package (name "r-ggplotify") - (version "0.1.0") + (version "0.1.1") (source (origin (method url-fetch) (uri (cran-uri "ggplotify" version)) (sha256 (base32 - "12mk3fa8fdjxj7xxz21jkr7h91w5wdgwjqhszcz1qffwsgb773qp")))) + "1x4fnsh66rxdd2k7w1mhs6if8i4qjjkfj5x1hf4zjpqqm8f5sf1k")))) (build-system r-build-system) (propagated-inputs (list r-ggplot2 r-gridgraphics r-yulab-utils)) @@ -22959,14 +23342,14 @@ function for computing a matrix of correlation p-values.") (define-public r-ggfun (package (name "r-ggfun") - (version "0.0.9") + (version "0.1.1") (source (origin (method url-fetch) (uri (cran-uri "ggfun" version)) (sha256 (base32 - "04kn367mzgrfwnwz97vw5jqp2kig94hmxmhyyic7ddvk3sfhwx2w")))) + "1gypky0ksnwq98w9zqp9nfayhc1fx8wpn82mj2jpv1ydd5hfsicq")))) (properties `((upstream-name . "ggfun"))) (build-system r-build-system) (propagated-inputs @@ -23371,14 +23754,14 @@ colored by the number of neighboring points. This is useful to visualize the (define-public r-arrow (package (name "r-arrow") - (version "12.0.0") + (version "12.0.1") (source (origin (method url-fetch) (uri (cran-uri "arrow" version)) (sha256 (base32 - "1hv18ksaghifj4jjdy1cf2ic0rrgfi7jbjpzxb7v6r3bbshs9vwi")))) + "0wrx9nvv7vw1ywdh6afk496dljwglnbkhjl5ywrrynfhidj7hnql")))) (properties `((upstream-name . "arrow"))) (build-system r-build-system) (inputs @@ -23764,14 +24147,14 @@ batch correction, and data correction.") (define-public r-styler (package (name "r-styler") - (version "1.10.0") + (version "1.10.1") (source (origin (method url-fetch) (uri (cran-uri "styler" version)) (sha256 (base32 - "1zaxwhcgfasrchg2qcrr3i9scyvz57g363q77d39zrz69yk363ic")))) + "0rswg2habyk38hcx0gn9hnvb200bq0dc4fy4k3gqhfhwjq9l7a1b")))) (build-system r-build-system) ;; This is needed by R.cache. (arguments @@ -24357,14 +24740,14 @@ in R, including a translation of the original algorithm into R.") (define-public r-uwot (package (name "r-uwot") - (version "0.1.14") + (version "0.1.16") (source (origin (method url-fetch) (uri (cran-uri "uwot" version)) (sha256 (base32 - "1q4z98w3pkc51vrcpmwaibnwmlm17zjcnh0qlx660wky5ccyh5l0")))) + "0j4f7vnb3mwf6p4nhg2limy7i32qrcj2gxbs8wsq9c6xxpcs0qsz")))) (build-system r-build-system) (propagated-inputs (list r-dqrng @@ -24706,14 +25089,16 @@ guaranteeing well-connected communities.\" <arXiv:1810.08473>.") (define-public r-leidenalg (package (name "r-leidenalg") - (version "1.0.5") + (version "1.1.0") (source (origin (method url-fetch) (uri (cran-uri "leidenAlg" version)) (sha256 - (base32 "1z96zrsms93gspylmficaggb0xj94kq9rg3p2svdbb451jbga9an")))) - (properties `((upstream-name . "leidenAlg"))) + (base32 "1hn5fps5m5am4s82wvhr4fgfw49h0jar4i687czbkab3l9x1dr68")))) + (properties + `((upstream-name . "leidenAlg") + (updater-extra-inputs . ("gmp")))) (build-system r-build-system) (inputs (list glpk gmp libxml2)) @@ -25045,21 +25430,25 @@ emphasize hidden group structures in networks or focus on specific nodes.") (define-public r-terra (package (name "r-terra") - (version "1.7-29") + (version "1.7-39") (source (origin (method url-fetch) (uri (cran-uri "terra" version)) (sha256 (base32 - "19bwakxccgyn054p7nrf820jq7nwpcjlrgj2ldk137scld9b0f9z")))) + "03kc2m89236qh50qfxl1101ys466ddhgjwp80x6hjpmd9fz5jf5l")))) (properties `((upstream-name . "terra"))) (build-system r-build-system) (inputs - (list gdal + (list curl + gdal geos + openssh + openssl + pcre2 proj - sqlite ; needed for proj + sqlite zlib)) (propagated-inputs (list r-rcpp)) @@ -25331,13 +25720,13 @@ programming problems.") (define-public r-desolve (package (name "r-desolve") - (version "1.35") + (version "1.36") (source (origin (method url-fetch) (uri (cran-uri "deSolve" version)) (sha256 - (base32 "126l473wvmy7zsm34alskwigbf85dn657hsnzy24yx8kfx4pzwcn")))) + (base32 "1ygijjvmi7igk3xmm2mzfnbw05kynjdqbwddifg798awk7mfffjw")))) (properties `((upstream-name . "deSolve"))) (build-system r-build-system) (native-inputs @@ -25360,13 +25749,13 @@ to ODEs by numerical differencing.") (define-public r-pmcmrplus (package (name "r-pmcmrplus") - (version "1.9.6") + (version "1.9.7") (source (origin (method url-fetch) (uri (cran-uri "PMCMRplus" version)) (sha256 - (base32 "1mvj3cwrdkl3frk7fvh6l7v7yya5p3xm4z0qhc4fvykxdmb92ivz")))) + (base32 "06i5vsf8hpzv0c8v156072xbqpxk1wf2iami7mnsjfp9xjjjzbhx")))) (properties `((upstream-name . "PMCMRplus"))) (build-system r-build-system) (inputs (list gmp)) @@ -25379,7 +25768,7 @@ to ODEs by numerical differencing.") r-mvtnorm r-rmpfr r-suppdists)) - (native-inputs (list gfortran r-knitr)) + (native-inputs (list gfortran r-knitr r-rmarkdown)) (home-page "https://cran.r-project.org/package=PMCMRplus") (synopsis "Calculate pairwise multiple comparisons of mean rank sums extended") (description @@ -25899,6 +26288,25 @@ been created, it no longer relies on the font files. No external software such as Ghostscript is needed to use this package.") (license license:asl2.0))) +(define-public r-emoa + (package + (name "r-emoa") + (version "0.5-0.2") + (source (origin + (method url-fetch) + (uri (cran-uri "emoa" version)) + (sha256 + (base32 + "0fr4ia3hkv8c7wkl64a51s6ynldppc812ynwldvbwy25dhlbvs6r")))) + (properties `((upstream-name . "emoa"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/emoa/") + (synopsis "Evolutionary multiobjective optimization algorithms") + (description + "This package provides building blocks for the design and analysis of +multiobjective optimization algorithms.") + (license license:gpl2))) + (define-public r-emojifont (package (name "r-emojifont") @@ -26187,14 +26595,14 @@ data.") (define-public r-mda (package (name "r-mda") - (version "0.5-3") + (version "0.5-4") (source (origin (method url-fetch) (uri (cran-uri "mda" version)) (sha256 (base32 - "0qw4scc2w7jmnxssj5w2mdxb9rrl4dscqn54gplzm1gk2yf419mx")))) + "0nd7p3yz7qdzka7jizymv5vhbhzb4v8bjpmmn5wa83vxh0l7ypzj")))) (properties `((upstream-name . "mda"))) (build-system r-build-system) (propagated-inputs (list r-class)) @@ -26725,14 +27133,14 @@ settings.") (define-public r-r-huge (package (name "r-r-huge") - (version "0.9.0") + (version "0.10.0") (source (origin (method url-fetch) (uri (cran-uri "R.huge" version)) (sha256 (base32 - "13p558qalv60pgr24nsm6mi92ryj65rsbqa6pgdwy0snjqx12bgi")))) + "1wjcssvn76fblpivwkapdwcw08pygbkj7qskcl0wn8mda9w5f72b")))) (properties `((upstream-name . "R.huge"))) (build-system r-build-system) (propagated-inputs @@ -27041,6 +27449,31 @@ forest) is fit on the kernel matrix of a subset of the training data.") classes into dummy/indicator variables.") (license license:gpl2+))) +(define-public r-dunn-test + (package + (name "r-dunn-test") + (version "1.3.5") + (source (origin + (method url-fetch) + (uri (cran-uri "dunn.test" version)) + (sha256 + (base32 + "0lqwvyl3pyygfc73nf81gzw3zl3w43r7ki0yw2dgrzhkpb2iji4a")))) + (properties `((upstream-name . "dunn.test"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/package=dunn.test") + (synopsis "Dunn's test of multiple comparisons using rank sums") + (description + "Dunn's test computes stochastic dominance & reports pairwise comparisons. +This is done following a Kruskal-Wallis test (Kruskal and Wallis, 1952). It +employs Dunn's z-test-statistic approximations for rank statistics, conducting +k(k-1)/2 comparisons. The null hypothesis assumes that the probability of a +randomly selected value from the first group being larger than one from the +second group is one half, similar to the Wilcoxon-Mann-Whitney test. Dunn's +test serves as a test for median difference and takes into account tied +ranks.") + (license license:gpl2))) + (define-public r-acrm (package (name "r-acrm") @@ -27310,14 +27743,14 @@ allowed.") (define-public r-gdina (package (name "r-gdina") - (version "2.9.3") + (version "2.9.4") (source (origin (method url-fetch) (uri (cran-uri "GDINA" version)) (sha256 (base32 - "0bwg9sfsqs5nsqwhjnbb631fbhj0mx2dc4c185qkym9cjb5lfkm9")))) + "10bbwr4q6cp36dnwhddviqg7f00h92gdmvblw0lxn72v4869vhn1")))) (properties `((upstream-name . "GDINA"))) (build-system r-build-system) (propagated-inputs @@ -28066,13 +28499,13 @@ Visualizations are also available for most of these settings.") (define-public r-torch (package (name "r-torch") - (version "0.10.0") + (version "0.11.0") (source (origin (method url-fetch) (uri (cran-uri "torch" version)) (sha256 - (base32 "1ydazl7v10vm69573y871rq1dvbgdvlvhcs6di7xw7i4z4kg2gxm")))) + (base32 "04hvr3f4rgnxxc42fiv58kpyld4aagj6ambhw769v3bfz7s2v879")))) (properties `((upstream-name . "torch"))) (build-system r-build-system) (arguments @@ -29597,14 +30030,14 @@ perform @dfn{exploratory mediation} (XMed).") (define-public r-stanheaders (package (name "r-stanheaders") - (version "2.26.26") + (version "2.26.27") (source (origin (method url-fetch) (uri (cran-uri "StanHeaders" version)) (sha256 (base32 - "1jr5sflqhg70jkgz3x0q9nrk2xjzm1l4zmyc7j89m755b209sq4k")))) + "1cf9hc7z3d8b70jck37j3lc2ml040di91dylfb18yi6wx936bq3h")))) (properties `((upstream-name . "StanHeaders"))) (build-system r-build-system) (inputs (list pandoc)) @@ -29697,14 +30130,14 @@ estimate parameters given observed data.") (define-public r-kutils (package (name "r-kutils") - (version "1.70") + (version "1.72") (source (origin (method url-fetch) (uri (cran-uri "kutils" version)) (sha256 (base32 - "06jk66wbq3jmdf2jdhqns6r3yk36l2x7c907x977zv80sqxa1l37")))) + "0mnrh1bfpwssw9j5lspvwfawqx9s4fxy2gh3n60knjzbzrzqckp4")))) (properties `((upstream-name . "kutils"))) (build-system r-build-system) (propagated-inputs @@ -31022,14 +31455,14 @@ is also implemented here.") (define-public r-aws (package (name "r-aws") - (version "2.5-1") + (version "2.5-3") (source (origin (method url-fetch) (uri (cran-uri "aws" version)) (sha256 (base32 - "1fhm87iax6bkvd4vszvjbcqw3b2drs11rjxr7zf2w4sgc72svaz8")))) + "022igrvxlyi0ckl3c6chcm459kv213jxy5hrvc14m36yhn3xckhm")))) (properties `((upstream-name . "aws"))) (build-system r-build-system) @@ -31517,18 +31950,23 @@ multi-state models.") (define-public r-scatterpie (package (name "r-scatterpie") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) (uri (cran-uri "scatterpie" version)) (sha256 (base32 - "06crdylakwig8ryi1w5a6mmfy67gakmk6gp0xbrg749da1asd7a9")))) + "0wfrckyvy4zw34qdvgg1gwqfdi1xhs63v3gfwa4akm7ifd1canlb")))) (properties `((upstream-name . "scatterpie"))) (build-system r-build-system) (propagated-inputs - (list r-dplyr r-ggforce r-ggfun r-ggplot2 r-rlang r-tidyr)) + (list r-dplyr + r-ggforce + r-ggfun + r-ggplot2 + r-rlang + r-tidyr)) (native-inputs (list r-knitr)) (home-page "https://cran.r-project.org/web/packages/scatterpie/") @@ -31973,25 +32411,20 @@ Kemeny distance and correlation coefficient.") (define-public r-fastshap (package (name "r-fastshap") - (version "0.0.7") + (version "0.1.0") (source (origin (method url-fetch) (uri (cran-uri "fastshap" version)) (sha256 (base32 - "0gxch67i3bj6m8nb94m5hswq058w6n1q9war4dy2qnimlv7cmhdv")))) + "112hc585aryzc5pgvr3qaa7arlx2h2sj9jlq9xha3nncyzqkh7c6")))) (properties `((upstream-name . "fastshap"))) (build-system r-build-system) (propagated-inputs - (list r-abind - r-ggplot2 - r-gridextra - r-matrixstats - r-plyr - r-rcpp - r-rcpparmadillo - r-tibble)) + (list r-foreach r-rcpp r-rcpparmadillo)) + (native-inputs + (list r-knitr)) (home-page "https://github.com/bgreenwell/fastshap") (synopsis "Fast approximate Shapley values") (description @@ -32266,14 +32699,14 @@ which may also be useful for other purposes.") (define-public r-spatstat-sparse (package (name "r-spatstat-sparse") - (version "3.0-1") + (version "3.0-2") (source (origin (method url-fetch) (uri (cran-uri "spatstat.sparse" version)) (sha256 (base32 - "070ddmi73ly2lv23z556adgn7vc7xyhl2cnh1cis8sinmpfz071c")))) + "1gnlgz11dv66b41kdyyzm8nhkhhi4yajlcr2g52h2lfxlryb5g2h")))) (properties `((upstream-name . "spatstat.sparse"))) (build-system r-build-system) @@ -32312,14 +32745,14 @@ package.") (define-public r-spatstat-geom (package (name "r-spatstat-geom") - (version "3.2-1") + (version "3.2-2") (source (origin (method url-fetch) (uri (cran-uri "spatstat.geom" version)) (sha256 (base32 - "1yrms8jwk5svggm73y0nk4j1k85rd92fvgvd4ia6nina63pmvbph")))) + "1hvk61j8xxkj8n5g0fdbpa3h8j2km1q689l9l87jzzdsz95jgk9f")))) (properties `((upstream-name . "spatstat.geom"))) (build-system r-build-system) (propagated-inputs @@ -32483,14 +32916,14 @@ for linear mixed models (AIREML).") (define-public r-cpp11 (package (name "r-cpp11") - (version "0.4.3") + (version "0.4.4") (source (origin (method url-fetch) (uri (cran-uri "cpp11" version)) (sha256 (base32 - "1wcq4lq7xa62xn6zsg6r8nf6vdlvnlwxgfqndb7vnvd8f54hx9pi")))) + "10c6i5daw3xy4w0f1pjc09x5iykv0fjdp2a33qjl0yrivmmdamkj")))) (properties `((upstream-name . "cpp11"))) (build-system r-build-system) (native-inputs (list r-knitr)) @@ -32555,14 +32988,14 @@ aggregation for comparing different implementations in order to provide a (define-public r-rfast (package (name "r-rfast") - (version "2.0.7") + (version "2.0.8") (source (origin (method url-fetch) (uri (cran-uri "Rfast" version)) (sha256 (base32 - "13yzvvl49sibf2py990fb60nyjby5h10pbli3i7159v08yd1b1lg")))) + "1c64j8hg6id4ri3m32aa1r0qyn09kl3dvl865dzf43qdb3qcichv")))) (properties `((upstream-name . "Rfast"))) (build-system r-build-system) (propagated-inputs @@ -33178,13 +33611,13 @@ value.") (define-public r-confintr (package (name "r-confintr") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) (uri (cran-uri "confintr" version)) (sha256 (base32 - "0p2k1bflyb82grp6ikh7dw3dacvsch8zfwxwwr4v325q0yk98iiz")))) + "0gi9cnk2cd67vmywrkb19g6f9gr8k999kg0k03khad7lgqp4l43s")))) (properties `((upstream-name . "confintr"))) (build-system r-build-system) (propagated-inputs (list r-boot)) @@ -33284,21 +33717,26 @@ model.") (define-public r-igraph (package (name "r-igraph") - (version "1.4.3") + (version "1.5.0") (source (origin (method url-fetch) (uri (cran-uri "igraph" version)) (sha256 (base32 - "08b0q5fb9wrnzq32izylq8fxyagibrng5yb80acsbmnfdkxb7g86")))) + "01kkzl0akq5ygz2mvn29myhnfx4b74xkpmn592ih1vnh1zzph1yq")))) (build-system r-build-system) (native-inputs (list gfortran r-knitr)) (inputs - (list gmp glpk libxml2 zlib)) + (list glpk gmp libxml2 zlib)) (propagated-inputs - (list r-cpp11 r-magrittr r-matrix r-pkgconfig r-rlang)) + (list r-cli + r-cpp11 + r-magrittr + r-matrix + r-pkgconfig + r-rlang)) (home-page "https://igraph.org") (synopsis "Network analysis and visualization") (description @@ -33588,6 +34026,24 @@ different types of resampling objects (e.g. bootstrap, cross-validation).") Design} (SFD) and to test their quality.") (license license:gpl3))) +(define-public r-dicekriging + (package + (name "r-dicekriging") + (version "1.6.0") + (source (origin + (method url-fetch) + (uri (cran-uri "DiceKriging" version)) + (sha256 + (base32 + "0jfb2li6b93fkwgjkr4jwxnvv7zb0aqk9lkf2mnv2awzh0r16pdb")))) + (properties `((upstream-name . "DiceKriging"))) + (build-system r-build-system) + (home-page "https://dicekrigingclub.github.io/www/") + (synopsis "Kriging methods for computer experiments") + (description "This is a package for the estimation, validation and +prediction of kriging models.") + (license license:gpl2+))) + (define-public r-dials (package (name "r-dials") @@ -34395,14 +34851,14 @@ as allowing spectra with different resolutions.") (define-public r-scattermore (package (name "r-scattermore") - (version "1.1") + (version "1.2") (source (origin (method url-fetch) (uri (cran-uri "scattermore" version)) (sha256 (base32 - "1iairy18k1k66863f5avxs5mq1a42477w1kcl6w465is1awc1sb3")))) + "1l820rc4ncmqd5sacdc420xf6r5dh34sbhgzzgq7a4yx1dxshd2m")))) (properties `((upstream-name . "scattermore"))) (build-system r-build-system) (propagated-inputs @@ -34481,13 +34937,13 @@ other R users.") (define-public r-seurat (package (name "r-seurat") - (version "4.3.0") + (version "4.3.0.1") (source (origin (method url-fetch) (uri (cran-uri "Seurat" version)) (sha256 (base32 - "0z7rzxi1gli56k50s6w1363ndw18wykgk5xmc3g7jhpphqxwpfky")))) + "04lbwk8mcv7gsi70sij264mz80frx1pr60ihv9dqg63sgr234ax4")))) (properties `((upstream-name . "Seurat"))) (build-system r-build-system) (propagated-inputs @@ -34994,6 +35450,96 @@ well as email and push notifications.") \"Discovering Motifs in Ranked Lists of DNA Sequences\" by Eran Eden.") (license license:gpl2))) +(define-public r-mlr + (package + (name "r-mlr") + (version "2.19.1") + (source (origin + (method url-fetch) + (uri (cran-uri "mlr" version)) + (sha256 + (base32 + "00jjhvaqifj6glqsyzixlp56bvlch5smck8kk3klcmwx9pasyllx")))) + (properties `((upstream-name . "mlr"))) + (build-system r-build-system) + (inputs (list gdal + geos + glu + gmp + gsl + jags + mpfr + openmpi + proj + udunits)) + (propagated-inputs (list r-backports + r-bbmisc + r-checkmate + r-data-table + r-ggplot2 + r-parallelmap + r-paramhelpers + r-stringi + r-survival + r-xml)) + (native-inputs (list r-knitr)) + (home-page "https://mlr.mlr-org.com") + (synopsis "Machine learning in R") + (description + "This package provides an interface to a large number of classification +and regression techniques. These techniques include machine-readable +parameter descriptions. There is also an experimental extension for survival +analysis, clustering and general, example-specific cost-sensitive learning. +Also included: + +@itemize + +@item Generic resampling, including cross-validation, bootstrapping and + subsampling; +@item Hyperparameter tuning with modern optimization techniques, for single- + and multi-objective problems; +@item Filter and wrapper methods for feature selection; +@item Extension of basic learners with additional operations common in machine + learning, also allowing for easy nested resampling. +@end itemize + +Most operations can be parallelized.") + (license license:bsd-2))) + +(define-public r-mlrmbo + (package + (name "r-mlrmbo") + (version "1.1.5.1") + (source (origin + (method url-fetch) + (uri (cran-uri "mlrMBO" version)) + (sha256 + (base32 + "16fwj7m28g4km7yalqppxmh3lw2jln0z072l6awia38qkdg6xwhc")))) + (properties `((upstream-name . "mlrMBO"))) + (build-system r-build-system) + (propagated-inputs (list r-backports + r-bbmisc + r-checkmate + r-data-table + r-lhs + r-mlr + r-parallelmap + r-paramhelpers + r-smoof)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/mlr-org/mlrMBO") + (synopsis "Model-based optimization with mlr") + (description + "This package is a flexible and comprehensive R toolbox for model-based +optimization. It implements Efficient Global Optimization Algorithm for +single- and multi-objective optimization. It supports mixed parameters. The +machine learning toolbox mlr offers regression learners. It provides various +infill criteria and features batch proposal, parallel execution, +visualization, and logging. Its modular implementation allows easy +customization by the user.") + (license license:bsd-2))) + (define-public r-mlr3measures (package (name "r-mlr3measures") @@ -35126,17 +35672,16 @@ implemented as @code{R6} classes.") (define-public r-mlr3 (package (name "r-mlr3") - (version "0.16.0") + (version "0.16.1") (source (origin (method url-fetch) (uri (cran-uri "mlr3" version)) (sha256 (base32 - "1nzj73qsbb02fcim9826zkxzzpar32pq2r0yfkis1nxaxky4cclr")))) + "09klavihc2j6wsd9m2ycppl2ir85z5cxlxl9h6ay9skacylk559n")))) (build-system r-build-system) (propagated-inputs - (list r-r6 - r-backports + (list r-backports r-checkmate r-data-table r-evaluate @@ -35149,6 +35694,7 @@ implemented as @code{R6} classes.") r-palmerpenguins r-paradox r-parallelly + r-r6 r-uuid)) (home-page "https://mlr3.mlr-org.com/") (synopsis "Machine Learning in R - Next Generation") @@ -35220,13 +35766,13 @@ annealing.") (define-public r-mlr3tuning (package (name "r-mlr3tuning") - (version "0.18.0") + (version "0.19.0") (source (origin (method url-fetch) (uri (cran-uri "mlr3tuning" version)) (sha256 (base32 - "1wvrdg977a2nibgyvccz2mw8043nsvm716mmwkspx4sgacf0sgx7")))) + "1iz7izmkx11jma95305wq8aapi4dmqg20flgxxvdvrfy6hf98k33")))) (build-system r-build-system) (propagated-inputs (list r-bbotk @@ -35237,6 +35783,8 @@ annealing.") r-mlr3misc r-paradox r-r6)) + (native-inputs + (list r-knitr)) (home-page "https://mlr3tuning.mlr-org.com/") (synopsis "Tuning for @code{mlr3}") (description "@code{mlr3tuning} implements methods for hyperparameter @@ -35540,14 +36088,14 @@ AGG to use as alternative to the raster devices provided through the (define-public r-downlit (package (name "r-downlit") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) (uri (cran-uri "downlit" version)) (sha256 (base32 - "0g3yncj3gmaqsc6cw7g9slgvd0kfk2414yz5m1dilk8h15lzdprk")))) + "1gdk6rj3539vnm979spd8py0rpvlaniyiy336abi39g8xjcbw3vc")))) (properties `((upstream-name . "downlit"))) (build-system r-build-system) (propagated-inputs @@ -36163,14 +36711,14 @@ latter.") (define-public r-readtext (package (name "r-readtext") - (version "0.82") + (version "0.90") (source (origin (method url-fetch) (uri (cran-uri "readtext" version)) (sha256 (base32 - "13j0avf5443m46lczdznpw1zlc01psk61m5wrxks9inv0684xg1s")))) + "01hscqmjb3fz4iqqgi0l2s1z48a53a25jnsxb0cdd631c97alqrh")))) (properties `((upstream-name . "readtext"))) (build-system r-build-system) (propagated-inputs @@ -36369,14 +36917,14 @@ Application Program Interfaces (API)}.") (define-public r-intervals (package (name "r-intervals") - (version "0.15.3") + (version "0.15.4") (source (origin (method url-fetch) (uri (cran-uri "intervals" version)) (sha256 (base32 - "1i6z86dnsb5md4hxaz049azpjpp8m8c9b0q7x1sfi6sbqzvzw0c5")))) + "13wzwg5yc1wr8ww8bhv9x5ha78yajsfmb9phq4nbgrxkmbiy3h2h")))) (properties `((upstream-name . "intervals"))) (build-system r-build-system) (home-page "https://github.com/edzer/intervals") @@ -36445,14 +36993,14 @@ BTM-WWW13.pdf}.") (define-public r-delaporte (package (name "r-delaporte") - (version "8.1.0") + (version "8.1.1") (source (origin (method url-fetch) (uri (cran-uri "Delaporte" version)) (sha256 (base32 - "08si87f6zjsmmzgvhnfjw8l7lcwlfj2qd4zf6ypm197vdhqw0d0r")))) + "0vcz23nm1wb49yp57xhdfjixla0ikyalc55m03hsis91cdnwh28g")))) (properties `((upstream-name . "Delaporte"))) (build-system r-build-system) (native-inputs (list gfortran)) @@ -36917,18 +37465,21 @@ reading and writing arbitrary protocol-buffer data in R.") (define-public r-opencpu (package (name "r-opencpu") - (version "2.2.9") + (version "2.2.10") (source (origin (method url-fetch) (uri (cran-uri "opencpu" version)) (sha256 - (base32 "18vlr1isi92zc9a16ld3fczdw2mcd142k5cbpls3nfxgdjbx3qqk")) + (base32 "0wpr3cgkznrm2ivapi1vdlcm2729v1jkyah5q82nfmnzisdlrc4a")) (snippet '(for-each delete-file '("inst/test/jquery-1.10.2.min.js" "inst/test/bootstrap/js/bootstrap.min.js"))))) - (properties `((upstream-name . "opencpu"))) + (properties + `((upstream-name . "opencpu") + (updater-ignored-inputs . ("apparmor")) + (updater-extra-native-inputs . ("js-jquery")))) (build-system r-build-system) (arguments (list @@ -37518,14 +38069,14 @@ fully reproducible.") (define-public r-paws-common (package (name "r-paws-common") - (version "0.5.6") + (version "0.5.8") (source (origin (method url-fetch) (uri (cran-uri "paws.common" version)) (sha256 (base32 - "0kymia03q6fy9hjlvdfwddizkk5liamhq800m05qmi10qa3sg059")))) + "1vx74lxgzsl1yl4ak5zympkgwza023qbjwskp19nm2dvxhz75cfh")))) (properties `((upstream-name . "paws.common"))) (build-system r-build-system) (propagated-inputs @@ -37549,14 +38100,14 @@ Service (S3).") (define-public r-paws-customer-engagement (package (name "r-paws-customer-engagement") - (version "0.2.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (cran-uri "paws.customer.engagement" version)) (sha256 (base32 - "12viq760wd5b7dl800075hvm8jy19q112m6rlgyz85znwbiam2qj")))) + "18gkr3272jj1pkksm6fy6qz5s5jn0yvb12pz29k204xrzmqwdwgm")))) (properties `((upstream-name . "paws.customer.engagement"))) (build-system r-build-system) @@ -37573,14 +38124,14 @@ service, and more.") (define-public r-paws-cost-management (package (name "r-paws-cost-management") - (version "0.2.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "paws.cost.management" version)) (sha256 (base32 - "0rpl6dfv6xa7ysqhhskcj7kix4s087yrxav9n33730hk1gjf1g62")))) + "0v0s8wwx2j3a6s0pl9vnvbpgdyhn3jlxri0b2fl3gc3zx6qh07dl")))) (properties `((upstream-name . "paws.cost.management"))) (build-system r-build-system) @@ -37597,13 +38148,13 @@ more.") (define-public r-paws-developer-tools (package (name "r-paws-developer-tools") - (version "0.2.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "paws.developer.tools" version)) (sha256 - (base32 "0d1j9wilwx2harvslg9vs6k8w7631pqgr1c8346wzjk5387fpsac")))) + (base32 "1b661gpg7rsdkgpriwczj4cvqg9rh1ajz9ma457bw4p3lv7n53x2")))) (properties `((upstream-name . "paws.developer.tools"))) (build-system r-build-system) (propagated-inputs @@ -37619,13 +38170,13 @@ deployment, and more.") (define-public r-paws-end-user-computing (package (name "r-paws-end-user-computing") - (version "0.2.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (cran-uri "paws.end.user.computing" version)) (sha256 - (base32 "0709jwrihggqsp3p99sqldsfk7bww3pgl9x0akrnm60daqxhhyqv")))) + (base32 "0as9ix46rsa7sg8k96v6l3ibxqc95pf7swrij31ljmwfy82z2rq3")))) (properties `((upstream-name . "paws.end.user.computing"))) (build-system r-build-system) (propagated-inputs @@ -37641,14 +38192,14 @@ and more.") (define-public r-paws-application-integration (package (name "r-paws-application-integration") - (version "0.2.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "paws.application.integration" version)) (sha256 (base32 - "0m79k4q3yalzym4alv4h1mggr9sf8sc1vk1islx5j63s2p6m4j3g")))) + "19lz1vcvb1bn405saxx4zjsmm1q4zaw77z08iw4xbyny5xhkgyvi")))) (properties `((upstream-name . "paws.application.integration"))) (build-system r-build-system) @@ -37665,14 +38216,14 @@ Simple Notification Service (SNS) publish/subscribe messaging, and more.") (define-public r-paws-security-identity (package (name "r-paws-security-identity") - (version "0.2.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "paws.security.identity" version)) (sha256 (base32 - "0rnws1d8wy3nhg2fyidpa21sfbz3r7jalrklnx6l8s92jyycmhbd")))) + "02k15skswd58icafydrbjrp7br5x8l93lwi5z1pwqak6xasi0vqh")))) (properties `((upstream-name . "paws.security.identity"))) (build-system r-build-system) @@ -37690,14 +38241,14 @@ more.") (define-public r-paws-analytics (package (name "r-paws-analytics") - (version "0.2.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (cran-uri "paws.analytics" version)) (sha256 (base32 - "1ixgrcfixx7h17wryml63n28ldgxi2srqw3bqglws54h5acgqza9")))) + "0qjk1gn4p41l4ryqf9xppiphfakypl0xdjk23c9c8xdhqkbw0lcw")))) (properties `((upstream-name . "paws.analytics"))) (build-system r-build-system) @@ -37714,14 +38265,14 @@ Elasticsearch search engine, and more.") (define-public r-paws-machine-learning (package (name "r-paws-machine-learning") - (version "0.2.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (cran-uri "paws.machine.learning" version)) (sha256 (base32 - "0nmxb53x0vsd2g69qnxxs4hapcbg53r9b26cdkhpmj6ijj7v1hh3")))) + "092n5p5hjwaqkdnw4r7n71znabfazc2pg19raja69jgk6zh6csvy")))) (properties `((upstream-name . "paws.machine.learning"))) (build-system r-build-system) @@ -37738,14 +38289,14 @@ natural language processing, speech recognition, translation, and more.") (define-public r-paws-management (package (name "r-paws-management") - (version "0.2.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "paws.management" version)) (sha256 (base32 - "1hdjgbrfrhrh9ss3lhnsjd2qpz22mrb95qvdcfngz2i8aa73hmpg")))) + "0hdmc07i75hbk2fh580p7q7p3pk8ykr5m1jibnfk8azc4flikwv6")))) (properties `((upstream-name . "paws.management"))) (build-system r-build-system) @@ -37762,14 +38313,14 @@ monitoring, Auto Scaling for automatically scaling resources, and more.") (define-public r-paws-networking (package (name "r-paws-networking") - (version "0.2.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (cran-uri "paws.networking" version)) (sha256 (base32 - "1fyr236pk6pyc6qck8i8mn855wxlbcmb40mnwmhaqjfxy503jjh7")))) + "0pf1vvwmgsz65bq5diabybnsgyxfbjq1f64srf3qk49ycfh2sc7h")))) (properties `((upstream-name . "paws.networking"))) (build-system r-build-system) @@ -37786,14 +38337,14 @@ CloudFront content delivery, load balancing, and more.") (define-public r-paws-database (package (name "r-paws-database") - (version "0.2.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (cran-uri "paws.database" version)) (sha256 (base32 - "0fg1z87rk24iaci44xp005sbsx48qxgw4hccds17znys7da868bx")))) + "08ak299kyr6dr8idcna7i433aab1bis2b9zqmwm1yma3m3xk4n8i")))) (properties `((upstream-name . "paws.database"))) (build-system r-build-system) (propagated-inputs @@ -37810,14 +38361,14 @@ database, and more.") (define-public r-paws-storage (package (name "r-paws-storage") - (version "0.2.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (cran-uri "paws.storage" version)) (sha256 (base32 - "1yqd1a1c0m978x1ngk39x7sb0glmcy855nw7m1wbgn2mxma0q3li")))) + "0z693wawgm975lw54xkbg9hwsf1lz69a4dsg85ywjpjcfvl1g1b7")))) (properties `((upstream-name . "paws.storage"))) (build-system r-build-system) (propagated-inputs @@ -37832,14 +38383,14 @@ services, including Simple Storage Service (S3).") (define-public r-paws-compute (package (name "r-paws-compute") - (version "0.2.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "paws.compute" version)) (sha256 (base32 - "10bfcwsriyl73mp3wi9kvn6msy1g4ci71jmpv61bcqngp9qmv4wg")))) + "17xzc1ngir4v043xclw6c1qs092aicj83qmn8sydn9apmlzcps1r")))) (properties `((upstream-name . "paws.compute"))) (build-system r-build-system) (propagated-inputs @@ -37855,14 +38406,14 @@ functions-as-a-service, containers, batch processing, and more.") (define-public r-paws (package (name "r-paws") - (version "0.2.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (cran-uri "paws" version)) (sha256 (base32 - "0pwm4pnrjcbsp396fc7r2b8p3cfnrdnk0zcdbw6b92bgv9hpbp14")))) + "1s4nya5xghjj1a2w8bqcmnpnpdw7li22asssm2ihv68zvlxavzdk")))) (properties `((upstream-name . "paws"))) (build-system r-build-system) (propagated-inputs diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 3877f6c977..f9574e2797 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -2559,17 +2559,17 @@ Alacritty terminal emulator.") "This package provides a failure resistant deserialization derive.") (license (list license:expat license:asl2.0)))) -(define-public rust-alacritty-terminal-0.18 +(define-public rust-alacritty-terminal-0.19 (package (name "rust-alacritty-terminal") - (version "0.18.0") + (version "0.19.1") (source (origin (method url-fetch) (uri (crate-uri "alacritty-terminal" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1dk6zp5646ss0l9ka48jf6ajdzaq0zxl2pndblfl7a0f9lmwkwfx")))) + "19gypy8xhkm3icmc4js2jhh0nnw0ciag3qkxb55bw2mg3j61l01m")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index fe1f04d2dd..aa4aab372b 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -1099,48 +1099,50 @@ trivial to build for local use. Portability is emphasized over performance.") (license license:unlicense))) (define-public libsecp256k1 - (let ((commit "dbd41db16a0e91b2566820898a3ab2d7dad4fe00")) - (package - (name "libsecp256k1") - (version (git-version "20200615" "1" commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/bitcoin-core/secp256k1") - (commit commit))) - (sha256 - (base32 - "1fcpnksq5cqwqzshn5f0lq94b73p3frwbp04hgmmbnrndpqg6mpy")) - (file-name (git-file-name name version)))) - (build-system gnu-build-system) - (arguments - '(#:configure-flags '("--enable-module-recovery" - "--enable-experimental" - "--enable-module-ecdh" - "--enable-shared"))) - (native-inputs - (list autoconf automake libtool)) - ;; WARNING: This package might need additional configure flags to run properly. - ;; See https://github.com/archlinux/svntogit-community/blob/packages/libsecp256k1/trunk/PKGBUILD. - (synopsis "C library for EC operations on curve secp256k1") - (description - "Optimized C library for EC operations on curve secp256k1. - -This library is a work in progress and is being used to research best -practices. Use at your own risk. + (package + (name "libsecp256k1") + (version "0.3.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bitcoin-core/secp256k1") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "12wksk7bi3yfzmk1zwh5b6846zcaycqz1w4w4p23apjc8da4jwpn")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--enable-module-recovery" + "--enable-experimental" + "--enable-module-ecdh" + "--enable-module-schnorrsig" + "--enable-shared" + "--disable-static" + "--disable-benchmark"))) + (native-inputs + (list autoconf automake libtool)) + (synopsis "C library for EC operations on curve secp256k1") + (description + "Optimized C library for EC operations on curve secp256k1. Features: @itemize @item secp256k1 ECDSA signing/verification and key generation. -@item Adding/multiplying private/public keys. +@item Additive and multiplicative tweaking of secret/public keys. @item Serialization/parsing of private keys, public keys, signatures. -@item Constant time, constant memory access signing and pubkey generation. -@item Derandomized DSA (via RFC6979 or with a caller provided function.) +@item Constant time, constant memory access signing and public key generation. +@item Derandomized ECDSA (via RFC6979 or with a caller provided function.) @item Very efficient implementation. +@item Suitable for embedded systems. +@item No runtime dependencies. +@item Optional module for public key recovery. +@item Optional module for ECDH key exchange. +@item Optional module for Schnorr signatures according to BIP-340. @end itemize\n") - (home-page "https://github.com/bitcoin-core/secp256k1") - (license license:unlicense)))) + (home-page "https://github.com/bitcoin-core/secp256k1") + (license license:expat))) (define-public libsecp256k1-bitcoin-cash (package diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 133d7debf4..eede1e1a05 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -63,8 +63,8 @@ #:use-module (ice-9 match)) (define-public brlaser - (let ((commit "9d7ddda8383bfc4d205b5e1b49de2b8bcd9137f1") - (revision "1")) + (let ((commit "2a49e3287c70c254e7e3ac9dabe9d6a07218c3fa") + (revision "2")) (package (name "brlaser") (version (git-version "6" revision commit)) @@ -76,16 +76,13 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1drh0nk7amn9a8wykki4l9maqa4vy7vwminypfy1712alwj31nd4")))) + "033g461qzwrzi6x24pfasyx9g7fkn5iy5f8c3h8bczg2bvscxyym")))) (build-system cmake-build-system) (arguments - `(#:configure-flags - (list (string-append "-DCUPS_DATA_DIR=" - (assoc-ref %outputs "out") - "/share/cups") - (string-append "-DCUPS_SERVER_BIN=" - (assoc-ref %outputs "out") - "/lib/cups")))) + (list + #:configure-flags + #~(list (string-append "-DCUPS_DATA_DIR=" #$output "/share/cups") + (string-append "-DCUPS_SERVER_BIN=" #$output "/lib/cups")))) (inputs (list ghostscript cups zlib)) (home-page "https://github.com/pdewacht/brlaser") @@ -249,6 +246,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.") (package (name "cups-minimal") (version "2.4.2") + (replacement cups-minimal/fixed) (source (origin (method git-fetch) @@ -335,13 +333,28 @@ applications''. These must be installed separately.") ;; CUPS is Apache 2.0 with exceptions, see the NOTICE file. (license license:asl2.0))) +(define cups-minimal/fixed + (package + (inherit cups-minimal) + (version "2.4.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenPrinting/cups") + (commit (string-append "v" version)))) + (file-name (git-file-name "cups" version)) + (sha256 + (base32 "0z70rhfd96qmdx82gdhh2nqjiia0lnvfdwpngjkag2sidw4cm3c1")))))) + (define-public cups (package/inherit cups-minimal (name "cups") (arguments - (substitute-keyword-arguments (package-arguments cups-minimal) - ((#:tests? _ #t) - #t) + (substitute-keyword-arguments + (strip-keyword-arguments + '(#:tests?) + (package-arguments cups-minimal)) ((#:configure-flags flags #~'()) #~(append #$flags (list "--with-languages=all"))) ; no ‘=all’ means none(!) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 74483d27f7..cc0f0d28e9 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1556,20 +1556,32 @@ organized in a hash table or B+ tree.") (build-system gnu-build-system) (arguments (list #:configure-flags - '(list "--disable-static" - (string-append "--with-bash-headers=" - (dirname (search-input-directory - %build-inputs - "include/bash")))))) + #~(list "--disable-static" + (string-append "--with-bash-headers=" + (search-input-directory %build-inputs + "include/bash"))) + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'symlink-bash-loadables + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion (string-append + (assoc-ref outputs "out") + "/lib") + (mkdir "bash") + (for-each + (compose symlink + (lambda (loadable) + (values + (string-append (getcwd) "/" loadable ".so") + (string-append "bash/" loadable)))) + '("readrec" "testrec")))))))) (native-inputs - ;; XXX Without labels, the default 'configure phase picks the wrong "bash". - `(("bc" ,bc) - ("bash:include" ,bash "include") - ("check" ,check) - ("pkg-config" ,pkg-config))) + (list bc check-0.14 pkg-config)) (inputs ;; TODO: Add more optional inputs. - (list curl + (list bash ; /bin/bash for native compilation + `(,bash "include") + curl libgcrypt `(,util-linux "lib"))) (synopsis "Manipulate plain text files as databases") @@ -4289,7 +4301,7 @@ the SQL language using a syntax that reflects the resulting query.") (define-public apache-arrow (package (name "apache-arrow") - (version "12.0.0") + (version "12.0.1") (source (origin (method git-fetch) @@ -4299,7 +4311,7 @@ the SQL language using a syntax that reflects the resulting query.") (file-name (git-file-name name version)) (sha256 (base32 - "057n3l9bpnfn8fqlqblkdz4w4rkmkr7zrh3adlgfw4nipwmm38zj")))) + "03flvb4xj6a7mfphx68ndrqr6g5jphmzb75m16fx7rnbzira2zpz")))) (build-system cmake-build-system) (arguments (list @@ -5075,7 +5087,7 @@ compatible with SQLite using a graphical user interface.") go-github-com-pkg-errors go-github-com-sourcegraph-jsonrpc2 go-golang-org-x-crypto - go-github.com-mattn-go-runewidth + go-github-com-mattn-go-runewidth go-golang-org-x-xerrors go-gopkg-in-yaml-v2)) (synopsis "SQL language server written in Go") diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index 87aa4dbe17..c5cfda9f80 100644 --- a/gnu/packages/debian.scm +++ b/gnu/packages/debian.scm @@ -337,7 +337,7 @@ distributions such as Debian and Trisquel.") (define-public dpkg (package (name "dpkg") - (version "1.21.21") + (version "1.21.22") (source (origin (method git-fetch) @@ -346,57 +346,60 @@ distributions such as Debian and Trisquel.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0vgc5irrjyyb5y5hza2hbq3dgfylrxvfdzysw8zzlhgf4bhm69zq")))) + (base32 "0b5czgif5g6pdjzcw60hzzj0i1llxvajf3nlx115axmpa3y4iynd")))) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'bootstrap 'patch-version - (lambda _ - (patch-shebang "build-aux/get-version") - (with-output-to-file ".dist-version" - (lambda () (display ,version))))) - (add-after 'unpack 'set-perl-libdir - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (perl (assoc-ref inputs "perl"))) - (setenv "PERL_LIBDIR" - (string-append out - "/lib/perl5/site_perl/" - ,(package-version perl)))))) - (add-after 'install 'wrap-scripts - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion (string-append out "/bin") - (for-each - (lambda (file) - (wrap-script file - ;; Make sure all perl scripts in "bin" find the - ;; required Perl modules at runtime. - `("PERL5LIB" ":" prefix - (,(string-append out - "/lib/perl5/site_perl") - ,(getenv "PERL5LIB"))) - ;; DPKG perl modules always expect dpkg to be installed. - ;; Work around this by adding dpkg to the path of the scripts. - `("PATH" ":" prefix (,(string-append out "/bin"))))) - (list "dpkg-architecture" - "dpkg-buildflags" - "dpkg-buildpackage" - "dpkg-checkbuilddeps" - "dpkg-distaddfile" - "dpkg-genbuildinfo" - "dpkg-genchanges" - "dpkg-gencontrol" - "dpkg-gensymbols" - "dpkg-mergechangelogs" - "dpkg-name" - "dpkg-parsechangelog" - "dpkg-scanpackages" - "dpkg-scansources" - "dpkg-shlibdeps" - "dpkg-source" - "dpkg-vendor"))))))))) + (list #:modules + `((srfi srfi-71) + ,@%gnu-build-system-modules) + #:phases + #~(modify-phases %standard-phases + (add-before 'bootstrap 'patch-version + (lambda _ + (patch-shebang "build-aux/get-version") + (with-output-to-file ".dist-version" + (lambda () (display #$version))))) + (add-after 'unpack 'set-perl-libdir + (lambda _ + (let* ((perl #$(this-package-input "perl")) + (_ perl-version (package-name->name+version perl))) + (setenv "PERL_LIBDIR" + (string-append #$output + "/lib/perl5/site_perl/" + perl-version))))) + (add-after 'install 'wrap-scripts + (lambda _ + (with-directory-excursion (string-append #$output "/bin") + (for-each + (lambda (file) + (wrap-script file + ;; Make sure all perl scripts in "bin" find the + ;; required Perl modules at runtime. + `("PERL5LIB" ":" prefix + (,(string-append #$output + "/lib/perl5/site_perl") + ,(getenv "PERL5LIB"))) + ;; DPKG perl modules expect dpkg to be installed. + ;; Work around it by adding dpkg to the script's path. + `("PATH" ":" prefix (,(string-append #$output + "/bin"))))) + (list "dpkg-architecture" + "dpkg-buildflags" + "dpkg-buildpackage" + "dpkg-checkbuilddeps" + "dpkg-distaddfile" + "dpkg-genbuildinfo" + "dpkg-genchanges" + "dpkg-gencontrol" + "dpkg-gensymbols" + "dpkg-mergechangelogs" + "dpkg-name" + "dpkg-parsechangelog" + "dpkg-scanpackages" + "dpkg-scansources" + "dpkg-shlibdeps" + "dpkg-source" + "dpkg-vendor")))))))) (native-inputs (list autoconf automake diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index aaf5f8bf4c..0c97f61ccb 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -678,7 +678,7 @@ error reporting, better tracing, profiling, and a debugger.") (inputs (list gdb capnproto python python-pexpect zlib)) (home-page "https://rr-project.org/") - (synopsis "Record and reply debugging framework") + (synopsis "Record and replay debugging framework") (description "rr is a lightweight tool for recording, replaying and debugging execution of applications (trees of processes and threads). Debugging extends @@ -716,7 +716,7 @@ program to produce symbolic backtraces.") (define-public libleak (package (name "libleak") - (version "0.3.5") + (version "0.3.6") (source (origin (method git-fetch) (uri (git-reference @@ -725,7 +725,7 @@ program to produce symbolic backtraces.") (file-name (git-file-name name version)) (sha256 (base32 - "1p8mb0hcfp8hdv1klv6rrpkn2zlhjxgkxbbjsk8kszxv7ijln87d")))) + "1p6x20mm0dym2qn10d6cvwmh71m93xwcd319g94zkv88hj5q17n6")))) (build-system gnu-build-system) (arguments `(#:tests? #f ;no test suite diff --git a/gnu/packages/dezyne.scm b/gnu/packages/dezyne.scm index c13374069f..ef2130a940 100644 --- a/gnu/packages/dezyne.scm +++ b/gnu/packages/dezyne.scm @@ -32,15 +32,14 @@ (define-public dezyne (package (name "dezyne") - (version "2.17.2") + (version "2.17.3") (source (origin (method url-fetch) (uri (string-append "https://dezyne.org/download/dezyne/" name "-" version ".tar.gz")) - (patches (search-patches "dezyne-add-missing-shebangs.patch")) (sha256 - (base32 "1v0anwr0iic26ck796b29dfyj1dxkjf935g134z98s95hvzzrhm3")))) + (base32 "0x2aqfvbxhiwxj6vm17g7dkxwj8skcs9pg3a3l1x9pxy7v22wxd7")))) (inputs (list bash-minimal guile-3.0-latest guile-json-4 diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 894a542171..6cdcf7b9d2 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -25,6 +25,7 @@ ;;; Copyright © 2014, 2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Disseminate Dissent <disseminatedissent@protonmail.com> +;;; Copyright © 2023 Timotej Lazar <timotej.lazar@araneo.si> ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,6 +44,7 @@ (define-module (gnu packages disk) #:use-module (gnu packages) + #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) @@ -76,6 +78,9 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) + #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages readline) @@ -572,6 +577,42 @@ the default timer setting is not well suited to Linux or other *nix systems, and can dramatically shorten the lifespan of the drive if left unchecked.") (license license:gpl3+))) +(define-public greaseweazle-host-tools + (package + (name "greaseweazle-host-tools") + (version "1.12") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/keirf/greaseweazle") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lpvjlf2xg4ccwik8npiihi0lgw9dx5h12pp4ry343gkz4pwgk9x")))) + (build-system python-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'setuptools-version + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" "1.8"))) + (add-after 'install 'install-udev-rules + (lambda _ + (install-file "scripts/49-greaseweazle.rules" + (string-append #$output "/lib/udev/rules.d/"))))))) + (native-inputs (list python-setuptools-scm)) + (propagated-inputs + (list python-bitarray python-crcmod python-pyserial python-requests)) + (synopsis "Tools for accessing a floppy drive at the raw flux level") + (description + "This package provides the host tools for controlling a Greaseweazle: an +Open Source USB device capable of reading and writing raw data on nearly any +type of floppy disk") + (home-page "https://github.com/keirf/greaseweazle") + (license license:public-domain))) + (define-public gparted (package (name "gparted") @@ -1159,7 +1200,7 @@ on your file system and offers to remove it. @command{rmlint} can find: "1piym8za0iw2s8yryh39y072f90mzisv89ffvn1jzb71f71mbfqa")))) (build-system go-build-system) (native-inputs - (list go-github.com-mattn-go-runewidth go-golang-org-x-term + (list go-github-com-mattn-go-runewidth go-golang-org-x-term go-gopkg-in-djherbis-times-v1 go-github-com-gdamore-tcell-v2-2.3)) (arguments `(#:import-path "github.com/gokcehan/lf")) @@ -1502,6 +1543,46 @@ gone and to help you to clean it up.") (home-page "https://github.com/shundhammer/qdirstat") (license license:gpl2))) +(define-public nwipe + (package + (name "nwipe") + (version "0.34") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/martijnvanbrummelen/nwipe") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1frwjgz4mpzwr9sigr693crmxsjl08wcikh6ik7dm0x40l1kqqpd")))) + (build-system gnu-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program (search-input-file outputs "bin/nwipe") + (list "PATH" ":" 'prefix + (map (lambda (p) (dirname (search-input-file inputs p))) + '("sbin/dmidecode" + "sbin/hdparm" + "sbin/smartctl"))))))))) + (inputs + (list bash-minimal dmidecode hdparm ncurses parted smartmontools)) + (native-inputs + (list autoconf automake libtool pkg-config)) + (home-page "https://github.com/martijnvanbrummelen/nwipe") + (synopsis "Secure disk wiping utility") + (description + "@command{nwipe} securely erases disks using a variety of methods to +ensure the data cannot be recovered. It can wipe multiple drives in parallel +and can be used noninteractively or with a text-based user interface.") + (license + (list license:gpl2 + license:bsd-3 ; mt19937ar-cok + license:public-domain)))) ; {isaac_rand,PDFGen} + (define-public wipe (package (name "wipe") diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index 9ddcef7021..f6c9283a29 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021, 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> -;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -280,7 +280,8 @@ experience for your users, your family and yourself") "1wr60c946p8jz9kb8zi4cd8d4mkcy7infbvlfzwajiglc22nblxn")) (patches (search-patches "lightdm-arguments-ordering.patch" "lightdm-vncserver-check.patch" - "lightdm-vnc-color-depth.patch")))) + "lightdm-vnc-color-depth.patch" + "lightdm-vnc-ipv6.patch")))) (build-system gnu-build-system) (arguments '(#:parallel-tests? #f ; fails when run in parallel diff --git a/gnu/packages/distributed.scm b/gnu/packages/distributed.scm index 2c957df114..7b37359f29 100644 --- a/gnu/packages/distributed.scm +++ b/gnu/packages/distributed.scm @@ -20,6 +20,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages distributed) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix download) @@ -45,7 +46,7 @@ (define-public boinc-client (package (name "boinc-client") - (version "7.22.0") + (version "7.22.2") (source (origin (method git-fetch) (uri (git-reference @@ -56,9 +57,12 @@ (file-name (git-file-name "boinc" version)) (sha256 (base32 - "0af7j6zg3saa5x7lfsg41p7j9r1d1dsdsz5b241p1f2yrhba0m81")))) + "06qlfrn9bxcdgs9b4j7l4mwikrkvfizccprip18rlzl3i34jys7l")))) (build-system gnu-build-system) - (arguments '(#:configure-flags '("--disable-server"))) + (arguments + (list + #:configure-flags + #~(list "--disable-server"))) (inputs (list openssl curl wxwidgets @@ -84,11 +88,11 @@ resources). It supports virtualized, parallel, and GPU-based applications.") ;; TODO: consolidate them? (package (inherit boinc-client) (name "boinc-server") - (arguments '(#:configure-flags '("--disable-client" "--disable-manager") - #:parallel-build? #f)) - (inputs `(("openssl" ,openssl) - ("curl" ,curl) - ("mariadb:dev" ,mariadb "dev") - ("zlib" ,zlib))) - (propagated-inputs `(("python" ,python-wrapper) - ("perl" ,perl))))) + (arguments + (list + #:configure-flags + #~(list "--disable-client" + "--disable-manager") + #:parallel-build? #f)) + (inputs (list curl `(,mariadb "dev") openssl zlib)) + (propagated-inputs (list perl python-wrapper)))) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 084df53f14..a34e4ced89 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -510,41 +510,6 @@ the two.") license:gpl2 license:gpl3)))) -(define-public libasr - (package - (name "libasr") - (version "1.0.4") - (source - (origin - (method url-fetch) - (uri (string-append "https://www.opensmtpd.org/archives/" - "libasr-" version ".tar.gz")) - (sha256 - (base32 "1d6s8njqhvayx2gp47409sp1fn8m608ws26hr1srfp6i23nnpyqr")))) - (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'install-documentation - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (install-file "src/asr_run.3" - (string-append out "/share/man/man3")) - #t)))))) - (native-inputs - (list autoconf automake libtool pkg-config)) - (home-page "https://www.opensmtpd.org") - (synopsis "Asynchronous resolver library by the OpenBSD project") - (description - "libasr is a free, simple and portable asynchronous resolver library. -It runs DNS queries and performs hostname resolution in a fully -asynchronous fashion.") - (license (list license:isc - license:bsd-2 ; last part of getrrsetbyname_async.c - license:bsd-3 - (license:non-copyleft "file://LICENSE") ; includes.h - license:openssl)))) - (define-public nsd (package (name "nsd") @@ -875,7 +840,7 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "3.2.5") + (version "3.2.7") (source (origin (method git-fetch) @@ -884,7 +849,7 @@ Extensions} (DNSSEC).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0xhr6i5qq0yhxqj50hsm51lb1v5lj4vfkzdcsvh7lw8wg6j1d03b")) + (base32 "1zrx5ih8wy0l9dka7ql9v32z6z8bxcdsfs1zmjn052xrzb01qjkw")) (modules '((guix build utils))) (snippet '(begin @@ -1242,10 +1207,10 @@ local networks.") ;; so its contents will change over time. If you update this commit, please ;; make sure that the new commit refers to a list which is identical to the ;; officially published list available from the URL above. - (let ((commit "9375b697baddb0827a5995c81bd3c75877a0b35d")) + (let ((commit "d2d3e2e36a8f2b68c4f09e8c87f4f1d685cbf5e7")) (package (name "public-suffix-list") - (version (git-version "0" "1" commit)) + (version (git-version "0" "2" commit)) (source (origin (method git-fetch) (uri (git-reference @@ -1254,26 +1219,17 @@ local networks.") (file-name (git-file-name name version)) (sha256 (base32 - "1sm7pni01rnl4ldzi8z8nc4cbgq8nxda9gwc68v0s3ij7jd1jmik")))) - (build-system trivial-build-system) + "1f6rydx4hdd6lja376f4sdp7iv64vqlmhmnlkg0rb17279dc9483")))) + (build-system copy-build-system) (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - ;; Install to /share because that is where "read-only - ;; architecture-independent data files" should go (see: - ;; (standards) Directory Variables). Include the version in - ;; the directory name so that if multiple versions are ever - ;; installed in the same profile, they will not conflict. - (destination (string-append - out "/share/public-suffix-list-" ,version)) - (source (assoc-ref %build-inputs "source"))) - (with-directory-excursion source - (install-file "public_suffix_list.dat" destination) - (install-file "LICENSE" destination)) - #t)))) + (list #:install-plan + ;; Install to /share because that is where "read-only + ;; architecture-independent data files" should go (see: (standards) + ;; Directory Variables). Include the version in the directory name + ;; so that if multiple versions are ever installed in the same + ;; profile, they will not conflict. + #~'(("public_suffix_list.dat" + #$(string-append "/share/public-suffix-list-" version "/"))))) (home-page "https://publicsuffix.org/") (synopsis "Database of current and historical DNS suffixes") (description "This is the Public Suffix List maintained by Mozilla. A diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index 3445453093..0b2a18d661 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2019, 2020, 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> ;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com> @@ -664,7 +664,7 @@ provisioning etc.") (define-public cqfd (package (name "cqfd") - (version "5.3.0") + (version "5.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -673,25 +673,18 @@ provisioning etc.") (file-name (git-file-name name version)) (sha256 (base32 - "0gy4kjy6v52acfk6ffbg5sp02k6176khhkms7zlwmywq8591bpww")))) + "1kilrh4ahza19lka9218s2wkfcbk5r2cq9adczhlnlfggdrqnglg")))) (build-system gnu-build-system) (arguments ;; The test suite requires a docker daemon and connectivity. - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; Fix the directory of the bash completion. - (substitute* "Makefile" - (("completionsdir=.*$") - (string-append "completionsdir=" out - "/etc/bash_completion.d; \\\n"))) - (invoke "make" "install" - (string-append "PREFIX=" out)))))))) + (list + #:tests? #f + #:make-flags #~(list (string-append "COMPLETIONSDIR=" + #$output "/etc/bash_completion.d") + (string-append "PREFIX=" #$output)) + #:phases #~(modify-phases %standard-phases + (delete 'configure) + (delete 'build)))) (home-page "https://github.com/savoirfairelinux/cqfd") (synopsis "Convenience wrapper for Docker") (description "cqfd is a Bash script that provides a quick and convenient diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index be64bc4f95..ec70ca4d8f 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -370,7 +370,7 @@ the Net to search for documents which are not on the local system.") (license lgpl2.1+))) (define-public zeal - (let ((commit "d3c5521c501d24050f578348ff1b9d68244b992c") + (let ((commit "1cfa7c637f745be9d98777f06b4f8dec90892bf2") (revision "1")) (package (name "zeal") @@ -383,7 +383,7 @@ the Net to search for documents which are not on the local system.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1ky2qi2cmjckc51lm3i28815ixgqdm36j7smixxr16jxpmbqs6sl")))) + (base32 "1m7pp3cwc21x03718vhwfd9j2n8md3hv5dp10s234vcsd755s7a3")))) (build-system qt-build-system) (arguments `(#:tests? #f ;no tests diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 4118c84bbf..54380e7ebb 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -1102,16 +1102,16 @@ mentored learning for programming languages.") (define-public mazo (package (name "mazo") - (version "1.0.0") + (version "1.1.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/luis-felipe/mazo.git") + (url "https://codeberg.org/luis-felipe/mazo.git") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "06246380i5rxycniwg5syn0aldd2zy10cbqk1lgyc0qfqb2lyrwj")))) + (base32 "14nk3qsj6lg7wp2ws8lxhb4hyjnczvw1cn9f3m466dkkfimp7ygf")))) (build-system python-build-system) (arguments `(#:use-setuptools? #f @@ -1155,8 +1155,10 @@ mentored learning for programming languages.") python-pillow python-pycairo)) (propagated-inputs - (list gstreamer - gtk+ + (list adwaita-icon-theme + dbus + gstreamer + gtk python python-django python-django-cleanup diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index b77bd0aa83..480096fb50 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2015, 2016, 2018, 2020 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com> -;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2021, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com> ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org> @@ -131,6 +131,7 @@ ;;; Copyright © 2022-2023 Simon Josefsson <simon@josefsson.org> ;;; Copyright © 2023 Fabio Natali <me@fabionatali.com> ;;; Copyright © 2023 Arnaud Lechevallier <arnaud.lechevallier@free.fr> +;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -364,11 +365,12 @@ (origin (method git-fetch) (uri (git-reference - (url "https://github.com/emacsmirror/bookmark-plus") - (commit "3db369056a722c42b3eafd10a91831f87d056dfa"))) + (url "https://github.com/emacsmirror/bookmark-plus") + (commit "3db369056a722c42b3eafd10a91831f87d056dfa"))) + (file-name (git-file-name name version)) (sha256 (base32 - "0fnq24f597zfr8jj5h3vr87kdil5lhy11m81q6ayqc03qm0jymrf")))) + "0fnq24f597zfr8jj5h3vr87kdil5lhy11m81q6ayqc03qm0jymrf")))) (build-system emacs-build-system) (home-page "https://github.com/emacsmirror/bookmark-plus") (synopsis "Extensions to the Bookmark library in Emacs") @@ -1118,6 +1120,31 @@ expression navigating and manipulating. It supports many major modes out of the box.") (license license:gpl3+)))) +(define-public emacs-pug-mode + (package + (name "emacs-pug-mode") + (version "1.0.8") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hlissner/emacs-pug-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1f6bhdr1a72x94dlz2i1fwwln8crc2mbpc2iq23hvsbsfmj7xfzp")))) + (native-inputs (list emacs-ert-runner)) + (build-system emacs-build-system) + (arguments + (list + #:tests? #t + #:test-command #~(list "ert-runner"))) + (home-page "https://github.com/hlissner/emacs-pug-mode") + (synopsis "Pug support for Emacs") + (description "Pug mode offers Emacs support for Pug. Unlike Jade mode, it +is based off of Slim mode.") + (license license:gpl3+))) + (define-public emacs-spaceline-all-the-icons (package (name "emacs-spaceline-all-the-icons") @@ -1201,6 +1228,7 @@ buffer.") (uri (git-reference (url "https://github.com/alphapapa/prism.el") (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 "0n2gf7302hqdnhsax1y3ahksfmmpd8cmiv1zgb7rjg8qhcs0iqp2")))) @@ -1665,12 +1693,10 @@ Alternatively the menu can be bound globally, for example: (license license:gpl3+))) (define-public emacs-nano-modeline - ;; No tagged release upstream. The commit below matches latest version - ;; bump. - (let ((commit "61f62aa4716eae4fa89961955323d146e9791fca")) + (let ((commit "a18780c277838983932623870752f0adddef0345")) ;version bump (package (name "emacs-nano-modeline") - (version "0.7.2") + (version "1.0.1") (source (origin (method git-fetch) (uri (git-reference @@ -1679,7 +1705,7 @@ Alternatively the menu can be bound globally, for example: (file-name (git-file-name name version)) (sha256 (base32 - "1zwf3mp0z4vc36lg057vspk7dr8chcvhivm1l8q7p3m9b6xw8ask")))) + "017vxz96fh26jb2xj7jnz8w580knvybcdr4xjad4xs72l2lrkj37")))) (build-system emacs-build-system) (home-page "https://github.com/rougier/nano-modeline") (synopsis "Emacs minor mode controlling mode line") @@ -2365,6 +2391,45 @@ different tools. It highlights errors and warnings inline in the buffer, and provides an optional IDE-like error list.") (license license:gpl3+))) ;+GFDLv1.3+ for the manual +(define-public emacs-fb2-reader + (let ((commit "9836db284749e0cef4c43c2cb5358c82ae9b8589")) ; version bump + (package + (name "emacs-fb2-reader") + (version "0.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jumper047/fb2-reader") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vx4b9wnmx1bng8wak5r7yryyvgib4m46l6b877xzkdhsjr3rbsi")))) + (build-system emacs-build-system) + (arguments + (list + #:tests? #t + #:test-command + #~(list "emacs" "-Q" "--batch" "-L" "." + "--eval" "(load-file \"tests/test-fb2-reader.el\")") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'qualify-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((unzip (search-input-file inputs "/bin/unzip"))) + (substitute* "fb2-reader.el" + (("unzip") unzip)))))))) + (inputs (list unzip)) + (native-inputs + (list emacs-async emacs-buttercup emacs-dash emacs-s)) + (propagated-inputs + (list emacs-f emacs-visual-fill-column)) + (home-page "https://github.com/jumper047/fb2-reader") + (synopsis "Emacs plugin to read FictionBook2 ebooks") + (description "FB2 Reader provides a major mode for reading +FictionBook2 (@file{.fb2} and @file{.fb2.zip} files) ebooks.") + (license license:gpl3+)))) + (define-public emacs-flymake-collection (package (name "emacs-flymake-collection") @@ -2551,6 +2616,30 @@ can take association lists, hash tables, and in some cases vectors (where the index is considered the key).") (license license:gpl3+))) +(define-public emacs-abyss-theme + (package + (name "emacs-abyss-theme") + (version "0.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mgrbyte/emacs-abyss-theme") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07z0djv7h3yrv4iw9n633j6dxzxb4nnzijsqkmz22ik6fbwxg5mh")))) + (build-system emacs-build-system) + (home-page "https://github.com/mgrbyte/emacs-abyss-theme") + (synopsis "Dark theme with strong colours for Emacs") + (description + "A dark theme with contrasting colours for Emacs based on the +@url{https://github.com/andre-richter/emacs-lush-theme, @code{lush}} theme by +Andre Richter, using the same colours palette as the the built-in +@code{dichromacy} theme; intended to be suitable +for red/green colour blind users.") + (license license:gpl3+))) + (define-public emacs-ace-jump-mode (package (name "emacs-ace-jump-mode") @@ -3307,15 +3396,16 @@ code completion and project management support.") (define-public emacs-auto-compile (package (name "emacs-auto-compile") - (version "1.8.0") + (version "1.8.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/emacscollective/auto-compile") (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1zkqpvnashwn721qwf9khwizfxq9g3dhhy1siyk1s2wq1a9li9wq")))) + "0p2znbid7a32shgh1zidrr53hv79dhw1jcjaad2aglqfqjz7a3qn")))) (build-system emacs-build-system) (propagated-inputs (list emacs-compat emacs-packed)) (home-page "https://github.com/emacscollective/auto-compile") @@ -3906,35 +3996,36 @@ or XEmacs.") (license license:gpl3+))) (define-public emacs-autothemer - (package - (name "emacs-autothemer") - (version "0.2.17") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/sebastiansturm/autothemer") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "13lj0igrsdycsr8ldv2hilj2x79c888g4lx2ixqn7w29lw6cb44g")))) - (build-system emacs-build-system) - (arguments - (list - #:tests? #true - #:test-command #~(list "emacs" "-Q" "--batch" - "-l" "tests/autothemer-tests.el" - "-f" "ert-run-tests-batch-and-exit"))) - (propagated-inputs - (list emacs-dash)) - (home-page "https://github.com/sebastiansturm/autothemer") - (synopsis "Conveniently create Emacs themes") - (description - "Autothemer provides a thin layer on top of @code{deftheme} and + (let ((commit "8f72afc6dba5ad7cc3a201a084fd20571f945d2e")) ;version bump + (package + (name "emacs-autothemer") + (version "0.2.18") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastiansturm/autothemer") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "15f7i39937riswpwjpc1ryg2v0rqj944pwf7rp2ry56rbx4vgl97")))) + (build-system emacs-build-system) + (arguments + (list + #:tests? #true + #:test-command #~(list "emacs" "-Q" "--batch" + "-l" "tests/autothemer-tests.el" + "-f" "ert-run-tests-batch-and-exit"))) + (propagated-inputs + (list emacs-dash)) + (home-page "https://github.com/sebastiansturm/autothemer") + (synopsis "Conveniently create Emacs themes") + (description + "Autothemer provides a thin layer on top of @code{deftheme} and @code{custom-theme-set-faces} that creates a new custom color theme, based on a set of simplified face specifications and a user-supplied color palette.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-howm (package @@ -4147,7 +4238,7 @@ of bibliographic references.") (define-public emacs-corfu (package (name "emacs-corfu") - (version "0.36") + (version "0.37") (source (origin (method git-fetch) @@ -4156,7 +4247,7 @@ of bibliographic references.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "02glwnny9b4pwhq5inrakfz03zrq0zq1vr4npv88yla6pg8v87xx")))) + (base32 "1f6iap55rsrx009bdgrqagsbqq1q4hah785ap3xwxnxbgqyshigc")))) (build-system emacs-build-system) (arguments (list @@ -4171,7 +4262,7 @@ of bibliographic references.") (rename-file f (basename f))) el-files)))) (add-after 'install 'makeinfo - (lambda* (#:key outputs #:allow-other-keys) + (lambda _ (invoke "emacs" "--batch" "--eval=(require 'ox-texinfo)" @@ -4217,7 +4308,7 @@ be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.") (define-public emacs-cape (package (name "emacs-cape") - (version "0.15") + (version "0.16") (source (origin (method git-fetch) @@ -4226,14 +4317,14 @@ be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1aivq3v00l17lmq7fmdzhc6lczi9ky2wl0ayab13vkdcidl5j1kd")))) + (base32 "1dvqfi41bkw1bi930kjww1yjrdmpk86ji9p7spa8dd0lrc3fh2c7")))) (build-system emacs-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (add-after 'install 'makeinfo - (lambda* (#:key outputs #:allow-other-keys) + (lambda _ (invoke "emacs" "--batch" "--eval=(require 'ox-texinfo)" @@ -4857,7 +4948,7 @@ during idle time, while Emacs is doing nothing else.") (define-public emacs-pdf-tools (package (name "emacs-pdf-tools") - (version "1.0.0") + (version "1.1.0") (source (origin (method git-fetch) @@ -4866,7 +4957,7 @@ during idle time, while Emacs is doing nothing else.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1idazz46zx2q84di4p73770l4bcnai2a03q95psg827ykdnmjwij")))) + (base32 "1v861fpzck3ky21m4g42h6a6y0cbhc4sjzpzqx0zxd7sfi7rn768")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; there are no tests @@ -4950,6 +5041,28 @@ DocView mode, and revisiting those PDF files later using the same mode will restore the saved place.") (license license:gpl3+))) +(define-public emacs-sakura-theme + (package + (name "emacs-sakura-theme") + (version "1.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacsfodder/emacs-theme-sakura") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nxj6gx5virv95sfxbasvr2mh427w5srzjsfawhf58ixif8wkhd0")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-autothemer)) + (home-page "https://github.com/emacsfodder/emacs-theme-sakura") + (synopsis "Emacs theme of cherry blossoms") + (description + "Sakura Emacs theme is the rose tinted fork of @code{Creamsody}, +inspired by the Deep Purple.") + (license license:gpl3+))) + (define-public emacs-pdfgrep ;; XXX: Upstream does not tag releases. The commit below matches latest ;; version bump. @@ -5308,7 +5421,7 @@ kmonad's configuration files (@file{.kbd}).") (define-public emacs-keycast (package (name "emacs-keycast") - (version "1.3.0") + (version "1.3.2") (source (origin (method git-fetch) @@ -5317,7 +5430,7 @@ kmonad's configuration files (@file{.kbd}).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1hri91g6c0507vaisx3c0xr52xwy82j3vqk0irf30mcrv1j9a5hd")))) + (base32 "0nqx53a1hjgibqrmkdic6syqb2fb5fkna0k5dbbg6igb5k775c8r")))) (build-system emacs-build-system) (propagated-inputs (list emacs-compat)) @@ -5419,24 +5532,24 @@ allows easily move between them.") (license license:gpl3+))) (define-public emacs-undo-fu - ;; There are no tagged releases upstream on gitlab, instead we are using + ;; There are no tagged releases upstream, instead we are using ;; the most recent commit. - (let ((commit "c0806c1903c5a0e4c69b6615cdc3366470a9b8ca") + (let ((commit "0e22308de8337a9291ddd589edae167d458fbe77") (revision "0")) (package (name "emacs-undo-fu") - (version (git-version "0.4" revision commit)) + (version (git-version "0.5" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/ideasman42/emacs-undo-fu") + (url "https://codeberg.org/ideasman42/emacs-undo-fu") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1n594aakmcgyl7qbda86v4wsx8clm62ypiv3h559xz3x72h7mr3j")))) + (base32 "18c8lq4h3i5rzz8jwwszmq9ga1m7jk3sbrh76sgrsbdawpap3ak5")))) (build-system emacs-build-system) - (home-page "https://gitlab.com/ideasman42/emacs-undo-fu") + (home-page "https://codeberg.org/ideasman42/emacs-undo-fu") (synopsis "Simple, stable linear undo with redo for Emacs") (description "This is a light weight wrapper for Emacs built-in undo system, @@ -5445,34 +5558,38 @@ allowing you to visit all previous states of the document if you need.") (license license:gpl3+)))) (define-public emacs-undo-fu-session - ;; There are no tagged releases upstream on gitlab, instead we are using the + ;; There are no tagged releases upstream, instead we are using the ;; most recent commit. - (let ((commit "56cdd3538a058c6916bdf2d9010c2179f2505829") + (let ((commit "a6c4f73bc22401fd36e0f2fd4fe058bb28566d84") (revision "0")) (package (name "emacs-undo-fu-session") - (version (git-version "0.2" revision commit)) + (version (git-version "0.6" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/ideasman42/emacs-undo-fu-session") + (url "https://codeberg.org/ideasman42/emacs-undo-fu-session") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "04wq1alrzzlidcb4mjb5j7pg68pks1vgv7kvvmi6dzb3l602mb2a")))) + (base32 "03pb88bi5z4f01972jbk9z6w9iqamqflfp20mih29ghvbiyn6ahj")))) (build-system emacs-build-system) (arguments (list #:tests? #t - #:test-command #~(list "emacs" "--batch" "-l" "undo-fu-session.el" - "-l" "undo-fu-session-test.el") + ;; The tests require temp files handling which a recent change disabled + ;; by default. We re-enable it here to make tests work again. + #:test-command #~(list "emacs" "--batch" "--eval" + "(setq undo-fu-session-ignore-temp-files nil)" + "-l" "tests/undo-fu-session-test.el" + "-f" "undo-fu-session-test-run-all") #:phases #~(modify-phases %standard-phases (add-before 'check 'set-home (lambda _ (setenv "HOME" "/tmp")))))) - (home-page "https://gitlab.com/ideasman42/emacs-undo-fu-session") + (home-page "https://codeberg.org/ideasman42/emacs-undo-fu-session") (synopsis "Save & recover undo steps between Emacs sessions") (description "This package writes undo/redo information upon file save which is restored where possible when the file is loaded again.") @@ -5949,28 +6066,25 @@ saving won't move point back to the beginning of the buffer.") (license license:gpl3+))) (define-public emacs-git-timemachine - (let ((version "4.11") - (revision "0") - (commit "13769fb603ae88c64566529eae4525ce88026e86")) - (package - (name "emacs-git-timemachine") - (version (git-version version revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://codeberg.org/pidu/git-timemachine.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0d1aj9xhcyksg115xl2yw0rd62hp53ig06y54jvii1l8vavb94jy")))) - (build-system emacs-build-system) - (home-page "https://gitlab.com/pidu/git-timemachine") - (synopsis "Step through historic versions of Git-controlled files") - (description "This package enables you to step through historic versions + (package + (name "emacs-git-timemachine") + (version "4.13") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/pidu/git-timemachine") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "152vq34dn76m21ab97wwm31hgp2wl9y437vwmd4kcd5pvwjhx9c6")))) + (build-system emacs-build-system) + (home-page "https://gitlab.com/pidu/git-timemachine") + (synopsis "Step through historic versions of Git-controlled files") + (description "This package enables you to step through historic versions of files under Git version control from within Emacs.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-minitest (package @@ -6080,7 +6194,7 @@ intended to be.") (define-public emacs-ef-themes (package (name "emacs-ef-themes") - (version "1.0.0") + (version "1.2.0") (source (origin (method git-fetch) @@ -6090,7 +6204,7 @@ intended to be.") (file-name (git-file-name name version)) (sha256 (base32 - "0rq1cy9hg603wk7pnfj0zfc84h1l87rg8blk4x4b61x7bkc3dd7q")))) + "186q08prgg4n1kw91y7bqy53ladi2gfnjp6irvmr207c434wand0")))) (build-system emacs-build-system) (home-page "https://git.sr.ht/~protesilaos/ef-themes") (synopsis "Colorful and legible themes") @@ -7366,22 +7480,22 @@ snippets for yasnippet.") (define-public emacs-mode-line-idle ;; Package has no release. Version is extracted from "Version:" keyword in ;; main file. - (let ((commit "02b1da6278e43cc9cc0356110cc6bfbb37eb8241") - (revision "1")) + (let ((commit "1dc0115bd4864b8b8cc9cbaac75c03d764070873") + (revision "0")) (package (name "emacs-mode-line-idle") - (version (git-version "0.1" revision commit)) + (version (git-version "0.2" revision commit)) (source (origin (method git-fetch) (file-name (git-file-name name version)) (uri (git-reference - (url "https://gitlab.com/ideasman42/emacs-mode-line-idle") + (url "https://codeberg.org/ideasman42/emacs-mode-line-idle") (commit commit))) (sha256 - (base32 "0ky330b2sfbzkbxbfp9b21hdywsjw26bllspglz08hrbni7jmry8")))) + (base32 "006ynxzakfc11lz9s915agdiiisnbfxiv9a7mj9g0890qh7isjvy")))) (build-system emacs-build-system) - (home-page "https://gitlab.com/ideasman42/emacs-mode-line-idle") + (home-page "https://codeberg.org/ideasman42/emacs-mode-line-idle") (synopsis "Simple delayed text evaluation for the mode-line") (description "Mode Line Idle provides a convenient way to defer text evaluation @@ -8125,14 +8239,14 @@ user.") (define-public emacs-subed (package (name "emacs-subed") - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) (uri (string-append "https://elpa.nongnu.org/nongnu/subed-" version ".tar")) (sha256 (base32 - "1xlh4kqa8516rvmzy67pzs0ghk9rc919nq5b2sywd5mvzi5spxnh")))) + "0np4wp7pmpayz8r9p3cl7z1i7yfq8xmkn862n9d104szf4ffk0if")))) (arguments (list #:tests? #t @@ -8245,14 +8359,14 @@ by a query, so both a link can refer to several mails.") (define-public emacs-debbugs (package (name "emacs-debbugs") - (version "0.35") + (version "0.36") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/debbugs-" version ".tar")) (sha256 - (base32 "1w6y02ikjshfk12sdgbryfgj2z4yia2mpifa7g13ab7v9phpqpl1")))) + (base32 "1rzv13shadbvy583vjj4zg13v920zpiqrsnn10r3cqqyli89ivn2")))) (build-system emacs-build-system) (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$"))) (propagated-inputs @@ -8275,7 +8389,7 @@ Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.") (define-public emacs-piem (package (name "emacs-piem") - (version "0.4.0") + (version "0.5.0") (source (origin (method git-fetch) @@ -8284,7 +8398,7 @@ Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.") (commit (string-append "v" version)))) (file-name (string-append name "-" version "-checkout")) (sha256 - (base32 "0wr6n6wvznngjdp4c0pmdr4xz05dark0kxi5svzhzxsg3rdaql3z")))) + (base32 "0smdb1iph2q1xvxix5c93llckcxh7kmhg6pxgyrm88j736m4l16q")))) (build-system emacs-build-system) (arguments (list #:phases @@ -8295,9 +8409,9 @@ Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.") ("piem-b4-b4-executable" (search-input-file inputs "/bin/b4")))))))) (inputs - (list b4)) - (propagated-inputs - (list emacs-elfeed + (list b4 + emacs-debbugs + emacs-elfeed emacs-notmuch)) (home-page "https://docs.kyleam.com/piem") (synopsis "Glue for working with public-inbox archives") @@ -8396,7 +8510,7 @@ build jobs.") (define-public emacs-zmq (package (name "emacs-zmq") - (version "0.10.10") + (version "1.0.0") (source (origin (method git-fetch) @@ -8405,26 +8519,27 @@ build jobs.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0ngxm5mm0kqgvn8977ryrngamx0khzlw86d8vz5s0jhm2kgwnqp8")))) + (base32 "1bg4c26f8n1jy6z9dr2c9fz79myy9lbb5z67797qp1cbx8k6p3n7")))) (build-system emacs-build-system) (arguments - `(#:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'configure - (lambda _ - (invoke "make" "src/configure") - (substitute* "src/configure" - (("/bin/sh") (which "sh")) - (("/usr/bin/file") (which "file"))) - (invoke "make"))) - (add-after 'install 'install-shared-object - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (site-lisp (string-append out "/share/emacs/site-lisp")) - (libdir (string-append site-lisp "/zmq-0.10.10"))) - (copy-file "emacs-zmq.so" - (string-append libdir "/emacs-zmq.so")))))))) + (list + #:tests? #f ; no tests + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda _ + (invoke "make" "src/configure") + (substitute* "src/configure" + (("/bin/sh") (which "sh")) + (("/usr/bin/file") (which "file"))) + (invoke "make"))) + (add-after 'install 'install-shared-object + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (site-lisp (string-append out "/share/emacs/site-lisp")) + (libdir (string-append site-lisp "/zmq-" #$version))) + (copy-file "emacs-zmq.so" + (string-append libdir "/emacs-zmq.so")))))))) (native-inputs (list autoconf automake libtool pkg-config)) (inputs @@ -8432,7 +8547,7 @@ build jobs.") (home-page "https://github.com/nnicandro/emacs-zmq") (synopsis "Emacs bindings to ØMQ") (description "This package provides Emacs bindings to ØMQ.") - (license (list license:gpl2+ ;zmq.el + (license (list license:gpl2+ ;zmq.el license:gpl3+)))) ;src/emacs-module.h (define-public emacs-tup-mode @@ -11044,7 +11159,7 @@ style, or as multiple word prefixes.") (define-public emacs-consult (package (name "emacs-consult") - (version "0.34") + (version "0.35") (source (origin (method git-fetch) @@ -11052,7 +11167,7 @@ style, or as multiple word prefixes.") (url "https://github.com/minad/consult") (commit version))) (sha256 - (base32 "1ggbvc5ylsw430w05fjl4vk1hmim45mwah7cyr94g03rwjhng1sc")) + (base32 "0a20rfqv2yfwqal1vx6zzg92qgr32p3rp7n6awnyb010jnykqszw")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (arguments @@ -11060,7 +11175,7 @@ style, or as multiple word prefixes.") #:phases #~(modify-phases %standard-phases (add-after 'install 'makeinfo - (lambda* (#:key outputs #:allow-other-keys) + (lambda _ (invoke "emacs" "--batch" "--eval=(require 'ox-texinfo)" @@ -11284,7 +11399,7 @@ expansion and overwriting the marked region with a new snippet completion.") (define-public emacs-marginalia (package (name "emacs-marginalia") - (version "1.2") + (version "1.3") (source (origin (method git-fetch) @@ -11293,14 +11408,14 @@ expansion and overwriting the marked region with a new snippet completion.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0zf88pvjs3v231rpk4km03n19xyfx6hn0fny08y4pv42dz3xkcwg")))) + (base32 "0fjbif2l5fj4xjb9drqfc8zxla8y7mha0imdd1nm4x83i0y4fa6l")))) (build-system emacs-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (add-after 'install 'makeinfo - (lambda* (#:key outputs #:allow-other-keys) + (lambda _ (invoke "emacs" "--batch" "--eval=(require 'ox-texinfo)" @@ -11354,8 +11469,8 @@ well as completely new features.") (define-public emacs-dumbparens ;; There are no releases. - (let ((commit "18b668772f25e5f7b62c0a000b8169eaf7515057") - (revision "0")) + (let ((commit "59bb5aeb85bdc0772a7a21d1194be87aae6f2b7b") + (revision "1")) (package (name "emacs-dumbparens") (version (git-version "0" revision commit)) @@ -11364,17 +11479,17 @@ well as completely new features.") (method git-fetch) (uri (git-reference - (url "https://github.com/raxod502/dumbparens") + (url "https://github.com/radian-software/dumbparens") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0xv2yzjzq2450z007jppf86knnwzb2s3sxvqyk1yp6qs9mgrmnyp")))) + (base32 "0c5zw9qcq5n33212p8fcnjvgn6z582178dnv0jhnrl887h5xr9w2")))) (build-system emacs-build-system) (arguments (list #:tests? #t #:test-command #~(list "make" "test"))) - (home-page "https://github.com/raxod502/dumbparens/") + (home-page "https://github.com/radian-software/dumbparens") (synopsis "Minor mode that provides improvements on Smartparens") (description "@code{emacs-dumbparens} is a minor mode for Emacs that deals with parens @@ -12371,7 +12486,7 @@ allowing unprefixed keys to insert their respective characters as expected.") (define-public emacs-clojure-mode (package (name "emacs-clojure-mode") - (version "5.16.0") + (version "5.16.1") (source (origin (method git-fetch) @@ -12380,7 +12495,7 @@ allowing unprefixed keys to insert their respective characters as expected.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0s09b9gbmjmk56jm9hcbk06zfa96kqhgx58d98w13yy01yx0pych")))) + (base32 "1gzr506mj2w8jigvdpsmp9jm4kb5k5v076wda2jz5dpbw4jgj5ms")))) (build-system emacs-build-system) (native-inputs (list emacs-buttercup emacs-dash emacs-paredit emacs-s)) @@ -12423,7 +12538,7 @@ Clojure projects from templates.") (define-public emacs-clj-refactor (package (name "emacs-clj-refactor") - (version "3.6.0") + (version "3.7.0") (source (origin (method git-fetch) @@ -12432,7 +12547,7 @@ Clojure projects from templates.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "15ya7hp5d2kwh1ig55d75vlghm1vsq99jh44i8q8v25vfmzjp7gp")))) + (base32 "0nwc4c8cn9mj9x7fsjx1m34rma5qq87d611j7w02kfa7yhbj0vwk")))) (build-system emacs-build-system) (propagated-inputs (list emacs-yasnippet emacs-paredit emacs-multiple-cursors emacs-cider @@ -12884,7 +12999,7 @@ mode with the package emacs-julia-mode.") (define-public emacs-julia-snail (package (name "emacs-julia-snail") - (version "1.2.2") + (version "1.2.3") (source (origin (method git-fetch) (uri (git-reference @@ -12893,7 +13008,7 @@ mode with the package emacs-julia-mode.") (file-name (git-file-name name version)) (sha256 (base32 - "1vbg97h2jvmkpyhdsra51ilimzvrqnpy8rf1bhxnnb54p2cgkpsr")))) + "07dj788hdfskn2k400q2fcfh18w7gflfrc5zqg8bqflhv755m30k")))) (build-system emacs-build-system) (arguments (list @@ -13070,7 +13185,7 @@ indentation and filling of comments and C preprocessor fontification.") (define-public emacs-tide (package (name "emacs-tide") - (version "4.5.4") + (version "5.1.3") (source (origin (method git-fetch) (uri (git-reference @@ -13079,7 +13194,7 @@ indentation and filling of comments and C preprocessor fontification.") (file-name (git-file-name name version)) (sha256 (base32 - "0zrapfxdarakp3kwp73c2ymjx51fsnfk6azi2y1wb2kgsdxl2yim")))) + "01chyr71b8893jxgf4wncpskfmg9iwfpcaxq0vfc6yaij46yfhky")))) (build-system emacs-build-system) (propagated-inputs (list emacs-dash emacs-flycheck emacs-s emacs-typescript-mode)) @@ -13905,16 +14020,16 @@ restrict the text width to 80 characters.") (define-public emacs-wucuo (package (name "emacs-wucuo") - (version "0.2.9") + (version "0.3.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/redguardtoo/wucuo") - (commit "89b99166768afb811c48a7db7c93c02d51a32b09"))) + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "03a6jlbv9axrd9yr0xscq3ni7fipm20ppc51kxy0sn241rplv0pg")))) + (base32 "0za3mxssx48shdaqwn8akxrshkqn92dd0s06h6abqk9mfzdd67ng")))) (build-system emacs-build-system) (arguments `(#:tests? #t @@ -14855,7 +14970,7 @@ Lua programming language}.") (define-public emacs-ebuild-mode (package (name "emacs-ebuild-mode") - (version "1.63") + (version "1.64") (source (origin (method url-fetch) @@ -14864,7 +14979,7 @@ Lua programming language}.") "ebuild-mode-" version ".tar.xz")) (file-name (string-append name "-" version ".tar.xz")) (sha256 - (base32 "1pkdyxiprj94z062y6nlm5w34gxyazbkg3yzhfscnm087p7pbg82")))) + (base32 "180wjbi385fhafijmmimcf23fdympdk2km0yj9rv6pmfbfjgq2bv")))) (build-system emacs-build-system) (arguments (list @@ -15340,7 +15455,7 @@ pasting into and from @code{tmux} paste buffers.") (define-public emacs-evil-nerd-commenter (package (name "emacs-evil-nerd-commenter") - (version "3.6.0") + (version "3.6.1") (source (origin (method git-fetch) @@ -15350,7 +15465,7 @@ pasting into and from @code{tmux} paste buffers.") (file-name (git-file-name name version)) (sha256 (base32 - "1v2iwci0yc1sld1sidrwdnqriyhs78ba3gp4d9az0af48grl7x1w")))) + "1xi4sd75pzhgcd9lzhx18hlzbrwh5q9gbscb1971qn94mzxwd60r")))) (build-system emacs-build-system) (propagated-inputs (list emacs-evil)) (home-page "https://github.com/redguardtoo/evil-nerd-commenter") @@ -15456,6 +15571,27 @@ can selectively commit files, view the diffs, and other things.") distribution, primarily targeting Clojure users") (license license:gpl3+))) +(define-public emacs-rail + (package + (name "emacs-rail") + (version "0.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Sasanidas/Rail") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1i07zv0z6r46jpg22x99a1izyfp6536xf951ibyr9kis5bql5jz9")))) + (build-system emacs-build-system) + (home-page "https://github.com/Sasanidas/Rail") + (synopsis "Generic nREPL client for Emacs") + (description + "Rail is a nREPL client based on monroe with similar features, but aims +to be a more complete implementation.") + (license license:gpl3+))) + (define-public emacs-orgalist (package (name "emacs-orgalist") @@ -15522,7 +15658,7 @@ passive voice.") (define-public emacs-org (package (name "emacs-org") - (version "9.6.6") + (version "9.6.7") (source (origin (method git-fetch) @@ -15531,7 +15667,7 @@ passive voice.") (commit (string-append "release_" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1z3n2dzvgr225f33lvpwwdssrw32lsa1c27l2h9irzv7p33pl1zf")))) + (base32 "0b8ys2syk33kz4qygwy2qvkvv4g10hj4zdjfr5iw911v1rp61vcr")))) (build-system emacs-build-system) (arguments (list @@ -16174,12 +16310,10 @@ view your Denote directory.") (license license:gpl3+))) (define-public emacs-logos - ;; XXX: Upstream did not tag latest release. Use the commit matching - ;; version bump. - (let ((commit "d8f18f74591ffcac6466409ac7cd29f90838b2fe")) + (let ((commit "eeedd3ef289faa4fa2b726013255747a41a6ba9c")) ;version bump (package (name "emacs-logos") - (version "1.0.1") + (version "1.1.1") (source (origin (method git-fetch) (uri (git-reference @@ -16188,7 +16322,7 @@ view your Denote directory.") (file-name (git-file-name name version)) (sha256 (base32 - "0g3jxzwv99wkxlb36j2nyjibayvwjpy7qc2mz9lfd2945q6apj3z")))) + "1p4akwpbc6x2k47g99wg4yvdz1wlnb2fqwgk06bfi3s4sv6lngbk")))) (native-inputs (list texinfo)) (build-system emacs-build-system) (arguments @@ -16614,7 +16748,7 @@ been adapted to also work with mu4e.") (define-public emacs-tempel (package (name "emacs-tempel") - (version "0.7") + (version "0.8") (source (origin (method git-fetch) (uri (git-reference @@ -16623,7 +16757,7 @@ been adapted to also work with mu4e.") (file-name (git-file-name name version)) (sha256 (base32 - "1qhy9rp0k74hbqns67iwyzk86x7rriqyd4l48j5qqmfvr3v5sg1m")))) + "10dcf56x74jrbdzaa9kphyzq2rz5alv800dnnzpbnvwzh29lfyka")))) (build-system emacs-build-system) (propagated-inputs (list emacs-compat)) @@ -18462,6 +18596,30 @@ for the current file, using the major mode as a hint. It prompts you to enter one if it fails.") (license license:gpl3+))) +(define-public emacs-eglot-x + ;; Not tagged. + (let ((commit "a09ab28cf01d7cbb223ad83fbbb694c5158c96b8")) + (package + (name "emacs-eglot-x") + (version "0.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nemethf/eglot-x") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0s17nv59gzgqgskid41lfacsqnzdiq2p3ds0vglcfqwypr3k898c")))) + (build-system emacs-build-system) + (inputs (list emacs-eglot)) + (home-page "https://github.com/nemethf/eglot-x") + (synopsis "Protocol extensions for Eglot") + (description + "This package adds support for some LSP extensions to @code{emacs-eglot}. +") + (license license:gpl3+)))) + (define-public emacs-jabber ;; No releases available. (let ((commit "af0315e174fa6446d5c4dd3e6465d48912950e58") @@ -18543,6 +18701,28 @@ over a documented variable, it will print the one-line documentation for that variable instead, to remind you of that variable's meaning.") (license license:gpl3+))) +(define-public emacs-eldoc-box + (package + (name "emacs-eldoc-box") + (version "1.10.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/casouri/eldoc-box") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "076bbn2nnrx02zk2hs4b39q0w3s7afbgfdxnwk2y2s8lkq1l6l87")))) + (build-system emacs-build-system) + (home-page "https://github.com/casouri/eldoc-box") + (synopsis "Childframe doc for eglot and anything that uses eldoc") + (description + "This package displays ElDoc documentations in a childframe. The +childfrme is selectable and scrollable with mouse, even thought the cursor is +hidden.") + (license license:gpl3+))) + ;; Tests for ert-runner have a circular dependency with ecukes, and therefore ;; cannot be run (define-public emacs-ert-runner @@ -19264,7 +19444,7 @@ multiplexer.") (define-public emacs-plz (package (name "emacs-plz") - (version "0.5.4") + (version "0.6") (source (origin (method git-fetch) @@ -19273,7 +19453,7 @@ multiplexer.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1ccddvbhb3n02s2krgyqapll7kbzxjhldzn8g8gmnqfsmwpg9d2r")))) + (base32 "12hnsafv1bxkk1pb471i8hw0zy0yfla8afpcahlg4k4dni4dnqsm")))) (build-system emacs-build-system) (inputs (list curl)) (arguments @@ -19295,7 +19475,7 @@ which avoids some of the issues with using Emacs’s built-in Url library.") (define-public emacs-ement (package (name "emacs-ement") - (version "0.9.3") + (version "0.10") (source (origin (method git-fetch) @@ -19304,7 +19484,7 @@ which avoids some of the issues with using Emacs’s built-in Url library.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1fh592y4v6iybdfh0b55k8nknzgsbcmy9g62ymvqz0wlhwq4h5h9")))) + (base32 "1bbjk39w3a66b5zmdjkr5zrchrf8mk4avzaxrqf027mc7pfmy8rb")))) (build-system emacs-build-system) (arguments (list #:emacs emacs)) ;need libxml support @@ -19526,7 +19706,7 @@ the nick color and the background color (define-public emacs-engine-mode (package (name "emacs-engine-mode") - (version "2.2.1") + (version "2.2.4") (source (origin (method git-fetch) @@ -19535,12 +19715,12 @@ the nick color and the background color (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "11ls3wrvfmcz61pps438x772nk06rqff91s3xi5rzc3n2hkl1ayb")))) + (base32 "1q4rwp0rv1azabhx5l3pnxdja2911815k6ijmfdx6s3vwyvd2wyn")))) (build-system emacs-build-system) (synopsis "Minor mode for defining and querying search engines") - (description "@code{engine-mode} is a global minor mode for Emacs. It -enables you to easily define search engines, bind them to keybindings, and -query them from the comfort of your editor.") + (description "Engine mode is a global minor mode for Emacs. It enables +you to easily define search engines, bind them to keybindings, and query them +from the comfort of your editor.") (home-page "https://github.com/hrs/engine-mode") (license license:gpl3+))) @@ -20478,7 +20658,7 @@ Features: (define-public emacs-evil-matchit (package (name "emacs-evil-matchit") - (version "3.0.0") + (version "3.0.2") (source (origin (method git-fetch) @@ -20487,7 +20667,7 @@ Features: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0a55hhqi14g0hy80cfi5anxs44rcdxm1jkkyl561b4d4g823bpbi")))) + (base32 "0igz4kcfb01f9h49n5x9p1idzap54nkw62i1xrql1zlj54s8rv6b")))) (build-system emacs-build-system) (propagated-inputs (list emacs-evil)) @@ -20865,7 +21045,7 @@ the pipeline, featuring the support for running @code{emacsclient}.") (define-public emacs-jupyter (package (name "emacs-jupyter") - (version "0.8.2") + (version "0.8.3") (source (origin (method git-fetch) @@ -20874,7 +21054,7 @@ the pipeline, featuring the support for running @code{emacsclient}.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1sr007wsl2y6wqpzkmv3inbpwhvgdcb2nmqzgfg7w1awapi2r13p")))) + (base32 "0acn964xlpn265vry35lrkkpf9z5y4ml96xg8ifadkxwxymm1sh2")))) (build-system emacs-build-system) (propagated-inputs (list emacs-company ;optional @@ -20885,9 +21065,9 @@ the pipeline, featuring the support for running @code{emacsclient}.") (home-page "https://github.com/nnicandro/emacs-jupyter") (synopsis "Emacs interface to communicate with Jupyter kernels") (description "This package provides an Emacs interface to communicate with -Jupyter kernels. It provides REPL and @code{org-mode} source code block -frontends to Jupyter kernels and kernel interactions integrated with Emacs' -built-in features.") +Jupyter kernels. It provides REPL and Org mode source code block frontends to +Jupyter kernels and kernel interactions integrated with Emacs' built-in +features.") (license license:gpl3+))) (define-public emacs-hcl-mode @@ -21970,7 +22150,7 @@ according to a parsing expression grammar.") (define-public emacs-eldev (package (name "emacs-eldev") - (version "1.4") + (version "1.4.1") (source (origin (method git-fetch) @@ -21979,7 +22159,7 @@ according to a parsing expression grammar.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1cziz1a8mh24aj79jfnkjb0llh6a2raqnlcfyaswha80bwzwp4ph")))) + (base32 "1vvqs8x2chm2bgwnlsrq7llgql5m9hjbxi1x3xbnzbx5l1yvldbp")))) (build-system emacs-build-system) (arguments (list @@ -23672,7 +23852,7 @@ powerful Org contents.") (define-public emacs-org-re-reveal (package (name "emacs-org-re-reveal") - (version "3.18.2") + (version "3.18.3") (source (origin (method git-fetch) @@ -23681,7 +23861,7 @@ powerful Org contents.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0v9403zjxays4c66xq3zq2285h77pn2ha7afx70xffjyynmvnz6i")))) + (base32 "124f59yj0w5linph4k38fil42jc6nvkzhx73312farkmn4p9r9zk")))) (build-system emacs-build-system) (propagated-inputs (list emacs-htmlize emacs-org)) @@ -23912,7 +24092,7 @@ and doesn't require memorisation of commands. (define-public emacs-logview (package (name "emacs-logview") - (version "0.16.1") + (version "0.16.2") (source (origin (method git-fetch) @@ -23921,7 +24101,7 @@ and doesn't require memorisation of commands. (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "12m0wqzfbphpz88fnawn5kb7yaayxh3yajbf6zzzbnyc8rjajcr6")))) + (base32 "1qw5k7kvkhlg91v9j6cy10xnvmy1zk7dwr13ssdxx08qax0jwgqi")))) (propagated-inputs (list emacs-datetime emacs-extmap)) (build-system emacs-build-system) @@ -24909,8 +25089,8 @@ current upstream.") (license license:gpl3+))) (define-public emacs-scroll-on-drag - (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996") - (revision "1")) + (let ((commit "179c2acecc48d3ceca4b449b2a225d684002bb32") + (revision "2")) (package (name "emacs-scroll-on-drag") (version (git-version "0.1" revision commit)) @@ -24918,14 +25098,14 @@ current upstream.") (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git") + (url "https://codeberg.org/ideasman42/emacs-scroll-on-drag") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p")))) + "0v7d4mrsvckbb66kvskfb9rfrhg8p0zbkr6jqdspfl1p3x8zs2nk")))) (build-system emacs-build-system) - (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag") + (home-page "https://codeberg.org/ideasman42/emacs-scroll-on-drag") (synopsis "Interactive scrolling") (description "This package permits scrolling at increasing speeds based on drag distance.") @@ -26381,6 +26561,7 @@ incompatible versions of it.") (uri (git-reference (url "https://github.com/charlesroelli/org-board") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "1kryrg988c3sbxyp1sdgc6xdv2iz6kiflpzn2rw4z3l4grzab53b")))) @@ -26963,43 +27144,45 @@ can be queued at any time.") (license license:unlicense)))) (define-public emacs-ytdl - (package - (name "emacs-ytdl") - (version "1.3.6") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/tuedachu/ytdl") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "010arhvibyw50lqhsr8bm0vj3pzry1h1vgcvxnmyryirk3dv40jl")))) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'configure - (lambda* (#:key inputs #:allow-other-keys) - ;; .el is read-only in git. - (make-file-writable "ytdl.el") - ;; Specify the absolute file names of the various programs so - ;; that everything works out-of-the-box. - (emacs-substitute-variables "ytdl.el" - ("ytdl-command" - (search-input-file inputs "/bin/youtube-dl")))))))) - (inputs - (list youtube-dl)) - (propagated-inputs - (list emacs-async emacs-dash)) - (home-page "https://gitlab.com/tuedachu/ytdl") - (synopsis "Emacs interface for youtube-dl") - (description - "This package manages a video download queue for @command{youtube-dl}, + (let ((commit "2ea3daf2f6aa9d18b71fe3e15f05c30a56fca228") + (revision "0")) + (package + (name "emacs-ytdl") + (version (git-version "1.3.6" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/tuedachu/ytdl") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0y62lkgsg19j05dpd6sp6zify8vq8xvpc8caqiy4rwi7p4ahacsf")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs #:allow-other-keys) + ;; .el is read-only in git. + (make-file-writable "ytdl.el") + ;; Specify the absolute file names of the various programs so + ;; that everything works out-of-the-box. + (emacs-substitute-variables "ytdl.el" + ("ytdl-command" + (search-input-file inputs "/bin/youtube-dl")))))))) + (inputs + (list youtube-dl)) + (propagated-inputs + (list emacs-async emacs-dash)) + (home-page "https://gitlab.com/tuedachu/ytdl") + (synopsis "Emacs interface for youtube-dl") + (description + "This package manages a video download queue for @command{youtube-dl}, which serves as the back end. New videos can be queued at any time. All youtube-dl backends are supported. It is possible to create download profiles depending on the downloaded URL.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-ytel ;; No tagged releases. Using version from main file. @@ -27244,30 +27427,27 @@ scaling of and anti aliasing of the icons.") (list license:expat license:gpl3+ license:silofl1.1 license:asl2.0)))) (define-public emacs-all-the-icons-completion - ;; XXX: No tags. Extract version from keyword in main file. - (let ((commit "9e7d456b0934ecb568b6f05a8445e3f4ce32261f") - (revision "0")) - (package - (name "emacs-all-the-icons-completion") - (version (git-version "0.0.1" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/iyefrat/all-the-icons-completion") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "04bnmmd6lyx0p39sgymqvmcy7bk8mr7sikbpy49adxi7d2891ldg")))) - (build-system emacs-build-system) - (propagated-inputs (list emacs-all-the-icons)) - (home-page "https://github.com/iyefrat/all-the-icons-completion") - (synopsis "Add icons to completion candidates") - (description "This package adds icons to completion candidates using the + (package + (name "emacs-all-the-icons-completion") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/iyefrat/all-the-icons-completion") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1iyn7dyxil07gsa19hngpbapzmbhcwrplvf2cg1gkywafcdhjw6w")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-all-the-icons)) + (home-page "https://github.com/iyefrat/all-the-icons-completion") + (synopsis "Add icons to completion candidates") + (description "This package adds icons to completion candidates using the built-in completion metadata functions. For example, with this package, @code{find-file} can display a file icon for each candidate based on the file type.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-wttrin (let ((commit "df5427ce2a5ad4dab652dbb1c4a1834d7ddc2abc") @@ -28590,7 +28770,7 @@ interface to attach and interact with the processes.") (define-public emacs-dtrt-indent (package (name "emacs-dtrt-indent") - (version "1.9") + (version "1.11") (source (origin (method git-fetch) (uri (git-reference @@ -28599,7 +28779,7 @@ interface to attach and interact with the processes.") (file-name (git-file-name name version)) (sha256 (base32 - "0rpl48rdmgi7rsv6kgl048vfafnfcqwmvb46ibm9z3wjxsmfg131")))) + "037n2ihdgzigwvc4wsls1gwrqkkkpd00pk0s1j2m0212n4gxiaq8")))) (build-system emacs-build-system) (home-page "https://github.com/jscheid/dtrt-indent") (synopsis "Minor mode that guesses the indentation offset") @@ -29493,7 +29673,7 @@ as Emacs Lisp.") (define-public emacs-transient (package (name "emacs-transient") - (version "0.4.0") + (version "0.4.1") (source (origin (method git-fetch) (uri (git-reference @@ -29502,7 +29682,7 @@ as Emacs Lisp.") (file-name (git-file-name name version)) (sha256 (base32 - "0c9bfn5jwwng98h7i9lx0q3vg00wd8w25cg8d3vyy2vqfbg80qhy")))) + "1aq4bb83pdkbkbqh6ba0r7sadaq45qqg2q5jlqyvsn8akcsq65iq")))) (build-system emacs-build-system) (arguments `(#:tests? #f ;no test suite @@ -30870,14 +31050,14 @@ well as an option for visually flashing evaluated s-expressions.") (define-public emacs-tramp (package (name "emacs-tramp") - (version "2.6.0.4") + (version "2.6.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "tramp-" version ".tar")) (sha256 - (base32 "0s50zgxxhlc2k80mnxyyqcfd1iij9dz95fryb2a65chy1ccibd0m")))) + (base32 "0rk2bkr2n6064170741wjparsshziwj6j6w6sfzpl7xxbldpsqxa")))) (build-system emacs-build-system) (arguments (list @@ -31295,20 +31475,18 @@ programming in Emacs Lisp easy and fun.") (define-public emacs-excorporate (package (name "emacs-excorporate") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "excorporate-" version ".tar")) (sha256 - (base32 "1il51gfgvkxjj7vdi5kdmzi87hl9853ck8s45p0cxrddlaiqbmwy")))) + (base32 "06ilfkrlx6ca0qfqq3w1w07kdwak556i1wgf1875py2d5xkg4r90")))) (build-system emacs-build-system) (propagated-inputs - (list emacs-fsm - emacs-soap-client - emacs-url-http-oauth - emacs-url-http-ntlm)) + (list emacs-fsm emacs-soap-client emacs-url-http-ntlm + emacs-url-http-oauth)) (home-page "https://elpa.gnu.org/packages/excorporate.html") (synopsis "Exchange integration") (description "This package provides Exchange integration for Emacs.") @@ -31758,22 +31936,22 @@ format.") (define-public emacs-ox-pandoc (package (name "emacs-ox-pandoc") - (version "20180510") + (version "2.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/kawabata/ox-pandoc") - (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e"))) + (url "https://github.com/emacsorphanage/ox-pandoc") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz")))) + "0sh8l18lc2hngbmb1vv99xb8cp4sfy90j9cbf7b09l82jmnlqmk1")))) (build-system emacs-build-system) (inputs (list pandoc)) (propagated-inputs (list emacs-dash emacs-ht)) - (home-page "https://github.com/kawabata/ox-pandoc") + (home-page "https://github.com/emacsorphanage/ox-pandoc") (synopsis "Org exporter for Pandoc") (description "@code{ox-pandoc} is an exporter for converting Org-mode files to numerous other formats via Pandoc.") @@ -31980,23 +32158,24 @@ Helm and Ivy.") (license license:gpl3+))) (define-public emacs-spell-fu - ;; There are no tagged releases upstream on gitlab, instead we are using the + ;; There are no tagged releases upstream, instead we are using the ;; most recent commit. - (let ((commit "50be652a6ec8590c3098f46094a92213623349c1") (revision "0")) + (let ((commit "67a26b7a00449ee8ef3a80ab662c93a32adef679") + (revision "1")) (package (name "emacs-spell-fu") (version (git-version "0.3" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/ideasman42/emacs-spell-fu") + (url "https://codeberg.org/ideasman42/emacs-spell-fu") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "0n7qwnirvkh2aprb7l1wj9rywdsn33a7s32716m3afcvy7z9pyh4")))) + "0gbfzd4zpqn0kbag3a6axc7y17r5qgwgpprsd1x5hnixji1vzhxr")))) (build-system emacs-build-system) - (home-page "https://gitlab.com/ideasman42/emacs-spell-fu") + (home-page "https://codeberg.org/ideasman42/emacs-spell-fu") (synopsis "Fast highlighting of misspelled words") (description "This is a light weight spell checker for Emacs, @@ -32331,7 +32510,7 @@ Emacs that integrate with major modes like Org-mode.") (define-public emacs-modus-themes (package (name "emacs-modus-themes") - (version "4.1.0") + (version "4.2.0") (source (origin (method git-fetch) @@ -32340,7 +32519,7 @@ Emacs that integrate with major modes like Org-mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1rfnn7c6qv3qmzpksdzy7623qijbldnmr7hl9ka2kwnhdarsigkk")))) + (base32 "1r6m2jsfn6066155pnlkdgs6dz2fdsampdhdz796z2jy53k7srsg")))) (native-inputs (list texinfo)) (build-system emacs-build-system) (arguments @@ -32420,10 +32599,33 @@ a theme for Spacemacs. The theme comes with dark and light variants and it should work well with 256 color terminals.") (license license:gpl3+))) +(define-public emacs-starlit-theme + (let ((commit "d6f327fb09497be7bee64d5d204d27f655cc5b04") + (revision "0")) + (package + (name "emacs-starlit-theme") + (version (git-version "0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/SFTtech/starlit-emacs") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "118b3ii9gpjq70q3qf0lyd53jp5a7qvhsl4bbjh4akck96cjdnnj")))) + (build-system emacs-build-system) + (home-page "https://github.com/SFTtech/starlit-emacs") + (synopsis "Deep blue and colorful Emacs theme like a clear night sky") + (description + "Starlit theme customizes your Emacs to be deep blue with bright colors +from a starlit sky.") + (license license:gpl3+)))) + (define-public emacs-elixir-mode (package (name "emacs-elixir-mode") - (version "2.3.2") + (version "2.5.0") (source (origin (method git-fetch) @@ -32432,7 +32634,7 @@ and it should work well with 256 color terminals.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0f2a360h8bizvqk6bmgxm59g8n7id5rzwlbv6d383h15w298mcga")))) + (base32 "0xqwlahy2m5b3h7jx0ksy970clqm253mn87jhq9xvbggvbvczp6l")))) (build-system emacs-build-system) (propagated-inputs (list emacs-pkg-info)) @@ -33604,29 +33806,27 @@ data format @code{edn}. See @url{https://github.com/edn-format/edn}.") (license license:gpl3+)))) (define-public emacs-ednc - (let ((commit "940a4adbbeb3b6b1a72270a814d52770dd89a997") - (revision "1")) - (package - (name "emacs-ednc") - (version (git-version "0.1" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/sinic/ednc") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1gsx2qgv5xm9r0i0axd4hf31g2rq2m4a1hvnif48g4xb0llss73c")))) - (build-system emacs-build-system) - (home-page "https://github.com/sinic/ednc") - (synopsis "Emacs Desktop Notification Center") - (description - "The Emacs Desktop Notification Center (EDNC) is an Emacs package written + (package + (name "emacs-ednc") + (version "0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sinic/ednc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1jdlwngxipq5pzs3kgmzwc99aqk6mi3cf1wv228hhmb8nsm1dqgd")))) + (build-system emacs-build-system) + (home-page "https://github.com/sinic/ednc") + (synopsis "Emacs Desktop Notification Center") + (description + "The Emacs Desktop Notification Center (EDNC) is an Emacs package written in pure Lisp that implements a Desktop Notifications service according to the freedesktop.org specification. EDNC aspires to be a small, but flexible drop-in replacement of standalone daemons like Dunst.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-helm-clojuredocs (let ((commit "5a7f0f2cb401be0b09e73262a1c18265ab9a3cea")) @@ -34268,6 +34468,33 @@ generate random passwords and insert them into the current buffer. It also supports generation of phonetic and numeric passwords.") (license license:artistic2.0))) +(define-public emacs-qrencode + (package + (name "emacs-qrencode") + (version "1.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ruediger/qrencode-el") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0yrshahci319lnjdpsksdy11a69k1n91qk9r2zfyhqmng09s6i0y")))) + (build-system emacs-build-system) + (arguments + (list #:tests? #t + #:test-command #~(list "emacs" "-Q" "--batch" + "-l" "qrencode.el" + "-l" "qrencode-tests.el" + "-f" "ert-run-tests-batch-and-exit"))) + (home-page "https://github.com/ruediger/qrencode-el") + (synopsis "QRCode encoder for Emacs in pure elisp") + (description + "This package provides two user facing interactive functions, that will encode +text into a QR Code and show it in a separate buffer.") + (license license:gpl3+))) + (define-public emacs-csv (package (name "emacs-csv") @@ -35091,7 +35318,7 @@ displayed for sharing.") (define-public emacs-orglink (package (name "emacs-orglink") - (version "1.2.1") + (version "1.2.2") (source (origin (method git-fetch) @@ -35100,7 +35327,7 @@ displayed for sharing.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "05x8alv4a8c1g9l8v8p319vcr0y7w1i2r6ipj0v3dy4n2gh7v822")))) + (base32 "0jkk6jiqmsns1pb0almaihyz6c3lim0r6l4x75qp7448p46q2him")))) (build-system emacs-build-system) (propagated-inputs (list emacs-compat)) @@ -35297,6 +35524,50 @@ without requiring all of Spacemacs. The @code{<Leader>} key, inspired by Vim, provides an easy way to bind keys under a configurable prefix key.") (license license:gpl3+)))) +(define-public emacs-spamfilter-el + (package + (name "emacs-spamfilter-el") + (version "1.13") + (source (origin + (method url-fetch) + (uri (string-append + "https://web.archive.org/web/20190227001412/" + "http://www.geocities.co.jp/SiliconValley-PaloAlto/7043/" + "spamfilter-1.1.tar.gz")) + (sha256 + (base32 + "1rd7wfn24bqlqlrrhq0d87vfhhcq09pnmrkkr7jpcnsls081a2iv")))) + (build-system emacs-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'convert-encoding + (lambda _ + (for-each + (lambda (name) + (invoke "iconv" "-f" "EUC-JP" "-t" "UTF-8" name "-o" name)) + (find-files "." "\\.el"))))))) + (home-page + (string-append + "https://web.archive.org/web/20190326203214/" + "http://www.geocities.co.jp/SiliconValley-PaloAlto/7043/" + "index.html#spamfilter.el")) + (synopsis "Bayesian spam filter") + (description + "This package provides a spam filtering library for Emacs MUAs. It +supports Japanese and has the following features: + +@itemize +@item Pure Emacs Lisp implementation. +@item Interactive process within the MUA. +@item Incremental corpus learning. +@item Three different methods for Japanese word segmentation. +@item Built-in support for @code{emacs-wanderlust} and @code{emacs-mew}. +@item @url{https://github.com/naota/navi2ch, Navi2ch} integration. +@end itemize\n") + (license license:gpl2+))) + (define-public emacs-promise ;; XXX: Last stable release fails to build with "(wrong-number-of-arguments ;; (3 . 4) 2)" error. @@ -35413,6 +35684,7 @@ interactive commands for handling Lojban text.") (uri (git-reference (url "https://github.com/seanfarley/xonsh-mode") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "0lfi2372clkkzi4a940fwparsfhxxzb7bmysfd50n1myakgldri5")))) (build-system emacs-build-system) @@ -35731,7 +36003,7 @@ and preferred services can easily be configured.") (define-public emacs-vertico (package (name "emacs-vertico") - (version "1.3") + (version "1.4") (source (origin (method git-fetch) @@ -35740,7 +36012,7 @@ and preferred services can easily be configured.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "19qfyhf2yszhsb6hamfvnqliv2h4dwg9sgwa7v1vq9nl8r0v98lr")))) + (base32 "0pf6qm89nysrri3xx7pda32yfsyv5fwswg6695qivldpq2biwx2x")))) (build-system emacs-build-system) (arguments (list @@ -35755,7 +36027,7 @@ and preferred services can easily be configured.") (rename-file f (basename f))) el-files)))) (add-after 'install 'makeinfo - (lambda* (#:key outputs #:allow-other-keys) + (lambda _ (invoke "emacs" "--batch" "--eval=(require 'ox-texinfo)" @@ -36519,7 +36791,7 @@ hacker.") (define-public emacs-osm (package (name "emacs-osm") - (version "0.12") + (version "0.13") (source (origin (method git-fetch) (uri (git-reference @@ -36528,7 +36800,7 @@ hacker.") (file-name (git-file-name name version)) (sha256 (base32 - "1wfk8r0szav8hipq0apaix2f83kmxcrmgvykb30acgap9rjs357b")))) + "0i1lks8724i2nz9jk5csl4nfkyi49fc928a117sn7438z82r9gyr")))) (build-system emacs-build-system) (arguments (list #:phases #~(modify-phases %standard-phases @@ -36910,8 +37182,8 @@ latest Emacs.") (define-public emacs-flim-lb ;; No release since Nov 28, 2007. (let ((version "1.14.9") - (revision "134") - (commit "3a931b566494e7dc210a5109b60c8cbd5b655108")) + (revision "136") + (commit "2cf5a7891090faca8de725b1d3743dcedf233ea2")) (package (name "emacs-flim-lb") (version (git-version version revision commit)) @@ -36923,7 +37195,7 @@ latest Emacs.") (file-name (git-file-name name version)) (sha256 (base32 - "0hva2nm0k37ssx42s0h9d9y6nawmp1g4qz1s8bvmp3s1897pvssz")))) + "1wsnipyl3blldcl8ynmpj1mxfvl7kjmxd8gapl83vqd3r0l9cr6q")))) (build-system emacs-build-system) (propagated-inputs (list emacs-apel-lb emacs-oauth2)) (home-page "https://www.emacswiki.org/emacs/WanderLust") @@ -36968,8 +37240,8 @@ EasyPG and latest Emacs.") ;; macro-expansion failure at runtime, so don't rewrite emacs input of this ;; package. (let ((version "2.15.9") - (revision "779") - (commit "f5cb2f0cf5e2c893acf2e669fd549836828dfdfc")) + (revision "791") + (commit "8369b2d5170a174652294835dd9a18ed21a38cb2")) (package (name "emacs-wanderlust") (version (git-version version revision commit)) @@ -36990,7 +37262,7 @@ EasyPG and latest Emacs.") (("package-user-dir") "NONE")))) (sha256 (base32 - "1ijs57wv1vrh33vn311hgkp42vlmjyi998nc4qdrqi7yy9j8hl1h")))) + "0nqa9z61r308j61rgglacjsfddncbm185gp3rnzqkrpb5qsjzngk")))) (build-system emacs-build-system) (arguments (list #:phases @@ -37031,6 +37303,7 @@ EasyPG and latest Emacs.") (invoke "make" "install") (invoke "make" "install-info")))))) (propagated-inputs (list emacs-semi-epg)) + (inputs (list emacs-spamfilter-el)) (home-page "https://www.emacswiki.org/emacs/WanderLust") (synopsis "Yet Another Message Interface on Emacsen") (description @@ -37174,6 +37447,47 @@ categories and highlighting specific modes that many commands use to accomplish different tasks.") (license license:asl2.0)))) +(define-public emacs-x509-mode + (let ((commit "3830cbfdadab4cd68e6f0b6a3a7a4931be8328ea") + (revision "1")) + (package + (name "emacs-x509-mode") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jobbflykt/x509-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ff6kpnh9bzhxx15p18fijjjsqv0mcqwsd5pidyx8v2yzq699k7x")))) + (build-system emacs-build-system) + (arguments + (list + #:tests? #true + #:test-command #~(list "emacs" "-Q" "--batch" + "-l" "x509-mode.el" + "-l" "x509-mode-tests.el" + "-f" "ert-run-tests-batch-and-exit") + #:include #~(cons "\\.txt$" %default-include) + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'set-openssl-location + (lambda* (#:key inputs #:allow-other-keys) + (emacs-substitute-variables "x509-mode.el" + ("x509-openssl-cmd" + (search-input-file inputs "/bin/openssl")))))))) + (inputs (list openssl)) + (home-page "https://github.com/jobbflykt/x509-mode") + (synopsis "Major mode for viewing certificates, CRLs, and other +PKI-related files") + (description + "This package provides a major mode for viewing certificates, CRLs, and +other PKI-related files. It uses OpenSSL for viewing PEM and DER encoded PKI +entities.") + (license license:expat)))) + (define-public emacs-totp (let ((commit "a5e059b8475b32bc7f5ddadda248cf84449ed722") ;no releases (revision "0")) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 046b11588d..638c2f7c4e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -98,7 +98,7 @@ (define-public emacs-minimal (package (name "emacs-minimal") - (version "29.0.91") + (version "29.0.92") (source (origin ;; TODO: Restore url-fetch when serving 29.1 ;; (method url-fetch) @@ -110,7 +110,7 @@ (commit (string-append "emacs-" version)))) (sha256 (base32 - "09jm1q5pvd1dc0xq5rhn66v1j235zlr72kwv5i27xigvi9nfqkv1")) + "1h3p325859svcy43iv7wr27dp68049j9d44jq5akcynqdkxz4jjn")) (patches (search-patches "emacs-exec-path.patch" "emacs-fix-scheme-indent-function.patch" "emacs-native-comp-driver-options.patch" diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 215007dd31..d3bb794269 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -559,7 +560,12 @@ SEGGER J-Link and compatible devices.") (lambda _ ;; XXX All but 1 SSL tests fail (tries connecting to Google ;; servers). - (delete-file "tests/ssl.test")))))) + (delete-file "tests/ssl.test"))) + #$@(if (not (target-64bit?)) + #~((add-after 'unpack 'delete-failing-tests/32bit + (lambda _ + (delete-file "tests/file.test")))) + #~())))) (inputs (list openssl)) (native-inputs ;; For tests. diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 13b6022308..be76f81ff4 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -725,7 +725,7 @@ The following systems are supported: (define-public mgba (package (name "mgba") - (version "0.10.1") + (version "0.10.2") (source (origin (method git-fetch) @@ -734,7 +734,8 @@ The following systems are supported: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0pqfjsr9q61a3mgmvqxxkalxb838k46q9ilz31frpcvvndif0sm1")) + (base32 + "1wwpjcblp2c1svab4z1if5xb7707wsy6zw590lwdz9za35i0h37q")) (modules '((guix build utils))) (snippet ;; Make sure we don't use the bundled software. @@ -750,8 +751,7 @@ The following systems are supported: #:configure-flags (list "-DUSE_LZMA=OFF" ;do not use bundled LZMA "-DUSE_LIBZIP=OFF"))) ;use "zlib" instead - (native-inputs - (list pkg-config qttools-5)) + (native-inputs (list pkg-config qttools-5)) (inputs (list ffmpeg libedit diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index e378db87ca..dee92bce4f 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1048,7 +1048,7 @@ Emacs).") (define-public kicad (package (name "kicad") - (version "7.0.5") + (version "7.0.6") (source (origin (method git-fetch) (uri (git-reference @@ -1056,7 +1056,7 @@ Emacs).") (commit version))) (sha256 (base32 - "04mkvz4l6i8bb6mw4y0vmlkg2kvdhkj980w6y6sphb9xq8vzmcxs")) + "1bifg73id0grn37a4n5wpq440z9xz14q0fvkva5vajx0xfd34llv")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments @@ -1156,7 +1156,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.") (file-name (git-file-name name version)) (sha256 (base32 - "1xq00wi97ck2019d9brsqg8l7xvjq01g2bwv4nvmh6zh4bwcgr3g")))) + "0byvm25jw108h808g5zdjq14gx4xxd87pvlbczd07c3rx6nmzl08")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DBUILD_FORMATS=html") @@ -1190,7 +1190,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.") (file-name (git-file-name name version)) (sha256 (base32 - "15100z8g4x28sxz8097ay1vxfxz2c4a1nvvzyx5vjfmhydwqwk49")))) + "0p60dvig7xx8svzsgp871r0aix2m95bmzg3snz372nmgnza2nnvf")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; no tests exist @@ -1219,7 +1219,7 @@ libraries.") (file-name (git-file-name name version)) (sha256 (base32 - "11d3mwmivi6rc778a2x118a5mk11d9mr8miadxmy1mbc41jbx2dh")))) + "0fqnviaxsai0xwyq8xq5ks26j4vd390ns6h6lr0fx2ikv1ghaml5")))) (synopsis "Official KiCad footprint libraries") (description "This package contains the official KiCad footprint libraries."))) @@ -1236,7 +1236,7 @@ libraries.") (file-name (git-file-name name version)) (sha256 (base32 - "1bzb6b7llzwabjkdd0xsyan0x8kihccap4gwvipzydfg7gm5fjxm")))) + "0dmssyhqd94d9wj8w7g7xjan560b2rwcs540sgl0rc77cw2jify8")))) (synopsis "Official KiCad 3D model libraries") (description "This package contains the official KiCad 3D model libraries."))) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 7564c2a560..a7f161647b 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2021 Oskar Köök <oskar@maatriks.ee> ;;; Copyright © 2021 Cees de Groot <cg@evrl.com> ;;; Copyright © 2022 jgart <jgart@dismail.de> +;;; Copyright © 2023 wrobell <wrobell@riseup.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,7 +46,7 @@ (define-public erlang (package (name "erlang") - (version "25.3") + (version "25.3.2") (source (origin (method git-fetch) ;; The tarball from http://erlang.org/download contains many @@ -57,7 +58,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0jw230fy0z358aj1xi80hg14qyqyj5p4wp0pfifkr0n694j3h2d1")) + "092lym5a181gz89nscw7kqhw1wa6qvgcpkj80q4i9p79mxmsr1nj")) (patches (search-patches "erlang-man-path.patch")))) (build-system gnu-build-system) (native-inputs @@ -168,7 +169,8 @@ (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (substitute* (string-append out "/bin/erl") - (("sed") (which "sed")))))) + (("basename") (which "basename")) + (("dirname") (which "dirname")))))) (add-after 'install 'install-doc (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 04f8863807..0b024d6b92 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -477,7 +477,7 @@ significantly increases the risk of irreversible data loss!") (define-public gocryptfs (package (name "gocryptfs") - (version "2.3.1") + (version "2.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -486,7 +486,7 @@ significantly increases the risk of irreversible data loss!") (file-name (git-file-name name version)) (sha256 (base32 - "1m0xk5imkx81i1l4wv1j1xh9ckp0gqssq4v46pkkcq2xlv2dvxlr")))) + "08pdfx6bs1dc2k7xv54x7i1qbych4a7dlf31qwcm9wlz7lr5lawm")))) (build-system go-build-system) (arguments (list @@ -1364,7 +1364,7 @@ with the included @command{xfstests-check} helper.") (define-public zfs (package (name "zfs") - (version "2.1.11") + (version "2.1.12") (outputs '("out" "module" "src")) (source (origin @@ -1373,7 +1373,7 @@ with the included @command{xfstests-check} helper.") "/download/zfs-" version "/zfs-" version ".tar.gz")) (sha256 - (base32 "1cnfv3adk7prl6b8r3nw62y6dbjy2q7ai68p9xc0g8nhaklf8kx5")))) + (base32 "0vbf9kfryprb2mbb65jllf6xpsy44xskshglyqqwj4iyxmma5nk4")))) (build-system linux-module-build-system) (arguments (list @@ -1951,7 +1951,7 @@ in FUSE for rootless containers.") (define-public bees (package (name "bees") - (version "0.9.2") + (version "0.10") (source (origin (method git-fetch) (uri (git-reference @@ -1970,7 +1970,7 @@ in FUSE for rootless containers.") (("#include .crucible/city.h.") "#include <city.h>")))) (sha256 (base32 - "0xik1xg6ma5yglhvs60ny27242iapqwzikmqbgij1avjffs6776a")))) + "1j1v9bxijs8gvrb7rg0q1158xjvmfc8dlzwx768fxf3w8w2gfwvz")))) (build-system gnu-build-system) (arguments (list #:test-target "test" diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 357b5a3e71..eb480762ed 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -288,14 +288,14 @@ Accounting.") (define-public homebank (package (name "homebank") - (version "5.6.3") + (version "5.6.5") (source (origin (method url-fetch) (uri (string-append "http://homebank.free.fr/public/sources/" "homebank-" version ".tar.gz")) (sha256 (base32 - "0a1qhbnifqs0j59m1w5wfj1ix8iywmy1kc8185zvxndvckspb521")))) + "1a1cdldvs0xc30xkxkap72gafss90hmglakad5r8aykxz3y4sjdm")))) (build-system glib-or-gtk-build-system) (native-inputs (list pkg-config intltool)) @@ -312,7 +312,7 @@ and dynamically with report tools based on filtering and graphical charts.") (define-public ledger (package (name "ledger") - (version "3.3.1") + (version "3.3.2") (source (origin (method git-fetch) @@ -321,7 +321,7 @@ and dynamically with report tools based on filtering and graphical charts.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "13bbnfb08ymm54wg12dapqhalh7iialfs66qdbk2adl1aaq36wqa")))) + (base32 "0vchc97952w3fkkdn3v0nzjlgzg83cblwsi647jp3k9jq6rvhaak")))) (build-system cmake-build-system) (arguments `(#:modules (,@%cmake-build-system-modules @@ -547,7 +547,7 @@ do so.") (define-public electrum (package (name "electrum") - (version "4.3.2") + (version "4.4.5") (source (origin (method url-fetch) @@ -555,13 +555,12 @@ do so.") version "/Electrum-" version ".tar.gz")) (sha256 - (base32 "1kbyinm9fnxpx9chkyd11yr9rxvcxvw3ml7kzvxcfa8v7jnl0dmx")) + (base32 "1gifnb927b51947psbj58c7kdsgncn3d9j7rpk5mls678yf1qd5d")) (modules '((guix build utils))) (snippet '(begin ;; Delete the bundled dependencies. - (delete-file-recursively "packages") - #t)))) + (delete-file-recursively "packages"))))) (build-system python-build-system) (inputs (list libsecp256k1 @@ -585,31 +584,13 @@ do so.") `(#:tests? #f ; no tests #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-prefix - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; setup.py installs to ~/.local/share if sys.prefix/share isn't - ;; writable. sys.prefix points to Python's, not our, --prefix. - (mkdir-p (string-append out "/share")) - (substitute* "setup.py" - (("sys\\.prefix") - (format #f "\"~a\"" out))) - #t))) - (add-after 'unpack 'relax-dnspython-version-requirement - ;; The version requirement for dnspython>=2.0,<2.1 makes the - ;; sanity-check phase fail, but the application seems to be working - ;; fine with dnspython 2.1 (the version we have currently). - (lambda _ - (substitute* "contrib/requirements/requirements.txt" - (("dnspython>=.*") - "dnspython")))) (add-after 'unpack 'use-libsecp256k1-input (lambda* (#:key inputs #:allow-other-keys) (substitute* "electrum/ecc_fast.py" - (("library_paths = .* 'libsecp256k1.so.0'.") - (string-append "library_paths = ('" + (("library_paths = \\[\\]") + (string-append "library_paths = ['" (assoc-ref inputs "libsecp256k1") - "/lib/libsecp256k1.so.0'")))))))) + "/lib/libsecp256k1.so']")))))))) (home-page "https://electrum.org/") (synopsis "Bitcoin wallet") (description @@ -622,7 +603,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (define-public electron-cash (package (name "electron-cash") - (version "4.2.14") + (version "4.3.1") (source (origin (method git-fetch) @@ -631,7 +612,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "086rqqxxh1dmw1qiwmry6sraai3xg44sb85wdw8zkj30si9780kk")))) + (base32 "0slx7hmlw2gpcqg951vwvnyl7j52pfzqyaldphghhfxbfzjs7v64")))) (build-system python-build-system) (arguments (list @@ -2199,7 +2180,7 @@ and manipulation.") (define-public xmrig (package (name "xmrig") - (version "6.19.2") + (version "6.20.0") (source (origin (method git-fetch) @@ -2207,7 +2188,7 @@ and manipulation.") (url "https://github.com/xmrig/xmrig") (commit (string-append "v" version)))) (file-name (git-file-name name version)) - (sha256 (base32 "1hgcfq79d5060iryr34bpwf1dvgqmbmn9mm4ccfvp896r10j482h")) + (sha256 (base32 "02clipcixn0g4sm3b5r1cxx56ddhjkm8sqnq40jy1zm66ad5zhkj")) (modules '((guix build utils))) (snippet ;; TODO: Try to use system libraries instead of bundled ones in @@ -2256,7 +2237,7 @@ mining.") (define-public p2pool (package (name "p2pool") - (version "3.2") + (version "3.5") (source (origin (method git-fetch) @@ -2265,7 +2246,7 @@ mining.") (commit (string-append "v" version)) (recursive? #t))) (file-name (git-file-name name version)) - (sha256 (base32 "0jwddazvp9rv88dd2b67rn2y23grycnl539abl5ax6b8a89wm7i8")) + (sha256 (base32 "1brv3lksajnmpf7g01jbx76nax6vlx8231sxb0s33yf76yc481xb")) (modules '((guix build utils))) (snippet #~(for-each delete-file-recursively @@ -2290,6 +2271,8 @@ mining.") (chdir "tests") (invoke "cmake" "../../source/tests") (invoke "make" "-j" (number->string (parallel-job-count))) + (invoke "gzip" "-d" "sidechain_dump.dat.gz") + (invoke "gzip" "-d" "sidechain_dump_mini.dat.gz") (invoke "./p2pool_tests") (chdir "..")))) (replace 'install diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 7aeec3468b..3dcc882e0c 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -336,7 +336,7 @@ by the b43-open driver of Linux-libre.") (define-public eg25-manager (package (name "eg25-manager") - (version "0.4.2") + (version "0.4.6") (source (origin (method git-fetch) (uri (git-reference @@ -345,11 +345,19 @@ by the b43-open driver of Linux-libre.") (file-name (git-file-name name version)) (sha256 (base32 - "1czq2yi852aqkdnrxdifzcq669bdvlm7j40xivxq77jq04fggpmf")))) + "1a591dhr43mhwh09n2vlfpw6aajl6d1vkwniikjvwfjrmp01v6yq")))) (build-system meson-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "udev/80-modem-eg25.rules" + (("/bin/grep") (search-input-file inputs "/bin/grep")))))))) (native-inputs (list curl `(,glib "bin") pkg-config)) - (inputs (list libgpiod libgudev libusb)) + (inputs (list grep libgpiod libgudev libusb)) (synopsis "Manager daemon for the Quectel EG25 mobile broadband modem") (description "This package provides a manager daemon for the Quectel EG25 mobile @@ -481,7 +489,7 @@ provide OpenFirmware functionality on top of an already running system.") (define* (make-opensbi-package platform name #:optional (arch "riscv64")) (package (name name) - (version "1.2") + (version "1.3") (source (origin (method git-fetch) @@ -490,7 +498,7 @@ provide OpenFirmware functionality on top of an already running system.") (commit (string-append "v" version)))) (file-name (git-file-name "opensbi" version)) (sha256 - (base32 "13k76ngmbs6xk8wm0vhc3fjs5w82g34wxs2zf4r27jd79m47xjb5")))) + (base32 "0shri9jlhi2g464l05vrkzr6v754m868rr4136kq2b86amypmg8f")))) (build-system gnu-build-system) (native-inputs (append @@ -1101,3 +1109,93 @@ such as: ((#:make-flags flags ''()) ;; Adding debug symbols causes the size to exceed limits. #~(delete "DEBUG=1" #$flags))))))) + +(define (make-crust-package platform) + (package + (name (string-append "crust-" + (string-replace-substring platform "_" "-"))) + (version "0.5") + (source + (origin + (method git-fetch) + (uri (git-reference + ;; There are only GitHub generated release snapshots. + (url "https://github.com/crust-firmware/crust") + (commit (string-append "v" version)))) + (file-name (git-file-name "crust" version)) + (sha256 + (base32 + "0xgbbhifg3miwd3yp6jq9kp7nqgz5gzy00w95vba45j8jk5vjvvz")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ;no test suite + #:make-flags + (let ((triplet-without-vendor + (and (%current-target-system) + (match (string-split (nix-system->gnu-triplet + (%current-target-system)) #\-) + ((arch vendor os ..1) + (string-join `(,arch ,@os) "-")))))) + #~(list "CROSS_COMPILE=or1k-elf-" + "V=1" + #$@(if triplet-without-vendor + ;; We are cross-compiling the tools, intended to be + ;; executable for the target system. + (list (string-append "HOSTAR=" triplet-without-vendor + "-ar") + (string-append "HOSTCC=" triplet-without-vendor + "-gcc")) + ;; Not cross-compiling. + (list "HOSTAR=ar" + "HOSTCC=gcc")) + "LEX=flex")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'do-not-build-tests + (lambda _ + ;; Attempting to build the tools test binary on a non-aarch64 + ;; architecture fails with: "No cache cleaning implementation + ;; available for this architecture". Avoid building it (see: + ;; https://github.com/crust-firmware/crust/issues/182). + (substitute* "tools/Makefile" + (("tools-y \\+= test") "")))) + (delete 'configure) + (add-before 'build 'defconfig + (lambda* (#:key make-flags #:allow-other-keys) + (let ((config-name (string-append #$platform "_defconfig"))) + (apply invoke "make" (cons config-name make-flags))))) + (replace 'install + (lambda _ + (for-each (lambda (file) + (install-file file (string-append #$output + "/libexec"))) + (find-files "." "(scp\\.bin|\\.config)$")) + (install-file "build/tools/load" + (string-append #$output "/bin"))))))) + ;; The firmware is cross-compiled using a "bare bones" compiler (no libc). + ;; Use our own tool chain for that. + (native-inputs + (list bison + (cross-gcc "or1k-elf") + (cross-binutils "or1k-elf") + flex)) + (home-page "https://github.com/crust-firmware/crust") + (synopsis "System control processor firmware for Allwinner sunxi boards") + (description "Crust improves battery life and thermal performance by +implementing a deep sleep state. During deep sleep, the CPU cores, the DRAM +controller, and most onboard peripherals are powered down, reducing power +consumption by 80% or more compared to an idle device. On boards without a +PMIC, Crust is also responsible for orderly power-off and power-on of the +device. For this to work, Crust runs outside the main CPU and DRAM, on a +dedicated always-on microprocessor called a System Control Processor (SCP). +Crust is designed to run on a specific SCP implementation, Allwinner's +AR100.") + ;; Most files are dual-licensed "BSD-3 OR GPL2", a few are GPL2 only. + (license (list license:bsd-3 license:gpl2)))) + +(define-public crust-pinebook + (make-crust-package "pinebook")) + +(define-public crust-pine64-plus + (make-crust-package "pine64_plus")) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 91e7ccc49f..1c4cccb6ae 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -55,6 +55,8 @@ ;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr> ;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org> ;;; Copyright © 2023 Arnaud Lechevallier <arnaud.lechevallier@free.fr> +;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com> +;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -185,6 +187,28 @@ well as other mediums.") in print. With attention to detail for high resolution rendering.") (license license:silofl1.1))) +(define-public font-intel-one-mono + (package + (name "font-intel-one-mono") + (version "1.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/intel/intel-one-mono") + (commit (string-append "V" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1md57997nzkz75ambsahawzy1x71qvkp6f87zcqibksm66yvcjdc")))) + (build-system font-build-system) + (home-page "https://github.com/intel/intel-one-mono") + (synopsis "Expressive monospaced font family") + (description + "This package provides Intel One Mono, an expressive monospaced font +family that's built with clarity, legibility, and the needs of developers in +mind.") + (license license:silofl1.1))) + (define-public font-dejavu (package (name "font-dejavu") @@ -2515,6 +2539,47 @@ orthography of Roman glyphs of Meera Inimai are also based on this characteristic so that they sit smoothly with the Tamil glyphs.") (license license:silofl1.1))) +(define-public font-ipa + (package + (name "font-ipa") + (version "003.03") + (source (origin + (method url-fetch/zipbomb) + (uri (string-append + "https://moji.or.jp/wp-content/ipafont/IPAfont/IPAfont" + (string-join (string-split version #\.) "") ".zip")) + (sha256 + (base32 + "1rbgfq14ld0cwas6bx5h7pwyv2hkfa8ihnphsaz1brxqliwysmgp")))) + (build-system font-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'make-read-only + (lambda _ + ;; Otherwise the files have the executable bit set. + (for-each (lambda (file) (chmod file #o444)) + (find-files "." #:directories? #f)))) + (add-after 'install 'install-doc + (lambda _ + (let ((font+version + #$(string-append "IPAfont" + (string-join (string-split version #\.) + ""))) + (doc-dir (string-append #$output "/share/doc/" #$name))) + (with-directory-excursion font+version + (mkdir-p doc-dir) + (copy-file (string-append "Readme_" font+version ".txt") + (string-append doc-dir "/README")) + (copy-file "IPA_Font_License_Agreement_v1.0.txt" + (string-append doc-dir "/LICENSE"))))))))) + (home-page "https://moji.or.jp/ipafont/") + (synopsis "Japanese font from the Information-technology Promotion Agency") + (description "This package provides Japanese outline fonts by +Information-technology Promotion Agency, Japan (IPA)") + (license license:ipa))) + (define-public font-ipa-ex (package (name "font-ipa-ex") @@ -3195,6 +3260,35 @@ minor tweaks to improve readability (a matter of taste of course). Most characters are just 4px wide, which is brilliant for low dpi(90-120) displays.") (license license:silofl1.1))) +(define-public font-velvetyne-jgs + ;; There are no releases nor tags. + (let ((revision "1") + (commit "b1fe344c6ab4cb97aa9ceb09ba3b6056f826b040")) + (package + (name "font-velvetyne-jgs") + (version (git-version "1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/velvetyne/jgs") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1hwaylgih66cqwcf68i2xdccrn0p0rbvmlz5f3mlzvm51s5pzqb8")))) + (build-system font-build-system) + (home-page "http://www.velvetyne.org/fonts/jgs-font") + (synopsis "Font designed especially for ASCII art") + (description + "The jgs font family can be used to combine several +characters to form contiguous lines. It contains several fonts: +@enumerate +@item jgs5 for sizes multiple of 1o (10px, 20px, 30px) +@item jgs7 for sizes multiple of 14 (14px, 28px, 42px) +@item jgs9 for sizes multiples of 18 (18px, 36px, 54px) +@end enumerate") + (license license:silofl1.1)))) + (define-public font-recursive (package (name "font-recursive") diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index ffaaa5caca..1b4e0064f4 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org> +;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1934,3 +1935,29 @@ PostScript Type 1, Type 1 Multiple Master, OpenType, and TrueType fonts. These tools are cfftot1, mmafm, mmpfb, otfinfo, otftotfm, t1dotlessj, t1lint, t1rawfm, t1reencode, t1testpage and ttftotype42.") (license license:gpl2+))) + +(define-public bdf2sfd + (package + (name "bdf2sfd") + (version "1.1.8") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fcambus/bdf2sfd") + (commit "1.1.8"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pa92gjiijp9xqnw9dcvz24s6qk11a4lp5q6s5psd6mpkhpd88zq")))) + (build-system cmake-build-system) + (home-page "https://github.com/fcambus/bdf2sfd") + (synopsis "BDF to SFD converter, allowing to vectorize bitmap fonts") + (description + "bdf2sfd is a +@uref{https://en.wikipedia.org/wiki/Glyph_Bitmap_Distribution_Format, +BDF} to @uref{https://fontforge.org/docs/techref/sfdformat.html, SFD} +converter, allowing to vectorize bitmap fonts. It works by converting +each pixel of a glyph to a polygon, which produces large and +unoptimized SFD files that should be post-processed using +@uref{https://fontforge.org, FontForge}.") + (license license:bsd-2))) diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index 31fc0bc5c6..13ac1a0b57 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -425,7 +425,7 @@ a hardware description and verification language.") (define-public nvc (package (name "nvc") - (version "1.8.1") + (version "1.9.2") (source (origin (method git-fetch) (uri (git-reference @@ -434,7 +434,7 @@ a hardware description and verification language.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "03dnn77n50b5n06gd81hh36gh0h2nc266yzwl70qjlb00qs8cf7p")))) + "0zifyn7fr4k73ga6iwvsbsl6gi5106vlv5mkmqs0svi0sqx847f4")))) (build-system gnu-build-system) (arguments `(#:out-of-source? #t diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 6385741d89..3bfc8b33ae 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -2214,15 +2214,19 @@ to applications simultaneously competing for fingerprint readers.") (description "This package contains a few command line utilities for working with desktop entries: - -desktop-file-validate: validates a desktop file and prints warnings/errors - about desktop entry specification violations. - -desktop-file-install: installs a desktop file to the applications directory, - optionally munging it a bit in transit. - -update-desktop-database: updates the database containing a cache of MIME types - handled by desktop files.") +@table @command +@item desktop-file-validate +Validates a desktop file and prints warnings/errors about desktop entry +specification violations. + +@item desktop-file-install +Installs a desktop file to the applications directory, optionally munging it +a bit in transit. + +@item update-desktop-database +Updates the database containing a cache of MIME types handled by desktop +files. +@end table") (license license:gpl2+))) (define-public xdg-user-dirs diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm index 18b886ba4e..cc33e821de 100644 --- a/gnu/packages/freeipmi.scm +++ b/gnu/packages/freeipmi.scm @@ -28,14 +28,14 @@ (define-public freeipmi (package (name "freeipmi") - (version "1.6.10") + (version "1.6.11") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/freeipmi/freeipmi-" version ".tar.gz")) (sha256 (base32 - "0zbszq9nn60vqm2gmwy6hmcz9yqb3lk064ib7l89q65n07ja3r7w")))) + "15x861i8r1gk44924d2pszlb8mapgkr18m3991vla4601y8xdyv5")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static" diff --git a/gnu/packages/fvwm.scm b/gnu/packages/fvwm.scm index db4cde0eb1..872810c658 100644 --- a/gnu/packages/fvwm.scm +++ b/gnu/packages/fvwm.scm @@ -36,7 +36,7 @@ (define-public fvwm (package (name "fvwm") - (version "2.6.9") + (version "2.7.0") (source (origin (method url-fetch) (uri (string-append @@ -44,7 +44,7 @@ version "/fvwm-" version ".tar.gz")) (sha256 (base32 - "1bliqcnap7vb3m2rn8wvxyfhbf35h9x34s41fl4301yhrkrlrihv")))) + "12s1wgkvrvl8m62gpb2918izfx9ysj7hgn9p00blfi3p1gb6v0k6")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 431bd5c5e4..eebe8ecbf4 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015, 2018, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2018 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org> -;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2021, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2020 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018 Julian Graham <joolean@gmail.com> @@ -2111,7 +2111,7 @@ that parenthetically inclined game developers need to make 2D (and eventually @item keyboard, mouse, controller input @item REPL-driven development model @end enumerate\n") - (license license:gpl3+))) + (license license:asl2.0))) (define-public bennu-game-development (package @@ -2427,7 +2427,8 @@ a.k.a. XenoCollide) as described in Game Programming Gems 7.") (arguments (list ;; XXX: The sole test is failing on i686 due to a rounding error. - #:tests? (not (target-x86-32?)) + #:tests? (not (or (target-x86-32?) + (%current-target-system))) #:configure-flags #~(list "-DODE_WITH_LIBCCD_SYSTEM=ON") #:phases #~(modify-phases %standard-phases @@ -2809,29 +2810,26 @@ much more.") (license license:zlib)))) (define-public recastnavigation - ;; We follow master since there hasn't been a release since 1.5.1 in 2016. - (let ((commit "6d1f9711b3b71f28c2c1c0742d76e0ef8766cf91") - (revision "2")) - (package - (name "recastnavigation") - (version (git-version "1.5.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/recastnavigation/recastnavigation") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0cqp0sbm0ixqnxqz6gf2gybh5l4az91mdsd8b5bgxs1wpl2jmnga")))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" - "-DRECASTNAVIGATION_DEMO=OFF" - "-DRECASTNAVIGATION_TESTS=ON" - "-DRECASTNAVIGATION_EXAMPLES=OFF"))) - (synopsis "Navigation system for games") - (description "Recast is state of the art navigation mesh + (package + (name "recastnavigation") + (version "1.6.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/recastnavigation/recastnavigation") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rdz3qmp4b961zjah2ax82h471j14w2rcf576gcyx7vldrg8dmj8")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" + "-DRECASTNAVIGATION_DEMO=OFF" + "-DRECASTNAVIGATION_TESTS=ON" + "-DRECASTNAVIGATION_EXAMPLES=OFF"))) + (synopsis "Navigation system for games") + (description "Recast is state of the art navigation mesh construction toolset for games. @itemize @@ -2854,8 +2852,8 @@ simple cases, as well as tiled navigation mesh which allows you to plug in and out pieces of the mesh. The tiled mesh allows you to create systems where you stream new navigation data in and out as the player progresses the level, or you may regenerate tiles as the world changes.") - (home-page "https://github.com/recastnavigation/recastnavigation") - (license license:zlib)))) + (home-page "https://github.com/recastnavigation/recastnavigation") + (license license:zlib))) (define-public raylib (package diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 8c00c2e66e..fdd3a0e21e 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -42,7 +42,7 @@ ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2019, 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com> ;;; Copyright © 2019 Dan Frumin <dfrumin@cs.ru.nl> -;;; Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2019-2023 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw> ;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com> @@ -70,7 +70,7 @@ ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> ;;; Copyright © 2022, 2023 Yovan Naumovski <yovan@gorski.stream> ;;; Copyright © 2022 Roman Riabenko <roman@riabenko.com> -;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe> +;;; Copyright © 2022, 2023 zamfofex <zamfofex@twdb.moe> ;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Hendursaga <hendursaga@aol.com> @@ -78,6 +78,7 @@ ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com> +;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -154,6 +155,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages haskell) + #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-crypto) #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages icu4c) @@ -201,6 +203,7 @@ #:use-module (gnu packages sqlite) #:use-module (gnu packages squirrel) #:use-module (gnu packages swig) + #:use-module (gnu packages tbb) #:use-module (gnu packages tcl) #:use-module (gnu packages terminals) #:use-module (gnu packages texinfo) @@ -222,6 +225,7 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system go) + #:use-module (guix build-system haskell) #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) @@ -415,6 +419,40 @@ Plenty of classic platforming in four nice colors guaranteed! The game includes a built-in editor so you can design and share your own maps.") (license license:gpl2+))) +(define-public anarch + (let ((commit "2d78d0c69a3aac14dbd8f8aca62d0cbd9d27c860") + (revision "1")) + (package + (name "anarch") + (version (git-version "1.1d" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~drummyfish/Anarch") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lg9r6q1davn5yj181ccygmvaigvm8fr9q2s1bc77a1vkz68vzdk")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no tests + #:phases #~(modify-phases %standard-phases + (delete 'configure) ;no configure script + (replace 'build + (lambda _ + (invoke "./make.sh" "sdl"))) + (replace 'install + (lambda _ + (let ((bin (string-append #$output "/bin"))) + (install-file "anarch" bin))))))) + (inputs (list alsa-lib libxcursor libxrandr sdl2)) + (home-page "https://drummyfish.gitlab.io/anarch/") + (synopsis "Public domain 90s-style shooter game") + (description "Anarch is a small, completely public domain, 90s-style +Doom clone shooter game.") + (license license:cc0)))) + (define-public armagetronad (package (name "armagetronad") @@ -2043,33 +2081,59 @@ scriptable with Guile.") (package (name "gnushogi") (version "1.4.2") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gnushogi/gnushogi-" - version ".tar.gz")) - (sha256 - (base32 - "0a9bsl2nbnb138lq0h14jfc5xvz7hpb2bcsj4mjn6g1hcsl4ik0y")))) - (arguments `(#:tests? #f)) ;; No check target. + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gnushogi/gnushogi-" version + ".tar.gz")) + (sha256 + (base32 + "0a9bsl2nbnb138lq0h14jfc5xvz7hpb2bcsj4mjn6g1hcsl4ik0y")) + (modules '((guix build utils))) + ;; Fix "warning: ISO C90 does not support ‘__func__’ predefined + ;; identifier [-Wpedantic]" + (snippet '(begin + (substitute* "gnushogi/dspwrappers.c" + (("__FUNCTION__") + "__extension__ __FUNCTION__")))))) + (arguments + `(#:configure-flags (list (string-append + "CFLAGS=" + (string-join '("-Wno-format" + "-Wno-unused-but-set-variable" + "-Wno-bool-compare") + " "))) + #:make-flags '("LDFLAGS=-z muldefs") + #:phases (modify-phases %standard-phases + ;; Skip --enable-fast-install flag + (replace 'configure + (lambda* (#:key outputs configure-flags #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "CONFIG_SHELL" + (which "sh")) + (setenv "SHELL" + (which "sh")) + (apply invoke "./configure" + (string-append "--prefix=" out) configure-flags))))) + #:test-target "sizetest")) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/gnushogi/") - (synopsis "The game of Shogi (Japanese chess)") - (description "GNU Shogi is a program that plays the game Shogi (Japanese -Chess). It is similar to standard chess but this variant is far more complicated.") + (synopsis "Game of Shogi (Japanese chess)") + (description + "GNU Shogi is a program that plays the game Shogi (Japanese Chess). +It is similar to standard chess but this variant is far more complicated.") (license license:gpl3+))) (define-public ltris (package (name "ltris") - (version "1.2.4") + (version "1.2.6") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/lgames/ltris/" "ltris-" version ".tar.gz")) (sha256 - (base32 "10wg6v12w3jms8ka2x9a87p06l9gzpr94ai9v428c9r320q7psyn")))) + (base32 "1xj65kn815x2hq1ynzjyc90dj178xwa2xvx7jx99qf60ahaf4g62")))) (build-system gnu-build-system) (arguments '(#:phases @@ -3582,6 +3646,37 @@ exec ~a/bin/freedink -refdir ~a/share/dink\n" ("bash" ,bash))) (native-inputs '()))) +(define-public fuzzylite + (package + (name "fuzzylite") + (version "6.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fuzzylite/fuzzylite") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0yay0qc81x0irlvxqpy7jywjxpkmpjabdhq2hdh28r9z85wp2nwb")) + (patches (search-patches "fuzzylite-use-catch2.patch" + "fuzzylite-soften-float-equality.patch" + "fuzzylite-relative-path-in-tests.patch")))) + (build-system cmake-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before 'configure 'switch-to-fuzzylite-dir + (lambda _ + (chdir "fuzzylite")))))) + (native-inputs (list catch2)) + (home-page "https://www.fuzzylite.com/") + (synopsis "Fuzzy logic control binary") + (description + "This package provides fuzzylite, a fuzzy logic control library which +allows one to easily create fuzzy logic controllers in a few steps utilizing +object-oriented programming.") + (license license:gpl3))) + (define-public xboard (package (name "xboard") @@ -10233,7 +10328,7 @@ can be downloaded from @url{https://zero.sjeng.org/best-network}.") (define-public q5go (package (name "q5go") - (version "1.0") + (version "2.1.3") (source (origin (method git-fetch) (uri (git-reference @@ -10242,10 +10337,10 @@ can be downloaded from @url{https://zero.sjeng.org/best-network}.") (file-name (git-file-name name version)) (sha256 (base32 - "1gdlfqcqkqv7vph3qwq78d0qz6dhmdsranxq9bmixiisbzkqby31")))) + "0x8x7mp61g3lwabx9z4vsyd743kfqibnqhym7xd0b7811flca3ri")))) (build-system gnu-build-system) (native-inputs - (list pkg-config)) + (list autoconf automake pkg-config)) (inputs (list qtbase-5 qtmultimedia-5 qtsvg-5)) (arguments @@ -10254,32 +10349,34 @@ can be downloaded from @url{https://zero.sjeng.org/best-network}.") (add-after 'unpack 'fix-configure-script (lambda _ ;; Bypass the unavailable qtchooser program. - (substitute* "configure" + (for-each delete-file + '("configure" + "Makefile.in" + "src/Makefile.in" + "src/translations/Makefile.in")) + (substitute* "configure.ac" + (("AC_PATH_PROG\\(qtchooser, .*\\)") + "") (("test -z \"QTCHOOSER\"") "false") - (("qtchooser -run-tool=(.*) -qt=qt5" _ command) - command)) - #t)) - (add-after 'unpack 'fix-header - (lambda _ - (substitute* "src/bitarray.h" - (("#include <cstring>" all) - (string-append all "\n#include <stdexcept>"))))) + (("\\$\\(qtchooser -list-versions\\)") + "qt5") + (("qtchooser -run-tool=(.*) -qt=\\$QT5_NAME" _ command) + command)))) (add-after 'unpack 'fix-paths - (lambda _ - (substitute* '("src/pics/Makefile.in" - "src/translations/Makefile.in") - (("\\$\\(datadir\\)/qGo/") - "$(datadir)/q5go/")) - #t)) + (lambda* (#:key outputs #:allow-other-keys) + (substitute* '("src/setting.cpp") + (("/usr/share/\" PACKAGE \"/translations") + (string-append (assoc-ref outputs "out") + "/share/qGo/translations"))))) (add-after 'install 'install-desktop-file (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (apps (string-append out "/share/applications")) - (pics (string-append out "/share/q5go/pics"))) + (images (string-append out "/share/qGo/images"))) (delete-file-recursively (string-append out "/share/applnk")) (delete-file-recursively (string-append out "/share/mimelnk")) - (install-file "../source/src/pics/Bowl.ico" pics) + (install-file "../source/src/images/Bowl.ico" images) (mkdir-p apps) (with-output-to-file (string-append apps "/q5go.desktop") (lambda _ @@ -10299,8 +10396,7 @@ can be downloaded from @url{https://zero.sjeng.org/best-network}.") Comment[zh]=围棋~@ Terminal=false~@ Type=Application~%" - out pics)))) - #t))))) + out images))))))))) (synopsis "Qt GUI to play the game of Go") (description "This a tool for Go players which performs the following functions: @@ -10568,14 +10664,14 @@ ChessX.") (define-public barrage (package (name "barrage") - (version "1.0.6") + (version "1.0.7") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/lgames/barrage/" "barrage-" version ".tar.gz")) (sha256 - (base32 "1bhx708s7viv01m6bmpjsdgr33wk5kqw4wf7bvgw73a07v6j8ncw")))) + (base32 "0j7j6n5h97xpw0h8zi5a8ziw1vjsbr5gk4dcsiwzh59qn0djnrkh")))) (build-system gnu-build-system) (inputs (list hicolor-icon-theme sdl sdl-mixer)) @@ -11212,6 +11308,54 @@ Magic II (aka HOMM2) game engine. It requires assets and game resources to play; it will look for them at @file{~/.local/share/fheroes2} folder.") (license license:gpl2))) +(define-public vcmi + (package + (name "vcmi") + (version "1.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vcmi/vcmi") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0f3fk1fc2wb7f2j4pxz89dzr8zjnrdh435mijia483a3bq59w7pk")) + (patches (search-patches "vcmi-disable-privacy-breach.patch")))) + (build-system cmake-build-system) + (arguments + (list #:configure-flags #~(list "-DFORCE_BUNDLED_FL=OFF") + ;; Test suites do not seem well supported upstream and are disabled by default. + ;; Pass -DENABLE_TEST to configure to enable. + #:tests? #f)) + (native-inputs + (list boost + ffmpeg + fuzzylite + ;; googletest ; needed for tests, but tests are disabled + libxkbcommon + luajit + minizip + pkg-config + python + ;; XXX: Build currently fails with qtbase-6 and qttools-6 + qtbase-5 + qttools-5 + sdl2 + sdl2-mixer + sdl2-image + sdl2-ttf + tbb + vulkan-headers + zlib)) + (home-page "https://vcmi.eu/") + (synopsis "Turn-based strategy game engine") + (description + "@code{vcmi} is an implementation of the Heroes of Might and +Magic III game engine. It requires assets and game resources to +play; it will look for them at @file{~/.local/share/vcmi} folder.") + (license license:gpl2))) + (define-public apricots (package (name "apricots") @@ -11278,6 +11422,45 @@ original, they have been invented by Thomas Colcombet.") (home-page "https://www.gnu.org/software/liquidwar6/") (license license:gpl3+))) +(define-public plunder + (let ((commit "026ded7083df5134bdf05b1ec7e5a0099ac9b9d2") + (revision "1")) + (package + (name "plunder") + (version (git-version "1.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jappeace/plunder") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0m0v8x6q9iq4zihwmysbxjwkq18nar6xhq4g18p2g8c6azj2mgd6")))) + (build-system haskell-build-system) + (inputs (list ghc-monadrandom + ghc-quickcheck + ghc-file-embed + ghc-generic-lens + ghc-lens + ghc-random + ghc-reflex + ghc-reflex-sdl2 + ghc-sdl2 + ghc-sdl2-gfx + ghc-sdl2-image + ghc-sdl2-ttf + ghc-vector + ghc-witherable)) + (native-inputs (list ghc-hspec ghc-hspec-core hspec-discover)) + (home-page "https://github.com/jappeace/plunder") + (synopsis "Game about looting a hexagonal-tile world") + (description + "This package provides a work-in-progress game where you control a +Viking and your objective is to loot all of the occupied hexagonal tiles in +the map.") + (license license:expat)))) + (define-public freerct (package (name "freerct") diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 1b444c2b02..862fdd79c3 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -614,7 +614,10 @@ Go. It also includes runtime support libraries for these languages.") (append %gcc-10-x86_64-micro-architectures '("sapphirerapids" "alterlake" "rocketlake" ;Intel - "btver1" "btver2"))) ;AMD + "btver1" "btver2" ;AMD + + ;; psABI micro-architecture levels + "x86_64-v1" "x86_64-v2" "x86_64-v3" "x86_64-v4"))) ;; Suitable '-march' values for GCC 12. (define %gcc-12-aarch64-micro-architectures diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index a8d8a86ea8..34d081dc9e 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -114,14 +114,14 @@ ("libxml2" ,libxml2) ;; The Hurd needs -lshouldbeinlibc. - ,@(if (hurd-target?) + ,@(if (target-hurd?) `(("hurd" ,hurd)) '()))) (native-inputs `(("texinfo" ,texinfo) ("dejagnu" ,dejagnu) ("pkg-config" ,pkg-config) - ,@(if (hurd-target?) + ,@(if (target-hurd?) ;; When cross-compiling from x86_64-linux, make sure to use a ;; 32-bit MiG because we assume target i586-pc-gnu. `(("mig" ,(if (%current-target-system) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 6ad3c87ff1..cce4f2518d 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017, 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2018, 2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018, 2019, 2020, 2021 Julien Lepiller <julien@lepiller.eu> @@ -48,6 +48,7 @@ #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix build-system qt) + #:use-module (guix build-system r) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix git-download) @@ -71,6 +72,7 @@ #:use-module (gnu packages cpp) #:use-module (gnu packages cups) #:use-module (gnu packages curl) + #:use-module (gnu packages cran) #:use-module (gnu packages databases) #:use-module (gnu packages datastructures) #:use-module (gnu packages docbook) @@ -81,6 +83,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) @@ -92,6 +95,7 @@ #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages image-processing) + #:use-module (gnu packages imagemagick) #:use-module (gnu packages java) #:use-module (gnu packages kde) #:use-module (gnu packages libusb) @@ -119,16 +123,49 @@ #:use-module (gnu packages sdl) #:use-module (gnu packages speech) #:use-module (gnu packages sqlite) + #:use-module (gnu packages statistics) #:use-module (gnu packages swig) #:use-module (gnu packages textutils) #:use-module (gnu packages time) #:use-module (gnu packages tls) + #:use-module (gnu packages video) #:use-module (gnu packages web) #:use-module (gnu packages webkit) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) +(define-public gmt + (package + (name "gmt") + (version "6.4.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/GenericMappingTools/gmt/" + "releases/download/" + version "/gmt-" version "-src.tar.xz")) + (sha256 + (base32 "0wh694cwcw2dz5rsh6pdn9irx08d65iih0vbxz350vzrkkjzyvml")))) + (build-system cmake-build-system) + (arguments (list #:tests? #false)) ;tests need costline data and caches + (inputs + (list curl ffmpeg fftw gdal geos ghostscript netcdf openblas pcre2)) + (native-inputs + (list graphicsmagick pkg-config)) + (home-page "https://www.generic-mapping-tools.org/") + (synopsis "Generic mapping tools") + (description "GMT is a collection of about 100 command-line tools for +manipulating geographic and Cartesian data sets (including filtering, trend +fitting, gridding, projecting, etc.) and producing high-quality illustrations +ranging from simple x-y plots via contour maps to artificially illuminated +surfaces, 3D perspective views and animations. The GMT supplements add +another 50 more specialized and discipline-specific tools. GMT supports over +30 map projections and transformations and requires support data such as GSHHG +coastlines, rivers, and political boundaries and optionally DCW country +polygons.") + (license license:lgpl3+))) + (define-public libaec (package (name "libaec") @@ -840,14 +877,14 @@ projections and coordinate transformations library.") (define-public python-fiona (package (name "python-fiona") - (version "1.8.20") + (version "1.9.4.post1") (source (origin (method url-fetch) (uri (pypi-uri "Fiona" version)) (sha256 (base32 - "0fql7i7dg1xpbadmk8d26dwp91v7faixxc4wq14zg0kvhp9041d7")))) + "083120rqc4rrqzgmams0yjd8b1h4p5xm4n9fnxg064ymw3vx6yan")))) (build-system python-build-system) (arguments `(#:phases @@ -876,16 +913,13 @@ projections and coordinate transformations library.") python-click python-click-plugins python-cligj - python-munch - python-setuptools - python-six - python-pytz)) + python-importlib-metadata + python-six)) (native-inputs (list gdal ; for gdal-config python-boto3 python-cython - python-pytest - python-pytest-cov)) + python-pytest python-pytest-cov python-pytz)) (home-page "https://github.com/Toblerity/Fiona") (synopsis "Fiona reads and writes spatial data files") @@ -903,34 +937,27 @@ pyproj, Rtree, and Shapely.") (define-public python-geopandas (package (name "python-geopandas") - (version "0.10.2") + (version "0.13.2") (source (origin (method url-fetch) (uri (pypi-uri "geopandas" version)) (sha256 (base32 - "1nvim2i47ap1zdwy6kxydskf1cir5g4ij8124wvmrqij0zklggzg")))) - (build-system python-build-system) + "0s59jjk02l1zajz95n1c7fr3fyj44wzxn569q2y7f34042f6vdg5")))) + (build-system pyproject-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "pytest" - ; Disable tests that fail due to incompatibilities - ; with our pandas version. - "-k" - (string-append - "not test_getitem_invalid" - " and not test_value_counts" - " and not test_setitem_invalid" - " and not test_insert_invalid") - ; Disable tests that require internet access. - "-m" "not web"))))))) + (list + #:test-flags + '(list + ;; Test files are missing + "--ignore=geopandas/tests/test_overlay.py" + "--ignore=geopandas/io/tests/test_file.py" + ;; Disable tests that require internet access. + "-m" "not web"))) (propagated-inputs - (list python-fiona python-pandas python-pyproj python-shapely)) + (list python-fiona python-packaging python-pandas python-pyproj + python-shapely)) (native-inputs (list python-pytest)) (home-page "https://geopandas.org") @@ -2120,6 +2147,34 @@ using the dataset of topographical information collected by (home-page "https://www.routino.org/") (license license:agpl3+))) +(define-public r-rnaturalearthhires + (let ((commit "c3785a8c44738de6ae8f797080c0a337ebed929d") + (revision "1")) + (package + (name "r-rnaturalearthhires") + (version (git-version "0.2.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ropensci/rnaturalearthhires") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fr0yb2fbr9zbk7gqr3rnzz2w4ijjpl6hlzdrh4n27lf0ip3h0cx")))) + (properties `((upstream-name . "rnaturalearthhires"))) + (build-system r-build-system) + (propagated-inputs (list r-sp)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/ropensci/rnaturalearthhires") + (synopsis + "High Resolution World Vector Map Data from Natural Earth used in rnaturalearth") + (description + "Facilitates mapping by making natural earth map data from http:// +www.naturalearthdata.com/ more easily available to R users. Focuses on vector +data.") + (license license:cc0)))) + (define-public qmapshack (package (name "qmapshack") @@ -2786,17 +2841,20 @@ growing set of geoscientific methods.") sqlite (list zstd "lib"))) (native-inputs - (list bison - flex - perl - perl-yaml-tiny - pkg-config - python-mock - python-nose2 - python-pyqt-builder - qttools-5 - shellcheck - xorg-server-for-tests)) + (append + (list bison + flex + perl + perl-yaml-tiny + pkg-config + python-mock + python-nose2 + python-pyqt-builder + qttools-5) + (if (supported-package? shellcheck) + (list shellcheck) + '()) + (list xorg-server-for-tests))) (home-page "https://qgis.org") (synopsis "Geographical information system") (description "QGIS is an easy to use Geographical Information diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index 9387f4fb8a..114d8cf7af 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Miguel <rosen644835@gmail.com> -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 EuAndreh <eu@euandre.org> ;;; Copyright © 2022 gemmaro <gemmaro.dev@gmail.com> ;;; Copyright © 2023 Maxim Cournoyer maxim.cournoyer@gmail.com> @@ -42,7 +42,6 @@ #:use-module (gnu packages check) #:use-module (gnu packages docbook) #:use-module (gnu packages emacs) - #:use-module (gnu packages hurd) #:use-module (gnu packages libunistring) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) @@ -124,7 +123,7 @@ "coreutils-gnulib-tests.patch"))))) '()) - #$@(if (hurd-target?) + #$@(if (target-hurd?) #~((substitute* "gettext-tools/gnulib-tests/Makefile.in" ;; See 'coreutils' for the rationale. @@ -135,7 +134,7 @@ ;; When tests fail, we want to know the details. #:make-flags #~'("VERBOSE=yes" - #$@(if (hurd-target?) + #$@(if (target-hurd?) '("XFAIL_TESTS=test-perror2") '())))) (home-page "https://www.gnu.org/software/gettext/") diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index 4611315e00..0507fc749b 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2022 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2022 Sughosha <sughosha@proton.me> ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> +;;; Copyright © 2023 Eidvilas Markevičius <markeviciuseidvilas@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -296,18 +297,17 @@ shadows, highlights, and gradients for some depth.") (define-public flat-remix-gnome-theme (package (name "flat-remix-gnome-theme") - (version "20221107-1") + (version "20230508") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/daniruiz/flat-remix-gnome") - ;; This commit adds GtkSourceView 5 theme, for GNOME Text Editor. - (commit "b5616efc515e9f1417436e67d94718db7529a2ba"))) + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "10fgdz8hz8rd7aj4vb3bvl8khzb2fvaia7n00gi0x19yvnnh36pr")))) + (base32 "1b31ayb4qvcr5m3dqcidl9ilpp3w4mr56wq6vrp73g4cj558pi9h")))) (build-system copy-build-system) (arguments `(#:install-plan @@ -1329,6 +1329,61 @@ Speakers etc. of the same device are also displayed for selection.") of windows.") (license license:expat)))) +(define-public gnome-shell-extension-vitals + (package + (name "gnome-shell-extension-vitals") + (version "62.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/corecoding/Vitals") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0wmw5yd38vyv13x6frbafp21bdhlyjd5ggimdf2696irfhnm828h")) + (modules '((guix build utils))) + (snippet '(begin + (delete-file "schemas/gschemas.compiled") + (for-each delete-file + (find-files "locale" "\\.mo$")))))) + (build-system copy-build-system) + (native-inputs (list `(,glib "bin") gettext-minimal)) + (inputs (list libgtop)) + (arguments + (list #:modules '((guix build copy-build-system) + (guix build utils) + (ice-9 string-fun)) + #:phases #~(modify-phases %standard-phases + (add-before 'install 'compile-schemas + (lambda _ + (invoke "glib-compile-schemas" "--strict" + "schemas"))) + (add-before 'install 'compile-locales + (lambda _ + (for-each (lambda (file) + (let ((destfile (string-replace-substring + file ".po" ".mo"))) + (invoke "msgfmt" "-c" file "-o" + destfile))) + (find-files "locale" "\\.po$"))))) + #:install-plan #~'(("." + "share/gnome-shell/extensions/Vitals@CoreCoding.com" + #:include-regexp ("\\.js(on)?$" "\\.css$" + "\\.ui$" + "\\.svg$" + "\\.xml$" + "\\.mo$" + "\\.compiled$"))))) + (home-page "https://github.com/corecoding/Vitals") + (synopsis + "GNOME Shell extension displaying computer resource/sensor stats") + (description + "Vitals is a GNOME Shell extension that can display the computer +temperature, voltage, fan speed, memory usage and CPU load from the top menu +bar of the GNOME Shell.") + (license license:gpl2+))) + (define-public arc-theme (package (name "arc-theme") diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 22588ffe28..360c657741 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3303,7 +3303,7 @@ compiles to GTKBuilder XML.") (define-public cambalache (package (name "cambalache") - (version "0.10.3") + (version "0.12.1") (source (origin (method git-fetch) (uri (git-reference @@ -3311,7 +3311,7 @@ compiles to GTKBuilder XML.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1nq9bvly4dm1xnh90z3b4c5455qpdgm3jgz2155vg2ai23f22vsy")))) + (base32 "1da8d5msk4ivmk5inaq8w0m78dsp7crarr9jmybag1c8qmqsjq4h")))) (build-system meson-build-system) (arguments (list @@ -3321,6 +3321,7 @@ compiles to GTKBuilder XML.") #:modules '((guix build meson-build-system) ((guix build python-build-system) #:prefix python:) (guix build utils)) + #:tests? #f ; XXX: tests spawn a socket... #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-source @@ -3331,8 +3332,16 @@ compiles to GTKBuilder XML.") inputs (string-append "bin/" cmd))))))) (add-after 'unpack 'patch-build (lambda _ + (substitute* "meson.build" + (("find_program\\('gtk-update-icon-cache'.*\\)") "") + (("find_program\\('update-desktop-database'.*\\)") "")) (substitute* "postinstall.py" + (("gtk-update-icon-cache") "true") (("update-desktop-database") "true")))) + (add-after 'unpack 'fake-cc + (lambda _ + (substitute* "tools/cmb_init_dev.py" + (("\"cc") (string-append "\"" #$(cc-for-target)))))) (add-after 'wrap 'python-wrap (assoc-ref python:%standard-phases 'wrap)) (delete 'check) (add-after 'install 'add-install-to-pythonpath @@ -3372,23 +3381,31 @@ compiles to GTKBuilder XML.") adwaita-icon-theme hicolor-icon-theme gsettings-desktop-schemas gtk + gtksourceview-4 `(,gtk+ "bin") ; broadwayd `(,gtk "bin") libadwaita libhandy (librsvg-for-system) python + python-pycairo python-pygobject python-lxml - webkitgtk-with-libsoup2)) - (native-inputs (list `(,glib "bin") gobject-introspection - gettext-minimal pkg-config - python-pytest xorg-server-for-tests)) + webkitgtk + webkitgtk-next)) + (native-inputs + (list `(,glib "bin") + gobject-introspection + gettext-minimal + pkg-config + python-pytest + weston + xorg-server-for-tests)) (home-page "https://gitlab.gnome.org/jpu/cambalache") (synopsis "Rapid application development tool") - (description "Cambalache is a rapid application development (RAD) tool for -Gtk 4 and 3 with a clear model-view-controller (MVC) design and -data model first philosophy.") + (description "Cambalache is a @acronym{RAD, rapid application development} +tool for Gtk 4 and 3 with a clear @acronym{MVC, model-view-controller} design +and data model first philosophy.") (license (list license:lgpl2.1 license:gpl2)))) ; tools @@ -4294,7 +4311,7 @@ Hints specification (EWMH).") gtk+ goffice libgsf - librsvg + (librsvg-for-system) libxml2 libxslt python @@ -4938,8 +4955,10 @@ libxml to ease remote use of the RESTful API.") (base32 "1qy2291d2vprdbbxmf0sa98izk09nl3znzzv7lckwf6f1v0sarlj")))) (build-system meson-build-system) - (arguments (substitute-keyword-arguments (package-arguments rest) - ((#:tests? _ #f) #t) + (arguments (substitute-keyword-arguments + (strip-keyword-arguments + '(#:tests?) + (package-arguments rest)) ((#:configure-flags _) ;; Do not build the optional 'librest-demo' program as it ;; depends on gtksourceview and libadwaita and thus, @@ -9607,6 +9626,12 @@ endpoint and it understands SPARQL.") tracker upower zlib)) + (native-search-paths + (list (search-path-specification + (variable "TRACKER_CLI_SUBCOMMANDS_DIR") + (separator #f) ; single entry + (files `(,(string-append "libexec/tracker" + (version-major version))))))) (synopsis "Metadata database, indexer and search tool") (home-page "https://wiki.gnome.org/Projects/Tracker") (description @@ -10035,7 +10060,6 @@ world.") epiphany evince file-roller - gnome-boxes gnome-calculator gnome-calendar gnome-characters diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index ff7499263e..f16a223d10 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -409,14 +409,14 @@ services.") "faketime -m -f '1970-01-01 00:00:00' $(TEXMACS_CONVERT)"))))))) (inputs (list guile-3.0)) ;for pkg-config (propagated-inputs (list guile-bytestructures guile-gcrypt guile-pfds - guile-fibers-1.1)) + guile-fibers-1.3)) (native-inputs (list guile-3.0 ;as a compiler ;; for cross-compilation, the guile inputs need to be ;; native-inputs as well. guile-bytestructures guile-gcrypt guile-pfds - guile-fibers-1.1 + guile-fibers-1.3 libfaketime automake autoconf diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index e40d2b8922..3b8df8f249 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -518,9 +518,9 @@ variable defined below. It requires guile-json to be installed." ;; XXXX: Workaround 'snippet' limitations. (define computed-origin-method (@@ (guix packages) computed-origin-method)) -(define %icecat-base-version "102.12.0") +(define %icecat-base-version "102.13.0") (define %icecat-version (string-append %icecat-base-version "-guix0-preview1")) -(define %icecat-build-id "20230606000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-build-id "20230704000000") ;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' @@ -540,12 +540,12 @@ variable defined below. It requires guile-json to be installed." "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "189irpd8xkwh3qixbbcmn5jblx7jz80rilcq8ihaawpmdh76safp")))) + "0b1sq4cadzqi7rk3cz6k6l5bg5s02ivff2n3gznd2rdzwhysngzw")))) ;; The upstream-icecat-base-version may be older than the ;; %icecat-base-version. - (upstream-icecat-base-version "102.12.0") - (gnuzilla-commit "b2d463b0e331795eebe3ee62f2c58c1bd05b9899") + (upstream-icecat-base-version "102.13.0") + (gnuzilla-commit "8c8a8ecc9322b0954e3d51f661866dbde1e6b1c3") (gnuzilla-source (origin (method git-fetch) @@ -557,7 +557,7 @@ variable defined below. It requires guile-json to be installed." (string-take gnuzilla-commit 8))) (sha256 (base32 - "0db03i3xmapdr0xyb9yg6cl66kyxavnl22hhhnf85ffnlfrcdx2r")))) + "1x382a2v1djbf7dv5gs05kj48jj7inw9czi9r3cl57frn4ilfzmq")))) ;; 'search-patch' returns either a valid file name or #f, so wrap it ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. @@ -1138,8 +1138,8 @@ standards of the IceCat project.") "ru" "sco" "si" "sk" "sl" "son" "sq" "sr" "sv-SE" "szl" "ta" "te" "th" "tl" "tr" "trs" "uk" "ur" "uz" "vi" "xh" "zh-CN" "zh-TW")) -(define %icedove-build-id "20230527000000") ;must be of the form YYYYMMDDhhmmss -(define %icedove-version "102.11.2") +(define %icedove-build-id "20230705000000") ;must be of the form YYYYMMDDhhmmss +(define %icedove-version "102.13.0") ;; Provides the "comm" folder which is inserted into the icecat source. ;; Avoids the duplication of Icecat's source tarball. @@ -1148,11 +1148,11 @@ standards of the IceCat project.") (method hg-fetch) (uri (hg-reference (url "https://hg.mozilla.org/releases/comm-esr102") - (changeset "c406f857789ca8a8943b895f4cadfc61921860ab"))) + (changeset "2bf94c4d195694485df5d632f2453888cf4f6657"))) (file-name (string-append "thunderbird-" %icedove-version "-checkout")) (sha256 (base32 - "1id7wlj16zbgxyxx672vls7h3sq1153grrfqgw71y2ps6zwzxg67")))) + "1nzbvw1n6wdjbsq0cvyq8av2xf775cp4gkvsjc7i5qzvhl84wg4l")))) (define (comm-source->locales+changeset source) "Given SOURCE, a checkout of the Thunderbird 'comm' component, return the diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index d51c023808..ea6aadbe80 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -628,6 +628,13 @@ in the style of communicating sequential processes (@dfn{CSP}).") `(("go-fix-script-tests.patch" ,(search-patch "go-fix-script-tests.patch")) ,@(package-native-inputs go-1.14))))) +;; https://github.com/golang/go/wiki/MinimumRequirements#microarchitecture-support +(define %go-1.17-arm-micro-architectures + (list "armv5" "armv6" "armv7")) + +(define %go-1.17-powerpc64le-micro-architectures + (list "power8" "power9")) + (define-public go-1.17 (package (inherit go-1.16) @@ -844,7 +851,14 @@ in the style of communicating sequential processes (@dfn{CSP}).") "README.md" "SECURITY.md")))))))) (inputs (if (not (or (target-arm?) (target-ppc64le?))) (alist-delete "gcc:lib" (package-inputs go-1.16)) - (package-inputs go-1.16))))) + (package-inputs go-1.16))) + (properties + `((compiler-cpu-architectures + ("armhf" ,@%go-1.17-arm-micro-architectures) + ("powerpc64le" ,@%go-1.17-powerpc64le-micro-architectures)))))) + +(define %go-1.18-x86_64-micro-architectures + (list "x86_64-v1" "x86_64-v2" "x86_64-v3" "x86_64-v4")) (define-public go-1.18 (package @@ -887,7 +901,12 @@ in the style of communicating sequential processes (@dfn{CSP}).") "ldflags, err := setextld(ldflags, compiler)\n" "ldflags = append(ldflags, \"-r\")\n" "ldflags = append(ldflags, \"" gcclib "\")\n"))))))) - '()))))))) + '()))))) + (properties + `((compiler-cpu-architectures + ("armhf" ,@%go-1.17-arm-micro-architectures) + ("powerpc64le" ,@%go-1.17-powerpc64le-micro-architectures) + ("x86_64" ,@%go-1.18-x86_64-micro-architectures)))))) (define-public go-1.19 (package @@ -2755,7 +2774,7 @@ jar struct to manage the cookies added to the cookie jar.") '(#:unpack-path "github.com/gizak/termui" #:import-path "github.com/gizak/termui/v3")) (propagated-inputs - (list go-github.com-mattn-go-runewidth + (list go-github-com-mattn-go-runewidth go-github-com-mitchellh-go-wordwrap go-github.com-nsf-termbox-go)) (home-page "https://github.com/gizak/termui") (synopsis "Terminal dashboard widget Go library") @@ -3213,6 +3232,35 @@ and anniversaries.") "This is the official AWS SDK for the Go programming language.") (license license:asl2.0))) +(define-public go-gopkg-in-square-go-jose-v2 + (package + (name "go-gopkg-in-square-go-jose-v2") + (version "2.6.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/square/go-jose") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1b1nhqxfmhzwrfk7pkvp2w3z3d0pf5ir00vizmy2d4xdbnldn70r")))) + (build-system go-build-system) + (arguments + (list #:import-path "gopkg.in/square/go-jose.v2")) + (propagated-inputs + (list go-golang-org-x-crypto)) + (native-inputs + (list go-github-com-google-go-cmp-cmp + go-github-com-stretchr-testify)) + (home-page "https://gopkg.in/square/go-jose.v2") + (synopsis "Implementation of JOSE standards (JWE, JWS, JWT) in Go") + (description + "This package aims to provide an implementation of the Javascript Object +Signing and Encryption set of standards. This includes support for JSON Web +Encryption, JSON Web Signature, and JSON Web Token standards.") + (license license:asl2.0))) + (define-public go-gopkg.in-tomb.v2 (let ((commit "d5d1b5820637886def9eef33e03a27a9f166942c") (revision "0")) @@ -3355,6 +3403,80 @@ per-goroutine.") (description "The @code{walker} function is a faster, parallel version, of @code{filepath.Walk}"))) +(define-public go-github-com-tdewolff-minify-v2 + (package + (name "go-github-com-tdewolff-minify-v2") + (version "2.12.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tdewolff/minify") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0h006wpfkl0ls0skqxblwcanrhmphgq5q0ii26l2ayh7s99cgmy3")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/tdewolff/minify/v2")) + (propagated-inputs + (list go-github-com-tdewolff-parse-v2)) + (native-inputs + (list go-github-com-tdewolff-test)) + (home-page "https://go.tacodewolff.nl/minify") + (synopsis "Go minifiers for web formats") + (description + "This package provides HTML5, CSS3, JS, JSON, SVG and XML minifiers and +an interface to implement any other minifier.") + (license license:expat))) + +(define-public go-github-com-tdewolff-parse-v2 + (package + (name "go-github-com-tdewolff-parse-v2") + (version "2.6.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tdewolff/parse") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1dqki9ima079k9a3l72igmx5dml8qsl9z8rzw8a433f4gjhlv320")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/tdewolff/parse/v2")) + (native-inputs + (list go-github-com-tdewolff-test)) + (home-page "https://github.com/tdewolff/parse") + (synopsis "Go parsers for web formats") + (description + "This package contains several lexers and parsers written in Go.") + (license license:expat))) + +(define-public go-github-com-tdewolff-test + (package + (name "go-github-com-tdewolff-test") + (version "1.0.9") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tdewolff/test") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10myz3zdkqmx37cvj507h7l2ncb0rq9shqvz9ggq1swijbsvazff")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/tdewolff/test")) + (home-page "https://github.com/tdewolff/test") + (synopsis "Go test helper functions") + (description + "This package implements a few functions that are useful for io testing, +such as readers and writers that fail after N consecutive reads/writes.") + (license license:expat))) + (define-public go-github-com-tj-docopt (package (name "go-github-com-tj-docopt") @@ -3646,6 +3768,31 @@ developed by the Go team. It provides IDE features to any LSP-compatible editor.") (license license:bsd-3))) +(define-public go-github-com-pquerna-cachecontrol + (package + (name "go-github-com-pquerna-cachecontrol") + (version "0.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pquerna/cachecontrol") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0d5zgv2w0sinh9m41pw3n015zzyabk7awgwwga7nmhjz452c9r5n")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/pquerna/cachecontrol")) + (native-inputs + (list go-github-com-stretchr-testify)) + (home-page "https://github.com/pquerna/cachecontrol") + (synopsis "Golang HTTP Cache-Control Parser and Interpretation") + (description + "This package implements RFC 7234 Hypertext Transfer Protocol (HTTP/1.1): +Caching.") + (license license:asl2.0))) + (define-public go-github-com-protonmail-go-crypto (package (name "go-github-com-protonmail-go-crypto") @@ -4195,6 +4342,30 @@ Features include: (propagated-inputs (list go-gopkg-in-yaml-v3)))) +(define-public go-github-com-technoweenie-multipartstreamer + (package + (name "go-github-com-technoweenie-multipartstreamer") + (version "1.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/technoweenie/multipartstreamer") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "159jhcabdkds8m5777zfs8p5z3snpjhzz7q9aq9wjpcvh6xlljqa")))) + (build-system go-build-system) + (arguments + (list #:tests? #f ; Upstream tests are broken. + #:import-path "github.com/technoweenie/multipartstreamer")) + (home-page "https://github.com/technoweenie/multipartstreamer") + (synopsis "MIME multipart format streamer") + (description + "This package helps you encode large files in MIME multipart format +without reading the entire content into memory.") + (license license:expat))) + (define-public go-github-com-tevino-abool (let ((commit "3c25f2fe7cd0ef3eabefce1d90efd69a65d35b12") @@ -5332,6 +5503,27 @@ The yaml package supports most of YAML 1.2, but preserves some behavior from 1.1 for backwards compatibility.") (license license:asl2.0))) +(define-public go-github-com-matrix-org-gomatrix + (package + (name "go-github-com-matrix-org-gomatrix") + (version "0.0.0-20220926102614-ceba4d9f7530") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/matrix-org/gomatrix") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0vq29bdswvffxsmwvi20wnk73xk92dva0fdr2k3zshr4z10ypm2x")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/matrix-org/gomatrix")) + (home-page "https://github.com/matrix-org/gomatrix") + (synopsis "Golang Matrix client") + (description "This package provides a Golang Matrix client.") + (license license:asl2.0))) + (define-public go-github-com-mattn-go-isatty (package (name "go-github-com-mattn-go-isatty") @@ -7105,7 +7297,7 @@ encoding in Go.") (arguments `(#:import-path "github.com/gdamore/tcell")) (inputs - (list go-github.com-mattn-go-runewidth + (list go-github-com-mattn-go-runewidth go-github-com-lucasb-eyer-go-colorful go-golang-org-x-text go-github-com-gdamore-encoding)) @@ -7121,7 +7313,7 @@ systems.") (package (inherit go-github-com-gdamore-tcell) (name "go-github-com-gdamore-tcell") - (version "2.5.3") + (version "2.6.0") (source (origin (method git-fetch) (uri (git-reference @@ -7130,7 +7322,7 @@ systems.") (file-name (git-file-name name version)) (sha256 (base32 - "0pvs0gigqxpifc7y7cx82cg95pgqmy8qzxynja3zidplrx2075j3")))) + "0126hi8glnfqdx4l9zlh6dhd5f5c8bws7arv9pp4n2kqcnhdc6g2")))) (arguments (list #:import-path "github.com/gdamore/tcell/v2" #:phases @@ -7163,7 +7355,7 @@ systems.") (define-public go-git-sr-ht-rockorager-tcell-term (package (name "go-git-sr-ht-rockorager-tcell-term") - (version "0.3.0") + (version "0.9.0") (source (origin (method git-fetch) (uri (git-reference @@ -7172,7 +7364,7 @@ systems.") (file-name (git-file-name name version)) (sha256 (base32 - "13nfb2mq59846j531j7p2nm8mi0kjw5p90pa89l3fwc0sljkn5p8")))) + "177ladvpiiw7sb0hsjjv9p2yv5wpqpw6nqardkm8mqqlj0swa9xx")))) (build-system go-build-system) (arguments (list #:import-path "git.sr.ht/~rockorager/tcell-term")) @@ -9128,7 +9320,7 @@ transforms one JSON document into another through a JMESPath expression.") `(#:import-path "github.com/muesli/reflow/wordwrap" #:unpack-path "github.com/muesli/reflow")) (native-inputs - (list go-github.com-mattn-go-runewidth)) + (list go-github-com-mattn-go-runewidth)) (home-page "https://github.com/muesli/reflow/") (synopsis "Collection of methods helping to transform blocks of text") (description "This package provides a collection of ANSI-aware methods and @@ -9187,7 +9379,7 @@ io.Writers helping you to transform blocks of text.") (list go-github-com-google-goterm go-github-com-lucasb-eyer-go-colorful go-github-com-mattn-go-isatty - go-github.com-mattn-go-runewidth)) + go-github-com-mattn-go-runewidth)) (home-page "https://github.com/muesli/termenv/") (synopsis "Advanced styling options on the terminal") (description "termenv lets you safely use advanced styling options on the @@ -9241,7 +9433,7 @@ which produce colorized output using github.com/fatih/color.") (arguments `(#:import-path "github.com/olekukonko/tablewriter")) (propagated-inputs - (list go-github.com-mattn-go-runewidth)) + (list go-github-com-mattn-go-runewidth)) (home-page "https://github.com/olekukonko/tablewriter/") (synopsis "Generate ASCII table") (description "This package generates ASCII tables. Features: @@ -9338,7 +9530,7 @@ size of the terminal.") go-github-com-muesli-reflow-wordwrap go-github-com-muesli-reflow-indent go-github-com-muesli-reflow-padding - go-github.com-mattn-go-runewidth + go-github-com-mattn-go-runewidth go-github-com-muesli-termenv go-github-com-google-goterm go-github-com-lucasb-eyer-go-colorful @@ -9353,6 +9545,33 @@ templates on ANSI compatible terminals. You can create your own stylesheet or use one of our glamorous default themes.") (license license:expat))) +(define-public go-github-com-coreos-go-oidc + (package + (name "go-github-com-coreos-go-oidc") + (version "2.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/coreos/go-oidc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11m6slbpi33ynffml7812piq4anhjlf1qszjlsf26f5y7x3qh8n5")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/coreos/go-oidc")) + (propagated-inputs + (list go-github-com-pquerna-cachecontrol + go-golang-org-x-oauth2 + go-gopkg-in-square-go-jose-v2)) + (home-page "https://github.com/coreos/go-oidc") + (synopsis "OpenID Connect support for Go") + (description + "This package enables OpenID Connect support for the +@code{go-golang-org-x-oauth2} package.") + (license license:asl2.0))) + (define-public go-github-com-coreos-go-semver (package (name "go-github-com-coreos-go-semver") @@ -10578,6 +10797,31 @@ modifying them.") parsers, and related tools.") (license license:expat)))) +(define-public go-github-com-go-telegram-bot-api-telegram-bot-api + (package + (name "go-github-com-go-telegram-bot-api-telegram-bot-api") + (version "4.6.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-telegram-bot-api/telegram-bot-api") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1x6j0k3aiicsr8l53na99ci10zm3qpn2syz4f60fzh164w5k1l7w")))) + (build-system go-build-system) + (home-page "https://go-telegram-bot-api.dev/") + (arguments + (list #:tests? #f ; Upstream tests are broken. + #:import-path "github.com/go-telegram-bot-api/telegram-bot-api")) + (propagated-inputs + (list go-github-com-technoweenie-multipartstreamer)) + (synopsis "Golang bindings for the Telegram Bot API") + (description + "This package provides Golang bindings for the Telegram Bot API.") + (license license:expat))) + (define-public go-github.com-ulikunitz-xz (package (name "go-github.com-ulikunitz-xz") @@ -11521,7 +11765,7 @@ averages.") (define-public go-github-com-mattn-go-runewidth (package (name "go-github-com-mattn-go-runewidth") - (version "0.0.13") + (version "0.0.14") (source (origin (method git-fetch) @@ -11530,7 +11774,7 @@ averages.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1yir0f3wc5z5hnkwhvx5qb6nmpfb05zp2gvfjvna63s8kmla1rrn")))) + (base32 "1iaqw5pd7f4f2xz37540kp0828p2820g4vxx3hz089hwl331sx1v")))) (build-system go-build-system) (arguments '(#:import-path "github.com/mattn/go-runewidth")) (propagated-inputs @@ -11563,7 +11807,7 @@ string.") (propagated-inputs `(("github.com/mattn/go-isatty" ,go-github-com-mattn-go-isatty) ("github.com/muesli/termenv" ,go-github-com-muesli-termenv) - ("github.com/mattn/go-runewidth" ,go-github.com-mattn-go-runewidth) + ("github.com/mattn/go-runewidth" ,go-github-com-mattn-go-runewidth) ("go-github-com-muesli-reflow-indent" ,go-github-com-muesli-reflow-indent) ("go-github-com-muesli-reflow-ansi" ,go-github-com-muesli-reflow-ansi) ("go-github-com-lucasb-eyer-go-colorful" ,go-github-com-lucasb-eyer-go-colorful) @@ -12813,6 +13057,32 @@ algorithm originally designed for use in Netscape Mail 2.0 for Go.") of the current user.") (license license:expat))) +(define-public go-github-com-rylans-getlang + (package + (name "go-github-com-rylans-getlang") + (version "0.0.0-20201227074721-9e7f44ff8aa0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rylans/getlang") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1yf698h21j88d7d9wkzq69cfd7vs1mfp96nhb83lx6hhh7rfvb92")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/rylans/getlang")) + (propagated-inputs + (list go-golang-org-x-text)) + (native-inputs + (list go-github-com-stretchr-testify)) + (home-page "https://github.com/rylans/getlang") + (synopsis "Natural language detection package in pure Go") + (description + "This package provides fast natural language detection in Go.") + (license license:expat))) + (define-public go-github-com-kyoh86-xdg (package (name "go-github-com-kyoh86-xdg") diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index 34e9bed36e..cb4dde5cf9 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -214,8 +214,7 @@ such as elevation, speed, heart rate, power, temperature, and gear shifts.") (source (origin (method url-fetch) - (uri (string-append "https://download-mirror.savannah.gnu.org" - "/releases/gpsd/gpsd-" version ".tar.xz")) + (uri (string-append "mirror://savannah/gpsd/gpsd-" version ".tar.xz")) (sha256 (base32 "1hd8b09is4gd73lpsdywxxdx11iijikmqgxd0y57pic3yxnlcb6a")))) (build-system scons-build-system) diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index 1091d3d56e..5510828edf 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2020 Alexander Krotov <krotov@iitp.ru> ;;; Copyright © 2020 Pierre Langlois <pierre.langlos@gmx.com> -;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2021, 2023 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Alexandre Hannud Abdo <abdo@member.fsf.org> ;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Marius Bakke <marius@gnu.org> @@ -218,7 +218,7 @@ lines.") (define-public python-plotly (package (name "python-plotly") - (version "5.6.0") + (version "5.14.1") (source (origin (method git-fetch) (uri (git-reference @@ -227,7 +227,7 @@ lines.") (file-name (git-file-name name version)) (sha256 (base32 - "0kc9v5ampq2paw6sls6zdchvqvis7b1z8xhdvlhz5xxdr1vj5xnn")))) + "12iy5cswn5c0590fvl87nr6vfyhvbxymrldh4c7dfm2gn6h8z8w0")))) (build-system python-build-system) (arguments (list @@ -238,11 +238,16 @@ lines.") (lambda _ (setenv "SKIP_NPM" "T"))) (add-after 'unpack 'fix-version - ;; Versioneer is useless when there is no git metadata. + ;; TODO: Versioneer in Guix gets its release version from the + ;; parent directory, but the plotly package is located inside a + ;; depth 3 subdirectory. Try to use versioneer if possible. (lambda _ (substitute* "packages/python/plotly/setup.py" (("version=versioneer.get_version\\(),") - (format #f "version=~s," #$version))))) + (format #f "version=~s," #$version))) + (substitute* "packages/python/plotly/plotly/version.py" + (("__version__ = get_versions\\(\\)\\[\"version\"\\]") + (format #f "__version__ = ~s" #$version))))) (add-after 'fix-version 'chdir (lambda _ (chdir "packages/python/plotly"))) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 60db7543a6..85e7b03a33 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> -;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com> ;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net> ;;; Copyright © 2021 Andy Tai <atai@atai.org> @@ -189,13 +189,29 @@ framebuffer graphics, audio output and input event.") (lambda _ (substitute* "src/core/core.c" (("..BUILDTIME..") "")))) + ;; TODO: Move patch to source. + ,@(if (target-arm32?) + `((add-after 'unpack 'patch-source + (lambda* (#:key inputs #:allow-other-keys) + (invoke "patch" "--force" "-p1" "-i" + (assoc-ref inputs "patch-file"))))) + '()) (add-after 'unpack 'disable-configure-during-bootstrap (lambda _ (substitute* "autogen.sh" (("^.*\\$srcdir/configure.*") "")) #t))))) (native-inputs - (list autoconf automake libtool perl pkg-config)) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ,@(if (target-arm32?) + `(("patch" ,patch) + ("patch-file" + ,(search-patch "directfb-davinci-glibc-228-compat.patch"))) + '()))) (inputs (list alsa-lib ffmpeg @@ -808,7 +824,8 @@ many more.") ;; precision), as was discussed and patched long ago: ;; <https://issues.guix.gnu.org/22049>. It seems the relevant fixes ;; didn't make it upstream, so skip tests. - (list #:tests? (not (target-x86-32?)))) + (list #:tests? (not (or (target-x86-32?) + (%current-target-system))))) (home-page "https://github.com/AcademySoftwareFoundation/Imath") (synopsis "Library of math operations for computer graphics") (description @@ -1448,11 +1465,11 @@ in Julia).") (define-public openmw-openscenegraph ;; OpenMW prefers its own fork of openscenegraph: ;; https://wiki.openmw.org/index.php?title=Development_Environment_Setup#OpenSceneGraph. - (let ((commit "36a962845a2c87a6671fd822157e0729d164e940")) + (let ((commit "69cfecebfb6dc703b42e8de39eed750a84a87489")) (hidden-package (package (inherit openscenegraph) - (version (git-version "3.6" "1" commit)) + (version (git-version "3.6" "2" commit)) (outputs (list "out")) (source (origin @@ -1463,7 +1480,7 @@ in Julia).") (file-name (git-file-name (package-name openscenegraph) version)) (sha256 (base32 - "05yhgq3qm5q277y32n5sf36vx5nv5qd3zlhz4csgd3a6190jrnia")))) + "1qayk2gklm8zvss90dcjfxv6717rvcmwmgmgyy1qzkli67a0zbw2")))) (arguments (substitute-keyword-arguments (package-arguments openscenegraph) ((#:configure-flags flags) @@ -1471,14 +1488,14 @@ in Julia).") #~(append '("-DBUILD_OSG_PLUGINS_BY_DEFAULT=0" "-DBUILD_OSG_PLUGIN_OSG=1" + "-DBUILD_OSG_PLUGIN_DAE=1" "-DBUILD_OSG_PLUGIN_DDS=1" "-DBUILD_OSG_PLUGIN_TGA=1" "-DBUILD_OSG_PLUGIN_BMP=1" "-DBUILD_OSG_PLUGIN_JPEG=1" "-DBUILD_OSG_PLUGIN_PNG=1" - "-DBUILD_OSG_DEPRECATED_SERIALIZERS=0" - ;; The jpeg plugin requires conversion between integers and booleans - "-DCMAKE_CXX_FLAGS=-fpermissive") + "-DBUILD_OSG_PLUGIN_FREETYPE=1" + "-DBUILD_OSG_DEPRECATED_SERIALIZERS=0") #$flags)) ((#:phases phases) #~(modify-phases #$phases @@ -2379,7 +2396,7 @@ generated discrete signed distance field using the cubic spline kernel. (define-public mmg (package (name "mmg") - (version "5.6.0") + (version "5.7.1") (source (origin (method git-fetch) @@ -2388,7 +2405,7 @@ generated discrete signed distance field using the cubic spline kernel. (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "173biz5skbwg27i5w6layg7mydjzv3rmi1ywhra4rx9rjf5c0cc5")))) + (base32 "0skb7yzsw6y44zp9gb729i5xks7qd97nvn3z6jhz4jksqksx7lz0")))) (build-system cmake-build-system) (outputs '("out" "lib" "doc")) (arguments @@ -2398,11 +2415,14 @@ generated discrete signed distance field using the cubic spline kernel. ;; The build doesn't honor -DCMAKE_INSTALL_BINDIR, hence ;; the adjust-bindir phase. ;;(string-append "-DCMAKE_INSTALL_BINDIR=" #$output "/bin") + (string-append "-DCMAKE_INSTALL_MANDIR=" #$output "/share/man") "-DBUILD_SHARED_LIBS=ON" + "-DBUILD_DOC=ON" "-DBUILD_TESTING=ON" ;; The longer tests are for continuous integration and ;; depend on input data which must be downloaded. "-DONLY_VERY_SHORT_TESTS=ON" + "-DUSE_SCOTCH=ON" ;; TODO: Add Elas (from ;; https://github.com/ISCDtoolbox/LinearElasticity). "-DUSE_ELAS=OFF" @@ -2428,9 +2448,6 @@ generated discrete signed distance field using the cubic spline kernel. (add-after 'install 'install-doc (lambda _ (copy-recursively - "../source/doc/man" (string-append #$output - "/share/man/man1")) - (copy-recursively "doc" (string-append #$output:doc "/share/doc/" #$name "-" #$version)))) (add-after 'install 'adjust-bindir @@ -2480,6 +2497,33 @@ a tetrahedral mesh, isovalue discretization and Lagrangian movement; @end itemize") (license license:lgpl3+))) +(define-public nanosvg + ;; There are no proper versions or releases; use the latest commit. + (let ((commit "9da543e8329fdd81b64eb48742d8ccb09377aed1") + (revision "0")) + (package + (name "nanosvg") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/memononen/nanosvg") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1pkzv75kavkhrbdd2kvq755jyr0vamgrfr7lc33dq3ipkzmqvs2l")))) + (build-system cmake-build-system) + (arguments (list #:tests? #f ;no test suite + #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"))) + (home-page "https://github.com/memononen/nanosvg") + (synopsis "Simple SVG parser") + (description "NanoSVG is a simple single-header SVG parser. The output +of the parser is a list of cubic bezier shapes. The library suits well for +anything from rendering scalable icons in an editor application to prototyping +a game.") + (license license:zlib)))) + (define-public f3d (package (name "f3d") @@ -2596,4 +2640,3 @@ environment. It supports drawing freehand as well as basic shapes and text. It features cut-and-paste for irregular regions or polygons.") (home-page "https://www.gnu.org/software/gpaint/") (license license:gpl3+))) - diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm index 33a059053c..94c0f23d7a 100644 --- a/gnu/packages/groff.scm +++ b/gnu/packages/groff.scm @@ -32,6 +32,7 @@ #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system ruby) + #:use-module (guix gexp) #:use-module (gnu packages) #:use-module (gnu packages ruby) #:use-module (gnu packages bison) @@ -229,27 +230,33 @@ It is typically used to display man pages on a web site.") "1slxfg57cabmh98fw507z4ka6lwq1pvbrqwppflxw6700pi8ykfh")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'extract-gemspec 'fix-gemspec-mustache - (lambda _ - (substitute* "ronn-ng.gemspec" - (("(<mustache>.freeze.*~>).*(\".*$)" all start end) - (string-append start " 1.0" end))) - #t)) - (add-after 'wrap 'wrap-program - (lambda* (#:key outputs #:allow-other-keys) - (let ((prog (string-append (assoc-ref %outputs "out") "/bin/ronn"))) - (wrap-program prog - `("PATH" ":" suffix ,(map - (lambda (exp_inpt) - (string-append - (assoc-ref %build-inputs exp_inpt) - "/bin")) - '("ruby-kramdown" - "ruby-mustache" - "ruby-nokogiri"))))) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-test + (lambda _ + ;; TODO This should be removed once the upstream fix is released + ;; https://github.com/apjanke/ronn-ng/commit/e194bf62b1d0c0828cc83405e60dc5ece829e62f + (substitute* "test/test_ronn_document.rb" + (("YAML\\.load\\(@doc\\.to_yaml\\)") + "YAML.load(@doc.to_yaml, permitted_classes: [Time])")))) + (add-after 'extract-gemspec 'fix-gemspec-mustache + (lambda _ + (substitute* "ronn-ng.gemspec" + (("(<mustache>.freeze.*~>).*(\".*$)" all start end) + (string-append start " 1.0" end))))) + (add-after 'wrap 'wrap-program + (lambda* (#:key outputs #:allow-other-keys) + (let ((prog (string-append (assoc-ref %outputs "out") "/bin/ronn"))) + (wrap-program prog + `("PATH" ":" suffix ,(map + (lambda (exp_inpt) + (string-append + (assoc-ref %build-inputs exp_inpt) + "/bin")) + '("ruby-kramdown" + "ruby-mustache" + "ruby-nokogiri")))))))))) (inputs (list ruby-kramdown ruby-mustache ruby-nokogiri)) (synopsis diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 8971c11479..075f424560 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -799,6 +799,14 @@ model to base your own plug-in on, here it is.") ;; This test is flaky on at least some architectures. ;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1244 + #$@(if (target-riscv64?) + `((("'elements/camerabin\\.c'\\].*],") + "'elements/camerabin.c'], true, ],") + (("'elements/viewfinderbin\\.c'\\].*],") + "'elements/viewfinderbin.c'], true, ],")) + '()) + + ;; This substitution is no longer effective and can be removed. #$@(if (member (%current-system) '("i686-linux" "aarch64-linux" "riscv64-linux")) `((("'elements/camerabin\\.c'\\]\\],") diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index d8684bb818..334996df0d 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016, 2017, 2021 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016, 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org> ;;; Copyright © 2016, 2021 Amirouche <amirouche@hypermove.net> -;;; Copyright © 2016, 2019, 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2016, 2019, 2021, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2017 David Thompson <davet@gnu.org> ;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> @@ -43,7 +43,7 @@ ;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2022 Antero Mejr <antero@mailbox.org> ;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info> -;;; Copyright © 2022 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com> ;;; Copyright © 2022 jgart <jgart@dismail.de> ;;; @@ -89,9 +89,9 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages haskell-xyz) ;pandoc - #:use-module (gnu packages hurd) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) #:use-module (gnu packages libunistring) #:use-module (gnu packages linux) @@ -311,11 +311,11 @@ currently does not do much, but it might in the future.") (license license:gpl3+))) (define-public guile-openai - (let ((commit "9265b641dea0246609b7bd5031f3f6780ef6a167") - (revision "2")) + (let ((commit "751cd5db5f8bb7c00e60042a7ec86100930b0f02") + (revision "1")) (package (name "guile-openai") - (version (git-version "0.1" revision commit)) + (version (git-version "0.2" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -324,21 +324,16 @@ currently does not do much, but it might in the future.") (file-name (git-file-name name version)) (sha256 (base32 - "0sydjsgdr6xxk1w5f8pf14wgimfy4fb1hpi8yml0nv83p7bfr1w3")))) - (build-system guile-build-system) - (arguments - (list - #:scheme-file-regexp - #~(lambda (file info) - (let ((name (basename file))) - (and (string-suffix? ".scm" name) - (not (string=? (basename file) "guix.scm"))))))) - (inputs (list guile-3.0-latest)) + "1rl15wkm682xwzj2fjn4czp1haxnxlcjsk3g69j2a9qlwc4w0g4a")))) + (build-system gnu-build-system) + (arguments (list #:strip-binaries? #f)) + (inputs (list guile-3.0-latest imagemagick)) (propagated-inputs (list guile-colorized guile-gnutls guile-json-4 guile-picture-language)) + (native-inputs (list autoconf automake pkg-config)) (home-page "https://gitlab.com/flatwhatson/guile-openai") (synopsis "Guile implementation of the OpenAI API") (description @@ -788,10 +783,10 @@ Unix-style DSV format and RFC 4180 format.") (inputs (list guile-2.2)) (propagated-inputs `(("guile-lib" ,guile2.2-lib))))) -(define-public guile-fibers-1.1 +(define-public guile-fibers-1.3 (package (name "guile-fibers") - (version "1.1.1") + (version "1.3.1") (source (origin (method git-fetch) (uri (git-reference @@ -800,11 +795,9 @@ Unix-style DSV format and RFC 4180 format.") (file-name (git-file-name name version)) (sha256 (base32 - "0ll63d7202clapg1k4bilbnlmfa4qvpjnsd7chbkka4kxf5klilc")) + "0wvdi4l58f9a5c9wi3cdc9l1bniscsixb6w2zj86mch7j7j814lc")) (patches - (search-patches "guile-fibers-wait-for-io-readiness.patch" - "guile-fibers-epoll-instance-is-dead.patch" - "guile-fibers-fd-finalizer-leak.patch")))) + (search-patches "guile-fibers-libevent-32-bit.patch")))) (build-system gnu-build-system) (arguments (list #:make-flags @@ -822,17 +815,15 @@ Unix-style DSV format and RFC 4180 format.") (substitute* "Makefile" (("tests/speedup.scm") "")))))))) (native-inputs - (list texinfo pkg-config autoconf automake libtool + (list texinfo pkg-config autoconf-2.71 automake libtool guile-3.0 ;for 'guild compile ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS' gettext-minimal)) (inputs - (list guile-3.0)) ;for libguile-3.0.so - (supported-systems - ;; This version requires 'epoll' and is thus limited to Linux-based - ;; systems, but this may change soon: - ;; <https://github.com/wingo/fibers/pull/53>. - (filter (cut string-suffix? "-linux" <>) %supported-systems)) + (append (list guile-3.0) ;for libguile-3.0.so + (if (target-hurd?) + (list libevent) + '()))) (synopsis "Lightweight concurrency facility for Guile") (description "Fibers is a Guile library that implements a a lightweight concurrency @@ -849,22 +840,35 @@ is not available for Guile 2.0.") (properties '((upstream-name . "fibers"))) (license license:lgpl3+))) -(define-public guile-fibers-next - (let ((commit "99fc3e38048f732de67c43fde52e949fa294aa7d") - (revision "1")) - (package - (inherit guile-fibers-1.1) - (name "guile-fibers-next") - (version (git-version "1.3.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/wingo/fibers") - (commit commit))) - (file-name (git-file-name "guile-fibers" version)) - (sha256 - (base32 - "1950nf0qa52m1hhc33z0snci5azbdcv4m6hklk5rpqchc90x9h4p"))))))) +(define-public guile-fibers-1.1 + (package + (inherit guile-fibers-1.3) + (version "1.1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wingo/fibers") + (commit (string-append "v" version)))) + (file-name (git-file-name "guile-fibers" version)) + (sha256 + (base32 + "0ll63d7202clapg1k4bilbnlmfa4qvpjnsd7chbkka4kxf5klilc")) + (patches + (search-patches "guile-fibers-wait-for-io-readiness.patch" + "guile-fibers-epoll-instance-is-dead.patch" + "guile-fibers-fd-finalizer-leak.patch")))) + (native-inputs + (list texinfo pkg-config autoconf automake libtool + guile-3.0 ;for 'guild compile + ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS' + gettext-minimal)) + (inputs + (list guile-3.0)) ;for libguile-3.0.so + (supported-systems + ;; This version requires 'epoll' and is thus limited to Linux-based + ;; systems, which is fixed in 1.2.0: + ;; <https://github.com/wingo/fibers/pull/53>. + (filter (cut string-suffix? "-linux" <>) %supported-systems)))) (define-public guile-fibers (package @@ -1082,8 +1086,8 @@ for calling methods on remote servers by exchanging JSON objects.") (license license:expat)))) (define-public guile-squee - (let ((commit "fab9d9590792f3ededd4abd8cfa6be5e56659678") - (revision "4")) + (let ((commit "9f2609563fc53466e46d37c8d8d2fbcfce67b2ba") + (revision "5")) (package (name "guile-squee") (version (string-append "0-" revision "." (string-take commit 7))) @@ -1095,19 +1099,20 @@ for calling methods on remote servers by exchanging JSON objects.") (file-name (git-file-name name version)) (sha256 (base32 - "03wdawx14sqs6xkw1vl06s58xyjicg2js2k4syn0z64bjbxxjvps")))) + "0r322mfxx08siw656h7bm31rgzkchmp3yrgjpkc2d3qw286ilqi7")))) (build-system guile-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "squee.scm" - (("dynamic-link \"libpq\"") - (string-append - "dynamic-link \"" - (search-input-file inputs "/lib/libpq.so") - "\"")))))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "squee.scm" + (("dynamic-link \"libpq\"") + (string-append + "dynamic-link \"" + (search-input-file inputs "/lib/libpq.so") + "\"")))))))) (inputs (list postgresql)) (native-inputs @@ -3843,7 +3848,7 @@ debugging code.") (define-public guile-png (package (name "guile-png") - (version "0.5.0") + (version "0.6.0") (source (origin (method git-fetch) (uri (git-reference @@ -3852,7 +3857,7 @@ debugging code.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0dnahq05mwxzbsqb0qjkyysylc54qr8l5839zyc4sanl2syzhvwk")))) + "0i0q2h4kfp1mj5m3wnz2hk6z895001j38s5vkbhkdxf05cjvwkky")))) (build-system gnu-build-system) (arguments `(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings @@ -4058,6 +4063,50 @@ enriched with pure Guile Scheme algorithms, all accessible through a nice, clean and easy to use high level API.") (license license:gpl3+))) +(define-public guile-ffi-cblas + (let ((commit "4458d50f84786d7ace0181c6588345eed7474996") + (revision "0")) + (package + (name "guile-ffi-cblas") + (version (git-version "0.0.0" revision commit)) + (home-page "https://github.com/lloda/guile-ffi-cblas") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "050s0lq64v286hkxqczkfkx3fp1vr3jm5w236hxx67br9najb1cp")))) + (build-system guile-build-system) + (arguments + (list #:source-directory "mod" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-blas-file-name + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "mod/ffi/cblas.scm" + (("\"libcblas\"") + (string-append "\"" + (search-input-file + inputs "/lib/libopenblas.so") + "\""))))) + (add-after 'build 'check + (lambda _ + (invoke "guile" "-C" "mod" "-L" "mod" + "test/test-ffi-cblas.scm")))))) + (native-inputs (list guile-3.0)) + (inputs (list openblas)) + (synopsis "Guile bindings for CBLAS, the linear algebra library") + (description + "This package provides Guile FFI bindings for CBLAS, the library of +linear algebra subprograms. + +To use the bindings, import @code{(ffi cblas)}. CBLAS will be loaded from the +default dynamic library path. There are up to three bindings for each +function: raw, typed, and functional.") + (license license:lgpl3+)))) + (define-public guile-ffi-fftw (let ((commit "294ad9e7491dcb40026d2fec9be2af05263be1c0") (revision "2")) @@ -4203,7 +4252,7 @@ the style of the Node Package Manager (NPM).") #t))))) (native-inputs (list guile-3.0)) - (synopsis "Cryprographic hash functions implemented in Scheme") + (synopsis "Cryptographic hash functions implemented in Scheme") (description "The @code{(hashing @dots{})} modules implement cryptographic hash functions in pure R6RS Scheme: CRC, HMAC, MD5, SHA-1, and SHA-2 (SHA-256, @@ -4622,33 +4671,31 @@ manipulating graphs and datasets.") (package (name "guile-jsonld") (version "1.0.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://framagit.org/tyreunom/guile-jsonld") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1ryyvh71899z2inivqglb8d78zzp1sd0wv9a56kvcmrxf1966z6r")))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://framagit.org/tyreunom/guile-jsonld") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ryyvh71899z2inivqglb8d78zzp1sd0wv9a56kvcmrxf1966z6r")))) (build-system gnu-build-system) (arguments - `(#:tests? #f)); require network + (list #:tests? #f)) ; require network (propagated-inputs - `(("guile-gnutls" ,gnutls) - ("guile-json" ,guile-json-4) - ("guile-rdf" ,guile-rdf))) + (list guile-gnutls guile-json-4 guile-rdf)) (inputs (list guile-3.0)) (native-inputs (list automake autoconf pkg-config texinfo)) (home-page "https://framagit.org/tyreunom/guile-jsonld") (synopsis "Guile implementation of the JsonLD API specification") - (description "Guile JsonLD is an implementation of the JsonLD (Json for -Linked Data) API defined by the W3C for GNU Guile. It allows you to express links -between data, in a way that is very similar to WikiData or RDF for instance. -An object can have relations (in the form of an IRI) that relates it to one or + (description + "Guile JsonLD is an implementation of the JsonLD (Json for Linked Data) +API defined by the W3C for GNU Guile. It allows you to express links between +data, in a way that is very similar to WikiData or RDF for instance. An +object can have relations (in the form of an IRI) that relates it to one or more objects or strings, represented by a Json object or an IRI.") (license license:gpl3+))) @@ -5205,7 +5252,7 @@ locations.") (define-public guile-netlink (package (name "guile-netlink") - (version "1.1.2") + (version "1.2") (source (origin (method git-fetch) @@ -5215,7 +5262,7 @@ locations.") (file-name (git-file-name name version)) (sha256 (base32 - "1s06xbyj0yd49aivfpc9l73c8c12r3zjmskkyislrfwkbpd74hjr")))) + "06ls830nrshzi2j532di5vdf03fp8cy1275ll4ms93x1hv2g8dk0")))) (build-system gnu-build-system) (inputs (list guile-3.0)) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 322eda1fc8..48bee600a9 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014, 2016, 2018 David Thompson <davet@gnu.org> ;;; Copyright © 2014, 2017, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2017 Christine Lemmer-Webber <cwebber@dustycloud.org> -;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2016, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> @@ -47,7 +47,6 @@ #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages gperf) - #:use-module (gnu packages hurd) #:use-module (gnu packages libffi) #:use-module (gnu packages libunistring) #:use-module (gnu packages linux) @@ -202,7 +201,7 @@ without requiring the source code to be rewritten.") #:phases (modify-phases %standard-phases - ,@(if (hurd-system?) + ,@(if (system-hurd?) '((add-after 'unpack 'disable-tests (lambda _ ;; Hangs at: "Running 00-repl-server.test" @@ -345,7 +344,7 @@ without requiring the source code to be rewritten.") (not (%current-target-system))) ((#:configure-flags flags #~'()) ;; XXX: JIT-enabled Guile crashes in obscure ways on GNU/Hurd. - #~(cons* #$@(if (hurd-target?) + #~(cons* #$@(if (target-hurd?) #~("--disable-jit") #~()) ;; -fexcess-precision=standard is required when compiling for @@ -433,9 +432,9 @@ without requiring the source code to be rewritten.") ; when heavily loaded) (define-public guile-next - (let ((version "3.0.8") + (let ((version "3.0.9") (revision "0") - (commit "a1a85581f17dade76a598b48eac7d3d308e3a0a5")) + (commit "aa2cfe7cf69327285a17de97682d696f2f6c43ef")) (package (inherit guile-3.0) (name "guile-next") @@ -449,7 +448,7 @@ without requiring the source code to be rewritten.") (file-name (git-file-name name version)) (sha256 (base32 - "1l5zkg0wpchyizq8s4615hkj0n0i029l72k3pq2hha89r3bcn8al")))) + "03xwy3ni85qy0lrvz0lk0488394nfsfc1004l84lgyzql2qwkynl")))) (arguments (substitute-keyword-arguments (package-arguments guile-3.0) ((#:phases phases '%standard-phases) diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index c23299d1db..c44f0eda04 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -61,6 +61,7 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) + #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages high-availability) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) @@ -813,7 +814,7 @@ specific SMBIOS tables.") (define-public memtest86+ (package (name "memtest86+") - (version "6.10") + (version "6.20") (source (origin (method git-fetch) @@ -822,7 +823,7 @@ specific SMBIOS tables.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1igb648rsmbp0s95790qib6mhdsvbsrpigl91gk7yfkz32bip3bz")) + (base32 "1wsrdgpxi2nrcazihi1ghkn681iqkpwd8wnp533avcfg16n0jd17")) (patches (search-patches "memtest86+-build-reproducibly.patch")))) (build-system gnu-build-system) @@ -1016,7 +1017,7 @@ technology, such as head mounted displays with built in head tracking.") (define-public openrgb (package (name "openrgb") - (version "0.8") + (version "0.9") (source (origin (method git-fetch) @@ -1025,7 +1026,7 @@ technology, such as head mounted displays with built in head tracking.") (commit (string-append "release_" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1yz7sdrjcxajm1zpa5djinmych5dvck0r1fvk0x5qmk87va4p9z3")) + (base32 "0rdh87w4j47dr0vakva94fhcbdc67d9aad0p3najg9zf8zhf64jw")) (patches (search-patches "openrgb-unbundle-hueplusplus.patch")) (modules '((guix build utils))) @@ -1313,6 +1314,37 @@ libtss2-esys, libtss2-sys, libtss2-mu, libtss2-tcti-device, libtss2-tcti-swtpm and libtss2-tcti-mssim.") (license license:bsd-2))) +(define-public tpm2-tools + (package + (name "tpm2-tools") + (version "5.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/tpm2-software/tpm2-tools/" + "releases/download/" version "/" + "tpm2-tools-" version ".tar.gz")) + (sha256 + (base32 "08y16q92dh7frsyw0zlm3q9gsfqyls0li248s2pgsysk633lknqz")))) + (build-system gnu-build-system) + (native-inputs + (list autoconf + automake + curl + libtool + gnu-gettext + openssl + pandoc + pkg-config + tpm2-tss)) + (home-page "https://github.com/tpm2-software/tpm2-tools") + (synopsis "Tools for the Trusted Platform Module (TPM 2.0)") + (description + "This package provides user tools for the Trusted Computing Group's (TCG) +TPM2 Software Stack (TSS). These programs help with common tasks such as key +management, attestation, encryption, and signing.") + (license license:bsd-3))) + (define-public libcpuid ;; We need to remove blobs from the source, first we have to isolate the blob ;; source in build system. diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index af02acc4aa..9aba12b713 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -294,13 +294,13 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "10.20230407") + (version "10.20230626") (source (origin (method url-fetch) (uri (hackage-uri "git-annex" version)) (sha256 - (base32 "19500i3xcmxbh990kmdqimknlpk55z5iz9lnm3w35g8hmrpfh0d0")))) + (base32 "1z16alb5193y4m70rq0bcxx1rn6lnlgswigdnv5lqybjq1fw1z99")))) (build-system haskell-build-system) (properties '((upstream-name . "git-annex"))) (arguments diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index da05582400..5447ecec1e 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2020 John Soo <jsoo1@asu.edu> ;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com> ;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com> +;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1180,3 +1181,26 @@ result of golden tests.") "Integrate @@inspection-testing@@ into @@tasty@@ test suites.") (license license:expat))) +(define-public ghc-proctest + (package + (name "ghc-proctest") + (version "0.1.3.0") + (source (origin + (method url-fetch) + (uri (hackage-uri "proctest" version)) + (sha256 + (base32 + "02iz323arx9zwclvspgaaqz81bp6jdnj89pjm08n2gamg39zsbdn")))) + (build-system haskell-build-system) + (properties '((upstream-name . "proctest"))) + (inputs (list ghc-hunit ghc-hspec ghc-quickcheck)) + (home-page "https://github.com/nh2/proctest") + (synopsis "IO library for testing interactive command line programs") + (description + "This package provides an IO library for testing interactive command line +programs. Proctest aims to simplify interacting with and testing terminal +programs, providing convenience functions for starting programs and reading +their output. All blocking operations support timeouts so that misbehaving +programs cannot block your test pipeline. Find more examples and contribute +at @url{https://github.com/nh2/proctest}.") + (license license:expat))) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index a819698710..12d1246c58 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -32,6 +32,7 @@ ;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022 jgart <jgart@dismail.de> ;;; Copyright © 2023 Josselin Poiret <dev@jpoiret.xyz> +;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2047,6 +2048,27 @@ Colours can be blended and composed. Various colour spaces are supported. A module of colour names (\"Data.Colour.Names\") is provided.") (license license:expat))) +(define-public ghc-hscolour + (package + (name "ghc-hscolour") + (version "1.24.4") + (source (origin + (method url-fetch) + (uri (hackage-uri "hscolour" version)) + (sha256 + (base32 + "079jwph4bwllfp03yfr26s5zc6m6kw3nhb1cggrifh99haq34cr4")))) + (build-system haskell-build-system) + (properties '((upstream-name . "hscolour"))) + (home-page "http://code.haskell.org/~malcolm/hscolour/") + (synopsis "Colourise Haskell code") + (description + "hscolour is a small Haskell script to colourise Haskell code. It currently has +six output formats: ANSI terminal codes (optionally XTerm-256colour codes), HTML +3.2 with <font> tags, HTML 4.01 with CSS, HTML 4.01 with CSS and mouseover +annotations, XHTML 1.0 with inline CSS styling, LaTeX, and mIRC chat codes.") + (license license:lgpl2.1))) + (define-public ghc-comonad (package (name "ghc-comonad") @@ -2446,6 +2468,29 @@ They stopped crashing the compiler in GHC 7.6. This package provides a vocabulary for working with them.") (license license:bsd-2))) +(define-public ghc-constraints-extras + (package + (name "ghc-constraints-extras") + (version "0.4.0.0") + (source (origin + (method url-fetch) + (uri (hackage-uri "constraints-extras" version)) + (sha256 + (base32 + "1irf4kd7a5h1glczbc73c3590m58azn4s68nfrjfg1h96i7mjfgn")))) + (build-system haskell-build-system) + (properties '((upstream-name . "constraints-extras"))) + (inputs (list ghc-constraints ghc-aeson)) + (arguments + `(#:cabal-revision ("1" + "1fdabah3ilq9yf94916ml3c3rxgcgab1jhzl4mk1zgzsw78j53qf"))) + (home-page "https://github.com/obsidiansystems/constraints-extras") + (synopsis "Utility package for constraints") + (description + "Convenience functions and TH for working with constraints. See +@file{README.md} for example usage.") + (license license:bsd-3))) + (define-public ghc-contravariant (package (name "ghc-contravariant") @@ -6315,6 +6360,77 @@ polymorphism. @code{Lens.Family.Clone} allows for first-class support of lenses and traversals for those who require Haskell 98.") (license license:bsd-3))) +(define-public ghc-generic-lens-core + (package + (name "ghc-generic-lens-core") + (version "2.2.1.0") + (source (origin + (method url-fetch) + (uri (hackage-uri "generic-lens-core" version)) + (sha256 + (base32 + "08i4c9yb6z84iknrnl9f3f343121j7ilp0a679v81nsjm9xz3rlf")))) + (build-system haskell-build-system) + (properties '((upstream-name . "generic-lens-core"))) + (inputs (list ghc-indexed-profunctors)) + (arguments + `(#:cabal-revision ("1" + "1dbjhd6k7ypqa9f4h9v2xndgb4mjhfli3n1vjm8r8ga0kfndbqfn"))) + (home-page "https://github.com/kcsongor/generic-lens") + (synopsis "Generically derive traversals, lenses and prisms.") + (description + "This library uses GHC.Generics to derive efficient optics (traversals, +lenses and prisms) for algebraic data types in a type-directed way, with a +focus on good type inference and error messages when possible. This package +is the shared internal logic of the @code{generic-lens} and +@code{generic-optics} libraries.") + (license license:bsd-3))) + +(define-public ghc-generic-lens + (package + (name "ghc-generic-lens") + (version "2.2.2.0") + (source (origin + (method url-fetch) + (uri (hackage-uri "generic-lens" version)) + (sha256 + (base32 + "0s4b51s11ssmndmx9m9zbwgv9rb27ajwihsrk10hn582rp4ck3c6")))) + (build-system haskell-build-system) + (properties '((upstream-name . "generic-lens"))) + (inputs (list ghc-generic-lens-core ghc-profunctors)) + (native-inputs (list ghc-lens ghc-inspection-testing ghc-hunit ghc-doctest)) + (home-page "https://github.com/kcsongor/generic-lens") + (synopsis "Generically derive traversals, lenses and prisms.") + (description + "This library uses @code{GHC.Generics} to derive efficient +optics (traversals, lenses and prisms) for algebraic data types in a +type-directed way, with a focus on good type inference and error messages when +possible. The library exposes a van Laarhoven interface. For an alternative +interface, supporting an opaque optic type, see @code{generic-optics}.") + (license license:bsd-3))) + +(define-public ghc-these-lens + (package + (name "ghc-these-lens") + (version "1.0.1.2") + (source (origin + (method url-fetch) + (uri (hackage-uri "these-lens" version)) + (sha256 + (base32 + "1v3kj7j4bkywbmdbblwqs5gsj5s23d59sb3s27jf3bwdzf9d21p6")))) + (build-system haskell-build-system) + (properties '((upstream-name . "these-lens"))) + (inputs (list ghc-these ghc-lens)) + (arguments + `(#:cabal-revision ("2" + "1mncy6mcwqxy4fwibrsfc3jcx183wfjfvfvbj030y86pfihvbwg3"))) + (home-page "https://github.com/haskellari/these") + (synopsis "Lenses for These") + (description "This package provides Prism and Traversals for @code{These}.") + (license license:bsd-3))) + (define-public ghc-libffi (package (name "ghc-libffi") @@ -9187,6 +9303,26 @@ API.") (description "This library provides profunctors for Haskell.") (license license:bsd-3))) +(define-public ghc-indexed-profunctors + (package + (name "ghc-indexed-profunctors") + (version "0.1.1") + (source (origin + (method url-fetch) + (uri (hackage-uri "indexed-profunctors" version)) + (sha256 + (base32 + "1cbccbvrx73drr1jf3yyw0rp1mcfv3jc1rvdcby5xxx4ja543fjs")))) + (build-system haskell-build-system) + (properties '((upstream-name . "indexed-profunctors"))) + (home-page "http://hackage.haskell.org/package/indexed-profunctors") + (synopsis "Utilities for indexed profunctors") + (description + "This package contains basic definitions related to indexed profunctors. These +are primarily intended as internal utilities to support the @code{optics} and +@code{generic-lens} package families.") + (license license:bsd-3))) + (define-public ghc-project-template (package (name "ghc-project-template") @@ -9574,6 +9710,110 @@ configurations to coexist without resorting to mutable global variables or @code{System.IO.Unsafe.unsafePerformIO}.") (license license:bsd-3))) +(define-public ghc-reflex + (package + (name "ghc-reflex") + (version "0.8.2.2") + (source (origin + (method url-fetch) + (uri (hackage-uri "reflex" version)) + (sha256 + (base32 + "1add5bcsyq2k02w2q0ifbyfcvcic1hmjdbgxg8ajd5riam0lhb16")))) + (build-system haskell-build-system) + (properties '((upstream-name . "reflex"))) + (inputs (list ghc-memotrie + ghc-bifunctors + ghc-comonad + ghc-commutative-semigroups + ghc-constraints + ghc-constraints-extras + ghc-data-default + ghc-dependent-map + ghc-exception-transformers + ghc-lens + ghc-mmorph + ghc-monad-control + ghc-patch + ghc-prim-uniq + ghc-primitive + ghc-profunctors + ghc-random + ghc-ref-tf + ghc-reflection + ghc-semigroupoids + ghc-syb + ghc-unbounded-delays + ghc-witherable + ghc-these + ghc-semialign + ghc-monoidal-containers + ghc-dependent-sum + ghc-haskell-src-exts + ghc-haskell-src-meta)) + (native-inputs (list hlint + ghc-split + ghc-filemanip + ghc-these-lens + ghc-hspec + ghc-proctest)) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'update-constraints + (lambda _ + (substitute* "reflex.cabal" + (("\\bmmorph >= 1\\.0 && < 1\\.2,") "mmorph,"))))))) + (home-page "https://reflex-frp.org") + (synopsis "Higher-order functional reactive programming") + (description + "This library lets you write interactive programs without callbacks or +side-effects. Functional Reactive Programming (FRP) uses composable events +and time-varying values to describe interactive systems as pure functions. +Just like other pure functional code, functional reactive code is easier to +get right on the first try, maintain, and reuse. Reflex is a +fully-deterministic, higher-order FRP interface and an engine that efficiently +implements that interface.") + (license license:bsd-3))) + +(define-public ghc-reflex-sdl2 + (let ((commit "6dadf2c4f383b8a58fcd73616996b219c4f93972") + (revision "1")) + (package + (name "ghc-reflex-sdl2") + (version (git-version "0.3.0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/schell/reflex-sdl2") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "06lxfgp18l1car6wd07mbjn4yblnp89acf1i67nd815p2hx0ihbz")))) + (build-system haskell-build-system) + (properties '((upstream-name . "reflex-sdl2"))) + (inputs (list ghc-async + ghc-dependent-sum + ghc-exception-transformers + ghc-ref-tf + ghc-primitive + ghc-reflex + ghc-sdl2)) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'update-constraints + (lambda _ + (substitute* "reflex-sdl2.cabal" + (("\\bref-tf +>= 0\\.4 +&& < 0\\.5\\b") "ref-tf"))))))) + (home-page "https://github.com/schell/reflex-sdl2") + (synopsis "SDL2 and Reflex functional reactive programming") + (description + "This package provides a minimal host for SDL2-based Reflex +applications.") + (license license:expat)))) + (define-public ghc-regex (package (name "ghc-regex") @@ -10288,6 +10528,47 @@ programming.") @code{SDL2_mixer}.") (license license:bsd-3))) +(define-public ghc-sdl2-ttf + (package + (name "ghc-sdl2-ttf") + (version "2.1.3") + (source (origin + (method url-fetch) + (uri (hackage-uri "sdl2-ttf" version)) + (sha256 + (base32 + "0sm5lrdif5wmz3iah1658zlr7yr45d1hfihb2hdxdia4h7z1j0mn")))) + (build-system haskell-build-system) + (properties '((upstream-name . "sdl2-ttf"))) + (inputs (list ghc-sdl2 ghc-th-abstraction sdl2-ttf)) + (native-inputs (list pkg-config)) + (home-page "http://hackage.haskell.org/package/sdl2-ttf") + (synopsis "Bindings to SDL2_ttf") + (description "This package provides Haskell bindings to SDL2_ttf C++ +library.") + (license license:bsd-3))) + +(define-public ghc-sdl2-gfx + (package + (name "ghc-sdl2-gfx") + (version "0.3.0.0") + (source (origin + (method url-fetch) + (uri (hackage-uri "sdl2-gfx" version)) + (sha256 + (base32 + "0r9m54ffkp1dv2ffz9i9318qhvpinc76iih7vg1dwq3siwgpxaxw")))) + (build-system haskell-build-system) + (properties '((upstream-name . "sdl2-gfx"))) + (inputs (list ghc-lifted-base ghc-monad-control ghc-sdl2 ghc-vector sdl2-gfx)) + (native-inputs (list pkg-config)) + (home-page "http://hackage.haskell.org/package/sdl2-gfx") + (synopsis "Haskell bindings to SDL2_gfx") + (description + "This package provides Haskell bindings to the SDL2_gfx graphics +library.") + (license license:expat))) + (define-public ghc-sdl-image (package (name "ghc-sdl-image") @@ -12457,6 +12738,28 @@ transformers 0.2 or 0.3 compatibility to run on old versions of the platform, but also need those types.") (license license:bsd-3))) +(define-public ghc-exception-transformers + (package + (name "ghc-exception-transformers") + (version "0.4.0.11") + (source (origin + (method url-fetch) + (uri (hackage-uri "exception-transformers" version)) + (sha256 + (base32 + "1zmd2s40m86c9mhv32l5bvvf5r52cgpxvb4v5phyc3pjwlr7m8g5")))) + (build-system haskell-build-system) + (properties '((upstream-name . "exception-transformers"))) + (inputs (list ghc-fail ghc-transformers-compat)) + (native-inputs (list ghc-hunit ghc-test-framework ghc-test-framework-hunit)) + (home-page "http://hackage.haskell.org/package/exception-transformers") + (synopsis "Type classes and monads for unchecked extensible exceptions") + (description + "This package provides type classes, a monad and a monad transformer that support +unchecked extensible exceptions as well as asynchronous exceptions. It is +compatible with the transformers package.") + (license license:bsd-3))) + (define-public ghc-tree-diff (package (name "ghc-tree-diff") @@ -12947,6 +13250,80 @@ and high speed.") (native-inputs '()) (properties '((hidden? #t))))) +(define-public ghc-commutative-semigroups + (package + (name "ghc-commutative-semigroups") + (version "0.1.0.1") + (source (origin + (method url-fetch) + (uri (hackage-uri "commutative-semigroups" version)) + (sha256 + (base32 + "1bmafx363gfsd9wwrf3xyrw9mnw6anmc1zdfv0p8597y4lxxach7")))) + (build-system haskell-build-system) + (properties '((upstream-name . "commutative-semigroups"))) + (home-page "http://hackage.haskell.org/package/commutative-semigroups") + (synopsis "Commutative semigroups") + (description + "This package provides a commutative semigroup is a semigroup where the order of +arguments to mappend does not matter.") + (license license:bsd-3))) + +(define-public ghc-dependent-sum + (package + (name "ghc-dependent-sum") + (version "0.7.2.0") + (source (origin + (method url-fetch) + (uri (hackage-uri "dependent-sum" version)) + (sha256 + (base32 + "1frw5965v8i6xqdgs95gg8asgdqcqnmfahz0pmbwiaw5ybn62rc2")))) + (build-system haskell-build-system) + (properties '((upstream-name . "dependent-sum"))) + (inputs (list ghc-constraints-extras ghc-some)) + (arguments + `(#:cabal-revision ("1" + "0qybk8x6gyvg8pgf84mywlfajlcvg9pp4rs1wfn9fa7ns6sms88n"))) + (home-page "https://github.com/obsidiansystems/dependent-sum") + (synopsis "Dependent sum type") + (description + "This package provides a dependent sum is a generalization of a +particular way of thinking about the @code{Either} type. @code{Either a b} +can be thought of as a 2-tuple @code{(tag, value)}, where the value of the tag +determines the type of the value. In particular, either @code{tag = Left} and +@code{value :: a} or @code{tag = Right} and @code{value :: b}. This package +allows you to define your own dependent sum types by using your own \"tag\" +types.") + (license license:public-domain))) + +(define-public ghc-dependent-map + (package + (name "ghc-dependent-map") + (version "0.4.0.0") + (source (origin + (method url-fetch) + (uri (hackage-uri "dependent-map" version)) + (sha256 + (base32 + "0b0zhyl3wkl4kkrxvq7vwjz3gn0ndxjjgyw9cky8a6xyv190pkjk")))) + (build-system haskell-build-system) + (properties '((upstream-name . "dependent-map"))) + (inputs (list ghc-dependent-sum ghc-constraints-extras)) + (arguments + `(#:cabal-revision ("1" + "160p9crvlx1sn60inkwxa6mv1h2d4fgqnpsb2km67zrkpdfyd2s2"))) + (home-page "https://github.com/obsidiansystems/dependent-map") + (synopsis "Dependent finite maps (partial dependent products)") + (description + "This package provides a type called @@DMap@@ which generalizes @@Data.Map.Map@@, +allowing keys to specify the type of value that can be associated with them.") + + ;; XXX: The 'LICENSE' file lists several licenses, stating "I have no idea + ;; which, if any, of the following licenses apply […]. Any modifications + ;; by myself I release into the public domain […]"." + (license license:public-domain))) + (define-public ghc-unsafe (package (name "ghc-unsafe") @@ -16291,6 +16668,80 @@ same-and-increasingly-sized values.") to incorporate LeanCheck tests into test-framework test suites.") (license license:bsd-3))) +(define-public ghc-prim-uniq + (package + (name "ghc-prim-uniq") + (version "0.2") + (source (origin + (method url-fetch) + (uri (hackage-uri "prim-uniq" version)) + (sha256 + (base32 + "1l7jlv3pfasn89n2wpgff972npy423vqsidkkn5crxfyqjyzxbdv")))) + (build-system haskell-build-system) + (properties '((upstream-name . "prim-uniq"))) + (inputs (list ghc-dependent-sum ghc-primitive)) + (home-page "https://github.com/obsidiansystems/prim-uniq") + (synopsis "Opaque unique identifiers in primitive state monads") + (description + "This library provides opaque unique identifiers in primitive state +monads and a GADT-like type using them as witnesses of type equality.") + (license license:public-domain))) + +(define-public ghc-patch + (package + (name "ghc-patch") + (version "0.0.8.2") + (source (origin + (method url-fetch) + (uri (hackage-uri "patch" version)) + (sha256 + (base32 + "15r2sjlpvp22iwd7qa1lqdq7n8nvqv2klvzrlm3phqq3j5n5x5y5")))) + (build-system haskell-build-system) + (properties '((upstream-name . "patch"))) + (inputs (list ghc-constraints-extras + ghc-commutative-semigroups + ghc-dependent-map + ghc-dependent-sum + ghc-lens + ghc-indexed-traversable + ghc-semigroupoids + ghc-witherable + ghc-these + ghc-semialign + ghc-monoidal-containers)) + (native-inputs (list ghc-hedgehog ghc-hunit ghc-filemanip hlint)) + (home-page "https://obsidian.systems") + (synopsis + "Data structures for describing changes to other data structures") + (description + "This library provides data structures for describing changes to other +data structures. In this library, a patch is something that can be applied, +analogous to a function, and which distinguishes returning the argument it was +provided from returning something else.") + (license license:bsd-3))) + +(define-public ghc-ref-tf + (package + (name "ghc-ref-tf") + (version "0.5.0.1") + (source (origin + (method url-fetch) + (uri (hackage-uri "ref-tf" version)) + (sha256 + (base32 + "0isilgcbw12zyh8s2liaj5r9r5m3yg1xskyhag6f36qi60y29hx5")))) + (build-system haskell-build-system) + (properties '((upstream-name . "ref-tf"))) + (home-page "http://hackage.haskell.org/package/ref-tf") + (synopsis "Type class for monads with references using type families") + (description + "This package contains a @code{MonadRef} type class that abstracts over +the details of manipulating references, allowing one to write code that can +operate in either the @code{ST} monad or the @code{IO} monad.") + (license license:bsd-3))) + ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar diff --git a/gnu/packages/hunspell.scm b/gnu/packages/hunspell.scm index 382e518bf9..7163358260 100644 --- a/gnu/packages/hunspell.scm +++ b/gnu/packages/hunspell.scm @@ -276,7 +276,7 @@ spell-checking library.") (#\_ #\-) (chr chr)) (string-downcase dict-name)))) - (version "7.5.1.2") + (version "7.5.4.2") (source (origin (method git-fetch) diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 34c7c00f2d..c9f77d799a 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -46,20 +46,7 @@ #:use-module (gnu packages texinfo) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages xorg) ; libpciaccess - #:use-module (guix git-download) - #:export (hurd-system? - hurd-target?)) - -(define (hurd-target?) - "Return true if the cross-compilation target or the current system is -GNU/Hurd." - (or (and=> (%current-target-system) target-hurd?) - (and (not (%current-target-system)) - (and=> (%current-system) target-hurd?)))) - -(define (hurd-system?) - "Return true if the current system is the Hurd." - (and=> (%current-system) target-hurd?)) + #:use-module (guix git-download)) (define (hurd-source-url version) (string-append "mirror://gnu/hurd/hurd-" diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index d880956c56..e9294fab1e 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -59,10 +59,12 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages iso-codes) + #:use-module (gnu packages linux) #:use-module (gnu packages logging) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-xyz) #:use-module (gnu packages python-web) #:use-module (gnu packages serialization) @@ -348,18 +350,44 @@ Chinese pinyin input methods.") version "/ibus-anthy-" version ".tar.gz")) (sha256 (base32 - "16vd0k8wm13s38869jqs3dnwmjvywgn0snnpyi41m28binhlssf8")))) + "16vd0k8wm13s38869jqs3dnwmjvywgn0snnpyi41m28binhlssf8")) + (patches (search-patches "ibus-anthy-fix-tests.patch")))) (build-system gnu-build-system) (arguments (list + ;; The test suite hangs (see: + ;; https://github.com/ibus/ibus-anthy/issues/28). + #:tests? #f #:configure-flags ;; Use absolute exec path in the anthy.xml. #~(list (string-append "--libexecdir=" #$output "/libexec")) ;; The test suite fails (see: ;; https://github.com/ibus/ibus-anthy/issues/28). - #:tests? #f #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'fix-check + (lambda _ + (substitute* "data/Makefile.in" + ;; Use a year current at the time the release was made, to + ;; avoid the "This year 2023 is not included in era.y" + ;; error. + (("`date '\\+%Y'`") + "2021")))) + (add-after 'unpack 'do-not-override-GI_TYPELIB_PATH + ;; Do not override the GI_TYPELIB_PATH to avoid the pygobject + ;; error: "ValueError: Namespace Gdk not available". + (lambda _ + (substitute* "tests/test-build.sh" + (("GI_TYPELIB_PATH=\\$BUILDDIR/../gir" all) + (string-append all ":$GI_TYPELIB_PATH"))))) + (add-before 'check 'prepare-for-tests + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; IBus requires write access to the HOME directory. + (setenv "HOME" "/tmp") + ;; The single test is skipped if no actual display is found. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1")))) (add-after 'install 'wrap-programs (lambda* (#:key inputs #:allow-other-keys) (for-each @@ -376,7 +404,11 @@ Chinese pinyin input methods.") `(,glib "bin") intltool pkg-config - python)) + procps ;for ps + python + python-pycotap + util-linux ;for getopt + xorg-server-for-tests)) (inputs (list anthy gtk+ diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 6ecb9dd0a8..3a846cbe25 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl> ;;; Copyright © 2022 Paul A. Patience <paul@apatience.com> +;;; Copyright © 2023 Cairn <cairn@pm.me> ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,6 +64,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages game-development) #:use-module (gnu packages gcc) + #:use-module (gnu packages gd) #:use-module (gnu packages geo) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gimp) @@ -385,7 +387,10 @@ many popular formats.") "-DVTK_SMP_ENABLE_OPENNMP=ON" "-DVTK_SMP_ENABLE_TBB=ON" "-DVTK_USE_MPI=ON" - ) + #$@(if (target-riscv64?) + '("-DCMAKE_SHARED_LINKER_FLAGS=-latomic" + "-DCMAKE_EXE_LINKER_FLAGS=-latomic") + '())) #:phases #~(modify-phases %standard-phases @@ -613,6 +618,21 @@ integrates with various databases on GUI toolkits such as Qt and Tk.") (("0\\.131") "0.222")) ;; These tests hang forever on aarch64. (delete-file-recursively "modules/videoio/test/")) + '()) + + ,@(if (target-riscv64?) + `(;; This test fails on riscv64, loosen the bounds. + ;; Expected: (max) < (0.1), actual: 0.220829 vs 0.1 + (substitute* "modules/photo/test/test_hdr.cpp" + (("0\\.1") "0.240")) + ;; Expected equality of these values: + ;; ellipses.size() + ;; Which is: 668 + ;; ellipses_size + ;; Which is: 2449 + (substitute* "../opencv-contrib/modules/ximgproc/test/test_fld.cpp" + (("\\bManySmallCircles\\b" all) + (string-append "DISABLED_" all)))) '()))) (add-after 'unpack 'unpack-submodule-sources (lambda* (#:key inputs #:allow-other-keys) @@ -1717,3 +1737,54 @@ can call the CharLS codec and pass it images (sometimes called raster bitmaps), to have them encoded to JPEG-LS, or JPEG-LS streams, which CharLS will decode to images.") (license license:bsd-3))) + +(define-public libansilove + (package + (name "libansilove") + (version "1.4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ansilove/libansilove") + (commit (string-append version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "169njlck4a2bmf1kmjas1w594hyda543ykdnwg7fwkviij39l9z6")))) + (build-system cmake-build-system) + (arguments + (list #:tests? #f)) ; No tests included + (native-inputs + (list gd)) + (home-page "https://www.ansilove.org/") + (synopsis "Library for converting ANSI, ASCII, and other formats to PNG") + (description + "libansilove is a library for converting artscene file types to PNG images, +including ANSI (.ANS) and many others. The library primarily serves to support +the ansilove tool.") + (license license:bsd-2))) + +(define-public ansilove + (package + (name "ansilove") + (version "4.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ansilove/ansilove") + (commit (string-append version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1h9r759krjl8wi68yxs1d46qfrx6v89a8vmmv3aqym8vn9x430kh")))) + (build-system cmake-build-system) + (native-inputs + (list libansilove)) + (home-page "https://www.ansilove.org/") + (synopsis "ANSI and ASCII art to PNG converter") + (description + "AnsiLove is an ANSI and ASCII art to PNG converter, allowing to convert +ANSI and artscene-related file formats into PNG images, supporting ANSI (.ANS), +PCBoard (.PCB), Binary (.BIN), Artworx (.ADF), iCE Draw (.IDF), Tundra (.TND) +and XBin (.XB) formats.") + (license license:bsd-2))) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 77500bad4f..70f3f37768 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2017-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> -;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2021, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> @@ -742,14 +742,14 @@ preloading.") (define-public chafa (package (name "chafa") - (version "1.12.4") + (version "1.12.5") (source (origin (method url-fetch) (uri (string-append "https://hpjansson.org/chafa/releases/chafa-" version ".tar.xz")) (sha256 (base32 - "0gsp39xnra331lk0db5pfqpdmqfhf7ii3a7yywj33sknf0dbsx4p")))) + "1wjp75l0qbikbdbvj8nlhl1gsakhx3309k0mdww6n2jh5bar0m0g")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) @@ -799,7 +799,7 @@ displayed in a terminal.") libjpeg-turbo libinih libnsgif - librsvg + (librsvg-for-system) libtiff libxkbcommon pango diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 069a214b8c..50af2001ad 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -28,7 +28,7 @@ ;;; Copyright © 2020, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> -;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020, 2021, 2022, 2023 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2021 Alexandr Vityazev <avityazev@posteo.org> @@ -37,6 +37,7 @@ ;;; Copyright © 2022-2023 Bruno Victal <mirai@makinata.eu> ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -322,6 +323,62 @@ APNG patch provides APNG support to libpng.") images. It can further losslessly compress them by as much as 40%.") (license license:zlib))) +(define-public pngcheck + (package + (name "pngcheck") + (version "3.0.3") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.libpng.org/pub/png/src/pngcheck-" version + ".tar.gz")) + (sha256 + (base32 + "1rny14v57d2zvnqcqbh3m87mkya22qr2394fg7vm3xsacf8l8sn3")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ;no check target + #:phases (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (invoke "make" "-f" "Makefile.unx"))) + (add-after 'build 'compress-man-pages + (lambda* (#:key inputs outputs #:allow-other-keys) + (invoke "gzip" "pngcheck.1") + (invoke "gzip" "gpl/pngsplit.1") + (invoke "gzip" "gpl/png-fix-IDAT-windowsize.1"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin/")) + (man (string-append out "/share/man/man1/"))) + (install-file "pngcheck" bin) + (install-file "pngcheck.1.gz" man) + (install-file "pngsplit" bin) + (install-file "gpl/pngsplit.1.gz" man) + (install-file "png-fix-IDAT-windowsize" bin) + (install-file "gpl/png-fix-IDAT-windowsize.1.gz" man))))))) + (inputs (list zlib)) + (home-page "http://www.libpng.org/pub/png/apps/pngcheck.html") + (synopsis "Print info and check PNG, JNG and MNG files") + (description + "@code{pngcheck} verifies the integrity of PNG, JNG and MNG files (by +checking the internal 32-bit CRCs, a.k.a. checksums, and decompressing the image +data); it can optionally dump almost all of the chunk-level information in the image +in human-readable form. For example, it can be used to print the basic statistics +about an image (dimensions, bit depth, etc.); to list the color and transparency info +in its palette (assuming it has one); or to extract the embedded text annotations. +This is a command-line program with batch capabilities (e.g. @code{pngcheck +*.png}.) + +Also includes @code{pngsplit} which can split a PNG, MNG or JNG file into individual, +numbered chunks, and @code{png-fix-IDAT-windowsize} that allow to reset first IDAT's +zlib window-size bytes and fix up CRC to match.") + ;; "pngsplit" and "png-fix-IDAT-windowsize" are licensed under the terms of + ;; GNU GPL2+. See "gpl/COPYING" in the repository." + (license (list license:x11 license:gpl2+)))) + (define-public pnglite (let ((commit "11695c56f7d7db806920bd9229b69f230e6ffb38") (revision "1")) @@ -2373,7 +2430,7 @@ Format) file format decoder and encoder.") (define-public libjxl (package (name "libjxl") - (version "0.7.0") + (version "0.8.2") (source (origin (method git-fetch) @@ -2383,23 +2440,24 @@ Format) file format decoder and encoder.") (recursive? #t))) (file-name (git-file-name name version)) (sha256 - (base32 "1ysh7kd30wwnq0gc1l8c0j9b6wzd15k0kkvfaacjvjqcz11lnc7l")) + (base32 "1alhnnxkwy5bdwahfsdh87xk9rg1s2fm3r9y2w11ka8p3n1ccwr3")) (modules '((guix build utils))) (snippet - ;; Delete the bundles that will not be used. libjxl bundles LCMS, - ;; which is in Guix, but a newer version is required. + ;; Delete the bundles that will not be used. '(begin (for-each (lambda (directory) (delete-file-recursively (string-append "third_party/" directory))) - '("brotli" "googletest" "highway")))))) + '("brotli" "googletest" "highway" "lcms" "libpng" + "zlib")))))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DJPEGXL_FORCE_SYSTEM_GTEST=true" "-DJPEGXL_FORCE_SYSTEM_BROTLI=true" - ;; "-DJPEGXL_FORCE_SYSTEM_LCMS2=true" ; requires lcms@2.13 - "-DJPEGXL_FORCE_SYSTEM_HWY=true"))) + "-DJPEGXL_FORCE_SYSTEM_LCMS2=true" + "-DJPEGXL_FORCE_SYSTEM_HWY=true" + "-DJPEGXL_BUNDLE_LIBPNG=false"))) (native-inputs (list asciidoc doxygen googletest pkg-config python)) (inputs @@ -2407,12 +2465,13 @@ Format) file format decoder and encoder.") gflags giflib imath - ;; lcms ; requires lcms@2.13 + lcms libavif libjpeg-turbo libpng libwebp - openexr)) + openexr + zlib)) ;; These are in Requires.private of libjxl.pc. (propagated-inputs (list brotli google-highway)) diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm index de74e6e03d..37d833d146 100644 --- a/gnu/packages/instrumentation.scm +++ b/gnu/packages/instrumentation.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021, 2022 Olivier Dion <olivier.dion@polymtl.ca> +;;; Copyright © 2023 Andy Tai <atai@atai.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,6 +18,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages instrumentation) + #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) @@ -24,6 +26,7 @@ #:use-module (gnu packages boost) #:use-module (gnu packages commencement) #:use-module (gnu packages compression) + #:use-module (gnu packages cpio) #:use-module (gnu packages datastructures) #:use-module (gnu packages documentation) #:use-module (gnu packages elf) @@ -67,16 +70,14 @@ (define-public babeltrace (package (name "babeltrace") - (version "2.0.4") + (version "2.0.5") (source (origin (method url-fetch) (uri (string-append "https://www.efficios.com/files/babeltrace/babeltrace2-" version ".tar.bz2")) (sha256 - (base32 "1jlv925pr7hykc48mdvbmqm4ipy1r11xwzapa6fdpdfshmk12kvp")))) - + (base32 "1d7jxljbfb4y8jmxm7744ndhh9k9rw8qhmnljb19wz7flzr9x3vv")))) (build-system gnu-build-system) - (arguments `(#:tests? #f ; FIXME - When Python's bindings are enabled, tests do not ; pass. @@ -176,7 +177,9 @@ standard library headers.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1m04pg824rqx647wvk9xl33ri8i6mm0vmrz9924li25dxbr4zqd5")))) + (base32 "1m04pg824rqx647wvk9xl33ri8i6mm0vmrz9924li25dxbr4zqd5")) + (patches + (search-patches "dyninst-fix-glibc-compatibility.patch")))) (build-system cmake-build-system) (arguments @@ -314,14 +317,14 @@ coverage.") (define-public lttng-modules (package (name "lttng-modules") - (version "2.13.5") + (version "2.13.10") (source (origin (method url-fetch) (uri (string-append "https://lttng.org/files/lttng-modules/" "lttng-modules-" version ".tar.bz2")) (sha256 (base32 - "0277yfp57psnvn5g40mk09zryp0r4saynns213qak18fv0l39szc")))) + "19xh8nm19vx6c2i1adqpa8q2xsvxn59qxa6z186iywbhr0dgpaqk")))) (build-system linux-module-build-system) (arguments `(#:tests? #f ; no tests @@ -498,6 +501,40 @@ analysis and instrumentation based on Linux perf_events (aka perf) and ftrace.") (license (list license:gpl2)))) +(define-public systemtap + (package + (name "systemtap") + (version "4.9") + (source (origin + (method url-fetch) + (uri (string-append + "https://sourceware.org/ftp/systemtap/releases/" name "-" + version ".tar.gz")) + (sha256 + (base32 + "161smpv4ajqfncmgylvs89bbix1id60nf0g7clmga2lxxax3646h")))) + (build-system gnu-build-system) + (native-inputs (list cpio python)) + (inputs (list elfutils)) + + (home-page "https://sourceware.org/systemtap/") + (synopsis "GNU/Linux trace/probe tool") + (description + "SystemTap provides infrastructure to simplify the +gathering of information about the running Linux system. This assists +diagnosis of a performance or functional problem. SystemTap eliminates the +need for the developer to go through the tedious and disruptive +instrument, recompile, install, and reboot sequence that may be otherwise +required to collect data. + +SystemTap provides a simple command line interface and scripting language for +writing instrumentation for a live running kernel plus user-space applications. +We are publishing samples, as well as enlarging the internal \"tapset\" script +library to aid reuse and abstraction. SystemTap is a tool for complex +tasks that may require live analysis, programmable on-line response, and +whole-system symbolic access, and can also handle simple tracing jobs.") + (license license:gpl2+))) + (define-public uftrace (package (name "uftrace") @@ -512,31 +549,35 @@ ftrace.") (base32 "0gk0hv3rnf5czvazz1prg21rf9qlniz42g5b389n8a29hqj4q6xr")))) (build-system gnu-build-system) (arguments - `(#:make-flags - (list - (string-append "CC=" ,(cc-for-target))) - ;; runtest hang at some point -- probably dues to - ;; failed socket connection -- but we want to keep the - ;; unit tests. Change the target to "test" when fixed. - #:test-target "unittest" - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs target #:allow-other-keys) - (let ((arch ,(platform-linux-architecture - (lookup-platform-by-target-or-system - (or (%current-target-system) - (%current-system)))))) - (setenv "ARCH" - (cond - ((string=? arch "arm64") "aarch64") - (else arch))) - (when target - (setenv "CROSS_COMPILE" (string-append target "-")))) - (setenv "SHELL" (which "sh")) - (invoke "./configure" - (string-append "--prefix=" - (assoc-ref outputs "out")))))))) + (list + #:modules + `((ice-9 match) + ,@%gnu-build-system-modules) + #:make-flags + #~(list + (string-append "CC=" #$(cc-for-target))) + ;; runtest hangs at some point -- probably due to + ;; failed socket connection -- but we want to keep the + ;; unit tests. Change the target to "test" when fixed. + #:test-target "unittest" + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs target #:allow-other-keys) + (let ((arch #$(platform-linux-architecture + (lookup-platform-by-target-or-system + (or (%current-target-system) + (%current-system)))))) + (setenv "ARCH" + (match arch + ("arm64" "aarch64") + (_ arch))) + (when target + (setenv "CROSS_COMPILE" (string-append target "-")))) + (setenv "SHELL" (which "sh")) + (invoke "./configure" + (string-append "--prefix=" + #$output))))))) (inputs (list capstone elfutils diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index b31bb6b11a..a498078593 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -198,14 +198,14 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.") (define-public weechat (package (name "weechat") - (version "3.8") + (version "4.0.0") (source (origin (method url-fetch) (uri (string-append "https://weechat.org/files/src/weechat-" version ".tar.xz")) (sha256 (base32 - "0a5zfkqqdkya111rl2gpwlbfala0305qry9cdz2r1h7q0316bjzp")))) + "1ya0hacbyvhdy43hqrvphj3y7v6s312wbrsf2yns14ikbzhmxmsv")))) (build-system cmake-build-system) (outputs '("out" "doc")) (native-inputs @@ -234,7 +234,8 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.") (list "-DENABLE_PHP=OFF" ,@(if (target-x86?) '("-DENABLE_MAN=ON" - "-DENABLE_DOC=ON") + "-DENABLE_DOC=ON" + "-DENABLE_DOC_INCOMPLETE=ON") '())) #:phases (modify-phases %standard-phases diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 067284017c..5a6288581e 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1493,7 +1493,8 @@ blacklisted.certs.pem" "0587px2qbz07g3xi4a3ya6m630p72dvkxcn0bj1813pxnwvcgigz" (source (origin (inherit (package-source base)) - (patches (search-patches "openjdk-10-setsignalhandler.patch")))))) + (patches (search-patches "openjdk-15-xcursor-no-dynamic.patch" + "openjdk-10-setsignalhandler.patch")))))) (define-public openjdk17 (make-openjdk @@ -1501,7 +1502,7 @@ blacklisted.certs.pem" "1asnysg6kxdkrmb88y6qihdr12ljsyxv0mg6hlcs7cwxgsdlqkfs" (source (origin (inherit (package-source base)) - (patches '()))) + (patches (search-patches "openjdk-15-xcursor-no-dynamic.patch")))) (arguments (substitute-keyword-arguments (package-arguments openjdk16) ((#:phases phases) @@ -1517,8 +1518,8 @@ blacklisted.certs.pem" "1yimfdkwpinhg5cf1mcrzk9xvjwnray3cx762kypb9jcwbranjwx")) (define-public openjdk19 - (make-openjdk openjdk18 "19.0.1" - "0kyalb391znw6idmfn3dsx6c2mal1hl63f0bwa4mlnsxfl380bi1" + (make-openjdk openjdk18 "19.0.2" + "08kvx7n8qhhfl25pig966881j5h4x7y0pf4brq16x0283fc0f4d4" (arguments (substitute-keyword-arguments (package-arguments openjdk18) ((#:phases phases) @@ -1537,6 +1538,33 @@ blacklisted.certs.pem" (define-public openjdk openjdk19) +(define-public jbr17 + (package + (inherit openjdk17) + (name "jbr") + (version "17.0.7-b1020") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JetBrains/JetBrainsRuntime.git") + (commit (string-append "jb" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0wh9xhqgcjk0jgvpvlvf78dy3r8m0vgqd0f54whpx0qqbmyavgdw")) + (patches (search-patches "jbr-17-xcursor-no-dynamic.patch")))) + (synopsis "JetBrains Java Runtime") + (description "This package provides a Java runtime environment for +and Java development kit. It supports enhanced class redefinition (DCEVM), +features optional JCEF, a framework for embedding Chromium-based browsers, +includes a number of improvements in font rendering, keyboards support, +windowing/focus subsystems, HiDPI, accessibility, and performance, +provides better desktop integration and bugfixes not yet present in +OpenJDK.") + (home-page "https://www.jetbrains.com/") + (license license:gpl2+))) + + (define-public ant/java8 (package (name "ant") @@ -11240,7 +11268,7 @@ outputting XML data from Java code.") (file-name (string-append name "-" version)) (sha256 (base32 - "18q3i6jgm6rkw8aysfgihgywrdc5nvijrwnslmi3ww497jvri6ja")))) + "0zjqmsad4xk0iar23hdyvx19nxczybd2bh0i35xrafli5cmh720k")))) (build-system ant-build-system) (arguments `(#:jar-name "geronimo-xbean-reflect.jar" @@ -11291,7 +11319,7 @@ and graphs of objects for dependency injection frameworks") (file-name (string-append name "-" version "-source")) (sha256 (base32 - "119yn795jvnjf52si84q192s8wag1k013iabg78b7wnadssnnh31")))) + "1mky4zyl2xsqlgrkairaj5971byvhwk2z9bq8snsgvlr11ydc0zf")))) (build-system ant-build-system) (arguments `(#:tests? #f diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index fa37549625..e70aa7d7e1 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -48,7 +48,7 @@ (define-public cjson (package (name "cjson") - (version "1.7.15") + (version "1.7.16") (source (origin (method git-fetch) (uri (git-reference @@ -56,7 +56,7 @@ (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0lmq7sx09rmsirimbyvaaia44i134ppkp10cw1d2rygr76k9qwq2")))) + (base32 "00599lzzb0vszk317n0gln7wizdpchy4warxgpj3khrir73pphbb")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DENABLE_CJSON_UTILS=On"))) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 1b802922a8..b82c243126 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2023 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016, 2019, 2020, 2022 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2019, 2020, 2022, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016-2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> @@ -2691,6 +2691,7 @@ consumption.") (setenv "QT_QPA_PLATFORM" "offscreen") (setenv "DBUS_FATAL_WARNINGS" "0") (invoke "dbus-launch" "ctest" + "--rerun-failed" "--output-on-failure" "-E" ;; The following tests fail or are flaky (see: ;; https://bugs.kde.org/show_bug.cgi?id=440721). @@ -2703,6 +2704,7 @@ consumption.") "|kiocore-krecentdocumenttest" "|kiocore-http_jobtest" "|kiogui-openurljobtest" + "|kioslave-httpheaderdispositiontest" "|applicationlauncherjob_forkingtest" "|applicationlauncherjob_scopetest" "|applicationlauncherjob_servicetest" diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm index 2000ec3114..974c35e9cc 100644 --- a/gnu/packages/kde-plasma.scm +++ b/gnu/packages/kde-plasma.scm @@ -1847,7 +1847,7 @@ integration of Qt applications when running on a KDE Plasma workspace.") (version "5.24.3") (source (origin (method url-fetch) - (uri (string-append "https://download.kde.org/stable/plasma/" + (uri (string-append "mirror://kde/stable/plasma/" version "/plasma-nano-" version ".tar.xz")) (sha256 (base32 @@ -1920,7 +1920,7 @@ connections.") (version "5.24.3") (source (origin (method url-fetch) - (uri (string-append "https://download.kde.org/stable/plasma/" + (uri (string-append "mirror://kde/stable/plasma/" version "/plasma-mobile-" version ".tar.xz")) (sha256 (base32 diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 28b4ce1ee0..5e8e69487e 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -221,7 +221,7 @@ browser for easy news reading.") (define-public kdenlive (package (name "kdenlive") - (version "22.12.3") + (version "23.04.2") (source (origin (method git-fetch) @@ -230,7 +230,7 @@ browser for easy news reading.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0n7ca6c4nqr9z8ix70qjxw0rivh3hgqd187k4k8vp812yb49qrin")))) + (base32 "0dgrgnnq38nphfzbapr7dkb21lv4idqynxqmzv9x3maijmp1jjfr")))) (build-system qt-build-system) (arguments ;; XXX: there is a single test that spawns other tests and diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 667e93db26..04279fff63 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2018, 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl> +;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -900,7 +901,7 @@ commonly called @code{ftoa} or @code{dtoa}.") (define-public libreoffice (package (name "libreoffice") - (version "7.5.1.2") + (version "7.5.4.2") (source (origin (method url-fetch) @@ -909,10 +910,15 @@ commonly called @code{ftoa} or @code{dtoa}.") "https://download.documentfoundation.org/libreoffice/src/" (version-prefix version 3) "/libreoffice-" version ".tar.xz")) (sha256 - (base32 "1dy0lvrvgkr7mbmiag26a38pivcddav8piph7jin1kw4phaxs3cj")))) + (base32 "1s3592ick745kl60yjlv7ki3p7nnwswj0mgjh3nk6k7skyvx3fv8")))) (build-system glib-or-gtk-build-system) (arguments (list + #:imported-modules `((guix build python-build-system) + ,@%glib-or-gtk-build-system-modules) + #:modules `(((guix build python-build-system) #:select (python-version)) + (ice-9 textual-ports) + ,@%glib-or-gtk-build-system-modules) #:tests? #f ; Building the tests already fails. #:phases #~(modify-phases %standard-phases @@ -976,7 +982,12 @@ commonly called @code{ftoa} or @code{dtoa}.") ;; Create 'soffice' and 'libreoffice' symlinks to the executable ;; script. (lambda _ - (let ((out #$output)) + (let* ((out #$output) + (python-libdir + (string-append out "/lib/python" + (python-version + #$(this-package-input "python")) + "/site-packages/"))) (define (symlink-output src dst) (mkdir-p (dirname (string-append out dst))) (symlink (string-append out src) (string-append out dst))) @@ -1002,6 +1013,24 @@ commonly called @code{ftoa} or @code{dtoa}.") "sysui/desktop/appstream-appdata/" "libreoffice-" app ".appdata.xml") (string-append out "/share/appdata"))) + (define (install-python-script name) + (with-input-from-file + (string-append out "/lib/libreoffice/program/" name ".py") + (lambda _ + (let ((file (get-string-all (current-input-port)))) + (with-output-to-file + (string-append python-libdir name ".py") + (lambda _ + (format (current-output-port) "~a" + (string-append + "import sys, os\n" + "sys.path.append('" + out "/lib/libreoffice/program" "')\n" + "os.putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:" + out "/lib/libreoffice/program/fundamentalrc')\n\n" + file))))))) + (delete-file + (string-append out "/lib/libreoffice/program/" name ".py"))) (symlink-output "/lib/libreoffice/program/soffice" "/bin/soffice") (symlink-output "/lib/libreoffice/program/soffice" @@ -1016,7 +1045,12 @@ commonly called @code{ftoa} or @code{dtoa}.") '("base" "calc" "draw" "impress" "writer")) (mkdir-p (string-append out "/share/icons/hicolor")) (copy-recursively "sysui/desktop/icons/hicolor" - (string-append out "/share/icons/hicolor")))))) + (string-append out "/share/icons/hicolor")) + (mkdir-p python-libdir) + (for-each install-python-script + '("access2base" "mailmerge" "msgbox" "officehelper" + "pythonloader" "pythonscript" "scriptforge" + "unohelper" "uno")))))) #:configure-flags #~(list "--enable-release-build" diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3bcc34374c..8277780181 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -73,6 +73,7 @@ ;;; Copyright © 2022, 2023 Demis Balbach <db@minikn.xyz> ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -485,17 +486,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-6.3-version "6.3.6") +(define-public linux-libre-6.3-version "6.3.12") (define-public linux-libre-6.3-gnu-revision "gnu") (define deblob-scripts-6.3 (linux-libre-deblob-scripts linux-libre-6.3-version linux-libre-6.3-gnu-revision (base32 "01ivgzq18fwas87q84jx9jipcw58kwdnch7ylwg06d98ncga27px") - (base32 "0la20slh52jm4cg4v2liphhqqx4808gm6pfqcxiawj13a4ps9ygk"))) + (base32 "1i6vyakvqgmr3lcmr0aj8n7lbcksrp4d0rm1sz7cz64hwbsr67pq"))) (define-public linux-libre-6.3-pristine-source (let ((version linux-libre-6.3-version) - (hash (base32 "1vr418rf0zd16fq4vaxda1w2ccng2n9l0ysakmgz9xqbz86iysks"))) + (hash (base32 "1mvcirkhqnf03cci3jiq077fs9b42a3xdk3zjkpyim3x43ydwzyb"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.3))) @@ -503,67 +504,67 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; <https://www.kernel.org/category/releases.html> -(define-public linux-libre-6.1-version "6.1.32") +(define-public linux-libre-6.1-version "6.1.38") (define-public linux-libre-6.1-gnu-revision "gnu") (define deblob-scripts-6.1 (linux-libre-deblob-scripts linux-libre-6.1-version linux-libre-6.1-gnu-revision (base32 "1b96867b46m36l88qnq2d4i9y43ghw97z9jajrh11cvb6kq4xi67") - (base32 "1yv15mb278wlrn8gb2yjm0mczirzixy668h221vcpbz416ibxx1m"))) + (base32 "1qq3nsznblz5fkwahxwq26csmrmjbxh8xknm2z4zw6b6k9svzb1b"))) (define-public linux-libre-6.1-pristine-source (let ((version linux-libre-6.1-version) - (hash (base32 "0v0saai735jzaj3dbpgp6sbdi95n3lmv78pbg1xy9fd2kfhbg23w"))) + (hash (base32 "0hrdh1w9z8bgy4cxqsxfkwa01yincfw1mq1bbwm36zczc0dzk97r"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.1))) -(define-public linux-libre-5.15-version "5.15.115") +(define-public linux-libre-5.15-version "5.15.120") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts linux-libre-5.15-version linux-libre-5.15-gnu-revision (base32 "0w5wyw8zp124nwydjvpnih7q3lp7gadlgsw60syw45nqq0afvlz3") - (base32 "00n8c7ghfs36bvz0yjw6w9daf5zcgj94kxxn27bfyfm274rkddmz"))) + (base32 "1zljgvzr8irs3acq436i2iyana9vgx4k1pm3id4rz0fbaqfma602"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "050j9z0wg5glgxwbmzfq4l8lv8y7g3nc2rz8342yjdcjfxh6h1qv"))) + (hash (base32 "1xl3nrykbxdwv5a9rk0xnb7l61dsyjvkm1ryrdii09vbmsg0i6b4"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) -(define-public linux-libre-5.10-version "5.10.182") +(define-public linux-libre-5.10-version "5.10.186") (define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts linux-libre-5.10-version linux-libre-5.10-gnu-revision (base32 "0mw7qn77y9c6wrnw4rjvf75cpm1w6n1aqqhf8cnghcb97p2yxxrf") - (base32 "12jhak2bw1jy2jk70vrm66kjvh0cd6c8f2qiy2bk40rq7bf62mr6"))) + (base32 "1739xvyzi3i7d12mvsvnqa7208pvwfss43kzin71l9svw0405vp5"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "1xp9bxk2vyw29bq3z854ly4cj94z8i52yl5hq4a3l3j6564wb3ny"))) + (hash (base32 "1qqv91r13akgik1q4jybf8czskxxizk6lpv4rsvjn9sx2dm2jq0y"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.245") +(define-public linux-libre-5.4-version "5.4.249") (define-public linux-libre-5.4-gnu-revision "gnu1") (define deblob-scripts-5.4 (linux-libre-deblob-scripts linux-libre-5.4-version linux-libre-5.4-gnu-revision (base32 "1nlgk8ajb5wl3aa96h9a0pb9j5a5wmrbpk63varn557x1d00r7wj") - (base32 "070j069sj6spy2wkzfzm1d5jd7pffm0s1m917wblc8d3x8pbgvf8"))) + (base32 "0ll19zlgx5sbr7gvi93lgavrnzlgv6dpj2yp2x63fj6vdba5iwgc"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "195ixy9l18mhwvzj7v63fkyifb9mysq950afxh6ixlpvg0c8h1wn"))) + (hash (base32 "079mylc5j7hk5xn59q3z2xydyh88pq7yipn67x3y7nvf5i35hm6w"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.284") +(define-public linux-libre-4.19-version "4.19.288") (define-public linux-libre-4.19-gnu-revision "gnu1") (define deblob-scripts-4.19 (linux-libre-deblob-scripts @@ -573,12 +574,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "05yqb59gj7mq5ha9xg045bz517sdg6janfa2yjq70qa6ahpc5fac"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0gnhgxcpx9s96wa3dqgxmdjb7x12i94yh0gmv7k9nbz5qwhfxfbz"))) + (hash (base32 "1sz3jp6kx0axdwp0wsq903q1090rbav9d12m5128335m8p2d1srk"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.316") +(define-public linux-libre-4.14-version "4.14.320") (define-public linux-libre-4.14-gnu-revision "gnu1") (define deblob-scripts-4.14 (linux-libre-deblob-scripts @@ -588,7 +589,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1ccggm19nl7pdcxmsm08fkqy8phz8rqfmww5ypizibdmnrmpn2v9"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0xlg93va7dbz2w428kiw7vr2sds3542fqq57rwyf51ykq7qii0xc"))) + (hash (base32 "09bn18jvazkc55bqdjbxy8fbca7vjhi9xl2h02w0sq3f1jf6g0pd"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) @@ -1396,7 +1397,7 @@ and should be used with caution, especially on untested models.") (define-public corefreq (package (name "corefreq") - (version "1.95.2") + (version "1.96.5") (source (origin (method git-fetch) @@ -1405,7 +1406,7 @@ and should be used with caution, especially on untested models.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "108fr056zmbipiv1nsrjccn3ky0jbcwan43big34nyq1c9dqjq1x")))) + (base32 "15wi9v7zcd62ab03zji43l33f1mc70lsdvqylv33kfpaf3k72lm4")))) (build-system linux-module-build-system) (outputs (list "out" "linux-module")) (arguments @@ -2621,7 +2622,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (define-public strace (package (name "strace") - (version "6.2") + (version "6.4") (home-page "https://strace.io") (source (origin (method url-fetch) @@ -2629,7 +2630,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.") "/strace-" version ".tar.xz")) (sha256 (base32 - "1s3pj6a6xx1p1w98ik03d8hc4xssl4ha4aa0039nhqj196j3hz8c")) + "0f4jxgsdr76mf51kv2kwhv39ap7kilrchkfvqrhd5pvzqnx7v617")) (patches (search-patches "strace-readlink-tests.patch")))) (build-system gnu-build-system) (arguments @@ -4555,100 +4556,95 @@ interface.") (define-public crda (package (name "crda") - (version "3.18") - (source (origin - (method url-fetch) - (uri (string-append "mirror://kernel.org/software/network/crda/" - "crda-" version ".tar.xz")) - (sha256 - (base32 - "1gydiqgb08d9gbx4l6gv98zg3pljc984m50hmn3ysxcbkxkvkz23")) - (patches (search-patches "crda-optional-gcrypt.patch")))) + (version "4.15") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/crda.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ajh8zx84p15y9wawh764zawniwn059iw9m32v56ajvkz9xbnkp2")) + (patches (search-patches "crda-optional-gcrypt.patch")))) (build-system gnu-build-system) (arguments - `(#:phases (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'gzip-determinism - (lambda _ - (substitute* "Makefile" - (("gzip") "gzip --no-name")) - #t)) - ,@(if (%current-target-system) - '((add-after - 'unpack 'fix-pkg-config - (lambda* (#:key target #:allow-other-keys) - (substitute* - "Makefile" - (("pkg-config") - (string-append target "-pkg-config"))) - #t))) - '()) - (add-before - 'build 'no-werror-no-ldconfig - (lambda _ - (substitute* "Makefile" - (("-Werror") "") - (("ldconfig") "true")) - #t)) - (add-before - 'build 'set-regulator-db-file-name - (lambda* (#:key native-inputs inputs #:allow-other-keys) - ;; Tell CRDA where to find our database. - (let ((regdb (assoc-ref (or native-inputs inputs) - "wireless-regdb"))) - (substitute* "crda.c" - (("\"/lib/crda/regulatory.bin\"") - (string-append "\"" regdb - "/lib/crda/regulatory.bin\""))) - #t)))) + (list #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'gzip-deterministically + (lambda _ + (substitute* "Makefile" + (("gzip" command) + (string-append command " --no-name"))))) + #$@(if (%current-target-system) + #~((add-after 'unpack 'fix-pkg-config + (lambda* (#:key target #:allow-other-keys) + (substitute* "Makefile" + (("pkg-config" command) + (string-append target "-" command)))))) + #~()) + (add-before 'build 'patch-Makefile + (lambda _ + (substitute* "Makefile" + (("ldconfig") "true")))) + (add-before 'build 'set-regulatory-db-file-name + (lambda* (#:key native-inputs inputs #:allow-other-keys) + ;; Tell CRDA where to find our database. + (let ((regdb (assoc-ref (or native-inputs inputs) + "wireless-regdb"))) + (substitute* "crda.c" + (("\"/lib/crda/regulatory.bin\"") + (string-append "\"" regdb + "/lib/crda/regulatory.bin\""))))))) #:test-target "verify" - #:make-flags (let ((out (assoc-ref %outputs "out")) - (regdb (assoc-ref %build-inputs "wireless-regdb"))) - (list - (string-append "CC=" ,(cc-for-target)) - "V=1" - - ;; Disable signature-checking on 'regulatory.bin'. - ;; The reason is that this simplifies maintenance - ;; on our side (no need to manage a distro key - ;; pair), and we can guarantee integrity of - ;; 'regulatory.bin' by other means anyway, such as - ;; 'guix gc --verify'. See - ;; <https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb> - ;; for a discssion. - "USE_OPENSSL=0" - - (string-append "PREFIX=" out) - (string-append "SBINDIR=" out "/sbin/") - (string-append "UDEV_RULE_DIR=" - out "/lib/udev/rules.d") - (string-append "LDFLAGS=-Wl,-rpath=" - out "/lib -L.") - (string-append "REG_BIN=" regdb - "/lib/crda/regulatory.bin") - "all_noverify")))) + #:make-flags + #~(list + (string-append "CC=" #$(cc-for-target)) + "V=1" + + ;; Disable signature-checking on 'regulatory.bin'. + ;; The reason is that this simplifies maintenance + ;; on our side (no need to manage a distro key + ;; pair), and we can guarantee integrity of + ;; 'regulatory.bin' by other means anyway, such as + ;; 'guix gc --verify'. See + ;; <https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb> + ;; for a discssion. + "USE_OPENSSL=0" + + (string-append "PREFIX=" #$output) + (string-append "SBINDIR=" #$output "/sbin/") + (string-append "UDEV_RULE_DIR=" + #$output "/lib/udev/rules.d") + (string-append "LDFLAGS=-Wl,-rpath=" + #$output "/lib -L.") + (string-append "REG_BIN=" + #$(this-package-native-input "wireless-regdb") + "/lib/crda/regulatory.bin") + "all_noverify"))) (native-inputs (list pkg-config wireless-regdb)) (inputs (list libnl)) (home-page "https://wireless.wiki.kernel.org/en/developers/Regulatory/CRDA") - (synopsis "Central regulatory domain agent (CRDA) for WiFi") + (synopsis "@acronym{CRDA, Central Regulatory Domain Agent} for WiFi") (description - "The Central Regulatory Domain Agent (CRDA) acts as the udev helper for -communication between the kernel Linux and user space for regulatory + "The @acronym{CRDA, Central Regulatory Domain Agent} acts as the udev +helper for communication between the kernel Linux and user space for regulatory compliance.") (license license:copyleft-next))) (define-public wireless-regdb (package (name "wireless-regdb") - (version "2023.02.13") + (version "2023.05.03") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/network/wireless-regdb/" "wireless-regdb-" version ".tar.xz")) (sha256 - (base32 "0wrf1c7mbsklwdn7jpwzlpjxwj0vgr61qyh88lx7bi2dd6lfi0gy")) + (base32 "04lc9jp8zxhyqxvkhrm637sswi2xm48jw8jnp3iflnknnf5d0m7j")) ;; We're building 'regulatory.bin' by ourselves. (snippet '(begin @@ -4699,9 +4695,9 @@ compliance.") "https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb") (synopsis "Wireless regulatory database") (description - "This package contains the wireless regulatory database for the Central -Regulatory Database Agent (CRDA). The database contains information on -country-specific regulations for the wireless spectrum.") + "This package contains the wireless regulatory database for the +@acronym{CRDA, Central Regulatory Database Agent}. The database contains +information on country-specific regulations for the wireless spectrum.") (license license:isc))) (define-public lm-sensors @@ -5879,7 +5875,7 @@ and copy/paste text in the console and in xterm.") (define-public btrfs-progs (package (name "btrfs-progs") - (version "6.3") + (version "6.3.2") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -5887,7 +5883,7 @@ and copy/paste text in the console and in xterm.") version ".tar.xz")) (sha256 (base32 - "0zbampc47nq3h8as3rda2apns5sj93ywxnrkal74kjvyg3zvv820")))) + "093wy9dsvp22nwlsk203l91h3yzkccvzdw58n3sicy41sncn3wm9")))) (build-system gnu-build-system) (outputs '("out" "static")) ;static versions of the binaries in "out" (arguments @@ -9175,7 +9171,7 @@ types and interfaces and translates so that the X server can use them.") (define-public pipewire (package (name "pipewire") - (version "0.3.63") + (version "0.3.70") (source (origin (method git-fetch) (uri (git-reference @@ -9184,18 +9180,20 @@ types and interfaces and translates so that the X server can use them.") (file-name (git-file-name name version)) (sha256 (base32 - "1pkngynvhxc6iyv75gsyqjy18ky4si9dhvpavb9xwq5xj71nj0hr")))) + "1n74rrbwymm89ri4daa4v092f4b81wrak4vg685xfz2wl89p64n6")))) (build-system meson-build-system) (arguments (list #:configure-flags #~(list (string-append "-Dudevrulesdir=" #$output "/lib/udev/rules.d") - "-Dsystemd=disabled" + "-Dman=enabled" + "-Drlimits-install=false" "-Dsession-managers=[]" "-Dsysconfdir=/etc" - "-Dman=enabled"))) + "-Dsystemd=disabled"))) (native-inputs - (list pkg-config + (list `(,glib "bin") + pkg-config python-docutils)) (inputs (list alsa-lib avahi @@ -9235,7 +9233,7 @@ of Linux application development.") (define-public wireplumber (package (name "wireplumber") - (version "0.4.13") + (version "0.4.14") (source (origin (method git-fetch) @@ -9245,7 +9243,7 @@ of Linux application development.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "07psjb7rxsigwnwnzmw2y767vhyyha7cn8i8dgq80rzhwgl0sgv7")))) + (base32 "0jmnd6000j4wx68lxgz5b4g4hxkf243ivi9swaaf8rnx99cbx91w")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Dsystemd=disabled" @@ -9517,7 +9515,7 @@ modification of BPF objects on the system.") (define-public bpftrace (package (name "bpftrace") - (version "0.16.0") + (version "0.18.0") (source (origin (method git-fetch) @@ -9526,7 +9524,7 @@ modification of BPF objects on the system.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0v1376wfk4gy5rrjdsck6r3347nb0bgbj70998z1bkx9z95wm3ab")) + (base32 "0n0mm5vlaildilq5nmjymmq8ijif1lcyfin76wcmhzwfriq4n87r")) (patches (search-patches "bpftrace-disable-bfd-disasm.patch")))) (build-system cmake-build-system) (native-inputs @@ -9734,6 +9732,41 @@ These trace events are logged in @file{/sys/kernel/debug/tracing} and reported through standard log mechanisms like syslog.") (license license:gpl2))) +(define-public renameat2 + ;; This is a Gist, with no release or tags. + (let ((revision "0") + (commit "5c5193f20142511a5fc7069a539f4e5aba0ea470")) + (package + (name "renameat2") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method url-fetch) + (uri (string-append "https://gist.githubusercontent.com/" + "eatnumber1/f97ac7dad7b1f5a9721f/raw/" + commit "/renameat2.c")) + (sha256 + (base32 + "07b4hsxqjm610sdkm4nxhp0gnl2s7gzlh4zdnja5ay40v4x24bb9")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ;no test suite + #:phases #~(modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + (invoke #$(cc-for-target) "renameat2.c" + "-o" "renameat2"))) + (replace 'install + (lambda _ + (install-file "renameat2" + (string-append #$output "/bin"))))))) + (home-page "https://gist.github.com/eatnumber1/f97ac7dad7b1f5a9721f") + (synopsis "Command to call the renameat2 Linux system call") + (description "This package provides a @command{renameat2} command that +calls the Linux-specific @code{renameat2} system call.") + (license license:expat)))) + (define-public libgpiod (package (name "libgpiod") @@ -9820,6 +9853,7 @@ formats.") (url "https://github.com/haampie/libtree") (commit (string-append "v" version)))) (file-name (git-file-name name version)) + (patches (search-patches "libtree-fix-check-non-x86.patch")) (sha256 (base32 "1jbc60cslzcfxk9jwva51ncr1zl1nz0fkgfjdckgv81is11nswmb")))) (arguments diff --git a/gnu/packages/lisp-check.scm b/gnu/packages/lisp-check.scm index 1d2e439e9a..4b18f79a44 100644 --- a/gnu/packages/lisp-check.scm +++ b/gnu/packages/lisp-check.scm @@ -868,29 +868,30 @@ tester module.") (sbcl-package->ecl-package sbcl-ptester)) (define-public sbcl-rove - (package - (name "sbcl-rove") - (version "0.9.6") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/rove") - (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21"))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q")))) - (build-system asdf-build-system/sbcl) - (inputs - (list sbcl-bordeaux-threads sbcl-dissect sbcl-trivial-gray-streams)) - (home-page "https://github.com/fukamachi/rove") - (synopsis - "Yet another common lisp testing library") - (description - "Rove is a unit testing framework for Common Lisp applications. + (let ((commit "6a5dfcdced42879a4eff2a529e7e8ce492fadf41") + (revision "1")) + (package + (name "sbcl-rove") + (version (git-version "0.10.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fukamachi/rove") + (commit commit))) + (file-name (git-file-name "cl-rove" version)) + (sha256 + (base32 + "1w99c0795ykhn14pfhyhvfzxzz0k1z1bb846xgz3iv19s0j2vykr")))) + (build-system asdf-build-system/sbcl) + (inputs (list sbcl-bordeaux-threads + sbcl-dissect + sbcl-trivial-gray-streams)) + (home-page "https://github.com/fukamachi/rove") + (synopsis "Yet another common lisp testing library") + (description + "Rove is a unit testing framework for Common Lisp applications. This is intended to be a successor of Prove.") - (license license:bsd-3))) + (license license:bsd-3)))) (define-public cl-rove (sbcl-package->cl-source-package sbcl-rove)) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 16deb85e5e..a59c555f9a 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2022 Trevor Richards <trev@trevdev.ca> ;;; Copyright © 2022, 2023 Artyom Bologov <mail@aartaka.me> +;;; Copyright © 2023 Roman Scherer <roman@burningswell.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -6875,7 +6876,7 @@ generators: Indirection, Shift, Accumulate, Add, and Count.") (define-public sbcl-local-time (let ((commit "40169fe26d9639f3d9560ec0255789bf00b30036") - (revision "3")) + (revision "4")) (package (name "sbcl-local-time") (version (git-version "1.0.6" revision commit)) @@ -6889,6 +6890,14 @@ generators: Indirection, Shift, Accumulate, Add, and Count.") (sha256 (base32 "1dbp33zmkqzzshmf5k76pxqgli285wvy0p0dhcz816fdikpwn2jg")))) (build-system asdf-build-system/sbcl) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Delete the extension provided by sbcl-cl-postgres+local-time + (add-after 'unpack 'delete-local-time + (lambda _ + (delete-file "cl-postgres+local-time.asd") + (delete-file "src/integration/cl-postgres.lisp")))))) (native-inputs (list sbcl-hu.dwim.stefil)) (home-page "https://common-lisp.net/project/local-time/") @@ -6905,6 +6914,35 @@ Long Painful History of Time\".") (define-public ecl-local-time (sbcl-package->ecl-package sbcl-local-time)) +(define-public sbcl-cl-postgres+local-time + (package + (inherit sbcl-local-time) + (name "sbcl-cl-postgres+local-time") + (inputs (list sbcl-local-time sbcl-postmodern)) + (arguments + `(#:asd-systems '("cl-postgres+local-time") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'delete-local-time + (lambda _ + (delete-file "local-time.asd") + (delete-file "src/package.lisp") + (delete-file "src/local-time.lisp") + (delete-file-recursively "doc") + (delete-file-recursively "test") + (delete-file-recursively "zoneinfo")))))) + (synopsis "Integration between cl-postgres and local-time") + (description + "This package provides the LOCAL-TIME extensions for the cl-postgres +ASDF system of postmodern.") + (license license:expat))) + +(define-public cl-postgres+local-time + (sbcl-package->cl-source-package sbcl-cl-postgres+local-time)) + +(define-public ecl-cl-postgres+local-time + (sbcl-package->ecl-package sbcl-cl-postgres+local-time)) + (define-public sbcl-chronicity (package (name "sbcl-chronicity") @@ -11717,20 +11755,20 @@ be used with @code{cl-yacc}.") (sbcl-package->ecl-package sbcl-cl-lex)) (define-public sbcl-cl-colors2 - (let ((commit "d620e7fb504bbec3ed48cc7cd03f60ce2bb3735d") - (revision "2")) + (let ((commit "cc03badf5f69be65ae7e13c2f9a7c16838ab8241") + (revision "3")) (package (name "sbcl-cl-colors2") - (version (git-version "0.5.0" revision commit)) + (version (git-version "0.5.4" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://notabug.org/cage/cl-colors2.git") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "cl-colors2" version)) (sha256 - (base32 "14wx006lv4bhf86z68484kphm5jsh86ns60pb4i1bi8kl8lp03r0")))) + (base32 "1l7sl7nnvq13xmss9wwkhcq123bsylskxjrijwfkqp6sm02gbd15")))) (build-system asdf-build-system/sbcl) (native-inputs (list sbcl-clunit2)) @@ -11741,11 +11779,10 @@ be used with @code{cl-yacc}.") "This is a very simple color library for Common Lisp, providing: @itemize -@item Types for representing colors in HSV and RGB spaces. -@item Simple conversion functions between the above types (and also -hexadecimal representation for RGB). -@item Some predefined colors (currently X11 color names -- of course -the library does not depend on X11). +@item Types for representing colors in HSV, HSL, and RGB spaces. +@item Simple conversion functions between the above types. +@item Function printing colors to HEX, RGB, RGBA, and HSL. +@item Predefined colors from X11, SVG, and GDK. @end itemize\n") (home-page "https://notabug.org/cage/cl-colors2") (license license:boost1.0)))) @@ -22721,10 +22758,10 @@ bound to whatever value was in the same place in the URL (as a string).") (define-public sbcl-spinneret ;; No release since 2019, no tags. - (let ((commit "52709ab953c46b24cbc2f0e3a50ae362916e730c")) + (let ((commit "d4398b5a344b5c59e497c9ee78fdbae7cc434f74")) (package (name "sbcl-spinneret") - (version (git-version "3.0" "5" commit)) + (version (git-version "3.0" "6" commit)) (source (origin (method git-fetch) @@ -22733,7 +22770,7 @@ bound to whatever value was in the same place in the URL (as a string).") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1wzs0hzlwf0vzk4gb66psqz6gqcf3x7yfpi9gghbil97iz6fyc7z")))) + (base32 "1mdd92gfxfdsd81fcd8fgz8z7dwsb0kcv7zyzdgnw8lavkib5zly")))) (build-system asdf-build-system/sbcl) (inputs (list sbcl-alexandria @@ -25684,7 +25721,7 @@ desktop files to the right directories. (define-public sbcl-nclasses (package (name "sbcl-nclasses") - (version "0.5.0") + (version "0.6.0") (source (origin (method git-fetch) @@ -25694,7 +25731,7 @@ desktop files to the right directories. (file-name (git-file-name "cl-nclasses" version)) (sha256 (base32 - "0aym0m12s5px139ragna0pr8jan8bx3akhjgamj6h0y28xksziji")) + "0kp5wim5frr4l52rgchaz1cj74daqngagrz3r0lgasii6bwlzsi6")) (modules '((guix build utils))) (snippet `(begin @@ -27834,7 +27871,7 @@ implementation by Kent M. Pitman.") (define-public sbcl-ospm (package (name "sbcl-ospm") - (version "0.0.1") + (version "0.0.2") (source (origin (method git-fetch) @@ -27843,7 +27880,7 @@ implementation by Kent M. Pitman.") (commit version))) (file-name (git-file-name "cl-ospm" version)) (sha256 - (base32 "1b64ar6x08bcig4brlsim445favjf1zhyj6qz018cildp3xs4miz")))) + (base32 "1z2wz2xg7rn7p1lladdhj789iz2f3wfjgpi2hjr08vkf1pkp15xf")))) (build-system asdf-build-system/sbcl) (inputs (list sbcl-alexandria diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index a7e06dd34c..37735020ad 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2017-2019, 2022 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2017-2019, 2022, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2019–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> @@ -993,7 +993,7 @@ the HTML documentation of TXR.") (define-public txr (package (name "txr") - (version "287") + (version "289") (source (origin (method git-fetch) @@ -1002,7 +1002,7 @@ the HTML documentation of TXR.") (commit (string-append "txr-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0bwa40l5c0dnpcpfbysqbv8ch58sycbb31dnskmhr387jlv938dl")))) + (base32 "1jcz5iggp4mz5bzgnifr4xdpvz0sxa8cminynhdcs2jqr073xy8b")))) (build-system gnu-build-system) (arguments (list #:configure-flags @@ -1315,7 +1315,7 @@ assembler, PEG) is less than 1MB.") (dirname (search-input-file inputs "include/stdlib.h")))))) - + (for-each wrap-carp-program (list "carp" "carp-header-parse"))))))) @@ -1433,7 +1433,7 @@ executable Common Lisp image. It is similar to cl-launch and hu.dwim.build.") (define-public eisl (package (name "eisl") - (version "2.72") + (version "3.00") (source (origin (method git-fetch) @@ -1442,7 +1442,7 @@ executable Common Lisp image. It is similar to cl-launch and hu.dwim.build.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "12dc6b70dcfalyq3h5i7lmz39xh310k5p83x5q6j18knd6ql9ik9")))) + (base32 "0nppbzfdx4cjy72b4n0yk177i7063a0nhsrs9b1y45y4avbrbl00")))) (build-system gnu-build-system) (inputs (list bash-minimal freeglut gdbm libiconv ncurses tcl tk)) @@ -1587,8 +1587,10 @@ be built as a stand-alone REPL interpreter.") (inherit s7-bootstrap) (name "s7") (arguments - (substitute-keyword-arguments (package-arguments s7-bootstrap) - ((#:tests? _) #t) + (substitute-keyword-arguments + (strip-keyword-arguments + '(#:tests?) + (package-arguments s7-bootstrap)) ((#:phases phases) #~(modify-phases #$phases (add-after 'unpack 'patch diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index f59c8e9592..de5ad3718b 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -502,7 +502,7 @@ code analysis tools.") "znver3") '()))))) -(define (make-clang-toolchain clang libomp) +(define-public (make-clang-toolchain clang libomp) (package (name (string-append (package-name clang) "-toolchain")) (version (package-version clang)) @@ -1462,7 +1462,7 @@ Library.") ;; Based on LLVM 14 as of v5.0.0 (inherit llvm-14) (name "llvm-for-rocm") - (version "5.1.3") ;this must match '%rocm-version' + (version "5.6.0") ;this must match '%rocm-version' (source (origin (method git-fetch) (uri (git-reference @@ -1471,10 +1471,7 @@ Library.") (file-name (git-file-name name version)) (sha256 (base32 - "0j6ydfkwrxwskgnhxc3cmry42n5faqbnwf2747qgf7lz5id8h8g5")) - (patches - (search-patches "llvm-roc-5.0.0-linkdl.patch" - "llvm-roc-4.0.0-remove-isystem-usr-include.patch")))) + "1kg6q6aqijjrwaznj0gr3nd01gykrnqqnk8vz8wyfifr18l9jrgx")))) (arguments (substitute-keyword-arguments (package-arguments llvm-14) ((#:configure-flags flags) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index cc20ef68dd..f50398b555 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2020-2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> @@ -20,6 +20,7 @@ ;;; Copyright © 2022, 2023 Nicolas Graves <ngraves@ngraves.fr> ;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe> ;;; Copyright © 2023 Navid Afkhami <navid.afkhami@mdc-berlin.de> +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -239,7 +240,7 @@ classification.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0qbq1rqp94l530f043qzp8aw5lj7dng9wq0miffd7spd1ff638wq")))) + "07kdsngvr4n1qxpqzv1nlay7g41d6jzjppa8vzmrg220s8ing87z")))) (build-system gnu-build-system) (arguments `(#:imported-modules (,@%gnu-build-system-modules @@ -1470,26 +1471,17 @@ with your favorite libraries.") (define-public python-threadpoolctl (package (name "python-threadpoolctl") - (version "2.1.0") + (version "3.1.0") (source (origin (method url-fetch) (uri (pypi-uri "threadpoolctl" version)) (sha256 (base32 - "0szsxcm2fbxrn83iynn42bnvrdh7mfsmkhfn8pdn7swblfb7rifx")))) - (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? inputs outputs #:allow-other-keys) - (when tests? - (add-installed-pythonpath inputs outputs) - (invoke "pytest")) - #t))))) + "100k76nmajf408lbn5ipis1gilklcs6sbqyqy3hhlh54zanbldd3")))) + (build-system pyproject-build-system) (native-inputs - (list python-pytest)) + (list python-flit-core python-pytest)) (home-page "https://github.com/joblib/threadpoolctl") (synopsis "Python helpers for common threading libraries") (description "Thread-pool Controls provides Python helpers to limit the @@ -1497,6 +1489,73 @@ number of threads used in the threadpool-backed of common native libraries used for scientific computing and data science (e.g. BLAS and OpenMP).") (license license:bsd-3))) +(define-public python-tslearn + (package + (name "python-tslearn") + (version "0.6.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tslearn-team/tslearn") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fhs8c28hdqsyj8kdhzrmrxrh4w92x6nf3gm026xapp9divvljd6")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + '(list "-k" + (string-append + ;; This one fails because of a difference in accuracy. + "not test_all_estimators[LearningShapelets-LearningShapelets]" + ;; XXX: It's embarrassing to disable these two, but the truth is + ;; that there's only so much we can do to force this package to + ;; work with Tensorflow 1.9. It's still worth having this + ;; package, because it can be used without the Tensorflow + ;; backend. + ;; TypeError: cannot pickle '_thread.RLock' object + " and not test_shapelets" + ;; TypeError: Expected binary or unicode string, got 2 + " and not test_serialize_shapelets")) + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'compatibility + (lambda _ + (substitute* "tslearn/tests/sklearn_patches.py" + (("_pairwise_estimator_convert_X") + "_enforce_estimator_tags_X") + (("pairwise_estimator_convert_X\\(([^,]+), ([^,\\)]+)" _ a b) + (string-append "pairwise_estimator_convert_X(" b ", " a))) + (substitute* "tslearn/tests/test_shapelets.py" + (("tf.optimizers.Adam") + "tf.keras.optimizers.Adam")) + (substitute* "tslearn/shapelets/shapelets.py" + (("tf.keras.utils.set_random_seed") + "tf.set_random_seed") + (("def __call__\\(self, shape, dtype=None\\):") + "def __call__(self, shape, dtype=None, partition_info=None):") + (("tf.math.is_finite") + "tf.is_finite"))))))) + (propagated-inputs (list python-cesium + python-h5py + python-joblib + python-numba + python-numpy + python-pandas + python-scipy + python-scikit-learn + tensorflow + python-wheel)) + (native-inputs (list python-pytest)) + (home-page "https://github.com/tslearn-team/tslearn") + (synopsis "Machine learning toolkit for time series data") + (description "This is a Python library for time series data mining. +It provides tools for time series classification, clustering +and forecasting.") + (license license:bsd-2))) + (define-public python-imbalanced-learn (package (name "python-imbalanced-learn") @@ -2394,7 +2453,7 @@ Python.") ;; "ZIP does not support timestamps before 1980". Luckily, ;; SOURCE_DATE_EPOCH is respected, which we set to some time in ;; 1980. - (lambda _ (setenv "SOURCE_DATE_EPOCH" "315532800") #t)) + (lambda _ (setenv "SOURCE_DATE_EPOCH" "315532800"))) (add-after 'unpack 'python3.10-compatibility (lambda _ ;; See https://github.com/tensorflow/tensorflow/issues/20517#issuecomment-406373913 @@ -2435,6 +2494,8 @@ Python.") (substitute* "tensorflow/python/keras/callbacks.py" (("from collections import Iterable") "from collections.abc import Iterable")) + (substitute* "tensorflow/python/ops/variable_scope.py" + (("collections_lib.Sequence") "collections_lib.abc.Sequence")) ;; XXX: it is not clear if this is a good idea, but the build ;; system tries to overwrite the __or__ and __ror__ methods of @@ -2450,7 +2511,20 @@ Python.") (("void BinaryUFunc\\(char\\*\\* args, npy_intp\\* dimensions, npy_intp\\* steps,") "void BinaryUFunc(char** args, npy_intp const* dimensions, npy_intp const* steps,") (("void CompareUFunc\\(char\\*\\* args, npy_intp\\* dimensions, npy_intp\\* steps,") - "void CompareUFunc(char** args, npy_intp const* dimensions, npy_intp const* steps,")))) + "void CompareUFunc(char** args, npy_intp const* dimensions, npy_intp const* steps,")) + + ;; ...and for numpy >= 1.23 + (substitute* "tensorflow/python/framework/tensor_util.py" + (("np.asscalar\\(x\\[0\\]\\)") "x[0].item()") + (("np.asscalar\\(x\\)") "x.item()") + (("np.asscalar\\(v\\)") "np.ndarray.item(v)") + (("return np.asscalar") "return np.ndarray.item")) + (substitute* "tensorflow/python/kernel_tests/cwise_ops_test.py" + (("np.asscalar\\(np.random.rand\\(1\\) \\* 100.\\)") + "(np.random.rand(1) * 100.).item()")) + (substitute* '("tensorflow/python/framework/fast_tensor_util.pyx" + "tensorflow/python/estimator/canned/linear_testing_utils.py") + (("np.asscalar") "np.ndarray.item")))) (add-after 'python3.10-compatibility 'chdir (lambda _ (chdir "tensorflow/contrib/cmake"))) (add-after 'chdir 'disable-downloads @@ -2794,15 +2868,15 @@ DESTINATION include/tensorflow/c FILES_MATCHING PATTERN \"*.h\")\n" m))))) ("swig" ,swig) ("unzip" ,unzip))) (propagated-inputs - `(("python-absl-py" ,python-absl-py) - ("python-astor" ,python-astor) - ("python-gast" ,python-gast) - ("python-grpcio" ,python-grpcio) - ("python-numpy" ,python-numpy) - ("python-protobuf" ,python-protobuf-3.6) - ("python-six" ,python-six) - ("python-termcolo" ,python-termcolor) - ("python-wheel" ,python-wheel))) + (list python-absl-py + python-astor + python-gast + python-grpcio + python-numpy + python-protobuf-3.6 + python-six + python-termcolor + python-wheel)) (inputs `(("c-ares" ,c-ares) ("eigen" ,eigen-for-tensorflow) @@ -3206,46 +3280,115 @@ with image data, text data, and sequence data.") (define-public python-keras (package (name "python-keras") - (version "2.2.4") + (version "2.3.1") (source (origin (method url-fetch) (uri (pypi-uri "Keras" version)) - (patches (search-patches "python-keras-integration-test.patch")) (sha256 (base32 - "1j8bsqzh49vjdxy6l1k4iwax5vpjzniynyd041xjavdzvfii1dlh")))) + "1k68xd8n2y9ldijggjc8nn4d6d1axw0p98gfb0fmm8h641vl679j")) + (modules '((guix build utils))) + (snippet + '(substitute* '("keras/callbacks/callbacks.py" + "keras/engine/training_utils.py" + "keras/engine/training.py" + "keras/engine/training_generator.py" + "keras/utils/generic_utils.py") + (("from collections import Iterable") + "from collections.abc import Iterable") + (("collections.Container") + "collections.abc.Container") + (("collections.Mapping") + "collections.abc.Mapping") + (("collections.Sequence") + "collections.abc.Sequence"))))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'remove-tests-for-unavailable-features + (add-after 'unpack 'tf-compatibility + (lambda _ + (substitute* "keras/backend/tensorflow_backend.py" + (("^get_graph = .*") + "get_graph = tf.get_default_graph") + (("tf.compat.v1.nn.fused_batch_norm") + "tf.nn.fused_batch_norm") + ;; categorical_crossentropy does not support axis + (("from_logits=from_logits, axis=axis") + "from_logits=from_logits") + ;; dropout accepts a level number, not a named rate argument. + (("dropout\\(x, rate=level,") + "dropout(x, level,") + (("return x.shape.rank") + "return len(x.shape)")))) + (add-after 'unpack 'hdf5-compatibility + (lambda _ + ;; The truth value of an array with more than one element is ambiguous. + (substitute* "tests/keras/utils/io_utils_test.py" + ((" *assert .* == \\[b'(asd|efg).*") "")) + (substitute* "tests/test_model_saving.py" + (("h5py.File\\('does not matter',") + "h5py.File('does not matter', 'w',")) + (substitute* "keras/utils/io_utils.py" + (("h5py.File\\('in-memory-h5py', driver='core', backing_store=False\\)") + "h5py.File('in-memory-h5py', 'w', driver='core', backing_store=False)") + (("h5file.fid.get_file_image") + "h5file.id.get_file_image")) + (substitute* "keras/engine/saving.py" + (("\\.decode\\('utf-?8'\\)") "")))) + (add-after 'unpack 'delete-unavailable-backends (lambda _ (delete-file "keras/backend/theano_backend.py") - (delete-file "keras/backend/cntk_backend.py") - (delete-file "tests/keras/backend/backend_test.py") - ;; FIXME: This doesn't work because Tensorflow is missing the - ;; coder ops library. - (delete-file "tests/keras/test_callbacks.py"))) + (delete-file "keras/backend/cntk_backend.py"))) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? ;; These tests attempt to download data files from the internet. (delete-file "tests/integration_tests/test_datasets.py") (delete-file "tests/integration_tests/imagenet_utils_test.py") - ;; Backport https://github.com/keras-team/keras/pull/12479. - (substitute* "tests/keras/engine/test_topology.py" - (("np.ones\\(\\(3, 2\\)\\)") - "1.")) (invoke "python" "-m" "pytest" "tests" "-p" "no:pep8" ;; FIXME: python-build-system lacks PARALLEL-TESTS? "-n" (number->string (parallel-job-count)) + ;; This one uses the theano backend that we don't have. + "--ignore=tests/test_api.py" + "--ignore=tests/keras/backend/backend_test.py" + ;; Our Tensorflow version does not have the coder ops library. + "--ignore=tests/keras/callbacks/callbacks_test.py" + ;; ...nor do we have tensorboard + "--ignore=tests/keras/callbacks/tensorboard_test.py" "-k" (string-append + ;; See https://github.com/keras-team/keras/pull/7033 + "not test_TimeDistributed_learning_phase " + ;; XXX fails because no closure is provided + "and not test_func_dump_and_load_backwards_compat " + ;; XXX real bug? These are all tests that fail due to + ;; shape mismatch, e.g. "got logits shape [12,3] and + ;; labels shape [9]" + "and not test_model_with_crossentropy_losses_channels_first " + "and not test_masking_correctness_output_size_not_equal_to_first_state_size " + "and not test_convolutional_recurrent " + "and not test_axis " + + ;; XXX fails because of 3/15 values have unexpected differences. + "and not test_masking_correctness_output_not_equal_to_first_state " + ;; XXX fails because of a difference of about 0.1 + "and not test_sample_weighted " + ;; XXX fails because of a difference of about 0.3 + "and not test_scalar_weighted " + ;; XXX fails because of a difference of about 0.2 + "and not test_unweighted " + + ;; XXX I cannot reproduce this in an interactive + ;; Python session, because l2_norm works just fine. + "and not test_weighted " ;TestCosineSimilarity + "and not test_config " ;TestCosineSimilarity + ;; The following test fails only in the build ;; container; skip it. - "not test_selu " + "and not test_selu " ;; The following test was found flaky and removed in ;; recent versions. "and not test_stateful_metrics")))))))) @@ -3261,12 +3404,15 @@ with image data, text data, and sequence data.") tensorflow graphviz)) (native-inputs - (list python-pandas + (list python-flaky + python-markdown + python-pandas python-pytest python-pytest-cov python-pytest-pep8 python-pytest-timeout python-pytest-xdist + python-pyux python-sphinx python-requests)) (home-page "https://github.com/keras-team/keras") @@ -3722,6 +3868,51 @@ AI services.") Actions for the Lightning suite of libraries.") (license license:asl2.0))) +(define-public python-captum + (package + (name "python-captum") + (version "0.6.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pytorch/captum") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1h4n91ivhjxm6wj0vgqpfss2dmq4sjcp0appd08cd5naisabjyb5")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + '(list "-k" + ;; These two tests (out of more than 1000 tests) fail because of + ;; accuracy problems. + "not test_softmax_classification_batch_multi_target\ + and not test_softmax_classification_batch_zero_baseline"))) + (propagated-inputs (list python-matplotlib python-numpy python-pytorch)) + (native-inputs (list jupyter + python-annoy + python-black + python-flake8 + python-flask + python-flask-compress + python-ipython + python-ipywidgets + python-mypy + python-parameterized + python-pytest + python-pytest-cov + python-scikit-learn)) + (home-page "https://captum.ai") + (synopsis "Model interpretability for PyTorch") + (description "Captum is a model interpretability and understanding library +for PyTorch. Captum contains general purpose implementations of integrated +gradients, saliency maps, smoothgrad, vargrad and others for PyTorch models. +It has quick integration for models built with domain-specific libraries such +as torchvision, torchtext, and others.") + (license license:bsd-3))) + (define-public python-readchar (package (name "python-readchar") @@ -4573,6 +4764,9 @@ Brian 2 simulator.") (sha256 (base32 "1jgmb5kl0bf4a2zfn94zlb117672r9lvvkkmwl86ihlyr1mpr3d0")))) (build-system cmake-build-system) + (arguments (if (target-riscv64?) + (list #:configure-flags #~'("-DDNNL_CPU_RUNTIME=SEQ")) + '())) (home-page "https://github.com/oneapi-src/oneDNN") (synopsis "Deep Neural Network Library") (description diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index ee6e19fcfe..c41685f22c 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -275,14 +275,14 @@ example, modify the message headers or body, or encrypt or sign the message.") (define-public mailutils (package (name "mailutils") - (version "3.15") + (version "3.16") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mailutils/mailutils-" version ".tar.xz")) (sha256 (base32 - "1nrd9wsidxami3wa86l9z8hnnwv6rhbxdkvqg7dcgz2jqf3c5l5p")) + "1h02l0zilxsak1sxpm15vhfaahd8rwvcksc88cc7c0wc626ia784")) (patches (search-patches "mailutils-variable-lookup.patch")))) (build-system gnu-build-system) @@ -501,49 +501,47 @@ messages) using IDLE. Implemented in Go.") (base32 "0md8cf90fl2yf3zh9njjy42a673v4j4ygyq95xg7fzkygdigm1lq")))) (build-system gnu-build-system) (arguments - `(#:configure-flags - (list "--enable-tls" - "--localstatedir=/var" - "--sysconfdir=/etc") - #:phases - (modify-phases %standard-phases - (add-before 'check 'patch-test-FHS-file-names - (lambda _ - (with-directory-excursion "test" - (substitute* (list "functions.in" - "tests/send") - ;; Fix some shebangs later generated on the fly. - (("/bin/sh") (which "bash")))) - #t)) - (add-before 'check 'pass-PATH-to-tests - ;; ‘runtest’ launches each test through ‘env -’, clearing $PATH. The - ;; tests then source ‘functions’, which first demands a working $PATH - ;; only to clobber it later. Pass our $PATH to the test environment - ;; and don't touch it after that. - (lambda _ - (with-directory-excursion "test" - (substitute* "runtests" - (("env - bash") - (string-append "env - PATH=\"" (getenv "PATH") "\" bash"))) - (substitute* "functions.in" - (("export PATH=.*") ""))) - #t)) - (add-before 'check 'delete-failing-tests - (lambda _ - (with-directory-excursion "test/tests" - (for-each delete-file - (list - ;; XXX ‘nullmailer-inject: nullmailer-queue failed: 15’ - "inject/queue" - ;; XXX These require the not-yet-packaged tcpserver. - "protocols" "smtp-auth"))) - #t)) - (add-before 'install 'skip-install-data-local - ;; Don't attempt to install run-time files outside of the store. - (lambda _ - (substitute* "Makefile" - ((" install-data-local") "")) - #t))))) + (list #:configure-flags + #~(list "--enable-tls" + "--localstatedir=/var" + "--sysconfdir=/etc") + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'patch-test-FHS-file-names + (lambda _ + (with-directory-excursion "test" + (substitute* (list "functions.in" + "tests/send") + ;; Fix some shebangs later generated on the fly. + (("/bin/sh") (which "bash")))))) + (add-before 'check 'pass-PATH-to-tests + ;; ‘runtest’ launches each test through ‘env -’, clearing + ;; $PATH. The tests then source ‘functions’, which first + ;; demands a working $PATH only to clobber it later. Pass + ;; our $PATH to the test environment and don't touch it after + ;; that. + (lambda _ + (with-directory-excursion "test" + (substitute* "runtests" + (("env - bash") + (string-append "env - PATH=\"" (getenv "PATH") "\" bash"))) + (substitute* "functions.in" + (("export PATH=.*") ""))))) + (add-before 'check 'delete-failing-tests + (lambda _ + (with-directory-excursion "test/tests" + (for-each + delete-file + (list + ;; XXX ‘nullmailer-inject: nullmailer-queue failed: 15’ + "inject/queue" + ;; XXX These require the not-yet-packaged tcpserver. + "protocols" "smtp-auth"))))) + (add-before 'install 'skip-install-data-local + ;; Don't try to install run-time files outside of the store. + (lambda _ + (substitute* "Makefile" + ((" install-data-local") ""))))))) (native-inputs ;; For tests. (list daemontools)) ; for svc @@ -568,7 +566,7 @@ to run without any changes.") (define-public fetchmail (package (name "fetchmail") - (version "6.4.23") + (version "6.4.37") (source (origin (method url-fetch) @@ -576,14 +574,14 @@ to run without any changes.") (version-major+minor version) "/" "fetchmail-" version ".tar.xz")) (sha256 - (base32 "001394gxji89hfh6jcdrmv9ndimdsz7bndd55i516c8lfc9mwyjz")))) + (base32 "1sk9grjiibmaq8swfkr30vbfdz2i4ra1xrvsqdmbx6iyi5fjw62a")))) (build-system gnu-build-system) + (arguments + (list #:configure-flags + #~(list (string-append "--with-ssl=" + #$(this-package-input "openssl"))))) (inputs (list openssl)) - (arguments - `(#:configure-flags - (list (string-append "--with-ssl=" - (assoc-ref %build-inputs "openssl"))))) (home-page "https://www.fetchmail.info/") (synopsis "Remote-mail retrieval and forwarding utility") (description @@ -763,39 +761,47 @@ It adds a large amount of new and improved features to mutt.") (package (name "gmime") (version "3.2.7") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/gmime/" - (version-major+minor version) - "/gmime-" version ".tar.xz")) - (sha256 - (base32 - "0i3xfc84qn1z99i70q68kbnp9rmgqrnprqb418ba52s6g9j9dsia")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jstedfast/gmime") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0yiylbw9iy49hgj29czinv246hh5c18qv6qkvbdrmq9z5m00sp01")))) (build-system gnu-build-system) + (arguments + (list #:configure-flags + #~(list "--enable-gtk-doc=yes" + "--enable-introspection=yes") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-paths-in-tests + (lambda _ + ;; The test programs run several programs using 'system' with + ;; hard-coded paths. Here we patch them all. + ;; We use ISO-8859-1 here because test-iconv.c contains + ;; raw byte sequences in several different encodings. + (with-fluids ((%default-port-encoding #f)) + (substitute* (find-files "tests" "\\.c$") + (("(system *\\(\")(/[^ ]*)" all pre prog-path) + (let* ((base (basename prog-path)) + (prog (which base))) + (string-append pre + (or prog (error "not found: " + base)))))))))))) (native-inputs - (list pkg-config gnupg ; for tests only - gobject-introspection vala)) + (list autoconf + automake + pkg-config + gnupg ; for tests only + gobject-introspection + gtk-doc + libtool + vala + which)) ; to find libtool, &c. (inputs (list glib gpgme zlib)) - (arguments - `(#:configure-flags - (list "--enable-introspection=yes" "--enable-vapigen=yes") - #:phases - (modify-phases %standard-phases - (add-after - 'unpack 'patch-paths-in-tests - (lambda _ - ;; The test programs run several programs using 'system' with - ;; hard-coded paths. Here we patch them all. - ;; We use ISO-8859-1 here because test-iconv.c contains - ;; raw byte sequences in several different encodings. - (with-fluids ((%default-port-encoding #f)) - (substitute* (find-files "tests" "\\.c$") - (("(system *\\(\")(/[^ ]*)" all pre prog-path) - (let* ((base (basename prog-path)) - (prog (which base))) - (string-append pre - (or prog (error "not found: " base))))))) - #t))))) (home-page "http://spruce.sourceforge.net/gmime/") (synopsis "MIME message parser and creator library") (description @@ -1208,15 +1214,14 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (define-public mu (package (name "mu") - (version "1.10.2") + (version "1.10.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/djcb/mu/releases/download/v" version "/mu-" version ".tar.xz")) (sha256 - (base32 - "0mj43lnxr11wg354q8svcqjc403b36igb7ia406yavw6xfk46w9f")))) + (base32 "0bfclmffcqpb7hsgzvg7ailnnrcpvfv4ljcq7ds0z66n37f97xhs")))) (build-system meson-build-system) (native-inputs (list pkg-config @@ -1234,14 +1239,6 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (guix build emacs-utils)) #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'fix-build-system - (lambda _ - (substitute* "lib/meson.build" - (("dependencies: \\[ lib_mu_message_dep" m) - (string-append m ", thread_dep"))) - (substitute* "lib/utils/meson.build" - (("dependencies: \\[glib_dep" m) - (string-append m ", thread_dep"))))) (add-after 'unpack 'patch-bin-references (lambda _ (substitute* '("guile/tests/test-mu-guile.cc" @@ -1846,14 +1843,14 @@ addons which can add many functionalities to the base client.") (define-public msmtp (package (name "msmtp") - (version "1.8.23") + (version "1.8.24") (source (origin (method url-fetch) (uri (string-append "https://marlam.de/msmtp/releases" "/msmtp-" version ".tar.xz")) (sha256 - (base32 "1f2nqdj3k8q7l4m3a6n8ckaslilxxp2kzfdmni6l2gcv15mw216g")))) + (base32 "0nda218iz72pvh6v10s2qlihp1mdxzir6yb4hqdxc5xbmaql8rmx")))) (build-system gnu-build-system) (inputs (list libsecret gnutls zlib gsasl)) @@ -3175,20 +3172,19 @@ from the Cyrus IMAP project.") (define-public opensmtpd (package (name "opensmtpd") - (version "6.8.0p2") + (version "7.3.0p1") (source (origin (method url-fetch) (uri (string-append "https://www.opensmtpd.org/archives/" "opensmtpd-" version ".tar.gz")) (sha256 - (base32 "05sd7bmq29ibnqbl2z53hiyprfxzf0qydfdaixs68rz55wqhbgsi")))) + (base32 "01ss6j1jadnd3ckgf9zpvrbdpipkf7m4l3isribqfwy2l50wsihv")))) (build-system gnu-build-system) (inputs (list bdb - libasr libevent - libressl ; recommended, and supports e.g. ECDSA + libressl linux-pam zlib)) (native-inputs @@ -3205,13 +3201,6 @@ from the Cyrus IMAP project.") "--with-table-db") #:phases (modify-phases %standard-phases - ;; See: https://github.com/OpenSMTPD/OpenSMTPD/issues/1069. - (add-after 'unpack 'fix-smtpctl-encrypt-bug - (lambda _ - (substitute* "usr.sbin/smtpd/smtpctl.c" - (("\"encrypt\", \"--\",") - "\"encrypt\",")) - #t)) ;; Fix some incorrectly hard-coded external tool file names. (add-after 'unpack 'patch-FHS-file-names (lambda _ @@ -3219,8 +3208,7 @@ from the Cyrus IMAP project.") ;; ‘gzcat’ is auto-detected at compile time, but ‘cat’ isn't. (("/bin/cat") (which "cat"))) (substitute* "usr.sbin/smtpd/mda_unpriv.c" - (("/bin/sh") (which "sh"))) - #t)) + (("/bin/sh") (which "sh"))))) ;; OpenSMTPD provides a single smtpctl utility to control both the ;; daemon and the local submission subsystem. To accomodate systems ;; that require historical interfaces such as sendmail, newaliases or @@ -3233,8 +3221,7 @@ from the Cyrus IMAP project.") (for-each (lambda (command) (symlink "smtpctl" (string-append sbin command))) (list "mailq" "makemap" "newaliases" - "send-mail" "sendmail"))) - #t))))) + "send-mail" "sendmail")))))))) (synopsis "Lightweight SMTP daemon") (description "OpenSMTPD is an implementation of server-side @acronym{SMTP, Simple Mail @@ -3397,14 +3384,14 @@ messages with @acronym{DKIM, DomainKeys Identified Mail} (RFC 4871).") (define-public opensmtpd-filter-rspamd (package (name "opensmtpd-filter-rspamd") - (version "0.1.7") + (version "0.1.8") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/poolpOrg/filter-rspamd") (commit (string-append "v" version)))) (sha256 - (base32 "1qhrw20q9y44ffgx5k14nvqc9dh47ihywgzza84g0zv9xgif7hd5")) + (base32 "1zjmxfr22gvrxy3nfngl66h1fsd1sv4kxdn91r8byqijy6p65pai")) (file-name (git-file-name name version)))) (build-system go-build-system) (arguments @@ -4864,7 +4851,7 @@ remote SMTP server.") (define-public aerc (package (name "aerc") - (version "0.14.0") + (version "0.15.2") (source (origin (method git-fetch) (uri (git-reference @@ -4873,17 +4860,20 @@ remote SMTP server.") (file-name (git-file-name name version)) (sha256 (base32 - "067j7kja78hv7dafw8gy3m2g5cslq6xlnzja8lm3b5p0m0vfabm8")))) + "1gbprx0i8d13q974n5hsys6lllav5cpll3cwrr1hfw6307hc001r")))) (build-system go-build-system) (arguments (list #:import-path "git.sr.ht/~rjarry/aerc" ;; Installing the source is only necessary for Go libraries. #:install-source? #f #:build-flags - #~(list "-tags=notmuch" "-ldflags" - (string-append "-X main.Version=" #$version - " -X git.sr.ht/~rjarry/aerc/config.shareDir=" - #$output "/share/aerc")) + #~(list "-tags=notmuch" + (string-append + "-ldflags=-X main.Version=" #$version + " -X git.sr.ht/~rjarry/aerc/config.libexecDir=" + #$output "/libexec/aerc" + " -X git.sr.ht/~rjarry/aerc/config.shareDir=" + #$output "/share/aerc")) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-paths @@ -4921,7 +4911,7 @@ remote SMTP server.") (string-append "src/" import-path)))) (replace 'install (lambda* (#:key import-path build-flags #:allow-other-keys) - (invoke "make" "install" "-C" + (invoke "make" "CC=gcc" "install" "-C" (string-append "src/" import-path) (string-append "PREFIX=" #$output))))))) (inputs (list gnupg @@ -4960,6 +4950,8 @@ remote SMTP server.") go-github-com-syndtr-goleveldb-leveldb go-git-sr-ht-sircmpwn-getopt go-git-sr-ht-rockorager-tcell-term + python + python-vobject zoxide)) (native-inputs (list scdoc)) (home-page "https://git.sr.ht/~rjarry/aerc") diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 6bafc5697c..7b40f395f3 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2018, 2019, 2021, 2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2018, 2019, 2021, 2022, 2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com> @@ -626,7 +626,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." #~("AR=gcc-ar" "RANLIB=gcc-ranlib") #~()) - #$@(if (hurd-target?) + #$@(if (target-hurd?) #~("--disable-jit") #~()))) ((#:phases phases '%standard-phases) diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm index 9c1d3cd26f..aa20975597 100644 --- a/gnu/packages/mastodon.scm +++ b/gnu/packages/mastodon.scm @@ -21,50 +21,50 @@ (define-module (gnu packages mastodon) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages check) + #:use-module (gnu packages databases) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) + #:use-module (gnu packages image) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) - #:use-module (gnu packages time)) + #:use-module (gnu packages time) + #:use-module (gnu packages xml)) (define-public toot (package (name "toot") - (version "0.36.0") + (version "0.37.0") (source (origin (method url-fetch) (uri (pypi-uri "toot" version)) (sha256 - (base32 "1n79jwr3kpnc2xsr9isbgrj5as5i6zbkhxrdpdjfg87qbbjz7xca")))) + (base32 "0qx8hyb74r85dxf97k23w0f5rzkrs16mq7h3y37nwp6hl6gia0ci")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-before 'check 'adjust-test-suite - (lambda _ - ;; This test contains integration tests meant to run against a test - ;; Mastodon instance. - (delete-file "tests/test_integration.py"))) (replace 'check (lambda* (#:key tests? inputs outputs #:allow-other-keys) (when tests? (add-installed-pythonpath inputs outputs) (invoke "py.test"))))))) (native-inputs - (list python-pytest)) + (list python-psycopg2 python-pytest)) (inputs (list python-beautifulsoup4 python-requests python-urwid python-wcwidth)) @@ -81,6 +81,65 @@ Features include: @end itemize") (license license:gpl3))) +(define-public tuba + (package + (name "tuba") + (version "0.3.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/GeopJr/Tuba") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1xhyz6wi17g4m76lr6qc75q4xnnw7c3dh3d04dg8m5gzk6j0y89x")))) + (build-system meson-build-system) + (arguments + (list + #:glib-or-gtk? #t + #:configure-flags #~(list "-Ddistro=true") + #:phases + #~(modify-phases %standard-phases + (add-after 'glib-or-gtk-wrap 'lib-vars-wrap + (lambda _ + (let ((gstvar "GST_PLUGIN_SYSTEM_PATH") + (pixvar "GDK_PIXBUF_MODULE_FILE")) + (wrap-program (string-append #$output "/bin/dev.geopjr.Tuba") + `(,gstvar ":" suffix (,(getenv gstvar))) + `(,pixvar ":" = (,(getenv pixvar))))))) + (add-after 'lib-vars-wrap 'symlink-package + (lambda _ + (with-directory-excursion (string-append #$output "/bin") + (symlink "dev.geopjr.Tuba" "tuba"))))))) + (native-inputs + (list gdk-pixbuf ; so pixbuf loader cache (for webp) is generated + gettext-minimal + `(,glib "bin") ; for glib-compile-resources + pkg-config)) + (inputs + (list gst-plugins-bad + gst-plugins-base + gst-plugins-good + gstreamer + gtk + gtksourceview + json-glib + libadwaita + libgee + libsoup-minimal + libsecret + libwebp + libxml2 + vala + webp-pixbuf-loader)) + (home-page "https://tuba.geopjr.dev/") + (synopsis "GTK client for Mastodon") + (description "Tuba is a GTK client for Mastodon. It provides a clean, +native interface that allows you to integrate Mastodon's social experience +seamlessly with your desktop environment.") + (license license:gpl3))) + (define-public tootle (package (name "tootle") diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index f5a2181905..0d59ff30f7 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -210,14 +210,14 @@ beginners.") (define-public bitwise (package (name "bitwise") - (version "0.42") + (version "0.43") (source (origin (method url-fetch) (uri (string-append "https://github.com/mellowcandle/bitwise" "/releases/download/v" version "/bitwise-v" version ".tar.gz")) (sha256 - (base32 "1lniw4bsb5qs5ybf018qllf95pzixb1q3lvybzl4k3xz8zpkrm6k")))) + (base32 "1yrgrbfgp6cavc6gyfp9b0zgjf9p1g7xhwzn9pydw44a32agf97m")))) (build-system gnu-build-system) (inputs (list ncurses readline)) @@ -1226,14 +1226,14 @@ in the terminal or with an external viewer.") (define-public gnuplot (package (name "gnuplot") - (version "5.4.6") + (version "5.4.8") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gnuplot/gnuplot/" version "/gnuplot-" version ".tar.gz")) (sha256 - (base32 "06bly8cpqjdf744jg7yrgba9rdcm3gl4zf63y3c69v80ha8jgz02")))) + (base32 "1kzmj4yyxvlxqzqbrw6sx6dnvhj1zzqnciyb8ryzy6mdrb3pj4lk")))) (build-system gnu-build-system) (native-inputs (list pkg-config texlive-tiny)) @@ -2388,16 +2388,7 @@ interfaces.") (string-append builddir "/src/nomad "))) (for-each (lambda (f) (fix-exe-path dir f)) - '("param1.txt" "param2.txt" "param3.txt" "param10.txt"))))))) - - ;; The information in the .egg-info file is not kept up to date. - (add-after 'install 'delete-superfluous-egg-info - (lambda* (#:key inputs outputs #:allow-other-keys) - (delete-file (string-append - (site-packages inputs outputs) - "/PyNomad-0.0.0-py" - (python-version (assoc-ref inputs "python")) - ".egg-info"))))))) + '("param1.txt" "param2.txt" "param3.txt" "param10.txt")))))))))) (home-page "https://www.gerad.ca/nomad/") (synopsis "Nonlinear optimization by mesh-adaptive direct search") (description @@ -2999,7 +2990,7 @@ This is the certified version of the Open Cascade Technology (OCCT) library.") (define-public gmsh (package (name "gmsh") - (version "4.10.5") + (version "4.11.1") (source (origin (method git-fetch) @@ -3010,7 +3001,7 @@ This is the certified version of the Open Cascade Technology (OCCT) library.") (string-replace-substring version "." "_"))))) (file-name (git-file-name name version)) (sha256 - (base32 "08p39yjgf3lbnjg90skpmsq9n1a9pmwppdmy5s94dc6sq2nfr7xl")) + (base32 "1d6n7qqj9xpfgh7v5jif565waiqjhahkh21pi5s1vr84y61wxyx8")) (modules '((guix build utils))) (snippet '(delete-file-recursively "contrib/metis")))) diff --git a/gnu/packages/matrix.scm b/gnu/packages/matrix.scm index f356674ed9..6107dfc979 100644 --- a/gnu/packages/matrix.scm +++ b/gnu/packages/matrix.scm @@ -34,6 +34,7 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages xml) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix gexp) @@ -159,14 +160,14 @@ homeserver and generally help bootstrap the ecosystem.") (define-public python-matrix-nio (package (name "python-matrix-nio") - (version "0.20.0") + (version "0.20.2") (source (origin (method url-fetch) - (uri (pypi-uri "matrix-nio" version)) + (uri (pypi-uri "matrix_nio" version)) (sha256 - (base32 "1ycrp48b15nm2d3w3qpzps21czl3gbikadl10sncbzr9wdwn44g4")))) - (build-system python-build-system) + (base32 "110wg1grhqqgwvlgr98r2k8wxcggpj7lbdwmgkgmi2l7qj1vw3dm")))) + (build-system pyproject-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -187,15 +188,13 @@ homeserver and generally help bootstrap the ecosystem.") "and not test_connect_wrapper")))))))) (native-inputs `(("python-pytest" ,python-pytest) - ("python-hyperframe" ,python-hyperframe) + ("python-poetry-core" ,python-poetry-core) ("python-hypothesis" ,python-hypothesis) - ("python-hpack" ,python-hpack) ("python-faker" ,python-faker) ("python-pytest-aiohttp" ,python-pytest-aiohttp) ("python-pytest-asyncio" ,python-pytest-asyncio) ("python-aioresponses" ,python-aioresponses) ("python-pytest-benchmark" ,python-pytest-benchmark) - ("python-toml" ,python-toml) ("tests" ;; The release on pypi comes without tests. We can't build from this ;; checkout, though, because installation requires an invocation of @@ -208,13 +207,14 @@ homeserver and generally help bootstrap the ecosystem.") (file-name (git-file-name name version)) (sha256 (base32 - "10j8g3ns3v1ghdn262dxg50ayaczdp1hj97pj4ydw02bncqhddpd")))))) + "1rd90sk5yygxzvcs4qhzr80bch7d3xszyfjf99pn10xsj10mi752")))))) (propagated-inputs (list python-aiofiles python-aiohttp python-aiohttp-socks python-atomicwrites python-cachetools + python-dataclasses python-future python-h11 python-h2 diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm index a805bda8e5..fc3a63c263 100644 --- a/gnu/packages/maven.scm +++ b/gnu/packages/maven.scm @@ -4,7 +4,6 @@ ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com> -;;; Copyright © 2023 Aleksandr Vityazev <avityazew@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1366,10 +1365,6 @@ simply plain java objects."))) #:test-dir "maven-settings-builder/src/test" #:phases (modify-phases %standard-phases - (add-after 'unpack 'add-sisu-shebang - (lambda _ - (substitute* "sisu.sh" - (("^## T") "#!/bin/sh\n## T")))) (add-before 'build 'generate-sisu-named (lambda _ (mkdir-p "build/classes/META-INF/sisu") @@ -1411,10 +1406,6 @@ inheritance, interpolation, @dots{}"))) (copy-recursively "src/main/resources" "build/classes") #t)) - (add-after 'unpack 'add-sisu-shebang - (lambda _ - (substitute* "sisu.sh" - (("^## T") "#!/bin/sh\n## T")))) (add-before 'build 'generate-sisu-named (lambda _ (mkdir-p "build/classes/META-INF/sisu") @@ -1510,10 +1501,6 @@ so really just plain objects."))) #:tests? #f; dependency loop on maven-core (@Component RepositorySystem) #:phases (modify-phases %standard-phases - (add-after 'unpack 'add-sisu-shebang - (lambda _ - (substitute* "sisu.sh" - (("^## T") "#!/bin/sh\n## T")))) (add-before 'build 'generate-sisu-named (lambda _ (mkdir-p "build/classes/META-INF/sisu") @@ -1604,10 +1591,6 @@ generally generated from plugin sources using maven-plugin-plugin."))) #:tests? #f #:phases (modify-phases %standard-phases - (add-after 'unpack 'add-sisu-shebang - (lambda _ - (substitute* "sisu.sh" - (("^## T") "#!/bin/sh\n## T")))) (add-before 'configure 'chdir (lambda _ ;; Required for generating components.xml in maven-core @@ -1839,10 +1822,6 @@ artifactId=maven-core" ,(package-version maven-core-bootstrap)))) #:jdk ,icedtea-8 #:phases (modify-phases %standard-phases - (add-after 'unpack 'add-sisu-shebang - (lambda _ - (substitute* "sisu.sh" - (("^## T") "#!/bin/sh\n## T")))) (add-before 'build 'generate-sisu-named (lambda _ (mkdir-p "build/classes/META-INF/sisu") diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 00897ea451..02b0d10c6e 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -436,7 +436,8 @@ TCP sessions from existing clients.") python-pygments python-pyinotify python-qrcode - python-slixmpp)) + python-slixmpp + python-typing-extensions)) (synopsis "Console Jabber/XMPP Client") (description "Poezio is a free console XMPP client (the protocol on which the Jabber IM network is built). @@ -2807,6 +2808,7 @@ validating international phone numbers.") (native-inputs (list gettext-minimal `(,glib "bin") + itstool pkg-config protobuf xorg-server-for-tests)) diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index d36ba707c7..ab673490fe 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -591,7 +591,7 @@ devices.") (define-public fswatch (package (name "fswatch") - (version "1.16.0") + (version "1.17.1") (source (origin (method git-fetch) (uri (git-reference @@ -600,7 +600,7 @@ devices.") (file-name (git-file-name name version)) (sha256 (base32 - "1zsvc8arza2ypnnmv4m0qfpnldmy1zh10q6wss05ibmanslfj2ql")))) + "15bk2adv1ycqn3rxvpvapwrlzsxw8fvcahqiglfkibwb9ss7s8dh")))) (build-system gnu-build-system) (native-inputs (list autoconf automake gettext-minimal libtool)) @@ -791,7 +791,7 @@ provides a simple Python client for the StatsD daemon.") (define-public batsignal (package (name "batsignal") - (version "1.6.0") + (version "1.6.4") (source (origin (method git-fetch) (uri (git-reference @@ -800,7 +800,7 @@ provides a simple Python client for the StatsD daemon.") (file-name (git-file-name name version)) (sha256 (base32 - "0b1j6mljnqgxwr3id3r9shzhsjk5r0qdh9cxkvy1dm4kzbyc4dxq")))) + "0f8jabql70nxkslgxd8pcfllqy4bnbf1c19rcri0dp054aszk637")))) (build-system gnu-build-system) (arguments (list #:make-flags diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 9884bc0487..111150ce6b 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -615,7 +615,7 @@ mpdevil loads all tags and covers on demand.") (define-public mympd (package (name "mympd") - (version "10.3.2") + (version "10.3.3") (source (origin (method git-fetch) (uri (git-reference @@ -624,14 +624,17 @@ mpdevil loads all tags and covers on demand.") (file-name (git-file-name name version)) (sha256 (base32 - "04mpj0qikdg7nqp8rvwr83bx3544qy2ha0sjj4cnpjknka6p8xan")))) + "1n8z3rscrw7k097q5z1d59mrryy7b8m0zdfhi767a1qpa121m8if")))) (build-system cmake-build-system) (arguments - (list #:tests? #f)) ; no test target - (native-inputs (list jq perl)) + (list + #:configure-flags + #~(list "-DMYMPD_STRIP_BINARY=OFF") ; handled by 'strip phase + #:tests? #f)) ; no test target + (native-inputs (list jq perl pkg-config)) (inputs (list flac libid3tag lua openssl pcre2)) (home-page "https://jcorporation.github.io/") (synopsis "Web-based MPD client") - (description "MyMPD is a mobile-friendly web client for the MPD music -player daemon.") + (description "MyMPD is a mobile-friendly web client for the Music Player +Daemon (MPD).") (license license:gpl3+))) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 3786dc177c..4d2458344f 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -141,7 +141,7 @@ bind processes, and much more.") (define-public hwloc-2 (package (inherit hwloc-1) - (version "2.9.1") + (version "2.9.2") (source (origin (method url-fetch) (uri (string-append "https://download.open-mpi.org/release/hwloc/v" @@ -149,7 +149,7 @@ bind processes, and much more.") "/hwloc-" version ".tar.bz2")) (sha256 (base32 - "17jr14a5ns5rpwvy28fy7xqagbvfprsz7wrsjgh5gx7y40d97i3w")))) + "1kv0n3b9knb8aawf0hxaxn9wc9bbpwh676r2gmb0pc7qfzvgv1qa")))) ;; libnuma is no longer needed. (inputs (modify-inputs (package-inputs hwloc-1) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index b7369391db..4f0a2d9d1f 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -159,6 +159,7 @@ #:use-module (gnu packages mpd) #:use-module (gnu packages ncurses) #:use-module (gnu packages netpbm) + #:use-module (gnu packages networking) #:use-module (gnu packages pcre) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) @@ -206,50 +207,50 @@ (define-public audacious (package (name "audacious") - (version "4.3") + (version "4.3.1") (source (origin (method url-fetch) (uri (string-append "https://distfiles.audacious-media-player.org/" "audacious-" version ".tar.bz2")) (sha256 - (base32 "14chrsh1dacw5r2qpzw0rhg2lchpbya90y96r6w0vry78p44sn17")))) + (base32 "0hi0njnw3q7kngmjk837ynagighrbz8a4wpf8bim2nsh85lf5sc5")))) (build-system gnu-build-system) (arguments - `(#:configure-flags - (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib") - "--disable-gtk") - #:tests? #f ; no check target - #:phases - (modify-phases %standard-phases - (add-after 'install 'unpack-plugins - (lambda* (#:key inputs #:allow-other-keys) - (let ((plugins (assoc-ref inputs "audacious-plugins"))) - (invoke "tar" "xvf" plugins)))) - (add-after 'unpack-plugins 'configure-plugins - (lambda* (#:key configure-flags outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion - (string-append "audacious-plugins-" ,version) - (substitute* "configure" - (("/bin/sh") (which "sh"))) - (apply invoke "./configure" - (append configure-flags - ;; audacious-plugins requires audacious to build. - (list (string-append "PKG_CONFIG_PATH=" - out "/lib/pkgconfig:" - (getenv "PKG_CONFIG_PATH")) - (string-append "--prefix=" out)))))))) - (add-after 'configure-plugins 'build-plugins - (lambda _ - (with-directory-excursion - (string-append "audacious-plugins-" ,version) - (invoke "make" "-j" (number->string (parallel-job-count)))))) - (add-after 'build-plugins 'install-plugins - (lambda _ - (with-directory-excursion - (string-append "audacious-plugins-" ,version) - (invoke "make" "install"))))))) + (list + #:configure-flags + #~(list (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib") + "--disable-gtk") + #:tests? #f ; no check target + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'unpack-plugins + (lambda* (#:key inputs #:allow-other-keys) + (invoke "tar" "xvf" + #$(this-package-native-input "audacious-plugins")))) + (add-after 'unpack-plugins 'configure-plugins + (lambda* (#:key configure-flags outputs #:allow-other-keys) + (with-directory-excursion + (string-append "audacious-plugins-" #$version) + (substitute* "configure" + (("/bin/sh") (which "sh"))) + (apply invoke "./configure" + (append configure-flags + ;; audacious-plugins requires audacious to build. + (list (string-append "PKG_CONFIG_PATH=" + #$output "/lib/pkgconfig:" + (getenv "PKG_CONFIG_PATH")) + (string-append "--prefix=" #$output))))))) + (add-after 'configure-plugins 'build-plugins + (lambda _ + (with-directory-excursion + (string-append "audacious-plugins-" #$version) + (invoke "make" "-j" (number->string (parallel-job-count)))))) + (add-after 'build-plugins 'install-plugins + (lambda _ + (with-directory-excursion + (string-append "audacious-plugins-" #$version) + (invoke "make" "install"))))))) (native-inputs `(("audacious-plugins" ,(origin @@ -257,7 +258,7 @@ (uri (string-append "https://distfiles.audacious-media-player.org/" "audacious-plugins-" version ".tar.bz2")) (sha256 - (base32 "1ilzz2fv0mirlfhzhrcbccv996slj65z1ifibzrx0w5xqk4gcbk6")))) + (base32 "19n8zpayakszm00bakfzagbbqci95dxv4h7j9ml2sfjqmzijdsid")))) ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ; for gdbus-codegen ("pkg-config" ,pkg-config))) @@ -7047,14 +7048,14 @@ midi devices to JACK midi devices.") (define-public opustags (package (name "opustags") - (version "1.6.0") + (version "1.9.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/fmang/opustags") (commit version))) (sha256 - (base32 "1wsfw713rhi2gg5xc04cx5i31hlw0l3wdflj3r1y8w45bdk6ag1z")) + (base32 "1f1bj0ng89plivdwpjc8qkfy8nn1kw5gqnbc74scigz7mw9z443i")) (file-name (git-file-name name version)))) (arguments (list @@ -7072,9 +7073,14 @@ midi devices to JACK midi devices.") (perl-exporter-tiny-lib (string-append #$(this-package-native-input "perl-exporter-tiny") "/lib/perl5/site_perl/" + #$(package-version perl))) + (perl-test-deep-lib + (string-append #$(this-package-native-input "perl-test-deep") + "/lib/perl5/site_perl/" #$(package-version perl)))) (setenv "PERL5LIB" (string-append perl-list-moreutils-lib ":" - perl-exporter-tiny-lib)))))))) + perl-exporter-tiny-lib ":" + perl-test-deep-lib)))))))) (build-system cmake-build-system) (inputs (list libogg)) @@ -7083,6 +7089,7 @@ midi devices to JACK midi devices.") ffmpeg perl-exporter-tiny perl-list-moreutils + perl-test-deep perl-test-harness)) (synopsis "Ogg Opus tags editor") (description "@code{opustags} is an Ogg Opus tag editor. It reads and edits @@ -7095,7 +7102,7 @@ choice.") (define-public musikcube (package (name "musikcube") - (version "0.96.10") + (version "3.0.1") (source (origin (method git-fetch) (uri (git-reference @@ -7104,13 +7111,12 @@ choice.") (file-name (git-file-name name version)) (sha256 (base32 - "06myr83x8jvzlzchg3jsw1163n2lcsbmb176zgnx7xxa26jpdbh1")))) + "09q15xlssgg67zg5m0q574k3al2pdjdnm1580mlf0wzr6a021fnd")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; No test suite #:configure-flags '("-DCMAKE_BUILD_TYPE=Release" - "-DENABLE_BUNDLED_TAGLIB=false" ;; Use the "wide" ncurses headers but don't look for them in an ;; ncursesw directory. For more info: ;; https://github.com/clangen/musikcube/wiki/building#compiler-cannot-find-ncurseswcursesh @@ -7118,7 +7124,7 @@ choice.") ;; We will strip the binaries ourselves in the 'strip' phase. "-DDISABLE_STRIP=true"))) (native-inputs - (list pkg-config)) + (list asio pkg-config)) (inputs (list alsa-lib boost @@ -7126,10 +7132,14 @@ choice.") ffmpeg-4 lame libev + libgme libmicrohttpd + libogg libopenmpt - ncurses + libvorbis + ncurses/tinfo openssl + pipewire pulseaudio taglib zlib)) @@ -7150,6 +7160,8 @@ streaming audio server.") (url "https://github.com/quodlibet/quodlibet") (commit (string-append "release-" version)))) (file-name (git-file-name name version)) + (patches (search-patches "quodlibet-fix-invalid-glob.patch" + "quodlibet-fix-mtime-tests.patch")) (sha256 (base32 "1i5k93k3bfp7hpcwkbr865mbj9jam3jv2a5k1bazcyp4f5vdrb0v")))) (build-system python-build-system) @@ -7173,9 +7185,7 @@ streaming audio server.") "--ignore=tests/test_browsers_iradio.py" ;; broken upstream "--disable-warnings" - "--ignore=tests/quality" - ;; missing legacy icons in adwaita-icon-theme - "--ignore=tests/plugin/test_trayicon.py") + "--ignore=tests/quality/test_flake8.py") (format #t "test suite not run~%")))) (add-after 'install 'glib-or-gtk-wrap ; ensure icons loaded (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)) @@ -7321,6 +7331,82 @@ the same way, and tries to match each block with one in its brain to play in realtime.") (license license:gpl2+))) +(define-public le-biniou-data + (package + (name "le-biniou-data") + (version "3.66.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/lebiniou/lebiniou-data") + (commit (string-append "version-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1s8dax6ryfqz7aqq8rj5ipxddshp5mjdvj0mn9kk1zzr55hvkfb7")))) + (build-system gnu-build-system) + (native-inputs (list autoconf automake libtool)) + (home-page "https://biniou.net/") + (synopsis "Data files for use with Le Biniou") + (description + "This package contains data files for use with Le Biniou.") + (license license:gpl2+))) + +(define-public le-biniou + (package + (name "le-biniou") + (version "3.66.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/lebiniou/lebiniou") + (commit (string-append "version-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fvf944i703yd17kkxgja2xyyznb30p006piclz1rmgkhijp0lcp")))) + (build-system gnu-build-system) + (arguments + (list #:configure-flags #~(list (string-append "LDFLAGS=-Wl,-rpath=" + #$output "/lib") + (string-append + "LEBINIOU_DATADIR=" + #$(this-package-input "le-biniou-data"))) + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + (substitute* "src/bulfius_vui.c" + (("xdg-open") + (string-append + #$(this-package-input "xdg-utils") + "/bin/xdg-open")))))))) + (native-inputs (list autoconf + automake + libtool + perl ;for pod2man + pkg-config)) + (inputs (list alsa-lib + curl + ffmpeg + fftw + glib + imagemagick + jack-1 + jansson + le-biniou-data + libcaca + libsndfile + pulseaudio + sdl2 + ulfius + xdg-utils)) + (home-page "https://biniou.net/") + (synopsis "Audio visualization and VJing tool") + (description + "Le Biniou is a music visualization & VJing tool. It creates live +visuals based on audio performances or existing tracks.") + (license license:gpl2+))) + ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 2055ed93c7..587a400d33 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1085,14 +1085,14 @@ residing in IPv4-only networks, even when they are behind a NAT device.") (define-public ndisc6 (package (name "ndisc6") - (version "1.0.6") + (version "1.0.7") (source (origin (method url-fetch) (uri (string-append "https://www.remlab.net/files/ndisc6/ndisc6-" version ".tar.bz2")) (sha256 (base32 - "1yrw8maj1646d498ax8xi0jmzk80idrc5x0913x5rwg1kc7224x7")))) + "02b6r4mwqj3kkia3nnqlr5nq8qqg1pg47lirb8d35mqh0pbk3i7d")))) (build-system gnu-build-system) (home-page "https://www.remlab.net/ndisc6/") (synopsis "IPv6 diagnostic tools") @@ -1667,34 +1667,32 @@ and min/max network usage.") (define-public iodine (package (name "iodine") - (version "0.7.0") - (source (origin - (method url-fetch) - (uri (string-append "http://code.kryo.se/" name "/" - name "-" version ".tar.gz")) - (sha256 - (base32 - "0gh17kcxxi37k65zm4gqsvbk3aw7yphcs3c02pn1c4s2y6n40axd")))) + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://code.kryo.se/iodine/" + "iodine-" version ".tar.gz")) + (sha256 + (base32 "1ihlwxr5xi82gskcdl06qil9q67bcc80p18wm079gxqphv7r4vjl")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases - (delete 'configure) + (delete 'configure) ; no configure script (add-before 'build 'fix-ifconfig-path ;; This package works only with the net-tools version of ifconfig. (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/tun.c" (("PATH=[^ ]* ") - (string-append (assoc-ref inputs "net-tools") "/bin/"))) - #t)) + (string-append (assoc-ref inputs "net-tools") "/bin/"))))) (add-before 'check 'delete-failing-tests ;; Avoid https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802105. (lambda _ (substitute* "tests/common.c" (("tcase_add_test\\(tc, \ test_parse_format_ipv(4(|_listen_all|_mapped_ipv6)|6)\\);") - "")) - #t))) + ""))))) #:make-flags (list ,(string-append "CC=" (cc-for-target)) (string-append "prefix=" (assoc-ref %outputs "out"))) #:test-target "test")) @@ -4369,14 +4367,15 @@ stamps.") (define-public nbd (package (name "nbd") - (version "3.24") + (version "3.25") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/nbd/nbd/" version - "/nbd-" version ".tar.xz")) + (uri (string-append + "https://github.com/NetworkBlockDevice/nbd/releases/download/nbd-" + version "/nbd-" version ".tar.xz")) (sha256 - (base32 "036ib2d5722sx9nn7jydqfpl5ici5if2z7g8xrskzcx74dniaxv8")))) + (base32 "02nxrgq3024g106x9wdyg23f0bj3avrmf3jdb4kckcaprc7zvj7m")))) (build-system gnu-build-system) (inputs (list glib)) @@ -4505,7 +4504,7 @@ on hub/switched networks. It is based on @acronym{ARP} packets, it will send (define-public phantomsocks (package (name "phantomsocks") - (version "0.0.0-20230223180716-34d21f24a9eb") + (version "0.0.0-20230405135900-a54ae9f3611e") (source (origin (method git-fetch) (uri (git-reference @@ -4514,7 +4513,7 @@ on hub/switched networks. It is based on @acronym{ARP} packets, it will send (file-name (git-file-name name version)) (sha256 (base32 - "0zfkqiimqwg89njqm9qbwki3fgy0rqx8wr95hq813zk0rf3bj1ka")))) + "1qgv8dcrsyzjzppvdk0n5kkyaypcjm1hcn9lb29ahvbhm70cpm6a")))) (build-system go-build-system) (arguments (list #:install-source? #f diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 9532fd7187..9312d34242 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2019-2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com> ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net> @@ -20,7 +20,8 @@ ;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> ;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com> -;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com> +;;; Copyright © 2022, 2023 Zhu Zihao <all_but_last@163.com> +;;; Copyright © 2023 jgart <jgart@dismail.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,6 +57,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages cmake) #:use-module (gnu packages cpio) + #:use-module (gnu packages cpp) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages databases) @@ -171,8 +173,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.4.0") - (commit "dc5430c9dc20ee53441995d9a89a90b0a86aeed3") - (revision 6)) + (commit "44bbfc24e4bcc48d0e3343cd3d83452721af8c36") + (revision 7)) (package (name "guix") @@ -188,7 +190,7 @@ (commit commit))) (sha256 (base32 - "192jxca7gdf8451kac58fq1f2rxn3624krmhz04bh7ln2sp5q0yd")) + "08gq04pphapr3i0gzdilp8l87rpxlh2p768qrn1fw92fmw727xf7")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -216,7 +218,7 @@ ;; choose a fixed-width and short directory name ;; for tests. "ac_cv_guix_test_root=/tmp/guix-tests" - ,@(if (hurd-target?) '("--with-courage") '())) + ,@(if (target-hurd?) '("--with-courage") '())) #:parallel-tests? #f ;work around <http://bugs.gnu.org/21097> #:modules ((guix build gnu-build-system) @@ -416,7 +418,7 @@ $(prefix)/etc/openrc\n"))) ;; cross-compilation. ("guile" ,guile-3.0-latest) ;for faster builds ("guile-gnutls" ,guile-gnutls) - ,@(if (hurd-target?) + ,@(if (target-hurd?) '() `(("guile-avahi" ,guile-avahi))) ("guile-gcrypt" ,guile-gcrypt) @@ -476,7 +478,7 @@ $(prefix)/etc/openrc\n"))) (propagated-inputs `(("guile-gnutls" ,guile-gnutls) ;; Avahi requires "glib" which doesn't cross-compile yet. - ,@(if (hurd-target?) + ,@(if (target-hurd?) '() `(("guile-avahi" ,guile-avahi))) ("guile-gcrypt" ,guile-gcrypt) @@ -731,16 +733,16 @@ high-performance computing} clusters.") (define-public nix (package (name "nix") - (version "2.5.1") + (version "2.16.1") (source (origin (method git-fetch) (uri (git-reference - (url "http://github.com/NixOS/nix") + (url "https://github.com/NixOS/nix") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1m8rmv8i6lg83pmalvjlq1fn8mcghn3ngjv3kw1kqsa45ymj5sqq")) + (base32 "1rca8ljd33dmvh9bqk6sy1zxk97aawcr6k1f7hlm4d1cd9mrcw7x")) (patches (search-patches "nix-dont-build-html-doc.diff")))) (build-system gnu-build-system) @@ -757,7 +759,19 @@ high-performance computing} clusters.") (apply invoke "make" "install" (string-append "sysconfdir=" etc) (string-append "profiledir=" etc "/profile.d") - make-flags))))))) + make-flags)))) + (replace 'check + (lambda args + ;; A few tests expect the environment variable NIX_STORE to be + ;; "/nix/store" + (let ((original-NIX_STORE (getenv "NIX_STORE"))) + (dynamic-wind + (lambda () + (setenv "NIX_STORE" "/nix/store")) + (lambda () + (apply (assoc-ref %standard-phases 'check) args)) + (lambda () + (setenv "NIX_STORE" original-NIX_STORE))))))))) (native-inputs (list autoconf autoconf-archive @@ -767,7 +781,8 @@ high-performance computing} clusters.") googletest jq libtool - pkg-config)) + pkg-config + rapidcheck)) (inputs (append (list boost brotli @@ -779,6 +794,7 @@ high-performance computing} clusters.") libseccomp libsodium lowdown + nlohmann-json openssl sqlite xz @@ -1442,9 +1458,9 @@ environments.") "guile-zlib" "guile-sqlite3" "guile-gnutls" - ,@(if (hurd-target?) + ,@(if (target-hurd?) '() - '("guile-fibers-next"))))) + '("guile-fibers"))))) (wrap-program file `("PATH" ":" prefix (,bin @@ -1485,7 +1501,7 @@ environments.") guile-gcrypt guix guile-prometheus - guile-fibers-next + guile-fibers-1.3 guile-lib (first (assoc-ref (package-native-inputs guix) "guile")))) (inputs @@ -1503,7 +1519,7 @@ environments.") guile-sqlite3 guix guile-gnutls - guile-fibers-next)) + guile-fibers-1.3)) (home-page "https://git.cbaines.net/guix/build-coordinator/") (synopsis "Tool to help build derivations") (description @@ -1686,7 +1702,7 @@ in an isolated environment, in separate namespaces.") "guile-prometheus" "guile-sqlite3" "guile-gnutls" - "guile-fibers-next"))) + "guile-fibers"))) (wrap-program file `("GUILE_LOAD_PATH" ":" prefix (,scm ,(string-join @@ -1719,7 +1735,7 @@ in an isolated environment, in separate namespaces.") guile-json-4 guile-gcrypt guix - guile-fibers-next + guile-fibers-1.3 guile-prometheus guile-lib guile-lzlib @@ -1732,7 +1748,7 @@ in an isolated environment, in separate namespaces.") (list guile-json-4 guile-gcrypt guix - guile-fibers-next + guile-fibers-1.3 guile-prometheus guile-lib guile-lzlib diff --git a/gnu/packages/pantheon.scm b/gnu/packages/pantheon.scm index acb19a3ef8..1c6795cc1d 100644 --- a/gnu/packages/pantheon.scm +++ b/gnu/packages/pantheon.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> +;;; Copyright © 2023 Wamm K. D. <jaft.r@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +26,7 @@ #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) #:use-module (gnu packages package-management) + #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages xml) @@ -160,3 +162,26 @@ desktop.") on Flathub or another third-party website providing a Flatpak app for download.") (license license:gpl3+))) + +(define-public pantheon-wallpapers + (package + (name "pantheon-wallpapers") + (version "7.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/elementary/wallpapers/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 (base32 + "0km3h52kapbm8ymwxdxasz80qbgzkfni7981pdyf740wjp7linwb")))) + (build-system meson-build-system) + (native-inputs (list gettext-minimal)) ; for msgfmt + (inputs (list libexif)) + (synopsis "Wallpapers for the Pantheon desktop") + (description "This package provides wallpapers for the Pantheon desktop.") + (home-page "https://github.com/elementary/wallpapers") + (license (list license:cc-by-sa4.0 + license:cc0 + (license:non-copyleft "https://unsplash.com/license") + (license:non-copyleft "https://www.pexels.com/license/"))))) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 74394e1ceb..569e98430c 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -64,14 +64,14 @@ (define-public parallel (package (name "parallel") - (version "20230522") + (version "20230622") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parallel/parallel-" version ".tar.bz2")) (sha256 - (base32 "00j2nqy808wd43hgalgry15v4ga1wrfq8s5r1cv18fq20mv6px0s")) + (base32 "13i3himpq1gzhn3b0hl8vp34kz950ql9pssw251ad611f2nj8fny")) (snippet '(begin (use-modules (guix build utils)) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 74e465d21e..06e00a69d4 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -75,6 +75,7 @@ #:use-module (gnu packages authentication) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) @@ -102,6 +103,7 @@ #:use-module (gnu packages opencl) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -114,6 +116,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages qt) #:use-module (gnu packages version-control) + #:use-module (gnu packages web) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) @@ -206,7 +209,7 @@ human.") readline yubikey-personalization ; XC_YUBIKEY zlib)) - (home-page "https://www.keepassxc.org") + (home-page "https://keepassxc.org") (synopsis "Password manager") (description "KeePassXC is a password manager or safe which helps you to manage your passwords in a secure way. You can put all your passwords in one @@ -304,6 +307,58 @@ platforms.") Counterpane's Passwordsafe.") (license license:gpl2+)))) +(define-public otpclient + (package + (name "otpclient") + (version "3.1.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/paolostivanin/OTPClient") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cwn4spddhg099hcqcvzgbws3xpmnd29g1vayk36118x94wmajaf")))) + (build-system cmake-build-system) + (arguments + (list + #:modules `(((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build cmake-build-system) + (guix build utils)) + #:imported-modules `((guix build glib-or-gtk-build-system) + ,@%cmake-build-system-modules) + #:tests? #f ; No tests + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file + (assoc-ref glib-or-gtk:%standard-phases + 'generate-gdk-pixbuf-loaders-cache-file)) + (add-after 'wrap 'glib-or-gtk-compile-schemas + (assoc-ref glib-or-gtk:%standard-phases + 'glib-or-gtk-compile-schemas)) + (add-after 'wrap 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) + (inputs (list adwaita-icon-theme + libcotp + libgcrypt + libsecret + libzip + hicolor-icon-theme + gtk+ + jansson + protobuf + protobuf-c + qrencode + zbar)) + (native-inputs (list pkg-config protobuf)) + (home-page "https://github.com/paolostivanin/OTPClient") + (synopsis "Two-factor authentication client") + (description "OTPClient is a GTK+-based @acronym{OTP, One Time Password} +client, supporting @acronym{TOTP, Time-based one time passwords} and +@acronym{HOTP,HMAC-based one time passwords}.") + (license license:gpl3))) + (define-public shroud (package (name "shroud") @@ -476,6 +531,45 @@ them out, at the source.") random passwords that pass the checks.") (license license:gpl2+))) +(define-public passwdqc + (package + (name "passwdqc") + (version "2.0.2") + (source (origin + (method url-fetch) + (uri (string-append "https://www.openwall.com/passwdqc/passwdqc" + "-" version ".tar.gz")) + (sha256 + (base32 + "1aq40v5094bhnj86v4i2nmqkybmzzp20q7jb92jgc860cibm07zz")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ;no tests provided + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "DESTDIR=" #$output) + "BINDIR=/bin" + "DEVEL_LIBDIR=/lib" + "SHARED_LIBDIR_REL=." + "INCLUDEDIR=/include" + "MANDIR=/share/man" + (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")) + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) ;no configure script + (inputs (list linux-pam)) + (home-page "https://www.openwall.com/passwdqc/") + (synopsis + "Password/passphrase strength checking and policy enforcement toolset") + (description + "Passwdqc is a password/passphrase strength checking and policy +enforcement toolset, including an optional PAM module, @code{pam_passwdqc}, +command-line programs (@command{pwqcheck}, @command{pwqfilter}, and +@command{pwqgen}), and a library, @code{libpasswdqc}.") + (license (list license:bsd-3 ;manual pages + license:bsd-1)))) ;code + (define-public assword (package (name "assword") @@ -563,6 +657,12 @@ any X11 window.") "${PASSWORD_STORE_SYSTEM_EXTENSION_DIR:-" extension-dir "}\"\n")))))) + (add-before 'install 'patch-program-name + ;; Use pass not .pass-real in tmpdir and cmd_usage + (lambda _ + (substitute* "src/password-store.sh" + (("^PROGRAM=.*$") + "PROGRAM=\"pass\"\n")))) (add-before 'install 'patch-passmenu-path ;; FIXME Wayland support requires ydotool and dmenu-wl packages ;; We are ignoring part of the script that gets executed if @@ -898,7 +998,7 @@ from password-store and gopass files.") (define-public browserpass-native (package (name "browserpass-native") - (version "3.0.7") + (version "3.1.0") (source (origin (method git-fetch) @@ -907,54 +1007,44 @@ from password-store and gopass files.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "1jkjslbbac49xjyjkc2b07phdm3i64z40kh6h55cl22dxjmpp1nb")))) + (base32 "1if72k526sqqxnw250qwxvzwvh1w0k8ag4p4xq3442b22hywx72i")))) (build-system go-build-system) (arguments - `(#:import-path "github.com/browserpass/browserpass-native" - #:install-source? #f - #:phases - (modify-phases %standard-phases - (add-before 'build 'patch-makefile - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; This doesn't go in #:make-flags because the Makefile itself - ;; gets installed. - (substitute* - "src/github.com/browserpass/browserpass-native/Makefile" - (("PREFIX \\?= /usr") - (string-append "PREFIX ?= " out))) - #t))) - (add-before 'build 'configure - (lambda _ - (with-directory-excursion - "src/github.com/browserpass/browserpass-native" - (invoke "make" "configure")) - #t)) - (replace 'build - (lambda _ - (with-directory-excursion - "src/github.com/browserpass/browserpass-native" - (invoke "make")) - #t)) - (replace 'install - (lambda _ - (with-directory-excursion - "src/github.com/browserpass/browserpass-native" - (invoke "make" "install")) - #t)) - (add-after 'install 'wrap-executable - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (gnupg (assoc-ref inputs "gnupg"))) - (wrap-program (string-append out "/bin/browserpass") - `("PATH" ":" prefix - (,(string-append gnupg "/bin")))) - #t)))))) + (list #:import-path "github.com/browserpass/browserpass-native" + #:install-source? #f + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'patch-makefile + (lambda _ + ;; This doesn't go in #:make-flags because the Makefile + ;; itself gets installed. + (substitute* "src/github.com/browserpass/browserpass-native/Makefile" + (("PREFIX \\?= /usr") + (string-append "PREFIX ?= " #$output))))) + (add-before 'build 'configure + (lambda _ + (with-directory-excursion + "src/github.com/browserpass/browserpass-native" + (invoke "make" "configure")))) + (replace 'build + (lambda _ + (with-directory-excursion + "src/github.com/browserpass/browserpass-native" + (invoke "make")))) + (replace 'install + (lambda _ + (with-directory-excursion + "src/github.com/browserpass/browserpass-native" + (invoke "make" "install")))) + (add-after 'install 'wrap-executable + (lambda _ + (wrap-program (string-append #$output "/bin/browserpass") + `("PATH" ":" prefix + (,(string-append #$(this-package-input "gnupg") "/bin"))))))))) (native-inputs (list which)) (inputs - (list gnupg go-github-com-mattn-go-zglob + (list bash-minimal gnupg go-github-com-mattn-go-zglob go-github-com-rifflock-lfshook go-github-com-sirupsen-logrus go-golang-org-x-sys)) (home-page "https://github.com/browserpass/browserpass-native") diff --git a/gnu/packages/patches/dezyne-add-missing-shebangs.patch b/gnu/packages/patches/dezyne-add-missing-shebangs.patch deleted file mode 100644 index bf88e95c8a..0000000000 --- a/gnu/packages/patches/dezyne-add-missing-shebangs.patch +++ /dev/null @@ -1,61 +0,0 @@ -Upstream status: Taken from upstream development. - -From aace425e41247c1dd6b16eb7eabce50be7310d15 Mon Sep 17 00:00:00 2001 -From: Janneke Nieuwenhuizen <janneke@gnu.org> -Date: Mon, 24 Apr 2023 16:58:32 +0200 -Subject: [PATCH] DRAFT test: Add missing shebangs to run scripts. - -This fixes `make check' on current ci.guix.gnu.org. - -* test/all/parse_import_order/run, -test/all/parse_locations/run, -test/all/parse_peg_locations/run: Add #! /bin/sh. ---- - test/all/parse_import_order/run | 3 ++- - test/all/parse_locations/run | 3 ++- - test/all/parse_peg_locations/run | 3 ++- - 3 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/test/all/parse_import_order/run b/test/all/parse_import_order/run -index 6e231de4f9..c383e4f223 100755 ---- a/test/all/parse_import_order/run -+++ b/test/all/parse_import_order/run -@@ -1,6 +1,7 @@ -+#! /bin/sh - # Dezyne --- Dezyne command line tools - # --# Copyright © 2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> -+# Copyright © 2022, 2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> - # - # This file is part of Dezyne. - # -diff --git a/test/all/parse_locations/run b/test/all/parse_locations/run -index 0b092b26dd..6c48ee1392 100755 ---- a/test/all/parse_locations/run -+++ b/test/all/parse_locations/run -@@ -1,7 +1,8 @@ -+#! /bin/sh - # Dezyne --- Dezyne command line tools - # - # Copyright © 2021 Paul Hoogendijk <paul@dezyne.org> --# Copyright © 2020, 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> -+# Copyright © 2020, 2021, 2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> - # - # This file is part of Dezyne. - # -diff --git a/test/all/parse_peg_locations/run b/test/all/parse_peg_locations/run -index 5b5ced0bb4..5206a23db6 100755 ---- a/test/all/parse_peg_locations/run -+++ b/test/all/parse_peg_locations/run -@@ -1,6 +1,7 @@ -+#! /bin/sh - # Dezyne --- Dezyne command line tools - # --# Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> -+# Copyright © 2020, 2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> - # - # This file is part of Dezyne. - # --- -2.39.2 - diff --git a/gnu/packages/patches/directfb-davinci-glibc-228-compat.patch b/gnu/packages/patches/directfb-davinci-glibc-228-compat.patch new file mode 100644 index 0000000000..eeee337f57 --- /dev/null +++ b/gnu/packages/patches/directfb-davinci-glibc-228-compat.patch @@ -0,0 +1,41 @@ +This patch is from upstream + +From 3a236241bbec3f15b012b6f0dbe94353d8094557 Mon Sep 17 00:00:00 2001 +From: Andrew Childs <lorne@cons.org.nz> +Date: Sat, 2 May 2020 12:36:46 +0900 +Subject: [PATCH] davinci: fix build with glibc >= 2.28 + +From glibc 2.28 release notes: + +* The macros 'major', 'minor', and 'makedev' are now only available from + the header <sys/sysmacros.h>; not from <sys/types.h> or various other + headers that happen to include <sys/types.h>. These macros are rarely + used, not part of POSIX nor XSI, and their names frequently collide with + user code; see https://sourceware.org/bugzilla/show_bug.cgi?id=19239 for + further explanation. + + <sys/sysmacros.h> is a GNU extension. Portable programs that require + these macros should first include <sys/types.h>, and then include + <sys/sysmacros.h> if __GNU_LIBRARY__ is defined. + +https://lists.gnu.org/archive/html/info-gnu/2018-08/msg00000.html +--- + gfxdrivers/davinci/davinci_c64x.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/gfxdrivers/davinci/davinci_c64x.c b/gfxdrivers/davinci/davinci_c64x.c +index 431ffdd99..351250a03 100644 +--- a/gfxdrivers/davinci/davinci_c64x.c ++++ b/gfxdrivers/davinci/davinci_c64x.c +@@ -39,6 +39,11 @@ + #include <sys/types.h> + #include <unistd.h> + ++// Required for `makedev` in glibc >= 2.28 ++#if defined(__GNU_LIBRARY__) ++#include <sys/sysmacros.h> ++#endif ++ + #include <directfb_util.h> + + #include <direct/clock.h> diff --git a/gnu/packages/patches/dyninst-fix-glibc-compatibility.patch b/gnu/packages/patches/dyninst-fix-glibc-compatibility.patch new file mode 100644 index 0000000000..cd018da6cc --- /dev/null +++ b/gnu/packages/patches/dyninst-fix-glibc-compatibility.patch @@ -0,0 +1,33 @@ +From f233c46ac7b415104d04e4bb74bd7a0fcf24a333 Mon Sep 17 00:00:00 2001 +From: Olivier Dion <odion@efficios.com> +Date: Thu, 15 Jun 2023 12:02:08 -0400 +Subject: [PATCH] Fix compatibility with glibc 2.35 + +Something has change with the visibility of the _r_debug structure in +glibc 2.35. See this issue +<https://github.com/dyninst/dyninst/issues/1282>. + +This patch is essentially the upstream fix +<https://github.com/dyninst/dyninst/commit/273803a4c643ed3506f9a69c6ec71d5ab337489c> +backported. + +Signed-off-by: Olivier Dion <odion@efficios.com> +--- + dyninstAPI_RT/src/RTlinux.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/dyninstAPI_RT/src/RTlinux.c b/dyninstAPI_RT/src/RTlinux.c +index fc231d0a4..2f17ff677 100644 +--- a/dyninstAPI_RT/src/RTlinux.c ++++ b/dyninstAPI_RT/src/RTlinux.c +@@ -406,7 +406,6 @@ void dyninstTrapHandler(int sig, siginfo_t *sg, ucontext_t *context) + #if defined(cap_binary_rewriter) + + extern struct r_debug _r_debug; +-DLLEXPORT struct r_debug _r_debug __attribute__ ((weak)); + + /* Verify that the r_debug variable is visible */ + void r_debugCheck() { assert(_r_debug.r_map); } +-- +2.40.1 + diff --git a/gnu/packages/patches/fuzzylite-relative-path-in-tests.patch b/gnu/packages/patches/fuzzylite-relative-path-in-tests.patch new file mode 100644 index 0000000000..1a03238246 --- /dev/null +++ b/gnu/packages/patches/fuzzylite-relative-path-in-tests.patch @@ -0,0 +1,15 @@ +Workaround https://github.com/fuzzylite/fuzzylite/issues/85 + +diff --git a/fuzzylite/test/BenchmarkTest.cpp b/fuzzylite/test/BenchmarkTest.cpp +index f868ec29..464d394d 100644 +--- a/fuzzylite/test/BenchmarkTest.cpp ++++ b/fuzzylite/test/BenchmarkTest.cpp +@@ -30,7 +30,7 @@ namespace fl { + } + + TEST_CASE("Benchmarks from FLD files", "[benchmark][fld]") { +- std::string path = "../../examples/"; ++ std::string path = "../examples/"; + typedef std::pair<std::string, int > Example; + std::vector<Example> examples; + examples.push_back(Example("mamdani/AllTerms", int(1e4))); diff --git a/gnu/packages/patches/fuzzylite-soften-float-equality.patch b/gnu/packages/patches/fuzzylite-soften-float-equality.patch new file mode 100644 index 0000000000..47403605dd --- /dev/null +++ b/gnu/packages/patches/fuzzylite-soften-float-equality.patch @@ -0,0 +1,30 @@ +Origin: https://salsa.debian.org/debian/fuzzylite/-/blob/debian/6.0+dfsg-6/debian/patches/when-testing-large-float-numbers-for-equ.patch +From: Johannes 'josch' Schauer <josch@debian.org> +Date: Sun, 3 Feb 2019 10:33:22 +0100 +X-Dgit-Generated: 6.0+dfsg-2 80960ae38da9db032dfbfec6405398653e8205ff +Subject: when testing large float numbers for equality, use a larger epsilon + + +--- + +--- fuzzylite-6.0+dfsg.orig/fuzzylite/test/BenchmarkTest.cpp ++++ fuzzylite-6.0+dfsg/fuzzylite/test/BenchmarkTest.cpp +@@ -96,7 +96,17 @@ namespace fl { + CHECK(Op::isEq(1.0, Benchmark::convert(1000.0, Benchmark::MilliSeconds, Benchmark::Seconds))); + FL_LOG(Benchmark::convert(1000.0, Benchmark::MilliSeconds, Benchmark::Seconds)); + +- CHECK(Op::isEq(35e9, Benchmark::convert(35, Benchmark::Seconds, Benchmark::NanoSeconds))); ++ scalar eps = ++#ifndef __i386__ ++ fuzzylite::macheps(); ++#else ++ // on i386, due to the 80bit x87 register, double floating point ++ // numbers are handled differently and thus the difference between ++ // 35e9 and the result of Benchmark::convert() will be 2.179e-6, ++ // which is greater than the default epsilon of 1e-6. ++ 1e-5; ++#endif ++ CHECK(Op::isEq(35e9, Benchmark::convert(35, Benchmark::Seconds, Benchmark::NanoSeconds), eps)); + CHECK(Op::isEq(35, Benchmark::convert(35e9, Benchmark::NanoSeconds, Benchmark::Seconds))); + } + diff --git a/gnu/packages/patches/fuzzylite-use-catch2.patch b/gnu/packages/patches/fuzzylite-use-catch2.patch new file mode 100644 index 0000000000..e4aa13a98b --- /dev/null +++ b/gnu/packages/patches/fuzzylite-use-catch2.patch @@ -0,0 +1,184 @@ +Origin: https://salsa.debian.org/debian/fuzzylite/-/blob/debian/6.0+dfsg-6/debian/patches/fix-tests2.patch +From: Ferdinand Thiessen <rpm@fthiessen.de> +Date: Mon, 31 Jan 2022 16:06:19 GMT +Subject: Replace Catch with Catch2 and require C++11 for tests +Origin: vendor, https://github.com/fuzzylite/fuzzylite/issues/94 +Bug-Debian: http://bugs.debian.org/1017155 + +--- a/fuzzylite/CMakeLists.txt ++++ b/fuzzylite/CMakeLists.txt +@@ -194,7 +194,9 @@ if(FL_BUILD_BINARY) + endif(FL_BUILD_BINARY) + + if(FL_BUILD_TESTS) ++ find_package(Catch2) + add_executable(fl-test ${fl-headers} ${fl-tests}) ++ target_link_libraries(fl-test Catch2::Catch2) + set_target_properties(fl-test PROPERTIES OUTPUT_NAME fuzzylite-tests) + set_target_properties(fl-test PROPERTIES OUTPUT_NAME fuzzylite-tests IMPORT_PREFIX tmp-) #To prevent LNK1149 in Windows + set_target_properties(fl-test PROPERTIES DEBUG_POSTFIX -debug) +--- a/fuzzylite/test/activation/ThresholdTest.cpp ++++ b/fuzzylite/test/activation/ThresholdTest.cpp +@@ -14,7 +14,7 @@ + fuzzylite is a registered trademark of FuzzyLite Limited. + */ + +-#include "test/catch.hpp" ++#include "catch2/catch.hpp" + #include "fl/Headers.h" + + namespace fl { +--- a/fuzzylite/test/BenchmarkTest.cpp ++++ b/fuzzylite/test/BenchmarkTest.cpp +@@ -16,7 +16,7 @@ + + #include "fl/Benchmark.h" + +-#include "test/catch.hpp" ++#include "catch2/catch.hpp" + #include "fl/Headers.h" + + #include <vector> +--- a/fuzzylite/test/hedge/HedgeFunctionTest.cpp ++++ b/fuzzylite/test/hedge/HedgeFunctionTest.cpp +@@ -14,7 +14,7 @@ + fuzzylite is a registered trademark of FuzzyLite Limited. + */ + +-#include "test/catch.hpp" ++#include "catch2/catch.hpp" + #include "fl/Headers.h" + + namespace fl { +--- a/fuzzylite/test/imex/FldExporterTest.cpp ++++ b/fuzzylite/test/imex/FldExporterTest.cpp +@@ -14,7 +14,7 @@ + fuzzylite is a registered trademark of FuzzyLite Limited. + */ + +-#include "test/catch.hpp" ++#include "catch2/catch.hpp" + #include "fl/Headers.h" + + namespace fl { +--- a/fuzzylite/test/imex/FllImporterTest.cpp ++++ b/fuzzylite/test/imex/FllImporterTest.cpp +@@ -14,7 +14,7 @@ + fuzzylite is a registered trademark of FuzzyLite Limited. + */ + +-#include "test/catch.hpp" ++#include "catch2/catch.hpp" + #include "fl/Headers.h" + + namespace fl { +--- a/fuzzylite/test/imex/RScriptExporterTest.cpp ++++ b/fuzzylite/test/imex/RScriptExporterTest.cpp +@@ -14,7 +14,7 @@ + fuzzylite is a registered trademark of FuzzyLite Limited. + */ + +-#include "test/catch.hpp" ++#include "catch2/catch.hpp" + #include "fl/Headers.h" + #include <fstream> + +--- a/fuzzylite/test/MainTest.cpp ++++ b/fuzzylite/test/MainTest.cpp +@@ -16,7 +16,7 @@ + + #define CATCH_CONFIG_RUNNER + +-#include "test/catch.hpp" ++#include "catch2/catch.hpp" + + #include "fl/Headers.h" + +--- a/fuzzylite/test/norm/NormFunctionTest.cpp ++++ b/fuzzylite/test/norm/NormFunctionTest.cpp +@@ -14,7 +14,7 @@ + fuzzylite is a registered trademark of FuzzyLite Limited. + */ + +-#include "test/catch.hpp" ++#include "catch2/catch.hpp" + #include "fl/Headers.h" + + namespace fl { +--- a/fuzzylite/test/QuickTest.cpp ++++ b/fuzzylite/test/QuickTest.cpp +@@ -14,7 +14,7 @@ + fuzzylite is a registered trademark of FuzzyLite Limited. + */ + +-#include "test/catch.hpp" ++#include "catch2/catch.hpp" + #include "fl/Headers.h" + + namespace fl { +--- a/fuzzylite/test/term/AggregatedTest.cpp ++++ b/fuzzylite/test/term/AggregatedTest.cpp +@@ -14,7 +14,7 @@ + fuzzylite is a registered trademark of FuzzyLite Limited. + */ + +-#include "test/catch.hpp" ++#include "catch2/catch.hpp" + #include "fl/Headers.h" + + namespace fl { +--- a/fuzzylite/test/term/DiscreteTest.cpp ++++ b/fuzzylite/test/term/DiscreteTest.cpp +@@ -14,7 +14,7 @@ + fuzzylite is a registered trademark of FuzzyLite Limited. + */ + +-#include "test/catch.hpp" ++#include "catch2/catch.hpp" + #include "fl/Headers.h" + + namespace fl { +--- a/fuzzylite/test/term/FunctionTest.cpp ++++ b/fuzzylite/test/term/FunctionTest.cpp +@@ -14,7 +14,7 @@ + fuzzylite is a registered trademark of FuzzyLite Limited. + */ + +-#include "test/catch.hpp" ++#include "catch2/catch.hpp" + #include "fl/Headers.h" + + namespace fl { +--- a/fuzzylite/test/term/TrapezoidTest.cpp ++++ b/fuzzylite/test/term/TrapezoidTest.cpp +@@ -14,7 +14,7 @@ + fuzzylite is a registered trademark of FuzzyLite Limited. + */ + +-#include "test/catch.hpp" ++#include "catch2/catch.hpp" + #include "fl/Headers.h" + + namespace fl { +--- a/fuzzylite/test/term/TriangleTest.cpp ++++ b/fuzzylite/test/term/TriangleTest.cpp +@@ -14,7 +14,7 @@ + fuzzylite is a registered trademark of FuzzyLite Limited. + */ + +-#include "test/catch.hpp" ++#include "catch2/catch.hpp" + #include "fl/Headers.h" + + namespace fl { +--- a/fuzzylite/test/variable/VariableTest.cpp ++++ b/fuzzylite/test/variable/VariableTest.cpp +@@ -14,7 +14,7 @@ + fuzzylite is a registered trademark of FuzzyLite Limited. + */ + +-#include "test/catch.hpp" ++#include "catch2/catch.hpp" + #include "fl/Headers.h" + + #include <algorithm> // std::random_shuffle diff --git a/gnu/packages/patches/git-header-cmd.patch b/gnu/packages/patches/git-header-cmd.patch deleted file mode 100644 index a8964ab174..0000000000 --- a/gnu/packages/patches/git-header-cmd.patch +++ /dev/null @@ -1,287 +0,0 @@ -Add a '--header-cmd' to git send-email. - -Upstream status can be tracked at: -https://lore.kernel.org/git/20230423122744.4865-1-maxim.cournoyer@gmail.com/T/#t - -diff --git a/Documentation/config/sendemail.txt b/Documentation/config/sendemail.txt -index 51da7088a8..92a9ebe98c 100644 ---- a/Documentation/config/sendemail.txt -+++ b/Documentation/config/sendemail.txt -@@ -61,6 +61,7 @@ sendemail.ccCmd:: - sendemail.chainReplyTo:: - sendemail.envelopeSender:: - sendemail.from:: -+sendemail.headerCmd:: - sendemail.signedoffbycc:: - sendemail.smtpPass:: - sendemail.suppresscc:: -diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt -index b0f438ec99..4d2ae061f9 100644 ---- a/Documentation/git-send-email.txt -+++ b/Documentation/git-send-email.txt -@@ -320,6 +320,17 @@ Automating - Output of this command must be single email address per line. - Default is the value of `sendemail.ccCmd` configuration value. - -+--header-cmd=<command>:: -+ Specify a command that is executed once per outgoing message -+ and output RFC 2822 style header lines to be inserted into -+ them. When the `sendemail.headerCmd` configuration variable is -+ set, its value is always used. When --header-cmd is provided -+ at the command line, its value takes precedence over the -+ `sendemail.headerCmd` configuration variable. -+ -+--no-header-cmd:: -+ Disable any header command in use. -+ - --[no-]chain-reply-to:: - If this is set, each email will be sent as a reply to the previous - email sent. If disabled with "--no-chain-reply-to", all emails after -diff --git a/git-send-email.perl b/git-send-email.perl -index 66c9171109..22a64e608f 100755 ---- a/git-send-email.perl -+++ b/git-send-email.perl -@@ -87,8 +87,10 @@ sub usage { - - Automating: - --identity <str> * Use the sendemail.<id> options. -- --to-cmd <str> * Email To: via `<str> \$patch_path` -- --cc-cmd <str> * Email Cc: via `<str> \$patch_path` -+ --to-cmd <str> * Email To: via `<str> \$patch_path`. -+ --cc-cmd <str> * Email Cc: via `<str> \$patch_path`. -+ --header-cmd <str> * Add headers via `<str> \$patch_path`. -+ --no-header-cmd * Disable any header command in use. - --suppress-cc <str> * author, self, sob, cc, cccmd, body, bodycc, misc-by, all. - --[no-]cc-cover * Email Cc: addresses in the cover letter. - --[no-]to-cover * Email To: addresses in the cover letter. -@@ -202,7 +204,7 @@ sub format_2822_time { - $author,$sender,$smtp_authpass,$annotate,$compose,$time); - # Things we either get from config, *or* are overridden on the - # command-line. --my ($no_cc, $no_to, $no_bcc, $no_identity); -+my ($no_cc, $no_to, $no_bcc, $no_identity, $no_header_cmd); - my (@config_to, @getopt_to); - my (@config_cc, @getopt_cc); - my (@config_bcc, @getopt_bcc); -@@ -269,7 +271,7 @@ sub do_edit { - # Variables with corresponding config settings - my ($suppress_from, $signed_off_by_cc); - my ($cover_cc, $cover_to); --my ($to_cmd, $cc_cmd); -+my ($to_cmd, $cc_cmd, $header_cmd); - my ($smtp_server, $smtp_server_port, @smtp_server_options); - my ($smtp_authuser, $smtp_encryption, $smtp_ssl_cert_path); - my ($batch_size, $relogin_delay); -@@ -318,6 +320,7 @@ sub do_edit { - "tocmd" => \$to_cmd, - "cc" => \@config_cc, - "cccmd" => \$cc_cmd, -+ "headercmd" => \$header_cmd, - "aliasfiletype" => \$aliasfiletype, - "bcc" => \@config_bcc, - "suppresscc" => \@suppress_cc, -@@ -519,6 +522,8 @@ sub config_regexp { - "compose" => \$compose, - "quiet" => \$quiet, - "cc-cmd=s" => \$cc_cmd, -+ "header-cmd=s" => \$header_cmd, -+ "no-header-cmd" => \$no_header_cmd, - "suppress-from!" => \$suppress_from, - "no-suppress-from" => sub {$suppress_from = 0}, - "suppress-cc=s" => \@suppress_cc, -@@ -1780,16 +1785,16 @@ sub process_file { - $subject = $initial_subject; - $message = ""; - $message_num++; -- # First unfold multiline header fields -+ # Retrieve and unfold header fields. -+ my @header_lines = (); - while(<$fh>) { - last if /^\s*$/; -- if (/^\s+\S/ and @header) { -- chomp($header[$#header]); -- s/^\s+/ /; -- $header[$#header] .= $_; -- } else { -- push(@header, $_); -- } -+ push(@header_lines, $_); -+ } -+ @header = unfold_headers(@header_lines); -+ # Add computed headers, if applicable. -+ unless ($no_header_cmd || ! $header_cmd) { -+ push @header, invoke_header_cmd($header_cmd, $t); - } - # Now parse the header - foreach(@header) { -@@ -2021,15 +2026,63 @@ sub process_file { - } - } - -+# Execute a command and return its output lines as an array. Blank -+# lines which do not appear at the end of the output are reported as -+# errors. -+sub execute_cmd { -+ my ($prefix, $cmd, $file) = @_; -+ my @lines = (); -+ my $seen_blank_line = 0; -+ open my $fh, "-|", "$cmd \Q$file\E" -+ or die sprintf(__("(%s) Could not execute '%s'"), $prefix, $cmd); -+ while (my $line = <$fh>) { -+ die sprintf(__("(%s) Malformed output from '%s'"), $prefix, $cmd) -+ if $seen_blank_line; -+ if ($line =~ /^$/) { -+ $seen_blank_line = $line =~ /^$/; -+ next; -+ } -+ push @lines, $line; -+ } -+ close $fh -+ or die sprintf(__("(%s) failed to close pipe to '%s'"), $prefix, $cmd); -+ return @lines; -+} -+ -+# Process headers lines, unfolding multiline headers as defined by RFC -+# 2822. -+sub unfold_headers { -+ my @headers; -+ foreach(@_) { -+ last if /^\s*$/; -+ if (/^\s+\S/ and @headers) { -+ chomp($headers[$#headers]); -+ s/^\s+/ /; -+ $headers[$#headers] .= $_; -+ } else { -+ push(@headers, $_); -+ } -+ } -+ return @headers; -+} -+ -+# Invoke the provided CMD with FILE as an argument, which should -+# output RFC 2822 email headers. Fold multiline headers and return the -+# headers as an array. -+sub invoke_header_cmd { -+ my ($cmd, $file) = @_; -+ my @lines = execute_cmd("header-cmd", $header_cmd, $file); -+ return unfold_headers(@lines); -+} -+ - # Execute a command (e.g. $to_cmd) to get a list of email addresses - # and return a results array - sub recipients_cmd { - my ($prefix, $what, $cmd, $file) = @_; -- -+ my @lines = (); - my @addresses = (); -- open my $fh, "-|", "$cmd \Q$file\E" -- or die sprintf(__("(%s) Could not execute '%s'"), $prefix, $cmd); -- while (my $address = <$fh>) { -+ @lines = execute_cmd($prefix, $cmd, $file); -+ for my $address (@lines) { - $address =~ s/^\s*//g; - $address =~ s/\s*$//g; - $address = sanitize_address($address); -@@ -2038,8 +2091,6 @@ sub recipients_cmd { - printf(__("(%s) Adding %s: %s from: '%s'\n"), - $prefix, $what, $address, $cmd) unless $quiet; - } -- close $fh -- or die sprintf(__("(%s) failed to close pipe to '%s'"), $prefix, $cmd); - return @addresses; - } - -diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh -index 6520346246..6519eea1ed 100755 ---- a/t/t9001-send-email.sh -+++ b/t/t9001-send-email.sh -@@ -374,13 +374,16 @@ test_expect_success $PREREQ,!AUTOIDENT 'broken implicit ident aborts send-email' - ) - ' - --test_expect_success $PREREQ 'setup tocmd and cccmd scripts' ' -+test_expect_success $PREREQ 'setup cmd scripts' ' - write_script tocmd-sed <<-\EOF && - sed -n -e "s/^tocmd--//p" "$1" - EOF -- write_script cccmd-sed <<-\EOF -+ write_script cccmd-sed <<-\EOF && - sed -n -e "s/^cccmd--//p" "$1" - EOF -+ write_script headercmd-sed <<-\EOF -+ sed -n -e "s/^headercmd--//p" "$1" -+ EOF - ' - - test_expect_success $PREREQ 'tocmd works' ' -@@ -410,6 +413,70 @@ test_expect_success $PREREQ 'cccmd works' ' - grep "^ cccmd@example.com" msgtxt1 - ' - -+test_expect_success $PREREQ 'headercmd works' ' -+ clean_fake_sendmail && -+ cp $patches headercmd.patch && -+ echo "headercmd--X-Debbugs-CC: dummy@example.com" >>headercmd.patch && -+ git send-email \ -+ --from="Example <nobody@example.com>" \ -+ --to=nobody@example.com \ -+ --header-cmd=./headercmd-sed \ -+ --smtp-server="$(pwd)/fake.sendmail" \ -+ headercmd.patch \ -+ && -+ grep "^X-Debbugs-CC: dummy@example.com" msgtxt1 -+' -+ -+test_expect_success $PREREQ '--no-header-cmd works' ' -+ clean_fake_sendmail && -+ cp $patches headercmd.patch && -+ echo "headercmd--X-Debbugs-CC: dummy@example.com" >>headercmd.patch && -+ git send-email \ -+ --from="Example <nobody@example.com>" \ -+ --to=nobody@example.com \ -+ --header-cmd=./headercmd-sed \ -+ --no-header-cmd \ -+ --smtp-server="$(pwd)/fake.sendmail" \ -+ headercmd.patch \ -+ && -+ ! grep "^X-Debbugs-CC: dummy@example.com" msgtxt1 -+' -+ -+test_expect_success $PREREQ 'multiline fields are correctly unfolded' ' -+ clean_fake_sendmail && -+ cp $patches headercmd.patch && -+ write_script headercmd-multiline <<-\EOF && -+ echo "X-Debbugs-CC: someone@example.com -+FoldedField: This is a tale -+ best told using -+ multiple lines." -+ EOF -+ git send-email \ -+ --from="Example <nobody@example.com>" \ -+ --to=nobody@example.com \ -+ --header-cmd=./headercmd-multiline \ -+ --smtp-server="$(pwd)/fake.sendmail" \ -+ headercmd.patch && -+ grep "^FoldedField: This is a tale best told using multiple lines.$" msgtxt1 -+' -+ -+# Blank lines in the middle of the output of a command are invalid. -+test_expect_success $PREREQ 'malform output reported on blank lines in command output' ' -+ clean_fake_sendmail && -+ cp $patches headercmd.patch && -+ write_script headercmd-malformed-output <<-\EOF && -+ echo "X-Debbugs-CC: someone@example.com -+ -+SomeOtherField: someone-else@example.com" -+ EOF -+ ! git send-email \ -+ --from="Example <nobody@example.com>" \ -+ --to=nobody@example.com \ -+ --header-cmd=./headercmd-malformed-output \ -+ --smtp-server="$(pwd)/fake.sendmail" \ -+ headercmd.patch -+' -+ - test_expect_success $PREREQ 'reject long lines' ' - z8=zzzzzzzz && - z64=$z8$z8$z8$z8$z8$z8$z8$z8 && diff --git a/gnu/packages/patches/glibc-2.33-riscv64-miscompilation.patch b/gnu/packages/patches/glibc-2.33-riscv64-miscompilation.patch new file mode 100644 index 0000000000..bcf297be94 --- /dev/null +++ b/gnu/packages/patches/glibc-2.33-riscv64-miscompilation.patch @@ -0,0 +1,57 @@ +This patch is from upstream glibc after 2.33 and is needed in Guix to +fix glibc-2.33 compilation for riscv64-linux. + +From 044e603b698093cf48f6e6229e0b66acf05227e4 Mon Sep 17 00:00:00 2001 +From: Florian Weimer <fweimer@redhat.com> +Date: Fri, 19 Feb 2021 13:29:00 +0100 +Subject: [PATCH] string: Work around GCC PR 98512 in rawmemchr + +--- + string/rawmemchr.c | 26 +++++++++++++++----------- + 1 file changed, 15 insertions(+), 11 deletions(-) + +diff --git a/string/rawmemchr.c b/string/rawmemchr.c +index 59bbeeaa42..b8523118e5 100644 +--- a/string/rawmemchr.c ++++ b/string/rawmemchr.c +@@ -22,24 +22,28 @@ + # define RAWMEMCHR __rawmemchr + #endif + ++/* The pragmata should be nested inside RAWMEMCHR below, but that ++ triggers GCC PR 98512. */ ++DIAG_PUSH_NEEDS_COMMENT; ++#if __GNUC_PREREQ (7, 0) ++/* GCC 8 warns about the size passed to memchr being larger than ++ PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ ++DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow="); ++#endif ++#if __GNUC_PREREQ (11, 0) ++/* Likewise GCC 11, with a different warning option. */ ++DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); ++#endif ++ + /* Find the first occurrence of C in S. */ + void * + RAWMEMCHR (const void *s, int c) + { +- DIAG_PUSH_NEEDS_COMMENT; +-#if __GNUC_PREREQ (7, 0) +- /* GCC 8 warns about the size passed to memchr being larger than +- PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ +- DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow="); +-#endif +-#if __GNUC_PREREQ (11, 0) +- /* Likewise GCC 11, with a different warning option. */ +- DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); +-#endif + if (c != '\0') + return memchr (s, c, (size_t)-1); +- DIAG_POP_NEEDS_COMMENT; + return (char *)s + strlen (s); + } + libc_hidden_def (__rawmemchr) + weak_alias (__rawmemchr, rawmemchr) ++ ++DIAG_POP_NEEDS_COMMENT; +-- diff --git a/gnu/packages/patches/guile-fibers-libevent-32-bit.patch b/gnu/packages/patches/guile-fibers-libevent-32-bit.patch new file mode 100644 index 0000000000..a1cc99fdbe --- /dev/null +++ b/gnu/packages/patches/guile-fibers-libevent-32-bit.patch @@ -0,0 +1,18 @@ +This fixes a bug with the libevent backend on 32-bit platforms: + + https://github.com/wingo/fibers/issues/86 + +diff --git a/extensions/libevent.c b/extensions/libevent.c +index 4f44de9..52c9d73 100644 +--- a/extensions/libevent.c ++++ b/extensions/libevent.c +@@ -215,7 +215,8 @@ run_event_loop (void *p) + microsec = -1; + else if (data->timeout >= 0) + { +- microsec = data->timeout / time_units_per_microsec; ++ microsec = (time_units_per_microsec == 0) ++ ? 0 : data->timeout / time_units_per_microsec; + tv.tv_sec = 0; + tv.tv_usec = microsec; + } diff --git a/gnu/packages/patches/ibus-anthy-fix-tests.patch b/gnu/packages/patches/ibus-anthy-fix-tests.patch new file mode 100644 index 0000000000..6934358980 --- /dev/null +++ b/gnu/packages/patches/ibus-anthy-fix-tests.patch @@ -0,0 +1,49 @@ +Submitted upstream: https://github.com/ibus/ibus-anthy/pull/35 + +diff --git a/tests/test-build.sh b/tests/test-build.sh +index e83b78f..a0efe32 100755 +--- a/tests/test-build.sh ++++ b/tests/test-build.sh +@@ -63,26 +63,27 @@ parse_args() + done; + } + ++maybe_install_pycotap() { ++ # Check if pycotap is already available. ++ python3 -m pycotap >/dev/null && return 0 ++ ++ # Red Hat specific hint. ++ if test -f /etc/redhat-release ; then ++ if ! rpm -q --quiet python3-pycotap; then ++ echo "Please install python3-pycotap" ++ exit -1 ++ fi ++ fi; ++} ++ + init_environment() + { + if test x$FORCE_TEST != x ; then + RUN_ARGS="$RUN_ARGS --force"; + fi; +- HAS_TAP=0; +- if test -f /etc/redhat-release ; then +- rpm -q --quiet python3-pycotap +- if test $? -ne 0 ; then +- echo "Not found python3-pycotap"; +- exit -1; +- fi; +- HAS_TAP=1; +- fi; +- TAP_DIR=`python -m site --user-site`/pycotap; +- if test $HAS_TAP -ne 1 && \ +- test x"$TAP_DIR" != x && test ! -d "$TAP_DIR" ; then +- echo "pip install pycotap --user"; +- pip install pycotap --user; +- fi; ++ ++ maybe_install_pycotap ++ + if test ! -f $BUILDDIR/../data/$ANTHY_SCHEMA_FILE ; then + echo "Not found $BUILDDIR/../data/$ANTHY_SCHEMA_FILE"; + exit -1; diff --git a/gnu/packages/patches/igt-gpu-tools-Use-libproc2.patch b/gnu/packages/patches/igt-gpu-tools-Use-libproc2.patch new file mode 100644 index 0000000000..131fea28fc --- /dev/null +++ b/gnu/packages/patches/igt-gpu-tools-Use-libproc2.patch @@ -0,0 +1,505 @@ +diff --git a/lib/igt_aux.c b/lib/igt_aux.c +index 672d7d4b0..4c24b0928 100644 +--- a/lib/igt_aux.c ++++ b/lib/igt_aux.c +@@ -52,8 +52,16 @@ + #include <assert.h> + #include <grp.h> + +-#include <proc/readproc.h> +-#include <libudev.h> ++#ifdef HAVE_LIBPROCPS ++# include <proc/readproc.h> ++#else ++# include <libproc2/pids.h> ++#endif ++ ++#include <dirent.h> ++#ifdef __linux__ ++# include <libudev.h> ++#endif + + #include "drmtest.h" + #include "i915_drm.h" +@@ -1217,6 +1225,7 @@ void igt_unlock_mem(void) + */ + int igt_is_process_running(const char *comm) + { ++#if HAVE_LIBPROCPS + PROCTAB *proc; + proc_t *proc_info; + bool found = false; +@@ -1235,6 +1244,26 @@ int igt_is_process_running(const char *comm) + + closeproc(proc); + return found; ++#else ++ enum pids_item Item[] = { PIDS_CMD }; ++ struct pids_info *info = NULL; ++ struct pids_stack *stack; ++ char *pid_comm; ++ bool found = false; ++ ++ if (procps_pids_new(&info, Item, 1) < 0) ++ return false; ++ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) { ++ pid_comm = PIDS_VAL(0, str, stack, info); ++ if (!strncasecmp(pid_comm, comm, strlen(pid_comm))) { ++ found = true; ++ break; ++ } ++ } ++ ++ procps_pids_unref(&info); ++ return found; ++#endif + } + + /** +@@ -1251,6 +1280,7 @@ int igt_is_process_running(const char *comm) + */ + int igt_terminate_process(int sig, const char *comm) + { ++#if HAVE_LIBPROCPS + PROCTAB *proc; + proc_t *proc_info; + int err = 0; +@@ -1272,6 +1302,28 @@ int igt_terminate_process(int sig, const char *comm) + + closeproc(proc); + return err; ++#else ++ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD }; ++ struct pids_info *info = NULL; ++ struct pids_stack *stack; ++ char *pid_comm; ++ int pid; ++ int err = 0; ++ ++ if (procps_pids_new(&info, Items, 2) < 0) ++ return -errno; ++ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) { ++ pid = PIDS_VAL(0, s_int, stack, info); ++ pid_comm = PIDS_VAL(1, str, stack, info); ++ if (!strncasecmp(pid_comm, comm, strlen(pid_comm))) { ++ if (kill(pid, sig) < 0) ++ err = -errno; ++ break; ++ } ++ } ++ procps_pids_unref(&info); ++ return err; ++#endif + } + + struct pinfo { +@@ -1341,9 +1393,9 @@ igt_show_stat_header(void) + } + + static void +-igt_show_stat(proc_t *info, int *state, const char *fn) ++igt_show_stat(const pid_t tid, const char *cmd, int *state, const char *fn) + { +- struct pinfo p = { .pid = info->tid, .comm = info->cmd, .fn = fn }; ++ struct pinfo p = { .pid = tid, .comm = cmd, .fn = fn }; + + if (!*state) + igt_show_stat_header(); +@@ -1353,7 +1405,7 @@ igt_show_stat(proc_t *info, int *state, const char *fn) + } + + static void +-__igt_lsof_fds(proc_t *proc_info, int *state, char *proc_path, const char *dir) ++__igt_lsof_fds(const pid_t tid, const char *cmd, int *state, char *proc_path, const char *dir) + { + struct dirent *d; + struct stat st; +@@ -1400,7 +1452,7 @@ again: + dirn = dirname(copy_fd_lnk); + + if (!strncmp(dir, dirn, strlen(dir))) +- igt_show_stat(proc_info, state, fd_lnk); ++ igt_show_stat(tid, cmd, state, fd_lnk); + + free(copy_fd_lnk); + free(fd_lnk); +@@ -1416,13 +1468,13 @@ again: + static void + __igt_lsof(const char *dir) + { +- PROCTAB *proc; +- proc_t *proc_info; +- + char path[30]; + char *name_lnk; + struct stat st; + int state = 0; ++#ifdef HAVE_LIBPROCPS ++ PROCTAB *proc; ++ proc_t *proc_info; + + proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG); + igt_assert(proc != NULL); +@@ -1443,19 +1495,56 @@ __igt_lsof(const char *dir) + name_lnk[read] = '\0'; + + if (!strncmp(dir, name_lnk, strlen(dir))) +- igt_show_stat(proc_info, &state, name_lnk); ++ igt_show_stat(proc_info->tid, proc_info->cmd, &state, name_lnk); + + /* check also fd, seems that lsof(8) doesn't look here */ + memset(path, 0, sizeof(path)); + snprintf(path, sizeof(path), "/proc/%d/fd", proc_info->tid); + +- __igt_lsof_fds(proc_info, &state, path, dir); ++ __igt_lsof_fds(proc_info->tid, proc_info->cmd, &state, path, dir); + + free(name_lnk); + freeproc(proc_info); + } + + closeproc(proc); ++#else ++ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD }; ++ struct pids_info *info = NULL; ++ struct pids_stack *stack; ++ ++ if (procps_pids_new(&info, Items, 2) < 0) ++ return; ++ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) { ++ ssize_t read; ++ int tid = PIDS_VAL(0, s_int, stack, info); ++ char *pid_comm = PIDS_VAL(1, str, stack, info); ++ ++ /* check current working directory */ ++ memset(path, 0, sizeof(path)); ++ snprintf(path, sizeof(path), "/proc/%d/cwd", tid); ++ ++ if (stat(path, &st) == -1) ++ continue; ++ ++ name_lnk = malloc(st.st_size + 1); ++ ++ igt_assert((read = readlink(path, name_lnk, st.st_size + 1))); ++ name_lnk[read] = '\0'; ++ ++ if (!strncmp(dir, name_lnk, strlen(dir))) ++ igt_show_stat(tid, pid_comm, &state, name_lnk); ++ ++ /* check also fd, seems that lsof(8) doesn't look here */ ++ memset(path, 0, sizeof(path)); ++ snprintf(path, sizeof(path), "/proc/%d/fd", tid); ++ ++ __igt_lsof_fds(tid, pid_comm, &state, path, dir); ++ ++ free(name_lnk); ++ } ++ procps_pids_unref(&info); ++#endif + } + + /** +@@ -1490,7 +1579,7 @@ igt_lsof(const char *dpath) + free(sanitized); + } + +-static void pulseaudio_unload_module(proc_t *proc_info) ++static void pulseaudio_unload_module(const uid_t euid, const gid_t egid) + { + struct igt_helper_process pa_proc = {}; + char xdg_dir[PATH_MAX]; +@@ -1498,14 +1587,14 @@ static void pulseaudio_unload_module(proc_t *proc_info) + struct passwd *pw; + + igt_fork_helper(&pa_proc) { +- pw = getpwuid(proc_info->euid); ++ pw = getpwuid(euid); + homedir = pw->pw_dir; +- snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", proc_info->euid); ++ snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", euid); + + igt_info("Request pulseaudio to stop using audio device\n"); + +- setgid(proc_info->egid); +- setuid(proc_info->euid); ++ setgid(egid); ++ setuid(euid); + clearenv(); + setenv("HOME", homedir, 1); + setenv("XDG_RUNTIME_DIR",xdg_dir, 1); +@@ -1524,10 +1613,13 @@ static void pipewire_reserve_wait(void) + char xdg_dir[PATH_MAX]; + const char *homedir; + struct passwd *pw; +- proc_t *proc_info; +- PROCTAB *proc; ++ int tid = 0, euid, egid; + ++#ifdef HAVE_LIBPROCPS + igt_fork_helper(&pw_reserve_proc) { ++ proc_t *proc_info; ++ PROCTAB *proc; ++ + igt_info("Preventing pipewire-pulse to use the audio drivers\n"); + + proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG); +@@ -1540,19 +1632,45 @@ static void pipewire_reserve_wait(void) + } + closeproc(proc); + ++ tid = proc_info->tid; ++ euid = proc_info->euid; ++ egid = proc_info->egid; ++ freeproc(proc_info); ++#else ++ igt_fork_helper(&pw_reserve_proc) { ++ enum pids_item Items[] = { PIDS_ID_PID, PIDS_ID_EUID, PIDS_ID_EGID }; ++ enum rel_items { EU_PID, EU_EUID, EU_EGID }; ++ struct pids_info *info = NULL; ++ struct pids_stack *stack; ++ ++ igt_info("Preventing pipewire-pulse to use the audio drivers\n"); ++ ++ if (procps_pids_new(&info, Items, 3) < 0) { ++ igt_info("error getting pids: %d\n", errno); ++ exit(errno); ++ } ++ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) { ++ tid = PIDS_VAL(EU_PID, s_int, stack, info); ++ if (pipewire_pulse_pid == tid) ++ break; ++ } ++ euid = PIDS_VAL(EU_EUID, s_int, stack, info); ++ egid = PIDS_VAL(EU_EGID, s_int, stack, info); ++ procps_pids_unref(&info); ++#endif ++ + /* Sanity check: if it can't find the process, it means it has gone */ +- if (pipewire_pulse_pid != proc_info->tid) ++ if (pipewire_pulse_pid != tid) + exit(0); + +- pw = getpwuid(proc_info->euid); ++ pw = getpwuid(euid); + homedir = pw->pw_dir; +- snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", proc_info->euid); +- setgid(proc_info->egid); +- setuid(proc_info->euid); ++ snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", euid); ++ setgid(egid); ++ setuid(euid); + clearenv(); + setenv("HOME", homedir, 1); + setenv("XDG_RUNTIME_DIR",xdg_dir, 1); +- freeproc(proc_info); + + /* + * pw-reserve will run in background. It will only exit when +@@ -1570,9 +1688,7 @@ static void pipewire_reserve_wait(void) + int pipewire_pulse_start_reserve(void) + { + bool is_pw_reserve_running = false; +- proc_t *proc_info; + int attempts = 0; +- PROCTAB *proc; + + if (!pipewire_pulse_pid) + return 0; +@@ -1584,6 +1700,10 @@ int pipewire_pulse_start_reserve(void) + * pipewire version 0.3.50 or upper. + */ + for (attempts = 0; attempts < PIPEWIRE_RESERVE_MAX_TIME; attempts++) { ++#ifdef HAVE_LIBPROCPS ++ PROCTAB *proc; ++ proc_t *proc_info; ++ + usleep(1000); + proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG); + igt_assert(proc != NULL); +@@ -1598,6 +1718,24 @@ int pipewire_pulse_start_reserve(void) + freeproc(proc_info); + } + closeproc(proc); ++#else ++ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD }; ++ struct pids_info *info = NULL; ++ struct pids_stack *stack; ++ ++ usleep(1000); ++ ++ if (procps_pids_new(&info, Items, 2) < 0) ++ return 1; ++ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) { ++ if (!strcmp(PIDS_VAL(1, str, stack, info), "pw-reserve")) { ++ is_pw_reserve_running = true; ++ pipewire_pw_reserve_pid = PIDS_VAL(0, s_int, stack, info); ++ break; ++ } ++ } ++ procps_pids_unref(&info); ++#endif + if (is_pw_reserve_running) + break; + } +@@ -1645,7 +1783,7 @@ void pipewire_pulse_stop_reserve(void) + * If the check fails, it means that the process can simply be killed. + */ + static int +-__igt_lsof_audio_and_kill_proc(proc_t *proc_info, char *proc_path) ++__igt_lsof_audio_and_kill_proc(const pid_t tid, const char *cmd, const uid_t euid, const gid_t egid, char *proc_path) + { + const char *audio_dev = "/dev/snd/"; + char path[PATH_MAX * 2]; +@@ -1670,10 +1808,10 @@ __igt_lsof_audio_and_kill_proc(proc_t *proc_info, char *proc_path) + * 2) unload/unbind the the audio driver(s); + * 3) stop the pw-reserve thread. + */ +- if (!strcmp(proc_info->cmd, "pipewire-pulse")) { ++ if (!strcmp(cmd, "pipewire-pulse")) { + igt_info("process %d (%s) is using audio device. Should be requested to stop using them.\n", +- proc_info->tid, proc_info->cmd); +- pipewire_pulse_pid = proc_info->tid; ++ tid, cmd); ++ pipewire_pulse_pid = tid; + return 0; + } + /* +@@ -1685,9 +1823,9 @@ __igt_lsof_audio_and_kill_proc(proc_t *proc_info, char *proc_path) + * will respawn them. So, just ignore here, they'll honor pw-reserve, + * when the time comes. + */ +- if (!strcmp(proc_info->cmd, "pipewire-media-session")) ++ if (!strcmp(cmd, "pipewire-media-session")) + return 0; +- if (!strcmp(proc_info->cmd, "wireplumber")) ++ if (!strcmp(cmd, "wireplumber")) + return 0; + + dp = opendir(proc_path); +@@ -1723,22 +1861,22 @@ __igt_lsof_audio_and_kill_proc(proc_t *proc_info, char *proc_path) + * enough to unbind audio modules and won't cause race issues + * with systemd trying to reload it. + */ +- if (!strcmp(proc_info->cmd, "pulseaudio")) { +- pulseaudio_unload_module(proc_info); ++ if (!strcmp(cmd, "pulseaudio")) { ++ pulseaudio_unload_module(euid, egid); + break; + } + + /* For all other processes, just kill them */ + igt_info("process %d (%s) is using audio device. Should be terminated.\n", +- proc_info->tid, proc_info->cmd); ++ tid, cmd); + +- if (kill(proc_info->tid, SIGTERM) < 0) { ++ if (kill(tid, SIGTERM) < 0) { + igt_info("Fail to terminate %s (pid: %d) with SIGTERM\n", +- proc_info->cmd, proc_info->tid); +- if (kill(proc_info->tid, SIGABRT) < 0) { ++ cmd, tid); ++ if (kill(tid, SIGABRT) < 0) { + fail++; + igt_info("Fail to terminate %s (pid: %d) with SIGABRT\n", +- proc_info->cmd, proc_info->tid); ++ cmd, tid); + } + } + +@@ -1760,23 +1898,47 @@ int + igt_lsof_kill_audio_processes(void) + { + char path[PATH_MAX]; ++ int fail = 0; ++ ++#ifdef HAVE_LIBPROCPS + proc_t *proc_info; + PROCTAB *proc; +- int fail = 0; + + proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG); + igt_assert(proc != NULL); + pipewire_pulse_pid = 0; +- + while ((proc_info = readproc(proc, NULL))) { + if (snprintf(path, sizeof(path), "/proc/%d/fd", proc_info->tid) < 1) + fail++; + else +- fail += __igt_lsof_audio_and_kill_proc(proc_info, path); ++ fail += __igt_lsof_audio_and_kill_proc(proc_info->tid, proc_info->cmd, proc_info->euid, proc_info->egid, path); + + freeproc(proc_info); + } + closeproc(proc); ++#else ++ enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD, PIDS_ID_EUID, PIDS_ID_EGID }; ++ enum rel_items { EU_PID, EU_CMD, EU_EUID, EU_EGID }; ++ struct pids_info *info = NULL; ++ struct pids_stack *stack; ++ pid_t tid; ++ ++ if (procps_pids_new(&info, Items, 4) < 0) ++ return 1; ++ while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) { ++ tid = PIDS_VAL(EU_PID, s_int, stack, info); ++ ++ if (snprintf(path, sizeof(path), "/proc/%d/fd", tid) < 1) ++ fail++; ++ else ++ fail += __igt_lsof_audio_and_kill_proc(tid, ++ PIDS_VAL(EU_CMD, str, stack, info), ++ PIDS_VAL(EU_EUID, s_int, stack, info), ++ PIDS_VAL(EU_EGID, s_int, stack, info), ++ path); ++ } ++ procps_pids_unref(&info); ++#endif + + return fail; + } +diff --git a/lib/meson.build b/lib/meson.build +index 85f100f75..55efdc83b 100644 +--- a/lib/meson.build ++++ b/lib/meson.build +@@ -114,7 +114,6 @@ lib_deps = [ + libdrm, + libdw, + libkmod, +- libprocps, + libudev, + math, + pciaccess, +@@ -178,6 +177,12 @@ if chamelium.found() + lib_sources += 'monitor_edids/monitor_edids_helper.c' + endif + ++if libprocps.found() ++ lib_deps += libprocps ++else ++ lib_deps += libproc2 ++endif ++ + if get_option('srcdir') != '' + srcdir = join_paths(get_option('srcdir'), 'tests') + else +diff --git a/meson.build b/meson.build +index 1c872cc9c..0487158dc 100644 +--- a/meson.build ++++ b/meson.build +@@ -125,7 +125,15 @@ build_info += 'With libdrm: ' + ','.join(libdrm_info) + + pciaccess = dependency('pciaccess', version : '>=0.10') + libkmod = dependency('libkmod') +-libprocps = dependency('libprocps', required : true) ++libprocps = dependency('libprocps', required : false) ++libproc2 = dependency('libproc2', required : false) ++if libprocps.found() ++ config.set('HAVE_LIBPROCPS', 1) ++elif libproc2.found() ++ config.set('HAVE_LIBPROC2', 1) ++else ++ error('Either libprocps or libproc2 is required') ++endif + + libunwind = dependency('libunwind', required : get_option('libunwind')) + build_info += 'With libunwind: @0@'.format(libunwind.found()) diff --git a/gnu/packages/patches/jbr-17-xcursor-no-dynamic.patch b/gnu/packages/patches/jbr-17-xcursor-no-dynamic.patch new file mode 100644 index 0000000000..371cbfe202 --- /dev/null +++ b/gnu/packages/patches/jbr-17-xcursor-no-dynamic.patch @@ -0,0 +1,72 @@ +From: Danny Milosavljevic <dannym@scratchpost.org> +Date: Thu, 31 Mar 2022 17:02:00 +0200 +Subject: Make openjdk use libxcursor directly + +Fixes <https://issues.guix.gnu.org/54654>. + +This patch makes openjdk use libxcursor directly. +Without it, libx11 would try to dlopen("libXcursor.so.1") and fail. + +diff -ru orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/make/modules/java.desktop/lib/Awt2dLibraries.gmk 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/make/modules/java.desktop/lib/Awt2dLibraries.gmk +--- orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/make/modules/java.desktop/lib/Awt2dLibraries.gmk 2022-03-31 15:34:08.773419480 +0200 ++++ 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/make/modules/java.desktop/lib/Awt2dLibraries.gmk 2022-03-31 21:36:27.854273411 +0200 +@@ -217,7 +217,7 @@ + endif + endif + +- LIBAWT_XAWT_LIBS := $(LIBM) -lawt -lXext -lX11 -lXrender $(SPEECHD_LIBS) $(LIBDL) -lXtst -lXi -ljava -ljvm ++ LIBAWT_XAWT_LIBS := $(LIBM) -lawt -lXext -lX11 -lXcursor -lXrender $(SPEECHD_LIBS) $(LIBDL) -lXtst -lXi -ljava -ljvm + + ifeq ($(call isTargetOs, linux), true) + LIBAWT_XAWT_LIBS += -lpthread +diff -ru orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c +--- orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c 2022-03-31 15:34:11.917502206 +0200 ++++ 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/src/java.desktop/unix/native/libawt_xawt/xawt/XlibWrapper.c 2022-03-31 21:38:16.417253535 +0200 +@@ -40,10 +40,12 @@ + #include <X11/keysym.h> + #include <X11/Sunkeysym.h> + #include <X11/Xlib.h> ++#include <X11/Xlibint.h> + #include <X11/Xatom.h> + #include <X11/XKBlib.h> + #include <X11/Xos.h> + #include <X11/Xutil.h> ++#include <X11/Xcursor/Xcursor.h> + + #if defined(AIX) + #undef X_HAVE_UTF8_STRING +@@ -972,10 +974,21 @@ + + } + ++static XColor _Xconst foreground = { 0, 0, 0, 0 }; /* black */ ++static XColor _Xconst background = { 0, 65535, 65535, 65535 }; /* white */ ++ + JNIEXPORT jint JNICALL Java_sun_awt_X11_XlibWrapper_XCreateFontCursor + (JNIEnv *env, jclass clazz, jlong display, jint shape) { + AWT_CHECK_HAVE_LOCK_RETURN(0); +- return XCreateFontCursor((Display *) jlong_to_ptr(display), (int) shape); ++ Display * dpy = (Display *) jlong_to_ptr(display); ++ if (dpy->cursor_font == None) { ++ dpy->cursor_font = XLoadFont(dpy, "cursor"); ++ if (dpy->cursor_font == None) return None; ++ } ++ Cursor result = XcursorTryShapeCursor(dpy, dpy->cursor_font, dpy->cursor_font, (int) shape, (int) shape + 1, &foreground, &background); ++ if (!result) ++ result = XCreateFontCursor(dpy, (int) shape); ++ return result; + } + + /* +diff -ru orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/test/jdk/java/awt/JAWT/Makefile.unix 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/test/jdk/java/awt/JAWT/Makefile.unix +--- orig/22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/test/jdk/java/awt/JAWT/Makefile.unix 2022-03-31 15:34:10.553466316 +0200 ++++ 22kjr9lzrml0h5m55viq7zlfkqr9p7ny-openjdk-15.0.3-checkout/test/jdk/java/awt/JAWT/Makefile.unix 2022-03-31 21:36:27.854273411 +0200 +@@ -31,7 +31,7 @@ + + J_INC = $(TESTJAVA)/include + INCLUDES = -I$(J_INC) -I$(J_INC)/$(SYST) -I. +-LIBS = -L$(TESTJAVA)/lib -ljawt -lX11 ++LIBS = -L$(TESTJAVA)/lib -ljawt -lX11 -lXcursor + + all: $(CLASSES) libmylib.so + diff --git a/gnu/packages/patches/libtree-fix-check-non-x86.patch b/gnu/packages/patches/libtree-fix-check-non-x86.patch new file mode 100644 index 0000000000..51f020c5d3 --- /dev/null +++ b/gnu/packages/patches/libtree-fix-check-non-x86.patch @@ -0,0 +1,50 @@ +From 061d3ec62707a526a83482e57d202a66f9d776cd Mon Sep 17 00:00:00 2001 +From: Ismael Luceno <ismael@iodev.co.uk> +Date: Tue, 23 Aug 2022 19:34:39 +0200 +Subject: [PATCH] Test the -m32 and -m64 compiler flags before use + +Fixes: https://github.com/haampie/libtree/issues/78 +Signed-off-by: Ismael Luceno <ismael@iodev.co.uk> +--- + tests/05_32_bits/Makefile | 20 +++++++++++++++----- + 1 file changed, 15 insertions(+), 5 deletions(-) + +diff --git a/tests/05_32_bits/Makefile b/tests/05_32_bits/Makefile +index 2c0bece..5628f42 100644 +--- a/tests/05_32_bits/Makefile ++++ b/tests/05_32_bits/Makefile +@@ -3,7 +3,7 @@ + + LD_LIBRARY_PATH= + +-.PHONY: clean ++.PHONY: clean check + + all: check + +@@ -21,11 +21,21 @@ exe64: lib64/libx.so + exe32: lib32/libx.so + echo 'extern int a(); int _start(){return a();}' | $(CC) -m32 "-Wl,-rpath,$(CURDIR)/lib64" "-Wl,-rpath,$(CURDIR)/lib32" -o $@ -nostdlib -x c - -Llib32 -lx + +-check: exe32 exe64 +- ../../libtree exe32 +- ../../libtree exe64 +- + clean: + rm -rf lib32 lib64 exe* + + CURDIR ?= $(.CURDIR) ++ ++test-flag = 2>/dev/null ${CC} -E /dev/null ++test-end = && echo y || echo n ++support-m32 != ${test-flag} -m32 ${test-end} ++support-m64 != ${test-flag} -m64 ${test-end} ++ ++check${support-m32:y=}:: exe32 ++ ../../libtree exe32 ++ ++check${support-m64:y=}:: exe64 ++ ../../libtree exe64 ++ ++check${support-m32:n=} check${support-m64:n=}:: ++ @echo WARNING: test skipped at ${CURDIR} diff --git a/gnu/packages/patches/lightdm-vnc-ipv6.patch b/gnu/packages/patches/lightdm-vnc-ipv6.patch new file mode 100644 index 0000000000..68e4363d3e --- /dev/null +++ b/gnu/packages/patches/lightdm-vnc-ipv6.patch @@ -0,0 +1,48 @@ +Submitted upstream: https://github.com/canonical/lightdm/pull/312 + +diff --git a/src/vnc-server.c b/src/vnc-server.c +index d3500764..00a2fc02 100644 +--- a/src/vnc-server.c ++++ b/src/vnc-server.c +@@ -126,18 +126,10 @@ vnc_server_start (VNCServer *server) + + g_return_val_if_fail (server != NULL, FALSE); + +- g_autoptr(GError) ipv4_error = NULL; +- priv->socket = open_tcp_socket (G_SOCKET_FAMILY_IPV4, priv->port, priv->listen_address, &ipv4_error); +- if (ipv4_error) +- g_warning ("Failed to create IPv4 VNC socket: %s", ipv4_error->message); +- +- if (priv->socket) +- { +- GSource *source = g_socket_create_source (priv->socket, G_IO_IN, NULL); +- g_source_set_callback (source, (GSourceFunc) read_cb, server, NULL); +- g_source_attach (source, NULL); +- } +- ++ // Bind to IPv6 first, as this implies binding to 0.0.0.0 in the ++ // Linux kernel default configuration, which would otherwise cause ++ // IPv6 clients to fail with "Error binding to address [::]:5900: ++ // Address already in use" (#266). + g_autoptr(GError) ipv6_error = NULL; + priv->socket6 = open_tcp_socket (G_SOCKET_FAMILY_IPV6, priv->port, priv->listen_address, &ipv6_error); + if (ipv6_error) +@@ -150,6 +142,18 @@ vnc_server_start (VNCServer *server) + g_source_attach (source, NULL); + } + ++ g_autoptr(GError) ipv4_error = NULL; ++ priv->socket = open_tcp_socket (G_SOCKET_FAMILY_IPV4, priv->port, priv->listen_address, &ipv4_error); ++ if (ipv4_error) ++ g_warning ("Failed to create IPv4 VNC socket: %s", ipv4_error->message); ++ ++ if (priv->socket) ++ { ++ GSource *source = g_socket_create_source (priv->socket, G_IO_IN, NULL); ++ g_source_set_callback (source, (GSourceFunc) read_cb, server, NULL); ++ g_source_attach (source, NULL); ++ } ++ + if (!priv->socket && !priv->socket6) + return FALSE; + diff --git a/gnu/packages/patches/llvm-roc-4.0.0-remove-isystem-usr-include.patch b/gnu/packages/patches/llvm-roc-4.0.0-remove-isystem-usr-include.patch deleted file mode 100644 index f14ec4ac0d..0000000000 --- a/gnu/packages/patches/llvm-roc-4.0.0-remove-isystem-usr-include.patch +++ /dev/null @@ -1,29 +0,0 @@ -Author: Wilfried (justxi) Holzke - -Adopted from https://github.com/justxi/rocm/blob/master/sys-devel/llvm-roc/files/llvm-roc-4.0.0-remove-isystem-usr-include.patch - -Index: llvm-project-rocm-4.0.0/clang/lib/Driver/ToolChains/AMDGPU.cpp -=================================================================== ---- llvm-project-rocm-4.0.0.orig/clang/lib/Driver/ToolChains/AMDGPU.cpp -+++ llvm-project-rocm-4.0.0/clang/lib/Driver/ToolChains/AMDGPU.cpp -@@ -326,11 +326,6 @@ void RocmInstallationDetector::AddHIPInc - // - // ROCm 3.5 does not fully support the wrapper headers. Therefore it needs - // a workaround. -- SmallString<128> P(D.ResourceDir); -- if (UsesRuntimeWrapper) -- llvm::sys::path::append(P, "include", "cuda_wrappers"); -- CC1Args.push_back("-internal-isystem"); -- CC1Args.push_back(DriverArgs.MakeArgString(P)); - } - - if (DriverArgs.hasArg(options::OPT_nogpuinc)) -@@ -341,8 +336,6 @@ void RocmInstallationDetector::AddHIPInc - return; - } - -- CC1Args.push_back("-internal-isystem"); -- CC1Args.push_back(DriverArgs.MakeArgString(getIncludePath())); - if (UsesRuntimeWrapper) - CC1Args.append({"-include", "__clang_hip_runtime_wrapper.h"}); - } diff --git a/gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch b/gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch deleted file mode 100644 index d6ed3aef93..0000000000 --- a/gnu/packages/patches/llvm-roc-5.0.0-linkdl.patch +++ /dev/null @@ -1,15 +0,0 @@ -Taken from the Gentoo patch: -https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/llvm-roc/files/llvm-roc-5.0.0-linkdl.patch - -LLVMOffloadArch should link libdl to fix undefined symbol 'dlsym' when linking - ---- a/llvm/lib/OffloadArch/offload-arch/CMakeLists.txt -+++ b/llvm/lib/OffloadArch/offload-arch/CMakeLists.txt -@@ -3,6 +3,7 @@ add_llvm_tool(offload-arch - ${CMAKE_CURRENT_SOURCE_DIR}/offload-arch.cpp - DEPENDS generated-table LLVMOffloadArch - ) -+target_link_libraries(LLVMOffloadArch PRIVATE ${CMAKE_DL_LIBS}) - target_link_libraries(offload-arch PRIVATE LLVMOffloadArch) - - if(CMAKE_HOST_UNIX) diff --git a/gnu/packages/patches/maven-generate-component-xml.patch b/gnu/packages/patches/maven-generate-component-xml.patch index 6cb23c7858..289556fbef 100644 --- a/gnu/packages/patches/maven-generate-component-xml.patch +++ b/gnu/packages/patches/maven-generate-component-xml.patch @@ -17,7 +17,8 @@ new file mode 100755 index 0000000..c6748bd --- /dev/null +++ b/components.sh -@@ -0,0 +1,148 @@ +@@ -0,0 +1,149 @@ ++#!/bin/sh +## This script generates a rough plexus/components.xml file. It is meant to +## replace plexus-component-metadata as it eventually has a recursive dependency +## on itself. diff --git a/gnu/packages/patches/maven-generate-javax-inject-named.patch b/gnu/packages/patches/maven-generate-javax-inject-named.patch index b8eba5ab90..38c4565e81 100644 --- a/gnu/packages/patches/maven-generate-javax-inject-named.patch +++ b/gnu/packages/patches/maven-generate-javax-inject-named.patch @@ -13,7 +13,8 @@ new file mode 100755 index 0000000..979f373 --- /dev/null +++ b/sisu.sh -@@ -0,0 +1,12 @@ +@@ -0,0 +1,13 @@ ++#!/bin/sh +## This script generates a rough javax.inject.Named file. It is meant to +## replace sisu-maven-plugin as it eventually has a recursive dependency +## on maven. diff --git a/gnu/packages/patches/nix-dont-build-html-doc.diff b/gnu/packages/patches/nix-dont-build-html-doc.diff index 79142bc215..2eb45117b0 100644 --- a/gnu/packages/patches/nix-dont-build-html-doc.diff +++ b/gnu/packages/patches/nix-dont-build-html-doc.diff @@ -3,24 +3,41 @@ We can't simply disable it because we need manpages. Author: Zhu Zihao <all_but_last@163.com> -diff --git a/doc/manual/local.mk b/doc/manual/local.mk -index e43d9f2fb..c323d1847 100644 --- a/doc/manual/local.mk +++ b/doc/manual/local.mk -@@ -69,8 +69,6 @@ $(d)/builtins.json: $(bindir)/nix +@@ -138,11 +138,6 @@ $(trace-gen) $(dummy-env) NIX_PATH=nix/corepkgs=corepkgs $(bindir)/nix __dump-builtins > $@.tmp @mv $@.tmp $@ -# Generate the HTML manual. +-.PHONY: manual-html +-manual-html: $(docdir)/manual/index.html -install: $(docdir)/manual/index.html - +- # Generate 'nix' manpages. install: $(mandir)/man1/nix3-manpages -@@ -94,7 +92,5 @@ doc/manual/generated/man1/nix3-manpages: $(d)/src/command-ref/new-cli + man: doc/manual/generated/man1/nix3-manpages +@@ -167,23 +162,4 @@ done @touch $@ --$(docdir)/manual/index.html: $(MANUAL_SRCS) $(d)/book.toml $(d)/custom.css $(d)/src/SUMMARY.md $(d)/src/command-ref/new-cli $(d)/src/command-ref/conf-file.md $(d)/src/expressions/builtins.md $(call rwildcard, $(d)/src, *.md) -- $(trace-gen) RUST_LOG=warn mdbook build doc/manual -d $(DESTDIR)$(docdir)/manual - +-$(docdir)/manual/index.html: $(MANUAL_SRCS) $(d)/book.toml $(d)/anchors.jq $(d)/custom.css $(d)/src/SUMMARY.md $(d)/src/command-ref/new-cli $(d)/src/contributing/experimental-feature-descriptions.md $(d)/src/command-ref/conf-file.md $(d)/src/language/builtins.md +- $(trace-gen) \ +- tmp="$$(mktemp -d)"; \ +- cp -r doc/manual "$$tmp"; \ +- find "$$tmp" -name '*.md' | while read -r file; do \ +- $(call process-includes,$$file,$$file); \ +- done; \ +- find "$$tmp" -name '*.md' | while read -r file; do \ +- docroot="$$(realpath --relative-to="$$(dirname "$$file")" $$tmp/manual/src)"; \ +- sed -i "s,@docroot@,$$docroot,g" "$$file"; \ +- done; \ +- set -euo pipefail; \ +- RUST_LOG=warn mdbook build "$$tmp/manual" -d $(DESTDIR)$(docdir)/manual.tmp 2>&1 \ +- | { grep -Fv "because fragment resolution isn't implemented" || :; }; \ +- rm -rf "$$tmp/manual" +- @rm -rf $(DESTDIR)$(docdir)/manual +- @mv $(DESTDIR)$(docdir)/manual.tmp/html $(DESTDIR)$(docdir)/manual +- @rm -rf $(DESTDIR)$(docdir)/manual.tmp +- endif diff --git a/gnu/packages/patches/openrgb-unbundle-hueplusplus.patch b/gnu/packages/patches/openrgb-unbundle-hueplusplus.patch index 7454e1efbe..c99b2c68dd 100644 --- a/gnu/packages/patches/openrgb-unbundle-hueplusplus.patch +++ b/gnu/packages/patches/openrgb-unbundle-hueplusplus.patch @@ -1,10 +1,10 @@ Remove references to hueplusplus in order to unbundle and use the input package. diff --git a/OpenRGB.pro b/OpenRGB.pro -index 61758892..8702d998 100644 +index 556be3bc..41e704aa 100644 --- a/OpenRGB.pro +++ b/OpenRGB.pro -@@ -493,35 +493,6 @@ SOURCES += +@@ -783,35 +783,6 @@ SOURCES += dependencies/Swatches/swatches.cpp \ dependencies/dmiinfo.cpp \ dependencies/ColorWheel/ColorWheel.cpp \ @@ -40,15 +40,15 @@ index 61758892..8702d998 100644 dependencies/libe131/src/e131.c \ dependencies/libcmmk/src/libcmmk.c \ main.cpp \ -@@ -1188,6 +1159,7 @@ unix:!macx { - -lmbedx509 \ +@@ -1789,6 +1760,7 @@ contains(QMAKE_PLATFORM, linux) { -lmbedtls \ -lmbedcrypto \ + -ldl \ + -lhueplusplusshared \ COMPILER_VERSION = $$system($$QMAKE_CXX " -dumpversion") if (!versionAtLeast(COMPILER_VERSION, "9")) { -@@ -1218,7 +1190,6 @@ unix:!macx { +@@ -1821,7 +1793,6 @@ contains(QMAKE_PLATFORM, linux) { } SOURCES += \ diff --git a/gnu/packages/patches/python-keras-integration-test.patch b/gnu/packages/patches/python-keras-integration-test.patch deleted file mode 100644 index aa2b1a273d..0000000000 --- a/gnu/packages/patches/python-keras-integration-test.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fix a test failure with recent versions of ... Pytest? Python? - -Taken from upstream: -https://github.com/keras-team/keras/commit/fe35050a8f18dc52304aa8da4e463eececa25240 - -diff --git a/tests/integration_tests/applications_test.py b/tests/integration_tests/applications_test.py -index 979f2f2abd6..6e3b57fa8e2 100644 ---- a/tests/integration_tests/applications_test.py -+++ b/tests/integration_tests/applications_test.py -@@ -58,7 +58,8 @@ def _test_application_basic(app, last_dim=1000): - def _test_application_notop(app, last_dim): - output_shape = _get_output_shape( - lambda: app(weights=None, include_top=False)) -- assert output_shape == (None, None, None, last_dim) -+ assert len(output_shape) == 4 -+ assert output_shape[-1] == last_dim - - - def test_mobilenet_v2_legacy_import(): diff --git a/gnu/packages/patches/python-vega-datasets-remove-la-riots-code.patch b/gnu/packages/patches/python-vega-datasets-remove-la-riots-code.patch new file mode 100644 index 0000000000..ea3f68927a --- /dev/null +++ b/gnu/packages/patches/python-vega-datasets-remove-la-riots-code.patch @@ -0,0 +1,89 @@ +# This patch was imported from Debian: +# https://sources.debian.org/src/python-vega-datasets/0.9%2Bdfsg-1/debian/patches/remove-la-riots-related-code.patch/ +# According to the Debian package, the license of this dataset is not clear and it is not available from Los Angeles Times for European users. +Index: vega_datasets/vega_datasets/tests/test_local_datasets.py +=================================================================== +--- vega_datasets.orig/vega_datasets/tests/test_local_datasets.py ++++ vega_datasets/vega_datasets/tests/test_local_datasets.py +@@ -75,7 +75,6 @@ def test_cars_column_names(): + [ + ("cars", "Year"), + ("stocks", "date"), +- ("la-riots", "death_date"), + ("iowa-electricity", "year"), + ("seattle-weather", "date"), + ("seattle-temps", "date"), +Index: vega_datasets/vega_datasets/core.py +=================================================================== +--- vega_datasets.orig/vega_datasets/core.py ++++ vega_datasets/vega_datasets/core.py +@@ -322,11 +322,6 @@ class IowaElectricity(Dataset): + _pd_read_kwds = {"parse_dates": ["year"]} + + +-class LARiots(Dataset): +- name = "la-riots" +- _pd_read_kwds = {"parse_dates": ["death_date"]} +- +- + class Miserables(Dataset): + name = "miserables" + _return_type = tuple +Index: vega_datasets/vega_datasets/datasets.json +=================================================================== +--- vega_datasets.orig/vega_datasets/datasets.json ++++ vega_datasets/vega_datasets/datasets.json +@@ -143,10 +143,6 @@ + "filename": "jobs.json", + "format": "json" + }, +- "la-riots": { +- "filename": "la-riots.csv", +- "format": "csv" +- }, + "londonBoroughs": { + "filename": "londonBoroughs.json", + "format": "json" +@@ -279,4 +275,4 @@ + "filename": "zipcodes.csv", + "format": "csv" + } +-} +\ No newline at end of file ++} +Index: vega_datasets/vega_datasets/local_datasets.json +=================================================================== +--- vega_datasets.orig/vega_datasets/local_datasets.json ++++ vega_datasets/vega_datasets/local_datasets.json +@@ -8,7 +8,6 @@ + "driving": "_data/driving.json", + "iowa-electricity": "_data/iowa-electricity.csv", + "iris": "_data/iris.json", +- "la-riots": "_data/la-riots.csv", + "ohlc": "_data/ohlc.json", + "seattle-temps": "_data/seattle-temps.csv", + "seattle-weather": "_data/seattle-weather.csv", +@@ -16,4 +15,4 @@ + "stocks": "_data/stocks.csv", + "us-employment": "_data/us-employment.csv", + "wheat": "_data/wheat.json" +-} +\ No newline at end of file ++} +Index: vega_datasets/vega_datasets/dataset_info.json +=================================================================== +--- vega_datasets.orig/vega_datasets/dataset_info.json ++++ vega_datasets/vega_datasets/dataset_info.json +@@ -49,12 +49,6 @@ + "R. A. Fisher (1936). 'The use of multiple measurements in taxonomic problems'. Annals of Eugenics. 7 (2): 179-188." + ] + }, +- "la-riots" : { +- "description" : "More than 60 people lost their lives amid the looting and fires that ravaged Los Angeles for five days starting on April 29, 1992. This dataset contains metadata about each person, including the geographic coordinates of their death. It was compiled and published by the Los Angeles Times Data Desk [1]_.", +- "references" : [ +- "http://spreadsheets.latimes.com/la-riots-deaths/" +- ] +- }, + "ohlc" : { + "description" : "This dataset contains the performance of the Chicago Board Options Exchange `Volatility Index <https://en.wikipedia.org/wiki/VIX>`_ in the summer of 2009." + }, diff --git a/gnu/packages/patches/quodlibet-fix-invalid-glob.patch b/gnu/packages/patches/quodlibet-fix-invalid-glob.patch new file mode 100644 index 0000000000..95f95d8aab --- /dev/null +++ b/gnu/packages/patches/quodlibet-fix-invalid-glob.patch @@ -0,0 +1,89 @@ +From 5f55431a28509fd4f4f7b40dc246f3d34fa8549e Mon Sep 17 00:00:00 2001 +From: Christoph Reiter <reiter.christoph@gmail.com> +Date: Sun, 26 Jun 2022 23:14:28 +0200 +Subject: [PATCH] builtin cover: fix handling of invalid glob ranges with + Python 3.10.5+ (#4027) + +Previously Python would raise if an invalid range was given +to glob, but with 3.10.5 they fixed it to not match anything. +https://github.com/python/cpython/issues/89973 + +Our tests depended on the previous logic and treating the glob pattern +as a literal file name in that case. + +One could argue that this is wrong since a range that doesn't contain anything +should also not match anything, so wrap glob() to make it not match for all +Python versions in that case and adjust the tests accordingly. + +This should fix the Windows CI, which is currently the only job using 3.10.5 +--- + quodlibet/util/cover/built_in.py | 22 +++++++++++----------- + tests/test_util_cover.py | 12 +++--------- + 2 files changed, 14 insertions(+), 20 deletions(-) + +diff --git a/quodlibet/util/cover/built_in.py b/quodlibet/util/cover/built_in.py +index f2a8791a2..01474c9b6 100644 +--- a/quodlibet/util/cover/built_in.py ++++ b/quodlibet/util/cover/built_in.py +@@ -100,6 +100,15 @@ class FilesystemCover(CoverSourcePlugin): + base = self.song('~dirname') + images = [] + ++ def safe_glob(*args, **kwargs): ++ try: ++ return glob.glob(*args, **kwargs) ++ except sre_constants.error: ++ # https://github.com/python/cpython/issues/89973 ++ # old glob would fail with invalid ranges, newer one ++ # handles it correctly. ++ return [] ++ + if config.getboolean("albumart", "force_filename"): + score = 100 + for filename in config.get("albumart", "filename").split(","): +@@ -107,17 +116,8 @@ class FilesystemCover(CoverSourcePlugin): + filename = filename.strip() + + escaped_path = os.path.join(glob.escape(base), filename) +- try: +- for path in glob.glob(escaped_path): +- images.append((score, path)) +- except sre_constants.error: +- # Use literal filename if globbing causes errors +- path = os.path.join(base, filename) +- +- # We check this here, so we can search for alternative +- # files in case no preferred file was found. +- if os.path.isfile(path): +- images.append((score, path)) ++ for path in safe_glob(escaped_path): ++ images.append((score, path)) + + # So names and patterns at the start are preferred + score -= 1 +diff --git a/tests/test_util_cover.py b/tests/test_util_cover.py +index db81e4d1f..71a48ad9a 100644 +--- a/tests/test_util_cover.py ++++ b/tests/test_util_cover.py +@@ -105,15 +105,9 @@ class TCoverManager(TestCase): + config.set("albumart", "force_filename", str(True)) + config.set("albumart", "filename", "[a-2].jpg") + +- # Should match +- f = self.add_file("[a-2].jpg") +- assert path_equal( +- os.path.abspath(self._find_cover(self.song).name), f) +- +- # Should not crash +- f = self.add_file("test.jpg") +- assert not path_equal( +- os.path.abspath(self._find_cover(self.song).name), f) ++ # Invalid glob range, should not match anything ++ self.add_file("a.jpg") ++ assert self._find_cover(self.song) is None + + def test_invalid_glob_path(self): + config.set("albumart", "force_filename", str(True)) +-- +2.39.2 + diff --git a/gnu/packages/patches/quodlibet-fix-mtime-tests.patch b/gnu/packages/patches/quodlibet-fix-mtime-tests.patch new file mode 100644 index 0000000000..037f77d868 --- /dev/null +++ b/gnu/packages/patches/quodlibet-fix-mtime-tests.patch @@ -0,0 +1,39 @@ +From 06a32b319f065550efe0d2a9ff10ca6bdc32b893 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter <reiter.christoph@gmail.com> +Date: Sat, 23 Jul 2022 20:15:18 +0200 +Subject: [PATCH] operon: hopefully better fix for flaky mtime tests + +copy the mtime after we write everything, so there is no chance of +it changing before we note the initial value. +--- + quodlibet/operon/commands.py | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/quodlibet/operon/commands.py b/quodlibet/operon/commands.py +index e0a5ef33a..af2dcfa8b 100644 +--- a/quodlibet/operon/commands.py ++++ b/quodlibet/operon/commands.py +@@ -227,16 +227,16 @@ class EditCommand(Command): + # write to tmp file + fd, path = tempfile.mkstemp(suffix=".txt") + +- # XXX: copy mtime here so we can test for changes in tests by +- # setting a out of date mtime on the source song file +- copy_mtime(args[0], path) +- + try: + try: + os.write(fd, dump) + finally: + os.close(fd) + ++ # XXX: copy mtime here so we can test for changes in tests by ++ # setting a out of date mtime on the source song file ++ copy_mtime(args[0], path) ++ + # only parse the result if the editor returns 0 and the mtime has + # changed + old_mtime = mtime(path) +-- +2.39.2 + diff --git a/gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch b/gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch new file mode 100644 index 0000000000..2948234029 --- /dev/null +++ b/gnu/packages/patches/rocclr-5.6.0-enable-gfx800.patch @@ -0,0 +1,16 @@ +#From xuhuisheng +#at https://github.com/RadeonOpenCompute/ROCm/issues/1659#issuecomment-1041026624 + +diff --git a/utils/flags.hpp b/utils/flags.hpp +index 8f0228cc..2eaa47c5 100644 +--- a/utils/flags.hpp ++++ b/utils/flags.hpp +@@ -245,7 +245,7 @@ release(bool, ROC_SYSTEM_SCOPE_SIGNAL, true, \ + "Enable system scope for signals (uses interrupts).") \ + release(bool, ROC_SKIP_COPY_SYNC, false, \ + "Skips copy syncs if runtime can predict the same engine.") \ +-release(bool, ROC_ENABLE_PRE_VEGA, false, \ ++release(bool, ROC_ENABLE_PRE_VEGA, true, \ + "Enable support of pre-vega ASICs in ROCm path") \ + release(bool, HIP_FORCE_QUEUE_PROFILING, false, \ + "Force command queue profiling by default") \ diff --git a/gnu/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch b/gnu/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch new file mode 100644 index 0000000000..a5404ad62c --- /dev/null +++ b/gnu/packages/patches/rocm-bandwidth-test-5.5.0-fix-includes.patch @@ -0,0 +1,79 @@ +See <https://github.com/RadeonOpenCompute/rocm_bandwidth_test/pull/90>. + +From a58f9fd4cb5d1120b9ce58c912ca87fa14720f73 Mon Sep 17 00:00:00 2001 +From: pppig236 <weikaik@umich.edu> +Date: Tue, 2 May 2023 15:19:52 -0400 +Subject: [PATCH] fix include for rocm 5.5.0 + +--- + base_test.hpp | 8 +------- + common.hpp | 11 ++--------- + rocm_bandwidth_test.hpp | 8 +------- + 3 files changed, 4 insertions(+), 23 deletions(-) + +diff --git a/base_test.hpp b/base_test.hpp +index 3e79de1..af99a85 100755 +--- a/base_test.hpp ++++ b/base_test.hpp +@@ -42,14 +42,8 @@ + + #ifndef ROC_BANDWIDTH_TEST_BASE_H_ + #define ROC_BANDWIDTH_TEST_BASE_H_ +-#if(defined(RBT_HSA_VERSION_FLAT) && ((RBT_HSA_VERSION_FLAT) < RBT_HSA_VERSION_FILEREORG)) +-// Hsa package with out file reorganization +-// This is for backward compatibility and will be deprecated from future release +-#include "hsa.h" +-#else + // Hsa package with file reorganization +-#include "hsa/hsa.h" +-#endif ++#include <hsa/hsa.h> + #include <iostream> + #include <string> + #include <vector> +diff --git a/common.hpp b/common.hpp +index d2933a0..3c4858f 100755 +--- a/common.hpp ++++ b/common.hpp +@@ -48,16 +48,9 @@ + #include <vector> + #include <cmath> + #include <stdio.h> +-#if(defined(RBT_HSA_VERSION_FLAT) && ((RBT_HSA_VERSION_FLAT) < RBT_HSA_VERSION_FILEREORG)) +-// Hsa package with out file reorganization +-// This is for backward compatibility and will be deprecated from future release +-#include "hsa.h" +-#include "hsa_ext_amd.h" +-#else + // Hsa package with file reorganization +-#include "hsa/hsa.h" +-#include "hsa/hsa_ext_amd.h" +-#endif ++#include <hsa/hsa.h> ++#include <hsa/hsa_ext_amd.h> + + using namespace std; + +diff --git a/rocm_bandwidth_test.hpp b/rocm_bandwidth_test.hpp +index f7eb338..b8550a7 100755 +--- a/rocm_bandwidth_test.hpp ++++ b/rocm_bandwidth_test.hpp +@@ -43,14 +43,8 @@ + #ifndef __ROC_BANDWIDTH_TEST_H__ + #define __ROC_BANDWIDTH_TEST_H__ + +-#if(defined(RBT_HSA_VERSION_FLAT) && ((RBT_HSA_VERSION_FLAT) < RBT_HSA_VERSION_FILEREORG)) +-// Hsa package with out file reorganization +-// This is for backward compatibility and will be deprecated from future release +-#include "hsa.h" +-#else + // Hsa package with file reorganization +-#include "hsa/hsa.h" +-#endif ++#include <hsa/hsa.h> + #include "base_test.hpp" + #include "common.hpp" + +-- +2.40.1 + diff --git a/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch b/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch index fc2c74718a..6462b81eb9 100644 --- a/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch +++ b/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch @@ -1,4 +1,5 @@ -https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/pull/25 +See https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/pull/25 for +original patch. From c65cba2e73f9118e128b9ab7e655ee0f8a7798e7 Mon Sep 17 00:00:00 2001 From: Craig Andrews <candrews@integralblue.com> @@ -12,23 +13,23 @@ Without these additional required dependencies, linking fails with errors such a 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/comgr/CMakeLists.txt b/lib/comgr/CMakeLists.txt -index 8b5ca2f..a7d226f 100644 +index fd3ae4a..131e581 100644 --- a/lib/comgr/CMakeLists.txt +++ b/lib/comgr/CMakeLists.txt -@@ -294,7 +294,11 @@ install(FILES - DESTINATION "${AMD_COMGR_PACKAGE_PREFIX}") +@@ -322,7 +322,11 @@ install(FILES - set(CLANG_LIBS -- clangFrontendTool) -+ clangFrontendTool -+ clangFrontend -+ clangBasic -+ clangDriver -+ clangSerialization) - - set(LLD_LIBS - lldELF -@@ -305,8 +309,21 @@ if (LLVM_LINK_LLVM_DYLIB) + if(TARGET clangFrontendTool) + set(CLANG_LIBS +- clangFrontendTool) ++ clangFrontendTool ++ clangFrontend ++ clangBasic ++ clangDriver ++ clangSerialization) + else() + set(CLANG_LIBS + clang-cpp) +@@ -337,8 +341,23 @@ if (LLVM_LINK_LLVM_DYLIB) else() llvm_map_components_to_libnames(LLVM_LIBS ${LLVM_TARGETS_TO_BUILD} @@ -38,6 +39,8 @@ index 8b5ca2f..a7d226f 100644 + Symbolize + Support + Object ++ TargetParser ++ Bitreader + BitWriter + MC + MCParser diff --git a/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch b/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch index 97376fd421..65ad362307 100644 --- a/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch +++ b/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch @@ -1,14 +1,12 @@ Do not build and install clinfo. -diff --git a/CMakeLists.txt.orig b/CMakeLists.txt -index 76847d3..3f62bfe 100644 ---- a/CMakeLists.txt.orig +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0dc5bf4..95a12af 100644 +--- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -15,9 +15,9 @@ option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorganization backward co - - - set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "") - #add_subdirectory(khronos/icd) +@@ -27,7 +27,7 @@ else() + find_package(OpenCL REQUIRED) + endif() add_subdirectory(amdocl) -add_subdirectory(tools/clinfo) +#add_subdirectory(tools/clinfo) @@ -16,14 +14,14 @@ index 76847d3..3f62bfe 100644 if(BUILD_TESTS) add_subdirectory(tests/ocltst) diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt -index 48353eb..cd1e7c1 100644 +index a703f58..c07546a 100644 --- a/packaging/CMakeLists.txt +++ b/packaging/CMakeLists.txt -@@ -5,6 +5,6 @@ set(CPACK_COMPONENTS_ALL binary dev icd) +@@ -12,6 +12,6 @@ endif() set(CPACK_DEB_COMPONENT_INSTALL ON) set(CPACK_RPM_COMPONENT_INSTALL ON) --install(TARGETS clinfo DESTINATION bin COMPONENT binary) -+#install(TARGETS clinfo DESTINATION bin COMPONENT binary) - install(TARGETS amdocl DESTINATION lib COMPONENT binary) - install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION share/doc/${CMAKE_PROJECT_NAME} COMPONENT binary) +-install(TARGETS clinfo DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT binary) ++#install(TARGETS clinfo DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT binary) + install(TARGETS amdocl DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) + install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary) diff --git a/gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch b/gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch deleted file mode 100644 index 9f80d7da9d..0000000000 --- a/gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch +++ /dev/null @@ -1,70 +0,0 @@ -Do not build and install libOpenCL. - ---- b/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -15,9 +15,9 @@ option(FILE_REORG_BACKWARD_COMPATIBILITY "Enable File Reorganization backward co - - - set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "") --add_subdirectory(khronos/icd) -+#add_subdirectory(khronos/icd) - add_subdirectory(amdocl) - add_subdirectory(tools/clinfo) - add_subdirectory(tools/cltrace) - if(BUILD_TESTS) - add_subdirectory(tests/ocltst) -@@ -25,16 +25,6 @@ endif() - - ###--- Packaging ------------------------------------------------------------### - --# DEV package --install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2/CL" -- DESTINATION include -- COMPONENT DEV -- USE_SOURCE_PERMISSIONS -- PATTERN cl_d3d10.h EXCLUDE -- PATTERN cl_d3d11.h EXCLUDE -- PATTERN cl_dx9_media_sharing.h EXCLUDE -- PATTERN cl_egl.h EXCLUDE) -- - ############################# - # Packaging steps - ############################# -@@ -53,8 +43,8 @@ if (DEFINED ROCM_PATCH_VERSION) - set(OPENCL_AMD_ICD_FILE "amdocl64_${ROCM_PATCH_VERSION}.icd") - endif() - --get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION) --get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION) -+#get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION) -+#get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION) - - #Set Package Version - set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) -diff --git a/khronos/icd/CMakeLists.txt b/khronos/icd/CMakeLists.txt -index 4bafa86..987dd6f 100644 ---- a/khronos/icd/CMakeLists.txt 2020-06-07 16:05:32.425022904 +0200 -+++ b/khronos/icd/CMakeLists.txt 2020-06-07 16:06:03.273022786 +0200 -@@ -132,7 +132,7 @@ if (BUILD_TESTING) - add_subdirectory (test) - endif() - --install (TARGETS OpenCL -- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+#install (TARGETS OpenCL -+# RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+# ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+# LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt -index 48353eb..cd1e7c1 100644 ---- a/packaging/CMakeLists.txt -+++ b/packaging/CMakeLists.txt -@@ -17,5 +17,5 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL - PATTERN cl_dx9_media_sharing.h EXCLUDE - PATTERN cl_egl.h EXCLUDE ) - --install(TARGETS OpenCL DESTINATION lib COMPONENT icd ) -+#install(TARGETS OpenCL DESTINATION lib COMPONENT icd ) - install(FILES ${CMAKE_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION share/doc/rocm-ocl-icd COMPONENT icd) diff --git a/gnu/packages/patches/ruby-nokogiri.patch b/gnu/packages/patches/ruby-nokogiri.patch new file mode 100644 index 0000000000..b55b430234 --- /dev/null +++ b/gnu/packages/patches/ruby-nokogiri.patch @@ -0,0 +1,29 @@ +Description: Removed some unnecessary test setup such as SimpleCov and + minitest-reporters. +diff --git a/test/helper.rb b/test/helper.rb +index ed3133c6..4f5d4f1b 100644 +--- a/test/helper.rb ++++ b/test/helper.rb +@@ -13,22 +13,10 @@ + # - NOKOGIRI_GC: read more in test/test_memory_leak.rb + # + +-require "simplecov" +-SimpleCov.start do +- add_filter "/test/" +- enable_coverage :branch +-end +- + $VERBOSE = true + + require "minitest/autorun" + require "minitest/benchmark" +-require "minitest/reporters" +- +-nokogiri_minitest_reporters_options = { color: true, slow_count: 10, detailed_skip: false } +-nokogiri_minitest_reporters_options[:fast_fail] = true if ENV["NOKOGIRI_TEST_FAIL_FAST"] +-puts "Minitest::Reporters options: #{nokogiri_minitest_reporters_options}" +-Minitest::Reporters.use!(Minitest::Reporters::DefaultReporter.new(nokogiri_minitest_reporters_options)) + + require "fileutils" + require "tempfile" diff --git a/gnu/packages/patches/vcmi-disable-privacy-breach.patch b/gnu/packages/patches/vcmi-disable-privacy-breach.patch new file mode 100644 index 0000000000..c03bc66119 --- /dev/null +++ b/gnu/packages/patches/vcmi-disable-privacy-breach.patch @@ -0,0 +1,21 @@ +Origin: https://salsa.debian.org/games-team/vcmi/-/blob/debian/1.1.0+dfsg-1/debian/patches/disable-privacy-breach +From: Johannes Schauer <josch@debian.org> +Subject: do not check remote repositories on startup by default +Forwarded: not-needed + +--- a/config/schemas/settings.json ++++ b/config/schemas/settings.json +@@ -401,11 +401,11 @@ + }, + "autoCheckRepositories" : { + "type" : "boolean", +- "default" : true ++ "default" : false + }, + "updateOnStartup" : { + "type" : "boolean", +- "default" : true ++ "default" : false + }, + "updateConfigUrl" : { + "type" : "string", diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index 2b30ee1b9d..efb9a04aee 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -370,7 +370,7 @@ you to figure out what is going on in that merge you keep avoiding.") (define-public patchwork (package (name "patchwork") - (version "3.0.4") + (version "3.1.1") (source (origin (method git-fetch) (uri (git-reference @@ -379,7 +379,7 @@ you to figure out what is going on in that merge you keep avoiding.") (file-name (git-file-name name version)) (sha256 (base32 - "0dl0prsyzsnlq6g0jw05mxx00bq9y2rpc3vrbfxfiblyyydrn2xn")))) + "0is9d4gf93jcbyshyj2k3kjyrjnvimrm6bai6dbcx630md222j5w")))) (build-system python-build-system) (arguments `(;; TODO: Tests require a running database diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm index 741dcdf787..140bbd0e90 100644 --- a/gnu/packages/pciutils.scm +++ b/gnu/packages/pciutils.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2022 Marius Bakke <marius@gnu.org> ;;; @@ -33,7 +33,6 @@ #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages hurd) #:use-module (gnu packages linux) #:use-module (gnu packages base)) @@ -162,7 +161,7 @@ Each database is contained in a specific package output, such as the (native-inputs (list `(,hwdata "pci") pkg-config which)) (inputs - `(,@(if (not (hurd-target?)) + `(,@(if (not (target-hurd?)) `(("kmod" ,kmod)) '()) ("zlib" ,zlib))) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 1f3cc4ba46..ef81900069 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -68,6 +68,7 @@ #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) #:use-module (gnu packages game-development) + #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) @@ -113,21 +114,23 @@ #:use-module (gnu packages xorg) #:use-module (srfi srfi-1)) -(define-public a4pdf +(define-public capypdf (package - (name "a4pdf") - (version "0.1.0") + (name "capypdf") + (version "0.3.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/jpakkane/a4pdf") + (url "https://github.com/jpakkane/capypdf") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "18062cm1qsbaymmjar0whbd7kaggy4x7wzp7xw94kcd1pwx2jp1p")))) + (base32 "193izn2jw55w2dxy6l0vz5zrlar9lm7a6z443nw0vs4mlj4jnasi")))) (build-system meson-build-system) (arguments - (list #:phases + (list #:meson meson/newer + #:test-options '(list "plainc") + #:phases #~(modify-phases %standard-phases (add-after 'unpack 'add-missing-header (lambda _ @@ -139,14 +142,7 @@ ;; XXX: remove when bumping glib (substitute* "src/pdfviewer.cpp" (("G_APPLICATION_DEFAULT_FLAGS") - "G_APPLICATION_FLAGS_NONE")))) - (add-after 'unpack 'fix-broken-tests - (lambda* (#:key inputs native-inputs #:allow-other-keys) - (substitute* "test/a4pdftests.py" - (("'Ghostscript not found, test suite can not be run.'") - ;; Sucks, but there's no point in repairing a certain test - ;; at the moment. - "0"))))))) + "G_APPLICATION_FLAGS_NONE"))))))) (inputs (list fmt freetype gtk @@ -155,7 +151,8 @@ libpng zlib)) (native-inputs (list font-google-noto - ;; ghostscript + gcc-12 + ghostscript pkg-config python python-pillow)) @@ -167,6 +164,9 @@ directly. It uses LittleCMS for color management but otherwise does not convert data in any way.") (license license:asl2.0))) +(define-public a4pdf + (deprecated-package "a4pdf" capypdf)) + (define-public diffpdf (let ((commit "ba68231d3d05e0cb3a2d4a4fca8b70d4044f4303") (revision "1")) @@ -824,14 +824,14 @@ and based on PDF specification 1.7.") (define-public mupdf (package (name "mupdf") - (version "1.22.1") + (version "1.22.2") (source (origin (method url-fetch) (uri (string-append "https://mupdf.com/downloads/archive/" - "mupdf-" version "-source.tar.lz")) + "mupdf-" version "-source.tar.gz")) (sha256 - (base32 "1px73qnazjvmbwf1fab8ad8j1dmiddg1mjb7zg7h9i1vp4bh7c1k")) + (base32 "1dxybd4fzjdmkpwd984yj511nmjxjbpj00yccycfm37gwvs6mijl")) (modules '((guix build utils) (ice-9 ftw) (srfi srfi-1))) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index d7312372de..15d4f3a9bc 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -32,7 +32,7 @@ ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> -;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com> +;;; Copyright © 2022, 2023 Evgeny Pisemsky <evgeny@pisemsky.com> ;;; Copyright © 2022 gemmaro <gemmaro.dev@gmail.com> ;;; Copyright © 2023 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> ;;; Copyright © 2023 Andreas Enge <andreas@enge.fr> @@ -6333,7 +6333,7 @@ expression and a list of abbreviations (built in and given).") (define-public perl-lingua-translit (package (name "perl-lingua-translit") - (version "0.28") + (version "0.29") (source (origin (method url-fetch) @@ -6341,7 +6341,7 @@ expression and a list of abbreviations (built in and given).") "Lingua-Translit-" version ".tar.gz")) (sha256 (base32 - "1qgap0j0ixmif309dvbqca7sy8xha9xgnj9s2lvh8qrczkc92gqi")))) + "0lkpb698p1a5b7r0m5mz23k95cgbr4vm9mfrnw4dgnkr02ygmlhs")))) (build-system perl-build-system) (arguments (list diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index c498703205..1e78c8e9fe 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2020 Sebastian Schott <sschott@mailbox.org> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020. 2021, 2022 Vinicius Monego <monego@posteo.net> -;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com> +;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -459,7 +459,7 @@ photographic equipment.") (define-public darktable (package (name "darktable") - (version "4.2.1") + (version "4.4.1") (source (origin (method url-fetch) @@ -467,7 +467,7 @@ photographic equipment.") "https://github.com/darktable-org/darktable/releases/" "download/release-" version "/darktable-" version ".tar.xz")) (sha256 - (base32 "1b3vr6njwqfvnrx3qpbg5aqcbl1z8nxnxcgyyw0sd4a20z33jfk0")))) + (base32 "038gdri1mcmq9mlaikq5x9xyrs20b99jpcchfspngnwa5s6x6hz0")))) (build-system cmake-build-system) (arguments (list @@ -484,13 +484,6 @@ photographic equipment.") (string-append "\"" (search-input-file inputs "/lib/libOpenCL.so") "\""))))) - (add-after 'unpack 'fix-missing-include - (lambda _ - ;; Fix missing include needed to build tests. See upstream - ;; issue: https://github.com/darktable-org/darktable/issues/12604 - (substitute* "./src/common/variables.h" - (("once") - "once\n#include \"common/image.h\"")))) (add-before 'configure 'prepare-build-environment (lambda _ ;; Rawspeed fails to build with GCC due to OpenMP error: @@ -514,13 +507,13 @@ photographic equipment.") (,(string-append #$(this-package-input "gtk+") "/share/glib-2.0/schemas"))))))))) (native-inputs - (list clang-11 + (list clang cmocka desktop-file-utils `(,glib "bin") gobject-introspection intltool - llvm-11 ;should match the Clang version + llvm ;should match the Clang version opencl-headers perl pkg-config diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index c71d648cf4..cb6b4e7047 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2023 Timo Wilken <guix@twilken.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -133,7 +134,8 @@ "--enable-intl" "--enable-mbstring" "--enable-pcntl" - "--enable-sockets")) + "--enable-sockets" + "--enable-sysvsem")) ; Required for, e.g. Nextcloud #:phases (modify-phases %standard-phases (add-after 'unpack 'do-not-record-build-flags diff --git a/gnu/packages/plan9.scm b/gnu/packages/plan9.scm index 318344f2ec..f78c26e215 100644 --- a/gnu/packages/plan9.scm +++ b/gnu/packages/plan9.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 宋文武 <iyzsong@member.fsf.org> +;;; Copyright © 2023 Antero Mejr <antero@mailbox.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,8 +21,14 @@ #:use-module (guix build-system gnu) #:use-module (guix git-download) #:use-module (guix packages) + #:use-module (guix gexp) #:use-module (guix utils) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages commencement) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages perl) #:use-module (gnu packages xorg)) (define-public drawterm @@ -63,3 +70,109 @@ Plan 9 systems. It behaves like a Plan 9 kernel and will attempt to reconstruct a Plan 9 terminal-like experience from a non-Plan 9 system.") (license license:expat)))) + +(define-public plan9port + ;; no releases + (let ((commit "cc4571fec67407652b03d6603ada6580de2194dc") + (revision "0")) + (package + (name "plan9port") + (version (git-version "0.1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/9fans/plan9port") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1g2kzlghcghs560na6xalfsjq5zwp015wv9wk8wxn26981zs759x")) + (modules '((guix build utils))) + (snippet #~(for-each delete-file-recursively + '("font/luc" ;nonfree + "font/lucm" "font/lucsans" "font/pelm"))))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no tests + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'setup + (lambda _ + (delete-file "src/cmd/mk/mk.pdf") + (substitute* "src/cmd/acme/acme.c" + (("/lib/font/bit/lucsans/euro.8.font") + (string-append #$output + "/font/fixed/unicode.5x8.font")) + (("/lib/font/bit/lucm/unicode.9.font") + (string-append #$output + "/font/fixed/unicode.6x9.font"))) + (substitute* (find-files "src") + (("/lib/font/bit") + (string-append #$output "/font"))) + (substitute* "bin/9c" + (("which") + (which "which"))) + (substitute* "src/cmd/fontsrv/freetyperules.sh" + (("'\\$i'/freetype2") + (string-append "-I" + #$freetype + "/include/freetype2"))) + (with-output-to-file "LOCAL.config" + (lambda _ + (format #t "CC9=~a~%" #$(cc-for-target)) + (format #t "FONTSRV=fontsrv~%"))) + (setenv "X11" + #$libx11) + (setenv "PLAN9" + (getcwd)) + (setenv "PLAN9_TARGET" + #$output))) + (delete 'configure) ;no configure + (replace 'build + (lambda _ + (invoke "./INSTALL" "-b"))) + (replace 'install + (lambda _ + (for-each (lambda (x) + (let ((out (string-append #$output + "/" x))) + (mkdir-p out) + (copy-recursively x out))) + ;; TODO: use external sky and dict packages + '("bin" "face" + "font" + "include" + "lib" + "lp" + "mail" + "man" + "ndb" + "plumb" + "tmac" + "troff" + "postscript")) + (install-file "rcmain" #$output))) + (add-after 'install 'wrap-executables + (lambda _ + (for-each (lambda (exe) + (wrap-program exe + `("PLAN9" ":" prefix + (,#$output)))) + (find-files + (string-append #$output "/bin"))))) + ;; Plan9 doesn't compress man pages + (delete 'compress-documentation)))) + (native-inputs (list perl which)) + (inputs (list bash-minimal ;for 'wrap-program' + fontconfig libx11 libxext libxt)) + ;; Propagate gcc-toolchain because some programs, like the 9c compiler, + ;; are just aliased scripts to gcc equivalents. + (propagated-inputs (list gcc-toolchain)) + (home-page "https://9fans.github.io/plan9port/") + (synopsis "Port of many Plan 9 libraries and programs") + (description + "Plan 9 from User Space (aka plan9port) is a port of many Plan 9 +programs from their native Plan 9 environment to Unix-like operating +systems.") + (license (list license:expat ;modifications + license:lpl1.02 ;original Plan9 code + license:zlib))))) ;src/cmd/bzip2 diff --git a/gnu/packages/potassco.scm b/gnu/packages/potassco.scm index 03d243cdc7..e6d7caa1ef 100644 --- a/gnu/packages/potassco.scm +++ b/gnu/packages/potassco.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2022, 2023 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com> +;;; Copyright © 2023 David Elsing <david.elsing@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module (guix build-system python) #:use-module (guix build-system pyproject) #:use-module (gnu packages check) + #:use-module (gnu packages cpp) #:use-module (gnu packages graphviz) #:use-module (gnu packages libffi) #:use-module (gnu packages pkg-config) @@ -153,8 +155,7 @@ satisfiability checking (SAT).") (snippet #~(begin (delete-file-recursively "clasp") - ;; TODO: Unvendor other third-party stuff - (delete-file-recursively "third_party/catch"))) + (delete-file-recursively "third_party"))) (sha256 (base32 "19s59ndcm2yj0kxlikfxnx2bmp6b7n31wq1zvwc7hyk37rqarwys")))) @@ -173,12 +174,22 @@ satisfiability checking (SAT).") (lambda _ (substitute* "CMakeLists.txt" (("add_subdirectory\\(clasp\\)") - "find_package(clasp REQUIRED)")) + "find_package(clasp REQUIRED)") + (("add_subdirectory\\(third_party\\)") + (string-append + "find_package(tsl-hopscotch-map)\n" + "find_package(tl-optional)\n" + "find_package(mpark_variant)\n" + "find_package(tsl-sparse-map)\n" + "find_package(tsl-ordered-map)\n" + "find_package(Catch2 3 REQUIRED)"))) (substitute* "libclingo/CMakeLists.txt" (("\"cmake/Clingo\"") "\"cmake/clingo\"") (("ClingoConfig\\.cmake") "clingo-config.cmake") (("ClingoConfigVersion\\.cmake") "clingo-config-version.cmake")) + (substitute* "libgringo/CMakeLists.txt" + (("mpark::variant") "mpark_variant")) (substitute* "cmake/ClingoConfig.cmake.in" (("find_package\\(Clasp") "find_package(clasp")) (rename-file "cmake/ClingoConfig.cmake.in" @@ -198,8 +209,13 @@ satisfiability checking (SAT).") "unpool-ast-v2" "parse_term" "propagator" "propgator-sequence-mining" "symbol" "visitor")))))))))) - (inputs (list catch2-3.1 clasp libpotassco)) - (native-inputs (list pkg-config)) + (inputs (list catch2-3.3 clasp libpotassco)) + (native-inputs (list mpark-variant + pkg-config + tl-optional + tsl-hopscotch-map + tsl-ordered-map + tsl-sparse-map)) (home-page "https://potassco.org/") (synopsis "Grounder and solver for logic programs") (description "Clingo computes answer sets for a given logic program.") @@ -216,6 +232,7 @@ satisfiability checking (SAT).") (uri (git-reference (url "https://github.com/santifa/pasp-mode") (commit commit))) + (file-name (git-file-name name version)) (patches (search-patches "emacs-pasp-mode-quote-file-names.patch")) (sha256 diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 74e51ec61e..89e5de6278 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -56,14 +56,14 @@ (define-public a2ps (package (name "a2ps") - (version "4.15.4") + (version "4.15.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/a2ps/a2ps-" version ".tar.gz")) (sha256 (base32 - "1mvd41xvcy8vk91nndzifasq600kzlswl1379bhnpn49pa23y1ja")) + "0zys627j17dcqryzrbc473mxzwyshsbxq7j5cabn7hp70i0ipfw1")) (modules '((guix build utils))) (snippet ;; Remove timestamp from the installed 'README' file. @@ -167,17 +167,17 @@ It also includes the capability to perform syntax highlighting for several different programming languages.") (license gpl3+))) -(define-public fmt +(define-public fmt-10 (package (name "fmt") - (version "9.1.0") + (version "10.0.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/fmtlib/fmt/releases/download/" version "/fmt-" version ".zip")) (sha256 - (base32 "15n9yi6xzzs7g9rm87kg8y5yhl2zrqj3bjr845saa63f6swlrsyc")))) + (base32 "10f23avnpad8sakmq514w2bw6cw7xrb30kc3v8k7yn1zbwbcnhs9")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) (native-inputs (list unzip)) @@ -189,9 +189,21 @@ a fast alternative to @code{IOStreams}.") ;; The library is bsd-2, but documentation and tests include other licenses. (license (list bsd-2 bsd-3 psfl)))) +(define-public fmt-9 + (package + (inherit fmt-10) + (version "9.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/fmtlib/fmt/releases/download/" + version "/fmt-" version ".zip")) + (sha256 + (base32 "15n9yi6xzzs7g9rm87kg8y5yhl2zrqj3bjr845saa63f6swlrsyc")))))) + (define-public fmt-8 (package - (inherit fmt) + (inherit fmt-9) (version "8.1.1") (source (origin @@ -203,7 +215,7 @@ a fast alternative to @code{IOStreams}.") (define-public fmt-8.0 (package - (inherit fmt) + (inherit fmt-8) (version "8.0.1") (source (origin @@ -215,7 +227,7 @@ a fast alternative to @code{IOStreams}.") (define-public fmt-7 (package - (inherit fmt) + (inherit fmt-8) (version "7.1.3") (source (origin @@ -227,7 +239,7 @@ a fast alternative to @code{IOStreams}.") (define-public fmt-6 (package - (inherit fmt) + (inherit fmt-7) (version "6.1.2") (source (origin @@ -269,6 +281,10 @@ a fast alternative to @code{IOStreams}.") ("libcxxabi" ,libcxxabi-6) ("clang" ,clang-6))))) +;; Note: Updating fmt causes some 1000s of rebuilds, so let's have a pinned +;; version. +(define-public fmt fmt-9) + (define-public source-highlight (package (name "source-highlight") diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index 7269f01c62..8cd805799e 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -563,49 +563,49 @@ source files.") "12hp1clg83jfl35x1h2ymzpj5w83wrnqw7hjfc6mqa8lsvpw535r")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'do-not-use-bundler-for-tests - (lambda _ - (substitute* "spec/spec_helper.rb" - (("Bundler\\.setup.*") "")))) - (add-after 'unpack 'relax-version-requirements - (lambda _ - (substitute* ((@@ (guix build ruby-build-system) first-gemspec)) - (("'rake',.*") - "'rake'\n") - (("\"rubocop\",.*") - "'rubocop'\n") - (("\"parser\",.*") - "'parser'\n")))) - (add-after 'unpack 'patch-protoc - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "lib/protobuf/tasks/compile.rake" - (("\"protoc\"") - (string-append "\"" (search-input-file inputs "bin/protoc") - "\""))))) - (add-after 'unpack 'skip-failing-test - ;; See: https://github.com/ruby-protobuf/protobuf/issues/419 - (lambda _ - (substitute* "spec/lib/protobuf/rpc/connectors/ping_spec.rb" - (("expect\\(::IO\\)\\.to receive\\(:select\\).*" all) - (string-append " pending\n" all))))) - (add-after 'replace-git-ls-files 'replace-more-git-ls-files - (lambda _ - (substitute* ((@@ (guix build ruby-build-system) first-gemspec)) - (("`git ls-files -- \\{test,spec,features\\}/*`") - "`find test spec features -type f | sort`") - (("`git ls-files -- bin/*`") - "`find bin -type f | sort`")))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "rspec"))))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'do-not-use-bundler-for-tests + (lambda _ + (substitute* "spec/spec_helper.rb" + (("Bundler\\.setup.*") "")))) + (add-after 'unpack 'relax-version-requirements + (lambda _ + (substitute* ((@@ (guix build ruby-build-system) first-gemspec)) + (("'rake',.*") + "'rake'\n") + (("\"rubocop\",.*") + "'rubocop'\n") + (("\"parser\",.*") + "'parser'\n")))) + (add-after 'unpack 'patch-protoc + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "lib/protobuf/tasks/compile.rake" + (("\"protoc\"") + (string-append "\"" (search-input-file inputs "bin/protoc") + "\""))))) + (add-after 'unpack 'skip-failing-test + ;; See: https://github.com/ruby-protobuf/protobuf/issues/419 + (lambda _ + (substitute* "spec/lib/protobuf/rpc/connectors/ping_spec.rb" + (("expect\\(::IO\\)\\.to receive\\(:select\\).*" all) + (string-append " pending\n" all))))) + (add-after 'replace-git-ls-files 'replace-more-git-ls-files + (lambda _ + (substitute* ((@@ (guix build ruby-build-system) first-gemspec)) + (("`git ls-files -- \\{test,spec,features\\}/*`") + "`find test spec features -type f | sort`") + (("`git ls-files -- bin/*`") + "`find bin -type f | sort`")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) (native-inputs (list ruby-benchmark-ips ruby-ffi-rzmq ruby-parser - ruby-pry-byebug ruby-pry-stack-explorer ruby-rake ruby-rspec diff --git a/gnu/packages/purescript.scm b/gnu/packages/purescript.scm index 3ae078db75..df9267692a 100644 --- a/gnu/packages/purescript.scm +++ b/gnu/packages/purescript.scm @@ -34,13 +34,13 @@ (define-public purescript (package (name "purescript") - (version "0.15.8") + (version "0.15.9") (source (origin (method url-fetch) (uri (hackage-uri "purescript" version)) (sha256 - (base32 "1h5d5hjc9hrlk718lf62qzaq1l6ppr0l2b3fl78csyh86cihh750")))) + (base32 "1i9wszs5kwwq0l8l4if05y8xc8fih10assrdj8q1ipr0hx3zjawm")))) (build-system haskell-build-system) (properties '((upstream-name . "purescript"))) (inputs (list ghc-aeson @@ -109,7 +109,8 @@ dep)))) (add-after 'register 'remove-libraries (lambda* (#:key outputs #:allow-other-keys) - (delete-file-recursively (string-append (assoc-ref outputs "out") "/lib"))))))) + (delete-file-recursively + (string-append (assoc-ref outputs "out") "/lib"))))))) (home-page "https://www.purescript.org/") (synopsis "Haskell inspired programming language compiling to JavaScript") (description diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 468a339788..87e15b4560 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -1813,19 +1813,20 @@ side effects when unit testing.") (define-public python-mypy-extensions (package (name "python-mypy-extensions") - (version "0.4.3") - (source - (origin - (method url-fetch) - (uri (pypi-uri "mypy_extensions" version)) - (sha256 - (base32 - "1a04qsk8hd1lqns8w1j7cr0vmvbhg450di5k1i16kqxkbf7q30id")))) + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "mypy_extensions" version)) + (sha256 + (base32 + "10h7mwjjfbwxzq7jzaj1pnv9g6laa1k0ckgw72j44160bnazinvm")))) (build-system python-build-system) - (arguments `(#:tests? #f)); no tests + (arguments + `(#:tests? #f)) ;no tests (home-page "https://github.com/python/mypy_extensions") (synopsis "Experimental extensions for MyPy") - (description "The @code{python-mypy-extensions} module defines + (description + "The @code{python-mypy-extensions} module defines experimental extensions to the standard @code{typing} module that are supported by the MyPy typechecker.") (license license:expat))) diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm index f3530e5230..e1275158c0 100644 --- a/gnu/packages/python-compression.scm +++ b/gnu/packages/python-compression.scm @@ -181,18 +181,18 @@ compression algorithm.") (define-public python-isal (package (name "python-isal") - (version "0.11.1") + (version "1.1.0") (source (origin (method url-fetch) (uri (pypi-uri "isal" version)) (sha256 - (base32 "1bxj7r24p974pqfgym485s90ydhzji9q7zyfg3sf8fycm9ya01wd")) - ;; Remove bundles isa-l source code + (base32 "01914gwfrb95dagz9sqnsmvc0hssg2pb6aj204fdamss4piz8r0k")) + ;; Remove bundled isa-l source code (modules '((guix build utils))) (snippet '(delete-file-recursively "src/isal/isa-l")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 528bfe604a..44babe5c8c 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2022 Antero Mejr <antero@mailbox.org> ;;; Copyright © 2023 Juliana Sims <juli@incana.org> +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1024,14 +1025,14 @@ provides drop-in compatibility with PyCrypto."))) (define-public python-m2crypto (package (name "python-m2crypto") - (version "0.35.2") + (version "0.38.0") (source (origin (method url-fetch) (uri (pypi-uri "M2Crypto" version)) (sha256 - (base32 "09yirf3w77w6f49q6nxhrjm9c3a4y9s30s1k09chqrw8zdgx8sjc")))) - (build-system python-build-system) + (base32 "1jyynaybncgjp8rndrwjpj5gnbrislngimf6ind9874h6052dwlr")))) + (build-system pyproject-build-system) (arguments `(;; FIXME: Tests start failing with time due to date checks in TLS ;; certificates. diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 7d3319e367..938deaec6a 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2019, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> -;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020, 2021, 2022, 2023 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2021 Roel Janssen <roel@gnu.org> ;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com> @@ -324,13 +324,13 @@ implements several methods for sequential model-based optimization. (define-public python-trimesh (package (name "python-trimesh") - (version "3.10.7") + (version "3.22.1") (source (origin (method url-fetch) (uri (pypi-uri "trimesh" version)) (sha256 - (base32 "0bw55cwxlxds0j54naijh64sdb0rkscx4i1fy0ql94h96kw2p2ir")))) + (base32 "1ck4dkhz1x6sznd83c1hlvsv2m6d22fr82na0947j5jf47a4c1gl")))) (build-system python-build-system) (propagated-inputs (list python-numpy)) @@ -346,7 +346,7 @@ implements several methods for sequential model-based optimization. (modify-phases %standard-phases (add-after 'unpack 'fix-build (lambda _ - (substitute* "trimesh/resources/templates/blender_boolean.py" + (substitute* "trimesh/resources/templates/blender_boolean.py.tmpl" (("\\$MESH_PRE") "'$MESH_PRE'"))))))) (home-page "https://github.com/mikedh/trimesh") @@ -669,27 +669,55 @@ provides an example implementation of the algorithm as well as scripts necessary for reproducing the experiments in the paper.") (license license:expat))) +(define-public python-einops + (package + (name "python-einops") + (version "0.6.1") + (source (origin + (method git-fetch) ;PyPI misses .ipynb files required for tests + (uri (git-reference + (url "https://github.com/arogozhnikov/einops") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1h8p39kd7ylg99mh620xr20hg7v78x1jnj6vxwk31rlw2dmv2dpr")))) + (build-system pyproject-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'set-backend + (lambda _ + ;; Einops supports different backends, but we test + ;; only NumPy for availability and simplicity. + (setenv "EINOPS_TEST_BACKENDS" "numpy")))))) + (native-inputs (list jupyter + python-hatchling + python-nbconvert + python-nbformat + python-parameterized + python-pytest)) + (propagated-inputs (list python-numpy)) + (home-page "https://einops.rocks/") + (synopsis "Tensor operations for different backends") + (description "Einops provides a set of tensor operations for NumPy and +multiple deep learning frameworks.") + (license license:expat))) + (define-public python-xarray (package (name "python-xarray") - (version "0.15.1") + (version "2023.6.0") (source (origin (method url-fetch) (uri (pypi-uri "xarray" version)) (sha256 (base32 - "1yx8j66b7rn10m2l6gmn8yr9cn38pi5cj0x0wwpy4hdnhy6i7qv4")))) - (build-system python-build-system) + "1339fz5gxkizq02h6vn19546x9p4c3nd9ipzpcg39h7gwhg26yi6")))) + (build-system pyproject-build-system) (native-inputs (list python-setuptools-scm python-pytest)) (propagated-inputs (list python-numpy python-pandas)) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "pytest")))))) (home-page "https://github.com/pydata/xarray") (synopsis "N-D labeled arrays and datasets") (description "Xarray (formerly xray) makes working with labelled @@ -702,6 +730,107 @@ large and growing library of domain-agnostic functions for advanced analytics and visualization with these data structures.") (license license:asl2.0))) +(define-public python-xarray-einstats + (package + (name "python-xarray-einstats") + (version "0.5.1") + (source (origin + (method git-fetch) ; no tests in PyPI + (uri (git-reference + (url "https://github.com/arviz-devs/xarray-einstats") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gg7p2lq7zxic64nbr6a8ynizs8rjzb29fnqib7hw3lmp13wsfm0")))) + (build-system pyproject-build-system) + (native-inputs (list python-einops python-flit-core python-numba + python-pytest)) + (propagated-inputs (list python-numpy python-scipy python-xarray)) + (home-page "https://einstats.python.arviz.org/en/latest/") + (synopsis "Stats, linear algebra and einops for xarray") + (description + "@code{xarray_einstats} provides wrappers around some NumPy and SciPy +functions and around einops with an API and features adapted to xarray.") + (license license:asl2.0))) + +(define-public python-pytensor + (package + (name "python-pytensor") + (version "2.12.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pymc-devs/pytensor") + (commit (string-append "rel-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1445fwbmzkdbndkq9hxiagdkfclgrnmpfzad40zqn6m5ry8192x8")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + ;; Replace version manually because pytensor uses + ;; versioneer, which requires git metadata. + (add-after 'unpack 'versioneer + (lambda _ + (with-output-to-file "setup.cfg" + (lambda () + (display "\ +[versioneer] +VCS = git +style = pep440 +versionfile_source = pytensor/_version.py +versionfile_build = pytensor/_version.py +tag_prefix = +parentdir_prefix = pytensor- +"))) + (invoke "versioneer" "install") + (substitute* "setup.py" + (("versioneer.get_version\\(\\)") + (string-append "\"" #$version "\""))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "HOME" "/tmp") ; required for most tests + ;; Test discovery fails, have to call pytest by hand. + ;; test_tensor_basic.py file requires JAX. + (invoke "python" "-m" "pytest" "-vv" + "--ignore" "tests/link/jax/test_tensor_basic.py" + ;; Skip benchmark tests. + "-k" (string-append + "not test_elemwise_speed" + " and not test_logsumexp_benchmark" + " and not test_fused_elemwise_benchmark" + " and not test_scan_multiple_output" + " and not test_vector_taps_benchmark" + " and not test_cython_performance") + ;; Skip computationally intensive tests. + "--ignore" "tests/scan/" + "--ignore" "tests/tensor/" + "--ignore" "tests/sandbox/" + "--ignore" "tests/sparse/sandbox/"))))))) + (native-inputs (list python-cython python-pytest python-versioneer)) + (propagated-inputs (list python-cons + python-etuples + python-filelock + python-logical-unification + python-minikanren + python-numba + python-numpy + python-scipy + python-typing-extensions)) + (home-page "https://pytensor.readthedocs.io/en/latest/") + (synopsis + "Library for mathematical expressions in multi-dimensional arrays") + (description + "PyTensor is a Python library that allows one to define, optimize, and +efficiently evaluate mathematical expressions involving multi-dimensional +arrays. It is a fork of the Aesara library.") + (license license:bsd-3))) + (define-public python-msgpack-numpy (package (name "python-msgpack-numpy") @@ -891,18 +1020,18 @@ two-dimensional renderings such as scatter plots and histograms. (define-public python-pandas-flavor (package (name "python-pandas-flavor") - (version "0.2.0") + (version "0.5.0") (source (origin (method url-fetch) (uri (pypi-uri "pandas_flavor" version)) (sha256 (base32 - "12g4av8gpl6l83yza3h97j3f2jblqv69frlidrvdq8ny2rc6awbq")))) + "0473lkbdnsag3w5x65sxwjlyq0i7z938ssxqwn2cpcml282vksx1")))) (build-system python-build-system) (propagated-inputs - (list python-pandas python-xarray)) - (home-page "https://github.com/Zsailer/pandas_flavor") + (list python-lazy-loader python-packaging python-pandas python-xarray)) + (home-page "https://github.com/pyjanitor-devs/pandas_flavor") (synopsis "Write your own flavor of Pandas") (description "Pandas 0.23 added a simple API for registering accessors with Pandas objects. Pandas-flavor extends Pandas' extension API by @@ -1154,6 +1283,9 @@ Mathematics (GLM) library to Python.") " and not test_exception_text" " and not test_worker_bad_args" + ;; These time out + " and not test_nanny_timeout" + ;; These tests are rather flaky " and not test_quiet_quit_when_cluster_leaves" " and not multiple_clients_restart")) @@ -1341,7 +1473,7 @@ aggregated sum and more.") (define-public python-pyvista (package (name "python-pyvista") - (version "0.36.1") + (version "0.39.1") (source ;; The PyPI tarball does not contain the tests. ;; (However, we don't yet actually run the tests.) @@ -1352,15 +1484,15 @@ aggregated sum and more.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1kjilcrz2cyh67n79r8dpxrans99mlviz2whc6g7j8hgn7v14z2n")))) + (base32 "00nij00z5r35f6dx7mwndsrpmiw43adjk8x35mk308c369ylbv9p")))) (build-system python-build-system) (propagated-inputs - (list python-appdirs - python-imageio + (list python-imageio python-matplotlib python-meshio python-numpy python-pillow + python-pooch python-scooby vtk)) (arguments @@ -1371,7 +1503,7 @@ aggregated sum and more.") (delete 'check) ;; Disable the sanity check, which fails with the following error: ;; - ;; ...checking requirements: ERROR: pyvista==0.34.0 DistributionNotFound(Requirement.parse('vtk'), {'pyvista'}) + ;; ...checking requirements: ERROR: pyvista==0.39.1 DistributionNotFound(Requirement.parse('vtk'), {'pyvista'}) (delete 'sanity-check)))) (home-page "https://docs.pyvista.org/") (synopsis "3D plotting and mesh analysis through VTK") diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 8cf03d3737..61a21f9c94 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -3658,6 +3658,50 @@ and Jinja2 template engine. It is called a micro framework because it does not presume or force a developer to use a particular tool or library.") (license license:bsd-3))) +(define-public python-flask-compress + (package + (name "python-flask-compress") + (version "1.13") + (source (origin + (method url-fetch) + (uri (pypi-uri "Flask-Compress" version)) + (sha256 + (base32 + "178jzz6jxlxllcjqamzh5q7ahfh90m5cl1il9vmjs3xhz65z35pf")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-brotli python-flask)) + (native-inputs (list python-setuptools-scm)) + (home-page "https://github.com/colour-science/flask-compress") + (synopsis "Compress responses in a Flask app") + (description + "This package lets you compress Flask application responses and static +files with gzip, deflate or brotli. Flask-Compress both adds the various +headers required for a compressed response and compresses the response data.") + (license license:expat))) + +(define-public python-flask-seasurf + (package + (name "python-flask-seasurf") + (version "1.1.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "Flask-SeaSurf" version)) + (sha256 + (base32 + "1aaib4n27q0f2alp87mhv3f79vg7qckp71rphbd0mb39qw470lsl")))) + (build-system pyproject-build-system) + (arguments + (list #:tests? #false)) ;there are none + (propagated-inputs (list python-flask)) + (home-page "https://github.com/maxcountryman/flask-seasurf/") + (synopsis "CSRF extension for Flask") + (description "SeaSurf is a Flask extension for preventing cross-site +request forgery (CSRF). CSRF attacks are problematic because the mechanism +they use is relatively easy to exploit. This extension attempts to aid you in +securing your application from such attacks. This extension is based on the +Django middleware.") + (license license:bsd-3))) + (define-public python-flask-wtf (package (name "python-flask-wtf") @@ -4998,13 +5042,13 @@ for httplib2 transport.") (define-public whoogle-search (package (name "whoogle-search") - (version "0.8.1") + (version "0.8.2") (source (origin (method url-fetch) (uri (pypi-uri "whoogle-search" version)) (sha256 (base32 - "1kqkb23wb9a4a8zdky2066887vgv7ywhivhxi5nipkx07mf8v01k")))) + "1r6ymainwc3b8aar90b74mpnx3rsfscgzh0llwvsb03fbhiypw5g")))) (build-system pyproject-build-system) (arguments (list @@ -8101,7 +8145,7 @@ characters in a smarter, more visually pleasing style.") (lambda* (#:key tests? #:allow-other-keys) (when tests? (invoke "pytest" "-vv" "test"))))))) - (native-inputs (list python-pytest)) + (native-inputs (list python-mock python-pytest)) (propagated-inputs (list python-beautifulsoup4 python-html5lib python-requests)) (home-page "https://github.com/microformats/mf2py") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index dd35f94214..6d460e286e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -29,7 +29,7 @@ ;;; Copyright © 2016-2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2016, 2017, 2021, 2022 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2016, 2017, 2019 Alex Vong <alexvong1995@gmail.com> -;;; Copyright © 2016, 2017, 2018, 2021, 2022 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2016–2018, 2021–2023 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016, 2017, 2018, 2020, 2021 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be> @@ -106,7 +106,7 @@ ;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr> ;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2021 Simon Streit <simon@netpanic.org> -;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de> +;;; Copyright © 2021, 2022, 2023 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de> ;;; Copyright © 2021, 2022 Pradana Aumars <paumars@courrier.dev> ;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2021 Sébastien Lerique <sl@eauchat.org> @@ -137,6 +137,8 @@ ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> ;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com> ;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw> +;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net> +;;; Copyright © 2023 Ontje Lünsdorf <ontje.luensdorf@dlr.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -159,6 +161,7 @@ #:use-module (gnu packages adns) #:use-module (gnu packages aidc) #:use-module (gnu packages algebra) + #:use-module (gnu packages astronomy) #:use-module (gnu packages attr) #:use-module (gnu packages backup) #:use-module (gnu packages base) @@ -663,6 +666,26 @@ of their positions to minimize overlaps (relatively easy). This library implements the latter option to help with matplotlib graphs.") (license license:expat))) +(define-public python-affine + (package + (name "python-affine") + (version "2.4.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "affine" version)) + (sha256 + (base32 + "1shyvajayyzbkp9dihb4mz835jnkp0kqqbyjfqci6v43da6q2kd2")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-coveralls python-flake8 python-pydocstyle + python-pytest python-pytest-cov)) + (native-inputs (list python-flit-core)) + (home-page "https://github.com/rasterio/affine") + (synopsis "Matrices describing affine transformation of the plane") + (description "This is a package for matrices describing the affine +transformation of the plane.") + (license license:bsd-3))) + (define-public python-argopt (package (name "python-argopt") @@ -1064,6 +1087,38 @@ MySQL databases, using an API that is compliant with the Python Database API Specification v2.0 (PEP 249).") (license license:gpl2))) +(define-public python-pdoc + (package + (name "python-pdoc") + (version "13.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mitmproxy/pdoc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gxkw607nrd67ck4w8jri9vfrm5g60qvp8b134m8zkiphbxjnx0l")))) + (build-system pyproject-build-system) + (native-inputs (list python-pytest python-jinja2 python-pygments)) + (arguments + (list + ;; Some tests fail, presumably because of slight version mismatches of + ;; the dependencies. + #:test-flags + '(list "-k" (string-append "not test_var_with_raising_repr and " + "not test_smoke[mock] and " + "not test_snapshots[html")))) + (home-page "https://pdoc.dev/") + (synopsis "API documentation for Python projects") + (description "pdoc auto-generates API documentation that follows your +project's Python module hierarchy. It requires no configuration, has +first-class support for type annotations, cross-links between identifiers, +comes with an integrated live-reloading web server, uses customizable HTML +templates, understands numpydoc and Google-style docstrings.") + (license license:unlicense))) + (define-public python-py4j (package (name "python-py4j") @@ -1712,17 +1767,70 @@ It can handle tasks such as scanning, tracerouting, probing, unit tests, attacks or network discovery.") (license license:gpl2))) +(define-public python-rasterio + (package + (name "python-rasterio") + (version "1.3.7") + (source (origin + (method url-fetch) + (uri (pypi-uri "rasterio" version)) + (sha256 + (base32 + "012341c1rlcdr9rkg97lbhxrwzn4sr2xah4zjfnqy2r1227wpzdb")))) + (properties + '((updater-ignored-native-inputs . ("gdal" "python-cython")))) + (build-system pyproject-build-system) + (arguments + (list + #:tests? #false ;test data not present + #:phases + '(modify-phases %standard-phases + (add-before 'check 'build-extensions + (lambda _ + ;; Cython extensions have to be built before running the tests. + (invoke "python" "setup.py" "build_ext" "--inplace")))))) + (propagated-inputs (list python-affine + python-attrs + python-certifi + python-click + python-click-plugins + python-cligj + python-numpy + python-setuptools + python-snuggs)) + (native-inputs (list gdal + python-boto3 + python-cython + python-hypothesis + python-packaging + python-pytest + python-pytest-cov + python-shapely)) + (home-page "https://github.com/rasterio/rasterio") + (synopsis "Fast and direct raster I/O for use with Numpy and SciPy") + (description "This package implements fast and direct raster I/O for use +with Numpy and SciPy.") + (license license:bsd-3))) + (define-public python-shapely (package (name "python-shapely") - (version "1.8.4") + (version "2.0.1") (source (origin (method url-fetch) - (uri (pypi-uri "Shapely" version)) + (uri (pypi-uri "shapely" version)) (sha256 - (base32 "130rqd0czi128wm5pdn47v4m6czxd7pkzanbya8q48gsm8ffb5d1")))) - (build-system python-build-system) + (base32 "14v88k0y7qhp8n5clip6w96pkdzrfqa2hsjkhpy9gkifwyiv39k6")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-before 'check 'build-extensions + (lambda _ + ;; Cython extensions have to be built before running the tests. + (invoke "python" "setup.py" "build_ext" "--inplace")))))) (native-inputs (list python-cython python-matplotlib python-pytest python-pytest-cov)) @@ -1730,25 +1838,6 @@ attacks or network discovery.") (list geos)) (propagated-inputs (list python-numpy)) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-geos-path - (lambda* (#:key inputs #:allow-other-keys) - (let ((geos (assoc-ref inputs "geos")) - (glibc (assoc-ref inputs ,(if (%current-target-system) - "cross-libc" "libc")))) - (substitute* '("shapely/geos.py" "shapely/_buildcfg.py") - (("_lgeos = load_dll\\('geos_c', fallbacks=.*\\)") - (string-append "_lgeos = load_dll('geos_c', fallbacks=['" - geos "/lib/libgeos_c.so'])")) - (("free = load_dll\\('c'\\)\\.free") - (string-append "free = load_dll('c', fallbacks=['" - glibc "/lib/libc.so.6']).free")) - (("free = load_dll\\('c', fallbacks=.*\\)\\.free") - (string-append "free = load_dll('c', fallbacks=['" - glibc "/lib/libc.so.6']).free")))) - #t))))) (home-page "https://github.com/Toblerity/Shapely") (synopsis "Library for the manipulation and analysis of geometric objects") (description "Shapely is a Python package for manipulation and analysis of @@ -2197,14 +2286,14 @@ Unicode-to-LaTeX conversion.") (define-public python-cftime (package (name "python-cftime") - (version "1.5.1.1") + (version "1.6.2") (source (origin (method url-fetch) (uri (pypi-uri "cftime" version)) (sha256 - (base32 "0l1a22zlhdpgaisibvvm7dhij4vzfm661rnv00y2snpyqxpdgi3d")))) - (build-system python-build-system) + (base32 "1lp6jrjjgl18csn4bcnphn0l16ag4aynvn7x0kins155p07w0546")))) + (build-system pyproject-build-system) (propagated-inputs (list python-numpy)) (native-inputs @@ -3047,6 +3136,32 @@ to the terminal in real time but is also available to the Python program for additional processing.") (license license:expat))) +(define-public python-fastprogress + (package + (name "python-fastprogress") + (version "1.0.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fastai/fastprogress") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01h8f786wgmmd3fj98wk1n5id67nsp19gs8bbgims04aciwhvj21")))) + (build-system pyproject-build-system) + (arguments + (list #:tests? #f ;there are no tests + #:phases #~(modify-phases %standard-phases + ;; XXX: Fails with: "In procedure utime: No such file + ;; or directory". + (delete 'ensure-no-mtimes-pre-1980)))) + (home-page "https://github.com/fastai/fastprogress") + (synopsis "Progress bar for Jupyter Notebook and console") + (description + "Fastprogress is a progress bar for Jupyter Notebook and console.") + (license license:asl2.0))) + (define-public python-case (package (name "python-case") @@ -3828,6 +3943,39 @@ matplotlib plots or supply colors for a web application.") syntax.") (license license:x11))) +(define-public python-parsley + (package + (name "python-parsley") + (version "1.3") + (source (origin + ;; The source distributed on PyPI is outdated. + (method git-fetch) + (uri (git-reference + (url "https://github.com/pyga/parsley") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0550rw65ygqzbjc8a66hs355pzbx727kbn20dssdb6ls846gw2qs")))) + (build-system pyproject-build-system) + (arguments + (list + ;; XXX: Check why these 3 tests fail. + #:test-flags #~(list "-k" + (string-append "not test_sending_empty_netstring" + " and not test_sending_one_netstring" + " and not test_sending_two_netstrings")))) + (native-inputs (list python-pytest python-twisted)) + (home-page "https://launchpad.net/parsley") + (synopsis "Parsing and pattern matching Python library") + (description + "Parsley is a parsing library using PEG algorithm, so each expression in +the grammar rules works like a Python expression. In particular, alternatives +are evaluated in order, unlike table-driven parsers such as yacc, bison or PLY. +Parsley is an implementation of OMeta, an object-oriented pattern-matching +language.") + (license license:expat))) + (define-public python-polib (package (name "python-polib") @@ -4108,6 +4256,33 @@ accuracy scores for various music/audio information retrieval/signal processing tasks.") (license license:expat))) +(define-public python-mizani + (package + (name "python-mizani") + (version "0.9.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/has2k1/mizani") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13aisfc98nvypb4mglpdphp2r627cjzpdriw4dhlx55f3b2m0dza")))) + (build-system pyproject-build-system) + (propagated-inputs + (list python-matplotlib python-numpy python-pandas python-scipy)) + (native-inputs + (list python-setuptools python-pytest python-pytest-cov tzdata)) + (home-page "https://github.com/has2k1/mizani") + (synopsis "Create data visualizations in Python") + (description + "Mizani is a Python package for creating data visualizations. It +provides functions and tools to help with the creation of visually appealing +and informative visualizations, including scales, transformations and color +palettes.") + (license license:bsd-3))) + (define-public python-pafy (package (name "python-pafy") @@ -4495,6 +4670,27 @@ for geospatial data. cligj allows you to quickly build consistent, well-tested and interoperable CLIs for handling GeoJSON.") (license license:bsd-3))) +(define-public python-cloup + (package + (name "python-cloup") + (version "2.1.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "cloup" version)) + (sha256 + (base32 + "05c6cjpnf9s72gyn5dckxbmd8rf2kgdzfsl7pqzrnc1lcdl13zmv")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-click)) + (native-inputs (list python-pytest)) + (home-page "https://github.com/janLuke/cloup") + (synopsis "Extension library for python-click") + (description + "Cloup enriches Click with several features that make it more expressive +and configurable such as option groups, constraints, subcommand aliases, +subcommands sections and a themeable HelpFormatter.") + (license license:bsd-3))) + (define-public python-vcversioner (package (name "python-vcversioner") @@ -6833,13 +7029,13 @@ writing C extensions for Python as easy as Python itself.") ;; Cython 3 is not officially released yet, so distinguish the name ;; for now. (name "python-cython-next") - (version "3.0.0a10") + (version "3.0.0b2") (source (origin (method url-fetch) (uri (pypi-uri "Cython" version)) (sha256 (base32 - "17fqacrpis05w1rpi7d7sbimrk20xf8h6d3vrz5nf6ix3899abil")))) + "0mb7gpavs87am29sbk6yqznsybxj9dk4fwj4370j9sbrcmjq0hkc")))) (properties '()))) ;; NOTE: when upgrading numpy please make sure that python-numba, @@ -8321,27 +8517,33 @@ retrieve text and metadata from PDFs as well as merge entire files together.") (define-public python-pikepdf (package (name "python-pikepdf") - (version "2.16.1") + (version "7.2.0") (source (origin (method url-fetch) (uri (pypi-uri "pikepdf" version)) (sha256 - (base32 "1phdpi9cm2pbvgcxqvwr8ck327sxhdw4dnxmzhrbf7hzydmgykg2")))) + (base32 "1vp3q85l2w7wpc8kqs26ijg3ivvvgj50z7g14p3pc0zdz8vbi0md")))) (build-system python-build-system) (arguments `(#:tests? #false)) ;require python-xmp-toolkit (native-inputs (list pybind11 - python-setuptools - python-setuptools-scm - python-setuptools-scm-git-archive - python-toml - python-wheel)) + python-attrs + python-coverage + python-hypothesis + python-psutil + python-pytest + python-pytest-cov + python-pytest-timeout + python-pytest-xdist + python-dateutil + ;; python-xmp-toolkit + python-tomli)) (inputs (list qpdf)) (propagated-inputs - (list python-lxml python-pillow)) + (list python-deprecation python-lxml python-packaging python-pillow)) (home-page "https://github.com/pikepdf/pikepdf") (synopsis "Read and write PDFs with Python") (description @@ -11762,13 +11964,13 @@ applications.") (define-public python-pyzmq (package (name "python-pyzmq") - (version "25.0.2") + (version "25.1.0") (source (origin (method url-fetch) (uri (pypi-uri "pyzmq" version)) (sha256 - (base32 "0jai5sbd4ypihsvr4ikq6d93nkmxwv53598sh24dqs78f2xip33b")) + (base32 "0mw9zf0h9sgn2cchw24vyxgyi2nfpyfacr0mh072hdjx8qii1i40")) (snippet #~(begin (use-modules (guix build utils)) @@ -11792,21 +11994,20 @@ applications.") (list (string-append "--zmq=" (assoc-ref %build-inputs "zeromq"))) #:phases (modify-phases %standard-phases - (add-after 'unpack 'disable-problematic-tests + (add-before 'build 'configure (lambda _ - ;; FIXME: The test_draft.TestDraftSockets test fails with: - ;; zmq.error.Again: Resource temporarily unavailable - (delete-file "zmq/tests/test_draft.py") - ;; These tests fail for unknown reasons (see: - ;; https://github.com/zeromq/pyzmq/issues/1853). - (delete-file "zmq/tests/test_auth.py") - (delete-file "zmq/tests/test_zmqstream.py"))) + ;; Our zeromq package is built with '--enable-drafts'; also + ;; enable draft support for pyzmq so the draft test passes. + (setenv "ZMQ_DRAFT_API" "1"))) (add-before 'check 'build-extensions (lambda _ ;; Cython extensions have to be built before running the tests. - (invoke "python" "setup.py" "build_ext" "--inplace")))))) - (inputs - (list zeromq)) + (invoke "python" "setup.py" "build_ext" "--inplace"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv"))))))) + (inputs (list zeromq)) (native-inputs (list pkg-config python-cython @@ -13604,6 +13805,24 @@ asyncio.") ;; Either license applies. (license (list license:expat license:asl2.0)))) +(define-public python-snuggs + (package + (name "python-snuggs") + (version "1.4.7") + (source (origin + (method url-fetch) + (uri (pypi-uri "snuggs" version)) + (sha256 + (base32 + "0yv1wayrw9g6k0c2f721kha7wsv0s1fdlxpf5x7f34iqzq9z272h")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-numpy python-pyparsing)) + (native-inputs (list python-hypothesis python-pytest)) + (home-page "https://github.com/mapbox/snuggs") + (synopsis "Snuggs are S-expressions for Numpy") + (description "Snuggs are S-expressions for Numpy.") + (license license:expat))) + (define-public python-pytest-black (package (name "python-pytest-black") @@ -17117,6 +17336,45 @@ Eventlet, or gevent. Tasks can execute asynchronously (in the background) or synchronously (wait until ready).") (license license:bsd-3))) +(define-public python-cesium + (package + (name "python-cesium") + (version "0.12.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "cesium" version)) + (sha256 + (base32 + "0jr0ycqz9ns6mcskm4sxx92k40fj3v0x9knjaw5ac9f3mpqxsfbv")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + ;; The installed test files contain the /gnu/store location, not the + ;; location of the discovered test files from the build directory. + ;; The test framework doesn't like this. The easiest way around + ;; this mismatch is to jump to the output directory. + (add-before 'check 'check-chdir + (lambda _ (chdir #$output)))))) + (propagated-inputs + (list python-click ;XXX required by python-dask + python-cloudpickle + python-dask + python-gatspy + python-joblib + python-numpy + python-pandas + python-scikit-learn + python-scipy + python-toolz)) + (native-inputs (list python-cython python-pytest python-setuptools-scm)) + (home-page "https://pypi.org/project/cesium/") + (synopsis "Library for time-series feature extraction and processing") + (description + "Cesium is a library for time-series feature extraction and processing.") + (license license:bsd-3))) + (define-public python-translitcodec (package (name "python-translitcodec") @@ -17360,13 +17618,13 @@ checking library.") (define-public python-codespell (package (name "python-codespell") - (version "2.2.4") + (version "2.2.5") (source (origin (method url-fetch) (uri (pypi-uri "codespell" version)) (sha256 - (base32 "0fp8ihlj8q23qdfryj5pq8srl85vn8k8p6gq3zg9qz957i3j0ihb")))) + (base32 "0mmynpblhwbja0vmzbmbb9cgpxdl7b0lxaf9h2zr5dpddvgsv7vd")))) (build-system pyproject-build-system) (inputs (list python-chardet)) @@ -17947,13 +18205,13 @@ to occurrences in strings and comments.") (define-public python-py3status (package (name "python-py3status") - (version "3.21") + (version "3.50") (source (origin (method url-fetch) (uri (pypi-uri "py3status" version)) (sha256 - (base32 "16z8zq83hxy48g6hh4xczbdz50qvxv9k1aahr4fqq7jis60cc262")))) + (base32 "0j2dx9lzpic15r8p0r0s3jmcskxpacahxl640b4864ldn5rlnh9d")))) (build-system python-build-system) (inputs (list file)) @@ -18946,6 +19204,34 @@ feels like an AST.") inspection of types defined in the Python standard typing module.") (license license:expat))) +(define-public python-lazy-loader + (package + (name "python-lazy-loader") + (version "0.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "lazy_loader" version)) + (sha256 + (base32 + "12piaj94m5wbx33cxb80xgnsvzgya6cp90zj12qsq064fm8pmp0f")))) + (build-system pyproject-build-system) + (native-inputs + (list python-pytest python-pytest-cov)) + (propagated-inputs + (list python-flit-core)) + (home-page "https://scientific-python.org/specs/spec-0001/") + (synopsis "Load subpackages and functions on demand") + (description "@code{python-lazy-loader} makes it easy to load subpackages +and functions on demand. Its main features are: + +@itemize +@item Allow subpackages to be made visible to users without incurring import +costs. +@item Allow external libraries to be imported only when used, improving import +times. +@end itemize") + (license license:bsd-3))) + (define-public python-lazy-object-proxy (package (name "python-lazy-object-proxy") @@ -20295,7 +20581,7 @@ OpenSSH Server for example.") (define-public python-pyelftools (package (name "python-pyelftools") - (version "0.28") + (version "0.29") (home-page "https://github.com/eliben/pyelftools") (source (origin @@ -20304,7 +20590,7 @@ OpenSSH Server for example.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1z4fx39c9rds0bd4d2fjjq7n05b1nfxl36pmy523x8knm38l4gpr")) + (base32 "1mi7i9zlhkkap4q50ciak57ia46mj2jzq0713m3dh0x8j05k9xml")) (snippet ;; Delete bundled readelf executable. '(delete-file "test/external_tools/readelf")))) @@ -20510,24 +20796,26 @@ from the header, as well as section details and data available.") (define-public python-xopen (package (name "python-xopen") - (version "0.8.2") + (version "1.7.0") (source (origin (method url-fetch) (uri (pypi-uri "xopen" version)) (sha256 (base32 - "1xrlcnd6fri3w97zzzp6vyk4l21yq1lc8r4wksi06hgpkbh4jdq0")))) - (build-system python-build-system) + "17qda88irg77qdm2kkxq4zgdhwfgykcpdgd4cx3xfpp9k219q7wh")))) + (build-system pyproject-build-system) (propagated-inputs - (list python-setuptools-scm)) + (list pigz python-isal python-typing-extensions)) + (native-inputs + (list python-pytest python-pytest-timeout python-setuptools-scm)) (home-page "https://github.com/marcelm/xopen/") (synopsis "Open compressed files transparently") - (description "This module provides an @code{xopen} function that works like - Python's built-in @code{open} function, but can also deal with compressed files. - Supported compression formats are gzip, bzip2 and, xz, and are automatically - recognized by their file extensions. The focus is on being as efficient as - possible on all supported Python versions.") + (description "This module provides an @code{xopen} function that works +like Python's built-in @code{open} function, but can also deal with compressed +files. Supported compression formats are gzip, bzip2 and, xz, and are +automatically recognized by their file extensions. The focus is on being as +efficient as possible on all supported Python versions.") (license license:expat))) (define-public python-cheetah @@ -23647,13 +23935,13 @@ with PEP 484 argument (and return) type annotations.") (define-public bpython (package (name "bpython") - (version "0.23") + (version "0.24") (source (origin (method url-fetch) (uri (pypi-uri "bpython" version)) (sha256 - (base32 "0ah5giynavyh70yc0jqgmjaajv3xg5j2y7k9i3q8mi47r2mph04z")))) + (base32 "1g9xzl49skghd9q2a8b71gg1n97lfnj9in2kzcmzsj4cgbynywwq")))) (build-system python-build-system) (arguments `(#:phases @@ -23678,7 +23966,6 @@ with PEP 484 argument (and return) type annotations.") python-requests python-curtsies python-greenlet - python-six python-cwcwidth python-pyxdg ;; optional dependencies @@ -25169,20 +25456,33 @@ they use the same path.") (define-public python-blosc (package (name "python-blosc") - (version "1.5.1") + (version "1.11.1") (source (origin (method url-fetch) (uri (pypi-uri "blosc" version)) (sha256 (base32 - "1cm91c6r431yla2mbs4895bgiianjf30dfz14vvv99dslygd65jw")))) + "0xmjs28sgpnb940zrhw010dq2m9d8a5h4fgnjyk6645fgfr1j8f2")) + (snippet + #~(begin (use-modules (guix build utils)) + (delete-file-recursively "blosc/c-blosc"))))) (build-system python-build-system) - ;; FIXME: all tests pass, but then this error is printed: - ;; TypeError: calling <function run at 0x7ffff2568d90> returned None, not a test - (arguments '(#:tests? #f)) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'find-blosc + (lambda* (#:key inputs #:allow-other-keys) + (setenv "USE_SYSTEM_BLOSC" "1") + (setenv "Blosc_ROOT" #$(this-package-input "c-blosc")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "blosc.test"))))))) (propagated-inputs - (list python-numpy)) + (list python-scikit-build python-numpy)) + (inputs (list c-blosc)) + (native-inputs (list cmake-minimal)) (home-page "https://github.com/blosc/python-blosc") (synopsis "Python wrapper for the Blosc data compressor library") (description "Blosc is a high performance compressor optimized for binary @@ -25328,6 +25628,7 @@ parentdir_prefix = dask- (propagated-inputs (list python-cloudpickle python-fsspec + python-importlib-metadata ;needed at runtime for dask/_compatibility.py python-numpy python-packaging python-pandas @@ -25472,26 +25773,15 @@ RFC 8265 and RFC 8266.") (define-public python-absl-py (package (name "python-absl-py") - (version "0.6.1") + (version "1.4.0") (source (origin (method url-fetch) (uri (pypi-uri "absl-py" version)) (sha256 (base32 - "1mp9lk0b2qa37b7y6ak4lvf6ifw2ylyy6bkf9ik77md3j4xrwlc7")))) + "0ga3b0m8lfsv1m3260p83lhis52yvz3d42q8gip4gfj823849hnj")))) (build-system pyproject-build-system) - (arguments - (list - #:phases - '(modify-phases %standard-phases - (add-after 'unpack 'patch-version-check - (lambda _ - ;; Python 3.10 is indeed more recent than Python 3.4. - (substitute* "setup.py" - ((" or py_version\\[0\\] == '3'.*") ":"))))))) - (propagated-inputs - (list python-six)) (home-page "https://github.com/abseil/abseil-py") (synopsis "Abseil Python common libraries") (description @@ -27307,17 +27597,15 @@ an upload option to send your work back to the platform.") (define-public python-titlecase (package (name "python-titlecase") - (version "0.12.0") + (version "2.4") (source (origin (method url-fetch) (uri (pypi-uri "titlecase" version)) (sha256 (base32 - "0486i99wf8ssa7sgn81fn6fv6i4rhhq6n751bc740b3hzfbpmpl4")))) + "00h92jdpj108z4sb6dpayfblpax20698290jnbyi5z5iwk5974i6")))) (build-system python-build-system) - (native-inputs - (list python-nose)) (home-page "https://github.com/ppannuto/python-titlecase") (synopsis "Capitalize strings similar to book titles") (description @@ -28486,7 +28774,7 @@ placement and scaling of SVG figures and adding markers, such as labels.") (list ;; Avoid python-pytest-coverage #:test-flags '(list "-c /dev/null"))) - (propagated-inputs (list python-wcwidth)) + (propagated-inputs (list python-six python-wcwidth)) (native-inputs (list python-pytest)) (home-page "https://github.com/jquast/blessed") (synopsis "Wrapper around terminal capabilities") @@ -29278,14 +29566,14 @@ process.") (define-public python-aiofiles (package (name "python-aiofiles") - (version "0.6.0") + (version "23.1.0") (source (origin (method url-fetch) (uri (pypi-uri "aiofiles" version)) (sha256 (base32 - "14m01kjxm2j7zyljjj6xlhlgygcsriymbx730gc5jp9xglaina70")))) + "0d8n79slihf1lkbh2m6yw51rlq6n6vssljsdacbdpq0rkbglglpd")))) (build-system python-build-system) (home-page "https://github.com/Tinche/aiofiles") (synopsis "File support for @code{asyncio}") @@ -29744,13 +30032,13 @@ and frame grabber interface.") (define-public python-scikit-build (package (name "python-scikit-build") - (version "0.17.1") + (version "0.17.6") (source (origin (method url-fetch) (uri (pypi-uri "scikit_build" version)) (sha256 - (base32 "0v1qcn3nsjxqdl6fa07b7acq6xndqbvvic5dvsgbjgldkjr1drqp")))) + (base32 "17awdvpzj4bn50gk4gmj20r2xcjr5y8lfl2bk582di1pdfim26mm")))) (build-system pyproject-build-system) (arguments (list @@ -29789,11 +30077,7 @@ and frame grabber interface.") ;; nondeterministically (see: ;; https://github.com/scikit-build/scikit-build/issues/711). "and not test_generator_cleanup " - "and not test_generator_selection " - ;; The compiler test fails with a - ;; SKBuildGeneratorNotFoundError error (see: - ;; https://github.com/scikit-build/scikit-build/issues/945). - "and not test_cxx_compiler ")))))))) + "and not test_generator_selection ")))))))) (native-inputs (list cmake-minimal gfortran @@ -29813,7 +30097,8 @@ and frame grabber interface.") python-pytest-virtualenv python-pytest-xdist python-requests - python-setuptools-scm)) + python-setuptools-scm + python-virtualenv)) (propagated-inputs (list python-distro python-packaging python-tomli python-wheel)) (home-page "https://github.com/scikit-build/scikit-build") @@ -30183,6 +30468,41 @@ result.") lets you write CommonMark inside of Docutils & Sphinx projects.") (license license:expat))) +(define-public python-redo + ;; The latest release isn't tagged: + ;; https://github.com/mozilla-releng/redo/issues/76 + (let ((commit "50cfe8e3656f253f9e51df3a998530351d2d9a8c") + (revision "0")) + (package + (name "python-redo") + (version (git-version "2.0.4" revision commit)) + (source + (origin + (method git-fetch) ; There are no tests in the PyPI release. + (uri (git-reference + (url "https://github.com/mozilla-releng/redo") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xpylx97qr4ikdhsr208ri41007mpp57a4n8mmlmlqmdljmsdpdb")))) + (build-system python-build-system) + (native-inputs + (list python-mock + python-pytest)) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; The project uses tox to run the tests via pytest. + (invoke "pytest"))))))) + (home-page "https://github.com/mozilla-releng/redo") + (synopsis "Utilities to retry Python callables") + (description "Redo provides various means to add seamless ability to +retry to any Python callable.") + (license license:mpl2.0)))) + (define-public python-pyhull (package (name "python-pyhull") diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index bfe8a68352..302f995b0f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -56,7 +56,7 @@ ;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com> ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com> ;;; Copyright © 2022 jgart <jgart@dismail.de> @@ -85,7 +85,6 @@ #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages dbm) - #:use-module (gnu packages hurd) #:use-module (gnu packages libffi) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python-build) @@ -245,7 +244,7 @@ "Lib/test/support/__init__.py" "Lib/test/test_subprocess.py")) (("/bin/sh") (which "sh"))))) - ,@(if (hurd-system?) + ,@(if (system-hurd?) `((add-before 'build 'patch-regen-for-hurd (lambda* (#:key inputs #:allow-other-keys) (let ((libc (assoc-ref inputs "libc"))) @@ -458,7 +457,7 @@ data types.") (format #f "TESTOPTS=-j~d" (parallel-job-count)) ;; test_mmap fails on low-memory systems " --exclude test_mmap test_socket" - ,@(if (hurd-target?) + ,@(if (target-hurd?) '(" test_posix" ;multiple errors " test_time" " test_pty" @@ -492,7 +491,7 @@ data types.") '())))) ((#:phases phases) `(modify-phases ,phases - ,@(if (hurd-system?) + ,@(if (system-hurd?) `((delete 'patch-regen-for-hurd)) ;regen was removed after 3.5.9 '()) (add-after 'unpack 'remove-windows-binaries diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 1e5d29d9cf..de070ecaf3 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -419,7 +419,7 @@ system, and the core design of Django is reused in Grantlee.") pkg-config python vulkan-headers - ruby)) + ruby-2.7)) (arguments `(#:configure-flags (let ((out (assoc-ref %outputs "out"))) @@ -2643,7 +2643,7 @@ linux/libcurl_wrapper.h") pkg-config python2-six python-2 - ruby)) + ruby-2.7)) (inputs (list alsa-lib at-spi2-core diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 64704cf093..82d8d5a7af 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -177,7 +177,7 @@ used as a drop-in substitute for @code{libfec}.") (define-public liquid-dsp (package (name "liquid-dsp") - (version "1.5.0") + (version "1.6.0") (source (origin (method git-fetch) (uri (git-reference @@ -185,7 +185,7 @@ used as a drop-in substitute for @code{libfec}.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0m0bhj80rs9yhfwnrlx960lii1cqijz1wr8q93i7m2z91h3v3w0j")))) + (base32 "1zw3h2d7kiyxz5zcg5wy4d6pkb07q1pqkc6zz4v9wq8s2v180hnx")))) (build-system gnu-build-system) (native-inputs (list autoconf automake)) @@ -198,12 +198,8 @@ used as a drop-in substitute for @code{libfec}.") #:phases #~(modify-phases %standard-phases (add-after 'install 'delete-static-library - (lambda* (#:key outputs #:allow-other-keys) - (let ((version #$(version-major+minor - (package-version this-package)))) - (delete-file (string-append #$output - "/lib/libliquid.a." - version)))))))) + (lambda _ + (delete-file (string-append #$output "/lib/libliquid.a"))))))) (home-page "https://liquidsdr.org") (synopsis "Signal processing library for software-defined radios") (description diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index b1abb65a6d..a28249d9bd 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -35,7 +35,7 @@ #:use-module (gnu packages version-control) #:use-module (guix build-system ruby)) -(define %ruby-rails-version "7.0.4.3") +(define %ruby-rails-version "7.0.5.1") (define ruby-rails-monorepo (origin @@ -46,7 +46,7 @@ (file-name (git-file-name "ruby-rails" %ruby-rails-version)) (sha256 (base32 - "0f5f8r8wdmdmbyl07b0z555arai4ys2j8dj3fy0mq63y9bfhcqqk")))) + "0s16i73rqzlrx5icn848mf2nmblmgxk06wj9576dkadsb8pspv0l")))) (define-public ruby-activesupport (package @@ -109,10 +109,7 @@ (propagated-inputs (list ruby-concurrent ruby-i18n - ;; This is sub-optimal, but apparently necessary (see: - ;; https://github.com/rails/rails/commit/ - ;; 9766eb4a833c26c64012230b96dd1157ebb8e8a2). - ruby-minitest-5.15 + ruby-minitest ruby-tzinfo ruby-tzinfo-data)) (synopsis "Ruby on Rails utility library") @@ -207,25 +204,28 @@ Rails.") (define-public ruby-debug-inspector (package (name "ruby-debug-inspector") - (version "0.0.3") + (version "1.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "debug_inspector" version)) (sha256 (base32 - "0vxr0xa1mfbkfcrn71n7c4f2dj7la5hvphn904vh20j3x4j5lrx0")))) + "01l678ng12rby6660pmwagmyg8nccvjfgs3487xna7ay378a59ga")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "rake" "compile") - (invoke "ruby" "-Ilib" "-e" - (string-append - "require 'debug_inspector'; RubyVM::DebugInspector." - "open{|dc| p dc.backtrace_locations}"))))))) + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "rake" "compile") + (invoke "ruby" "-Ilib" "-e" + (string-append + "require 'debug_inspector'; RubyVM::DebugInspector." + "open{|dc| p dc.backtrace_locations}"))))))) + (native-inputs + (list ruby-rake-compiler)) (synopsis "Ruby wrapper for the MRI 2.0 debug_inspector API") (description "This package provides a Ruby wrapper for the MRI 2.0 debug_inspector @@ -341,7 +341,9 @@ serialization, internationalization, and testing.") ;; A few tests require to set the timezone. (setenv "TZDIR" (search-input-directory (or native-inputs inputs) "share/zoneinfo"))))))) - (native-inputs (list tzdata-for-tests)) + (native-inputs + (list tzdata-for-tests + ruby-mini-portile-2)) (propagated-inputs (list ruby-activemodel ruby-activesupport ruby-sqlite3)) (synopsis "Ruby library to connect to relational databases") (description @@ -880,7 +882,7 @@ Rails generators. An existing user is @code{rspec-rails}, which uses (substitute* "bootsnap.gemspec" (("`git ls-files -z ext lib`") "`find ext lib -type f -print0 | sort -z`"))))))) - (native-inputs (list ruby-mocha ruby-rake-compiler)) + (native-inputs (list ruby-mocha-1 ruby-rake-compiler)) (propagated-inputs (list ruby-msgpack)) (synopsis "Accelerator for large Ruby/Rails application") (description "Bootsnap is a library that plugs into Ruby, with optional @@ -927,6 +929,7 @@ already included in Rails.") (lambda _ (delete-file "gemfiles/rails_7_propshaft.gemfile.lock") (substitute* "gemfiles/rails_7_propshaft.gemfile" + ((".*gem \"byebug\".*") "") ;; Remove appraisal, and add tzinfo-data, which needs to ;; be in the Gemfile to become available. ((".*appraisal.*") @@ -945,8 +948,7 @@ already included in Rails.") (delete-file "test/npm_integration_test.rb") (delete-file "test/packager_integration_test.rb")))))) (native-inputs - (list ruby-byebug - ruby-capybara + (list ruby-capybara ruby-propshaft ruby-rails ruby-rexml @@ -975,18 +977,25 @@ already included in Rails.") "1i1x24afmn09n48fj4yz2pdm6vlfnq14gism0cgxsyqmlrvsxajn")))) (build-system ruby-build-system) (arguments - (list #:test-target "default" - #:phases #~(modify-phases %standard-phases - (add-before 'check 'disable-problematic-tests - (lambda _ - (substitute* "test/mime_type_test.rb" - ;; One test fails because of the newer rack - ;; version used (see: - ;; https://github.com/rails/marcel/issues/91). - (("test \"gets content type.*" all) - (string-append - all " skip('fails on guix')\n")))))))) - (native-inputs (list ruby-byebug ruby-nokogiri ruby-rack)) + (list + #:test-target "default" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + ;; Remove byebug dependency + (substitute* "test/test_helper.rb" + (("require 'byebug'") "")))) + (add-before 'check 'disable-problematic-tests + (lambda _ + (substitute* "test/mime_type_test.rb" + ;; One test fails because of the newer rack + ;; version used (see: + ;; https://github.com/rails/marcel/issues/91). + (("test \"gets content type.*" all) + (string-append + all " skip('fails on guix')\n")))))))) + (native-inputs (list ruby-nokogiri ruby-rack)) (propagated-inputs (list ruby-mimemagic)) (synopsis "MIME type detection using magic numbers, filenames and extensions") (description @@ -1223,7 +1232,13 @@ mountable_engine") ;; valid, store". "test_cache_works_with_etags" ;; Likewise. - "test_cache_works_with_last_modified"))))) + "test_cache_works_with_last_modified") + (skip-tests "application/initializers/frameworks_test.rb" + ;; These tests are either broken, or rely on + ;; database availability + "expire schema cache dump if the version can't be checked because the database is unhealthy" + "does not expire schema cache dump if check_schema_cache_dump_version is false and the database unhealthy" + "does not expire schema cache dump if check_schema_cache_dump_version is false"))))) (add-before 'check 'set-paths (lambda _ (setenv "PATH" (string-append (getenv "PATH") ":" @@ -1423,7 +1438,7 @@ Stimulus can be used.") ;; needs to be in the Gemfile to become available. (("group :test do") "group :test do\n gem 'tzinfo-data'"))))))) (propagated-inputs - (list ruby-actionview ruby-activemodel ruby-arel ruby-bindex ruby-railties)) + (list ruby-actionview ruby-activemodel ruby-arel ruby-skiptrace ruby-railties)) (native-inputs (list bundler ruby-rails ruby-mocha ruby-simplecov)) (synopsis "Debugging tool for your Ruby on Rails applications") diff --git a/gnu/packages/rocm.scm b/gnu/packages/rocm.scm index b85b39d783..e883371928 100644 --- a/gnu/packages/rocm.scm +++ b/gnu/packages/rocm.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net> -;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com> +;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com> ;;; ;;; This program is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by @@ -37,7 +37,7 @@ ;; The components are tightly integrated and can only be upgraded as a unit. If ;; you want to upgrade ROCm, bump this version number and update hashes below. -(define %rocm-version "5.1.3") +(define %rocm-version "5.6.0") (define-public rocm-cmake (package @@ -51,7 +51,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1bn3l04qnc1ls9abs15s1sgsrwmkfk0g8jgdjqshrcr3ab8ffcpf")))) + "183s2ksn142r7nl7l56qvyrgvvkdgqfdzmgkfpp4a6g9mjp88ady")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; Tests try to use git commit (native-inputs (list git)) @@ -73,13 +73,13 @@ tasks needed for the ROCM software stack.") (file-name (git-file-name name version)) (sha256 (base32 - "07vkrxxc49i72r0lcl6dap0qcw1bignsw920rj4h1mac3bwa8q4j")))) + "1jg96ycy99s9fis8sk1b7qx5p33anw16mqlm07zqbnhry2gqkcbh")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DCMAKE_SKIP_BUILD_RPATH=FALSE" "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"))) - (inputs `(("llvm" ,llvm-for-rocm))) + (inputs (list llvm-for-rocm)) (home-page "https://github.com/RadeonOpenCompute/ROCm-Device-Libs") (synopsis "ROCm Device libraries") (description "AMD-specific device-side language runtime libraries, namely @@ -98,7 +98,7 @@ oclc, ocml, ockl, opencl, hip and hc.") (file-name (git-file-name name version)) (sha256 (base32 - "1achb3216cbm7x2d05xj7j7ivn24y11q2d2p5whw3v4ykgfqql6f")) + "15s2dx0pdvjv3xfccq5prkplcbwps8x9jas5qk93q7kv8wx57p3b")) (patches (search-patches "rocm-comgr-3.1.0-dependencies.patch")))) (build-system cmake-build-system) @@ -108,10 +108,7 @@ oclc, ocml, ockl, opencl, hip and hc.") (add-after 'unpack 'chdir (lambda _ (chdir "lib/comgr")))))) - (inputs - `(("rocm-device-libs" ,rocm-device-libs) - ("llvm" ,llvm-for-rocm) - ("lld" ,lld))) + (inputs (list llvm-for-rocm rocm-device-libs)) (home-page "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport") (synopsis "ROCm Code Object Manager") (description "The Comgr library provides APIs for compiling and inspecting @@ -130,7 +127,7 @@ AMDGPU code objects.") (file-name (git-file-name name version)) (sha256 (base32 - "0k5bchq1jhgraqrhj9q47b45n33wnd2ipwrrj39q51jzxmyyzxj2")))) + "0v8j4gkbb21gqqmz1b4nmampx5ywva99ipsx8lcjr5ckcg84fn9x")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; Not sure how to run tests. (inputs (list libdrm numactl)) @@ -153,27 +150,32 @@ driver.") (file-name (git-file-name name version)) (sha256 (base32 - "1j1cy64w13plgsy20mir4xm6x4xnwkyil3g03xnda6ynhd7bkhv7")))) + "07wh7s1kgvpw8ydxmr2wvvn05fdqcmcc20qjbmnc3cbbhxviksyr")))) (build-system cmake-build-system) (arguments - `(#:configure-flags - `(,(string-append - "-DBITCODE_DIR=" - (assoc-ref %build-inputs "rocm-device-libs") - "/amdgcn/bitcode/")) - #:tests? #f ; No tests. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ - (chdir "src")))))) + (list + #:tests? #f ; No tests. + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'add-rocm-device-lib-path + (lambda _ + (substitute* "src/image/blit_src/CMakeLists.txt" + (("-O2") + (string-append + "-O2 --rocm-device-lib-path=" + #$(this-package-input "rocm-device-libs") + "/amdgcn/bitcode/"))))) + (add-after 'add-rocm-device-lib-path 'chdir + (lambda _ + (chdir "src")))))) (inputs - `(("libelf" ,libelf) - ("numactl" ,numactl) - ("llvm" ,llvm-for-rocm) - ("roct-thunk-interface" ,roct-thunk-interface) - ("rocm-device-libs" ,rocm-device-libs))) ; For bitcode. - (native-inputs (list xxd)) + (list libdrm + libelf + llvm-for-rocm + numactl + rocm-device-libs ; For bitcode. + roct-thunk-interface)) + (native-inputs (list pkg-config xxd)) (home-page "https://github.com/RadeonOpenCompute/ROCR-Runtime") (synopsis "ROCm Platform Runtime") (description "User-mode API interfaces and libraries necessary for host @@ -182,7 +184,7 @@ applications to launch compute kernels to available HSA ROCm kernel agents.") ;; This is the source only for ROCclr as from v4.5 it should only be built as ;; part of a client. A warning is output if attempting to build stand-alone -;; and there is no install. The previous version is kept as rocclr-4. +;; and there is no install. (define rocclr-src (origin (method git-fetch) @@ -191,7 +193,8 @@ applications to launch compute kernels to available HSA ROCm kernel agents.") (commit (string-append "rocm-" %rocm-version)))) (sha256 (base32 - "0x1frzpz9j1s516vscbdm9g5cqirvv5w7wmq2kyljcygnci7yqar")))) + "1fzvnngxcvxscn718cqfglm4izccx88zjdr3g5ldfqw7hyd034sk")) + (patches (search-patches "rocclr-5.6.0-enable-gfx800.patch")))) (define-public rocm-opencl-runtime (package @@ -206,11 +209,9 @@ applications to launch compute kernels to available HSA ROCm kernel agents.") (file-name (git-file-name name version)) (sha256 (base32 - "1rirvc8h0ahicw1vw4js4jq5gw25x47gmg3gczmyz97c72wvgfiv")) + "1azfxf0ac3mnbyfgn30bz5glwlmaigzdz0cd29jzc4b05hks1yr3")) (patches (search-patches - ;; Do not install libOpenCL, which ocl-icd provides. - "rocm-opencl-runtime-4.3-noopencl.patch" ;; Guix includes a program clinfo already. "rocm-opencl-runtime-4.3-noclinfo.patch")))) (build-system cmake-build-system) @@ -222,7 +223,12 @@ applications to launch compute kernels to available HSA ROCm kernel agents.") (string-append "-DAMD_OPENCL_PATH=" #$(package-source this-package)) ;; The ROCclr source is needed to build the runtime. (string-append "-DROCCLR_PATH=" #$rocclr-src) - (string-append "-DROCM_PATH=" #$output)) + (string-append "-DROCM_PATH=" #$output) + ;; Don't build the ICD loader as we have the opencl-icd-loader + ;; package already. + "-DBUILD_ICD=OFF" + ;; Don't duplicate the install in an "opencl" directory as well. + "-DFILE_REORG_BACKWARD_COMPATIBILITY=OFF") #:phases #~(modify-phases %standard-phases (add-after 'install 'create-icd @@ -238,6 +244,7 @@ applications to launch compute kernels to available HSA ROCm kernel agents.") (list glew mesa numactl + opencl-headers opencl-icd-loader rocm-comgr rocr-runtime)) @@ -258,18 +265,19 @@ and in-process/in-memory compilation.") (file-name (git-file-name name version)) (sha256 (base32 - "0hdfbvn55h5lk5s8vqlmri5r94vlas8v8yjxwd9d70igslk0kr67")))) + "150bvyxp9krq8f7jqd1g5b4l85rih4ch322y4sg1hnciqpabn6a6")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ; No tests. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-binary-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "rocminfo.cc" - (("lsmod") - (string-append (assoc-ref inputs "kmod") "/bin/lsmod")) - (("grep") (which "grep")))))))) + (list + #:tests? #f ; No tests. + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-binary-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "rocminfo.cc" + (("lsmod") + (search-input-file inputs "bin/lsmod")) + (("grep") (search-input-file inputs "bin/grep")))))))) (inputs (list rocr-runtime kmod)) (home-page "https://github.com/RadeonOpenCompute/rocminfo") @@ -290,7 +298,8 @@ available to ROCm and show their properties.") (file-name (git-file-name name version)) (sha256 (base32 - "0rnn2ms68mvzpcp31dk304sfqnv352i7vb48k7rw3qjahhrjm48c")))) + "0ca6r8xijw3a3hrlgkqqsf3iqyia6sdmidgmjl12f5vypxzp5kmm")) + (patches (search-patches "rocm-bandwidth-test-5.5.0-fix-includes.patch")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; No tests. (inputs (list rocr-runtime)) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index f28ad97e11..b96daad0ff 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -261,7 +261,7 @@ a focus on simplicity and productivity.") (modify-inputs (package-inputs ruby-3.1) (prepend libyaml))))) -(define-public ruby ruby-2.7) +(define-public ruby ruby-3.1) (define-public mruby (package @@ -321,27 +321,27 @@ matching. mruby can be linked and embedded within your application.") (define-public ruby-commander (package (name "ruby-commander") - (version "4.4.7") + (version "4.6.0") (source (origin (method url-fetch) (uri (rubygems-uri "commander" version)) (sha256 (base32 - "1pxakz596fjqak3cdbha6iva1dlqis86i3kjrgg6lf3sp8i5vhwg")))) + "1n8k547hqq9hvbyqbx2qi08g0bky20bbjca1df8cqq5frhzxq7bx")))) (build-system ruby-build-system) (arguments - `(#:test-target "spec" - #:phases - (modify-phases %standard-phases - ;; Don't run or require rubocop, the code linting tool, as this is a - ;; bit unnecessary. - (add-after 'unpack 'dont-run-rubocop - (lambda _ - (substitute* "Rakefile" - ((".*rubocop.*") "") - ((".*RuboCop.*") "")) - #t))))) + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + ;; Don't run or require rubocop, the code linting tool, as this is a + ;; bit unnecessary. + (add-after 'unpack 'dont-run-rubocop + (lambda _ + (substitute* "Rakefile" + ((".*rubocop.*") "") + ((".*RuboCop.*") ""))))))) (propagated-inputs (list ruby-highline)) (native-inputs @@ -384,32 +384,18 @@ a menu system for providing multiple options to the user.") (define-public ruby-hoe (package (name "ruby-hoe") - (version "3.21.0") + (version "4.0.4") (source (origin (method url-fetch) (uri (rubygems-uri "hoe" version)) (sha256 (base32 - "0qid0n56mgsjvq5ksxajv0gb92akky8imwgvw22ajms5g4fd6nf4")))) + "0r2hy7mq9jd9hsbvskd9sxfbagc92adnn7abzxbda05sscbf46hn")))) (build-system ruby-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - ;; One of the tests fails if the SOURCE_DATE_EPOCH environment - ;; variable is set, so unset it for the duration of the tests. - ;; - ;; TestHoe#test_possibly_better - ;; [/tmp/guix-build-ruby-hoe-3.20.0.drv-0/gem/test/test_hoe.rb:250]: - ;; Expected: 2019-11-12 00:00:00 UTC - ;; Actual: 1970-01-01 00:00:00 UTC - (add-before 'check 'unset-SOURCE-DATE-EPOCH - (lambda _ - (unsetenv "SOURCE_DATE_EPOCH") - #t)) - (add-after 'check 'set-SOURCE-DATE-EPOCH-again - (lambda _ - (setenv "SOURCE_DATE_EPOCH" "1") - #t))))) + (list + ;; Circular dependency with minitest + #:tests? #f)) (synopsis "Ruby project management helper") (description "Hoe is a rake/rubygems helper for project Rakefiles. It helps manage, @@ -420,6 +406,17 @@ announcement.") (home-page "https://www.zenspider.com/projects/hoe.html") (license license:expat))) +(define-public ruby-hoe-3 + (package + (inherit ruby-hoe) + (version "3.26.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "hoe" version)) + (sha256 + (base32 + "02vmphnfzna1dbb1l5nczcvlvvsg4flr26bdhmvdyf447bpswa63")))))) + (define-public ruby-rake-compiler (package (name "ruby-rake-compiler") @@ -493,13 +490,13 @@ hosts by wrapping the @file{rsync} binary.") (define-public ruby-i18n (package (name "ruby-i18n") - (version "1.7.0") + (version "1.13.0") (source (origin (method url-fetch) (uri (rubygems-uri "i18n" version)) (sha256 (base32 - "0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl")))) + "1yk33slipi3i1kydzrrchbi7cgisaxym6pgwlzx7ir8vjk6wl90x")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; no tests @@ -562,6 +559,17 @@ Eval Print Loop).") (home-page "https://github.com/ruby/irb") (license license:bsd-2))) +(define-public ruby-irb-1.1.1 + (package + (inherit ruby-irb) + (version "1.1.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "irb" version)) + (sha256 + (base32 + "0h605w798s2bg9wg681ynvvzgdz1yy69gh387bl0khw9ll7wkn8v")))))) + (define-public ruby-iruby (package (name "ruby-iruby") @@ -669,6 +677,15 @@ groups.") (sha256 (base32 "0psjy5kdlz3ph39br0m01w65i1ikagnqlg39f8p65jh5q7dz8hwc")))) + (arguments + (cons* + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + (substitute* "lib/rspec/core/ruby_project.rb" + (("File\\.exists\\?") "File.exist?"))))) + (package-arguments ruby-rspec-core))) (propagated-inputs `()))) (define-public ruby-date @@ -767,6 +784,27 @@ re-sourced, but they will be rendered in a single-line format.") (home-page "https://github.com/rspec-given/sorcerer") (license license:expat))) +(define-public ruby-sorted-set + (package + (name "ruby-sorted-set") + (version "1.0.3") + (source (origin + (method url-fetch) + (uri (rubygems-uri "sorted_set" version)) + (sha256 + (base32 + "0brpwv68d7m9qbf5js4bg8bmg4v7h4ghz312jv9cnnccdvp8nasg")))) + (build-system ruby-build-system) + (propagated-inputs + (list ruby-rbtree ruby-set)) + (synopsis + "Ruby Set variant whose elements are sorted in ascending order") + (description + "This package implements a variant of Set whose elements are sorted in +ascending order") + (home-page "https://github.com/knu/sorted_set") + (license license:bsd-2))) + (define-public ruby-given-core (package (name "ruby-given-core") @@ -933,7 +971,7 @@ support for stubbing and mocking.") (define-public ruby-rspec-block-is-expected (package (name "ruby-rspec-block-is-expected") - (version "1.0.2") + (version "1.0.5") (source (origin (method git-fetch) ;for tests (uri (git-reference @@ -942,7 +980,7 @@ support for stubbing and mocking.") (file-name (git-file-name name version)) (sha256 (base32 - "1w8mj00k8am24yw7lbhg616m111p7h7bbfxaw7np4i7wnlwzm8fk")))) + "1zi5z12lkw3fiwgr7g61845wj73asr2vzw4zsjv45klnnfspwass")))) (build-system ruby-build-system) (arguments (list #:phases #~(modify-phases %standard-phases @@ -953,7 +991,12 @@ support for stubbing and mocking.") (("RuboCop::RakeTask.new") "")) ;; Contains extraneous requirements not actually ;; needed for the test suite. - (delete-file "Gemfile")))))) + (delete-file "Gemfile"))) + (add-before 'build 'drop-signing-key-requirement + (lambda _ + (substitute* "rspec-block_is_expected.gemspec" + (("spec.signing_key =.*") + "spec.signing_key = nil"))))))) (native-inputs (list ruby-rspec-pending-for ruby-rspec-expectations)) (propagated-inputs (list ruby-rspec-core)) (synopsis "Simplify testing of blocks in RSpec") @@ -1173,18 +1216,28 @@ specified in a \"Gemfile\", as well as their dependencies.") "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'do-not-use-rvm - (lambda _ - (substitute* "rakelib/tags.rake" - (("RVM_GEMDIR = .*") "RVM_GEMDIR = 'no-rvm-please'\n")) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + (substitute* "rakelib/tags.rake" + (("File\\.exists\\?") "File.exist?")) + + ;; TODO This test is broken + ;; https://github.com/tenderlove/builder/issues/13 + (substitute* "test/test_blankslate.rb" + (("test_late_included_module_in_kernel_is_ok") + "test_late_included_module_in_kernel_is_ok + skip(\"test expected to fail\") +")) + (substitute* "rakelib/tags.rake" + (("RVM_GEMDIR = .*") "RVM_GEMDIR = 'no-rvm-please'\n"))))))) (synopsis "Ruby library to create structured data") (description "Builder provides a number of builder objects that make it easy to create structured data. Currently the following builder objects are supported: XML Markup and XML Events.") - (home-page "https://github.com/jimweirich/builder") + (home-page "https://github.com/tenderlove/builder") (license license:expat))) (define-public ruby-bump @@ -1212,22 +1265,22 @@ next patch version for example.") (define-public ruby-rjb (package (name "ruby-rjb") - (version "1.5.5") + (version "1.6.7") (source (origin (method url-fetch) (uri (rubygems-uri "rjb" version)) (sha256 (base32 - "1ppj8rbicj3w0nhh7f73mflq19yd7pzdzkh2a91hcvphriy5b0ca")))) + "0ck802bm8cklhmqsgzhsa0y8lg80qy52dp3m8rlld3zc5gv1rsb9")))) (build-system ruby-build-system) (arguments - `(#:tests? #f ; no rakefile - #:phases - (modify-phases %standard-phases - (add-before 'build 'set-java-home - (lambda* (#:key inputs #:allow-other-keys) - (setenv "JAVA_HOME" (assoc-ref inputs "jdk")) - #t))))) + (list + #:tests? #f ; no rakefile + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'set-java-home + (lambda* (#:key inputs #:allow-other-keys) + (setenv "JAVA_HOME" (assoc-ref inputs "jdk"))))))) (native-inputs `(("jdk" ,icedtea "jdk"))) (synopsis "Ruby-to-Java bridge using the Java Native Interface") @@ -1295,9 +1348,27 @@ script.") (base32 "0kvd2nsxffbza61d3q4j94wrbnbv50r1zy3a7q26f6k706fw1f19")))) (build-system ruby-build-system) - ;; FIXME: There are no unit tests. The tests are demonstrations of the - ;; "saikuro" tool. - (arguments `(#:tests? #f)) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-module-resolution + (lambda _ + (substitute* "lib/saikuro.rb" + ;; irb 1.2.0 or later doesn't have RubyToken + (("require 'irb/ruby-lex'") + "require 'rubygems'\ngem 'irb', '=1.1.1'\nrequire 'irb/ruby-lex'")))) + (delete 'check) + (add-after 'install 'check + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (saikuro (string-append out "/bin/saikuro"))) + (setenv "GEM_PATH" (string-append + (getenv "GEM_PATH") ":" + #$output "/lib/ruby/vendor_ruby")) + (invoke saikuro "--cyclo" "--token" "--input_directory" "tests"))))))) + (propagated-inputs (list ruby-irb-1.1.1 + ruby-e2mmap)) ;required by rubygems (synopsis "Cyclomatic complexity analyzer") (description "Saikuro is a Ruby cyclomatic complexity analyzer. When given Ruby source code Saikuro will generate a report listing the cyclomatic @@ -1313,29 +1384,30 @@ line of code.") (define-public ruby-awesome-print (package (name "ruby-awesome-print") - (version "1.8.0") + (version "1.9.2") (source (origin (method url-fetch) (uri (rubygems-uri "awesome_print" version)) (sha256 (base32 - "14arh1ixfsd6j5md0agyzvksm5svfkvchb90fp32nn7y3avcmc2h")))) + "0vkq6c8y2jvaw03ynds5vjzl1v9wg608cimkd3bidzxc0jvk56z9")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - ;; Remove failing test. - (for-each delete-file - '("spec/ext/nokogiri_spec.rb" - "spec/colors_spec.rb" - "spec/formats_spec.rb" - "spec/methods_spec.rb" - "spec/misc_spec.rb" - "spec/objects_spec.rb")) - (invoke "rspec" "-c" "spec")))))) + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda _ + ;; Remove failing test. + (for-each delete-file + '("spec/ext/nokogiri_spec.rb" + "spec/colors_spec.rb" + "spec/formats_spec.rb" + "spec/methods_spec.rb" + "spec/misc_spec.rb" + "spec/objects_spec.rb")) + (invoke "rspec" "-c" "spec")))))) (native-inputs (list ruby-nokogiri ruby-rspec ruby-simplecov)) (synopsis "Pretty print Ruby objects to visualize their structure") @@ -1525,6 +1597,16 @@ converting AsciiDoc content to HTML5, DocBook 5, PDF, and other formats.") (home-page "https://asciidoctor.org") (license license:expat))) +(define-public ruby-asciidoctor/minimal + (hidden-package + (package + (inherit ruby-asciidoctor) + (arguments + (ensure-keyword-arguments + (package-arguments ruby-asciidoctor) + (list #:tests? #f))) + (native-inputs '())))) + (define-public ruby-asciidoctor-multipage (package (name "ruby-asciidoctor-multipage") @@ -1875,6 +1957,37 @@ enforcing & linting tool.") ruby-rubocop-ast ruby-rubocop-capybara)))) +(define-public ruby-rubocop-packaging + (package + (name "ruby-rubocop-packaging") + (version "0.5.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/utkarsh2102/rubocop-packaging") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08jsfp42z0aj32002z2hz8vkmza0jvnrqk9rk2v0xb8qdxkgbx3l")))) + (build-system ruby-build-system) + (arguments + (list #:test-target "spec")) + (propagated-inputs + (list ruby-rubocop)) + (native-inputs + (list ruby-rspec + ruby-yard + ruby-bump)) + (synopsis + "Collection of RuboCop checks for downstream compatibility issues") + (description + "This package provides a collection of RuboCop cops to check for +downstream compatibility issues in the Ruby code.") + (home-page "https://github.com/utkarsh2102/rubocop-packaging") + (license license:expat))) + (define-public ruby-rubocop-performance (package (name "ruby-rubocop-performance") @@ -2079,7 +2192,7 @@ to save time in the following ways: (define-public ruby-chunky-png (package (name "ruby-chunky-png") - (version "1.3.14") + (version "1.4.0") (source (origin (method git-fetch) @@ -2088,17 +2201,17 @@ to save time in the following ways: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1m7y11ix38h5a2pj5v81qdmvqh980ql9hp62hk2dxwkwsa4nh22h")))) + (base32 "05qwj72dy2fcy0n2jnf3bfriybfj36m7s6pv9xash6295dbcp901")))) (build-system ruby-build-system) (arguments - `(#:test-target "spec" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'disable-bundler - (lambda _ - (substitute* (find-files "." "\\.rb$") - (("require.*bundler/setup.*") "")) - #t))))) + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-bundler + (lambda _ + (substitute* (find-files "." "\\.rb$") + (("require.*bundler/setup.*") ""))))))) (native-inputs (list bundler ruby-rspec ruby-standard ruby-yard)) (synopsis "Ruby library to handle PNG images") @@ -2136,14 +2249,14 @@ or a background processing library.") (define-public ruby-text-hyphen (package (name "ruby-text-hyphen") - (version "1.4.1") + (version "1.5.0") (source (origin (method url-fetch) (uri (rubygems-uri "text-hyphen" version)) (sha256 (base32 - "1gj4awvs9ryf960m0iawg43jyjmfwcqgfwrbcfp890a57b9ag7q1")))) + "01js0wxz84cc5hzxgqbcqnsa0y6crhdi6plmgkzyfm55p0rlajn4")))) (build-system ruby-build-system) (native-inputs (list ruby-hoe)) @@ -2401,27 +2514,27 @@ features: (define-public ruby-contracts (package (name "ruby-contracts") - (version "0.16.0") + (version "0.17") (source (origin (method url-fetch) (uri (rubygems-uri "contracts" version)) (sha256 (base32 - "119f5p1n6r5svbx8h09za6a4vrsnj5i1pzr9cqdn9hj3wrxvyl3a")))) + "0gfybfsb6kqxvvcrv1q7bfjaxmq73pf3vqy4bbzarkbajil05ii5")))) (build-system ruby-build-system) (arguments - '(#:test-target "spec" - #:phases - (modify-phases %standard-phases - ;; Don't run or require rubocop, the code linting tool, as this is a - ;; bit unnecessary. - (add-after 'unpack 'dont-run-rubocop - (lambda _ - (substitute* "Rakefile" - ((".*rubocop.*") "") - ((".*RuboCop.*") "")) - #t))))) + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + ;; Don't run or require rubocop, the code linting tool, as this is a + ;; bit unnecessary. + (add-after 'unpack 'dont-run-rubocop + (lambda _ + (substitute* "Rakefile" + ((".*rubocop.*") "") + ((".*RuboCop.*") ""))))))) (native-inputs (list ruby-rspec)) (synopsis "Method contracts for Ruby") @@ -2999,14 +3112,14 @@ the GNOME Libxml2 XML toolkit.") (define-public ruby-lino (package (name "ruby-lino") - (version "1.1.0") + (version "3.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "lino" version)) (sha256 (base32 - "11d29g0fk372b9fcpyr0k6hxm2b4j4igpysmi542hgbbgqgp9cd3")))) + "1zq9dza040fgjvr9imh7z2lgxrcyc5ac100rqimsnsf9bpfz3fsm")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; No included tests @@ -3020,6 +3133,47 @@ error streams.") (home-page "https://github.com/tobyclemson/lino") (license license:expat))) +(define-public ruby-x25519 + (package + (name "ruby-x25519") + (version "1.0.10") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RubyCrypto/x25519") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1g0311ly32f6hfn4q5fvkbjbl2bhv1l9fx6s0kglxfsrwq51926y")))) + (build-system ruby-build-system) + (arguments + (list #:test-target "spec" + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'remove-unnecessary-dependencies + (lambda _ + (substitute* "Gemfile" + ((".*rubocop.*") + "")) + (substitute* "Rakefile" + (("require \"rubocop/rake_task\"") + "") + (("RuboCop::RakeTask.new") + "")))) + (add-before 'build 'compile + (lambda _ + (invoke "rake" "compile")))))) + (native-inputs (list ruby-rake-compiler ruby-rspec)) + (synopsis "Cryptography library for Ruby providing the X25519 +Diffie-Hellman function") + (description + "The x25519 gem is an efficient public key cryptography library for +Ruby providing key exchange/agreement via the X25519 (as known as +Curve25519) Elliptic Curve Diffie-Hellman function as described in +@url{https://www.ietf.org/rfc/rfc7748.txt, RFC 7748}.") + (home-page "https://github.com/RubyCrypto/x25519") + (license license:bsd-3))) + (define-public ruby-xml-simple (package (name "ruby-xml-simple") @@ -3066,7 +3220,7 @@ generating XPath expressions.") (define-public ruby-thor (package (name "ruby-thor") - (version "1.2.1") + (version "1.2.2") (source (origin ;; Pull from git because the gem has no tests. (method git-fetch) @@ -3076,7 +3230,7 @@ generating XPath expressions.") (file-name (git-file-name name version)) (sha256 (base32 - "1vjm628ks5kw8q6dskh38dqyz2j8c3n694wsqkj4jb4jrn6rkfzx")))) + "1k3z2mlhaig5ycapjxwybb19z7ca0q1876i6csfmv2j0hf1hnc0z")))) (build-system ruby-build-system) (arguments (list @@ -3136,57 +3290,89 @@ same log file.") (define-public ruby-rbnacl (package (name "ruby-rbnacl") - (version "6.0.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rbnacl" version)) - (sha256 - (base32 - "0ajxy5kj2jw09wdsla3jmha8w07vj5l14288xr9djpl327g3lzhn")))) + (version "7.1.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "rbnacl" version)) + (sha256 + (base32 + "0y8yzianlkc9w6sbqy8iy8l0yym0y6x7p5rjflkfixq76fqmhvzk")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-unnecessary-dependencies - (lambda _ - ;; Coveralls relates to a network service, and Rubocop to code - ;; linting and both are unnecessary to run the tests - (substitute* "Gemfile" - ((".*rubocop.*") "\n") - ((".*guard-rspec.*") "\n") - ((".*coveralls.*") "\n")) - (substitute* "spec/spec_helper.rb" - (("require \"coveralls\"") "") - (("Coveralls.wear!") "")) - #t)) - (add-after 'unpack 'use-libsodium-from-store - (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("lib/rbnacl/init.rb" - "lib/rbnacl/sodium.rb") - (("ffi_lib \\[.+\\]") - (string-append "ffi_lib [\"" - (assoc-ref inputs "libsodium") "/lib/libsodium.so" - "\"]"))) - #t)) - ;; Run Rspec directly to avoid the Rubocop dependency in the Rakefile - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "rspec")) - #t))))) - (propagated-inputs - (list ruby-ffi)) - (inputs - (list libsodium)) - (native-inputs - (list bundler ruby-rspec)) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-unnecessary-dependencies + (lambda _ + ;; Coveralls relates to a network service, and Rubocop to code + ;; linting and both are unnecessary to run the tests + (substitute* "Gemfile" + ((".*rubocop.*") + "\n") + ((".*guard-rspec.*") + "\n") + ((".*coveralls.*") + "\n")) + (substitute* "spec/spec_helper.rb" + (("require \"coveralls\"") + "") + (("Coveralls.wear!") + "")))) + (add-after 'unpack 'use-libsodium-from-store + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("lib/rbnacl/init.rb" + "lib/rbnacl/sodium.rb") + (("ffi_lib \\[.+\\]") + (string-append "ffi_lib [\"" + (assoc-ref inputs "libsodium") + "/lib/libsodium.so" "\"]"))))) + ;; Run Rspec directly to avoid the Rubocop dependency in the + ;; Rakefile + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) + (propagated-inputs (list ruby-ffi)) + (inputs (list libsodium)) + (native-inputs (list bundler ruby-rspec)) (synopsis "Ruby FFI binding to libsodium") (description "This package provides Ruby FFI bindings to the Networking and Cryptography (NaCl) library, also known as libsodium. This provides a high-level toolkit for building cryptographic systems and protocols.") - (home-page "https://github.com/crypto-rb/rbnacl") + (home-page "https://github.com/RubyCrypto/rbnacl") + (license license:expat))) + +(define-public ruby-rbtree + (package + (name "ruby-rbtree") + (version "0.4.6") + (source (origin + (method url-fetch) + (uri (rubygems-uri "rbtree" version)) + (sha256 + (base32 + "1z0h1x7fpkzxamnvbw1nry64qd6n0nqkwprfair29z94kd3a9vhl")))) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'extconf + (lambda _ + (invoke "ruby" "extconf.rb") + (invoke "make" "install" (string-append "prefix=" #$output)))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "ruby" "-I." "test.rb"))))))) + (synopsis "Ruby implementation of a sorted associative collection") + (description + "This package provides a RBTree is a sorted associative collection that +is implemented with a Red-Black Tree. It maps keys to values like a Hash, but +maintains its elements in ascending key order. The interface is the almost +identical to that of Hash.") + (home-page "http://rbtree.rubyforge.org/") (license license:expat))) (define-public ruby-hkdf @@ -3240,29 +3426,35 @@ and inspect the environment.") (define-public ruby-ptools (package (name "ruby-ptools") - (version "1.3.5") + (version "1.5.0") (source (origin (method url-fetch) (uri (rubygems-uri "ptools" version)) (sha256 (base32 - "1jb1h1nsk9zwykpniw8filbsk26kjsdlpk5wz6w0zyamcd41h87j")))) + "0damllbshkxycrwjv80sz78h76dw7r9z54d17mb5cbha1daq9q2d")))) (build-system ruby-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-/bin/ls - (lambda _ - (substitute* "test/test_binary.rb" - (("/bin/ls") - (which "ls"))) - #t)) - (add-before 'install 'create-gem - (lambda _ - ;; Do not attempt to sign the gem. - (substitute* "Rakefile" - (("spec\\.signing_key = .*") - "")) - (invoke "rake" "gem:create")))))) + (list + #:test-target "spec:all" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + (substitute* "Rakefile" + ;; Don't require rubocop + (("require 'rubocop/rake_task'") "") + (("RuboCop::RakeTask.new") "") + ;; Do not attempt to sign the gem. + (("spec\\.signing_key = .*") "")) + + (substitute* "spec/binary_spec.rb" + (("/bin/ls") (which "ls")) + (("/bin/cat") (which "cat")) + (("/bin/chmod") (which "chmod")) + (("/bin/df") (which "df")))))))) + (native-inputs + (list ruby-rspec)) (synopsis "Extra methods for Ruby's @code{File} class") (description "The @dfn{ptools} (power tools) library extends Ruby's core @code{File} @@ -3506,27 +3698,28 @@ engine.") "1n1lsh96vnyc1pnzyd30f9prcsclmvmkdb3nm5aahnyizyiy6lar")))) (build-system ruby-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-unnecessary-dependencies - (lambda _ - ;; pry is a debugging tool, and is unnecessary when running the - ;; tests - (substitute* "spec/lib/hamster/vector/insert_spec.rb" - (("require 'pry'") "")) - (substitute* "spec/spec_helper.rb" - (("require \"pry\"") "") - ;; CodeClimate is an online service, and is unnecessary for - ;; running the tests - (("require \"codeclimate-test-reporter\"") "") - (("CodeClimate.*\n") "")) - #t)) - ;; No Rakefile is included, so run rspec directly. - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "rspec")) - #t))))) + (list + ;; Only supports Ruby 2 currently + #:ruby ruby-2.7 + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-unnecessary-dependencies + (lambda _ + ;; pry is a debugging tool, and is unnecessary when running the + ;; tests + (substitute* "spec/lib/hamster/vector/insert_spec.rb" + (("require 'pry'") "")) + (substitute* "spec/spec_helper.rb" + (("require \"pry\"") "") + ;; CodeClimate is an online service, and is unnecessary for + ;; running the tests + (("require \"codeclimate-test-reporter\"") "") + (("CodeClimate.*\n") "")))) + ;; No Rakefile is included, so run rspec directly. + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "ruby" (which "rspec")))))))) (propagated-inputs (list ruby-concurrent)) (native-inputs @@ -3597,51 +3790,60 @@ two hashes.") It is a low-dependency variant of ruby-hydra.") (license license:expat)))) +;; Pinned variant for use by texlive +(define-public ruby-hydra-minimal/pinned + (hidden-package + (package + (inherit ruby-hydra-minimal) + (arguments + (cons* #:ruby ruby-2.7 + (package-arguments ruby-hydra-minimal)))))) + (define-public ruby-hydra (package (inherit ruby-hydra-minimal) (name "ruby-hydra") (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'make-files-writable - (lambda _ - (for-each make-file-writable (find-files ".")) - #t)) - (replace 'check - (lambda _ - (invoke "rspec")))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'make-files-writable + (lambda _ + (for-each make-file-writable (find-files ".")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) (native-inputs (list ruby-rspec)) - (propagated-inputs - (list ruby-byebug)) (description "ruby-hydra is a Ruby library for working with hyphenation patterns."))) (define-public ruby-shindo (package (name "ruby-shindo") - (version "0.3.8") + (version "0.3.10") (source (origin (method url-fetch) (uri (rubygems-uri "shindo" version)) (sha256 (base32 - "0s8v1jbz8i0jh92f2fgxb3p51l1azrpkc8nv4mhrqy4vndpvd7wq")))) + "0qnqixhi0g8v44v13f3gynpbvvw6xqi1wajsxdjsx5rhzizfsj91")))) (build-system ruby-build-system) (arguments - `(#:test-target "shindo_tests" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-tests - (lambda _ - (substitute* "tests/tests_helper.rb" - (("-rubygems") "")) - (substitute* "Rakefile" - (("system \"shindo") "system \"./bin/shindo") - ;; This test doesn't work, so we disable it. - (("fail \"The build_error test should fail") "#") - ((" -rubygems") "")) - #t))))) + (list + #:test-target "shindo_tests" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "tests/tests_helper.rb" + (("-rubygems") "")) + (substitute* "Rakefile" + (("system \"shindo") "system \"./bin/shindo") + ;; This test doesn't work, so we disable it. + (("fail \"The build_error test should fail") "#") + ((" -rubygems") ""))))))) (propagated-inputs (list ruby-formatador)) (synopsis "Simple depth first Ruby testing") @@ -3662,8 +3864,6 @@ It is a low-dependency variant of ruby-hydra.") (build-system ruby-build-system) ;; Tests need Internet access. (arguments `(#:tests? #f)) - (native-inputs - (list ruby-rspec ruby-yard)) (synopsis "Rake tasks for managing and releasing Ruby Gems") (description "Rubygems-task provides Rake tasks for managing and releasing Ruby Gems.") @@ -4067,14 +4267,26 @@ for breakage.") (define-public ruby-connection-pool (package (name "ruby-connection-pool") - (version "2.2.2") + (version "2.4.1") (source (origin - (method url-fetch) - (uri (rubygems-uri "connection_pool" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mperham/connection_pool") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0lflx29mlznf1hn0nihkgllzbj8xp5qasn8j7h838465pi399k68")))) + "1iijshb1n9xl5knvpzzx0vqlw7v7mskiw1cpfj1cmdmssavyhsx5")))) (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + (substitute* "Rakefile" + (("require \"standard/rake\"") "") + ((":\"standard:fix\",") ""))))))) (native-inputs (list bundler)) (synopsis "Generic connection pool for Ruby") @@ -4086,7 +4298,7 @@ interface for Ruby programs.") (define-public ruby-fast-gettext (package (name "ruby-fast-gettext") - (version "2.0.3") + (version "2.3.0") (home-page "https://github.com/grosser/fast_gettext") (source (origin (method git-fetch) @@ -4095,34 +4307,16 @@ interface for Ruby programs.") (file-name (git-file-name name version)) (sha256 (base32 - "1dg14apq5sfjshhcq0idphhs7aq9ikzswhqmn689p1h76mxqr1v6")))) + "0ba1wv96qarvvh19s8m1cgd26a9jgil4wl8nwgv4sl9fg5sqgksm")))) (build-system ruby-build-system) (arguments - '(#:test-target "spec" - #:phases (modify-phases %standard-phases - (add-before 'check 'remove-version-constraints - (lambda _ - (delete-file "Gemfile.lock") - #t)) - (add-before 'check 'remove-activerecord-test - (lambda _ - ;; FIXME: This test fails because ActiveRecord depends on - ;; a different version of ruby-sqlite than the currently - ;; available one. - (delete-file - "spec/fast_gettext/translation_repository/db_spec.rb") - #t)) - (add-before 'check 'disable-i18n-test - (lambda _ - ;; XXX: This test checks i18n intricasies with Rails 3 and - ;; automatically disables itself for Rails 4.0, but does - ;; not know about newer versions as it has not been updated - ;; since 2014. Disable for later versions of Rails too. - (substitute* "spec/fast_gettext/vendor/string_spec.rb" - (((string-append "ActiveRecord::VERSION::MAJOR == 4 and " - "ActiveRecord::VERSION::MINOR == 0")) - "ActiveRecord::VERSION::MAJOR >= 4")) - #t))))) + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'remove-version-constraints + (lambda _ + (delete-file "Gemfile.lock")))))) (native-inputs (list ;; For tests. ruby-activerecord @@ -4131,6 +4325,7 @@ interface for Ruby programs.") ruby-forking-test-runner ruby-i18n ruby-rubocop + ruby-rubocop-packaging ruby-rspec ruby-single-cov ruby-sqlite3 @@ -4191,12 +4386,13 @@ fiber, and defaults to a shared thread-local state.") "0pd8gqgy67rp1baq5r7himl0r9jzv5kqlhdmqh8wngynv548w2ai")))) (build-system ruby-build-system) (arguments - (list #:phases + (list #:ruby ruby-2.7 + #:phases #~(modify-phases %standard-phases (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? - (invoke "rspec"))))))) + (invoke "ruby" (which "rspec")))))))) (native-inputs (list ruby-rspec ruby-simplecov)) (synopsis "Fuzzing, randomization, and stress testing library") (description "Flores is a fuzzing, randomization, and stress library to @@ -4207,16 +4403,18 @@ help tests uncover more bugs.") (define-public ruby-net-http-persistent (package (name "ruby-net-http-persistent") - (version "3.0.0") + (version "4.0.2") (source (origin (method url-fetch) (uri (rubygems-uri "net-http-persistent" version)) (sha256 (base32 - "156rv95bgxfz6qw5y1r7c7bswr77918hygl8dyl14qzbqc5vyp18")))) + "0i1as2lgnw7b4jid0gw5glv5hnxz36nmfsbr9rmxbcap72ijgy03")))) (build-system ruby-build-system) (native-inputs - (list ruby-connection-pool ruby-hoe)) + (list ruby-connection-pool + ruby-hoe + ruby-rake-manifest)) (synopsis "Persistent HTTP connection manager") (description "Net::HTTP::Persistent manages persistent HTTP connections using Net::HTTP, supporting reconnection and retry according to RFC 2616.") @@ -4368,17 +4566,17 @@ assertion messages for tests.") (define-public ruby-powerpack (package (name "ruby-powerpack") - (version "0.1.2") + (version "0.1.3") (source (origin (method url-fetch) (uri (rubygems-uri "powerpack" version)) (sha256 (base32 - "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv")))) + "1f71axvlhnxja0k17qqxdi4qh5ck807hqg4i3j6cgy8fgzmyg7rg")))) (build-system ruby-build-system) (arguments - '(#:test-target "spec")) + (list #:test-target "spec")) (native-inputs (list bundler ruby-rspec ruby-yard)) (synopsis "Useful extensions to core Ruby classes") @@ -4405,7 +4603,7 @@ including @code{Array}, @code{Enumerable}, @code{Hash}, @code{Numeric}, and ;; dependency cycle we disable tests. (arguments `(#:tests? #f)) (native-inputs - (list bundler ruby-yard)) + (list bundler ruby-yard/minimal)) (synopsis "Ruby library providing basic localization APIs") (description "Ruby-Locale is the pure ruby library which provides basic APIs for @@ -4472,22 +4670,22 @@ Soundex, Metaphone, Double Metaphone, Porter Stemming.") (define-public ruby-gettext (package (name "ruby-gettext") - (version "3.1.7") + (version "3.4.4") (source (origin (method url-fetch) (uri (rubygems-uri "gettext" version)) (sha256 (base32 - "1hg9islkm324mb4sd4za1fgafj1hqnm3bdvzj3k4fqpnzqnbcfiq")))) + "11hlxkk2yr9wjwd3nf8kgmsjcd8wf35yqlxi9wpvrgmvrk9n9a2k")))) (build-system ruby-build-system) ;; ruby-test-unit is required to run tests, but that needs ruby-packnga, ;; which needs ruby-gettext. To break the dependency cycle we disable ;; tests. (arguments `(#:tests? #f)) (propagated-inputs - (list ruby-locale ruby-text)) + (list ruby-locale ruby-text ruby-erubi)) (native-inputs - (list bundler ruby-yard)) + (list bundler ruby-yard/minimal)) (synopsis "GNU gettext-like program for Ruby") (description "Gettext is a GNU gettext-like program for Ruby. The catalog @@ -4523,17 +4721,17 @@ use GNU gettext tools for maintenance.") (define-public ruby-test-construct (package (name "ruby-test-construct") - (version "2.0.1") + (version "2.0.2") (source (origin (method url-fetch) (uri (rubygems-uri "test_construct" version)) (sha256 (base32 - "1a2ym3l068d0pxzzr95kvqx87zpdsarxslz9ygd4qfm9frrz0kgj")))) + "17q7rw92l7r4zh6rkvzrn4dyl8p8p77217vaa1wf7nsv8k5541vy")))) (build-system ruby-build-system) (native-inputs - (list bundler ruby-mocha ruby-rspec)) + (list bundler ruby-mocha-1 ruby-rspec)) (synopsis "Creates temporary files and directories for testing") (description "TestConstruct is a @acronym{DSL, Domain Specific Language} for creating @@ -4544,13 +4742,16 @@ temporary files and directories during tests.") (define-public ruby-test-unit (package (name "ruby-test-unit") - (version "3.4.4") + (version "3.6.0") (source (origin - (method url-fetch) - (uri (rubygems-uri "test-unit" version)) + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/test-unit/test-unit") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "15isy7vhppbfd0032klirj9gxp65ygkzjdwrmm28xpirlcsk6qpd")))) + "0w1m432q3y5v9lkak8yyxadak3z17bsp6afni97i4zjdgfz7niz2")))) (build-system ruby-build-system) (propagated-inputs (list ruby-power-assert)) @@ -4564,6 +4765,16 @@ It allows writing tests, checking results and automated testing in Ruby.") (home-page "https://test-unit.github.io/") (license (list license:psfl license:ruby)))) +(define-public ruby-test-unit/minimal + (hidden-package + (package + (inherit ruby-test-unit) + (arguments + (ensure-keyword-arguments + (package-arguments ruby-test-unit) + (list #:tests? #f))) + (native-inputs '())))) + (define-public ruby-mapping (package (name "ruby-mapping") @@ -4578,7 +4789,16 @@ It allows writing tests, checking results and automated testing in Ruby.") (base32 "0yhmqp8mprjqf9m7wzc4hhi50qbfax86r89w852csns0ijaffjjs")))) (build-system ruby-build-system) - (arguments (list #:test-target "spec")) + (arguments + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + (substitute* "spec/mapping/model_spec.rb" + ;; From https://github.com/ioquatix/mapping/pull/2 + (("offset:") "offset ="))))))) (native-inputs (list ruby-rspec)) (synopsis "Map model objects based on their class to a given output model") (description "The @code{mapping} gem maps model objects based on their @@ -4601,17 +4821,24 @@ another.") "1j4jc31ycydbkh5h3q6zwidzpavg3g5mbb5lqyaczd3jrq78rd7i")))) (build-system ruby-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - ;; Run rspec manually without using the Rakefile, as the versions of - ;; Rake and RSpec 2 are incompatible: - ;; - ;; NoMethodError: undefined method `last_comment' - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "rspec")) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + ;; Run rspec manually without using the Rakefile, as the versions of + ;; Rake and RSpec 2 are incompatible: + ;; + ;; NoMethodError: undefined method `last_comment' + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + ;; Skip some broken tests, this should be redundant with the + ;; next release + (delete-file "spec/markaby/markaby_test_unit_spec.rb") + (substitute* "spec/markaby/markaby_spec.rb" + (("generated.should == str") + "# Test broken: generated.should == str")) + + (when tests? + (invoke "rspec"))))))) (propagated-inputs (list ruby-builder)) (native-inputs @@ -4681,7 +4908,7 @@ HTML, and PDF through LaTeX.") "/lib\"")))) #t))))) (native-inputs - (list bundler ruby-test-unit)) + (list bundler ruby-test-unit/minimal)) (synopsis "Ruby library adding metaclass method to all objects") (description "Metaclass is a Ruby library adding a @code{metaclass} method to all Ruby @@ -4692,16 +4919,27 @@ objects.") (define-public ruby-mkmf-lite (package (name "ruby-mkmf-lite") - (version "0.3.2") + (version "0.5.2") (source (origin (method url-fetch) (uri (rubygems-uri "mkmf-lite" version)) (sha256 (base32 - "0br9k6zijj1zc25n8p7f2j1mwl58nfgdknf3q13h9k156jvrir06")))) + "0rqa5kzswhqkj7r9mqrqz4mjd2vdxsblgybb52gj3mwr1gwvl4c5")))) (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + ;; Avoid rubocop dependency + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) (propagated-inputs (list ruby-ptools)) + (native-inputs + (list ruby-rspec)) (synopsis "Lightweight alternative to @code{mkmf}") (description "@code{mkmf-lite} is a light version of Ruby's @code{mkmf.rb} designed @@ -4962,42 +5200,6 @@ definitions more readable.") (home-page "https://github.com/jordansissel/ruby-insist/") (license license:asl2.0))) -(define-public ruby-instantiator - (package - (name "ruby-instantiator") - (version "0.0.7") - (source (origin - (method url-fetch) - (uri (rubygems-uri "instantiator" version)) - (sha256 - (base32 - "0w07w3gkyqr7m0vz5h13vm8b411660qywjm2xxxgdjv4wb3fazbr")))) - (build-system ruby-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'add-test-unit-to-search-path - (lambda* (#:key inputs #:allow-other-keys) - (let* ((test-unit (assoc-ref inputs "ruby-test-unit"))) - (substitute* "Rakefile" - (("t\\.libs << \"test\"" line) - (string-append line "; t.libs << \"" - test-unit "/lib/ruby/vendor_ruby" - "/gems/test-unit-" - ,(package-version ruby-test-unit) - "/lib\"")))) - #t))))) - (propagated-inputs - (list ruby-blankslate)) - (native-inputs - (list bundler ruby-test-unit)) - (synopsis "Instantiate an arbitrary Ruby class") - (description - "Instantiator lets you instantiate an arbitrary Ruby class without -knowing anything about the constructor.") - (home-page "https://github.com/floehopper/instantiator") - (license license:expat))) - (define-public ruby-introspection (package (name "ruby-introspection") @@ -5009,24 +5211,11 @@ knowing anything about the constructor.") (base32 "1y2nbijkc0zlfmn9ss6588ilarq2kbn2i7w7pwwsli66dj84zgca")))) (build-system ruby-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'add-test-unit-to-search-path - (lambda* (#:key inputs #:allow-other-keys) - (let* ((test-unit (assoc-ref inputs "ruby-test-unit"))) - (substitute* "Rakefile" - (("t\\.libs << \"test\"" line) - (string-append line "; t.libs << \"" - test-unit "/lib/ruby/vendor_ruby" - "/gems/test-unit-" - ,(package-version ruby-test-unit) - "/lib\"")))) - #t))))) (propagated-inputs - (list ruby-instantiator ruby-metaclass)) + (list ruby-metaclass)) (native-inputs - (list bundler ruby-blankslate ruby-test-unit)) + (list bundler + ruby-blankslate)) (synopsis "Dynamic inspection of the method hierarchy on a Ruby object") (description "Introspection provides tools to inspect the hierarchy of method @@ -5112,7 +5301,7 @@ Ruby, but can be used for all programs.") (define-public ruby-maxitest (package (name "ruby-maxitest") - (version "4.4.1") + (version "5.1.0") (home-page "https://github.com/grosser/maxitest") (source (origin ;; Pull from git because the gem does not contain tests. @@ -5123,31 +5312,32 @@ Ruby, but can be used for all programs.") (file-name (git-file-name name version)) (sha256 (base32 - "0l646lgrgsfgg9qh05b8a3jd43kgrmr6xzbdvyspmdlhchk1qszg")))) + "0qj410krfm497ggmf71xpnabbb6814y0585by4nlzyjvg9hpgg3m")))) (build-system ruby-build-system) (arguments - '(#:test-target "default" - #:phases (modify-phases %standard-phases - (replace 'replace-git-ls-files - (lambda _ - (substitute* "maxitest.gemspec" - (("`git ls-files lib/ bin/ MIT-LICENSE Readme.md`") - "`find lib/ bin/ MIT-LICENSE Readme.md -type f | sort`")))) - (add-before 'check 'remove-version-constraints - (lambda _ - ;; Don't use specific versions of dependencies, instead - ;; take whatever is available in Guix. - (delete-file "Gemfile.lock"))) - (add-before 'check 'add-mtest-on-PATH - (lambda _ - ;; Tests use 'mtest' which is not automatically added on - ;; PATH. - (setenv "PATH" (string-append (getcwd) "/bin:" - (getenv "PATH")))))))) + (list + #:test-target "default" + #:phases + #~(modify-phases %standard-phases + (replace 'replace-git-ls-files + (lambda _ + (substitute* "maxitest.gemspec" + (("`git ls-files lib/ bin/ MIT-LICENSE Readme.md`") + "`find lib/ bin/ MIT-LICENSE Readme.md -type f | sort`")))) + (add-before 'check 'remove-version-constraints + (lambda _ + ;; Don't use specific versions of dependencies, instead + ;; take whatever is available in Guix. + (delete-file "Gemfile.lock"))) + (add-before 'check 'add-mtest-on-PATH + (lambda _ + ;; Tests use 'mtest' which is not automatically added on + ;; PATH. + (setenv "PATH" (string-append (getcwd) "/bin:" + (getenv "PATH")))))))) (native-inputs (list procps ruby-bump - ruby-byebug ruby-rspec ruby-wwtd)) (propagated-inputs @@ -5162,27 +5352,29 @@ number, support for interrupted tests, better backtraces, and more.") (define-public ruby-mocha (package (name "ruby-mocha") - (version "1.13.0") + (version "2.0.4") (source (origin (method url-fetch) (uri (rubygems-uri "mocha" version)) (sha256 (base32 - "15s53ggsykk69kxqvs4416s8yxdhz6caggva55n8sjgy4ixzwp10")))) + "18xn9gm9yypavy9yck71fplan19hy5697mwd1rwzz7vizh3ip7bd")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'remove-rubocop-dependency - (lambda _ - ;; Disable dependency on Rubocop, which is just a linter, - ;; and would introduce a circular dependency. - (substitute* "mocha.gemspec" - ((".*rubocop.*") - "true\n")) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'remove-rubocop-dependency + (lambda _ + ;; Disable dependency on Rubocop, which is just a linter, + ;; and would introduce a circular dependency. + (substitute* "Gemfile" + ((".*rubocop.*") ""))))))) + (propagated-inputs + (list ruby-ruby2-keywords)) (native-inputs - (list ruby-introspection)) + (list ruby-psych-3 + ruby-introspection)) (synopsis "Mocking and stubbing library for Ruby") (description "Mocha is a mocking and stubbing library with JMock/SchMock syntax, which @@ -5191,6 +5383,19 @@ allows mocking and stubbing of methods on real (non-mock) classes.") ;; Mocha can be used with either license at the users choice. (license (list license:expat license:ruby)))) +(define-public ruby-mocha-1 + (package + (inherit ruby-mocha) + (version "1.13.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "mocha" version)) + (sha256 + (base32 + "15s53ggsykk69kxqvs4416s8yxdhz6caggva55n8sjgy4ixzwp10")))) + (arguments + '(#:tests? #f)))) + (define-public ruby-mocha-on-bacon (package (name "ruby-mocha-on-bacon") @@ -5218,16 +5423,25 @@ Mocha stubbing and mocking library with Bacon, a small RSpec clone.") (define-public ruby-net-ssh (package (name "ruby-net-ssh") - (version "4.2.0") + (version "7.1.0") (source (origin - (method url-fetch) - (uri (rubygems-uri "net-ssh" version)) + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/net-ssh/net-ssh") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "07c4v97zl1daabmri9zlbzs6yvkl56z1q14bw74d53jdj0c17nhx")))) + "1dkbyzpl31jygnnva5sa754vk42q1fih4qz5ipqw5gqiafrrlb91")))) (build-system ruby-build-system) (native-inputs - (list bundler ruby-mocha ruby-test-unit)) + (list bundler + ruby-bcrypt-pbkdf + ruby-ed25519 + ruby-mocha + ruby-rbnacl + ruby-test-unit + ruby-x25519)) (synopsis "Ruby implementation of the SSH2 client protocol") (description "@code{Net::SSH} is a pure-Ruby implementation of the SSH2 client protocol. It allows you to write programs that invoke and interact @@ -5250,7 +5464,7 @@ with processes on remote servers, via SSH2.") (base32 "1mdxh81z2hkcc359g6z96fywbr57azlv2yj4zq76adn5lyqq4hgw")))) (build-system ruby-build-system) (native-inputs - (list bundler ruby-test-unit ruby-mocha)) + (list bundler ruby-test-unit ruby-mocha-1)) (propagated-inputs (list ruby-net-ssh)) (synopsis "Pure-Ruby SCP client library") @@ -5292,13 +5506,13 @@ default (and first) theme. It's what you get when you run @code{jekyll new}.") (define-public ruby-minitest (package (name "ruby-minitest") - (version "5.18.0") + (version "5.18.1") (source (origin (method url-fetch) (uri (rubygems-uri "minitest" version)) (sha256 (base32 - "0ic7i5z88zcaqnpzprf7saimq2f6sad57g5mkkqsrqrcd6h3mx06")))) + "1kg9wh7jlc9zsr3hkhpzkbn0ynf4np5ap9m2d8xdrb8shy0y6pmb")))) (build-system ruby-build-system) (native-inputs (list ruby-hoe)) (home-page "https://github.com/minitest/minitest") @@ -5307,17 +5521,6 @@ default (and first) theme. It's what you get when you run @code{jekyll new}.") facilities supporting TDD, BDD, mocking, and benchmarking.") (license license:expat))) -(define-public ruby-minitest-5.15 - (package - (inherit ruby-minitest) - (version "5.15.0") - (source (origin - (method url-fetch) - (uri (rubygems-uri "minitest" version)) - (sha256 - (base32 - "06xf558gid4w8lwx13jwfdafsch9maz8m0g85wnfymqj63x5nbbd")))))) - ;; This is the last release of Minitest 4, which is used by some packages. (define-public ruby-minitest-4 (package @@ -5330,17 +5533,26 @@ facilities supporting TDD, BDD, mocking, and benchmarking.") (base32 "03p6iban9gcpcflzp4z901s1hgj9369p6515h967ny6hlqhcf2iy")))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-unsupported-method - (lambda _ - (substitute* "Rakefile" - (("self\\.rubyforge_name = .*") "")))) - (add-after 'build 'exclude-failing-tests - (lambda _ - ;; Some tests are failing on Ruby 2.4 due to the deprecation of - ;; Fixnum. - (delete-file "test/minitest/test_minitest_spec.rb")))))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-unsupported-method + (lambda _ + (substitute* "Rakefile" + (("self\\.rubyforge_name = .*") "")))) + (add-after 'build 'patch-tests + (lambda _ + ;; test_no_method_error_on_unexpected_methods + ;; This test fails due to some extra information in the message + (substitute* "test/minitest/test_minitest_mock.rb" + (("assert_equal expected, e.message") + "assert_equal expected, e.message.lines.first.strip")) + ;; Some tests are failing on Ruby 2.4 due to the deprecation of + ;; Fixnum. + (delete-file "test/minitest/test_minitest_spec.rb")))))) + (native-inputs + (list ruby-minitest + ruby-hoe)))) (define-public ruby-minitest-around (package @@ -5454,14 +5666,14 @@ functionality, making it easier to migrate test suites from bacon to minitest.") (define-public ruby-minitest-focus (package (name "ruby-minitest-focus") - (version "1.1.2") + (version "1.3.1") (source (origin (method url-fetch) (uri (rubygems-uri "minitest-focus" version)) (sha256 (base32 - "1zgjslp6d7dzcn8smj595idymgd5j603p9g2jqkfgi28sqbhz6m0")))) + "13kd2dkd9akfb99ziqndz9mir5iynyfyj2l45mcibab6mq5k8g67")))) (build-system ruby-build-system) (propagated-inputs (list ruby-minitest)) @@ -5613,18 +5825,19 @@ MiniTest @code{Object#stub} with a global @code{stub} method.") "1hbq9jk904xkz868yha1bqcm6azm7kmjsll2k4pn2nrcib508h2a")))) (build-system ruby-build-system) (arguments - `(#:tests? #f ; Test suite has bitrotted. - #:phases - (modify-phases %standard-phases - (add-before 'check 'clean-dependencies - (lambda _ - ;; Remove unneeded require statement that would entail another - ;; dependency. - (substitute* "test/minitest_config.rb" - (("require 'minitest/bisect'") "")) - #t))))) + (list + #:tests? #f ; Test suite has bitrotted. + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'clean-dependencies + (lambda _ + ;; Remove unneeded require statement that would entail another + ;; dependency. + (substitute* "test/minitest_config.rb" + (("require 'minitest/bisect'") ""))))))) (native-inputs - (list ruby-hoe ruby-minitest-pretty-diff ruby-minitest-focus + (list ruby-hoe + ruby-minitest-focus ruby-minitest-moar)) (synopsis "Bonus assertions for @code{Minitest}") (description @@ -5905,7 +6118,8 @@ you to merge elements inside a hash together recursively.") ruby-rspec ruby-simplecov ruby-simplecov-lcov - ruby-zeitwerk)) + ruby-zeitwerk + ruby-mini-portile-2)) (propagated-inputs (list ruby-activesupport)) (synopsis "Asynchronous background tasks execution library") @@ -5954,7 +6168,7 @@ and manipulate Git repositories by wrapping system calls to the git binary.") (define-public ruby-hocon (package (name "ruby-hocon") - (version "1.3.1") + (version "1.4.0") (home-page "https://github.com/puppetlabs/ruby-hocon") (source (origin (method git-fetch) @@ -5962,16 +6176,17 @@ and manipulate Git repositories by wrapping system calls to the git binary.") (file-name (git-file-name name version)) (sha256 (base32 - "172hh2zr0n9nnszv0qvlgwszgkrq84yahrg053m68asy79zpmbqr")))) + "04wgv0pwrghawnl6qp346z59fvp9v37jymq8p0lsrzxa6nvrykmk")))) (build-system ruby-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (if tests? - (invoke "rspec") - (format #t "test suite not run~%")) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "rspec") + (format #t "test suite not run~%"))))))) (native-inputs (list bundler ruby-rspec)) (synopsis "HOCON config library") @@ -5985,16 +6200,14 @@ objects back to a @code{String}.") (define-public ruby-slop (package (name "ruby-slop") - (version "4.5.0") + (version "4.10.1") (source (origin (method url-fetch) (uri (rubygems-uri "slop" version)) (sha256 (base32 - "0bfm8535g0rkn9cbjndkckf0f7a3wj0rg4rqhrpsgxnbfdf2lm0p")))) + "1iyrjskgxyn8i1679qwkzns85p909aq77cgx2m4fs5ygzysj4hw4")))) (build-system ruby-build-system) - (native-inputs - (list ruby-minitest)) (synopsis "Ruby command line option parser") (description "Slop provides a Ruby domain specific language for gathering options and parsing command line flags.") @@ -6104,12 +6317,15 @@ net/http library.") "0mkdvy6i00yyksjvnv6znh7wf89j9506qzzjq6bsbmbkyqrszp4d")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - ;; As seen in the .travis.yml file. - (setenv "SKIP_ADAPTERS" "gson,jr_jackson,nsjsonserialization")))))) + (list + ;; TODO Tests don't currently work with Ruby 3 + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + ;; As seen in the .travis.yml file. + (setenv "SKIP_ADAPTERS" "gson,jr_jackson,nsjsonserialization")))))) (native-inputs (list ruby-rspec ruby-json-pure ruby-oj ruby-yajl-ruby)) (synopsis "Common interface to multiple JSON libraries for Ruby") @@ -6243,49 +6459,59 @@ to reproduce user environments.") (define-public ruby-mini-portile-2 (package (inherit ruby-mini-portile) - (version "2.8.1") + (version "2.8.2") (source (origin (method url-fetch) (uri (rubygems-uri "mini_portile2" version)) (sha256 (base32 - "1af4yarhbbx62f7qsmgg5fynrik0s36wjy3difkawy536xg343mp")))))) + "0z7f38iq37h376n9xbl4gajdrnwzq284c9v1py4imw3gri2d5cj6")))))) (define-public ruby-nokogiri (package (name "ruby-nokogiri") - (version "1.13.10") + (version "1.15.2") (source (origin - (method url-fetch) - (uri (rubygems-uri "nokogiri" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/sparklemotion/nokogiri") + (commit "a6ad20b3edc8f020043ccfe5d9ec6ae9af103720"))) + (file-name (git-file-name name version)) (sha256 (base32 - "0n79k78c5vdcyl0m3y3l5x9kxl6xf5lgriwi2vd665qmdkr01vnk")))) + "1n0vlg6v58jw3qzgyihz1dh5fvp4js1qgdh75j0kn47nvyiw3jxj")) + (patches (search-patches "ruby-nokogiri.patch")))) (build-system ruby-build-system) (arguments - ;; Tests fail because Nokogiri can only test with an installed extension, - ;; and also because many test framework dependencies are missing. - (list - #:tests? #f - #:gem-flags #~(list "--" "--use-system-libraries" - (string-append "--with-xml2-include=" - #$(this-package-input "libxml2") - "/include/libxml2" )) - #:phases - #~(modify-phases %standard-phases - (add-after 'install 'delete-mkmf.log - (lambda _ - ;; Rubygems installs build log files that embed volatile file - ;; names (see: - ;; https://github.com/rubygems/rubygems/issues/6259). - (for-each delete-file (find-files #$output "^mkmf\\.log$"))))))) - (native-inputs (list ruby-hoe)) + (list #:gem-flags #~(list "--" "--use-system-libraries" + (string-append "--with-xml2-include=" + #$(this-package-input "libxml2") + "/include/libxml2")) + #:phases #~(modify-phases %standard-phases + (add-after 'install 'delete-mkmf.log + (lambda _ + ;; Rubygems installs build log files that embed volatile file + ;; names (see: + ;; https://github.com/rubygems/rubygems/issues/6259). + (for-each delete-file + (find-files #$output "^mkmf\\.log$")))) + (delete 'check) + (add-after 'install 'check + (lambda* (#:key tests? #:allow-other-keys) + (setenv "GEM_PATH" (string-append + (getenv "GEM_PATH") ":" + #$output "/lib/ruby/vendor_ruby")) + (when tests? + (for-each (lambda (file) + (invoke "ruby" "-Itest" file)) + (find-files "test" "^test_.*\\.rb")))))))) + (native-inputs (list ruby-hoe ruby-rubyzip)) (inputs (list zlib libxml2 libxslt)) (propagated-inputs (list ruby-mini-portile-2 ruby-pkg-config)) (synopsis "HTML, XML, SAX, and Reader parser for Ruby") (description "Nokogiri (鋸) parses and searches XML/HTML, and features both CSS3 selector and XPath 1.0 support.") - (home-page "https://www.nokogiri.org/") + (home-page "https://nokogiri.org/") (license license:expat))) (define-public ruby-method-source @@ -6491,21 +6717,41 @@ across multiple CPU cores.") (home-page "https://github.com/whitequark/parser") (license license:expat))) +(define-public ruby-set + (package + (name "ruby-set") + (version "1.0.3") + (source (origin + (method url-fetch) + (uri (rubygems-uri "set" version)) + (sha256 + (base32 + "07kc057nrkddrybqmlbmgf9x7nsmbc3ni6gy1z6xjx5b838vlj33")))) + (build-system ruby-build-system) + (synopsis + "Ruby class to deal with collections of unordered, unique values") + (description + "This package provides a class to deal with collections of unordered, +unique values") + (home-page "https://github.com/ruby/set") + (license license:bsd-2))) + (define-public ruby-sexp-processor (package (name "ruby-sexp-processor") - (version "4.15.0") + (version "4.17.0") (source (origin (method url-fetch) (uri (rubygems-uri "sexp_processor" version)) (sha256 (base32 - "0d1vks77xnd0m3s94a58f9bkdwlaml5qdkmprx279m2s0pc2gv55")))) + "0vzz9mhg4kkdqf179pm30i204h7iskanxrk53j0csf0qrrs4iajd")))) (build-system ruby-build-system) (native-inputs - ;; TODO: Add ruby-minitest-proveit once available. - (list ruby-hoe)) + (list ruby-hoe + ruby-minitest + ruby-minitest-proveit)) (synopsis "ParseTree fork which includes generic S-exp processing tools") (description "The sexp_processor package is derived from ParseTree, but contrary to ParseTree, it includes all the generic S-exp processing tools. @@ -6517,17 +6763,32 @@ Amongst the included tools are @code{Sexp}, @code{SexpProcessor} and (define-public ruby-ruby-parser (package (name "ruby-ruby-parser") - (version "3.14.2") + (version "3.20.2") (source (origin (method url-fetch) (uri (rubygems-uri "ruby_parser" version)) (sha256 (base32 - "09qcdyjjw3p7g6cjm5m9swkms1xnv35ndiy7yw24cas16qrhha6c")))) + "0q851n8654wkjrq8jawq8vi5yhr1y9vpyr2vj7cnn3sa4ikg6d3z")))) (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + (substitute* "Rakefile" + (("`which bison`") + (string-append "\"" (which "bison") "\"")) + (("which unifdef") + (which "unifdef")))))))) (native-inputs - (list ruby-hoe ruby-racc unifdef)) + (list ruby-hoe + ruby-racc + unifdef + bison + ruby-minitest)) (propagated-inputs (list ruby-sexp-processor)) (home-page "https://github.com/seattlerb/ruby_parser/") @@ -6647,7 +6908,9 @@ rate.") "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5")))) (build-system ruby-build-system) (arguments - '(#:tests? #f)) ; No included tests + (list + #:ruby ruby-2.7 + #:tests? #f)) ; No included tests (synopsis "Creates a version constraint of supported Rubies") (description "This package helps create a version constraint of supported Rubies, @@ -6697,14 +6960,14 @@ The output can be customized with a formatting system.") (define-public ruby-pry (package (name "ruby-pry") - (version "0.13.1") + (version "0.14.2") (source (origin (method url-fetch) (uri (rubygems-uri "pry" version)) (sha256 (base32 - "0iyw4q4an2wmk8v5rn2ghfy2jaz9vmw2nk8415nnpx2s866934qk")))) + "0k9kqkd9nps1w1r1rb7wjr31hqzkka2bhi8b518x78dcxppm9zn4")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; no tests @@ -6720,13 +6983,13 @@ invocation, and source and documentation browsing.") (define-public ruby-pry-doc (package (name "ruby-pry-doc") - (version "1.3.0") + (version "1.4.0") (source (origin (method url-fetch) (uri (rubygems-uri "pry-doc" version)) (sha256 (base32 - "0wyvql6pb6m8jl8bsamabxhxhd86bnqblspaxzz05sl0fm2ynj0r")))) + "1pp43n69p6bjvc640wgcz295w1q2v9awcqgbwcqn082dbvq5xvnx")))) (build-system ruby-build-system) (propagated-inputs (list ruby-pry ruby-yard)) (native-inputs (list ruby-latest-ruby ruby-rspec ruby-rake)) ;for tests @@ -6794,16 +7057,18 @@ development tools to catch coverage problems early.") (define-public ruby-oedipus-lex (package (name "ruby-oedipus-lex") - (version "2.6.0") + (version "2.6.1") (source (origin (method url-fetch) (uri (rubygems-uri "oedipus_lex" version)) (sha256 (base32 - "094nd7jd3klv45mvprfn2ivcgw8cckq3jhlly77j903vlamfi0df")))) + "06l4d3l75vhdcmnavnkzr7bd39rb0njxhkbmwrw6ni64z2hlj7w7")))) (build-system ruby-build-system) - (native-inputs (list ruby-hoe)) + (native-inputs + (list ruby-hoe + ruby-minitest)) (synopsis "Ruby lexer") (description "Oedipus Lex is a lexer generator in the same family as Rexical and Rex. @@ -6936,7 +7201,7 @@ intended for use with event loops such as async.") (define-public ruby-tilt (package (name "ruby-tilt") - (version "2.0.10") + (version "2.0.11") (source (origin (method git-fetch) ;the distributed gem lacks tests @@ -6946,28 +7211,44 @@ intended for use with event loops such as async.") (file-name (git-file-name name version)) (sha256 (base32 - "0adb7fg7925n2rd9a8kkqz3mgylw2skp9hkh9qc1rnph72mqsm6r")))) + "0a75s6ci2rwai5q1bnlqbz8kxqnfp2497jhkcry1n4g29lcxq9ja")))) (build-system ruby-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-some-dependencies - (lambda _ - (substitute* "Gemfile" - ;; TODO ronn is used for generating the manual - (("gem 'ronn'.*") "\n") - ;; ruby-haml has a runtime dependency on ruby-tilt, so don't - ;; pass it in as a native-input - (("gem 'haml'.*") "\n") - ;; TODO Not all of these gems are packaged for Guix yet: - ;; less, coffee-script, livescript, babel-transpiler, - ;; typescript-node - (("if can_execjs") "if false") - ;; Disable the secondary group to reduce the number of - ;; dependencies. None of the normal approaches work, so patch - ;; the Gemfile instead. - (("group :secondary") "[].each")) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda _ + ;; Patch some tests + (substitute* "test/tilt_sasstemplate_test.rb" + (("}\",") "} +\",")))) + (add-after 'unpack 'remove-some-dependencies + (lambda _ + (substitute* "Gemfile" + (("gem 'less'") "\n") + (("gem 'coffee-script'") "\n") + (("gem 'livescript'") "\n") + (("gem 'babel-transpiler'") "\n") + (("gem 'typescript-node'") "\n") + (("gem 'typescript-node'") "\n") + (("gem 'duktape'.*") "\n") + ;; TODO ronn is used for generating the manual + (("gem 'ronn'.*") "\n") + ;; ruby-haml has a runtime dependency on ruby-tilt, so don't + ;; pass it in as a native-input + (("gem 'haml'.*") "\n") + ;; TODO Not all of these gems are packaged for Guix yet: + ;; less, coffee-script, livescript, babel-transpiler, + ;; typescript-node + (("if can_execjs") "if false") + ;; Disable the secondary group to reduce the number of + ;; dependencies. None of the normal approaches work, so patch + ;; the Gemfile instead. + (("group :secondary") "[].each")))) + (add-before 'check 'set-SASS_IMPLEMENTATION + (lambda _ + (setenv "SASS_IMPLEMENTATION" "sassc")))))) (propagated-inputs (list ruby-pandoc-ruby ruby-sassc)) (native-inputs @@ -7002,7 +7283,7 @@ utilities for Ruby.") (define-public ruby-tzinfo (package (name "ruby-tzinfo") - (version "2.0.4") + (version "2.0.6") (source (origin (method git-fetch) @@ -7013,31 +7294,29 @@ utilities for Ruby.") (file-name (git-file-name name version)) (sha256 (base32 - "0jaq1givdaz5jxz47xngyj3j315n872rk97mnpm5njwm48wy45yh")))) + "1n1gzjqwwnx209h8d054miva0y7x17db2ahy7jav5r25ibhh7rgm")))) (build-system ruby-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'skip-safe-tests - (lambda _ - (substitute* "test/test_utils.rb" - (("def safe_test\\(options = \\{\\}\\)") + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'skip-safe-tests + (lambda _ + (substitute* "test/test_utils.rb" + (("def safe_test\\(options = \\{\\}\\)") "def safe_test(options = {}) - skip('The Guix build environment has an unsafe load path')")) - #t)) - (add-before 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - (substitute* "Gemfile" - (("simplecov.*") "simplecov'\n")) - #t)) - (replace 'check - (lambda* (#:key tests? test-target #:allow-other-keys) - (when tests? - (invoke "bundler" "exec" "rake" test-target)) - #t))))) + skip('The Guix build environment has an unsafe load path')")))) + (add-before 'check 'pre-check + (lambda _ + (setenv "HOME" (getcwd)) + (substitute* "Gemfile" + (("simplecov.*") "simplecov'\n")))) + (replace 'check + (lambda* (#:key tests? test-target #:allow-other-keys) + (when tests? + (invoke "bundler" "exec" "rake" test-target))))))) (propagated-inputs - `(("ruby-concurrent-ruby" ,ruby-concurrent))) + (list ruby-concurrent)) (native-inputs (list ruby-simplecov)) (synopsis "Time zone library for Ruby") @@ -7049,7 +7328,7 @@ aware transformations between times in different time zones.") (define-public ruby-tzinfo-data (package (name "ruby-tzinfo-data") - (version "1.2021.1") + (version "1.2023.3") (source (origin (method git-fetch) @@ -7061,59 +7340,62 @@ aware transformations between times in different time zones.") (file-name (git-file-name name version)) (sha256 (base32 - "0yzyr3rf8qaw6kxfc0gwpxsb7gl3rhfpx9g1c2z15vapyminhi60")))) + "1v3fpfmw485lsc9bfqfcasb9j25g9ywfpmmk648l2vdsh7nipilf")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Rakefile" - (("https://data.iana.org/time-zones/releases") - (assoc-ref inputs "tzdata"))))) - (add-before 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - (substitute* "Rakefile" - ;; Don't need gpg, and it may break after a time. - (("gpg ") "echo ") - ((" sh\\(\\\"make -C" text) - (string-append " sh(\"sed -i 's@/bin/sh@sh@' #{tzdb_combined_path}/Makefile \")\n" - " sh(\"sed -i 's@cc=@cc?=@' #{tzdb_combined_path}/Makefile \")\n" text))) - (setenv "cc" ,(cc-for-target))))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "Rakefile" + (("URI\\.parse\\(url\\)\\.open") + "URI.open(url)") + (("https://data.iana.org/time-zones/releases") + (assoc-ref inputs "tzdata"))))) + (add-before 'check 'pre-check + (lambda _ + (setenv "HOME" (getcwd)) + (substitute* "Rakefile" + ;; Don't need gpg, and it may break after a time. + (("gpg ") "echo ") + ((" sh\\(\\\"make -C" text) + (string-append " sh(\"sed -i 's@/bin/sh@sh@' #{tzdb_combined_path}/Makefile \")\n" + " sh(\"sed -i 's@cc=@cc?=@' #{tzdb_combined_path}/Makefile \")\n" text))) + (setenv "cc" #$(cc-for-target))))))) (propagated-inputs (list ruby-tzinfo)) (native-inputs `(("tzdata" ,(file-union "tzdata-for-ruby-tzdata-info" - `(("tzdata2021a.tar.gz" + `(("tzdata2023c.tar.gz" ,(origin (method url-fetch) - (uri "https://data.iana.org/time-zones/releases/tzdata2021a.tar.gz") + (uri "https://data.iana.org/time-zones/releases/tzdata2023c.tar.gz") (sha256 (base32 - "022fn6gkmp7pamlgab04x0dm5hnyn2m2fcnyr3pvm36612xd5rrr")))) - ("tzdata2021a.tar.gz.asc" + "0p4nvp5bdxxdqh269nvvcfrpycbbfwm31al5whwbpsaa3dfhnl9z")))) + ("tzdata2023c.tar.gz.asc" ,(origin (method url-fetch) - (uri "https://data.iana.org/time-zones/releases/tzdata2021a.tar.gz.asc") + (uri "https://data.iana.org/time-zones/releases/tzdata2023c.tar.gz.asc") (sha256 (base32 - "0n7h2w8ji1lrxpk0d44wyfshlhr7c9jmwj6lqbxlyvqnfi3gbicx")))) - ("tzcode2021a.tar.gz" + "0mrmhczs5qnj1zp6gh4pg6fm0iblr2jmzy0fgh9slinwxmn7pv6m")))) + ("tzcode2023c.tar.gz" ,(origin (method url-fetch) - (uri "https://data.iana.org/time-zones/releases/tzcode2021a.tar.gz") + (uri "https://data.iana.org/time-zones/releases/tzcode2023c.tar.gz") (sha256 (base32 - "1l02b0jiwp3fl0xd6227i69d26rmx3yrnq0ssq9vvdmm4jhvyipb")))) - ("tzcode2021a.tar.gz.asc" + "1rqln88ki0jagi372nqyn7bs03rf2l33081sy2835mwsn4mpzla6")))) + ("tzcode2023c.tar.gz.asc" ,(origin (method url-fetch) - (uri "https://data.iana.org/time-zones/releases/tzcode2021a.tar.gz.asc") + (uri "https://data.iana.org/time-zones/releases/tzcode2023c.tar.gz.asc") (sha256 (base32 - "1qhlj4lr810s47s1lwcvv1sgvg2sflf98w4sbg1lc8wzv5qxxv7g"))))))))) + "0jbx8xjv75qfh7bxa2xmrf97r37057y89rhmrq1gz8s6b8qlzb2i"))))))))) (synopsis "Data from the IANA Time Zone database") (description "This library provides @code{TZInfo::Data}, which contains data from the @@ -7124,26 +7406,27 @@ IANA Time Zone database packaged as Ruby modules for use with @code{TZInfo}.") (define-public ruby-rb-inotify (package (name "ruby-rb-inotify") - (version "0.9.10") + (version "0.10.1") (source (origin (method url-fetch) (uri (rubygems-uri "rb-inotify" version)) (sha256 (base32 - "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71")))) + "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005")))) (build-system ruby-build-system) (arguments - '(#:tests? #f ; there are no tests - #:phases - (modify-phases %standard-phases - ;; Building the gemspec with rake is not working here since it is - ;; generated with Jeweler. It is also unnecessary because the - ;; existing gemspec does not use any development tools to generate a - ;; list of files. - (replace 'build - (lambda _ - (invoke "gem" "build" "rb-inotify.gemspec")))))) + (list + #:tests? #f ; there are no tests + #:phases + #~(modify-phases %standard-phases + ;; Building the gemspec with rake is not working here since it is + ;; generated with Jeweler. It is also unnecessary because the + ;; existing gemspec does not use any development tools to generate a + ;; list of files. + (replace 'build + (lambda _ + (invoke "gem" "build" "rb-inotify.gemspec")))))) (propagated-inputs (list ruby-ffi)) (native-inputs @@ -7283,34 +7566,33 @@ development of Ruby gems.") "0xlyh94iirvssix157ng2akr9nqhdygdd0c6094hhv7dqcfrn9fn")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-test-include-path - (lambda* (#:key inputs #:allow-other-keys) - (let* ((minitest (assoc-ref inputs "ruby-minitest-4"))) - (substitute* "Rakefile" - (("Hoe\\.add_include_dirs .*") - (string-append "Hoe.add_include_dirs \"" - minitest "/lib/ruby/vendor_ruby" - "/gems/minitest-" - ,(package-version ruby-minitest-4) - "/lib" "\"")))) - #t)) - (add-before 'check 'fix-test-assumptions - (lambda _ - ;; The test output includes the file name, so a couple of tests - ;; fail. Changing the regular expressions slightly fixes this - ;; problem. - (substitute* "test/test_mini_test.rb" - (("output.sub!\\(.*, 'FILE:LINE'\\)") - "output.sub!(/\\/.+-[\\w\\/\\.]+:\\d+/, 'FILE:LINE')") - (("gsub\\(/.*, 'FILE:LINE'\\)") - "gsub(/\\/.+-[\\w\\/\\.]+:\\d+/, 'FILE:LINE')")) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-test-include-path + (lambda* (#:key inputs #:allow-other-keys) + (let* ((minitest (assoc-ref inputs "ruby-minitest"))) + (substitute* "Rakefile" + (("Hoe\\.add_include_dirs .*") + (string-append "Hoe.add_include_dirs \"" + minitest "/lib/ruby/vendor_ruby" + "/gems/minitest-" + #$(package-version ruby-minitest-4) + "/lib" "\"")))))) + (add-before 'check 'fix-test-assumptions + (lambda _ + ;; The test output includes the file name, so a couple of tests + ;; fail. Changing the regular expressions slightly fixes this + ;; problem. + (substitute* "test/test_mini_test.rb" + (("output.sub!\\(.*, 'FILE:LINE'\\)") + "output.sub!(/\\/.+-[\\w\\/\\.]+:\\d+/, 'FILE:LINE')") + (("gsub\\(/.*, 'FILE:LINE'\\)") + "gsub(/\\/.+-[\\w\\/\\.]+:\\d+/, 'FILE:LINE')"))))))) (propagated-inputs - `(("ruby-minitest-4" ,ruby-minitest-4))) + (list ruby-minitest-4)) (native-inputs - (list ruby-hoe)) + (list ruby-hoe-3)) (synopsis "Adapter library between minitest and test/unit") (description "This library bridges the gap between the small and fast minitest and @@ -7332,20 +7614,21 @@ Ruby's large and slower test/unit.") ;; Rebuilding the gemspec seems to require git, even though this is not a ;; git repository, so we just build the gem from the existing gemspec. (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-test - (lambda - - (substitute* "tests/hsl_triple_test.rb" - (("0\\\\\\.0%") - "0\\.?0?%")))) - (replace 'build - (lambda _ - (invoke "gem" "build" "term-ansicolor.gemspec")))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-test + (lambda - + (substitute* "tests/hsl_triple_test.rb" + (("0\\\\\\.0%") + "0\\.?0?%")))) + (replace 'build + (lambda _ + (invoke "gem" "build" "term-ansicolor.gemspec")))))) (propagated-inputs (list ruby-tins)) (native-inputs - (list ruby-gem-hadar ruby-minitest-tu-shim)) + (list ruby-gem-hadar)) (synopsis "Ruby library to control the attributes of terminal output") (description "This Ruby library uses ANSI escape sequences to control the attributes @@ -7354,22 +7637,112 @@ of terminal output.") ;; There is no mention of the "or later" clause. (license license:gpl2))) +(define-public ruby-immutable-struct + (package + (name "ruby-immutable-struct") + (version "2.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stitchfix/immutable-struct") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17hlmy9jfwn3i5h2rwv832ycwcdqwxq7dkkd2yly28klwj0l52rq")))) + (build-system ruby-build-system) + (arguments + (list + ;; Issues with the lack of Set in Ruby 3 + #:ruby ruby-2.7 + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "ruby" (which "rspec")))))))) + (native-inputs + (list ruby-rspec)) + (synopsis "Ruby library for creating immutable struct classes") + (description + "Easily create value objects without the pain of Ruby's Struct (or its setters)") + (home-page "https://stitchfix.github.io/immutable-struct/") + (license license:expat))) + +(define-public ruby-faker + (package + (name "ruby-faker") + (version "3.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/faker-ruby/faker") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1wwdwh5qwaxnd9dl6732mj6b953l5r32r4936pj5680963iagq59")))) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-rubocop-from-rakefile + (lambda _ + (substitute* "Rakefile" + (("require 'rubocop/rake_task'") "") + (("RuboCop::RakeTask\\.new") ""))))))) + (native-inputs (list ruby-yard ruby-simplecov ruby-timecop)) + (propagated-inputs (list ruby-i18n)) + (synopsis "Library for generating fake data") + (description "Faker is a port of Data::Faker from Perl. It is used to +easily generate fake data: names, addresses, phone numbers, etc.") + (home-page "https://github.com/faker-ruby/faker") + (license license:expat))) + (define-public ruby-terraform (package (name "ruby-terraform") - (version "0.22.0") + (version "1.7.0") (source (origin - (method url-fetch) - (uri (rubygems-uri "ruby-terraform" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/infrablocks/ruby_terraform") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "13zjkp71cd19j2ds2h9rqwcfr1zdg5nsh63p89l6qcsc9z39z324")))) + "18d1qkf2rbbvc2f0dxni85i2l2g8zn5kzh0v8zr1b86r1wjy6rvd")))) (build-system ruby-build-system) (arguments - '(#:tests? #f)) ; No included tests + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-bundler + (lambda _ + (substitute* "spec/spec_helper.rb" + (("require 'bundler/setup'") "")))) + (add-before 'check 'disable-falinig-tests + (lambda _ + (substitute* "spec/ruby_terraform/commands/plan_spec.rb" + (("it 'logs an error raised when running the command'") + "xit 'logs an error raised when running the command'") + (("it 'raises execution error when an error occurs running the command'") + "xit 'raises execution error when an error occurs running the command'")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) + (native-inputs + (list ruby-rspec + ruby-faker + ruby-simplecov)) (propagated-inputs - (list ruby-lino)) + (list ruby-lino ruby-immutable-struct)) (synopsis "Ruby wrapper around the Terraform command line interface") (description "This package provides a Ruby wrapper around the Terraform command line @@ -7398,6 +7771,55 @@ process tree data structure for the current host.") ;; There is no mention of the "or later" clause. (license license:gpl2))) +(define-public ruby-psych + (package + (name "ruby-psych") + (version "5.1.0") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ruby/psych") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0m3668y79jcv2h9p7w74awwdyz13rpfr24w4nzh3iz96kxwssz83")))) + (build-system ruby-build-system) + (inputs + (list libyaml)) + (native-inputs + (list ruby-rake-compiler)) + (synopsis "Ruby YAML parser and emitter") + (description + "Psych is a YAML parser and emitter. Psych leverages libyaml for its +YAML parsing and emitting capabilities. In addition to wrapping libyaml, +Psych also knows how to serialize and de-serialize most Ruby objects to and +from the YAML format.") + (home-page "https://github.com/ruby/psych") + (license license:expat))) + +(define-public ruby-psych-3 + (package + (inherit ruby-psych) + (version "3.3.4") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ruby/psych") + (commit (string-append "v" version)))) + (file-name (git-file-name "ruby-psych" version)) + (sha256 + (base32 + "11f7bxbhaj5697izap7hfbiln6lfk5cks78a498mkyhs2ylhl0fc")))) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "bundle" "exec" "rake" "default"))))))))) + (define-public ruby-utils (package (name "ruby-utils") @@ -7464,57 +7886,75 @@ a native C extension.") (define-public ruby-json-pure (package (name "ruby-json-pure") - (version "2.3.1") - (source (origin - (method url-fetch) - (uri (rubygems-uri "json_pure" version)) - (sha256 - (base32 - "00pziwkfqwk8vj19s65sdki31q1wvmf5v9b3sfglxm94qfvas1lx")))) + (version "2.6.3") + (source + (origin + ;; For tests + (method git-fetch) + (uri (git-reference + (url "https://github.com/flori/json.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0551269c98a07m6bl594syh5vknrm3c636a4dxis9jpsb7vf7lfx")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-rakefile - (lambda _ - (substitute* "Rakefile" - ;; Since this is not a git repository, do not call 'git'. - (("`git ls-files`") "`find . -type f |sort`"))))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-rakefile + (lambda _ + (substitute* "Rakefile" + ;; Since this is not a git repository, do not call 'git'. + (("`git ls-files`") "`find . -type f |sort`"))))))) (native-inputs (list bundler ragel ruby-simplecov ruby-test-unit which)) (synopsis "JSON implementation in pure Ruby") (description "This package provides a JSON implementation written in pure Ruby.") - (home-page "https://flori.github.com/json/") + (home-page "https://flori.github.io/json/") (license license:ruby))) (define-public ruby-jwt (package (name "ruby-jwt") - (version "2.1.0") + (version "2.7.1") (source (origin - (method url-fetch) - (uri (rubygems-uri "jwt" version)) + ;; For tests + (method git-fetch) + (uri (git-reference + (url "https://github.com/jwt/ruby-jwt") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1w0kaqrbl71cq9sbnixc20x5lqah3hs2i93xmhlfdg2y3by7yzky")))) + "12ss6knfis6a6a41qndalnlvq3yykhpg6igzll8qyssnnwi9zdw7")))) (build-system ruby-build-system) (arguments - '(#:test-target "test" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-unnecessary-dependencies - (lambda _ - (substitute* "spec/spec_helper.rb" - (("require 'simplecov.*") "\n") - ;; Use [].each to disable running the SimpleCov configuration - ;; block - (("SimpleCov\\.configure") "[].each") - (("require 'codeclimate-test-reporter'") "") - (("require 'codacy-coverage'") "") - (("Codacy::Reporter\\.start") "")) - #t))))) + (list + #:test-target "test" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-unnecessary-dependencies + (lambda _ + (substitute* "ruby-jwt.gemspec" + (("spec\\.add_development_dependency 'appraisal'") "") + (("spec\\.add_development_dependency 'simplecov'") "")) + (substitute* "Gemfile" + (("gem 'rubocop'.*") "")) + (substitute* "Rakefile" + (("require 'rubocop/rake_task'") "") + (("RuboCop::RakeTask\\.new\\(:rubocop\\)") "")) + (substitute* "spec/spec_helper.rb" + (("require 'simplecov.*") "\n") + ;; Use [].each to disable running the SimpleCov configuration + ;; block + (("SimpleCov\\.configure") "[].each") + (("require 'codeclimate-test-reporter'") "") + (("require 'codacy-coverage'") "") + (("Codacy::Reporter\\.start") ""))))))) (native-inputs (list bundler ruby-rspec ruby-rbnacl)) (synopsis "Ruby implementation of the JSON Web Token standard") @@ -7549,7 +7989,7 @@ a native C extension.") (define-public ruby-listen (package (name "ruby-listen") - (version "3.2.0") + (version "3.8.0") (source (origin ;; The gem does not include a Rakefile, so fetch from the Git @@ -7561,24 +8001,24 @@ a native C extension.") (file-name (git-file-name name version)) (sha256 (base32 - "1hkp1g6hk5clsmbd001gkc12ma6s459x820piajyasv61m87if24")))) + "1skkglml094dw1xr4742in1rwwa84ld0mz4nkw6qa8pwhx48x2n5")))) (build-system ruby-build-system) (arguments - `(#:test-target "spec" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-files-in-gemspec - (lambda _ - (substitute* "listen.gemspec" - (("`git ls-files -z`") "`find . -type f -printf '%P\\\\0' |sort -z`")) - #t)) - (add-before 'check 'remove-unnecessary-dependencies' - (lambda _ - (substitute* "Rakefile" - ;; Rubocop is for code linting, and is unnecessary for running - ;; the tests. - ((".*rubocop.*") "")) - #t))))) + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-files-in-gemspec + (lambda _ + (substitute* "listen.gemspec" + (("`git ls-files -z`") + "`find . -type f -printf '%P\\\\0' |sort -z`")))) + (add-before 'check 'remove-unnecessary-dependencies' + (lambda _ + (substitute* "Rakefile" + ;; Rubocop is for code linting, and is unnecessary for running + ;; the tests. + ((".*rubocop.*") ""))))))) (native-inputs (list bundler ruby-rspec)) (inputs @@ -7596,7 +8036,7 @@ you about the changes.") (define-public ruby-loofah (package (name "ruby-loofah") - (version "2.13.0") + (version "2.21.3") (home-page "https://github.com/flavorjones/loofah") (source (origin @@ -7607,7 +8047,7 @@ you about the changes.") (file-name (git-file-name name version)) (sha256 (base32 - "0rmsm7mckiq0gslfqdl02yvn500n42v84gq28qjqn4yq9jwfs9ga")))) + "1lh7cf56y1b0h090ahphvz7grq581phsamdl0rq59y0q9bqwrhg0")))) (build-system ruby-build-system) (native-inputs (list ruby-hoe ruby-hoe-markdown ruby-rr)) @@ -7872,36 +8312,35 @@ with PostgreSQL 9.3 and later.") (("require \"bundler/setup\".*") ""))))))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'sanitize-dependencies - (lambda _ - (substitute* "Rakefile" - ((".*chandler/tasks.*") "")))) - (add-after 'unpack 'skip-tmp-path-sensitive-test - (lambda _ - (substitute* "test/commands/where_test.rb" - (("unless /cygwin\\|mswin\\|mingw\\|darwin/.*") - "unless true\n")))) - (add-before 'build 'compile - (lambda _ - (invoke "rake" "compile"))) - (add-before 'check 'disable-misbehaving-test - ;; Expects 5, gets 162. From a file containing ~10 lines. - (lambda _ - (substitute* "test/commands/finish_test.rb" - (("test_finish_inside_autoloaded_files") - "finish_inside_autoloaded_files")))) - (add-before 'check 'set-home - (lambda _ - (setenv "HOME" (getcwd))))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'sanitize-dependencies + (lambda _ + (substitute* "Rakefile" + ((".*chandler/tasks.*") "")))) + (add-after 'unpack 'skip-tmp-path-sensitive-test + (lambda _ + (substitute* "test/commands/where_test.rb" + (("unless /cygwin\\|mswin\\|mingw\\|darwin/.*") + "unless true\n")))) + (add-before 'build 'compile + (lambda _ + (invoke "rake" "compile"))) + (add-before 'check 'patch-tests + (lambda _ + ;; srand': no implicit conversion of nil into Integer (TypeError) + (delete-file "test/minitest_runner_test.rb") + ;; Expects 5, gets 162. From a file containing ~10 lines. + (substitute* "test/commands/finish_test.rb" + (("test_finish_inside_autoloaded_files") + "finish_inside_autoloaded_files")))) + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" (getcwd))))))) (native-inputs (list bundler - ;; Using minitest 5.17 would cause 5 new bug failures. This is - ;; probably related to - ;; https://github.com/deivid-rodriguez/byebug/pull/837. Use - ;; minitest 5.15 until this is resolved and released. - ruby-minitest-5.15 + ruby-minitest ruby-pry ruby-rake-compiler ruby-rubocop @@ -7996,7 +8435,7 @@ including comments and whitespace.") "0n3gq8rx49f7ln6zqlshqfg2mgqyy30rsdjlnki5mv307ykc7ad4")))) (build-system ruby-build-system) (native-inputs - (list ruby-rspec ruby-yard ruby-rubygems-tasks)) + (list ruby-rspec ruby-yard/minimal ruby-rubygems-tasks)) (synopsis "Calculate the differences between two tree-like structures") (description "This library provides functions to calculate the differences between two @@ -8024,7 +8463,7 @@ tree-like structures. It is similar to Ruby's built-in @code{TSort} module.") (list ruby-tdiff ruby-nokogiri)) (native-inputs - (list ruby-rspec ruby-yard ruby-rubygems-tasks)) + (list ruby-rspec ruby-yard/minimal ruby-rubygems-tasks)) (synopsis "Calculate the differences between two XML/HTML documents") (description "@code{Nokogiri::Diff} adds the ability to calculate the @@ -8063,7 +8502,7 @@ generates Ruby program.") (package (name "ruby-rack") ;; Do not upgrade to version 3, as Rails doesn't support it yet. - (version "2.2.6.3") + (version "2.2.7") (source (origin (method git-fetch) ;for tests @@ -8073,7 +8512,7 @@ generates Ruby program.") (file-name (git-file-name name version)) (sha256 (base32 - "19n33q0v15qjh7kbp2painyzyqg16kkf0mp68vcnlswghmmjcyzq")))) + "02r41fr61x0jfhraizc6bsgs40p8mlpvnzix71zwmcvibg384ify")))) (build-system ruby-build-system) (arguments (list @@ -8101,7 +8540,10 @@ generates Ruby program.") (number->string (+ 22 size-diff)) "-" (number->string (+ 33 size-diff))))))))))) - (native-inputs (list ruby-minitest ruby-minitest-global-expectations)) + (native-inputs + (list ruby-minitest + ruby-minitest-global-expectations + ruby-webrick)) (synopsis "Unified web application interface for Ruby") (description "Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses, @@ -8315,39 +8757,49 @@ techniques and a terse syntax.") (define-public ruby-rest-client (package (name "ruby-rest-client") - (version "2.0.2") + (version "2.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "rest-client" version)) (sha256 (base32 - "1hzcs2r7b5bjkf2x2z3n8z6082maz0j8vqjiciwgg3hzb63f958j")))) + "1qs74yzl58agzx9dgjhcpgmzfn61fqkk33k1js2y5yhlvc5l19im")))) (build-system ruby-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-before 'check 'remove-unnecessary-development-dependencies - (lambda _ - (substitute* "rest-client.gemspec" - ;; Remove rubocop as it's unused. Rubocop also indirectly - ;; depends on this package through ruby-parser and ruby-ast so - ;; this avoids a dependency loop. - ((".*rubocop.*") "\n") - ;; Remove pry as it's unused, it's a debugging tool - ((".*pry.*") "\n") - ;; Remove an unnecessarily strict rdoc dependency - ((".*rdoc.*") "\n")) - #t)) - (add-before 'check 'delete-network-dependent-tests - (lambda _ - (delete-file "spec/integration/request_spec.rb") - (delete-file "spec/integration/httpbin_spec.rb") - #t))))) + (list + ;; TODO Some tests are currently broken + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'remove-unnecessary-development-dependencies + (lambda _ + (substitute* "rest-client.gemspec" + ;; Remove rubocop as it's unused. Rubocop also indirectly + ;; depends on this package through ruby-parser and ruby-ast so + ;; this avoids a dependency loop. + ((".*rubocop.*") "\n") + ;; Remove pry as it's unused, it's a debugging tool + ((".*pry.*") "\n") + ;; Remove an unnecessarily strict rdoc dependency + ((".*rdoc.*") "\n")))) + (add-before 'check 'delete-network-dependent-tests + (lambda _ + (delete-file "spec/integration/request_spec.rb") + (delete-file "spec/integration/httpbin_spec.rb"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) (propagated-inputs - (list ruby-http-cookie ruby-mime-types ruby-netrc)) + (list ruby-http-accept-1 + ruby-http-cookie + ruby-mime-types + ruby-netrc)) (native-inputs - (list bundler ruby-webmock-2 ruby-rspec)) + (list bundler + ruby-webmock-2 + ruby-rspec)) (synopsis "Simple HTTP and REST client for Ruby") (description "@code{rest-client} provides a simple HTTP and REST client for Ruby, @@ -8461,7 +8913,7 @@ better performance than @code{Regexp} and @code{String} methods from the (define-public ruby-range-compressor (package (name "ruby-range-compressor") - (version "1.0.0") + (version "1.2.0") (source (origin (method git-fetch) @@ -8471,19 +8923,21 @@ better performance than @code{Regexp} and @code{String} methods from the (file-name (git-file-name name version)) (sha256 (base32 - "0y8slri2msyyg2szgwgriqd6qw9hkxycssdrcl5lk2dbcq5zvn54")))) + "1zmc44si5ac2h7r1x4f1j8z5yr6wz528c7dssh0g70fmczs3pfga")))) (build-system ruby-build-system) (arguments - `(#:test-target "spec" - #:phases (modify-phases %standard-phases - (add-after 'extract-gemspec 'strip-version-requirements - (lambda _ - (substitute* "range_compressor.gemspec" - (("(.*add_.*dependency '[_A-Za-z0-9-]+').*" _ stripped) - (string-append stripped "\n"))) - #t))))) + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'strip-version-requirements + (lambda _ + (substitute* "range_compressor.gemspec" + (("(.*add_.*dependency '[_A-Za-z0-9-]+').*" _ stripped) + (string-append stripped "\n")))))))) (native-inputs - (list ruby-rspec)) + (list ruby-rspec + ruby-sorted-set)) (synopsis "Simple arrays of objects to arrays of ranges compressor") (description "RangeCompresses is a tiny library that allows compressing arrays of objects into arrays of ranges. For example, it can turn the @@ -8751,15 +9205,30 @@ abstraction for Ruby.") (define-public ruby-benchmark-ips (package (name "ruby-benchmark-ips") - (version "2.8.2") + (version "2.12.0") (source (origin - (method url-fetch) - (uri (rubygems-uri "benchmark-ips" version)) + (method git-fetch) ;no tests in distributed gem + (uri (git-reference + (url "https://github.com/evanphx/benchmark-ips") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1n9397j7kh4vvikfann1467qgksc679imlr50hax3lk1q3af8kdw")))) + "19pa2a1lgjzrxcz6vxwfiq5qq337vr15bbbpc2mfwzljdlx5059s")))) (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + (substitute* "Gemfile" + (("gem 'rake'.*") + "gem 'rake'")) + (substitute* "benchmark-ips.gemspec" + (("git ls-files -- examples lib") + "find examples lib -type f | sort"))))))) (native-inputs (list ruby-hoe)) (synopsis "Iterations per second enhancement for the Ruby Benchmark module") @@ -8858,7 +9327,7 @@ top of Faraday.") (define-public ruby-octokit (package (name "ruby-octokit") - (version "6.1.0") + (version "6.1.1") (source (origin (method git-fetch) (uri (git-reference @@ -8867,15 +9336,22 @@ top of Faraday.") (file-name (git-file-name name version)) (sha256 (base32 - "01njrd17bz28mlsa8hi9gad7s6d1d0vpyn0g66p3d42zgplr9qkq")))) + "02bcmh0b0v80cis1l80lhzxw8adb69xkz6qgg4m7qcmj3y5arwmk")))) (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-unnecessary-dependencies + (lambda _ + (substitute* "spec/spec_helper.rb" + (("require 'pry-byebug'") ""))))))) (native-inputs (list ruby-faraday-multipart ruby-jwt ruby-mime-types ruby-multi-json ruby-netrc - ruby-pry-byebug ruby-rbnacl ruby-rspec ruby-simplecov @@ -8923,33 +9399,42 @@ navigation capabilities to @code{pry}, using @code{byebug}.") (define-public ruby-stackprof (package (name "ruby-stackprof") - (version "0.2.17") + (version "0.2.25") (source (origin (method url-fetch) (uri (rubygems-uri "stackprof" version)) (sha256 - (base32 "06lz70k8c0r7fyxk1nc3idh14x7nvsr21ydm1bsmbj00jyhmfzsn")))) + (base32 "0bhdgfb0pmw9mav1kw9fn0ka012sa0i3h5ppvqssw5xq48nhxnr8")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'skip-dubious-test - (lambda _ - ,@(if (or (target-riscv64?) - (target-ppc32?)) - ;; This unreliable test can fail with "Expected 32 to be <= 25." - '((substitute* "test/test_stackprof.rb" - ((".*assert_operator profile\\[:missed_samples.*") ""))) - ;; This unreliable test can fail with "Expected 0 to be >= 1." - '((substitute* "test/test_stackprof.rb" - (("def test_(cputime)" _ name) - (string-append "def skip_" name))))))) - (add-before 'check 'build-tests - (lambda _ - (invoke "rake" "compile")))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'patch-gemspec + (lambda _ + (substitute* "stackprof.gemspec" + (("rake-compiler.*") + "rake-compiler>.freeze, [\"> 0.9\"])\n") + (("mocha.*") + "mocha>.freeze, [\"> 0.14\"])\n")))) + (add-before 'check 'skip-dubious-test + (lambda _ + (substitute* "test/test_stackprof.rb" + ;; This unreliable test can fail with "Expected 0 to be >= 1." + (("def test_(cputime)" _ name) + (string-append "def skip_" name)) + ;; This test often fails + (("def test_gc") "def skip_test_gc")))) + (add-before 'check 'build-tests + (lambda _ + (invoke "rake" "compile"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "bundle" "exec" "rake" "default"))))))) (native-inputs - (list ruby-mocha ruby-rake-compiler)) + (list bundler ruby-mocha-1 ruby-rake-compiler)) (synopsis "Sampling profiler for Ruby code") (description "@code{stackprof} is a fast sampling profiler for Ruby code, with cpu, @@ -9024,7 +9509,7 @@ variable length integers (varint) in Ruby Protocol Buffers.") (define-public ruby-version-gem (package (name "ruby-version-gem") - (version "1.1.2") + (version "1.1.3") (source (origin (method git-fetch) ;for tests (uri (git-reference @@ -9033,39 +9518,31 @@ variable length integers (varint) in Ruby Protocol Buffers.") (file-name (git-file-name name version)) (sha256 (base32 - "17y4dydlczd5xvvwfy94x63d5wi14cdkfhi6g94fm1sgsxxzzmq0")))) + "1wazx2jr9vx5wm48fy8bccvfwhg7y2s8shfw9q81dhb4yvwk6gbf")))) (build-system ruby-build-system) (arguments - (list #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'relax-requirements - (lambda _ - (substitute* "Gemfile" - (("^linting = .*") - "linting = false\n") - (("^coverage = .*") - "coverage = false\n") - (("^debug = .*") - "debug = false\n")) - (substitute* "spec/spec_helper.rb" - (("^RUN_COVERAGE = .*") - "RUN_COVERAGE = false\n") - (("^ALL_FORMATTERS = .*") - "ALL_FORMATTERS = false\n")))) - (add-before 'build 'drop-signing-key-requirement - (lambda _ - (substitute* "version_gem.gemspec" - (("spec.signing_key =.*") - "spec.signing_key = nil")))) - (add-before 'check 'disable-problematic-tests - (lambda _ - (substitute* "spec/version_gem/ruby_spec.rb" - ;; The test validates the minimum version of - ;; Ruby to be 2.7.7, but because our Ruby is - ;; 2.7.4 grafted with 2.7.7, the version seen is - ;; 2.7.4 and it fails. - (("it 'returns true when current ruby greater \ -than minimum'" all) - (string-append "x" all)))))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "Gemfile" + (("^linting = .*") + "linting = false\n") + (("^coverage = .*") + "coverage = false\n") + (("^debug = .*") + "debug = false\n")) + (substitute* "spec/spec_helper.rb" + (("^RUN_COVERAGE = .*") + "RUN_COVERAGE = false\n") + (("^ALL_FORMATTERS = .*") + "ALL_FORMATTERS = false\n")))) + (add-before 'build 'drop-signing-key-requirement + (lambda _ + (substitute* "version_gem.gemspec" + (("spec.signing_key =.*") + "spec.signing_key = nil"))))))) (native-inputs (list ruby-rspec ruby-rspec-block-is-expected)) (synopsis "Improved @code{Version} module for Ruby") (description "VersionGem aims to provide introspection of a @code{Version} @@ -9153,7 +9630,7 @@ Profiling multiple threads simultaneously is supported. (define-public ruby-ruby-memcheck (package (name "ruby-ruby-memcheck") - (version "1.2.0") + (version "1.3.2") (source (origin (method git-fetch) (uri (git-reference @@ -9162,10 +9639,13 @@ Profiling multiple threads simultaneously is supported. (file-name (git-file-name name version)) (sha256 (base32 - "1sx8nhx7w4z5s5vj6kq6caqsfznswqzwca372j82cd80hf9iznra")))) + "0fj4j4d062sw2kx2qlj877gjbj1xbb691njr8x9nbah6615idlni")))) (build-system ruby-build-system) (arguments (list + ;; The tests seem to fail on 32bit x86 + #:tests? (not (or (target-x86-32?) + (%current-target-system))) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-valgrind-path @@ -9193,7 +9673,7 @@ during shutdown.") (define-public ruby-memory-profiler (package (name "ruby-memory-profiler") - (version "1.0.0") + (version "1.0.1") (source (origin (method git-fetch) @@ -9203,7 +9683,7 @@ during shutdown.") (file-name (git-file-name name version)) (sha256 (base32 - "07yqv11q68xg2fqkrhs6ysngryk8b9zq6qzh24rgx9xqv6qfnj0w")))) + "1z1x0rymfv45gh1y3s46w5pga5y8cvgn228jiwlnhc8hin3zig84")))) (build-system ruby-build-system) (synopsis "Memory profiling routines for Ruby") (description @@ -9534,6 +10014,7 @@ CI environment from environment variables.") (list ruby-cucumber-compatibility-kit ruby-nokogiri ruby-pry + ruby-webrick ruby-rspec)) (synopsis "Describe automated tests in plain language") (description "Cucumber is a tool for running automated tests written in @@ -9784,28 +10265,38 @@ is an infix boolean expression used by Cucumber.") (home-page "https://github.com/cucumber/tag-expressions") (license license:expat))) -(define-public ruby-bindex +(define-public ruby-skiptrace (package - (name "ruby-bindex") - (version "0.5.0") + (name "ruby-skiptrace") + (version "0.8.1") (source (origin (method url-fetch) - (uri (rubygems-uri "bindex" version)) + (uri (rubygems-uri "skiptrace" version)) (sha256 (base32 - "1wvhf4v8sk5x8li03pcc0v0wglmyv7ikvvg05bnms83dfy7s4k8i")))) + "1qpjy6pqd8hx4w7bai64jsr10mwbpnnb65wcbssyqcnalimi1s12")))) (build-system ruby-build-system) (arguments - '(#:test-target "default")) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-git-from-gemspec + (lambda _ + (substitute* "skiptrace.gemspec" + (("`git ls-files -z`") "`find . -type f -print0 |sort -z`")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "bundle" "exec" "rake" "default"))))))) (native-inputs (list bundler ruby-rake-compiler)) (synopsis "Provides access for bindings relating to Ruby exceptions") (description - "@code{bindex} provides a way to access the bindings that relate to + "@code{skiptrace} provides a way to access the bindings that relate to exceptions in Ruby, providing more information about the context in which the exception occurred.") - (home-page "https://github.com/gsamokovarov/bindex") + (home-page "https://github.com/gsamokovarov/skiptrace") (license license:expat))) (define-public ruby-bio-logger @@ -9833,25 +10324,25 @@ features such as filtering and fine grained logging.") (define-public ruby-yajl-ruby (package (name "ruby-yajl-ruby") - (version "1.4.1") + (version "1.4.3") (source (origin (method url-fetch) (uri (rubygems-uri "yajl-ruby" version)) (sha256 (base32 - "16v0w5749qjp13xhjgr2gcsvjv6mf35br7iqwycix1n2h7kfcckf")))) + "1lni4jbyrlph7sz8y49q84pb0sbj82lgwvnjnsiv01xf26f4v5wc")))) (build-system ruby-build-system) (arguments - '(#:test-target "spec" - #:phases - (modify-phases %standard-phases - (add-before 'check 'patch-test-to-update-load-path - (lambda _ - (substitute* "spec/parsing/large_number_spec.rb" - (("require \"yajl\"") - "$LOAD_PATH << 'lib'; require 'yajl'")) - #t))))) + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'patch-test-to-update-load-path + (lambda _ + (substitute* "spec/parsing/large_number_spec.rb" + (("require \"yajl\"") + "$LOAD_PATH << 'lib'; require 'yajl'"))))))) (native-inputs (list ruby-rake-compiler ruby-rspec)) (synopsis "Streaming JSON parsing and encoding library for Ruby") @@ -9868,7 +10359,7 @@ A modified copy of yajl is used, and included in the package.") (define-public ruby-yard (package (name "ruby-yard") - (version "0.9.25") + (version "0.9.34") (source (origin (method git-fetch) @@ -9879,20 +10370,42 @@ A modified copy of yajl is used, and included in the package.") (file-name (git-file-name name version)) (sha256 (base32 - "1x7y4s557hrnq439lih7nqg1y7ximardw75jx9i92x3yzpviqqwa")))) + "10jq0hyzyy0d6l63jxld32g36fhrclkb3rwnyp47igcik73kbagb")))) (build-system ruby-build-system) (arguments - ;; Note: Tests are willfully disabled to alleviate dependency cycle - ;; problems. - `(#:tests? #f - #:phases (modify-phases %standard-phases - (add-after 'unpack 'do-not-set-date-in-gemspec - ;; Fix a reproducibility issue (see: - ;; https://github.com/lsegal/yard/issues/1343). - (lambda _ - (substitute* "yard.gemspec" - ((".*s\\.date.*") "")) - #t))))) + (list + #:test-target "default" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'do-not-set-date-in-gemspec + ;; Fix a reproducibility issue (see: + ;; https://github.com/lsegal/yard/issues/1343). + (lambda _ + (substitute* "yard.gemspec" + ((".*s\\.date.*") "")))) + (add-before 'check 'prepare-for-tests + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (substitute* "Rakefile" + ((".*[Ss]amus.*") "")) + ;; Delete the Gemfile to avoid errors relating to it. + (delete-file "Gemfile") + ;; $HOME needs to be set to somewhere writeable for tests to + ;; run. + (setenv "HOME" "/tmp") + ;; This test fails + ;; #<File (class)> received :open with unexpected arguments + ;; expected: ("gem1.gem", "rb") + ;; got: ("/gnu/store/.../lib/ruby/vendor_ruby/specifications/asciidoctor-2.0.18.gemspec", "r:UTF-8:-") + (substitute* "spec/cli/diff_spec.rb" + (("it \"searches for .gem file") + "xit \"searches for .gem file")))))))) + (native-inputs + (list ruby-rspec + ruby-rack + ruby-redcloth + ruby-webrick + ruby-asciidoctor/minimal)) (synopsis "Documentation generation tool for Ruby") (description "YARD is a documentation generation tool for the Ruby programming language. It enables the user to generate consistent, usable @@ -9902,27 +10415,15 @@ definitions.") (home-page "https://yardoc.org") (license license:expat))) -(define-public ruby-yard-with-tests - (package - (inherit ruby-yard) - (name "ruby-yard-with-tests") - (arguments - (substitute-keyword-arguments - (strip-keyword-arguments '(#:tests?) (package-arguments ruby-yard)) - ((#:test-target _ "default") "default") - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-before 'check 'prepare-for-tests - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (substitute* "Rakefile" - ((".*[Ss]amus.*") "")) - ;; Delete the Gemfile to avoid errors relating to it. - (delete-file "Gemfile") - ;; $HOME needs to be set to somewhere writeable for tests to - ;; run. - (setenv "HOME" "/tmp")))))))) - (native-inputs (list ruby-rspec ruby-rack ruby-redcloth ruby-asciidoctor)))) +(define-public ruby-yard/minimal + (hidden-package + (package + (inherit ruby-yard) + (arguments + (ensure-keyword-arguments + (package-arguments ruby-yard) + (list #:tests? #f))) + (native-inputs '())))) (define-public ruby-spectroscope (package @@ -10278,14 +10779,14 @@ look up the likely MIME type definitions.") (define-public ruby-mime-types (package (name "ruby-mime-types") - (version "3.1") + (version "3.4.1") (source (origin (method url-fetch) (uri (rubygems-uri "mime-types" version)) (sha256 (base32 - "0087z9kbnlqhci7fxh9f6il63hj1k02icq2rs0c6cppmqchr753m")))) + "0ipw892jbksbxxcrlx9g5ljq60qx47pm24ywgfbyjskbcl78pkvb")))) (build-system ruby-build-system) (propagated-inputs (list ruby-mime-types-data)) @@ -10293,7 +10794,6 @@ look up the likely MIME type definitions.") (list ruby-hoe ruby-fivemat ruby-minitest-focus - ruby-minitest-rg ruby-minitest-bonus-assertions ruby-minitest-hooks)) (synopsis "Library and registry for MIME content type definitions") @@ -10383,25 +10883,40 @@ neither too verbose nor too minimal.") (define-public ruby-sqlite3 (package (name "ruby-sqlite3") - (version "1.4.4") + (version "1.6.3") (source (origin - (method url-fetch) - (uri (rubygems-uri "sqlite3" version)) + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/sparklemotion/sqlite3-ruby") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1z1wa639c278bsipczn6kv8b13fj85pi8gk7x462chqx6k0wm0ax")))) + "0ijj8z8fpk2lczydkxv71k250g5gd8ip8klsscxc9f16b01gh9qs")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'add-gemtest-file - ;; This file exists in the repository but is not distributed. - (lambda _ (invoke "touch" ".gemtest")))))) + (list + #:gem-flags #~(list "--" "--enable-system-libraries") + #:phases + #~(modify-phases %standard-phases + (delete 'check) + (add-after 'install 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "GEM_PATH" + (string-append (getenv "GEM_PATH") ":" + #$output "/lib/ruby/vendor_ruby")) + (invoke "rake" "test"))))))) + (propagated-inputs + (list ruby-mini-portile-2)) (inputs (list sqlite)) (native-inputs - (list ruby-hoe ruby-rake-compiler ruby-mini-portile-2)) + (list ruby-hoe + ruby-ruby-memcheck + ruby-rake-compiler + ruby-rake-compiler-dock)) (synopsis "Interface with SQLite3 databases") (description "This module allows Ruby programs to interface with the SQLite3 database @@ -10962,35 +11477,87 @@ defined in a @file{.env} file.") defined in a @file{.env} file. This is the Rails variant, adapted for use with Ruby on Rails projects."))) +(define-public ruby-http-accept + (package + (name "ruby-http-accept") + (version "2.2.0") + (source (origin + (method git-fetch) ;for the tests + (uri (git-reference + (url "https://github.com/socketry/http-accept") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d69cy12hqbcqrhw4dibvdq5pqklxsa59kih6pzl479nxq79rgs7")))) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-missing-key-directive + ;; This seem to be a common problem in Ruby projects (see: + ;; https://github.com/prawnpdf/ttfunk/issues/99). + (lambda _ + (substitute* "http-accept.gemspec" + ((".*spec.signing_key.*") "")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) + (native-inputs + (list ruby-rspec + ruby-covered)) + (synopsis "Parse Accept and Accept-Language HTTP headers") + (description + "This package provides a set of parsers for Accept and Accept-Language +HTTP headers.") + (home-page "https://github.com/socketry/http-accept") + (license license:expat))) + +(define-public ruby-http-accept-1 + (package + (inherit ruby-http-accept) + (version "1.7.0") + (source (origin + (method git-fetch) ;for the tests + (uri (git-reference + (url "https://github.com/ioquatix/http-accept") + (commit (string-append "v" version)))) + (file-name (git-file-name "ruby-http-accept" version)) + (sha256 + (base32 + "1hnqmqpa135s3xgcvv30qzqm8zp88my1aj05m72d2q9cvc31g92z")))))) + (define-public ruby-http-cookie (package (name "ruby-http-cookie") - (version "1.0.3") + (version "1.0.5") (source (origin (method url-fetch) (uri (rubygems-uri "http-cookie" version)) (sha256 (base32 - "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g")))) + "13rilvlv8kwbzqfb644qp6hrbsj82cbqmnzcvqip1p6vqx36sxbk")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'add-dependency-to-bundler - (lambda _ - ;; Fix NameError - (substitute* "Rakefile" - (("HTTP::Cookie::VERSION") - "Bundler::GemHelper.gemspec.version")) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'add-dependency-to-bundler + (lambda _ + ;; Fix NameError + (substitute* "Rakefile" + (("HTTP::Cookie::VERSION") + "Bundler::GemHelper.gemspec.version"))))))) (propagated-inputs (list ruby-domain-name)) (native-inputs - `(("rubysimplecov" ,ruby-simplecov) - ("bundler" ,bundler) - ("ruby-sqlite3" ,ruby-sqlite3) - ("ruby-test-unit" ,ruby-test-unit))) + (list ruby-simplecov + bundler + ruby-sqlite3 + ruby-test-unit)) (synopsis "Handle HTTP Cookies based on RFC 6265") (description "@code{HTTP::Cookie} is a Ruby library to handle HTTP Cookies based on @@ -11141,6 +11708,33 @@ secure hash algorithm for hashing passwords.") (home-page "https://github.com/bcrypt-ruby/bcrypt-ruby") (license license:expat))) +(define-public ruby-bcrypt-pbkdf + (package + (name "ruby-bcrypt-pbkdf") + (version "1.1.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "bcrypt_pbkdf" version)) + (sha256 + (base32 + "0ndamfaivnkhc6hy0yqyk2gkwr6f3bz6216lh74hsiiyk3axz445")))) + (build-system ruby-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-before 'build 'compile + (lambda _ + (invoke "rake" "compile")))))) + (native-inputs (list ruby-minitest ruby-rake-compiler + ruby-rake-compiler-dock ruby-rdoc)) + (synopsis "Reading password encrypted Ed25519 keys in Ruby") + (description + "This gem implements @samp{bcrypt_pbkdf}, which is a variant of +PBKDF2 (Password-Based Key Derivation Function 2) with bcrypt-based +pseudorandom function. This is currently used by @samp{net-ssh} to +read password encrypted Ed25519 keys.") + (home-page "https://github.com/net-ssh/bcrypt_pbkdf-ruby") + (license license:expat))) + (define-public ruby-bio-commandeer (package (name "ruby-bio-commandeer") @@ -11544,7 +12138,7 @@ part of the Prawn PDF generator.") (define-public ruby-puma (package (name "ruby-puma") - (version "6.2.0") + (version "6.3.0") (source (origin (method git-fetch) ;for tests @@ -11554,17 +12148,23 @@ part of the Prawn PDF generator.") (file-name (git-file-name name version)) (sha256 (base32 - "0d71h5ggvfgnxq9msd1hmcz3s8mspzf7kqas1hzr0w9pfafddyv3")))) + "0qnayzgyr23w87jc849r00394hv1gw2rk9080nws43ilnycagzxq")))) (build-system ruby-build-system) (arguments (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'patch-Gemfile + (lambda _ + (substitute* "Gemfile" + (("gem \"rake-compiler\".*") + "gem 'rake-compiler'\n")))) (add-after 'unpack 'disable-rubocop (lambda _ (setenv "PUMA_NO_RUBOCOP" "1"))) (add-after 'unpack 'use-rack-2 (lambda _ + (setenv "PUMA_CI_RACK" "rack2") (setenv "PUMA_CI_RACK_2" "1"))) (add-before 'build 'increase-resource-limits (lambda _ @@ -11677,7 +12277,7 @@ or JRuby.") "10jmmbjm0lkglwxbn4rpqghgg1ipjxrswm117n50adhmy8yij650")))) (build-system ruby-build-system) (propagated-inputs - (list ruby-hoe)) + (list ruby-hoe-3)) (synopsis "Hoe plugins for tighter Git integration") (description "This package provides a set of Hoe plugins for tighter Git integration. @@ -11744,25 +12344,29 @@ associated records.") (define-public ruby-timecop (package (name "ruby-timecop") - (version "0.9.1") + (version "0.9.6") (source (origin (method url-fetch) (uri (rubygems-uri "timecop" version)) (sha256 (base32 - "0d7mm786180v4kzvn1f77rhfppsg5n0sq2bdx63x9nv114zm8jrp")))) + "0dlx4gx0zh836i7nzna03xdl7fc233s5z6plnr6k3kw46ah8d1fc")))) (build-system ruby-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'set-check-rubylib - (lambda _ - ;; Set RUBYLIB so timecop tests finds its own lib. - (setenv "RUBYLIB" "lib") - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'set-check-rubylib + (lambda _ + ;; Set RUBYLIB so timecop tests finds its own lib. + (setenv "RUBYLIB" "lib")))))) (native-inputs - (list bundler ruby-minitest-rg ruby-mocha ruby-activesupport)) + (list bundler + ruby-minitest-rg + ruby-mocha + ruby-activesupport + ruby-pry)) (synopsis "Test mocks for time-dependent functions") (description "Timecop provides \"time travel\" and \"time freezing\" capabilities, @@ -11911,7 +12515,8 @@ libraries for compiling Ruby native extensions.") "1nq859b0gh2vjhvl1qh1zrk09pc7p54r9i6nnn6sb06iv07db2jb")))) (build-system ruby-build-system) (native-inputs - (list ruby-hoe)) + (list ruby-hoe + ruby-minitest)) (synopsis "RFC 2617 HTTP digest authentication library") (description "This library implements HTTP's digest authentication scheme based on @@ -12217,7 +12822,7 @@ programs running in the background, in Ruby.") (("RuboCop::RakeTask\\.new") "")) #t))))) (native-inputs - (list bundler ruby-yard ruby-mocha ruby-minitest-reporters)) + (list bundler ruby-yard/minimal ruby-mocha ruby-minitest-reporters)) (home-page "https://simonecarletti.com/code/publicsuffix-ruby/") (synopsis "Domain name parser") (description "The gem @code{public_suffix} is a domain name parser, @@ -12264,7 +12869,7 @@ all known public suffixes.") ruby-rspec-its-minimal ruby-simplecov ruby-sporkmonger-rack-mount - ruby-yard)) + ruby-yard/minimal)) (propagated-inputs (list ruby-public-suffix)) (home-page "https://github.com/sporkmonger/addressable") @@ -12371,14 +12976,14 @@ your application.") (define-public ruby-kpeg (package (name "ruby-kpeg") - (version "1.1.0") + (version "1.3.3") (source (origin (method url-fetch) (uri (rubygems-uri "kpeg" version)) (sha256 (base32 - "0x2kpfrcagj931masm5y1kwbnc6nxl60cqdcd3lyd1d2hz7kzlia")))) + "0jxddpyb23digcd8b1b02gn94057a7mw17680c3c8s3bcb5xqfnp")))) (build-system ruby-build-system) (native-inputs (list ruby-hoe)) @@ -12394,7 +12999,7 @@ technique.") (define-public ruby-rdoc (package (name "ruby-rdoc") - (version "6.2.0") + (version "6.5.0") (source (origin (method git-fetch) @@ -12404,7 +13009,7 @@ technique.") (file-name (git-file-name name version)) (sha256 (base32 - "0dhk29nidv93b5vnjvlm9gcixgn4i0jcyzrgxdk6pdg019bw4cj6")))) + "06dcjs4s2phvg9bq42mlfqv4c4zpdr8w7aq107lm2q0qqqw7xjlr")))) (build-system ruby-build-system) (arguments `(#:phases @@ -12455,20 +13060,35 @@ about the changes.") (define-public ruby-terminfo (package (name "ruby-terminfo") - (version "0.1.1") + (version "0.2") (source (origin (method url-fetch) - (uri (rubygems-uri "ruby-terminfo" version)) + (uri (string-append + "http://www.a-k-r.org/" name "/" name "-" version ".tar.gz")) (sha256 (base32 - "0rl4ic5pzvrpgd42z0c1s2n3j39c9znksblxxvmhkzrc0ckyg2cm")))) + "1n59dw351z6nzylgj0gpx4rpz6qhf8lrhzcbp1xqfpqvryhaxrjh")))) (build-system ruby-build-system) (arguments - `(#:test-target "test" - ;; Rakefile requires old packages and would need modification to - ;; work with current software. - #:tests? #f)) + (list + #:test-target "test" + #:phases + #~(modify-phases %standard-phases + (delete 'replace-git-ls-files) + (replace 'build + (lambda _ + (invoke "ruby" "extconf.rb") + (invoke "make"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (for-each (lambda (f) + (invoke "ruby" "-I" "test" f)) + (find-files "test" "^test_.*\\.rb$"))))) + (replace 'install + (lambda _ + (invoke "make" "install" (string-append "prefix=" #$output))))))) (inputs (list ncurses)) (native-inputs @@ -12516,20 +13136,20 @@ strings or files.") (base32 "1zsw66830w0xlc7kxz6fm4b5nyb44vdsdgm9mgy06s5aixx83pwr")))) (build-system ruby-build-system) (propagated-inputs - `(("ruby-command-line-reporter-3" ,ruby-command-line-reporter-3) - ("ruby-diffy" ,ruby-diffy) - ("ruby-terminfo" ,ruby-terminfo))) + (list ruby-command-line-reporter-3 + ruby-diffy)) (arguments - `(;; This package contains tests for a sass implementation, and the to - ;; avoid any circular dependencies, the tests are not run here - #:tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-test - (lambda _ - (delete-file "spec/values/colors/alpha_hex-3.5/error") - (substitute* "spec/values/colors/alpha_hex-3.5/expected_output.css" - (("string") "color"))))))) + (list + ;; This package contains tests for a sass implementation, and the to + ;; avoid any circular dependencies, the tests are not run here + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-test + (lambda _ + (delete-file "spec/values/colors/alpha_hex-3.5/error") + (substitute* "spec/values/colors/alpha_hex-3.5/expected_output.css" + (("string") "color"))))))) (home-page "https://github.com/sass/sass-spec") (synopsis "Test suite for Sass") (description "Sass Spec is a test suite for Sass. Test cases are all in @@ -12539,14 +13159,19 @@ the @file{spec} directory.") (define-public ruby-sass (package (name "ruby-sass") - (version "3.6.0") - (source (origin - (method url-fetch) - (uri (rubygems-uri "sass" version)) - (sha256 - (base32 - "18c6prbw9wl8bqhb2435pd9s0lzarl3g7xf8pmyla28zblvwxmyh")))) + (version "3.7.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sass/ruby-sass") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03215h9jkni3l9w6lq28p8adaj3qzb47qgxd20l6kldjnm1a1yky")))) (build-system ruby-build-system) + (arguments + (list #:test-target "test:ruby")) (propagated-inputs (list ruby-sass-listen)) (native-inputs @@ -13241,7 +13866,7 @@ hashes more powerful.") "14ijr2fsjwhrkjkcaz81d5xnfa4vvgvcflrff83avqw9klm011yw")))) (build-system ruby-build-system) (native-inputs - (list ruby-hoe)) + (list ruby-hoe-3)) (home-page "https://github.com/adrianomitre/heredoc_unindent") (synopsis "Heredoc indentation cleaner") (description "This gem removes common margin from indented strings, such @@ -13273,17 +13898,18 @@ indentation will probably be an issue and hence this gem.") (native-inputs (list ruby-rspec ruby-hashie ruby-heredoc-unindent)) (arguments - '(#:test-target "spec" - #:phases - (modify-phases %standard-phases - (add-before 'check 'set-TZ - (lambda _ - ;; This test is dependent on the timezone - ;; spec/transform/to_date_spec.rb:35 - ;; # SafeYAML::Transform::ToDate converts times to the local - ;; timezone - (setenv "TZ" "UTC-11") - #t))))) + (list + #:ruby ruby-2.7 + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'set-TZ + (lambda _ + ;; This test is dependent on the timezone + ;; spec/transform/to_date_spec.rb:35 + ;; # SafeYAML::Transform::ToDate converts times to the local + ;; timezone + (setenv "TZ" "UTC-11")))))) (home-page "https://github.com/dtao/safe_yaml") (synopsis "YAML parser") (description "The SafeYAML gem provides an alternative implementation of @@ -13920,6 +14546,10 @@ for scalable network clients and servers.") (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'remove-unnecessary-dependencies + (lambda _ + (substitute* "Gemfile" + (("gem \"pry-byebug\"") "")))) (replace 'replace-git-ls-files (lambda _ (substitute* "language_server-protocol.gemspec" @@ -13932,8 +14562,7 @@ for scalable network clients and servers.") ruby-benchmark-ips ruby-m ruby-minitest - ruby-minitest-power-assert - ruby-pry-byebug)) + ruby-minitest-power-assert)) (synopsis "Language Server Protocol (LSP) development kit for Ruby") (description "This package provides a Language Server Protocol (LSP) development kit for Ruby.") @@ -13955,6 +14584,10 @@ development kit for Ruby.") (list #:phases #~(modify-phases %standard-phases (add-after 'extract-gemspec 'relax-requirements (lambda _ + (substitute* "spy.gemspec" + ((".*pry-byebug.*") "")) + (substitute* "test/test_helper.rb" + ((".*pry-byebug.*") "")) (substitute* "Gemfile" ((".*redcarpet.*") "") ((".*yard.*") ""))))))) @@ -13962,7 +14595,6 @@ development kit for Ruby.") (list ruby-coveralls ruby-minitest-reporters ruby-pry - ruby-pry-byebug ruby-rspec-core ruby-rspec-expectations)) (synopsis "Mocking library for Ruby") @@ -14123,7 +14755,6 @@ can be used to build formatters, linters, language servers, and more.") ruby-rubocop-performance ruby-concurrent-ruby ruby-pry - ruby-pry-byebug ruby-parser ruby-subprocess)) (synopsis "Runtime type checking component for Sorbet") @@ -14558,27 +15189,27 @@ is also included.") (define-public swagger-diff (package (name "swagger-diff") - (version "1.1.2") + (version "2.0.0") (source (origin (method url-fetch) (uri (rubygems-uri "swagger-diff" version)) (sha256 (base32 - "1hxx50nga1bqn254iqjcdwkc9c72364ks9lyjyw10ajz0l0ly7sn")))) + "18kbrijkafs3vfsbaqz0cqfj7jrz3aj8xr4fgn5if63wlximybv2")))) (build-system ruby-build-system) (arguments - `(#:test-target "spec" - #:phases - (modify-phases %standard-phases - ;; Don't run or require rubocop, the code linting tool, as this is a - ;; bit unnecessary. - (add-after 'unpack 'dont-run-rubocop - (lambda _ - (substitute* "Rakefile" - ((".*rubocop.*") "") - ((".*RuboCop.*") "")) - #t))))) + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + ;; Don't run or require rubocop, the code linting tool, as this is a + ;; bit unnecessary. + (add-after 'unpack 'dont-run-rubocop + (lambda _ + (substitute* "Rakefile" + ((".*rubocop.*") "") + ((".*RuboCop.*") ""))))))) (propagated-inputs (list ruby-json-schema)) (native-inputs @@ -15087,13 +15718,13 @@ floating-point numbers or complex numbers as arguments.") (define-public ruby-sucker-punch (package (name "ruby-sucker-punch") - (version "3.0.1") + (version "3.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "sucker_punch" version)) (sha256 - (base32 "0yams24wndpj7dzdysvm4z1w6ggg4xvj4snxba66prahhxvik4xl")))) + (base32 "12by9vx8q6l4i56q62k1s1ymaxbpg4rny5zngj5i5h09kyh2yp4p")))) (build-system ruby-build-system) (arguments `(#:phases @@ -15689,29 +16320,36 @@ HTTPS server, a proxy server, and a virtual-host server.") (license license:bsd-2))) (define-public ruby-websocket - (package - (name "ruby-websocket") - (version "1.2.9") - (source (origin - (method url-fetch) - (uri (rubygems-uri "websocket" version)) - (sha256 - (base32 - "0dib6p55sl606qb4vpwrvj5wh881kk4aqn2zpfapf8ckx7g14jw8")))) - (build-system ruby-build-system) - (arguments (list #:test-target "spec" - #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'disable-rubocop - (lambda _ - (substitute* "Rakefile" - (("require 'rubocop/rake_task'") "") - (("RuboCop::RakeTask.new") ""))))))) - (native-inputs (list ruby-rspec)) - (synopsis "WebSocket protocol Ruby library") - (description "This package provides a Ruby library to handle the WebSocket + (let ((commit "950e416a19a76c7e6a673a7e5baa6283476dbec1") + (revision "1")) + (package + (name "ruby-websocket") + (version (git-version "1.2.9" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/imanel/websocket-ruby") + (commit commit))) + (sha256 + (base32 + "1i6r0glpxy47zdf76aqgcpjgcgydla0733hfdhp628pmrinnkgwv")) + (file-name (git-file-name name version)))) + (build-system ruby-build-system) + (arguments (list #:test-target "spec" + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'disable-rubocop + (lambda _ + (substitute* "Rakefile" + (("require 'rubocop/rake_task'") "") + (("RuboCop::RakeTask.new") ""))))))) + (native-inputs + (list ruby-rspec + ruby-webrick)) + (synopsis "WebSocket protocol Ruby library") + (description "This package provides a Ruby library to handle the WebSocket protocol.") - (home-page "https://github.com/imanel/websocket-ruby") - (license license:expat))) + (home-page "https://github.com/imanel/websocket-ruby") + (license license:expat)))) (define-public ruby-interception (package @@ -15765,7 +16403,7 @@ any unhandled exceptions.") (define-public ruby-braintree (package (name "ruby-braintree") - (version "4.10.0") + (version "4.12.0") (source (origin (method git-fetch) ;for tests @@ -15774,27 +16412,30 @@ any unhandled exceptions.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "01b5bp8q038ray5wwg3qhg4hj3r5a48vnfzs3gxkdjm5ky6bmn4p")))) + (base32 "0gfgkymy3655drwgs42bj9ap9qib1l30sajxmypmp6s75m9w3gsh")))) (build-system ruby-build-system) (arguments - `(#:test-target "test:unit" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'disable-rubocop - (lambda _ - (substitute* "Rakefile" - (("sh \"rubocop\"") "")))) - (add-after 'unpack 'relax-requirements - (lambda _ - (substitute* "Gemfile" - (("gem \"libxml-ruby\", \"3.2.0\"") - "gem \"libxml-ruby\", \"~> 3.0.0\"") - (("gem \"rspec\", \"3.9.0\"") - "gem \"rspec\", \">= 3.9.0\"") - (("gem \"webrick\", \"~>1.7.0\"") - "gem \"webrick\", \">=1.7.0\"") - ((".*gem \"rubocop\".*") "") - ((".*gem \"rspec_junit_formatter\".*") ""))))))) + (list + #:test-target "test:unit" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-rubocop + (lambda _ + (substitute* "Rakefile" + (("sh \"rubocop\"") "")))) + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "Gemfile" + (("gem \"pry\".*") "gem 'pry'\n") + (("gem \"rake\".*") "gem 'rake'\n") + (("gem \"libxml-ruby\", \"3.2.0\"") + "gem \"libxml-ruby\", \"~> 3.0.0\"") + (("gem \"rspec\", \"3.9.0\"") + "gem \"rspec\", \">= 3.9.0\"") + (("gem \"webrick\", \"~>1.7.0\"") + "gem \"webrick\", \">=1.7.0\"") + ((".*gem \"rubocop\".*") "") + ((".*gem \"rspec_junit_formatter\".*") ""))))))) (native-inputs (list ruby-libxml ruby-pry @@ -15876,24 +16517,23 @@ and Nokogiri.") (define-public ruby-wapiti (package (name "ruby-wapiti") - (version "2.0.0") + (version "2.1.0") ;; the gem archive lacks tests (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/inukshuk/wapiti-ruby") - (commit version))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1kawqw45j7mqk5zmwbn67x1vxiapdgm2ypqqz2bs9l5s7nglzr5b")))) + "1273dqvn6flq2qv9qbp104rgc7zp1gqx4096s0v0z5f0qnhzc7d6")))) (build-system ruby-build-system) (propagated-inputs (list ruby-builder ruby-rexml)) (native-inputs - (list ruby-byebug - ruby-pry + (list ruby-pry ruby-rake-compiler ruby-rspec ruby-simplecov)) @@ -15973,6 +16613,7 @@ parts (e.g., given and family names, honorifics etc.).") (arguments ;; thanks to the Gentoo packagers for figuring this out (list + #:ruby ruby-2.7 #:phases #~(modify-phases %standard-phases (add-after 'extract-gemspec 'fix-tests @@ -16154,8 +16795,7 @@ markdown syntax document and passes the Markdown 1.0 test suite.") ruby-rdf ruby-rdf-vocab)) (native-inputs - (list ruby-byebug - ruby-cucumber + (list ruby-cucumber ruby-minitest ruby-yard)) (arguments @@ -16225,6 +16865,57 @@ process citations, a dedicated processor engine is required: a pure Ruby engine is available in the @code{citeproc-ruby} gem.") (license (list license:agpl3+ license:bsd-2)))) +(define-public ruby-ed25519 + (package + (name "ruby-ed25519") + (version "1.3.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RubyCrypto/ed25519") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1jm5w2dyhyrndcx0d02v0gjbzl1abhbx2wkp3gxzwcndghmkz98r")))) + (build-system ruby-build-system) + (arguments + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'compile + (lambda _ + (invoke "rake" "compile"))) + (add-after 'unpack 'remove-unnecessary-dependencies + (lambda _ + ;; Coveralls relates to a network service, and RuboCop to code + ;; linting and both are unnecessary to run the tests + (substitute* "Gemfile" + ((".*coveralls.*") + "\n") + ((".*rubocop.*") + "\n")) + (substitute* "spec/spec_helper.rb" + (("require \"coveralls\"") + "") + (("Coveralls.wear!") + "")) + (substitute* "Rakefile" + (("require \"rubocop/rake_task\"") + "") + (("RuboCop::RakeTask.new") + ""))))))) + (native-inputs (list ruby-rake-compiler ruby-rspec)) + (synopsis + "Ruby binding to the Ed25519 elliptic curve public-key signature system") + (description + "This package provides a Ruby binding to the Ed25519 elliptic curve +public-key signature system described in +@url{https://www.ietf.org/rfc/rfc8032.txt, RFC 8032}.") + (home-page "https://github.com/RubyCrypto/ed25519") + (license license:expat))) + (define-public ruby-edtf (package (name "ruby-edtf") diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 2337b60ee9..215ea741f8 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -138,6 +138,12 @@ (("\\./configure") (string-append (which "sh") " configure"))) #t)) + ;; disable array-parameter warnings that become errors while + ;; compiling microcode target + (add-before 'configure 'set-flags + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CFLAGS" "-Wno-array-parameter") + (setenv "CPPFLAGS" "-Wno-array-parameter"))) (replace 'build (lambda* (#:key system outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 39954d6764..1f8c128eba 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net> ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> ;;; Copyright © 2023 Alexey Abramov <levenson@mmer.org> +;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,6 +42,7 @@ #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages autotools) @@ -58,6 +60,8 @@ #:use-module (gnu packages lua) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-science) #:use-module (gnu packages python-xyz) #:use-module (gnu packages perl)) @@ -613,6 +617,61 @@ object, without whitespace.") RPC system. Think JSON, except binary. Or think Protocol Buffers, except faster.") (license license:expat))) +(define-public python-msgspec + (package + (name "python-msgspec") + (version "0.16.0") + (source (origin + ;; There are no tests in the PyPI tarball. + (method git-fetch) + (uri (git-reference + (url "https://github.com/jcrist/msgspec") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "09q567klcv7ly60w9lqip2ffyhrij100ky9igh3p3vqwbml33zb3")))) + (build-system pyproject-build-system) + (arguments + (list + ;; Disable only one failing test. + ;; + ;; AssertionError: msgspec/structs.pyi:7: error: Positional-only + ;; parameters are only supported in Python 3.8 and greater + #:test-flags #~(list "-k" "not test_mypy") + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'versioneer + (lambda _ + (invoke "versioneer" "install") + (substitute* "setup.py" + (("version=versioneer.get_version\\(),") + (format #f "version=~s," #$version)))))))) + (native-inputs (list python-attrs + python-gcovr + python-msgpack + python-mypy + python-pytest + python-setuptools-scm + python-versioneer)) + (propagated-inputs (list python-pyyaml python-tomli python-tomli-w)) + (home-page "https://jcristharif.com/msgspec/") + (synopsis "Fast serialization/validation library") + (description "@code{msgspec} is a fast serialization and validation +library, with builtin support for JSON, MessagePack, YAML, and TOML. It +includes the following features: + +@itemize +@item High performance encoders/decoders for common protocols. +@item Support for a wide variety of Python types. +@item Zero-cost schema validation using familiar Python type annotations. +@item A speedy Struct type for representing structured data. +@end itemize") + ;; XXX: It might support more architectures but GitHub Actions listed only + ;; two right now. Try to build for the rest supported by Guix. See: + ;; https://github.com/jcrist/msgspec/blob/main/.github/workflows/ci.yml#L83 + (supported-systems (list "x86_64-linux" "aarch64-linux")) + (license license:bsd-3))) + (define-public python-ruamel.yaml (package (name "python-ruamel.yaml") diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index a3b16aaae8..16a4bba92f 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -644,8 +644,8 @@ operating system.") (license license:bsd-3)))) (define-public linenoise - (let ((commit "2105ce445821381cf1bca87b6d386d4ea88ee20d") - (revision "1")) + (let ((commit "93b2db9bd4968f76148dd62cdadf050ed50b84b3") + (revision "2")) (package (name "linenoise") (version (string-append "1.0-" revision "." (string-take commit 7))) @@ -658,7 +658,7 @@ operating system.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1z16qwix8z6a40fskdgxsibkqgdrp4q6ncp4n6hnv4r9iihy2d8r")))) + "102gwq6bzjq2b1lf55wrpgym58yfhry56hkajbj339m0bs1xijhs")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests are included diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm index 070613afe1..cbeaa05b3d 100644 --- a/gnu/packages/shellutils.scm +++ b/gnu/packages/shellutils.scm @@ -188,33 +188,32 @@ in Zsh intelligently.") (build-system gnu-build-system) (native-inputs (list ruby - ruby-byebug ruby-pry ruby-rspec ruby-rspec-wait tmux zsh)) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-tests - (lambda _ - ;; Failing tests since tmux-3.2a - (delete-file "spec/options/buffer_max_size_spec.rb"))) - (delete 'configure) - (replace 'check ; Tests use ruby's bundler; instead execute rspec directly. - (lambda _ - (setenv "TMUX_TMPDIR" (getenv "TMPDIR")) - (setenv "SHELL" (which "zsh")) - (invoke "rspec"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (zsh-plugins + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda _ + ;; Failing tests since tmux-3.2a + (delete-file "spec/options/buffer_max_size_spec.rb"))) + (delete 'configure) + (replace 'check ; Tests use ruby's bundler; instead execute rspec directly. + (lambda _ + (setenv "TMUX_TMPDIR" (getenv "TMPDIR")) + (setenv "SHELL" (which "zsh")) + (invoke "rspec"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (zsh-plugins (string-append out "/share/zsh/plugins/zsh-autosuggestions"))) - (invoke "make" "all") - (install-file "zsh-autosuggestions.zsh" zsh-plugins) - #t)))))) + (invoke "make" "all") + (install-file "zsh-autosuggestions.zsh" zsh-plugins))))))) (home-page "https://github.com/zsh-users/zsh-autosuggestions") (synopsis "Fish-like autosuggestions for zsh") (description diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm index 059be5a2be..a4aac0ebf8 100644 --- a/gnu/packages/simulation.scm +++ b/gnu/packages/simulation.scm @@ -569,108 +569,111 @@ FFC is part of the FEniCS Project.") "$ENV{CATCH_DIR}/include" back "\n"))))))) (build-system cmake-build-system) (inputs - `(("blas" ,openblas) - ("boost" ,boost) - ("eigen" ,eigen) - ("hdf5" ,hdf5-parallel-openmpi) - ("lapack" ,lapack) - ("libxml2" ,libxml2) - ("openmpi" ,openmpi) - ("python" ,python-3) - ("scotch" ,pt-scotch32) - ("suitesparse" ,suitesparse) - ("sundials" ,sundials-openmpi) - ("zlib" ,zlib))) + (list openblas + boost + eigen + hdf5-parallel-openmpi + lapack + libxml2 + openmpi + python-3 + pt-scotch32 + suitesparse + sundials-openmpi + zlib)) (native-inputs - `(("catch" ,catch2-1) - ("pkg-config" ,pkg-config))) + (list catch-framework pkg-config)) (propagated-inputs - `(("ffc" ,python-fenics-ffc) - ("petsc" ,petsc-openmpi) - ("slepc" ,slepc-openmpi))) + (list python-fenics-ffc petsc-openmpi slepc-openmpi)) (arguments - `(#:configure-flags - `("-DDOLFIN_ENABLE_DOCS:BOOL=OFF" - "-DDOLFIN_ENABLE_HDF5:BOOL=ON" - "-DDOLFIN_ENABLE_MPI:BOOL=ON" - "-DDOLFIN_ENABLE_PARMETIS:BOOL=OFF" - "-DDOLFIN_ENABLE_SCOTCH:BOOL=ON" - "-DDOLFIN_ENABLE_SUNDIALS:BOOL=ON" - "-DDOLFIN_ENABLE_TRILINOS:BOOL=OFF") - #:phases - (modify-phases %standard-phases - (add-after 'patch-usr-bin-file 'mpi-setup - ,%openmpi-setup) - (add-after 'patch-source-shebangs 'set-paths - (lambda _ - ;; Define paths to store locations. - (setenv "BLAS_DIR" (assoc-ref %build-inputs "blas")) - (setenv "CATCH_DIR" (assoc-ref %build-inputs "catch")) - (setenv "LAPACK_DIR" (assoc-ref %build-inputs "lapack")) - (setenv "PETSC_DIR" (assoc-ref %build-inputs "petsc")) - (setenv "SLEPC_DIR" (assoc-ref %build-inputs "slepc")) - (setenv "SCOTCH_DIR" (assoc-ref %build-inputs "scotch")) - (setenv "SUNDIALS_DIR" (assoc-ref %build-inputs "sundials")) - (setenv "UMFPACK_DIR" (assoc-ref %build-inputs "suitesparse")))) - (add-before 'check 'pre-check - (lambda _ - ;; The Dolfin repository uses git-lfs, whereby web links are - ;; substituted for large files. Guix does not currently support - ;; git-lfs, so only the links are downloaded. The tests that - ;; require the absent meshes cannot run and are skipped. - ;; - ;; One serial test fails and is skipped. - ;; i) demo_multimesh-stokes_serial: - ;; Warning: Found no facets matching domain for boundary - ;; condition. - ;; - ;; One mpi test fails and is skipped. - ;; i) demo_stokes-iterative_mpi: - ;; The MPI_Comm_rank() function was called before MPI_INIT was - ;; invoked - (call-with-output-file "CTestCustom.cmake" - (lambda (port) - (display - (string-append - "set(CTEST_CUSTOM_TESTS_IGNORE " - "demo_bcs_serial " - "demo_bcs_mpi " - "demo_eigenvalue_serial " - "demo_eigenvalue_mpi " - "demo_navier-stokes_serial " - "demo_navier-stokes_mpi " - "demo_stokes-taylor-hood_serial " - "demo_stokes-taylor-hood_mpi " - "demo_subdomains_serial " - "demo_advection-diffusion_serial " - "demo_advection-diffusion_mpi " - "demo_auto-adaptive-navier-stokes_serial " - "demo_contact-vi-snes_serial " - "demo_contact-vi-snes_mpi " - "demo_contact-vi-tao_serial " - "demo_contact-vi-tao_mpi " - "demo_curl-curl_serial " - "demo_curl-curl_mpi " - "demo_dg-advection-diffusion_serial " - "demo_dg-advection-diffusion_mpi " - "demo_elasticity_serial " - "demo_elasticity_mpi " - "demo_elastodynamics_serial " - "demo_elastodynamics_mpi " - "demo_lift-drag_serial " - "demo_lift-drag_mpi " - "demo_mesh-quality_serial " - "demo_mesh-quality_mpi " - "demo_multimesh-stokes_serial " - ")\n") port))))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "make" "unittests") - (invoke "make" "demos") - (invoke "ctest" "-R" "unittests") - (invoke "ctest" "-R" "demo" "-R" "serial") - (invoke "ctest" "-R" "demo" "-R" "mpi"))))))) + (list #:configure-flags #~`("-DDOLFIN_ENABLE_DOCS:BOOL=OFF" + "-DDOLFIN_ENABLE_HDF5:BOOL=ON" + "-DDOLFIN_ENABLE_MPI:BOOL=ON" + "-DDOLFIN_ENABLE_PARMETIS:BOOL=OFF" + "-DDOLFIN_ENABLE_SCOTCH:BOOL=ON" + "-DDOLFIN_ENABLE_SUNDIALS:BOOL=ON" + "-DDOLFIN_ENABLE_TRILINOS:BOOL=OFF") + #:phases + #~(modify-phases %standard-phases + (add-after 'patch-usr-bin-file 'mpi-setup + #$%openmpi-setup) + (add-after 'patch-source-shebangs 'set-paths + (lambda _ + ;; Define paths to store locations. + (setenv "BLAS_DIR" + #$(this-package-input "openblas")) + (setenv "CATCH_DIR" + #$(this-package-input "catch")) + (setenv "LAPACK_DIR" + #$(this-package-input "lapack")) + (setenv "PETSC_DIR" + #$(this-package-input "petsc")) + (setenv "SLEPC_DIR" + #$(this-package-input "slepc")) + (setenv "SCOTCH_DIR" + #$(this-package-input "scotch")) + (setenv "SUNDIALS_DIR" + #$(this-package-input "sundials")) + (setenv "UMFPACK_DIR" + #$(this-package-input "suitesparse")))) + (add-before 'check 'pre-check + (lambda _ + ;; The Dolfin repository uses git-lfs, whereby web links are + ;; substituted for large files. Guix does not currently support + ;; git-lfs, so only the links are downloaded. The tests that + ;; require the absent meshes cannot run and are skipped. + ;; + ;; One serial test fails and is skipped. + ;; i) demo_multimesh-stokes_serial: + ;; Warning: Found no facets matching domain for boundary + ;; condition. + ;; + ;; One mpi test fails and is skipped. + ;; i) demo_stokes-iterative_mpi: + ;; The MPI_Comm_rank() function was called before MPI_INIT was + ;; invoked + (call-with-output-file "CTestCustom.cmake" + (lambda (port) + (display (string-append + "set(CTEST_CUSTOM_TESTS_IGNORE " + "demo_bcs_serial " + "demo_bcs_mpi " + "demo_eigenvalue_serial " + "demo_eigenvalue_mpi " + "demo_navier-stokes_serial " + "demo_navier-stokes_mpi " + "demo_stokes-taylor-hood_serial " + "demo_stokes-taylor-hood_mpi " + "demo_subdomains_serial " + "demo_advection-diffusion_serial " + "demo_advection-diffusion_mpi " + "demo_auto-adaptive-navier-stokes_serial " + "demo_contact-vi-snes_serial " + "demo_contact-vi-snes_mpi " + "demo_contact-vi-tao_serial " + "demo_contact-vi-tao_mpi " + "demo_curl-curl_serial " + "demo_curl-curl_mpi " + "demo_dg-advection-diffusion_serial " + "demo_dg-advection-diffusion_mpi " + "demo_elasticity_serial " + "demo_elasticity_mpi " + "demo_elastodynamics_serial " + "demo_elastodynamics_mpi " + "demo_lift-drag_serial " + "demo_lift-drag_mpi " + "demo_mesh-quality_serial " + "demo_mesh-quality_mpi " + "demo_multimesh-stokes_serial " + ")\n") port))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "make" "unittests") + (invoke "make" "demos") + (invoke "ctest" "-R" "unittests") + (invoke "ctest" "-R" "demo" "-R" "serial") + (invoke "ctest" "-R" "demo" "-R" "mpi"))))))) (home-page "https://bitbucket.org/fenics-project/dolfin/") (synopsis "Problem solving environment for differential equations") (description @@ -708,101 +711,114 @@ user interface to the FEniCS core components and external libraries.") (name "fenics") (build-system python-build-system) (inputs - `(("pybind11" ,pybind11) - ("python-matplotlib" ,python-matplotlib) - ,@(alist-delete "python" (package-inputs fenics-dolfin)))) + (modify-inputs (package-inputs fenics-dolfin) + (delete "python") + (prepend pybind11 python-matplotlib))) (native-inputs - `(("cmake" ,cmake-minimal) - ("ply" ,python-ply) - ("pytest" ,python-pytest) - ("python-decorator" ,python-decorator) - ("python-pkgconfig" ,python-pkgconfig) - ,@(package-native-inputs fenics-dolfin))) + (modify-inputs (package-native-inputs fenics-dolfin) + (prepend cmake-minimal python-ply python-pytest python-decorator))) (propagated-inputs - `(("dolfin" ,fenics-dolfin) - ("petsc4py" ,python-petsc4py) - ("slepc4py" ,python-slepc4py))) + (list fenics-dolfin + python-petsc4py + python-slepc4py + + ;; 'dolfin/jit/jit.py' parses 'dolfin.pc' at run time. + python-pkgconfig)) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'relax-requirements - (lambda _ - (substitute* "python/setup.py" - (("pybind11==") "pybind11>=")))) - (add-after 'patch-source-shebangs 'set-paths - (lambda _ - ;; Define paths to store locations. - (setenv "PYBIND11_DIR" (assoc-ref %build-inputs "pybind11")) - ;; Move to python sub-directory. - (chdir "python"))) - (add-after 'build 'mpi-setup - ,%openmpi-setup) - (add-before 'check 'pre-check - (lambda _ - ;; Exclude three tests that generate - ;; 'NotImplementedError' in matplotlib version 3.1.2. - ;; See - ;; <https://github.com/matplotlib/matplotlib/issues/15382>. - ;; Also exclude tests that require meshes supplied by - ;; git-lfs. - (substitute* "demo/test.py" - (("(.*stem !.*)" line) - (string-append - line "\n" - "excludeList = [\n" - "'built-in-meshes', \n" - "'hyperelasticity', \n" - "'elasticity', \n" - "'multimesh-quadrature', \n" - "'multimesh-marking', \n" - "'mixed-poisson-sphere', \n" - "'mesh-quality', \n" - "'lift-drag', \n" - "'elastodynamics', \n" - "'dg-advection-diffusion', \n" - "'curl-curl', \n" - "'contact-vi-tao', \n" - "'contact-vi-snes', \n" - "'collision-detection', \n" - "'buckling-tao', \n" - "'auto-adaptive-navier-stokes', \n" - "'advection-diffusion', \n" - "'subdomains', \n" - "'stokes-taylor-hood', \n" - "'stokes-mini', \n" - "'navier-stokes', \n" - "'eigenvalue']\n" - "demos = [" - "d for d in demos if d[0].stem not in " - "excludeList]\n"))) - (setenv "HOME" (getcwd)) - ;; Restrict OpenBLAS to MPI-only in preference to MPI+OpenMP. - (setenv "OPENBLAS_NUM_THREADS" "1"))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (with-directory-excursion "test" - (invoke - "pytest" "unit" - ;; The test test_snes_set_from_options() in the file - ;; unit/nls/test_PETScSNES_solver.py fails and is ignored. - "--ignore" "unit/nls/test_PETScSNES_solver.py" - ;; Fails with a segfault. - "--ignore" "unit/io/test_XDMF.py"))))) - (add-after 'install 'install-demo-files - (lambda* (#:key outputs #:allow-other-keys) - (let* ((demos (string-append - (assoc-ref outputs "out") - "/share/python-dolfin/demo"))) - (mkdir-p demos) - (with-directory-excursion "demo" - (for-each (lambda (file) - (let* ((dir (dirname file)) - (tgt-dir (string-append demos "/" dir))) - (unless (equal? "." dir) - (mkdir-p tgt-dir) - (install-file file tgt-dir)))) - (find-files "." ".*\\.(py|gz|xdmf)$"))))))))) + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "python/setup.py" + (("pybind11==") + "pybind11>=")))) + (add-after 'unpack 'set-dolfin-pc-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; Instead of cluttering the user's 'PKG_CONFIG_PATH' environment + ;; variable, hard-code the 'dolfin.pc' absolute file name. + (let ((pc-file (search-input-file inputs + "/lib/pkgconfig/dolfin.pc"))) + (substitute* "python/dolfin/jit/jit.py" + (("pkgconfig\\.parse\\(\"dolfin\"\\)") + (string-append "pkgconfig.parse(\"" pc-file + "\")")))))) + (add-after 'patch-source-shebangs 'set-paths + (lambda _ + ;; Define paths to store locations. + (setenv "PYBIND11_DIR" #$(this-package-input "pybind11")) + ;; Move to python sub-directory. + (chdir "python"))) + (add-after 'build 'mpi-setup + #$%openmpi-setup) + (add-before 'check 'pre-check + (lambda _ + ;; Exclude three tests that generate + ;; 'NotImplementedError' in matplotlib version 3.1.2. + ;; See + ;; <https://github.com/matplotlib/matplotlib/issues/15382>. + ;; Also exclude tests that require meshes supplied by + ;; git-lfs. + (substitute* "demo/test.py" + (("(.*stem !.*)" line) + (string-append line + "\n" + "excludeList = [\n" + "'built-in-meshes', \n" + "'hyperelasticity', \n" + "'elasticity', \n" + "'multimesh-quadrature', \n" + "'multimesh-marking', \n" + "'mixed-poisson-sphere', \n" + "'mesh-quality', \n" + "'lift-drag', \n" + "'elastodynamics', \n" + "'dg-advection-diffusion', \n" + "'curl-curl', \n" + "'contact-vi-tao', \n" + "'contact-vi-snes', \n" + "'collision-detection', \n" + "'buckling-tao', \n" + "'auto-adaptive-navier-stokes', \n" + "'advection-diffusion', \n" + "'subdomains', \n" + "'stokes-taylor-hood', \n" + "'stokes-mini', \n" + "'navier-stokes', \n" + "'eigenvalue']\n" + "demos = [" + "d for d in demos if d[0].stem not in " + "excludeList]\n"))) + (setenv "HOME" + (getcwd)) + ;; Restrict OpenBLAS to MPI-only in preference to MPI+OpenMP. + (setenv "OPENBLAS_NUM_THREADS" "1"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (with-directory-excursion "test" + (invoke "pytest" + "unit" + ;; The test test_snes_set_from_options() in the file + ;; unit/nls/test_PETScSNES_solver.py fails and is ignored. + "--ignore" + "unit/nls/test_PETScSNES_solver.py" + ;; Fails with a segfault. + "--ignore" + "unit/io/test_XDMF.py"))))) + (add-after 'install 'install-demo-files + (lambda* (#:key outputs #:allow-other-keys) + (let* ((demos (string-append (assoc-ref outputs "out") + "/share/python-dolfin/demo"))) + (mkdir-p demos) + (with-directory-excursion "demo" + (for-each (lambda (file) + (let* ((dir (dirname file)) + (tgt-dir (string-append + demos "/" dir))) + (unless (equal? "." dir) + (mkdir-p tgt-dir) + (install-file file tgt-dir)))) + (find-files "." ".*\\.(py|gz|xdmf)$"))))))))) (home-page "https://fenicsproject.org/") (synopsis "High-level environment for solving differential equations") (description diff --git a/gnu/packages/spreadsheet.scm b/gnu/packages/spreadsheet.scm index 0016f38aff..363d0ae16f 100644 --- a/gnu/packages/spreadsheet.scm +++ b/gnu/packages/spreadsheet.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020, 2021 Ryan Prior <rprior@protonmail.com> ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech> -;;; Copyright © 2021 Jorge Gomez <jgart@dismail.de> +;;; Copyright © 2021, 2023 jgart <jgart@dismail.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +20,7 @@ (define-module (gnu packages spreadsheet) #:use-module (guix packages) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix download) #:use-module (guix utils) @@ -27,6 +28,7 @@ #:use-module (guix build-system python) #:use-module (guix licenses) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages check) #:use-module (gnu packages compression) @@ -37,12 +39,13 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages statistics) + #:use-module (gnu packages valgrind) #:use-module (gnu packages xml)) (define-public sc-im (package (name "sc-im") - (version "0.8.2") + (version "0.8.3") (home-page "https://github.com/andmarti1424/sc-im") (source (origin (method git-fetch) @@ -53,20 +56,26 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1nrjnw8sg75i0hkcbvjv7gydjddxjm27d5m1qczpg29fk9991q8z")))) + "10x50smn0xl9k6m0bgfcvpwgvivmjkysawvc4zyibc8nxlqz2na2")))) (build-system gnu-build-system) (arguments - ;; There are no tests at the moment. - ;; https://github.com/andmarti1424/sc-im/issues/537 - ;; https://github.com/andmarti1424/sc-im/pull/385 - `(#:tests? #f - #:make-flags (list "-C" "src" - (string-append "CC=" ,(cc-for-target)) - (string-append "prefix=" %output)) + (list + #:make-flags + #~(list "-C" "src" + (string-append "CC=" #$(cc-for-target)) + (string-append "prefix=" #$output)) #:phases - (modify-phases - %standard-phases - (delete 'configure)))) + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'fix-bash-path-declaration-in-script + (lambda _ + (substitute* "tests/run_all_tests.sh" + (("/bin/bash") (string-append "#!" (which "bash")))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (with-directory-excursion "tests" + (when tests? + (invoke "bash" "run_all_tests.sh")))))))) (inputs (list gnuplot libxls @@ -75,7 +84,11 @@ libzip ncurses)) (native-inputs - (list pkg-config which bison)) + (list bash-minimal + bison + pkg-config + valgrind + which)) (synopsis "Spreadsheet program with vim-like keybindings") (description "@code{sc-im} is a highly configurable spreadsheet program diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 71926c6795..0ac9d78482 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2018 Manuel Graf <graf@init.at> ;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> @@ -49,7 +49,6 @@ #:use-module (gnu packages gperf) #:use-module (gnu packages groff) #:use-module (gnu packages guile) - #:use-module (gnu packages hurd) #:use-module (gnu packages libedit) #:use-module (gnu packages linux) #:use-module (gnu packages logging) @@ -133,7 +132,7 @@ file names. (define-public libssh (package (name "libssh") - (version "0.10.4") + (version "0.10.5") (source (origin (method url-fetch) (uri (string-append "https://www.libssh.org/files/" @@ -141,7 +140,7 @@ file names. "/libssh-" version ".tar.xz")) (sha256 (base32 - "0zfr9fy4vg1bmz1k836hg9wi20mmaz2sgw61s6464iv1mda2qf87")) + "0d22gq77ga24ijlgr3d1wvhfvprx61iklkb3npifxfb7ygvjy3mn")) (modules '((guix build utils))) (snippet ;; 'PATH_MAX' is undefined on GNU/Hurd; work around it. @@ -213,7 +212,7 @@ a server that supports the SSH-2 protocol.") (native-inputs (list groff pkg-config)) (inputs `(("libedit" ,libedit) ("openssl" ,openssl) - ,@(if (hurd-target?) + ,@(if (target-hurd?) '() `(("pam" ,linux-pam) ("libfido2" ,libfido2))) ;fails to build on GNU/Hurd @@ -239,7 +238,7 @@ a server that supports the SSH-2 protocol.") "--with-libedit" ;; Enable PAM support in sshd. - ,,@(if (hurd-target?) + ,,@(if (target-hurd?) '() '("--with-pam" diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index e025653338..f28e60362c 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -81,6 +81,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-science) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) @@ -622,14 +623,14 @@ for reading and writing some dBase files.") (define-public r-kernsmooth (package (name "r-kernsmooth") - (version "2.23-21") + (version "2.23-22") (source (origin (method url-fetch) (uri (cran-uri "KernSmooth" version)) (sha256 (base32 - "12qsy90cmcg8pdvcpasdskh82x9d83xdznibi9b7z1hkw8ccnqrx")))) + "1sblhl7b9d3m6034xd3254ddkj9ssqxawknzksfbgjh68s849q3n")))) (properties `((upstream-name . "KernSmooth"))) (build-system r-build-system) (native-inputs @@ -666,14 +667,14 @@ also flexible enough to handle most nonstandard requirements.") (define-public r-matrix (package (name "r-matrix") - (version "1.5-4.1") + (version "1.6-0") (source (origin (method url-fetch) (uri (cran-uri "Matrix" version)) (sha256 (base32 - "0bh87f6yll06q0068wavwmagvsc0p95g7071zsjr2yzb2dr5i2b5")))) + "17dpfqyr68dldlj4v26rjrwv6pv87czj9szqqp64fwczyy0fdszb")))) (properties `((upstream-name . "Matrix"))) (build-system r-build-system) (propagated-inputs @@ -955,19 +956,20 @@ effects of different types of color-blindness.") (define-public r-digest (package (name "r-digest") - (version "0.6.31") + (version "0.6.33") (source (origin (method url-fetch) (uri (cran-uri "digest" version)) (sha256 - (base32 "1f9isi4i2502f88c2sh4l461hgyary2aa02zd47pb9mc1r4lya2s")))) + (base32 "06bq696wpmn8ivbrpxw0qlcf835kc515m8jfv9zbwf8ndf42qw5y")))) (build-system r-build-system) ;; Vignettes require r-knitr, which requires r-digest, so we have to ;; disable them and the tests. (arguments `(#:tests? #f #:configure-flags (list "--no-build-vignettes"))) + (native-inputs (list r-simplermarkdown)) (home-page "https://dirk.eddelbuettel.com/code/digest.html") (synopsis "Create cryptographic hash digests of R objects") (description @@ -1717,13 +1719,13 @@ R packages that praise their users.") (define-public r-testthat (package (name "r-testthat") - (version "3.1.8") + (version "3.1.10") (source (origin (method url-fetch) (uri (cran-uri "testthat" version)) (sha256 (base32 - "09y8gdzssb41m8j2ph12g6nlwxm02075aiyc5bb6lsqgvnpzi4rl")))) + "1xh80rxv0whz618kpwzlzg0jg2vhm4073nyx03hd4xpg0ifhhd9i")))) (build-system r-build-system) (propagated-inputs (list r-brio @@ -1862,14 +1864,14 @@ database.") (define-public r-dbplyr (package (name "r-dbplyr") - (version "2.3.2") + (version "2.3.3") (source (origin (method url-fetch) (uri (cran-uri "dbplyr" version)) (sha256 (base32 - "1b3zf2ai4kp96wd6i4jg9b3n37bwbw7lfvxvs1i1kcn6brch1p0d")))) + "1d3m7bhd8n5l0x1phfwzgrw2kwfyahb9yd61bbcnryd6m8c8kr3w")))) (build-system r-build-system) (propagated-inputs (list r-blob @@ -1945,14 +1947,14 @@ side.") (define-public r-locfit (package (name "r-locfit") - (version "1.5-9.7") + (version "1.5-9.8") (source (origin (method url-fetch) (uri (cran-uri "locfit" version)) (sha256 (base32 - "1zvsa7hvnp0pvjyy0nnrg8bdv8gv4l23jb66wkc0kipvi78grra8")))) + "1qqxw69p42l4szr2fl73bdydpcbxn68iyxyyjy7qy3p56bxrn2hd")))) (build-system r-build-system) (propagated-inputs (list r-lattice)) @@ -2026,6 +2028,74 @@ and fast file reading.") "This package provides tools to export R data as LaTeX and HTML tables.") (license license:gpl2+))) +(define-public python-vega-datasets + (package + (name "python-vega-datasets") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "vega_datasets" version)) + (sha256 + (base32 "1h1zv607mars2j73v8fdwihjh479blqxyw29nhmc73lf40s9iglx")) + (modules '((guix build utils))) + (patches + (search-patches "python-vega-datasets-remove-la-riots-code.patch")))) + (build-system pyproject-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-la-riots-dataset + ;; Remove dataset with unclear license. + (lambda _ + (delete-file "vega_datasets/_data/la-riots.csv")))))) + (native-inputs (list python-pytest)) + (propagated-inputs (list python-pandas)) + (home-page "https://github.com/altair-viz/vega_datasets") + (synopsis "Example datasets used by Vega-related projects") + (description "This package provides a collection of datasets used in Vega +and Vega-Lite examples.") + (license license:expat))) + +(define-public python-altair + (package + (name "python-altair") + (version "5.0.1") + (source (origin + (method git-fetch) ; no tests in PyPI + (uri (git-reference + (url "https://github.com/altair-viz/altair") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1r74v5n51br9pjhxdzrr62cdgnwkapci93aifnl8dqmfpizfpd7d")))) + (build-system pyproject-build-system) + (arguments + ;; First two open an external connection. + ;; Last introduces a circular dependency on altair-viewer. + (list #:test-flags #~(list "-k" (string-append + "not test_from_and_to_json_roundtrip" + " and not test_render_examples_to_chart" + " and not test_save_html")))) + (propagated-inputs (list python-jinja2 + python-jsonschema + python-numpy + python-pandas + python-toolz + python-typing-extensions)) + (native-inputs (list python-black + python-hatchling + python-ipython + python-m2r + python-pytest + python-vega-datasets)) + (home-page "https://altair-viz.github.io/") + (synopsis "Declarative statistical visualization library for Python") + (description + "Vega-Altair is a declarative statistical visualization library for Python.") + (license license:expat))) + (define-public python-hdmedians (package (name "python-hdmedians") @@ -2056,6 +2126,111 @@ point (up to 50% contamination) and have a number of nice applications in machine learning, computer vision, and high-dimensional statistics.") (license license:asl2.0))) +(define-public python-arviz + (package + (name "python-arviz") + (version "0.15.1") + (source (origin + (method git-fetch) ; PyPI misses some test files + (uri (git-reference + (url "https://github.com/arviz-devs/arviz") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nqr4v927r9kc50z7rwlk2m8nw3dnnmmwmwcfijzd93gbg53wc4f")))) + (build-system pyproject-build-system) + (arguments + ;; FIXME: matplotlib tests fail because of the "--save" test flag. + (list #:test-flags #~'("--ignore" + "arviz/tests/base_tests/test_plots_matplotlib.py") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-radon + (lambda _ + (delete-file + ;; This dataset is loaded remotely, it's not supposed to + ;; be copied locally. + "arviz/data/example_data/code/radon/radon.json"))) + (add-before 'check 'write-permission + (lambda _ + ;; 3 tests require write permission. + (setenv "HOME" "/tmp")))))) + (native-inputs (list python-cloudpickle python-pytest)) + (propagated-inputs (list python-h5netcdf + python-matplotlib + python-numpy + python-packaging + python-pandas + python-scipy + python-typing-extensions + python-xarray + python-xarray-einstats)) + (home-page "https://github.com/arviz-devs/arviz") + (synopsis "Exploratory analysis of Bayesian models") + (description + "ArviZ is a Python package for exploratory analysis of Bayesian models. +It includes functions for posterior analysis, data storage, model checking, +comparison and diagnostics.") + (license license:asl2.0))) + +(define-public python-pymc + (package + (name "python-pymc") + (version "5.5.0") + (source (origin + (method git-fetch) ; no tests in PyPI + (uri (git-reference + (url "https://github.com/pymc-devs/pymc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "077xigv3lfcn9fqc14rsnam4v95fmqk2wpzfrgj08vg8m7f69wdj")))) + (build-system pyproject-build-system) + (arguments + (list #:tests? #f ; tests are too computationally intensive + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'versioneer + (lambda _ + (with-output-to-file "setup.cfg" + (lambda () + (display "\ +[versioneer] +VCS = git +style = pep440 +versionfile_source = pymc/_version.py +versionfile_build = pymc/_version.py +tag_prefix = +parentdir_prefix = pymc- +"))) + (invoke "versioneer" "install") + (substitute* "setup.py" + (("versioneer.get_version\\(\\)") + (string-append "\"" #$version "\""))))) + ;; To create the compiledir for tests. + (add-before 'check 'write-permissions + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "HOME" "/tmp"))))))) + (native-inputs (list python-pytest-cov python-versioneer)) + (propagated-inputs (list python-arviz + python-cachetools + python-cloudpickle + python-fastprogress + python-numpy + python-pandas + python-pytensor + python-scipy + python-typing-extensions)) + (home-page "https://github.com/pymc-devs/pymc") + (synopsis "Library for probabilistic programming in Python") + (description + "PyMC (formerly PyMC3) is a Python package for Bayesian statistical +modeling focusing on advanced Markov chain Monte Carlo (MCMC) and variational +inference (VI) algorithms.") + (license license:asl2.0))) + (define-public python-patsy (package (name "python-patsy") @@ -2090,41 +2265,49 @@ building design matrices.") (define-public python-statsmodels (package (name "python-statsmodels") - (version "0.13.1") + (version "0.14.0") (source (origin (method url-fetch) (uri (pypi-uri "statsmodels" version)) (sha256 - (base32 "0sbsyxgpzhys5padhkhrj71z4i1q41sm938pz0x8ff6jjvcchvh0")) + (base32 "1927ysv7m46m1x3wz05i0s3r5x0nasmidf2yy54djrp9i7bcfxb8")) (modules '((guix build utils))) (snippet - '(begin - (for-each delete-file (find-files "." "\\.c$")))))) - (build-system python-build-system) + '(for-each delete-file (find-files "." "\\.c$"))))) + (build-system pyproject-build-system) (arguments - `(;; The test suite is very large and rather brittle. Tests often fail - ;; because of minor changes in dependencies that upstream hasn't fixed - ;; in a new release. - #:tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-matplotlib-backend-to-agg - (lambda _ - ;; Set the matplotlib backend to Agg to avoid problems using the - ;; GTK backend without a display. - (substitute* (append (find-files "statsmodels/graphics/tests" "\\.py") - '("statsmodels/tsa/vector_ar/tests/test_var.py" - "statsmodels/duration/tests/test_survfunc.py")) - (("import matplotlib\\.pyplot as plt" line) - (string-append "import matplotlib;matplotlib.use('Agg');" - line))) - #t))))) + (list + ;; The test suite is very large and rather brittle. Tests often fail + ;; because of minor changes in dependencies that upstream hasn't fixed + ;; in a new release. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-matplotlib-backend-to-agg + (lambda _ + ;; Set the matplotlib backend to Agg to avoid problems using the + ;; GTK backend without a display. + (substitute* (append (find-files "statsmodels/graphics/tests" "\\.py") + '("statsmodels/tsa/vector_ar/tests/test_var.py" + "statsmodels/duration/tests/test_survfunc.py")) + (("import matplotlib\\.pyplot as plt" line) + (string-append "import matplotlib;matplotlib.use('Agg');" + line)))))))) (propagated-inputs - (list python-numpy python-scipy python-pandas python-patsy - python-matplotlib)) + (list python-numpy python-packaging python-pandas python-patsy + python-scipy)) (native-inputs - (list python-cython python-nose python-sphinx)) + (list python-colorama + python-cython + python-flake8 + python-isort + python-joblib + python-matplotlib + python-pytest + python-pytest-randomly + python-pytest-xdist + python-setuptools-scm)) (home-page "https://statsmodels.sourceforge.net/") (synopsis "Statistical modeling and econometrics in Python") (description @@ -2178,14 +2361,14 @@ and environmental data in the framework of Euclidean exploratory methods.") (define-public r-xml2 (package (name "r-xml2") - (version "1.3.4") + (version "1.3.5") (source (origin (method url-fetch) (uri (cran-uri "xml2" version)) (sha256 (base32 - "0c1h7fvkrcqcgnky6hhp9ysaraxhqdqjvsdlq0450fk4ishv22rl")))) + "10p214gzzcy2zzcq2xkh1vz2wrjsys5gplvk9c1crq3nmfki0six")))) (build-system r-build-system) (inputs (list libxml2 zlib)) @@ -2576,13 +2759,13 @@ pure C implementation of the Git core methods.") (define-public r-rstudioapi (package (name "r-rstudioapi") - (version "0.14") + (version "0.15.0") (source (origin (method url-fetch) (uri (cran-uri "rstudioapi" version)) (sha256 (base32 - "1i5g9l2739mlaglzg98iifycx98jlzxj5933qfb8lwmdn63hk7a6")))) + "1kvc870gx02cpb800zjvdrhfhyfpzgkydgw2g7kxdlrpr8fwhnwk")))) (build-system r-build-system) (native-inputs (list r-knitr)) @@ -2774,13 +2957,13 @@ well as additional utilities such as panel and axis annotation functions.") (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.12.4.0.0") + (version "0.12.4.1.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "1jw2fhbva0qrgd4cwddjgwl8f8fzkxyp6vysl1qabh5bcp259nzn")))) + "1mf5dpsbjhfwalf4k3yhzgh0j1f40v1g7a3p6crm6xfp0k85jhq3")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) (propagated-inputs @@ -2866,13 +3049,13 @@ certain criterion, e.g., it contains a certain regular file.") (define-public r-rmarkdown (package (name "r-rmarkdown") - (version "2.22") + (version "2.23") (source (origin (method url-fetch) (uri (cran-uri "rmarkdown" version)) (sha256 - (base32 "1f47ccph09ilqlr0bnyrxkadja4ddp4klvb933aws3rya0cmaqy6")))) + (base32 "09f8gfa4cfjwqb44xdr832blbgknn4ciyisvcrpyz5x51iphi3b6")))) (properties `((upstream-name . "rmarkdown") (updater-extra-propagated-inputs . ("pandoc")))) @@ -4174,13 +4357,13 @@ vignettes.") (define-public r-mvtnorm (package (name "r-mvtnorm") - (version "1.2-0") + (version "1.2-2") (source (origin (method url-fetch) (uri (cran-uri "mvtnorm" version)) (sha256 (base32 - "1q1bmsvd10iz003xlsd40dj5bhmy2069p88ydf9f4gj56mysnlpm")))) + "047y4sv1ydvszmzrssywhqfhx2mcrlbkypczgbh380wk7yrncmbg")))) (build-system r-build-system) (native-inputs (list gfortran)) @@ -4384,13 +4567,13 @@ features present in other programming languages.") (define-public r-plotly (package (name "r-plotly") - (version "4.10.1") + (version "4.10.2") (source (origin (method url-fetch) (uri (cran-uri "plotly" version)) (sha256 (base32 - "0yin1kid3a69fcwrrajwzqbhx4xc81x8p8m0yfh1fkm2rfhj22dc")) + "0y2jiyfx895f15wcpizybssic4draw1vgvqz2b7f82z73319m01b")) (modules '((guix build utils))) (snippet '(with-directory-excursion "inst/htmlwidgets/lib/" @@ -4434,8 +4617,8 @@ features present in other programming languages.") (propagated-inputs (list r-base64enc r-crosstalk - r-digest r-data-table + r-digest r-dplyr r-ggplot2 r-htmltools @@ -5400,14 +5583,14 @@ data for species delimitation, nearest neighbor based noise detection.") (define-public r-deoptimr (package (name "r-deoptimr") - (version "1.0-13") + (version "1.0-14") (source (origin (method url-fetch) (uri (cran-uri "DEoptimR" version)) (sha256 (base32 - "1wpqg659vpcd6cgy4sa9qygf0s0w44n46yma8990awkgnbxjmfxa")))) + "0d2ij0ncwjp9kh5bv7nvha8p1g73y620pw62c1q5chvjpjvxshfp")))) (properties `((upstream-name . "DEoptimR"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/DEoptimR") @@ -5423,14 +5606,14 @@ can be efficiently implemented directly in the R language.") (define-public r-robustbase (package (name "r-robustbase") - (version "0.95-1") + (version "0.99-0") (source (origin (method url-fetch) (uri (cran-uri "robustbase" version)) (sha256 (base32 - "1sm37gqs35cvkacigsla8kzvpzjzsrgkabf58ymk9pzcndnx4b46")))) + "0xshwfv6vq47857xfhwnlxcl1511ghn6pyjylrg39i19xhp44za3")))) (build-system r-build-system) (native-inputs (list gfortran)) @@ -5468,14 +5651,14 @@ analysis} (PCA) by projection pursuit.") (define-public r-rrcov (package (name "r-rrcov") - (version "1.7-3") + (version "1.7-4") (source (origin (method url-fetch) (uri (cran-uri "rrcov" version)) (sha256 (base32 - "0shcsfxgb37ggys9d4cyfjs1p2szj52lfkva746fqsx64cvkcfw5")))) + "0jkm2w38kbzicfx2542rb90r7kcrbm7hiaasajw1zq8gb7ffshb3")))) (build-system r-build-system) (propagated-inputs (list r-lattice r-mvtnorm r-pcapp r-robustbase)) @@ -5519,14 +5702,14 @@ generally.") (define-public r-robust (package (name "r-robust") - (version "0.7-1") + (version "0.7-2") (source (origin (method url-fetch) (uri (cran-uri "robust" version)) (sha256 (base32 - "1pv5xvns3p8dpaadf6v0fqz099ml768ahgp271wpiclrcc6cgapg")))) + "1kryflq2p0c78pggnj5yghjivy4npxfkzcqhxh9jvrngkpxhsrb6")))) (build-system r-build-system) (propagated-inputs (list r-fit-models r-lattice r-mass r-robustbase r-rrcov)) @@ -5620,14 +5803,14 @@ VGLMs can be loosely thought of as multivariate generalised linear models.") (define-public r-pbapply (package (name "r-pbapply") - (version "1.7-0") + (version "1.7-2") (source (origin (method url-fetch) (uri (cran-uri "pbapply" version)) (sha256 (base32 - "1h06nz312si2hsy2klrmy6w46q341bl3q5v61g133450w0qykf34")))) + "04xf1p7c0066cwnxfmzaikbc322bxnw022ziv8kkhzlc6268rvdf")))) (build-system r-build-system) (home-page "https://github.com/psolymos/pbapply") (synopsis "Adding progress bar to apply functions") @@ -5790,14 +5973,14 @@ algorithms.") (define-public r-lme4 (package (name "r-lme4") - (version "1.1-33") + (version "1.1-34") (source (origin (method url-fetch) (uri (cran-uri "lme4" version)) (sha256 (base32 - "0409nhvdkkh571gdi9w21z6szkgnmj4sssw3988idh5wgknsamnr")))) + "1bbaxkrd5m3d40y6jdyrdr4vsjyzkfixbqjwj6c8inmks98f2wp8")))) (build-system r-build-system) (propagated-inputs (list r-boot @@ -5805,8 +5988,8 @@ algorithms.") r-mass r-matrix r-minqa - r-nloptr r-nlme + r-nloptr r-rcpp r-rcppeigen)) (native-inputs @@ -6837,14 +7020,14 @@ or eta squared effect size.") (define-public r-logspline (package (name "r-logspline") - (version "2.1.19") + (version "2.1.20") (source (origin (method url-fetch) (uri (cran-uri "logspline" version)) (sha256 (base32 - "1527cnnn5qdjp8gr4yls0jp0aachjz5s2v79vs79vrfyvxp9w89p")))) + "1nsrgz9sh9qg2fj0x7k48lqhpgzq1z78jfz89ckzp5xm4r8lpgcb")))) (properties `((upstream-name . "logspline"))) (build-system r-build-system) (native-inputs (list gfortran)) @@ -6929,13 +7112,13 @@ designs, one-way designs, general ANOVA designs, and linear regression.") (define-public r-norm (package (name "r-norm") - (version "1.0-11.0") + (version "1.0-11.1") (source (origin (method url-fetch) (uri (cran-uri "norm" version)) (sha256 (base32 - "0bj0d518c5cld1h2ymm7sjhd6b3v2h3w8rcn9b5mki1fg20lx2nd")))) + "1g33g721c0f2b275b334ir6n0h81fh567vs9vrxk60y21z1ydzy2")))) (build-system r-build-system) (native-inputs (list gfortran)) diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index 75cd67fd2d..28b5989d6a 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -76,7 +76,7 @@ (define-public nextcloud-client (package (name "nextcloud-client") - (version "3.2.0") + (version "3.8.2") (source (origin (method git-fetch) @@ -87,14 +87,14 @@ (file-name (git-file-name name version)) (sha256 - (base32 "137h65sn4ixspbblvn0r2ngg8234yk582bppkkr87c3krfp21gx4")) + (base32 "0gmj217jmmx13wwb096prwzn3njv616njk1id97g6lrbn969fcnn")) (modules '((guix build utils) (ice-9 ftw) (srfi srfi-1))) (snippet '(begin ;; Not available in Guix. - (let* ((keep '("QProgressIndicator" "qtokenizer"))) + (let* ((keep '("QProgressIndicator" "qtokenizer" "kirigami"))) (with-directory-excursion "src/3rdparty" (for-each delete-file-recursively (lset-difference string=? @@ -103,11 +103,11 @@ (with-directory-excursion "src/gui" (substitute* "CMakeLists.txt" ;; Remove references of deleted 3rdparties. - (("[ \t]*\\.\\./3rdparty/qtlockedfile/?.*\\.cpp") + (("[ \t]*\\.\\./3rdparty/qtlockedfile/?.*\\.(cpp|h)") "") - (("[ \t]*\\.\\./3rdparty/qtsingleapplication/?.*\\.cpp") + (("[ \t]*\\.\\./3rdparty/qtsingleapplication/?.*\\.(cpp|h)") "") - (("[ \t]*\\.\\./3rdparty/kmessagewidget/?.*\\.cpp") + (("[ \t]*\\.\\./3rdparty/kmessagewidget/?.*\\.(cpp|h)") "") (("[ \t]*list\\(APPEND 3rdparty_SRC \\.\\./3rdparty/?.*\\)") "") @@ -121,8 +121,8 @@ "@kwidgetsaddons@") ;; Expand libraries, that used to be statically linked, but ;; no longer are post-vendoring. - (("\\$\\{synclib_NAME\\}") - (string-append "${synclib_NAME} " + (("KF5::Archive") + (string-append "KF5::Archive " "QtSolutions_LockedFile " "QtSolutions_SingleApplication " "KF5WidgetsAddons"))) @@ -137,7 +137,7 @@ (arguments `(#:configure-flags (list - "-DUNIT_TESTING=ON") + "-DUNIT_TESTING=ON" "-DBUILD_UPDATER=OFF") #:imported-modules ((guix build glib-or-gtk-build-system) ,@%qt-build-system-modules) @@ -151,7 +151,7 @@ (lambda* (#:key inputs #:allow-other-keys) ;; Patch install directory for dbus service files. (substitute* "shell_integration/libcloudproviders/CMakeLists.txt" - (("PKGCONFIG_GETVAR\\(.+ _install_dir\\)") + (("pkg_get_variable\\(_install_dir dbus-1 .*\\)") (string-append "set(_install_dir \"${CMAKE_INSTALL_PREFIX}" "/share/dbus-1/services\")"))) (substitute* "shell_integration/dolphin/CMakeLists.txt" @@ -161,6 +161,11 @@ (("@kwidgetsaddons@") (search-input-directory inputs "/include/KF5/KWidgetsAddons/"))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "QT_QPA_PLATFORM" "offscreen") + (invoke "ctest" "-E" "SyncXAttrTest")))) (add-before 'check 'pre-check (lambda _ ;; Tests write to $HOME. @@ -176,6 +181,7 @@ ("doxygen" ,doxygen) ("extra-cmake-modules" ,extra-cmake-modules) ("glib:bin" ,glib "bin") + ("librsvg" ,(librsvg-for-system)) ("perl" ,perl) ("pkg-config" ,pkg-config) ("python" ,python-wrapper) @@ -183,8 +189,10 @@ ("ruby" ,ruby))) (inputs (list appstream + dbus desktop-file-utils glib + karchive kconfig kcoreaddons kio @@ -392,10 +400,6 @@ silently and reliably flow across to every other.") #~(list (string-append "CC=" #$(cc-for-target))) #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'link-to-external-libraries - (lambda _ - ;; Only link necessary libraries. - (setenv "DCFLAGS" "-L--as-needed"))) (add-after 'configure 'adjust-makefile (lambda _ (substitute* "Makefile" diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index e3d0937ecc..21649f78af 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -23,7 +23,7 @@ ;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Leo Famulari <leo@famulari.name> -;;; Copyright @ 2020 luhux <luhux@outlook.com> +;;; Copyright © 2020 luhux <luhux@outlook.com> ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; Copyright © 2021, 2022 Raphaël Mélotte <raphael.melotte@mind.be> ;;; Copyright © 2021 ikasero <ahmed@ikasero.com> @@ -244,7 +244,7 @@ keybindings have different functions.") (define-public asciinema (package (name "asciinema") - (version "2.2.0") + (version "2.3.0") (source (origin (method git-fetch) @@ -253,7 +253,7 @@ keybindings have different functions.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0pcrghfi9p1p40d0339lcmhcv24hm1vxqr4rsdln34v385vqv14a")))) + (base32 "0mqn12h51nqdmn1ya7hw1l2z2893937dqq4b1zh32y6bazd807fl")))) (build-system pyproject-build-system) (arguments (list #:phases @@ -938,6 +938,41 @@ It's a terminal emulator with few dependencies, so you don't need a full GNOME desktop installed to have a decent terminal emulator.") (license license:gpl2))) +(define-public xiate + (let ((commit "ae3cf30b345c64f097a747ac848e23ef5bae8b57") + (revision "0")) + (package + (name "xiate") + (version (git-version "22.12" revision commit)) + (source (origin + (method git-fetch) + (file-name (git-file-name name version)) + (uri (git-reference + (url "https://www.uninformativ.de/git/xiate.git") + (commit commit))) + (sha256 + (base32 + "0bc205b1gs1jvp1a2cr814l32hmlm0sgv1drfw7ykbavslfpmg2d")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no tests + #:make-flags #~(list (string-append "CC=" + #$(cc-for-target)) + (string-append "prefix=" + #$output)) + #:phases #~(modify-phases %standard-phases + (delete 'configure)))) + (inputs (list gtk+ glib vte)) + (native-inputs (list pkg-config)) + (synopsis "Minimalist terminal emulator based on GTK+") + (description + "Xiate is a terminal emulator which tries to keep a balance +between features and simplicity. This is achieved by using VTE as a powerful +backend, while UI, configuration, and code try to remain much more +minimalistic.") + (home-page "https://www.uninformativ.de/git/xiate/file/README.html") + (license license:expat)))) + (define-public go-github.com-nsf-termbox-go (let ((commit "288510b9734e30e7966ec2f22b87c5f8e67345e3") (revision "1")) @@ -957,7 +992,7 @@ desktop installed to have a decent terminal emulator.") (arguments '(#:import-path "github.com/nsf/termbox-go")) (propagated-inputs - (list go-github.com-mattn-go-runewidth)) + (list go-github-com-mattn-go-runewidth)) (synopsis "@code{termbox} provides a minimal API for text-based user interfaces") (description @@ -969,7 +1004,7 @@ programmer to write text-based user interfaces.") (define-public go-github-com-junegunn-fzf (package (name "go-github-com-junegunn-fzf") - (version "0.34.0") + (version "0.41.0") (source (origin (method git-fetch) @@ -979,12 +1014,12 @@ programmer to write text-based user interfaces.") (file-name (git-file-name name version)) (sha256 (base32 - "023ksrmjg99svmkpnlh4k7gssv1sz2nl0v5b6bsr2iragvwrgkf4")))) + "1l9nsvziip3azyvg8wi4g3x606fh6w9vpfcbcgjdzdnp2ywqciim")))) (build-system go-build-system) (arguments `(#:import-path "github.com/junegunn/fzf")) (inputs - (list go-github.com-mattn-go-runewidth + (list go-github-com-mattn-go-runewidth go-github-com-mattn-go-shellwords go-github-com-mattn-go-isatty go-github-com-gdamore-tcell @@ -1115,13 +1150,13 @@ than a terminal.") (define-public python-curtsies (package (name "python-curtsies") - (version "0.4.0") + (version "0.4.1") (source (origin (method url-fetch) (uri (pypi-uri "curtsies" version)) (sha256 - (base32 "1zj284kacv0d10ab3amkkx37hcciylkqympsksi9bwzy6g7fyafb")))) + (base32 "1c122vgfsvksxkd41g2vij6hjsz97ikg59snclq4af2mkhs0zlb2")))) (build-system python-build-system) (arguments `(#:phases @@ -1406,7 +1441,7 @@ basic input/output.") (define-public alacritty (package (name "alacritty") - (version "0.12.1") + (version "0.12.2") (source (origin ;; XXX: The crate at "crates.io" has limited contents. In particular, @@ -1417,7 +1452,7 @@ basic input/output.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1fz5nbx58058lzfhwgvlnrmhpc4bg8sv8fp48gdgp1l82ajbl3lg")))) + (base32 "17a7v32gxsy79cj1ap71ckrypxv7i9jv4lnibg0ymcpwk9zpwxjz")))) (build-system cargo-build-system) (arguments `(#:install-source? #f ; virtual manifest @@ -1425,7 +1460,7 @@ basic input/output.") #:cargo-inputs (("rust-alacritty-config" ,rust-alacritty-config-0.1) ("rust-alacritty-config-derive" ,rust-alacritty-config-derive-0.2) - ("rust-alacritty-terminal" ,rust-alacritty-terminal-0.18) + ("rust-alacritty-terminal" ,rust-alacritty-terminal-0.19) ("rust-bitflags" ,rust-bitflags-1) ("rust-clap" ,rust-clap-3) ("rust-cocoa" ,rust-cocoa-0.24) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 3ec2b7bbf7..65f8d901d7 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2023 Thomas Albers Raviola <thomas@thomaslabs.org> ;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw> +;;; Copyright © 2023 Timothy Sample <samplet@ngyro.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -235,7 +236,7 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use. (string-append "File.join(\"" ptex "\""))) (invoke "ruby" "generate-ptex-patterns.rb"))))))))) (native-inputs - (list ruby ruby-hydra-minimal hyph-utf8-scripts)) + (list ruby-2.7 ruby-hydra-minimal/pinned hyph-utf8-scripts)) (home-page "https://ctan.org/pkg/hyph-utf8")))) (define texlive-extra-src @@ -295,7 +296,7 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use. "-checkout")) (sha256 (base32 - "10xpa4nnz1biap7qfv7fb0zk6132ki5g1j8w0bqwkggfncdfl07d")))) + "1jrphfjhmw17rp1yqsl70shmvka3vg0g8841q6zx2lfn48p7vqf3")))) ("cairo" ,cairo) ("fontconfig" ,fontconfig) ("fontforge" ,fontforge) @@ -315,7 +316,7 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use. ("pixman" ,pixman) ("potrace" ,potrace) ("python" ,python) - ("ruby" ,ruby) + ("ruby" ,ruby-2.7) ("tcsh" ,tcsh) ("teckit" ,teckit) ("zlib" ,zlib) @@ -423,7 +424,32 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use. (mkdir "texlive-scripts") (with-directory-excursion "texlive-scripts" (apply (assoc-ref %standard-phases 'unpack) - (list #:source (assoc-ref inputs "texlive-scripts")))))) + (list #:source (assoc-ref inputs "texlive-scripts"))) + ;; Configure the version string for some scripts. + ;; Normally this would be done by Subversion. + ;; See <https://issues.guix.gnu.org/43442#15>. + (for-each (lambda (file) + (substitute* file + (("\\$Id\\$") + (format #f "$Id: ~a ~a ~a nobody $" + file + ,%texlive-revision + ,%texlive-date)) + (("\\$Revision\\$") + (format #f "$Revision: ~a $" + ,%texlive-revision)) + (("\\$Date\\$") + (format #f "$Date: ~a $" + ,%texlive-date)))) + '("fmtutil.pl" + "mktexlsr" + "mktexlsr.pl" + "mktexmf" + "mktexpk" + "mktextfm" + "tlmgr.pl" + "tlmgrgui.pl" + "updmap.pl"))))) (add-after 'unpack-texlive-scripts 'patch-scripts (lambda _ (let* ((scripts (append (find-files "texk/kpathsea" "^mktex") @@ -784,7 +810,7 @@ out to date by @code{unicode-letters.tex}.") "/tex/generic/hyphen/hypht1.tex" "/tex/generic/hyphen/zerohyph.tex") (base32 - "1sagn9aybs34m1s6m3zwya5g5kbiwfnw8ifcgxssygmzzs88dgjp") + "1nad1bqpjsywm49hlv7d75mqvgha3j5vayvkvfhv8wwzgdb3mk84") #:trivial? #t)) (home-page "https://tug.org/texlive/") (synopsis "Core hyphenation support files") @@ -804,7 +830,7 @@ default versions of those), etc.") "fonts/cmap/dvipdfmx/" "fonts/map/dvipdfmx/") (base32 - "04x93w777l9qzdzglwanb14k8cmq74kjcsgyanvp3bsmnn5zfrgz") + "08i81hciksh0sm9pw6lw8v8s2rj92p58wd5j2mq1mzqbp171wjmr") #:trivial? #t))) (package (inherit template) @@ -836,7 +862,7 @@ features as does pdfTeX.") "/fonts/enc/dvips/base/" "/tex/generic/dvips/") (base32 - "0rns1hpjy4fmsskmkwx197j8qbgdmyj0j9214sq9vhpa6nv7czm3") + "1fb73mfw9mp4ylp6sfc0465rbdb7k830aq0qf3c085c3n0zyrin8") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/dvips") (synopsis "DVI to PostScript drivers") @@ -1094,7 +1120,7 @@ cite bundle of the author's citation-related packages.") "/fonts/map/dvips/cm/cmtext-bsr-interpolated.map" "/doc/fonts/cm/") (base32 - "1ky4gvcn8qn3d61bvb39512b8r92igv6il7vh02hw04223yj6q8i") + "0mfslqs9saqkb3z3xdhsqnklxk858nmipgj1y93by2791jzkma1d") #:trivial? #t))) (package (inherit template) @@ -1698,7 +1724,7 @@ incorporates the e-TeX extensions.") "texlive-tex-plain" (list "/tex/plain/") (base32 - "0gwygkm8i2jmpf7bfg6fb6824rl7fq4a2s0wni73v0fz6s4chr1n") + "1hafbphx1486069cky87hyksx6ia5gd83m4wp2xmgc09z87faf0h") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/plain") (synopsis "Plain TeX format and supporting files") @@ -2737,7 +2763,7 @@ T1/EC and UTF-8 encodings.") (string-append out "/share/texmf-dist/tex/luatex/hyph-utf8/"))) #t))))) (native-inputs - (list ruby + (list ruby-2.7 texlive-bin ;; The following packages are needed for build "tex.fmt", which we need ;; for a working "tex". @@ -2904,7 +2930,7 @@ package.") "/web2c/tcvn-t5.tcx" "/web2c/viscii-t5.tcx") (base32 - "00q2nny7lw7jxyln6ch4h0alygbrzk8yynliyc291m53kds1h0mr") + "08nfk5hicqbvnz73rjbxi97lcakd9i1k2cy4qi2cwghan92650jq") #:trivial? #t))) (package (inherit template) @@ -2967,7 +2993,7 @@ default and narrow versions of multiple integrals.") "texlive-latexconfig" (list "/tex/latex/latexconfig/") (base32 - "10ynmd8b9b9l1wl1mva23yz4zir53p6r5z31s39wmxz19pj12qvx") + "1x5fyr2185nx3qlyariykdz44hcy5azimrk9db2p707dg08bjhsd") #:trivial? #t)) (home-page "https://www.tug.org/") (synopsis "Configuration files for LaTeX-related formats") @@ -3121,7 +3147,7 @@ formats.") "/tex/generic/config/luatexiniconfig.tex" "/web2c/texmfcnf.lua") (base32 - "0yjx7nw9mgfgnq1givkzbxh7z7ncw1liaddjgm7n2nwn0aw6xfdg"))))) + "065j47i2785nbj2507pzxlscyrwr4ghv6nksc3a01rp62bq8kkjp"))))) (propagated-inputs (list texlive-dehyph-exptl texlive-etex @@ -3294,48 +3320,82 @@ the @file{.aux} file.") (define-deprecated-package texlive-latex-auxhook texlive-auxhook) -(define-public texlive-latex-epstopdf-pkg - (package - (inherit (simple-texlive-package - "texlive-latex-epstopdf-pkg" - '("/doc/latex/epstopdf-pkg/" - "/tex/latex/epstopdf-pkg/") - (base32 - "0zl6jiyp2cvvyqx3lwxdkcvvnkqgbwj4issq07cagf61gljq6fns") - #:trivial? #t)) - (home-page "https://www.ctan.org/pkg/epstopdf-pkg") - (synopsis "Call @command{epstopdf} \"on the fly\"") - (description - "The package adds support for EPS files in the @code{graphicx} package -when running under pdfTeX. If an EPS graphic is detected, the package -spawns a process to convert the EPS to PDF, using the script -@command{epstopdf}.") - (license license:lppl1.3c+))) - -(define-public texlive-latex-filecontents - (package - (name "texlive-latex-filecontents") - (version (number->string %texlive-revision)) - (source (origin - (method svn-fetch) - (uri (texlive-ref "latex" "filecontents")) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "1cmfigg5jx3hmdyh4gv8kwxi7dg076ldkxmr46s05xvhzjig1z9x")))) - (build-system texlive-build-system) - (arguments '(#:tex-directory "latex/filecontents")) - (home-page "https://www.ctan.org/pkg/filecontents") - (synopsis "Extended filecontents and filecontents* environments") - (description - "LaTeX2e's @code{filecontents} and @code{filecontents*} environments +(define-public texlive-epstopdf-pkg + (let ((template (simple-texlive-package + "texlive-epstopdf-pkg" + (list "doc/latex/epstopdf-pkg/" + "source/latex/epstopdf-pkg/" + "tex/latex/epstopdf-pkg/") + (base32 + "1ajyc5pkn1niifz5asyf09vbdqvmy05xwl0vxcdl7ik0ll0jcaxp")))) + (package + (inherit template) + (arguments + (substitute-keyword-arguments (package-arguments template) + ((#:tex-directory _ '()) + "latex/epstopdf-pkg") + ((#:build-targets _ '()) + #~(list "epstopdf.ins")) + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "source/latex/epstopdf-pkg"))) + (replace 'copy-files + (lambda* (#:key inputs #:allow-other-keys) + (let ((origin (assoc-ref inputs "source")) + (source (string-append #$output + "/share/texmf-dist/source")) + (doc (string-append #$output:doc + "/share/texmf-dist/doc"))) + (copy-recursively (string-append origin "/source") source) + (copy-recursively (string-append origin "/doc") doc)))))))) + (propagated-inputs + (list texlive-grfext + texlive-infwarerr + texlive-kvoptions + texlive-pdftexcmds)) + (home-page "https://www.ctan.org/pkg/epstopdf-pkg") + (synopsis "Call @command{epstopdf} on the fly") + (description + "The package adds support for EPS files in the @code{graphicx} package +when running under pdfTeX. If an EPS graphic is detected, the package spawns +a process to convert the EPS to PDF, using the script @command{epstopdf}.") + (license license:lppl1.3c+)))) + +(define-deprecated-package texlive-latex-epstopdf-pkg texlive-epstopdf-pkg) + +(define-public texlive-filecontents + (let ((template (simple-texlive-package + "texlive-filecontents" + (list "doc/latex/filecontents/" + "source/latex/filecontents/" + "tex/latex/filecontents/") + (base32 + "0ifhqfdzx91hrmndhg5441rpmv9k4lxrql02kd5yx75xpplxryzw")))) + (package + (inherit template) + (arguments + (substitute-keyword-arguments (package-arguments template) + ((#:tex-directory _ '()) "latex/filecontents") + ((#:phases phases) + #~(modify-phases #$phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "source/latex/filecontents"))))))) + (home-page "https://ctan.org/pkg/filecontents") + (synopsis "Create an external file from within a LaTeX document") + (description + "LaTeX2e's @code{filecontents} and @code{filecontents*} environments enable a LaTeX source file to generate external files as it runs through LaTeX. However, there are two limitations of these environments: they refuse -to overwrite existing files, and they can only be used in the preamble of a -document. The filecontents package removes these limitations, letting you -overwrite existing files and letting you use @code{filecontents} / +to overwrite existing files, and they can only be used in the preamble of +a document. The filecontents package removes these limitations, letting you +overwrite existing files and letting you use @code{filecontents} @code{filecontents*} anywhere.") - (license license:lppl1.3c+))) + (license license:lppl1.3c+)))) + +(define-deprecated-package texlive-latex-filecontents texlive-filecontents) (define-public texlive-epsf (package @@ -3407,7 +3467,7 @@ Unicode points; it is maintained by Adobe. The additional "0b66fy06safyrd717rfr476g1gz6nqfv1vqvam7ac2yy0g0djb17") #:trivial? #t)) (propagated-inputs - (list texlive-latex-epstopdf-pkg)) + (list texlive-epstopdf-pkg)) (home-page "https://www.ctan.org/pkg/latex-graphics") (synopsis "Color and graphics option files") (description @@ -3985,7 +4045,7 @@ of file names.") "/fonts/enc/dvips/tetex/" "/fonts/map/dvips/tetex/") (base32 - "1si3as8mwi8837965djlw6jhwwzsp3r1hkflvdxv2avx9vb45hjb") + "05mf8yqdj2wrc1zm3al2j4aam2wx0ky6a7slxw17pkd1c7rmvjrq") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/tetex") (synopsis "Font maps originally from teTeX") @@ -4386,6 +4446,8 @@ loading fonts by their proper names instead of file names.") (delete-file-recursively (string-append (assoc-ref outputs "out") "/share/texmf-dist/source/latex/amsmath/build")))))))) + (propagated-inputs + (list texlive-amsfonts)) (home-page "https://www.ctan.org/pkg/amsmath") (synopsis "AMS mathematical facilities for LaTeX") (description @@ -5802,7 +5864,7 @@ be changed.") (("pstool.tex") "trimspaces.tex")) #t))))) (inputs - (list texlive-latex-filecontents)) + (list texlive-filecontents)) (home-page "https://www.ctan.org/pkg/trimspaces") (synopsis "Trim spaces around an argument or within a macro") (description @@ -8653,7 +8715,7 @@ e-TeX.") "/tex/generic/pdftex/glyphtounicode.tex" "/tex/generic/pdftex/pdfcolor.tex") (base32 - "1wx928rqsv0x1a8vc7aq49w3nglr4bmlhl822slqglymfxrmb91b") + "0w4ar5g7x4w8zw8z6hdwqxwcbglfzzq7pcznz8rawllwy6dssr8g") #:trivial? #t)) ;; TODO: add this missing package: ;; dehyph @@ -9478,7 +9540,7 @@ and after the formatted number.") '(#:tex-directory "latex/needspace" #:tex-format "latex")) (inputs - (list texlive-latex-filecontents)) + (list texlive-filecontents)) (home-page "https://www.ctan.org/pkg/needspace") (synopsis "Insert pagebreak if not enough space") (description @@ -9504,7 +9566,7 @@ page, a new page will be started.") '(#:tex-directory "latex/changepage" #:tex-format "latex")) (inputs - (list texlive-latex-filecontents)) + (list texlive-filecontents)) (home-page "https://www.ctan.org/pkg/changepage") (synopsis "Margin adjustment and detection of odd/even pages") (description @@ -11684,7 +11746,7 @@ floats merely delays the arrival of the inevitable error message.") (add-after 'unpack 'chdir (lambda _ (chdir "source/latex/ifmtarg"))))))) (inputs - (list texlive-latex-filecontents)) + (list texlive-filecontents)) (home-page "https://www.ctan.org/pkg/ifmtarg") (synopsis "If-then-else command for processing potentially empty arguments") (description "This package provides a command for the LaTeX programmer for @@ -13512,7 +13574,7 @@ itself may be shipped out to the DVI file.") "/fonts/misc/xetex/fontmapping/base/" "/tex/xelatex/xetexconfig/") (base32 - "1gmgagvsv2qknrjzjk840ca3wging8wfc20rgq7bnhphm9n87m6q") + "0j396anlhk5pqrnwxr8bpq55sp3qfyb6n9g08x4nmaa6p9b9y8ab") #:trivial? #t)) (propagated-inputs (list texlive-atbegshi diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index 3296c468c1..f45ae06810 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com> ;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2022 ( <paren@disroot.org> ;;; @@ -40,7 +40,6 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages gettext) - #:use-module ((gnu packages hurd) #:select (hurd-target?)) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages perl-compression) @@ -77,7 +76,7 @@ %standard-phases) ;; XXX: Work around <https://issues.guix.gnu.org/59616>. - #:tests? ,(and (not (hurd-target?)) + #:tests? ,(and (not (target-hurd?)) (not (%current-target-system))))) (inputs (list ncurses perl)) ;; When cross-compiling, texinfo will build some of its own binaries with diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index b23c5ba2be..f70a4302fd 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2022 jgart <jgart@dismail.de> ;;; Copyright © 2022 Andy Tai <atai@atai.org> ;;; Copyright © 2023 Eidvilas Markevičius <markeviciuseidvilas@gmail.com> +;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -432,7 +433,7 @@ compiled, requires few libraries, and starts up quickly.") (license license:gpl2+))) (define-public l3afpad - (let ((commit "5235c9e13bbf0d31a902c6776918c2d7cdbb61ff") + (let ((commit "16f22222116b78b7f6a6fd83289937cdaabed624") (revision "0")) (package (name "l3afpad") @@ -445,8 +446,20 @@ compiled, requires few libraries, and starts up quickly.") (commit commit))) (sha256 (base32 - "1alyghm2wpakzdfag0g4g8gb1h9l4wdg7mnhq8bk0iq5ryqia16a")))) + "0q55351lvvlw9bi35l49mxa43g4fv110pwprzkk9m5li77vb0bcp")))) (build-system glib-or-gtk-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-documentation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" #$name "-" + #$(package-version this-package))) + (man (string-append out "/share/man/man1"))) + (install-file "l3afpad.1" man) + (install-file "README" doc))))))) (native-inputs (list intltool autoconf automake pkg-config)) (inputs @@ -1006,8 +1019,8 @@ The basic features of Text Pieces are: (source (origin (method url-fetch) - (uri (let ((v (apply string-append (string-split version #\.)))) - (string-append "https://www.scintilla.org/scintilla" v ".tgz"))) + (uri (string-append "https://www.scintilla.org/scintilla" + (string-delete #\. version) ".tgz")) (sha256 (base32 "0inbhzqdikisvnbdzn8153p1apbghxjzkkzji9i8zsdpyapb209z")))) (build-system gnu-build-system) @@ -1029,11 +1042,9 @@ The basic features of Text Pieces are: (for-each (lambda (f) (install-file f lib)) (find-files "bin/" "\\.so$")) (for-each (lambda (f) (install-file f inc)) - (find-files "include/" ".")))))))) - (native-inputs - (list pkg-config python-wrapper)) - (inputs - (list gtk+)) + (find-files "include/" "\\.h$")))))))) + (native-inputs (list pkg-config python-wrapper)) + (inputs (list gtk+)) (home-page "https://www.scintilla.org/") (synopsis "Code editor for GTK+") (description "Scintilla is a source code editing component for @@ -1046,6 +1057,66 @@ fonts, bold and italics, multiple foreground and background colours, and multiple fonts.") (license license:hpnd))) +(define-public lexilla + (package + (name "lexilla") + (version "5.2.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.scintilla.org/lexilla" + (string-delete #\. version) ".tgz")) + (sha256 + (base32 + "0sc3z6y82h1vq8aaydp119kymzvrv0p1xvy56r5j996jl6zxikk4")))) + (build-system gnu-build-system) + (arguments + (list + #:make-flags #~(list (string-append "CXX=" #$(cxx-for-target)) + (string-append "SCINTILLA_INCLUDE=" + #$(this-package-input "scintilla") + "/include")) + #:test-target "test" + #:phases + #~(modify-phases %standard-phases + (replace 'build + (lambda args + (with-directory-excursion "src" + (apply (assoc-ref %standard-phases 'build) args)))) + (add-after 'build 'patch-more-shebangs + (lambda _ + ;; Patch these bash shebangs to avoid them failing the tests. + (substitute* '("test/examples/bash/x.bsh.folded" + "test/examples/bash/x.bsh.styled") + (("/usr/bin/env bash") + (which "bash"))))) + (replace 'check + (lambda args + (with-directory-excursion "test" + (apply (assoc-ref %standard-phases 'check) args)))) + (add-after 'unpack 'fix-deps.mak + (lambda _ + (substitute* "src/deps.mak" + (("../../scintilla") + #$(this-package-input "scintilla"))))) + (delete 'configure) ;no configure script + (replace 'install + ;; Upstream provides no install script. + (lambda _ + (let ((lib (string-append #$output "/lib")) + (inc (string-append #$output "/include"))) + (for-each (lambda (f) (install-file f lib)) + (find-files "bin/" "\\.so$")) + (for-each (lambda (f) (install-file f inc)) + (find-files "include/" "\\.h$")))))))) + (native-inputs (list python)) + (inputs (list scintilla)) + (home-page "https://www.scintilla.org/Lexilla.html") + (synopsis "Language lexers for Scintilla") + (description "Lexilla is a library of language lexers that can be +used with the Scintilla editing component.") + (license license:hpnd))) + (define-public geany (package (name "geany") diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 026264dc27..51df3748cd 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -249,7 +249,7 @@ encoding, supporting Unicode version 9.0.0.") (sha256 (base32 "1g77s8g9443dd92f82pbkim7rk51s7xdwa3mxpzb1lcw8ryxvvg3")))) ;; For tests - ("ruby" ,ruby))))))) + ("ruby" ,ruby-2.7))))))) (define-public libconfuse (package @@ -1008,34 +1008,6 @@ and Cython.") markup and converts it to multiple formats.") (license license:gpl2))) -(define-public go-github.com-mattn-go-runewidth - (let ((commit "703b5e6b11ae25aeb2af9ebb5d5fdf8fa2575211") - (version "0.0.4") - (revision "1")) - (package - (name "go-github.com-mattn-go-runewidth") - (version (git-version version revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/mattn/runewidth") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0znpyz71gajx3g0j2zp63nhjj2c07g16885vxv4ykwnrfmzbgk4w")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/mattn/go-runewidth")) - (synopsis "@code{runewidth} provides Go functions to work with string widths") - (description - "The @code{runewidth} library provides Go functions for padding, -measuring and checking the width of strings, with support for East Asian -text.") - (home-page "https://github.com/mattn/runewidth") - (license license:expat)))) - (define-public docx2txt (package (name "docx2txt") diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index 38b51583da..5c8f65a1e6 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -623,7 +623,7 @@ TUI program that displays time across a few time zones of your choosing.") (arguments '(#:import-path "github.com/antonmedv/countdown")) (native-inputs - `(("runewidth" ,go-github.com-mattn-go-runewidth) + `(("runewidth" ,go-github-com-mattn-go-runewidth) ("termbox" ,go-github.com-nsf-termbox-go))) (home-page "https://github.com/antonmedv/countdown") (synopsis "Counts to zero with a text user interface") diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index d162094ed4..d94b7c27f5 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020, 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> @@ -65,7 +65,6 @@ #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages guile) - #:use-module (gnu packages hurd) #:use-module (gnu packages libbsd) #:use-module (gnu packages libffi) #:use-module (gnu packages libidn) @@ -153,12 +152,12 @@ in intelligent transportation networks.") (build-system gnu-build-system) (native-inputs (append (list pkg-config) - (if (hurd-target?) + (if (target-hurd?) (list autoconf automake gettext-minimal libtool) '()))) (inputs (append (list libffi libtasn1) - (if (hurd-target?) + (if (target-hurd?) (list libbsd) '()))) (arguments @@ -167,7 +166,7 @@ in intelligent transportation networks.") ;; find them. See <https://issues.guix.gnu.org/49957>. #~'("--with-trust-paths=/etc/ssl/certs/ca-certificates.crt") #:phases #~(modify-phases %standard-phases - #$@(if (hurd-target?) + #$@(if (target-hurd?) #~((add-after 'unpack 'apply-hurd-patch (lambda* (#:key inputs #:allow-other-keys) (define patch @@ -216,9 +215,9 @@ living in the same process.") (build-system gnu-build-system) (arguments (list #:tests? (not (or (%current-target-system) - (hurd-target?))) + (target-hurd?))) ;; Ensure we don't keep a reference to the tools used for testing. - #:disallowed-references (if (hurd-target?) + #:disallowed-references (if (target-hurd?) '() (list net-tools iproute socat)) #:configure-flags @@ -276,7 +275,7 @@ living in the same process.") (native-inputs (append (list pkg-config texinfo which util-linux) ;one test needs 'setsid' - (if (hurd-target?) + (if (target-hurd?) '() (list net-tools iproute ;for 'ss' @@ -1220,7 +1219,20 @@ ciphers such as ChaCha20, Curve25519, NTRU, and Blake2b.") (arguments '(#:test-target "run_minimal_tests" #:configure-flags - '("-DBUILD_SHARED_LIBS=ON"))) + '("-DBUILD_SHARED_LIBS=ON") + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? test-target parallel-tests? #:allow-other-keys) + (when tests? + ;; SSLTest.HostMatching fails due to an expired certificate. + ;; Fake the time to be that of the release. + (invoke "faketime" "2022-05-23" + "make" test-target + "-j" (if parallel-tests? + (number->string (parallel-job-count)) + "1")))))))) + (native-inputs (list libfaketime)) (synopsis "General purpose cryptographic library") (description "AWS libcrypto (aws-lc) contains portable C implementations of algorithms needed for TLS and common applications, and includes optimized diff --git a/gnu/packages/toolkits.scm b/gnu/packages/toolkits.scm index aee6c22e2d..46b7fd2cd6 100644 --- a/gnu/packages/toolkits.scm +++ b/gnu/packages/toolkits.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com> +;;; Copyright © 2022, 2023 John Kehayias <john.kehayias@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,6 +55,18 @@ (guix build utils) (ice-9 ftw) (srfi srfi-26)) + ;; The build phase does not use make but we will use make-flags in a + ;; similar fashion to make inheritance for older imgui versions easier. + #:make-flags + ;; This first option is necessary at least for OpenBoardView, otherwise + ;; it would fail with the "Too many vertices in ImDrawList using 16-bit + ;; indices". + #~(list "-DImDrawIdx=unsigned int" + "-I" (string-append (getcwd) "/source") + "-I" (search-input-directory %build-inputs "include/freetype2") + "-g" "-O2" "-fPIC" "-shared" + "-lGL" "-lSDL2" "-lglfw" + "-o" "libimgui.so") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'adjust-includes @@ -64,32 +76,24 @@ "#include <SDL2/SDL")))) (delete 'configure) (replace 'build - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key make-flags #:allow-other-keys) ;; Build main library. (apply invoke #$(cc-for-target) - ;; This option is necessary at least for OpenBoardView, - ;; otherwise it would fail with the "Too many vertices in - ;; ImDrawList using 16-bit indices". - "-DImDrawIdx=unsigned int" - "-I" (getcwd) - "-I" (search-input-directory inputs "include/freetype2") - "-g" "-O2" "-fPIC" "-shared" - "-lGL" "-lSDL2" "-lglfw" - "-o" "libimgui.so" - "imgui.cpp" - "imgui_draw.cpp" - "imgui_tables.cpp" - "imgui_widgets.cpp" - ;; Include the supported backends. - "backends/imgui_impl_glfw.cpp" - (if (file-exists? "backends/imgui_impl_sdl2.cpp") - "backends/imgui_impl_sdl2.cpp" - "backends/imgui_impl_sdl.cpp") - "backends/imgui_impl_opengl2.cpp" - "backends/imgui_impl_opengl3.cpp" - ;; Include wrappers for C++ standard library (STL) and - ;; fontconfig. - (find-files "misc" "\\.cpp$")))) + (append make-flags + `("imgui.cpp" + "imgui_draw.cpp" + "imgui_tables.cpp" + "imgui_widgets.cpp" + ;; Include the supported backends. + "backends/imgui_impl_glfw.cpp" + ,(if (file-exists? "backends/imgui_impl_sdl2.cpp") + "backends/imgui_impl_sdl2.cpp" + "backends/imgui_impl_sdl.cpp") + "backends/imgui_impl_opengl2.cpp" + "backends/imgui_impl_opengl3.cpp" + ;; Include wrappers for C++ standard library (STL) and + ;; fontconfig. + ,@(find-files "misc" "\\.cpp$")))))) (replace 'install (lambda _ (let* ((header? (cut string-suffix? ".h" <>)) @@ -164,4 +168,10 @@ standard operating system features.") (file-name (git-file-name name version)) (sha256 (base32 - "02a7b05zrka20jhzag2jb4jl624i1m456bsv69jb9zgys2p9dv1n")))))) + "02a7b05zrka20jhzag2jb4jl624i1m456bsv69jb9zgys2p9dv1n")))) + (arguments + (substitute-keyword-arguments (package-arguments imgui) + ((#:make-flags flags ''()) + ;; Remove the "-DImDrawIdx=unsigned int" make-flag as this breaks + ;; mangohud, the only user of this version. + #~(delete "-DImDrawIdx=unsigned int" #$flags)))))) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 9e26753857..8ae2118188 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -201,7 +201,7 @@ traffic from the application you're using.") (define-public privoxy (package (name "privoxy") - (version "3.0.33") + (version "3.0.34") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/ijbswa/Sources/" @@ -209,7 +209,7 @@ traffic from the application you're using.") version "-stable-src.tar.gz")) (sha256 (base32 - "1bhzi2ddv3g1z9h7lhxy7p0wibqg4m5nh46ikldmcqdc1pkh9c84")))) + "0b2x7hm34fbqaxb46afpx6bnc3x76d753y2p8rmn2kkgcnhvrk76")))) (build-system gnu-build-system) (arguments '(;; The default 'sysconfdir' is $out/etc; change that to diff --git a/gnu/packages/tree-sitter.scm b/gnu/packages/tree-sitter.scm index 8951c2ff57..f7e35a062c 100644 --- a/gnu/packages/tree-sitter.scm +++ b/gnu/packages/tree-sitter.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2022 muradm <mail@muradm.net> ;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org> ;;; Copyright © 2023 Andrew Tropin <andrew@trop.in> +;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ (define-module (gnu packages tree-sitter) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) #:use-module (gnu packages crates-graphics) #:use-module (gnu packages crates-io) #:use-module (gnu packages graphviz) @@ -29,12 +31,68 @@ #:use-module (gnu packages node) #:use-module (guix build-system cargo) #:use-module (guix build-system gnu) + #:use-module (guix build-system pyproject) #:use-module (guix build-system tree-sitter) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix utils)) +(define-public python-tree-sitter + (package + (name "python-tree-sitter") + (version "0.20.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tree-sitter/py-tree-sitter") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rc8zqiry4n52xlf7pwx4s56ka9vwjzwgn7blwbkiscqdwvsai92")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-tree-sitter-lib-path + (lambda _ + (let ((tree-sitter #$(this-package-input "tree-sitter"))) + (substitute* "setup.py" + (((string-append + "( *)\\[\"tree_sitter\\/core\\/lib\\/src\\/lib\\.c\", " + "\"tree_sitter\\/binding\\.c\"\\],") all tabs) + (string-append + tabs "[\"tree_sitter/binding.c\"],\n" + tabs "library_dirs=[\"" tree-sitter "/lib\"],\n" + tabs "libraries=[\"tree-sitter\"],")) + (("include_dirs=.*") + (string-append + "include_dirs=[\"" tree-sitter "/include\"],\n")))))) + (add-before 'check 'set-test-lib-paths + (lambda _ + (let ((py #$(this-package-native-input "tree-sitter-python")) + (js #$(this-package-native-input "tree-sitter-javascript"))) + (substitute* "tests/test_tree_sitter.py" + (("Language\\.build_library") + "_ =") + (("LIB_PATH(, \"python\")" all name) + (string-append + "\"" py "/lib/tree-sitter/libtree-sitter-python.so\"" name)) + (("LIB_PATH(, \"javascript\")" all name) + (string-append + "\"" js "/lib/tree-sitter/libtree-sitter-javascript.so\"" + name))))))))) + (inputs (list tree-sitter)) + (native-inputs + (list tree-sitter-python tree-sitter-javascript)) + (home-page "https://github.com/tree-sitter/py-tree-sitter") + (synopsis "Python bindings to the Tree-sitter parsing library") + (description "This package provides Python bindings to the +Tree-sitter parsing library.") + (license license:expat))) + (define-public tree-sitter (package (name "tree-sitter") @@ -266,6 +324,17 @@ will be used in description and synopsis." #:inputs (list tree-sitter-javascript) #:grammar-directories '("typescript" "tsx"))) +(define-public tree-sitter-bibtex + (let ((commit "ccfd77db0ed799b6c22c214fe9d2937f47bc8b34") + (revision "0")) + (tree-sitter-grammar + "bibtex" "Bibtex" + "0m7f3dkqbmy8x1bhl11m8f4p6n76wfvh99rp46zrqv39355nw1y2" + (git-version "0.1.0" revision commit) + #:repository-url "https://github.com/latex-lsp/tree-sitter-bibtex" + #:commit commit + #:license license:expat))) + (define-public tree-sitter-css (tree-sitter-grammar "css" "CSS" @@ -329,6 +398,13 @@ will be used in description and synopsis." #:article "an" #:repository-url "https://github.com/elm-tooling/tree-sitter-elm")) +(define-public tree-sitter-gomod + (tree-sitter-grammar + "gomod" "Go .mod" + "1hblbi2bs4hlil703myqhvvq2y1x41rc3w903hg2bhbazh7x8yyf" + "1.0.0" + #:repository-url "https://github.com/camdencheek/tree-sitter-go-mod.git")) + (define-public tree-sitter-go ;; There are a lot of additions, the last tag was placed more than 1 year ago (let ((commit "64457ea6b73ef5422ed1687178d4545c3e91334a") diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 1db0931ac3..ecdb1d1781 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -227,15 +227,14 @@ Python 3.3 and later, rather than on Python 2.") (define-public git (package (name "git") - (version "2.40.1") + (version "2.41.0") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "1li1xwgiwccy88bkshsah2kzl1006jg29jp7n32gvjggiswvi4s8")) - (patches (search-patches "git-header-cmd.patch")))) + "0h40arw08xbpi2cbf7pvc947v963rjxz3inb2ar81zjc8byvlj77")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -255,7 +254,7 @@ Python 3.3 and later, rather than on Python 2.") version ".tar.xz")) (sha256 (base32 - "04yy5za8963q6xzrirflvxbi1216jzqj8ssvgd9nkld3ifa9q1gy")))) + "0xsqakgy0s60zpa13ilj6zj420kdh8pf4v3nrp1nziwj8ja4qymw")))) ;; For subtree documentation. ("asciidoc" ,asciidoc) ("docbook2x" ,docbook2x) @@ -846,6 +845,12 @@ to GitHub contributions calendar.") '())) #:phases (modify-phases %standard-phases + ,@(if (target-arm32?) + ;; Some tests are flaky on armhf. + '((add-before 'check 'pre-check + (lambda _ + (setenv "GITTEST_FLAKY_STAT" "true")))) + '()) ;; Run checks more verbosely, unless we are cross-compiling. (replace 'check (lambda* (#:key (tests? #t) #:allow-other-keys) @@ -2611,13 +2616,13 @@ email header.") (define-public b4 (package (name "b4") - (version "0.8.0") + (version "0.12.3") (source (origin (method url-fetch) (uri (pypi-uri "b4" version)) (sha256 - (base32 "115ysciq15sxc8fd9hf7p0f4wnd5xapcfkmq8g33y1c8nbdxclbx")))) + (base32 "0qpa0ahw1d86mdgs09ykq5pd0lm8083ds6j0knalw757yh31akmn")))) (build-system python-build-system) (arguments (list #:tests? #f ;no tests @@ -3114,7 +3119,7 @@ file contents on a remote server.") (define-public lfs-s3 (package (name "lfs-s3") - (version "0.1") + (version "0.1.2") (source (origin (method git-fetch) (uri (git-reference @@ -3123,7 +3128,7 @@ file contents on a remote server.") (file-name (git-file-name name version)) (sha256 (base32 - "0nkxivb356f1zjlj34px601zy86w4398db9s2ivd178jp4v69raw")))) + "0ncfy3lgc7dik9k71xk9l5f2llsh2jk33aaqb8dkslschc1mx4g6")))) (build-system go-build-system) (arguments (list @@ -3133,8 +3138,7 @@ file contents on a remote server.") (list go-github-com-aws-aws-sdk-go-v2 go-github-com-aws-aws-sdk-go-v2-config go-github-com-aws-aws-sdk-go-v2-feature-s3-manager - go-github-com-aws-aws-sdk-go-v2-service-s3 - go-github-com-spf13-cobra)) + go-github-com-aws-aws-sdk-go-v2-service-s3)) (home-page "https://git.sr.ht/~ngraves/lfs-s3/") (synopsis "Git extension for versioning large files in S3") (description diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 3b6af31b76..c11ae52ef4 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -65,6 +65,7 @@ ;;; Copyright © 2022 Andy Tai <atai@atai.org> ;;; Copyright © 2023 Ott Joon <oj@vern.cc> ;;; Copyright © 2023 Dominik Delgado Steuter <dds@disroot.org> +;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi> ;;; ;;; This file is part of GNU Guix. ;;; @@ -179,6 +180,7 @@ #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -780,7 +782,7 @@ old-fashioned output methods with powerful ascii-art renderer.") (define-public celluloid (package (name "celluloid") - (version "0.24") + (version "0.25") (source (origin (method url-fetch) @@ -788,7 +790,7 @@ old-fashioned output methods with powerful ascii-art renderer.") "/releases/download/v" version "/celluloid-" version ".tar.xz")) (sha256 - (base32 "0ns9xh582c8kajw4v2x5ap5jfiba3gxywqc2klc0v6fc3id1gqii")))) + (base32 "0an98lz90s4hhvrvqd1ja814mav9md9n843vhknjgcv4zmrwn0sg")))) (build-system meson-build-system) (arguments (list @@ -1035,7 +1037,7 @@ H.264 (MPEG-4 AVC) video streams.") ("pkg-config" ,pkg-config) ("po4a" ,po4a) ("qttools-5" ,qttools-5) - ("ruby" ,ruby))) + ("ruby" ,ruby-2.7))) (arguments `(#:configure-flags (list (string-append "--with-boost=" @@ -2468,6 +2470,52 @@ To load this plugin, specify the following option when starting mpv: to download videos from Austria's national television broadcaster.") (license license:gpl2+)))) +(define-public yle-dl + (package + (name "yle-dl") + (version "20230611") + (source (origin + ;; PyPI release doesn't include tests. + (method git-fetch) + (uri (git-reference + (url "https://github.com/aajanki/yle-dl") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04smlq6cswfp08sjif0cxnall0xbxl3bgly849nm5kg1m33ybmqk")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'wrap 'wrap-path + (lambda _ + (wrap-program (string-append #$output "/bin/yle-dl") + `("PATH" = (,(string-append #$(this-package-input "ffmpeg") + "/bin") + ,(string-append #$(this-package-input "wget") + "/bin")))))) + ;; Integration tests require internet access. + (add-before 'check 'remove-integration-tests + (lambda _ + (delete-file-recursively "tests/integration")))))) + (native-inputs + (list python-flit-core python-pytest python-pytest-runner)) + (inputs (list bash-minimal ffmpeg-5 wget)) + (propagated-inputs + (list python-attrs + python-configargparse + python-lxml + python-requests + python-xattr)) + (home-page "https://aajanki.github.io/yle-dl/") + (synopsis "Download videos from Yle servers") + (description + "Yle-dl is a command line program for downloading media files from the +video streaming services of the Finnish national broadcasting company Yle.") + (license license:gpl3+))) + (define-public youtube-dl (package (name "youtube-dl") @@ -2554,7 +2602,7 @@ YouTube.com and many more sites.") (define-public yt-dlp (package/inherit youtube-dl (name "yt-dlp") - (version "2023.03.04") + (version "2023.07.06") (source (origin (method git-fetch) @@ -2563,7 +2611,7 @@ YouTube.com and many more sites.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1zb4blj7qrmwkryyqrkxl909f59hvbs8dwiwl7sw1fs2kdzb1rw4")))) + (base32 "14g3qc3j4px5jiv292yj5hh8vxlnnd5bzvsq7h37jvhmrn5r4bsw")))) (arguments (substitute-keyword-arguments (package-arguments youtube-dl) ((#:tests? _) (not (%current-target-system))) @@ -2612,8 +2660,7 @@ YouTube.com and many more sites.") (native-inputs (append ;; To generate the manpage. - (if (member (%current-system) - (package-transitive-supported-systems pandoc)) + (if (supported-package? pandoc) (list pandoc) '()) (list python-pytest zip))) @@ -3476,40 +3523,8 @@ and JACK.") (license license:gpl2+))) (define-public obs-websocket - (package - (name "obs-websocket") - (version "4.9.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Palakis/obs-websocket") - (commit version) - (recursive? #t))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0giwhm0rbc578qng4invqqma935zzjlf05msz1gx986aqk654s7k")))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f ;no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-permission-change - (lambda* _ - (substitute* "CMakeLists.txt" - ;; Remove lines that set writeable permissions on outputs. - (("PERMISSIONS [^)]*") "") - (("set\\(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS") "") - ;; Ug^WClever hack to comment out the next line, which is ‘)’. - (("(OWNER|GROUP|WORLD)_READ .*") "#"))))))) - (inputs - (list obs qtbase-5)) - (home-page "https://github.com/Palakis/obs-websocket") - (synopsis "OBS plugin for remote control via WebSockets") - (description "This OBS plugin allows you to establish a WebSocket channel -from within your running OBS instance so that you can control it remotely from -programs on your current machine or on other machines.") - (license license:gpl2+))) + ;; Functionality was merged into OBS. + (deprecated-package "obs-websocket" obs)) (define-public obs-wlrobs (package @@ -3750,7 +3765,7 @@ Other features include a live preview and live streaming.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "18yfkr70lr1x1hc8snn2ldnbzdcc7b64xmkqrfk8w59gpg7sl1xn")))) + "1srzyjks9s0g4k7ms8vc0hjby2g6shndnr552hl63pn90sgmwxs9")))) (build-system gnu-build-system) (arguments ;; libsmpeg fails to build with -std=c++11, which is the default with @@ -3786,7 +3801,7 @@ and MPEG system streams.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0jfi085rf3fa5xsn0vd3nqf32my8ph9c6a9445y7a8lrlz4dms64")))) + "1jy9xqykhwfg8in0fxjcqcvwazii1ckzs39wp749b926q7ny5bwy")))) (inputs (list sdl)))) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index f928087e8a..d58b022123 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -79,7 +79,7 @@ (define-public vim (package (name "vim") - (version "9.0.1384") + (version "9.0.1672") (source (origin (method git-fetch) (uri (git-reference @@ -88,7 +88,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "07a59a0ibklwmks5f26f9a7c2klhppqbj0kdijcs4ayarh5q2qwf")))) + "1cl4a7rzks0ll0b8y0ffrbin622k0qww3l0nz9kb0mz2favw0b9q")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -133,6 +133,9 @@ (substitute* "src/testdir/test_messages.vim" ((".*Test_echo_verbose_system.*" line) (string-append line "return\n"))) + (substitute* "src/testdir/test_normal.vim" + ((".*Test_mouse_shape_after_cancelling_gr.*" line) + (string-append line "return\n"))) (substitute* "src/testdir/test_terminal.vim" ((".*Test_open_term_from_cmd.*" line) (string-append line "return\n")) @@ -221,13 +224,6 @@ with the editor vim."))) "--disable-selinux" "--enable-gui") ,@(substitute-keyword-arguments (package-arguments vim) - ;; This flag fixes the following error: - ;; .../libpython3.7m.a(pyexpat.o): undefined reference to symbol 'XML_FreeContentModel' - ;; .../libexpat.so.1: error adding symbols: DSO missing from command line - ((#:make-flags flags) - `(append - (list "LDFLAGS=-lexpat") - ,flags)) ((#:phases phases) `(modify-phases ,phases (add-before 'check 'start-xserver @@ -693,7 +689,7 @@ are detected, the user is notified."))) (define-public neovim (package (name "neovim") - (version "0.9.0") + (version "0.9.1") (source (origin (method git-fetch) (uri (git-reference @@ -702,7 +698,7 @@ are detected, the user is notified."))) (file-name (git-file-name name version)) (sha256 (base32 - "0xsvhm191cy5ivcw0c8dnpzbpcvvn5hsnkzkipr2aabgrsgqj628")))) + "18dsl9fjcqvcqffny6jmcxwx5a7d13aykn310hbgghny8l11rw3c")))) (build-system cmake-build-system) (arguments (list #:modules diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index c88fd31146..9b1bdeb5e4 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -596,55 +596,54 @@ server and embedded PowerPC, and S390 guests.") (name "libx86emu") (version "3.5") (home-page "https://github.com/wfeldt/libx86emu") - (source - (origin - (method git-fetch) - (uri - (git-reference - (url home-page) - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "11nj3y7maz9ch15b1c2b69gd8d7mpaha377zpdbvfsmg5w9zz93l")) - (modules - '((guix build utils))) - (snippet - `(begin - ;; Remove git2log program file. - (delete-file "git2log") - ;; Remove variables that depends on git2log. - (substitute* "Makefile" - (("GIT2LOG.*=.*$") "") - (("GITDEPS.*=.*$") "") - (("BRANCH.*=.*$") "")))))) + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11nj3y7maz9ch15b1c2b69gd8d7mpaha377zpdbvfsmg5w9zz93l")) + (modules '((guix build utils))) + (snippet `(begin + ;; Remove git2log program file. + (delete-file "git2log") + ;; Remove variables that depends on git2log. + (substitute* "Makefile" + (("GIT2LOG.*=.*$") "") + (("GITDEPS.*=.*$") "") + (("BRANCH.*=.*$") "")))))) (build-system gnu-build-system) (arguments `(#:test-target "test" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (include (string-append out "/include")) - (lib (string-append out "/lib"))) - ;; Correct the values of version and install directories. - (substitute* "Makefile" - (("VERSION.*=.*$") - (string-append "VERSION := " - ,version "\n")) - (("PREFIX.*=.*$") - (string-append "PREFIX := " out "\n")) - (("MAJOR_VERSION.*=.*$") - (string-append "MAJOR_VERSION := " - ,(version-major version) "\n")) - (("LIBDIR.*=.*$") - (string-append "LIBDIR = " lib "\n")) - (("/usr/include") include))))) - (delete 'configure)))) ; no configure script - (native-inputs - (list nasm perl)) + ;; sys/io.h is not present from glibc on non-x86 systems. + #:tests? ,(and (target-x86?) + (not (%current-target-system))) + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (include (string-append out "/include")) + (lib (string-append out "/lib"))) + ;; Correct the values of version and install directories. + (substitute* "Makefile" + (("VERSION.*=.*$") + (string-append "VERSION := " + ,version "\n")) + (("PREFIX.*=.*$") + (string-append "PREFIX := " out "\n")) + (("MAJOR_VERSION.*=.*$") + (string-append "MAJOR_VERSION := " + ,(version-major version) "\n")) + (("LIBDIR.*=.*$") + (string-append "LIBDIR = " lib "\n")) + (("/usr/include") + include))))) + (delete 'configure)))) ;no configure script + (native-inputs (list nasm perl)) (synopsis "Library for x86 emulation") - (description "Libx86emu is a small library to emulate x86 instructions. The + (description + "Libx86emu is a small library to emulate x86 instructions. The focus here is not a complete emulation but to cover enough for typical firmware blobs. You can @enumerate @@ -2436,7 +2435,7 @@ which is a hypervisor.") (define-public osinfo-db-tools (package (name "osinfo-db-tools") - (version "1.9.0") + (version "1.10.0") (source (origin (method url-fetch) (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-tools-" @@ -2444,7 +2443,7 @@ which is a hypervisor.") (sha256 (base32 - "1h23a8nzdxjyvw44dwh903563n3b1z5skx8g0b1p1v5cif3iqpr5")))) + "0s6ah44wbay7kb3l1ydr0r4ip335zgf6s12ghjjnww0nni9xsb40")))) (build-system meson-build-system) (inputs (list libsoup-minimal-2 libxml2 libxslt json-glib libarchive)) @@ -2466,14 +2465,14 @@ administrators and developers in managing the database.") (define-public osinfo-db (package (name "osinfo-db") - (version "20220516") + (version "20230518") (source (origin (method url-fetch) (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-" version ".tar.xz")) (sha256 (base32 - "0vfsdk3c6n6y04c5rf92m31zvl969kaniyx2fqywbp69mzc6j3yn")))) + "0vfch55xgz1p16sv84ahb59apg8j7n8p4kxv0rq7rw7jwk65pv6a")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 7d1f61be53..866bf077fb 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -274,7 +274,7 @@ and the GTK+ toolkit.") (define-public lynx (package (name "lynx") - (version "2.9.0dev.9") + (version "2.9.0dev.12") (source (origin (method url-fetch) (uri (string-append @@ -282,7 +282,7 @@ and the GTK+ toolkit.") "/lynx" version ".tar.bz2")) (sha256 (base32 - "06jhv8ibfw1xkf8d8zrnkc2aw4d462s77hlp6f6xa6k8awzxvmkg")))) + "1rg8dqafq8ray37s0w855mahq7ywfb4qa4h5q676sxq0klamnid6")))) (build-system gnu-build-system) (native-inputs (list pkg-config perl)) (inputs (list ncurses @@ -294,41 +294,40 @@ and the GTK+ toolkit.") gzip bzip2)) (arguments - `(#:configure-flags - (let ((openssl (assoc-ref %build-inputs "openssl"))) - `("--with-pkg-config" - "--with-screen=ncurses" - "--with-zlib" - "--with-bzlib" - ,(string-append "--with-ssl=" openssl) - ;; "--with-socks5" ; XXX TODO - "--enable-widec" - "--enable-ascii-ctypes" - "--enable-local-docs" - "--enable-htmlized-cfg" - "--enable-gzip-help" - "--enable-nls" - "--enable-ipv6")) - #:tests? #f ; no check target - #:phases - (modify-phases %standard-phases - (add-before 'configure 'set-makefile-shell - (lambda _ (substitute* "po/makefile.inn" - (("/bin/sh") (which "sh"))) - #t)) - (replace 'install - (lambda* (#:key (make-flags '()) #:allow-other-keys) - (apply invoke "make" "install-full" make-flags) - #t))))) + (list #:configure-flags + #~(let ((openssl #$(this-package-input "openssl"))) + (list "--with-pkg-config" + "--with-screen=ncurses" + "--with-zlib" + "--with-bzlib" + (string-append "--with-ssl=" openssl) + ;; "--with-socks5" ; XXX TODO + "--enable-widec" + "--enable-ascii-ctypes" + "--enable-local-docs" + "--enable-htmlized-cfg" + "--enable-gzip-help" + "--enable-nls" + "--enable-ipv6")) + #:tests? #f ; no check target + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'set-makefile-shell + (lambda _ (substitute* "po/makefile.inn" + (("/bin/sh") (which "sh"))))) + (replace 'install + (lambda* (#:key (make-flags '()) #:allow-other-keys) + (apply invoke "make" "install-full" make-flags)))))) (synopsis "Text Web Browser") (description - "Lynx is a fully-featured World Wide Web (WWW) client for users running -cursor-addressable, character-cell display devices. It will display Hypertext -Markup Language (HTML) documents containing links to files on the local -system, as well as files on remote systems running http, gopher, ftp, wais, -nntp, finger, or cso/ph/qi servers. Lynx can be used to access information on -the WWW, or to build information systems intended primarily for local -access.") + "Lynx is a fully-featured @acronym{WWW, World Wide Web} client for users +of cursor-addressable, character-cell display devices. It will display +@acronym{HTML, Hypertext Markup Language} documents containing links to files +on the local system, as well as files on remote systems running http, gopher, +ftp, wais, nntp, finger, or cso/ph/qi servers. + +Lynx can be used to access information on the WWW, or to build information +systems intended primarily for local access.") (home-page "https://lynx.invisible-island.net/") ;; This was fixed in 2.8.9dev.10. (properties `((lint-hidden-cve . ("CVE-2016-9179")))) @@ -587,7 +586,7 @@ driven and does not detract you from your daily work.") (define-public nyxt (package (name "nyxt") - (version "3.1.0") + (version "3.4.0") (source (origin (method git-fetch) @@ -596,7 +595,7 @@ driven and does not detract you from your daily work.") (commit version))) (sha256 (base32 - "01h2430z43bh8mxb5xyvz4kqcdim1dlh1crf41pzavq2a6r2aw0z")) + "0k1vk3qj9sc3wa0yhx1ih8xq9864dd34hfk622zdmyx2f8q81qd3")) (file-name (git-file-name "nyxt" version)) (modules '((guix build utils))) (snippet diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 7df1cea36c..ad5ec0aba7 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -40,7 +40,7 @@ ;;; Copyright © 2019, 2020 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> -;;; Copyright © 2020, 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020, 2021, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018, 2019, 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020, 2021 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de> @@ -142,7 +142,6 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) - #:use-module (gnu packages hurd) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages java) @@ -186,6 +185,7 @@ #:use-module (gnu packages serialization) #:use-module (gnu packages skribilo) #:use-module (gnu packages sphinx) + #:use-module (gnu packages syncthing) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) #:use-module (gnu packages tls) @@ -320,6 +320,60 @@ and its related documentation.") (base32 "1jgmfbazc2n9dnl7axhahwppyq25bvbvwx0lqplq76by97fgf9q1"))))))) +(define-public miniflux + (package + (name "miniflux") + (version "2.0.44") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/miniflux/v2") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "18ggk71nk3zylgkwq32glggdcapgsj772qn2y4i9hbk374l6h61w")))) + (build-system go-build-system) + (arguments + (list #:go go-1.19 + #:install-source? #f + #:import-path "miniflux.app" + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'rename-binary + (lambda _ + (let ((bindir (string-append #$output "/bin/"))) + (rename-file (string-append bindir "miniflux.app") + (string-append bindir "miniflux")))))))) + (inputs + (list go-github-com-coreos-go-oidc + go-github-com-go-telegram-bot-api-telegram-bot-api + go-github-com-gorilla-mux + go-github-com-lib-pq + go-github-com-matrix-org-gomatrix + go-github-com-prometheus-client-golang + go-github-com-puerkitobio-goquery + go-github-com-rylans-getlang + go-github-com-tdewolff-minify-v2 + go-github-com-yuin-goldmark + go-golang-org-x-term + go-mvdan-cc-xurls)) + (home-page "https://miniflux.app/") + (synopsis "Minimalist and opinionated feed reader") + (description + "Miniflux is a minimalist and opinionated feed reader: + +@itemize +@item Written in Go (Golang) +@item Works only with Postgresql +@item Doesn't use any ORM +@item Doesn't use any complicated framework +@item Use only modern vanilla Javascript (ES6 and Fetch API) +@item Single binary compiled statically without dependency +@item The number of features is voluntarily limited +@end itemize\n") + (license license:asl2.0))) + (define-public mod-wsgi (package (name "mod-wsgi") @@ -4849,7 +4903,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.") bash-minimal)) (propagated-inputs (list guix - guile-fibers-next + guile-fibers-1.3 guile-json-4 guile-email guile-prometheus @@ -7785,7 +7839,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.") (inputs ;; Required to build the tools (i.e. without ‘--enable-lib-only’). (append - (if (hurd-target?) + (if (target-hurd?) `((,openssl "static")) (list jemalloc)) ; fight nghttpd{,x} heap fragmentation (list c-ares @@ -8796,6 +8850,139 @@ snapshots of the URLs you feed it in several formats.") (home-page "https://archivebox.io/") (license license:expat))) +(define-public orcania + (package + (name "orcania") + (version "2.3.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/babelouest/orcania") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dhczbhwvf3f9mj38qm46j10rpr77yz1np68mabfw8zcfwhr0pn4")))) + (build-system cmake-build-system) + (arguments + (list #:configure-flags #~(list "-DBUILD_ORCANIA_TESTING=ON" + "-DBUILD_ORCANIA_DOCUMENTATION=ON") + #:phases #~(modify-phases %standard-phases + (add-after 'build 'build-doc + (lambda _ + (invoke "make" "doc"))) + (add-after 'install 'install-doc + (lambda _ + (let ((doc (string-append #$output + "/share/doc/orcania"))) + (mkdir-p doc) + (copy-recursively "../source/doc/html" doc))))))) + (native-inputs (list check doxygen subunit)) + (home-page "https://babelouest.github.io/orcania/") + (synopsis "Collection of C functions for Ulfius") + (description + "Orcania is a library with functions that can be shared among C programs. +It is intended to provide low-level functionalities for the Ulfius and Yder +libraries.") + (license license:lgpl2.1))) + +(define-public yder + (package + (name "yder") + (version "1.4.19") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/babelouest/yder") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02jgrqby39ykfdhc7z0bh3x5aqisqybz6lnvn7msh9wqbj5zvzi8")))) + (build-system cmake-build-system) + (arguments + (list #:configure-flags #~(list "-DWITH_JOURNALD=OFF" + "-DBUILD_YDER_TESTING=ON" + "-DBUILD_YDER_DOCUMENTATION=ON") + #:phases #~(modify-phases %standard-phases + (add-after 'build 'build-doc + (lambda _ + (invoke "make" "doc"))) + (add-after 'install 'install-doc + (lambda _ + (let ((doc (string-append #$output + "/share/doc/yder"))) + (mkdir-p doc) + (copy-recursively "../source/doc/html" doc))))))) + (native-inputs (list check doxygen subunit)) + (inputs (list orcania)) + (home-page "https://babelouest.github.io/yder/") + (synopsis "Logging library for C applications") + (description + "Yder is a logging library written in C. It can log messages to the +console, a file, syslog, journald, or a callback function.") + (license license:lgpl2.1))) + +(define-public ulfius + (package + (name "ulfius") + (version "2.7.13") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/babelouest/ulfius") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1dfwdpqmqki63dddi53bfv6jd0kzv8gh2w1lxsv6mzk3sxl6qakf")))) + (build-system cmake-build-system) + (arguments + (list #:configure-flags #~(list "-DBUILD_ULFIUS_TESTING=ON" + "-DBUILD_ULFIUS_DOCUMENTATION=ON") + #:phases #~(modify-phases %standard-phases + (add-after 'build 'build-doc + (lambda _ + (invoke "make" "doc"))) + (replace 'check + (lambda* (#:key tests? parallel-tests? #:allow-other-keys) + (when tests? + (let ((job-count (number->string + (or (and parallel-tests? + (parallel-job-count)) + 1)))) + ;; Skip failing tests that try to start a server. + (invoke "ctest" "--output-on-failure" + "-j" job-count "-E" + "(core|framework|example_callbacks)"))))) + (add-after 'install 'install-doc + (lambda _ + (let ((doc (string-append #$output + "/share/doc/ulfius"))) + (mkdir-p doc) + (copy-recursively "../source/doc/html" doc))))))) + (native-inputs (list check doxygen subunit)) + (inputs (list zlib)) + (propagated-inputs ;for libulfius.pc + (list curl + gnutls + jansson + libgcrypt + libmicrohttpd + orcania + yder)) + (home-page "https://babelouest.github.io/ulfius/") + (synopsis "HTTP Framework for REST Applications in C") + (description + "Ulfius is a HTTP Framework library for REST Applications written in C. +It is based on GNU libmicrohttpd for the backend web server, Jansson for the +JSON manipulation library, and libcurl for the http/smtp client API. It can +be used to facilitate creation of web applications in C programs with a small +memory footprint, as in embedded systems applications. It can create +webservices in HTTP or HTTPS mode, stream data, or implement server +websockets.") + (license license:lgpl2.1))) + ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index f1b810adbd..f47fff25d2 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -199,6 +199,13 @@ engine that uses Wayland for graphics output.") (substitute* "Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp" (("libWPEBackend-fdo-[\\.0-9]+\\.so" all) (search-input-file inputs (string-append "lib/" all))))))) + #$@(if (target-x86-32?) + ;; Don't include x86intrin.h on i686-linux. + '((add-after 'unpack 'fix-headers + (lambda _ + (substitute* "Source/ThirdParty/ANGLE/src/common/platform.h" + (("\\|\\| defined\\(__i386__\\)") ""))))) + '()) #$@(if (target-x86-64?) '() '((add-after 'unpack 'disable-sse2 @@ -222,7 +229,7 @@ engine that uses Wayland for graphics output.") pkg-config python-wrapper gi-docgen - ruby + ruby-2.7 unifdef)) (propagated-inputs (list gtk+ libsoup)) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 7f5e10b60d..b9909de219 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -62,6 +62,7 @@ ;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe> ;;; Copyright © 2023 Gabriel Wicki <gabriel@erlikon.ch> ;;; Copyright © 2023 Jonathan Brielamier <jonathan.brielmaier@web.de> +;;; Copyright © 2023 Vessel Wave <vesselwave@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -112,7 +113,6 @@ #:use-module (gnu packages fribidi) #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) - #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gperf) @@ -331,20 +331,33 @@ commands would.") "0jrya4rhh46sivlmqaqc4n9abpp1yn1ajhi616gn75cxwl8rjqr8")))) (build-system meson-build-system) (arguments - `(;; The test suite requires the unpackaged Xephyr X server. - #:tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'install 'patch-session-file - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (i3 (string-append out "/bin/i3")) - (i3-with-shmlog (string-append out "/bin/i3-with-shmlog"))) - (substitute* (string-append out "/share/xsessions/i3.desktop") - (("Exec=i3") (string-append "Exec=" i3))) - (substitute* (string-append out "/share/xsessions/i3-with-shmlog.desktop") - (("Exec=i3-with-shmlog") (string-append "Exec=" i3-with-shmlog))) - #t)))))) + (list + ;; The test suite requires the unpackaged Xephyr X server. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'patch-session-file + (lambda _ + (let ((i3 (string-append #$output "/bin/i3")) + (i3-with-shmlog (string-append #$output "/bin/i3-with-shmlog"))) + (substitute* (string-append #$output "/share/xsessions/i3.desktop") + (("Exec=i3") (string-append "Exec=" i3))) + (substitute* (string-append #$output "/share/xsessions/i3-with-shmlog.desktop") + (("Exec=i3-with-shmlog") (string-append "Exec=" i3-with-shmlog)))))) + (add-after 'patch-session-file 'wrap-perl-bin + (lambda* (#:key inputs #:allow-other-keys) + (let* ((i3-save-tree (string-append #$output "/bin/i3-save-tree")) + (perl-lib-names '("perl-anyevent" + "perl-anyevent-i3" + "perl-json-xs" + "perl-common-sense" + "perl-types-serialiser")) + (perl-lib-paths + (map (lambda (name) + (string-append (assoc-ref inputs name) "/lib/perl5/site_perl")) + perl-lib-names))) + (wrap-program i3-save-tree + `("PERL5LIB" ":" prefix ,perl-lib-paths)))))))) (inputs (list libxcb xcb-util @@ -356,6 +369,11 @@ commands would.") libev yajl xmlto + perl + perl-anyevent-i3 + perl-json-xs + perl-common-sense + perl-types-serialiser perl-pod-simple libx11 pcre2 @@ -859,9 +877,9 @@ used on each workspace. Xinerama is fully supported, allowing windows to be tiled on several screens.") (license license:bsd-3))) -(define-public xmobar +(define-public ghc-xmobar (package - (name "xmobar") + (name "ghc-xmobar") (version "0.46") (source (origin (method url-fetch) @@ -878,17 +896,18 @@ tiled on several screens.") ghc-alsa-mixer ghc-dbus ghc-hinotify - ghc-http + ghc-http-client-tls ghc-http-conduit ghc-http-types - ghc-iwlib ghc-libmpd ghc-netlink + ghc-cereal ghc-old-locale ghc-parsec-numbers ghc-regex-compat ghc-temporary ghc-timezone-olson + ghc-timezone-series ghc-x11 ghc-x11-xft ghc-cairo @@ -896,18 +915,35 @@ tiled on several screens.") libxpm)) (arguments `(#:configure-flags (list "--flags=all_extensions") - ;; Haddock documentation is for the library. - #:haddock? #f #:phases (modify-phases %standard-phases - (add-after 'register 'remove-libraries + (add-after 'install 'remove-binaries (lambda* (#:key outputs #:allow-other-keys) - (delete-file-recursively (string-append (assoc-ref outputs "out") "/lib")))) + (delete-file-recursively (string-append (assoc-ref outputs "out") "/bin")))) (add-before 'build 'patch-test-shebang (lambda* (#:key inputs #:allow-other-keys) (substitute* "test/Xmobar/Plugins/Monitors/AlsaSpec.hs" (("/bin/bash") (which "bash")))))))) (home-page "https://xmobar.org") + (synopsis "Haskell library for minimalistic text based status bars") + (description + "@code{ghc-xmobar} is the haskell library that @code{xmobar} is based on. +It can be used to extend @code{xmobar} with other Haskell code.") + (license license:bsd-3))) + +(define-public xmobar + (package + (inherit ghc-xmobar) + (name "xmobar") + (inputs + (list ghc-xmobar + libxpm)) + (arguments + `(#:configure-flags (list "--flags=all_extensions" "exe:xmobar") + ;; Haddock documentation is for the library. + #:haddock? #f + ;; Tests are for the library. + #:tests? #f)) (synopsis "Minimalistic text based status bar") (description "@code{xmobar} is a lightweight, text-based, status bar written in @@ -1090,7 +1126,7 @@ the XDG Autostart specification.") (define-public fnott (package (name "fnott") - (version "1.3.0") + (version "1.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -1099,7 +1135,7 @@ the XDG Autostart specification.") (file-name (git-file-name name version)) (sha256 (base32 - "00zg03nz79kqcsnwmm22friawhvl05f93yxpvqmy5wvggx9hrlz8")))) + "0l0brayvcifrc5rxxkqfrskd6523vs3allg2cxhwkixqf2ddg7kh")))) (build-system meson-build-system) (arguments `(#:build-type "release")) (native-inputs @@ -1566,7 +1602,7 @@ functionality to display information about the most commonly used services.") (define-public wlroots (package (name "wlroots") - (version "0.16.1") + (version "0.16.2") (source (origin (method git-fetch) @@ -1575,7 +1611,7 @@ functionality to display information about the most commonly used services.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "11kcica9waj1a1xgbi12gif9z5z0b4xzycbcgawbgdmj77pws8sk")))) + (base32 "1m12nv6avgnz626h3giqp6gcx44w1wq6z0jy780mx8z255ic7q15")))) (build-system meson-build-system) (arguments `(#:phases @@ -1610,7 +1646,7 @@ functionality to display information about the most commonly used services.") (list `(,hwdata "pnp") pkg-config)) - (home-page "https://github.com/swaywm/wlroots") + (home-page "https://gitlab.freedesktop.org/wlroots/wlroots/") (synopsis "Pluggable, composable, unopinionated modules for building a Wayland compositor") (description "wlroots is a set of pluggable, composable, unopinionated @@ -1620,7 +1656,7 @@ modules for building a Wayland compositor.") (define-public sway (package (name "sway") - (version "1.8") + (version "1.8.1") (source (origin (method git-fetch) @@ -1629,7 +1665,7 @@ modules for building a Wayland compositor.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "17dqr2lkmcv2ssp7vky27zw599i77whpb1aqh1s6kl8a8vkrz6mg")))) + (base32 "1y7brfrsjnm9gksijgnr6zxqiqvn06mdiwsk5j87ggmxazxd66av")))) (build-system meson-build-system) (arguments `(;; elogind is propagated by wlroots -> libseat @@ -1669,6 +1705,29 @@ modules for building a Wayland compositor.") (description "Sway is a i3-compatible Wayland compositor.") (license license:expat))) +(define-public swayfx + (package + (inherit sway) + (name "swayfx") + (version "0.3.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/WillPower3309/swayfx") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1550n9xnqbl1am4cwlnj8ip5cs7kgdzx96ga2hkcw29cpyian7rv")))) + (build-system meson-build-system) + (home-page "https://github.com/WillPower3309/swayfx") + (synopsis "Sway Fork with extra options and effects") + (description + "Fork of Sway, a Wayland compositor compatible with i3. SwayFX +adds extra options and effects to the original Sway, such as blur, rounded +corners, shadows, inactive window dimming, etc.") + (license license:expat))) + (define-public swayidle (package (name "swayidle") @@ -1761,7 +1820,7 @@ display a clock or apply image manipulation techniques to the background image." (define-public swaynotificationcenter (package (name "swaynotificationcenter") - (version "0.7.3") + (version "0.8.0") (source (origin (method git-fetch) (uri (git-reference @@ -1769,7 +1828,7 @@ display a clock or apply image manipulation techniques to the background image." (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1xvr5m5sqznr3dd512i5pk0d56v7n0ywdcy6rnz85vbf2k7b6kj5")))) + (base32 "1c3gd6mlr209jzzrh5jmws2lawnn3gr6smvzcw74kkpi3wvs7l0k")))) (build-system meson-build-system) (arguments (list #:configure-flags #~(list "-Dsystemd-service=false"))) (native-inputs @@ -1785,6 +1844,8 @@ display a clock or apply image manipulation techniques to the background image." gtk+ gtk-layer-shell libhandy + libgee + pulseaudio wayland-protocols)) (synopsis "Notification daemon with a graphical interface") (description @@ -1904,7 +1965,7 @@ core/thread.") (define-public mako (package (name "mako") - (version "1.7.1") + (version "1.8.0") (source (origin (method git-fetch) (uri (git-reference @@ -1913,7 +1974,7 @@ core/thread.") (file-name (git-file-name name version)) (sha256 (base32 - "0vpar1a7zafkd2plmyaackgba6fyg35s9zzyxmj8j7v2q5zxirgz")))) + "05g1gp61qd9n9w4lq925i4wgryagvah6x489g17j7rnw59q4qhdi")))) (build-system meson-build-system) (arguments (list #:phases @@ -2026,7 +2087,11 @@ Wayland compositors supporting the wlr-output-management protocol.") (invoke "./autogen.sh") (invoke "sh" "./configure" "SHELL=sh") (apply invoke "make" "stumpwm.info" make-flags) - (install-file "stumpwm.info" info))))))) + (install-file "stumpwm.info" info)))) + (add-after 'install-manual 'remove-temporary-cache + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively (string-append (assoc-ref outputs "lib") + "/.cache"))))))) (synopsis "Window manager written in Common Lisp") (description "Stumpwm is a window manager written entirely in Common Lisp. @@ -2069,6 +2134,7 @@ productive, customizable lisp based systems.") (delete 'copy-source) (delete 'build) (delete 'check) + (delete 'remove-temporary-cache) (delete 'cleanup))))))) (define stumpwm-contrib diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index b8671d1cf6..1f7539764c 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -55,7 +55,7 @@ ;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> ;;; Copyright © 2022 Derek Chuank <derekchuank@outlook.com> -;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com> +;;; Copyright © 2022, 2023 Wamm K. D. <jaft.r@outlook.com> ;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp@gmail.com> ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream> ;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com> @@ -129,6 +129,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages polkit) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) @@ -1271,64 +1272,40 @@ compact configuration syntax.") (define-public rxvt-unicode (package (name "rxvt-unicode") - (version "9.30") + (version "9.31") (source (origin (method url-fetch) (uri (string-append "http://dist.schmorp.de/rxvt-unicode/Attic/" name "-" version ".tar.bz2")) (sha256 (base32 - "0badnkjsn3zps24r5iggj8k5v4f00npc77wqg92pcn1q5z8r677y")))) + "1s3jcvac40zzp03fvmhjsdpsjx0gb1wk54qz74zhzzj9q75kz8da")))) (build-system gnu-build-system) (arguments ;; This sets the destination when installing the necessary terminal ;; capability data, which are not provided by 'ncurses'. See ;; https://lists.gnu.org/archive/html/bug-ncurses/2009-10/msg00031.html - `(#:configure-flags (list "--enable-256-color") - #:make-flags (list (string-append "TERMINFO=" - (assoc-ref %outputs "out") - "/share/terminfo")) - #:phases - (modify-phases %standard-phases - (add-after 'install 'install-desktop-urxvt - (lambda* (#:key outputs #:allow-other-keys) - (let* ((output (assoc-ref outputs "out")) - (desktop (string-append output "/share/applications"))) - (mkdir-p desktop) - (with-output-to-file - (string-append desktop "/urxvt.desktop") - (lambda _ - (format #t - "[Desktop Entry]~@ - Name=rxvt-unicode~@ - Comment=~@ - Exec=~a/bin/urxvt~@ - TryExec=~@*~a/bin/urxvt~@ - Icon=~@ - Type=Application~%" - output)))))) - (add-after 'install 'install-desktop-urxvtc - (lambda* (#:key outputs #:allow-other-keys) - (let* ((output (assoc-ref outputs "out")) - (desktop (string-append output "/share/applications"))) - (mkdir-p desktop) - (with-output-to-file - (string-append desktop "/urxvtc.desktop") + (list #:configure-flags #~(list "--enable-256-color") + #:make-flags #~(list (string-append "TERMINFO=" #$output "/share/terminfo")) + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-desktop-entries (lambda _ - (format #t - "[Desktop Entry]~@ - Name=rxvt-unicode (client)~@ - Comment=Rxvt clone with XFT and unicode support~@ - Exec=~a/bin/urxvtc~@ - TryExec=~@*~a/bin/urxvtc~@ - Icon=~@ - Type=Application~%" - output))))))))) + (for-each (lambda (exec name) + (make-desktop-entry-file + (string-append #$output "/share/applications/" + exec ".desktop") + #:type "Application" + #:name name + #:comment '((#f #$(package-synopsis this-package))) + #:exec exec + #:try-exec exec + #:icon "utilities-terminal" + #:categories '("System" "TerminalEmulator"))) + '("urxvt" "urxvtc") + '("rxvt-unicode" "rxvt-unicode (client)"))))))) (inputs - `(("libptytty" ,libptytty) - ("libXft" ,libxft) - ("libX11" ,libx11) - ("libXt" ,libxt))) + (list libptytty libxft libx11 libxt libxext)) (native-inputs (list ncurses ;trigger the installation of terminfo data perl pkg-config)) @@ -2993,6 +2970,7 @@ After selection, the clip is put onto the PRIMARY and CLIPBOARD X selections.") (uri (git-reference (url (string-append "https://github.com/yory8/" name "/")) (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 "0b9kvj0dif4221dy6c1npknhhjxvbc4kygzhwxjirpwjws0yv6v9")))) (build-system go-build-system) @@ -3098,7 +3076,7 @@ using @command{dmenu}.") (define-public fuzzel (package (name "fuzzel") - (version "1.8.2") + (version "1.9.1") (home-page "https://codeberg.org/dnkl/fuzzel") (source (origin (method git-fetch) @@ -3106,7 +3084,7 @@ using @command{dmenu}.") (file-name (git-file-name name version)) (sha256 (base32 - "1d6xy4q5s8p5ckvd9wy3zzj9gh7nh9v1qhn3938b1wfhfzjdzrg6")))) + "0k65nl2yifxnb95nv6nnikqxdanng2baw7gl47ji1av3gsdx3bsm")))) (build-system meson-build-system) (arguments (list #:build-type "release" @@ -3380,7 +3358,7 @@ MouseKeys-acceleration management.") (define-public wlsunset (package (name "wlsunset") - (version "0.2.0") + (version "0.3.0") (source (origin (method git-fetch) @@ -3390,7 +3368,7 @@ MouseKeys-acceleration management.") (file-name (git-file-name name version)) (sha256 (base32 - "0hhsddh3rs066rbsjksr8kcwg8lvglbvs67dq0r5wx5c1xcwb51w")))) + "1wbz6m7p0czhyv7axg2gn0ffh1q1887khh6phvw35a2llichyrlc")))) (build-system meson-build-system) (inputs (list wayland wayland-protocols)) @@ -3530,3 +3508,34 @@ on the screen and which then writes out the necessary C code for it.") (append mesa))) (synopsis "GUI toolkit for X based on the X11 Xlib library, with OpenGL support"))) + +(define-public show-me-the-key + (package + (name "show-me-the-key") + (version "1.8.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AlynxZhou/showmethekey/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 (base32 + "1gvrri6kfywxk8hfchc66r6fpwlrcai2j227ib33w6503cx66rl9")))) + (build-system meson-build-system) + (inputs (list libevdev + libinput + gtk + json-glib-minimal + cairo + pango + libxkbcommon + polkit)) + (native-inputs (list `(,glib "bin") ; for glib-compile-resources + `(,gtk "bin") ; for gtk-update-icon-cache + pkg-config)) + (home-page "https://github.com/AlynxZhou/showmethekey") + (synopsis "Screencast tool to display pressed keys") + (description "Show Me the Key is a screencast tool to display your keys +and works under both Xorg and Wayland (via @code{libinput}), inspired by +@code{python-screenkey}.") + (license license:asl2.0))) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 8d9974b825..555f0ab624 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -185,7 +185,7 @@ hierarchical form with variable field lengths.") (version "2.9.14") (source (origin (method url-fetch) - (uri (string-append "https://download.gnome.org/sources/libxml2/" + (uri (string-append "mirror://gnome/sources/libxml2/" (version-major+minor version)"/libxml2-" version ".tar.xz")) (sha256 @@ -326,7 +326,7 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.") (version "1.1.37") (source (origin (method url-fetch) - (uri (string-append "https://download.gnome.org/sources" + (uri (string-append "mirror://gnome/sources" "/libxslt/" (version-major+minor version) "/libxslt-" version ".tar.xz")) (sha256 diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index e1a7cf96f9..96440a6d0a 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -468,33 +468,15 @@ Resources file.") (description "Xorg font encoding files.") (license license:public-domain))) -(define (%xorg-font-origin font version hash) - (origin - (method url-fetch) - (uri (string-append "mirror://xorg/individual/font/" font "-" - version ".tar.bz2")) - (sha256 hash) - (modules '((guix build utils))) - (snippet - ;; Do not include timestamps in '.pcf.gz' files. - '(begin - (substitute* "Makefile.in" - (("^COMPRESS = (.*)$" _ rest) - (string-append "COMPRESS = " (string-trim-right rest) - " --no-name\n"))) - #t)))) - -(define-syntax-rule (xorg-font-origin font version hash) - "Expand to the 'origin' form for the given Xorg font package." - (%xorg-font-origin font version (base32 hash))) - (define-public font-adobe100dpi (package (name "font-adobe100dpi") - (version "1.0.3") - (source (xorg-font-origin - "font-adobe-100dpi" version - "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-adobe-100dpi-" version ".tar.xz")) + (sha256 "1kwwbaiqnfm3pcysy9gw0g9xhpgmhjcd6clp7zajhqq5br2gyymn"))) (build-system gnu-build-system) (inputs (list bdftopcf font-util mkfontdir)) @@ -513,10 +495,12 @@ Resources file.") (define-public font-adobe75dpi (package (name "font-adobe75dpi") - (version "1.0.3") - (source (xorg-font-origin - "font-adobe-75dpi" version - "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-adobe-75dpi-" version ".tar.xz")) + (sha256 "04drk4wi176524lxjwfrnkr3dwz1hysabqfajpj6klfypqnsd08j"))) (build-system gnu-build-system) (inputs (list bdftopcf font-util mkfontdir)) @@ -538,10 +522,12 @@ Resources file.") (define-public font-alias (package (name "font-alias") - (version "1.0.4") - (source (xorg-font-origin - name version - "0xjjjindczv3g7m1597l0x19zz75xy70wh5garghz61fpzl1l4gk")) + (version "1.0.5") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-alias-" version ".tar.xz")) + (sha256 "0vkb5mybc0fjfq29lgf5w1b536bwifzkyj8ad9iy7q3kpcby52cz"))) (build-system gnu-build-system) (native-inputs (list pkg-config)) (arguments @@ -571,10 +557,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-arabic-misc (package (name "font-arabic-misc") - (version "1.0.3") - (source (xorg-font-origin - name version - "1x246dfnxnmflzf0qzy62k8jdpkb6jkgspcjgbk8jcq9lw99npah")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-arabic-misc-" version ".tar.xz")) + (sha256 "0rrlcqbyx9y7hnhbkjir8rs6jkfqyalj1zvhr8niv2n7a8dydzs6"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) @@ -598,10 +586,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-cronyx-cyrillic (package (name "font-cronyx-cyrillic") - (version "1.0.3") - (source (xorg-font-origin - name version - "0ai1v4n61k8j9x2a1knvfbl2xjxk3xxmqaq3p9vpqrspc69k31kf")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-cronyx-cyrillic-" version ".tar.xz")) + (sha256 "12dpsvif85z1m6jvq9g91lmzj0rll5rh3871mbvdpzyb1p7821yw"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) @@ -621,10 +611,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-dec-misc (package (name "font-dec-misc") - (version "1.0.3") - (source (xorg-font-origin - name version - "0yzza0l4zwyy7accr1s8ab7fjqkpwggqydbm2vc19scdby5xz7g1")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-dec-misc-" version ".tar.xz")) + (sha256 "1xqs2qg21h5xg519810hw4bvykjdpf0xgk0xwp0bxy4g3lh6inc2"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) @@ -641,10 +633,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-isas-misc (package (name "font-isas-misc") - (version "1.0.3") - (source (xorg-font-origin - name version - "0rx8q02rkx673a7skkpnvfkg28i8gmqzgf25s9yi0lar915sn92q")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-isas-misc-" version ".tar.xz")) + (sha256 "1z1qqi64hbp297f6ryiswa4ikfn7mcwnb8nadyglni6swsxrbra7"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) @@ -661,10 +655,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-micro-misc (package (name "font-micro-misc") - (version "1.0.3") - (source (xorg-font-origin - name version - "1dldxlh54zq1yzfnrh83j5vm0k4ijprrs5yl18gm3n9j1z0q2cws")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-micro-misc-" version ".tar.xz")) + (sha256 "0hzryqyml0bzzw91vqdmzdlb7dm18jmyz0mxy6plks3sppbbkq1f"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) @@ -678,10 +674,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-misc-cyrillic (package (name "font-misc-cyrillic") - (version "1.0.3") - (source (xorg-font-origin - name version - "0q2ybxs8wvylvw95j6x9i800rismsmx4b587alwbfqiw6biy63z4")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-misc-cyrillic-" version ".tar.xz")) + (sha256 "14z9x174fidjn65clkd2y1l6pxspmvphizap9a8h2h06adzil0kn"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) @@ -695,10 +693,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-misc-ethiopic (package (name "font-misc-ethiopic") - (version "1.0.4") - (source (xorg-font-origin - name version - "1q2azkdwc4x3kh53xclwpf9q654k70lhiyns1cjq594wvxnhz339")) + (version "1.0.5") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-misc-ethiopic-" version ".tar.xz")) + (sha256 "04mnd620s9wkdid9wnf181yh5vf0n7l096nc3z4zdvm1w7kafja7"))) (build-system gnu-build-system) (inputs (list mkfontdir mkfontscale)) @@ -715,10 +715,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-misc-misc (package (name "font-misc-misc") - (version "1.1.2") - (source (xorg-font-origin - name version - "150pq6n8n984fah34n3k133kggn9v0c5k07igv29sxp1wi07krxq")) + (version "1.1.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-misc-misc-" version ".tar.xz")) + (sha256 "1vcgc6lbc53fqaz8alhxcb6f231hhvj9hn2nkzg1mclbymhy7avr"))) (build-system gnu-build-system) (inputs (list mkfontdir font-util bdftopcf)) @@ -735,10 +737,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-mutt-misc (package (name "font-mutt-misc") - (version "1.0.3") - (source (xorg-font-origin - name version - "13qghgr1zzpv64m0p42195k1kc77pksiv059fdvijz1n6kdplpxx")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-mutt-misc-" version ".tar.xz")) + (sha256 "095vd33kqd157j6xi4sjxwdsjpwpgqliifa8nkybq8rcw7s5j8xi"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) @@ -752,10 +756,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-schumacher-misc (package (name "font-schumacher-misc") - (version "1.1.2") - (source (xorg-font-origin - name version - "0nkym3n48b4v36y4s927bbkjnsmicajarnf6vlp7wxp0as304i74")) + (version "1.1.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-schumacher-misc-" version ".tar.xz")) + (sha256 "0w40lr214n39al449fnm4k1bpyj3fjrhz2yxqd6a6m8yvc69z14b"))) (build-system gnu-build-system) (inputs (list mkfontdir font-util bdftopcf)) @@ -772,10 +778,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-screen-cyrillic (package (name "font-screen-cyrillic") - (version "1.0.4") - (source (xorg-font-origin - name version - "0yayf1qlv7irf58nngddz2f1q04qkpr5jwp4aja2j5gyvzl32hl2")) + (version "1.0.5") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-screen-cyrillic-" version ".tar.xz")) + (sha256 "1h75zn1rp7bdv6av4cnrajpaq6fkd7dx1lc7aijpw32qrnw8nxcg"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) @@ -789,10 +797,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-sony-misc (package (name "font-sony-misc") - (version "1.0.3") - (source (xorg-font-origin - name version - "1xfgcx4gsgik5mkgkca31fj3w72jw9iw76qyrajrsz1lp8ka6hr0")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-sony-misc-" version ".tar.xz")) + (sha256 "0swlhjmmagrfkip4i9yq7cr56hains1j41mjs05nxc6c7y19zc76"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) @@ -806,10 +816,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-sun-misc (package (name "font-sun-misc") - (version "1.0.3") - (source (xorg-font-origin - name version - "1q6jcqrffg9q5f5raivzwx9ffvf7r11g6g0b125na1bhpz5ly7s8")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-sun-misc-" version ".tar.xz")) + (sha256 "17yvhk1hlajm3q57r09q8830zz7cnckrg8hgzajgyyljdl8xv16x"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) @@ -842,10 +854,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-winitzki-cyrillic (package (name "font-winitzki-cyrillic") - (version "1.0.3") - (source (xorg-font-origin - name version - "181n1bgq8vxfxqicmy1jpm1hnr6gwn1kdhl6hr4frjigs1ikpldb")) + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-winitzki-cyrillic-" version ".tar.xz")) + (sha256 "1a4pz8f7hz6nn9xirz2k1j81ykl3lwrpi1ydmzipciy15l984v9v"))) (build-system gnu-build-system) (inputs (list mkfontdir bdftopcf)) @@ -859,10 +873,12 @@ For example: @code{6x10}, @code{9x15bold}, etc.") (define-public font-xfree86-type1 (package (name "font-xfree86-type1") - (version "1.0.4") - (source (xorg-font-origin - name version - "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya")) + (version "1.0.5") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/font/" + "font-xfree86-type1-" version ".tar.xz")) + (sha256 "0ds8xbgxy9h0bqn2p38vylfzn8cqkp7n51kwmw1c18ayi9w2qg59"))) (build-system gnu-build-system) (inputs (list mkfontdir mkfontscale)) @@ -6043,14 +6059,14 @@ basic eye-candy effects.") (define-public xpra (package (name "xpra") - (version "4.4.5") + (version "4.4.6") (source (origin (method url-fetch) (uri (string-append "https://www.xpra.org/src/xpra-" version ".tar.xz")) (sha256 - (base32 "06p9wbs23vx8f2nb8ncz84xwgcxq5ly3dcscgc2r30jn6qzw6sx3")) + (base32 "0d3s13wqbn9jwqp4i55mn4chgjkrckq3jx4jrq1bcjjz5agzfrq5")) (patches (search-patches "xpra-4.2-systemd-run.patch" "xpra-4.2-install_libs.patch")))) (build-system python-build-system) |